cdf833935a
Fix cold-start overlay recursion that overflowed the main-thread stack when recording began while the ready overlay was still up; also remove temporary on-screen Flow DEBUG panels after the orange-mic investigation, and land the macOS overlay/catalog/layout polish plus related Flow recovery hardening.
26 lines
694 B
Swift
26 lines
694 B
Swift
// ASRChunkTranscribing.swift
|
|
// OSGKeyboard · Shared
|
|
//
|
|
// Minimal ASR surface for pipelined utterance chunking. Keeps
|
|
// `ChunkedUtterancePipeline` independent of iOS-only `SpeechAnalyzer`.
|
|
|
|
import Foundation
|
|
|
|
public enum ASRChunkResult: Sendable, Equatable {
|
|
case success(String)
|
|
case failure(String)
|
|
case cancelled
|
|
}
|
|
|
|
/// One-shot chunk transcription used by `ChunkedUtterancePipeline`.
|
|
public protocol ASRChunkTranscribing: Sendable {
|
|
func transcribeChunk(samples: [Float], locale: Locale) async -> ASRChunkResult
|
|
func cancel()
|
|
func resetForNewUtterance()
|
|
}
|
|
|
|
extension ASRChunkTranscribing {
|
|
public func cancel() {}
|
|
public func resetForNewUtterance() {}
|
|
}
|