Vosk
An open-source speech-to-text toolkit that works offline on Android, iOS, Raspberry Pi and servers, with streaming transcription and speaker identification.

Vosk is an offline speech-to-text toolkit for developers building voice interfaces or transcription software. It processes speech on the device or server running it, without sending audio to a cloud recognition service.
- Streaming transcription: Recognize continuous speech as audio arrives, so a voice interface can respond before a recording ends.
- Language support: Choose language models for English, Indian English, Chinese, Spanish, Arabic, Hindi, Ukrainian and other languages and dialects.
- Vocabulary adjustment: Adapt the recognition vocabulary to the terms an application needs.
- Speaker identification: Identify speakers alongside speech recognition for applications that need to distinguish who is talking.
Vosk can support chatbots, smart home devices and virtual assistants, as well as lecture and interview transcription or movie subtitles. Compact per-language models suit lightweight devices, while larger models are available for server workloads. Deployments can scale from a Raspberry Pi or smartphone to clusters.
The toolkit runs fully offline on Android, iOS, Raspberry Pi and servers. Bindings include Python, Java, Node.js, C#, C++, Rust and Go, so developers can add recognition to existing applications. Vosk is open source under Apache 2.0.