Context
client/internal/provider/deepgram.go is a stub. The Transcriber interface + factory already exist; the parakeet (local ANE) provider is the default.
Goal
Implement a real Deepgram streaming provider as a drop-in Transcriber, selectable via config (provider: deepgram).
Why
- Sub-second latency vs the local Nemotron 2s tier.
- Strong Russian + punctuation.
- Useful as a fallback when mridanga is unreachable.
Details
- Stream PCM to Deepgram's realtime WS (
nova-2, language=ru|en, interim_results=true, encoding=linear16, sample_rate=16000), normalize interim/final → v1.Update (partial/final).
- Reference implementation:
dotfiles features/fluteos/ptt (transcriber.py / connection_manager.py) already does Deepgram streaming.
- API key from env; never commit it.
Context
client/internal/provider/deepgram.gois a stub. TheTranscriberinterface + factory already exist; the parakeet (local ANE) provider is the default.Goal
Implement a real Deepgram streaming provider as a drop-in
Transcriber, selectable via config (provider: deepgram).Why
Details
nova-2,language=ru|en,interim_results=true,encoding=linear16,sample_rate=16000), normalize interim/final →v1.Update(partial/final).dotfiles features/fluteos/ptt(transcriber.py / connection_manager.py) already does Deepgram streaming.