Vosk

by Alpha Cephei

Vosk is an offline, open-source speech recognition toolkit for 20+ languages. Skip the install: WhipScribe transcribes it in your browser. Packs: $4 for 500 minutes, $12 for 2,000, $24 for 5,000; Workspace $19 a month. Up to 10 hours or 5 GB per file. Measured turnaround: about 2 minutes per audio hour. 99 languages. Checked 25 Oct 2026.

Don’t want to install Vosk? Drop the file here.

Every recording starts with a free preview of its opening minutes. Credits never expire.

Lightweight offline speech recognition for 25+ languages, runs on a Raspberry Pi or behind Home Assistant. Per-region cards, copy-and-run recipes, and the full small-model list below.

Vosk on your computer, or upload the file to WhipScribe

VoskWhipScribe
Installpip3 install vosk (Python 3.5 to 3.9), then a language model you download; runs offline3Nothing to install: upload the file in a browser. Transcribed on our own servers.
Model downloadSmall models around 50 MB (vosk-model-small-en-us-0.15 is 40 MB); the big US English model is 1.8 GB4None
PlatformsLinux (x86_64, arm64), Raspberry Pi 3/4, macOS (x86 and M1), Windows x86/x64; Android library; iOS on request3Web, API, MCP
SpeakersSpeaker identification, listed as a feature2Named in the summary, key quotes and chapters
Languages20+ languages and dialects1299+, detected automatically
Export formatsThe vosk-transcriber command writes TXT or SRT3TXT, DOCX, SRT, VTT, JSON
PriceFree; Apache 2.0 toolkit (some models carry other licences)14A free preview of the opening minutes, then $4 for 500 minutes, $12 for 2,000 minutes, $24 for 5,000 minutes; Workspace $19 a month. Credits never expire.

Vosk column: the project’s own pages, numbered in the table.

  1. alphacep/vosk-api · README and licence (GitHub), fetched 25 Oct 2026
  2. Vosk project site (alphacephei.com), fetched 25 Oct 2026
  3. Vosk installation page, fetched 25 Oct 2026
  4. Vosk model list (sizes and licences), fetched 25 Oct 2026

WhipScribe column: pricing and measured turnaround.

Vosk small models: size, accuracy and download link

All 35 vosk-model-small checkpoints on the official model list, 30 languages. Each link is the official .zip on alphacephei.com. The list describes most of them as lightweight models for Android, iOS or a Raspberry Pi. Error rates are word error rate in %, unless marked CER, on the benchmarks the list names; lower is better.

Unzip next to your script and point Vosk at the folder: vosk-transcriber -m vosk-model-small-es-0.42 -i audio.wav -o audio.txt. Input should be 16 kHz mono PCM; convert other files with ffmpeg first.

The same page lists larger models for most languages, mostly 1 to 2 GB each (the German Tuda model is 4.4 GB). They are more accurate and need far more memory.

