Speech-to-text engines8 projects, checked September 16, 2026

Open-source alternatives to Deepgram

The open-source alternatives to Deepgram are Whisper and its ports (whisper.cpp, WhisperX), NVIDIA's Parakeet through NeMo Speech, Moonshine, Vosk, sherpa-onnx and Speaches. For a recording, Whisper's family is the default: MIT weights, six model sizes, and WhisperX adds word timestamps and speaker labels. For live audio, Moonshine and Vosk are built for streaming on small hardware, and sherpa-onnx runs both modes on a CPU or a phone. Speaches wraps these in an OpenAI-compatible server. A team switches when audio cannot leave its network or when per-minute pricing outgrows a GPU.

The reference model on a GPU
Whisper
A CPU, a Mac, or a phone
whisper.cpp
Word timestamps and speaker labels
WhisperX

7 of 8 carry an OSI licence. 8 of 8 run on your own machines. Figures read from GitHub on October 26, 2026.

Pick by need

One project per need, with the reason from its own README and the one thing to know before you choose it.

The reference model on a GPU

Whisper

MIT code and weights, six sizes, multilingual recognition plus translation to English. The model every other entry here builds on or competes with.

Know firstA model and a command line: no server, no streaming, no speaker labels of its own.

OSI111,328 stars

A CPU, a Mac, or a phone

whisper.cpp

MIT. A dependency-free C and C++ port with quantised models, first-class Apple Silicon through Metal and Core ML, an HTTP server with an OpenAI-like API, and bindings for a dozen languages.

Know firstWord timestamps and speaker turns are both marked experimental.

OSI54,685 stars

Word timestamps and speaker labels

WhisperX

BSD-2-Clause. Batched Whisper at what its README calls 70 times real time, forced alignment for word timings, and speaker labels through pyannote.

Know firstThe diarization model is CC-BY-4.0 behind a Hugging Face agreement, and the README calls its diarization far from perfect.

OSI24,860 stars

An OpenAI-compatible server

Speaches

MIT. Streaming transcription, translation and speech generation behind OpenAI's API shape, loading Whisper, Kokoro and Piper models on demand.

Know firstThe README is short and defers to the website; the latest GitHub release is a release candidate.

OSI3,736 stars

Live streaming on the device

Moonshine

MIT code, MIT streaming models, built to work while the person is still talking, with models down to 1 MB and one library across Python, the browser, phones and desktops.

Know firstThirteen legacy non-English, non-streaming models stay under a non-commercial licence.

OSI11,296 stars

High volume in European languages on NVIDIA

Parakeet (NeMo Speech)

Apache-2.0 code and CC-BY-4.0 weights. Parakeet TDT 0.6B v3 covers 25 European languages with automatic detection, punctuation, word timestamps and long audio.

Know firstThe toolkit recommends an NVIDIA GPU; the label is open weights because CC-BY-4.0 is not an OSI licence.

Open weights18,619 stars

Tiny models on boards and phones

Vosk

Apache-2.0. Models of about 50 MB, a streaming API, 20+ languages, speaker identification, and bindings from Python to Go, from a Raspberry Pi up to a cluster.

Know firstThe README points to the website for everything else, and the last tagged release is from April 2024.

OSI15,202 stars

Speech inside your own app, any platform

sherpa-onnx

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.

Know firstA lower-level tool: you pick the models and read their licences.

OSI15,528 stars

What to take away

  • Whisper's code and weights are MIT, which is why its family anchors this list.
  • For live audio the built-for-streaming options are Moonshine, Vosk and sherpa-onnx; Whisper itself works in 30-second windows.
  • WhisperX is the one that returns what a hosted API returns, timestamps and speakers, and its README is candid about the limits.
  • Every engine here is yours to run, scale and patch; none comes with an uptime commitment.
  • Accuracy is not compared on this page, because no shared measurement exists across all eight.

The projects, side by side

The facts that decide most choices. Each project's page carries the full panel.

