Speech-to-text engines

sherpa-onnx

A runtime under Apache-2.0 from the next-generation Kaldi team that runs speech to text, text to speech, speaker diarization and voice activity detection locally on CPUs, NPUs and phones, with no internet connection.

OSIAlternative to Deepgram, AssemblyAI, ElevenLabs

What it does

sherpa-onnx runs speech models locally through onnxruntime. Its GitHub description lists "speech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD", all "without Internet connection". Both streaming and non-streaming recognition are supported. On the speech side it hosts model families including Piper, Matcha and voice-cloning models such as ZipVoice and Pocket TTS; community projects run Kokoro through it.

It is a runtime rather than a model: the models come from its release pages and each carries its own licence, which the README does not enumerate. It runs on x86, ARM and RISC-V CPUs, on NPUs from Rockchip, Qualcomm, Ascend, Axera and Intel OpenVINO, on Jetson, and in the browser through WebAssembly.

What it replaces

sherpa-onnx replaces Deepgram and AssemblyAI for recognition, and ElevenLabs for speech, wherever the deployment target is a phone, an embedded board or a browser and the constraint is running with no server at all. OpenWhispr, under dictation, uses it inside an Electron app.

Where it falls short: it is a lower-level tool than the others on this page. You choose the models, read their licences and build the application. Languages, sample rates and model sizes depend on the model you pick.

How it runs

Libraries and APIs in C++, C, Python, Go, C#, Java, Kotlin, JavaScript, Swift, Rust, Dart and Object Pascal, plus Node.js and WebAssembly, prebuilt Android APKs, Flutter apps for Android, Linux, macOS and Windows, and a websocket server and client. iOS needs a source build.

Who it fits

A team shipping speech features inside its own app on many platforms from one codebase. A team that wants a ready-made server should use Speaches or whisper.cpp's server.

Limits the README states

"You need to build from source for iOS."

Sources

More speech-to-text engines

ProjectReplacesOpennessStarsLast releaseSelf-host
Whisper

OpenAI's general-purpose speech recognition model, released with code and weights under MIT, in six sizes from 39 million to 1.55 billion parameters, with multilingual transcription, translation to English and language detection.

OSI
109,222
Jun 26, 2025
Yes
whisper.cpp

A dependency-free C and C++ port of Whisper under MIT that runs on CPUs, Apple Silicon and phones, with quantised models, an HTTP server and bindings for a dozen languages.

OSI
53,711
Sep 11, 2026
Yes
WhisperX

Batched Whisper transcription under BSD-2-Clause with word-level timestamps from forced alignment and speaker labels from pyannote, the closest open-source match to a hosted transcription API's output.

OSI
24,069
May 25, 2026
Yes
Parakeet (NeMo Speech)

NVIDIA's speech models and toolkit: Apache-2.0 code, and the Parakeet TDT 0.6B v3 model under CC-BY-4.0 with 25 European languages, automatic language detection, punctuation and word timestamps.

Open weights
18,465
Aug 7, 2026
Yes
Vosk

An offline speech recognition toolkit under Apache-2.0 with streaming, models of about 50 MB, 20+ languages, a reconfigurable vocabulary and speaker identification, from small boards to clusters.

OSI
15,131
Apr 22, 2024
Yes
Moonshine

An on-device speech toolkit under MIT built for live streaming, with speech-to-text models trained from scratch in sizes down to 1 MB, one library across Python, the browser, phones and desktops.

OSI
11,089
Aug 24, 2026
Yes

Added September 16, 2026. Found an error on this page? Write to reveneau@licheo.com and it gets fixed in the next weekly pass.

Running one of these inside your own environment, with your own data and your own security rules, is the kind of work Reveneau does. Read how a forward deployed engagement works.