LanguageModel (.zip download)SizePublished WER (%)Licence
English (US)vosk-model-small-en-us-0.1540 MB9.85 (librispeech test-clean), 10.38 (tedlium)Apache 2.0
English (US)vosk-model-small-en-us-zamia-0.549 MB11.55 (librispeech test-clean), 12.64 (tedlium)LGPL-3.0
Indian Englishvosk-model-small-en-in-0.436 MB49.05 (NPTEL Pure)Apache 2.0
Chinesevosk-model-small-cn-0.2242 MB23.54 (SpeechIO-02), 38.29 (SpeechIO-06), 17.15 (THCHS)Apache 2.0
Russianvosk-model-small-ru-0.2245 MB22.71 (openstt audiobooks), 31.97 (openstt youtube)Apache 2.0
Frenchvosk-model-small-fr-0.2241 MB23.95 (cv test), 19.30 (mtedx), 27.25 (podcast)Apache 2.0
Frenchvosk-model-small-fr-pguyot-0.339 MB37.04 (cv test), 28.72 (mtedx)CC-BY-NC-SA 4.0
Germanvosk-model-small-de-0.1545 MB13.75 (Tuda-de test), 30.67 (podcast)Apache 2.0
Germanvosk-model-small-de-zamia-0.349 MB14.81 (Tuda-de test); marked not recommendedLGPL-3.0
Spanishvosk-model-small-es-0.4239 MB16.02 (cv test), 16.72 (mtedx test), 11.21 (mls)Apache 2.0
Portuguese / Brazilianvosk-model-small-pt-0.331 MB68.92 (coraa dev), 32.60 (cv test)Apache 2.0
Italianvosk-model-small-it-0.2248 MB16.88 (cv test), 25.87 (mls), 17.01 (mtedx)Apache 2.0
Dutchvosk-model-small-nl-0.2239 MB22.45 (cv test), 25.84 (mls)Apache 2.0
Turkishvosk-model-small-tr-0.335 MBnot publishedApache 2.0
Vietnamesevosk-model-small-vn-0.432 MB15.70 (Vivos test)Apache 2.0
Catalanvosk-model-small-ca-0.442 MBnot publishedApache 2.0
Arabic (Tunisian)vosk-model-small-ar-tn-0.1-linto158 MB16.06 (TARIC set)Apache 2.0
Farsivosk-model-small-fa-0.4253 MB23.4 (CV17), 14.0 (Fleurs)Apache 2.0
Farsivosk-model-small-fa-0.560 MB31.2 (CV17), 26.2 (Fleurs)Apache 2.0
Ukrainianvosk-model-small-uk-v3-nano73 MBnot publishedApache 2.0
Ukrainianvosk-model-small-uk-v3-small133 MBnot publishedApache 2.0
Kazakhvosk-model-small-kz-0.4258 MB21.10 (fleurs), 30.0 (CV17)Apache 2.0
Swedishvosk-model-small-sv-rhasspy-0.15289 MBnot publishedMIT
Japanesevosk-model-small-ja-0.2248 MB9.52 CER (csj), 17.07 CER (ted10k)Apache 2.0
Esperantovosk-model-small-eo-0.4242 MB7.24 (CV Test)Apache 2.0
Hindivosk-model-small-hi-0.2242 MB20.89 (IITM Challenge), 24.72 (MUCS Challenge)Apache 2.0
Czechvosk-model-small-cs-0.4-rhasspy44 MB21.29 (CV Test)MIT
Polishvosk-model-small-pl-0.2250 MB18.36 (CV Test), 16.88 (MLS Test)Apache 2.0
Uzbekvosk-model-small-uz-0.2249 MB13.54 (CV Test)Apache 2.0
Koreanvosk-model-small-ko-0.2282 MB28.1 (Zeroth Test)Apache 2.0
Gujarativosk-model-small-gu-0.42100 MB20.49 (MS Test)Apache 2.0
Tajikvosk-model-small-tg-0.2250 MB38.4 (Fleurs test)Apache 2.0
Teluguvosk-model-small-te-0.4258 MB87.9 (Fleurs test)Apache 2.0
Kyrgyzvosk-model-small-ky-0.4249 MB18.95 (Fleurs), 16.96 (CV17)Apache 2.0
Georgianvosk-model-small-ka-0.4245 MB18.0 (Fleurs), 14.2 (CV17)Apache 2.0

Sources:

  1. Vosk models · alphacephei.com/vosk/models, fetched 26 Oct 2026
TL;DR

Apache-2.0 offline ASR. ≈50 MB models, real-time streaming on a Pi 3/4, plugs into Home Assistant Assist via Wyoming. Strong language coverage — including Hindi, Mandarin, Ukrainian, German, Russian, Japanese, Korean, Turkish — that most cloud STT either skips, charges for, or transcribes badly.

Best for privacy-first home automation, edge hardware, on-device IoT/kiosk UX, and language coverage outside English. Free.

Category
Open source
License
Apache-2.0
Stars
★ 14.6k
Last push
2026-02-22
Pricing
free
Platforms
Linux, macOS, Windows, iOS, Android, Edge

What it is

Vosk is a practical, production-friendly offline recognizer built on Kaldi. Predates the Whisper era but still the go-to for true streaming on constrained hardware, IoT, kiosks, and embedded devices. Apache-2.0 licensed.

Best for: Real-time streaming transcription on-device or on edge hardware with limited resources.
Watch out for: WER trails Whisper on most languages; older Kaldi-based architecture; smaller community now.

Install / use

pip install vosk

