Speech-to-text enginesChecked September 16, 2026

sherpa-onnx

sherpa-onnx is an Apache-2.0 runtime from the next-generation Kaldi team that runs speech to text, text to speech, speaker diarization, voice activity detection and more locally through onnxruntime, with no internet connection. It supports streaming and non-streaming recognition, runs on x86, ARM and RISC-V CPUs, several NPUs, Android, iOS and WebAssembly, and has APIs in twelve programming languages.

OSIAlternative to Deepgram, AssemblyAI, ElevenLabs

What does sherpa-onnx do?

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.

Key facts

  • Licence: Apache-2.0 on the runtime. It is not a model; each model from its release pages carries its own licence, which the README does not enumerate.
  • Functions listed: speech to text (streaming and non-streaming), text to speech, speaker diarization, speech enhancement, source separation, voice activity detection, keyword spotting and more.
  • Text-to-speech families in its demos: Piper, Matcha, ZipVoice (voice cloning, Chinese and English) and Pocket TTS (voice cloning, English); community projects run Kokoro-82M through it.
  • Languages with APIs: C++, C, Python, Go, C#, Java, Kotlin, JavaScript, Swift, Rust, Dart and Object Pascal, plus Node.js and WebAssembly.
  • Hardware: x86, x86_64, arm32, arm64 and riscv64 CPUs; NPUs from Rockchip, Qualcomm, Ascend, Axera and Intel OpenVINO; Jetson on CPU and GPU.
  • Platforms: Linux, macOS, Windows, openKylin, Android, WearOS, iOS, HarmonyOS, Node.js, WebAssembly, Raspberry Pi and several named boards.
  • Prebuilt Android APKs and Flutter apps for Android, Linux, macOS and Windows; iOS needs a source build.
  • Latest tagged release when read: v1.13.8 on 2026-09-10.

What does it replace, and where does it fall short?

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 does sherpa-onnx run?

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 is sherpa-onnx for?

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.

What limits does the README state?

"You need to build from source for iOS."

Questions people ask

Is sherpa-onnx open source?

Yes. The runtime is Apache-2.0, an OSI approved licence. The models it runs are separate downloads, each with its own licence, so the openness of a given deployment depends on the model you pick as much as on the runtime.

Does sherpa-onnx work without a server?

Yes. Its README lists every function as running locally, and its GitHub description ends with "without Internet connection". It runs in a phone app, in the browser through WebAssembly, or on an embedded board, with no service behind it.

What can sherpa-onnx do besides transcription?

Text to speech with Piper, Matcha and voice-cloning models, speaker diarization to label who spoke when, voice activity detection, keyword spotting, speech enhancement and source separation. It is closer to a speech engine kit than to one tool.

How does sherpa-onnx compare with Deepgram and ElevenLabs?

It replaces both directions of speech where the target is a device with no network, at the cost of assembling the application yourself. It appears on the alternatives to Deepgram and alternatives to ElevenLabs pages as the pick for speech inside your own app.

Which apps on this site use sherpa-onnx?

OpenWhispr is built on whisper.cpp and sherpa-onnx, according to its README. That is the shape sherpa-onnx is made for: a runtime inside someone else's application rather than a product on its own.

Sources

Compared with the others

On the open-source alternatives to Deepgram page, sherpa-onnx is the pick for speech inside your own app, any platform. Apache-2.0 runtime for speech to text, text to speech, speaker diarization and voice activity detection, on CPUs, NPUs, Android, iOS and WebAssembly, offline.

Also on that page: Whisper for the reference model on a gpu, whisper.cpp for a cpu, a mac, or a phone, WhisperX for word timestamps and speaker labels.

On the open-source alternatives to AssemblyAI page, sherpa-onnx is the pick for speech inside your own app, any platform. Apache-2.0 runtime for speech to text, text to speech, speaker diarization and voice activity detection, on CPUs, NPUs, Android, iOS and WebAssembly, offline.

Also on that page: WhisperX for word timestamps and speaker labels, Speaches for an openai-compatible server, Whisper for the reference model on a gpu.

On the open-source alternatives to ElevenLabs page, sherpa-onnx is the pick for speech inside a phone or embedded app. Apache-2.0 runtime that runs Piper, Matcha and voice-cloning models on CPUs, NPUs, Android, iOS and WebAssembly with no server.

Also on that page: Chatterbox for voice cloning you can ship, Kokoro FastAPI for a speech api on your own server, Piper for small devices and offline assistants.

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
111,328
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
54,685
Oct 6, 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,860
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,619
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,202
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,296
Aug 24, 2026
Yes

Added September 16, 2026. Every claim above comes from the project's README, LICENSE or model card, read on September 16, 2026, or from the GitHub API on the date shown in the panel. Found an error? Write to reveneau@licheo.com and it is fixed in the next weekly pass. Repository: github.com/k2-fsa/sherpa-onnx.

Want sherpa-onnx running on your own servers?

Reveneau sets it up on your hardware, connects it to your product, and builds the software around it.

Start a project