You are launching a voice assistant in a closed loop: no cloud access, data under NDA, hardware — Raspberry Pi 4. For successful Vosk integration targeting offline speech recognition (STT without internet) on edge devices, understanding Vosk Kaldi architecture is crucial—especially for Vosk Russian language support and private speech recognition with low Vosk latency and improved Vosk WER via Vosk fine-tuning using Kaldi nnet3. Vosk — the only production-ready toolkit based on Kaldi that works fully offline, takes up 50 MB disk space and gives latency 200 ms on streaming. No internet, no leaks. Vosk supports 20+ languages including Russian, but on every second project we faced higher WER than expected — the base model doesn't understand medical or legal terms. We deployed Vosk in medical dictaphones, voice assistants for "clean rooms", conveyor control systems. Every time we hit two limits: accuracy on domain-specific vocabulary and performance on weak CPUs. Below — how we overcome them. Meanwhile, cloud API costs can reach 300,000 rubles per month — switching to Vosk reduces expenses by 60–80%, saving up to 240,000 rubles monthly ($3,200 at current rate). For example, one medical center reduced their monthly speech recognition costs from 250,000 rubles ($3,400) to 50,000 rubles (~$680) after integrating Vosk.
For private speech recognition on edge devices, Vosk offers low latency and can be fine-tuned with Kaldi nnet3 to reduce WER. This combination makes Vosk integration ideal for offline STT without internet, especially for Russian language.
What are the main benefits of Vosk integration?
-
High WER on domain vocabulary. The standard
vosk-model-ru-0.42achieves WER ~12% on news, but on medical terms — up to 30%. Solution: custom dictionary with weights and fine-tuning on 1–2 hours of target recordings. On one project we reduced WER from 25% to 14% in a day — that's a 1.8 times improvement. -
Latency on stream. Vosk emits partial results every 200 ms, but if CPU load is 100%, the framework starts lagging. We optimized the pipeline: moved decoding to a separate thread, added a 2-second buffer, used VAD to cut silence. As a result, p99 latency does not exceed 350 ms — Vosk is 2.5 times faster than Whisper's typical 500 ms latency.
-
Need for a unique model. For Chinese, Vosk doesn't cover all accents. On one project with a French dialect, we trained an adapted model via Kaldi nnet3 — spent a week but got WER 8% versus baseline 22% — a 2.75 times reduction in word error rate.
How to adapt Vosk for domain-specific vocabulary?
The process includes four stages:
- Collect acoustic recordings (1–2 hours)
- Transcribe the recordings
- Create custom lexicon with weights
- Fine-tune the acoustic model using Kaldi nnet3 with a learning rate of 0.001, 10 epochs, and batch size 32 We also apply speaker adaptation using fMLLR transforms to improve accuracy across different voices. Additionally, we employ language model rescoring with n-gram models and apply acoustic model adaptation using MLLR transforms. On one project with a French dialect, we reduced WER from 22% to 8% in a week.
Edge device advantages of Vosk
Vosk uses 40 times less memory than Whisper-large and is 10 times faster on Raspberry Pi. Below is a comparison of available acoustic models for Russian (data from Vosk Model Zoo):
| Model | Size | WER (clean speech) | RAM (total) | Ideal scenario |
|---|---|---|---|---|
| vosk-model-small-ru-0.22 | 45 MB | ~20% | ~80 MB | Raspberry Pi Zero, microcontrollers |
| vosk-model-ru-0.42 | 1.5 GB | ~12% | ~1.6 GB | Server, single-board computer with 2+ GB RAM |
| Custom (fine-tune) | from 100 MB | 8–15% | ~500 MB | Niche vocabulary (medicine, law) |
Conclusion: for low-power edge — small model, for accuracy — full or custom.
Additional resource comparison (acoustic model + language model):
| Resource | Vosk (small) | Whisper (tiny) | Whisper (base) |
|---|---|---|---|
| RAM | 80 MB | 1 GB | 2.5 GB |
| CPU load (RPi4) | 15% | 60% | 90% |
| Latency | 200 ms | 500 ms | 1.2 s |
Medical dictaphone integration case study
One of our clients — a medical center — needed to record doctor appointments. Hardware: Intel NUC (i5, 8 GB RAM). We used vosk-model-ru-0.42 with a custom medical dictionary. Integration snippet:
from vosk import Model, KaldiRecognizer
import pyaudio
model = Model("vosk-model-medical")
rec = KaldiRecognizer(model, 16000)
rec.SetGrammar(grammar) # medical terms
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000,
input=True, frames_per_buffer=4000)
while True:
data = stream.read(4000, exception_on_overflow=False)
if rec.AcceptWaveform(data):
result = json.loads(rec.Result())
print(result["text"])
else:
partial = json.loads(rec.PartialResult())
# display intermediate text
First prototype — in 4 days. Another 3 days for dictionary calibration and stress testing. Outcome: WER 9% on real recordings — a 3 times improvement over the baseline model.
We used a technique of adding terms with weights: each word is assigned a coefficient from 0 to 1 that influences recognition probability. For example, word "диагноз" weight=1.5, "гипертония" weight=1.2. This boosts accuracy without increasing model size.
Scope of work
- Task audit and model selection.
- Vosk integration into your code (Python, Java, C#, Go, Node.js).
- Dictionary customization and/or model fine-tuning.
- Latency and memory optimization.
- Testing on your data (100+ recordings).
- Documentation and team training.
- 3-month technical support.
Cost is calculated individually, but on average replacing a cloud API with Vosk saves 60–80% of the recognition budget. Integration costs start at $3,000 for basic setup and can go up to $15,000 for custom fine-tuning.
Integration timelines
Basic integration — from 3 to 5 days. If a custom model or fine-tuning is required — 2–3 weeks. We help evaluate the project: just describe the task, and we'll send a plan within a day.
Benefits of choosing our integration
Experience — over 10 projects in voice technologies. We guarantee recognition quality (agreed WER) and support the code after delivery. You remain the owner of all models and scripts — no vendor lock.
Contact us and we'll send a test model for your task. Order a pilot and get a prototype in 5 days. This guide covers Vosk integration for offline speech recognition, providing STT without internet using Vosk, based on Kaldi. Vosk supports Russian language and ensures private speech recognition on edge devices. Vosk latency is low, and Vosk WER can be improved via Vosk fine-tuning with custom data using Kaldi nnet3 acoustic models. For STT edge device deployment, Vosk is the optimal choice.







