You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Push-to-talk voice input with streaming Whisper STT #7
Enable speech-to-text with local Whisper model and push-to-talk hotkey. Text should stream into the input box in real-time (NOT appear as a blob after recording stops). Use whisper-node (already in deps). Process audio in chunks for streaming effect, show interim results. Visual indicator when recording (pulsing mic, red border). Allow model selection in settings (tiny/base/small/medium). Consider VAD to trim silence.
streaming transcription with local Whisper is the right approach but the chunked processing has a tricky tradeoff. shorter chunks (1-2 seconds) give faster visual feedback but Whisper's accuracy drops significantly on very short audio segments, you get partial words and misrecognitions. we settled on 3 second chunks with 0.5 seconds of overlap between chunks to avoid cutting words at boundaries. the overlap causes some duplicate text at chunk boundaries that you need to deduplicate. for the visual indicator, the pulsing mic is good but also show the interim text updating in real-time, even if it is not final. it gives users confidence that the system is working. VAD for silence trimming is worth it, Silero VAD is lightweight and accurate.
Activity
m13v commentedon Apr 5, 2026
streaming transcription with local Whisper is the right approach but the chunked processing has a tricky tradeoff. shorter chunks (1-2 seconds) give faster visual feedback but Whisper's accuracy drops significantly on very short audio segments, you get partial words and misrecognitions. we settled on 3 second chunks with 0.5 seconds of overlap between chunks to avoid cutting words at boundaries. the overlap causes some duplicate text at chunk boundaries that you need to deduplicate. for the visual indicator, the pulsing mic is good but also show the interim text updating in real-time, even if it is not final. it gives users confidence that the system is working. VAD for silence trimming is worth it, Silero VAD is lightweight and accurate.
m13v commentedon Apr 5, 2026
our on-device Whisper integration with the chunked processing, overlap deduplication, and VAD configuration: https://github.com/m13v/fazm/blob/main/Desktop/Sources/TranscriptionService.swift