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

Open-source alternatives to AssemblyAI

The open-source alternatives to AssemblyAI are Whisper, whisper.cpp, WhisperX, NVIDIA's Parakeet, Moonshine, Vosk, sherpa-onnx and Speaches. AssemblyAI's product is an API that returns a transcript plus speaker labels and understanding on top; the open-source split is a transcription model and, if you want it, a separate language model for the understanding. WhisperX comes closest to the transcript with speaker labels and word timestamps. Speaches gives you an OpenAI-compatible server around Whisper. A team switches when audio has to stay inside its own network, or when a GPU costs less than the per-hour bill.

Word timestamps and speaker labels
WhisperX
An OpenAI-compatible server
Speaches
The reference model on a GPU
Whisper

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.

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

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

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

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

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

  • WhisperX is the closest to AssemblyAI's transcript output; the understanding layer is a separate model you add.
  • Speaches and whisper.cpp's server are drop-ins for the OpenAI transcription API shape, not for AssemblyAI's SDK.
  • Whisper, whisper.cpp and Speaches are MIT; WhisperX is BSD-2-Clause; Vosk and sherpa-onnx are Apache-2.0; Parakeet weights are CC-BY-4.0.
  • WhisperX's own README says overlapping speech is handled poorly and its diarization is far from perfect.

The projects, side by side

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

ProjectBest forOpennessLicenceRuns asOwn machinesStars
WhisperXWord timestamps and speaker labelsOSIBSD-2-Clausepip, CLI, Python libraryYes24,860
SpeachesAn OpenAI-compatible serverOSIMITDocker, Server (OpenAI-compatible API)Yes3,736
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
Parakeet (NeMo Speech)High volume in European languages on NVIDIAOpen weightsApache-2.0pip, Docker, Python libraryYes18,619
MoonshineLive streaming on the deviceOSISee LICENSEpip, CLI, C library, JavaScript/WASM, mobile SDKsYes11,296
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

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

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

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

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

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. Do you need the transcript with speaker labels, like AssemblyAI returns?

    WhisperX, with pyannote's gated CC-BY-4.0 model. For a desktop, Buzz, Vibe and OpenWhispr under meeting transcription label speakers too.

  2. Do you need summaries, chapters or sentiment as well?

    As a second step: transcribe with any engine here, then run the text through a language model you run or rent. No engine on this page returns both in one call.

  3. Batch volume on a GPU, or small hardware?

    GPU volume: WhisperX or Parakeet. Small hardware: whisper.cpp, Vosk, Moonshine or sherpa-onnx.

Where AssemblyAI is still the better choice

AssemblyAI, in the vendor's own words, is "voice AI infrastructure for developers building products that transcribe, understand, and act on speech", by its own description. assemblyai.com. The cases below are where that still wins.

  • You want the understanding layer, such as summaries, chapters, sentiment and entity detection, returned by the same call as the transcript. Here that is a second model you wire in yourself.
  • You need an API with a service-level commitment and no infrastructure to run.
  • You need reliable speaker labels on overlapping speech. WhisperX's own README says overlapping speech is not handled well and its diarization is far from perfect.
  • You want one supported SDK in several languages with a vendor behind it.

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 AssemblyAI. 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 AssemblyAI?

WhisperX (BSD-2-Clause) is the closest to AssemblyAI's transcript output: fast batched Whisper with word timestamps and speaker labels. For a hosted-API shape, Speaches (MIT) serves Whisper models through an OpenAI-compatible endpoint. For live audio on small hardware, Moonshine (MIT) or Vosk (Apache-2.0). For a Mac, a phone or a CPU-only server, whisper.cpp (MIT).

Which open-source options give speaker labels?

WhisperX, through pyannote's diarization model, which is CC-BY-4.0 and requires accepting an agreement on Hugging Face. whisper.cpp has an experimental speaker-turn mode. Vosk lists speaker identification. Buzz and Vibe, under meeting transcription, label speakers in a desktop app.

Can I get AssemblyAI-style summaries and topics from open source?

Yes, as a second step: transcribe with any engine here, then send the text to a language model you run or rent. Meetily and Vibe under meeting transcription do this in one app with Ollama for a local model. There is no single open-source engine on this page that returns transcript and summary in one call.

Which runs fastest on a GPU for large batches?

WhisperX's README claims 70 times real time with Whisper large-v2 on batched inference, and NVIDIA's Parakeet TDT is described as built for high-throughput transcription and handles up to 24 minutes of audio with full attention on an A100. Both figures are the projects' own.

What about languages other than English?

Whisper is multilingual and also translates to English, with accuracy its README says varies widely by language. Parakeet TDT v3 covers 25 European languages with automatic detection. Vosk lists 20+ languages. Moonshine's streaming models are MIT in every language; its thirteen legacy non-English non-streaming models are under a non-commercial licence. WhisperX alignment ships for English, French, German, Spanish and Italian by default with more on Hugging Face.

Is any of this a drop-in for the AssemblyAI SDK?

No. Speaches and whisper.cpp's server are drop-ins for the OpenAI transcription API shape, so code written against OpenAI works with a URL change. Calls written against AssemblyAI's SDK have to be rewritten against whichever engine you pick.

Sources

  1. AssemblyAI homepage, the vendor's own description, read September 16, 2026
  2. WhisperX README (m-bain/whisperX), read September 16, 2026
  3. Speaches README (speaches-ai/speaches), read September 16, 2026
  4. Parakeet TDT 0.6B v3 model card, read September 16, 2026
  5. Moonshine LICENSE, read September 16, 2026
  6. Whisper README (openai/whisper), read September 16, 2026

Want to stop paying for AssemblyAI?

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

Start a project