A lightweight Python package for Automatic Speech Recognition using ONNX models
376
stars
231
commits
Python
primary language
Aug 16, 2026
updated
onnx-asr is a Python package for Automatic Speech Recognition using ONNX models. It's a lightweight, fast, and easy-to-use pure Python package with minimal dependencies (no need for PyTorch, Transformers, or FFmpeg):
Key features of onnx-asr include:
[!NOTE] Supports Parakeet v2 (En) / v3 (Multilingual), Canary v1/v2 (Multilingual), GigaAM v2/v3 (Ru), and GigaAM Multilingual models!
[!TIP] Try the onnx-asr demo on Hugging Face Spaces:
Install onnx-asr:
pip install onnx-asr[cpu,hub]
Load a model and recognize a WAV file:
import onnx_asr
# Load the Parakeet TDT v3 model from Hugging Face (may take a few minutes)
model = onnx_asr.load_model("nemo-parakeet-tdt-0.6b-v3")
# Recognize speech and print the result
result = model.recognize("test.wav")
print(result)
[!WARNING] The maximum audio length for most models is 20–30 seconds. For longer audio, use VAD.
For more examples, see the Usage Guide.
See the Installation Guide for detailed installation instructions.
The package supports the following modern ASR model architectures. See supported model names for a complete list and the model comparison for comparisons with the original implementations.
When these models are saved in ONNX format, typically only the encoder and decoder are included. Running them requires the corresponding preprocessing and decoding implementations. This package provides both for all supported models:
The Hugging Face community publishes additional onnx-asr-compatible language fine-tunes and optimized exports. See the curated community models or browse all models tagged onnx-asr. Community models are maintained by their publishers and may not be tested by this project.
Inverse Real-Time Factor (RTFx) is the ratio of audio duration to processing time. An RTFx greater than 1 indicates faster-than-real-time processing; higher values indicate better performance.
| Model | 9800X3D CPU (RTFx) | Cortex A53 CPU (RTFx) | T4 CUDA (RTFx) | RTX 5070 Ti TensorRT (RTFx) |
|---|---|---|---|---|
| NeMo Parakeet v2/v3 | 36 | 1.0 | 57 | 320 |
| NeMo Canary v2 | 8 | N/A | 21 | 36 |
| GigaAM v3 CTC | 59 | 1.6 | 84 | 1370 |
| GigaAM v3 RNN-T | 43 | 1.5 | 40 | 130 |
See the Benchmarks page for detailed performance benchmarks.
See the Troubleshooting Guide for common issues and solutions.
For more help, check the GitHub Issues or open a new one.
Python
99.8%
A lightweight Python package for Automatic Speech Recognition using ONNX models
376
stars
231
commits
Python
primary language
Aug 16, 2026
updated
onnx-asr is a Python package for Automatic Speech Recognition using ONNX models. It's a lightweight, fast, and easy-to-use pure Python package with minimal dependencies (no need for PyTorch, Transformers, or FFmpeg):
Key features of onnx-asr include:
[!NOTE] Supports Parakeet v2 (En) / v3 (Multilingual), Canary v1/v2 (Multilingual), GigaAM v2/v3 (Ru), and GigaAM Multilingual models!
[!TIP] Try the onnx-asr demo on Hugging Face Spaces:
Install onnx-asr:
pip install onnx-asr[cpu,hub]
Load a model and recognize a WAV file:
import onnx_asr
# Load the Parakeet TDT v3 model from Hugging Face (may take a few minutes)
model = onnx_asr.load_model("nemo-parakeet-tdt-0.6b-v3")
# Recognize speech and print the result
result = model.recognize("test.wav")
print(result)
[!WARNING] The maximum audio length for most models is 20–30 seconds. For longer audio, use VAD.
For more examples, see the Usage Guide.
See the Installation Guide for detailed installation instructions.
The package supports the following modern ASR model architectures. See supported model names for a complete list and the model comparison for comparisons with the original implementations.
When these models are saved in ONNX format, typically only the encoder and decoder are included. Running them requires the corresponding preprocessing and decoding implementations. This package provides both for all supported models:
The Hugging Face community publishes additional onnx-asr-compatible language fine-tunes and optimized exports. See the curated community models or browse all models tagged onnx-asr. Community models are maintained by their publishers and may not be tested by this project.
Inverse Real-Time Factor (RTFx) is the ratio of audio duration to processing time. An RTFx greater than 1 indicates faster-than-real-time processing; higher values indicate better performance.
| Model | 9800X3D CPU (RTFx) | Cortex A53 CPU (RTFx) | T4 CUDA (RTFx) | RTX 5070 Ti TensorRT (RTFx) |
|---|---|---|---|---|
| NeMo Parakeet v2/v3 | 36 | 1.0 | 57 | 320 |
| NeMo Canary v2 | 8 | N/A | 21 | 36 |
| GigaAM v3 CTC | 59 | 1.6 | 84 | 1370 |
| GigaAM v3 RNN-T | 43 | 1.5 | 40 | 130 |
See the Benchmarks page for detailed performance benchmarks.
See the Troubleshooting Guide for common issues and solutions.
For more help, check the GitHub Issues or open a new one.
Python
99.8%