Kaldi
What it is
Kaldi is a free, open-source C++ toolkit for speech recognition aimed at researchers and professionals in the field. Its code and scripts cover techniques including linear transforms, MMI, boosted MMI, MCE discriminative training, and feature-space discriminative training. It integrates finite-state transducers through OpenFst and includes a matrix library that wraps standard BLAS and LAPACK routines. The project provides example recipes for building recognition systems and downloadable models for speech recognition, speaker identification, speech activity detection, diarization, and language modeling. Those models may be used for any purpose. Kaldi is released under Apache License 2.0, which permits commercial use and redistribution. It runs on Linux distributions and Mac OS X, supports Android cross-compilation, and can be compiled to WebAssembly for in-browser execution. Windows builds have been made, but example scripts do not work there and compatibility is not actively maintained. Users obtain the current development version by cloning the GitHub repository and following its INSTALL file. Documentation is expert-oriented, and the project directs help requests to its mailing list and bug reports or feature requests to GitHub issues.
For and against
For
- Apache License 2.0 permits commercial use and redistribution.
- Model archives cover recognition, identification, detection, diarization, and language.
- Integrates OpenFst finite-state transducers.
- Supports Linux, macOS, Android cross-compilation, and WebAssembly.
Against
- Windows compatibility is not actively maintained.
- Example scripts do not work on Windows.
- Documentation is often written for experts.
- Some example scripts use SRILM, which is not free for commercial use.
The verdict
Kaldi provides a broad speech-recognition toolkit and model materials under a license that permits commercial use. It is best suited to technically experienced users; Windows support is limited and the project documentation is expert-oriented.
Who it suits
Kaldi is suited to speech recognition researchers and professionals who are comfortable with expert-oriented documentation and development tools. Its licensing and modeling materials may also suit teams building systems for commercial use.
Plans and prices
Kaldi
Apache License 2.0 · use and redistribution permitted, including commercially
Read 9 Oct 2026 · kaldi-asr.org
On the record
- Android and browser builds
- The project repository says Kaldi supports cross-compiling for Android and WebAssembly for in-browser execution.github.com · read 9 Oct 2026
- Android support
- Kaldi supports cross-compiling for Android using Android NDK, clang++, and OpenBLAS.github.com · read 9 Oct 2026
- Audience limit
- The project says much of its documentation is written for experts and identifies speech recognition researchers and researchers-in-training as its intended audience.kaldi-asr.org · read 9 Oct 2026
- Compute environment
- Kaldi can run on a single Unix-like machine, while its documentation describes a Linux cluster with shared storage and optional Nvidia GPUs as an ideal environment.kaldi-asr.org · read 9 Oct 2026
- Download
- The project directs users to clone its GitHub repository to obtain the current development version, which may include unfinished or experimental features.kaldi-asr.org · read 9 Oct 2026
- External dependencies
- Installation and example scripts use tools including Git, bash, Perl, awk, grep, and make; some example scripts use SRILM, which the documentation says is not free for commercial use.kaldi-asr.org · read 9 Oct 2026
- Finite-state transducers
- Kaldi compiles against the OpenFst toolkit and integrates finite-state transducers into its code.kaldi-asr.org · read 9 Oct 2026
- FST integration
- Kaldi integrates with Finite State Transducers and compiles against the OpenFst toolkit as a library.kaldi-asr.org · read 9 Oct 2026
- Installation
- Users download the current source by cloning the Kaldi GitHub repository and install it using the instructions in the repository's INSTALL file.kaldi-asr.org · read 9 Oct 2026
- Intended audience
- The project says its documentation can be expert-oriented and describes speech recognition researchers and researchers-in-training as its intended audience.kaldi-asr.org · read 9 Oct 2026
- License
- Kaldi is released under Apache License 2.0, which permits free use and redistribution, including for commercial purposes.kaldi-asr.org · read 9 Oct 2026
- Linear algebra
- Kaldi includes a matrix library that wraps standard BLAS and LAPACK routines.kaldi-asr.org · read 9 Oct 2026
- Linux support
- Kaldi runs on any Linux distribution and is best tested on Debian and Red Hat Linux.kaldi-asr.org · read 9 Oct 2026
- macOS support
- Kaldi runs on Mac OS X.kaldi-asr.org · read 9 Oct 2026
- Modeling recipes
- The project provides example recipes for building speech recognition systems and includes models for ASR, speaker identification, speech activity detection, and diarization.kaldi-asr.org · read 9 Oct 2026
- Models
- The site offers downloadable model archives for tasks including speech recognition, speaker identification, speech activity detection, diarization, and language modeling.kaldi-asr.org · read 9 Oct 2026
- Model use
- The models page states that its downloadable models may be used for any purpose.kaldi-asr.org · read 9 Oct 2026
- Operating systems
- Kaldi is best tested on Debian and Red Hat Linux and can run on Linux distributions, Cygwin, or Mac OS X; Windows compatibility is not actively maintained and example scripts do not work there.kaldi-asr.org · read 9 Oct 2026
The review
Kaldi is a free, open-source C++ toolkit for building speech-recognition systems. It suits researchers and speech professionals who want control over models and workflows. Its technical range is a strong reason to choose it; its expert-focused setup makes it a poor fit for people who just need transcription.
Overview
Kaldi combines recognition methods, model materials and deployment options in a toolkit that users can adapt to their own work. Real-time and offline recognition, API access and on-device deployment support a range of project designs. The trade-off is substantial technical responsibility: users build and install from source rather than start with a finished consumer app.
Key features
The toolkit includes code and scripts for linear transforms, MMI, boosted MMI, MCE discriminative training and feature-space discriminative training. This breadth gives researchers options for developing recognition systems, while leaving them to choose and implement an approach suited to their work.
Kaldi integrates finite-state transducers through OpenFst and includes a matrix library that wraps BLAS and LAPACK routines. These components make it a practical foundation for technically demanding speech workflows. Example recipes guide system building, and downloadable model archives cover speech recognition, speaker identification, speech activity detection, diarization and language modeling. The models may be used for any purpose.
Users obtain the current development version by cloning the GitHub repository and following its INSTALL instructions. That version may include unfinished or experimental features. Installation and example scripts use tools such as Git, bash, Perl, awk, grep and make; some examples also use SRILM, which is not free for commercial use. Kaldi can run on one Unix-like machine, while its documentation describes a Linux cluster with shared storage and optional Nvidia GPUs as an ideal environment.
Pricing
Kaldi is free at no cost under the Apache License 2.0. The license permits use and redistribution, including for commercial purposes, making it a viable choice for researchers and organizations that need to build or distribute speech software without a software fee. There is no free trial because the toolkit is already free. The license does not protect users against third-party patent claims, and some example workflows use SRILM, which is not free for commercial use.
Platforms
Kaldi runs on Linux distributions and Mac OS X; Linux support is best tested on Debian and Red Hat Linux. It can be cross-compiled for Android with Android NDK, clang++ and OpenBLAS, and the repository supports WebAssembly for in-browser execution. Windows compatibility is not actively maintained, and the example scripts do not work there, so Windows users should expect significant limitations. Cygwin is also supported.
Who it's for
Kaldi is aimed at speech-recognition researchers, researchers-in-training and speech professionals who can work with source code, models and developer tools. Expert-oriented documentation and example recipes reward technical experience. Users seeking a ready-made transcription workflow or guided consumer interface should choose a different kind of product.
Pros and cons
- Pros: A broad set of recognition methods and example recipes supports custom system development.
- Pros: Model archives span recognition, speaker identification, speech activity detection, diarization and language modeling, with use permitted for any purpose.
- Pros: Apache 2.0 permits commercial use and redistribution, and the toolkit supports real-time, offline and on-device recognition.
- Cons: Expert-oriented documentation and source-based installation put setup and system design on the user.
- Cons: Windows support is weak: compatibility is not actively maintained and example scripts do not work.
- Cons: Some examples depend on SRILM, which is not free for commercial use, and the Apache license does not resolve third-party patent risk.
Alternatives
Notta is a better fit for users who want a transcription service across mobile, desktop and web: its free plan includes one seat and 120 transcription minutes per month. MacWhisper suits Apple users seeking transcription and subtitle export, with a free plan and a Pro option priced at €64 a month, billed Pay Once. Superwhisper offers voice-to-text, meeting recording and transcription across Android, iOS, macOS and Windows, with a free plan and free trial.
CMU Sphinx is another free toolkit with a BSD-like license that allows commercial distribution. Vosk is a free alternative for offline speech recognition across mobile and server environments. Otter.ai is a freemium option with a free Basic plan capped at five workspace members, 300 transcription minutes per user monthly and three lifetime imported files per user. Picovoice Leopard offers a seven-day free trial with access to all Picovoice products and no credit card or auto-renewal. Trint is a paid alternative with a free trial.
Browse more options in Speech Recognition Software.
Verdict
Choose Kaldi if you are a technically experienced researcher or speech professional who wants a flexible, commercially usable foundation for custom recognition systems. Its range of methods, model archives and deployment choices make it compelling for that work. Look elsewhere if you need a polished transcription app, or if Windows is central to your workflow.