in HuggingChat-Mac/LocalSTT/AudioModelManager.swift [519:548]
func stopRecording(_ loop: Bool) {
isRecording = false
bufferSeconds = 0
stopRealtimeTranscription()
isTranscriptionComplete = false
if let audioProcessor = whisperKit?.audioProcessor {
audioProcessor.stopRecording()
}
if !loop {
self.transcribeTask = Task {
isTranscribing = true
do {
try await transcribeCurrentBuffer()
} catch {
print("Error: \(error.localizedDescription)")
}
finalizeText()
isTranscribing = false
await MainActor.run {
isTranscriptionComplete = true
}
}
} else {
finalizeText()
isTranscriptionComplete = true
}
}