Practical overview
When it fits
Use it when a Kaldi-based speech interface needs to switch available command grammars per utterance rather than keep every grammar active during decoding.
Who it is for
- Developers building voice control for desktop applications.
- Dragonfly users who need grammars selected for the active context.
- Builders of voice-coding and other speech interfaces with changing command vocabularies.
Documented uses
- Enable only the command grammars relevant to an application's current context.
- Connect recognized voice commands to actions through Dragonfly grammars.
- Use Kaldi for plain dictation through the documented dictation interface.
Requirements & limits
The project is open source under the AGPL-3.0 license. Its README lists Windows, Linux and macOS support and distributes platform-specific wheels.
- Requires 64-bit Python 3.6 or later.
- Requires a compatible, modified Kaldi left-biphone nnet3 chain model.
- The README estimates about 1 GB or more of disk space and RAM, depending on model and grammar complexity.
- The Python package includes native Kaldi decoding binaries; source distributions are intentionally unsupported.
- A general English model is available through project releases; standard Kaldi models require conversion, which the README says is not fully implemented.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install Kaldi Active Grammar for direct use
Install the package and prepare a compatible model for use through its lower-level interface.
Before you start
- 64-bit Python 3.6 or newer
- About 1 GB or more of disk space and 1 GB or more of RAM, depending on model and grammar complexity
- A compatible Kaldi left-biphone nnet3 chain model with the required modifications
Steps
Download a compatible generic English Kaldi nnet3 chain model from the project releases and unzip it.
Install the package and its included Kaldi binaries with the command below.
pip install kaldi-active-grammarPass the unzipped model directory path to the kaldi-active-grammar constructor.
Expected outcome
The package and compatible model are prepared for direct use through the lower-level interface.
Guide limitations
- Only 64-bit Python 3.6 or newer is supported.
- Only Kaldi left-biphone nnet3 chain models with specific modifications are supported; standard Kaldi models require conversion, which is not fully implemented.
- Resource requirements vary with model and grammar complexity.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- daanzu/kaldi-active-grammar · Official homepage title · retained in its source language