Python 3.5–3.12. Audio must be PCM 16 kHz 16-bit mono — use ffmpeg to convert anything else. Pi Zero / ARMv6 are not supported; Pi 3/4 are.

Where Vosk shines · 12 regions, 1 toolkit

Vosk's adoption isn't uniform — it's strongest where one or more of {privacy regulation, weak cloud-STT language coverage, maker-scene density, infrastructure constraints} dominate the build calculus. Pick the card closest to your context — recommended model is on each.

🇩🇪
Germany
Privacy-first home automation

GDPR-shaped instincts plus a "no Alexa in my house" community. Home Assistant + Rhasspy / Wyoming setups are huge in DE, and Vosk is one of the standard STT backends.

vosk-model-small-de-0.15
45 MB · WER 13.75 · Pi-ok
🇺🇦
Ukraine
Language + infra independence

Most cloud STT skips Ukrainian, charges for it, or does it badly. Wartime makes "no foreign cloud, no foreign payments" the default — Vosk runs on a Pi, no account.

vosk-model-small-uk-v3-nano
73 MB · Pi-ok · v3 series
🇮🇳
India
Indian English + Hindi on edge

Cloud STT charges per-minute and Indic coverage is uneven. Vosk has a dedicated Indian-English acoustic model and small Hindi/Telugu/Tamil/Gujarati models that fit on cheap ARM boards.

vosk-model-en-in-0.5 · vosk-model-small-hi-0.22
~50 MB each · Pi-ok
🇨🇳
China
Mandarin + offline by default

Foreign cloud STT is intermittently reachable. Vosk's Mandarin small model gives a no-network fallback for kiosks, in-vehicle UX, and IoT firmware shipping into mainland markets.

vosk-model-small-cn-0.22
42 MB · Pi-ok
🇧🇷
Brazil
Portuguese cost-floor

Cloud STT priced in USD bites hard at BRL revenue. Vosk's Portuguese models give per-minute cost = $0 once the device is bought, which makes consumer-app voice features economically viable.

vosk-model-small-pt-0.3
31 MB · Pi-ok
🇯🇵
Japan
Embedded UX + privacy

Strong embedded / robotics culture and a deep aversion to cloud-leaking household audio. Vosk's small Japanese model + streaming API is well-suited to robotics SDKs and consumer-electronics firmware.

vosk-model-small-ja-0.22
48 MB · Pi-ok
🇫🇷
France
Cloud sovereignty

Public-sector and regulated-industry buyers need French-soil or on-premise STT — "souveraineté numérique" is policy. Vosk runs on the customer's own hardware with no telemetry.

vosk-model-small-fr-0.22
41 MB · Pi-ok
🇰🇷
Korea
On-device assistive UX

Korea's hardware-first culture treats latency and offline-capability as table stakes. Vosk's streaming API gives sub-200 ms partial transcripts on a Cortex-A53.

vosk-model-small-ko-0.22
82 MB · Pi-ok
🇪🇸
Spain & LatAm
Spanish, low-latency, free

Spanish-language SaaS is price-sensitive; Vosk's free Spanish model means voice features ship without per-minute STT cost. Same calculus across LatAm.

vosk-model-small-es-0.42
39 MB · Pi-ok
🇮🇹
Italy
Manufacturing IoT + factory floor

Italian SMB manufacturing puts voice control on machines that often have no internet uplink. Vosk on industrial Linux boxes is the path of least resistance.

vosk-model-small-it-0.22
48 MB · Pi-ok
🇹🇷
Türkiye
Turkish + price-floor

Lira-priced products + USD-priced cloud STT = unworkable. Vosk's Turkish small model is one of very few free options that handle vowel harmony and agglutinative morphology decently.

vosk-model-small-tr-0.3
35 MB · Pi-ok
🇳🇱
Netherlands
Dutch + maker community

Strong Home Assistant / DIY voice-control community in NL. Dutch is well-covered by Vosk; pairs cleanly with Piper TTS for an end-to-end offline voice loop.

vosk-model-small-nl-0.22
39 MB · Pi-ok
Pattern: if you're optimising for privacy, language coverage outside English, infrastructure independence, or per-minute cost, Vosk is on the short list. If you only need lowest WER on English / French / Spanish at any cost, Whisper or faster-whisper may serve better — see the comparison further down.