ProjectBest forOpennessLicenceRuns asOwn machinesStars
WhisperThe reference model on a GPUOSIMITpip, CLI, Python libraryYes111,328
whisper.cppA CPU, a Mac, or a phoneOSIMITC/C++ library, CLI, Server (OpenAI-like API), DockerYes54,685
WhisperXWord timestamps and speaker labelsOSIBSD-2-Clausepip, CLI, Python libraryYes24,860
SpeachesAn OpenAI-compatible serverOSIMITDocker, Server (OpenAI-compatible API)Yes3,736
MoonshineLive streaming on the deviceOSISee LICENSEpip, CLI, C library, JavaScript/WASM, mobile SDKsYes11,296
Parakeet (NeMo Speech)High volume in European languages on NVIDIAOpen weightsApache-2.0pip, Docker, Python libraryYes18,619
VoskTiny models on boards and phonesOSIApache-2.0Language bindings (Python, Java, Node.js, C#, C++, Rust, Go)Yes15,202
sherpa-onnxSpeech inside your own app, any platformOSIApache-2.0Libraries in 12 languages, prebuilt Android and Flutter apps, WebAssembly, websocket serverYes15,528

Licence and star figures read from GitHub on October 26, 2026. Stars are shown as a dated fact and were not used to rank this page.

Each project, in turn

Whisper

OSIThe reference model on a GPU

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.

MIT code and weights, six sizes, multilingual recognition plus translation to English. The model every other entry here builds on or competes with.

Know firstA model and a command line: no server, no streaming, no speaker labels of its own.

Licence
MIT
Runs as
pip, CLI, Python library
Platforms
Linux, macOS, Windows (ffmpeg required)
Hosted option
None from the maintainers
Last release
v20250625, Jun 26, 2025

whisper.cpp

OSIA CPU, a Mac, or a phone

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.

MIT. A dependency-free C and C++ port with quantised models, first-class Apple Silicon through Metal and Core ML, an HTTP server with an OpenAI-like API, and bindings for a dozen languages.

Know firstWord timestamps and speaker turns are both marked experimental.

Licence
MIT
Runs as
C/C++ library, CLI, Server (OpenAI-like API), Docker
Platforms
macOS (Intel and Apple Silicon), Linux, FreeBSD, Windows, iOS, Android, WebAssembly, Raspberry Pi
Hosted option
None from the maintainers
Last release
v1.9.5, Oct 6, 2026

WhisperX

OSIWord timestamps and speaker labels

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.

BSD-2-Clause. Batched Whisper at what its README calls 70 times real time, forced alignment for word timings, and speaker labels through pyannote.

Know firstThe diarization model is CC-BY-4.0 behind a Hugging Face agreement, and the README calls its diarization far from perfect.

Licence
BSD-2-Clause
Weights
Ships no weights of its own; the speaker diarization model from pyannote is CC-BY-4.0 and gated behind a Hugging Face agreement
Runs as
pip, CLI, Python library
Platforms
Linux and Windows (CUDA 12.8), macOS and CPU (int8 mode)
Hosted option
None from the maintainers
Last release
v3.8.6, May 25, 2026

Speaches

OSIAn OpenAI-compatible server

An OpenAI-compatible server under MIT for streaming transcription, translation and text to speech, loading Whisper, Kokoro and Piper models on demand, described by its maintainers as Ollama for speech models.

MIT. Streaming transcription, translation and speech generation behind OpenAI's API shape, loading Whisper, Kokoro and Piper models on demand.

Know firstThe README is short and defers to the website; the latest GitHub release is a release candidate.

Licence
MIT
Runs as
Docker, Server (OpenAI-compatible API)
Platforms
Docker on GPU or CPU
Hosted option
None from the maintainers
Last release
v0.9.0-rc.3, Dec 27, 2025

Moonshine

OSILive streaming on the device

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.

MIT code, MIT streaming models, built to work while the person is still talking, with models down to 1 MB and one library across Python, the browser, phones and desktops.

Know firstThirteen legacy non-English, non-streaming models stay under a non-commercial licence.

Licence
See the LICENSE file
Weights
MIT for every streaming model and every English model; thirteen legacy non-English non-streaming models stay under a non-commercial community licence
Runs as
pip, CLI, C library, JavaScript/WASM, mobile SDKs
Platforms
Python, JavaScript/WASM, iOS, Android, macOS, Linux, Windows, Raspberry Pi
Hosted option
None from the maintainers
Last release
v0.1.5, Aug 24, 2026

Parakeet (NeMo Speech)

Open weightsHigh volume in European languages on NVIDIA

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.

Apache-2.0 code and CC-BY-4.0 weights. Parakeet TDT 0.6B v3 covers 25 European languages with automatic detection, punctuation, word timestamps and long audio.

Know firstThe toolkit recommends an NVIDIA GPU; the label is open weights because CC-BY-4.0 is not an OSI licence.

Licence
Apache-2.0
Weights
CC-BY-4.0 on the Parakeet weights; the NeMo Speech code is Apache-2.0
Runs as
pip, Docker, Python library
Platforms
Linux with an NVIDIA GPU (recommended); a CPU path through Transformers is documented on the model card
Hosted option
None from the maintainers
Last release
v3.0.0, Aug 7, 2026

Vosk

OSITiny models on boards and phones

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.

Apache-2.0. Models of about 50 MB, a streaming API, 20+ languages, speaker identification, and bindings from Python to Go, from a Raspberry Pi up to a cluster.

Know firstThe README points to the website for everything else, and the last tagged release is from April 2024.

Licence
Apache-2.0
Runs as
Language bindings (Python, Java, Node.js, C#, C++, Rust, Go)
Platforms
Raspberry Pi, Android, servers; desktop OS list not stated
Hosted option
None from the maintainers
Last release
v0.3.50, Apr 22, 2024

sherpa-onnx

OSISpeech inside your own app, any platform

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.

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.

Know firstA lower-level tool: you pick the models and read their licences.

Licence
Apache-2.0
Runs as
Libraries in 12 languages, prebuilt Android and Flutter apps, WebAssembly, websocket server
Platforms
Linux, macOS, Windows, Android, iOS, HarmonyOS, Node.js, WebAssembly, Raspberry Pi and named boards
Hosted option
None from the maintainers
Last release
v2.0.1, Oct 26, 2026

How to choose

The questions that settle it, in the order they usually come up.

  1. Recorded audio or live audio?

    Recorded: Whisper, WhisperX or whisper.cpp. Live: Moonshine, Vosk, sherpa-onnx, or NVIDIA's streaming model through NeMo Speech.

  2. Do you need word timestamps and speaker labels?

    WhisperX, accepting the pyannote model's CC-BY-4.0 licence and gate. Parakeet reports word timestamps. whisper.cpp has both as experimental features.

  3. What hardware?

    No GPU: whisper.cpp, Vosk, Moonshine or sherpa-onnx. NVIDIA GPUs at volume: Parakeet. Any GPU: Whisper or WhisperX.

  4. Is your code written against OpenAI's transcription API?

    Speaches or whisper.cpp's server: both present that shape, so the change is a base URL. Code against Deepgram's own SDK has to be rewritten either way.

Where Deepgram is still the better choice

Deepgram, in the vendor's own words, is "voice AI built for real conversations", with a speech-to-text model it describes as conversation-aware, built to understand turn-taking and handle interruptions, by its own description. deepgram.com. The cases below are where that still wins.

  • You need a hosted API with an uptime commitment and nobody to run a GPU. Every engine here is yours to operate, scale and keep patched.
  • You want speech to text and text to speech from one vendor that also handles turn-taking for a live agent. Only sherpa-onnx and Speaches on this page cover both directions, and neither describes turn-taking.
  • You need one API that covers many languages with consistent accuracy. Whisper's README says its performance varies widely by language; Parakeet v3 covers 25 European languages; Moonshine and Vosk publish their own lists.
  • You want to send a recording and get back speaker labels, summaries and topics in one call. WhisperX gives speaker labels and calls its own diarization far from perfect.

How this page was checked

Numbers from GitHub, dated

Stars, licence, last commit and last release are read from the GitHub API by a script every week and carry the date they were read. Nobody types them.

Claims from the README

What each project does is written from its own README and LICENSE, read in full on the date shown, and phrased as the project's claim. The sources are listed at the end.

What is never said

That a project is faster, better or cheaper than Deepgram. A price for anyone. A user count. A roadmap. If a fact is not on this page, it was not in the source.

OSI Open source (OSI licence)
The code, and the weights where the project is a model, carry a licence on the OSI approved list.
Source available Source available
The code is public, and the licence limits what you may do with it. Read the LICENSE file before commercial use.
Open weights Open weights
The model weights can be downloaded and run. The training data or code is closed, or the weights carry a restriction the code does not.

Questions people ask

What is the best open-source alternative to Deepgram?

For recorded audio, OpenAI's Whisper (MIT code and weights), or WhisperX if you need word timestamps and speaker labels, or whisper.cpp if you need it on a CPU, a Mac or a phone. For live streaming audio, Moonshine (MIT, built for low latency on device) or Vosk (Apache-2.0, streaming API, models of about 50 MB). For an OpenAI-compatible server around these, Speaches.

Which open-source speech-to-text engines support streaming?

Moonshine is designed for live streaming and says it works while the user is still talking. Vosk has a streaming API with what its README calls zero-latency response. sherpa-onnx supports both streaming and non-streaming models. whisper.cpp has a stream example that transcribes continuously from the microphone. NVIDIA's Nemotron ASR Streaming model runs through NeMo Speech. Whisper itself processes a sliding 30-second window.

Which ones do word-level timestamps and speaker diarization?

WhisperX does both: word timestamps by alignment with a wav2vec2 model, and speaker labels through pyannote, whose model is CC-BY-4.0 and needs a Hugging Face token. whisper.cpp has experimental word timestamps and experimental speaker turn markers. NVIDIA's Parakeet TDT reports word and segment timestamps. Vosk offers speaker identification.

Can I run these on a CPU without a GPU?

Yes. whisper.cpp is built for it and runs fully on the GPU on Apple Silicon through Metal. Vosk runs on a Raspberry Pi. Moonshine ships models down to 1 MB for small devices. sherpa-onnx runs on x86, ARM and RISC-V CPUs. WhisperX documents an int8 CPU mode. NeMo Speech recommends an NVIDIA GPU for inference, and the Parakeet card documents a CPU path through Transformers.

Is there a drop-in replacement for the Deepgram API?

Not a Deepgram-shaped one on this page. Speaches and whisper.cpp's server both expose an OpenAI-compatible API, so code written against OpenAI's transcription endpoint works with a base URL change. Code written against Deepgram's own SDK needs its calls rewritten.

Which models are licensed for commercial use?

Whisper's code and weights are MIT. whisper.cpp is MIT. WhisperX is BSD-2-Clause, but its diarization model is CC-BY-4.0 and gated. Moonshine's code, every streaming model and every English model are MIT; thirteen legacy non-English models are under a non-commercial community licence. Parakeet weights are CC-BY-4.0, which permits commercial use with attribution. Vosk and sherpa-onnx code are Apache-2.0; their model licences are not stated in the READMEs.

How accurate are they compared with Deepgram?

This page does not compare accuracy, because no shared measurement exists here. The projects publish their own figures: Moonshine claims accuracy from above Whisper Large V3 down to 1 MB models, and NVIDIA's Canary-Qwen reports a 5.63 percent word error rate on the English Open ASR Leaderboard. Both are the projects' own claims.

Want to stop paying for Deepgram?

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

Start a project