Vosk setup — models, small vs full, offline usage & fixes

Set up Vosk offline speech recognition, choose between vosk-model-small and full models, and fix sample-rate errors, empty results and language pack questions.

Setup that works

1

Install

pip install vosk — pure offline, runs on a Raspberry Pi.

2

Model

Download from alphacephei.com/vosk/models — vosk-model-small-* (~50 MB, real-time on anything) or the full models (~1-2 GB, better accuracy).

3

Run

Feed 16 kHz mono PCM chunks to KaldiRecognizer; results stream as JSON.

Skip the setup — paste the file here

Same Whisper-class accuracy, no install, no model downloads, no GPU questions. Speaker labels, word timestamps and every export (TXT, SRT, VTT, DOCX) included. Free instant preview; credits from $2 and they never expire.

Fixing the common errors

Recognizer returns empty results

Input MUST be 16 kHz 16-bit mono PCM — feed it anything else and you get silence. Convert with ffmpeg first.

small vs full model?

small = real-time on embedded hardware, noticeably weaker on accents and noise. If you're on a laptop and accuracy matters, Whisper-class models beat both.

Punctuation is missing

Vosk outputs raw lowercase words by design; add the vosk-recasepunc model as a second pass, or use an engine with punctuation built in.

Speaker diarization?

There's a speaker-id model (x-vector) but no turn-taking diarization — pair with an external diarizer or use a hosted pipeline.

More on Vosk: the full Vosk page · Vosk alternatives · all transcription tools