Setup recipes · pick one and copy

Three working configurations covering the most common Vosk deployments. Each block is copy-and-run — no hidden steps.

1Raspberry Pi quickstart

Pi 3 or 4 · any of the 25+ Vosk languages · pure pip + ffmpeg.

# system deps (Raspberry Pi OS Bookworm/Bullseye)
sudo apt update && sudo apt install -y \
  python3-pip python3-pyaudio ffmpeg unzip

# install Vosk
pip3 install vosk sounddevice

# small model — German shown; swap the URL for any
# language at alphacephei.com/vosk/models
wget https://alphacephei.com/vosk/models/vosk-model-small-de-0.15.zip
unzip vosk-model-small-de-0.15.zip

# transcribe a file
vosk-transcriber -m vosk-model-small-de-0.15 \
  -i sample.wav -o sample.txt

# or stream from the default mic
python3 vosk-api/python/example/test_microphone.py \
  -m vosk-model-small-de-0.15
For another language, swap the model URL — full registry at alphacephei.com/vosk/models ↗
2Home Assistant via Wyoming

Replace HA's default cloud STT with offline Vosk. wyoming-vosk is the protocol bridge.

# run wyoming-vosk in Docker (en + de + uk loaded;
# add --model-for-language flags for more)
mkdir -p ~/wyoming-vosk-data
docker run -d --name wyoming-vosk \
  --restart unless-stopped \
  -p 10300:10300 \
  -v ~/wyoming-vosk-data:/data \
  rhasspy/wyoming-vosk:latest \
  --uri tcp://0.0.0.0:10300 \
  --data-dir /data \
  --model-for-language en vosk-model-small-en-us-0.15 \
  --model-for-language de vosk-model-small-de-0.15 \
  --model-for-language uk vosk-model-small-uk-v3-nano

# in Home Assistant:
#  Settings → Devices & Services → Add Integration
#  → Wyoming Protocol
#  Host: <host-ip>   Port: 10300

# then wire it into Assist:
#  Settings → Voice assistants → new pipeline
#  Speech-to-text: Vosk  ·  Text-to-speech: Piper
Source: rhasspy/wyoming-vosk ↗. Pair with wyoming-piper for offline TTS.
3Real-time mic streaming

Python · partial transcripts at zero latency · drop-in for kiosks & live captions.

import json, sounddevice as sd, queue
from vosk import Model, KaldiRecognizer

q = queue.Queue()
def cb(indata, frames, time, status):
    q.put(bytes(indata))

# any unzipped model dir
model = Model("vosk-model-small-de-0.15")
rec   = KaldiRecognizer(model, 16000)

with sd.RawInputStream(samplerate=16000,
                       blocksize=8000,
                       dtype="int16", channels=1,
                       callback=cb):
    print("Listening — Ctrl-C to quit")
    while True:
        data = q.get()
        if rec.AcceptWaveform(data):
            print(json.loads(rec.Result())["text"])
        else:
            p = json.loads(rec.PartialResult()).get("partial")
            if p: print(f"… {p}", end="\r")
Streaming API yields word-by-word partials. Swap the model dir to switch language.

Features

Speaker diarizationYes
Word-level timestampsYes
Streaming / real-timeYes
Languages supported20
HIPAA eligibleNo

Links

Vosk vs Whipscribe

FeatureVoskWhipscribe
CategoryOpen sourceTranscription APIs
Pricingfreepacks from $4 for 500 min · credits never expire
Speaker diarizationYesSpeakers named in the summary, key quotes and chapters
Word timestampsYesYes
StreamingYesNo
Languages2099
PlatformsLinux, macOS, Windows, iOS, Android, EdgeWeb, API, MCP

Alternatives to Vosk

Whipscribe is a hosted transcription service. If you want transcripts without running infrastructure, paste a URL or drop a file in the form below — you'll have a transcript in seconds.

Related

Long recording to get through?

One file up to 10 hours, as an upload or a link: see MP3 to text for long recordings, transcribing a podcast episode and an SRT subtitle file from any recording.

Rather have it done for you?

Free tools cost setup time. When you want a finished transcript instead: see transcription services from $4.