Automatic Speech Recognition
NeMo
ONNX
Safetensors
GGUF
parakeet_tdt
parakeet
tdt
sherpa-onnx
multilingual
speech-recognition
gabor
fastconformer
Instructions to use oruk/orukeet with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use oruk/orukeet with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("oruk/orukeet") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
| # Transformers FP32 export | |
| This export uses the standard `ParakeetForTDT` implementation in Transformers | |
| 5.15.1. No custom model code or `trust_remote_code` is required. Root-level | |
| configuration, processor and safetensors files let applications such as Buzz load | |
| `oruk/orukeet` through their existing Hugging Face/Parakeet backend. | |
| ```sh | |
| pip install 'torch==2.8.0' 'torchaudio==2.8.0' 'transformers==5.15.1' soundfile | |
| ``` | |
| ```python | |
| import soundfile as sf | |
| from transformers import AutoModelForTDT, AutoProcessor, pipeline | |
| model = AutoModelForTDT.from_pretrained("oruk/orukeet", dtype="float32") | |
| processor = AutoProcessor.from_pretrained("oruk/orukeet") | |
| asr = pipeline( | |
| "automatic-speech-recognition", model=model, device="cpu", | |
| tokenizer=processor.tokenizer, feature_extractor=processor.feature_extractor, | |
| ) | |
| audio, sample_rate = sf.read("speech.wav", dtype="float32") | |
| assert sample_rate == 16000 and audio.ndim == 1 | |
| print(asr(audio)["text"]) | |
| ``` | |
| Use 16 kHz mono audio. The model detects language automatically and does not | |
| provide translation, speaker labels or prompt-conditioned transcription. Buzz | |
| currently returns 30-second chunk boundaries, not aligned word timestamps. | |
| Downloading the required configuration uses Hugging Face's normal model download | |
| accounting. Cached local loading does not require an extra tracking request. | |
| ## Conversion | |
| The source is `orukeet-v0.1.0.nemo` at revision | |
| `555136b50265a132d4cea0d35560c26fc4f657ab`, SHA-256 | |
| `031c8ddab4845aeced904a7cde8e8aa57993b2e344716cf83a545b079c473b56`. | |
| All 723 mapped tensors load with `strict=True`: 627,008,134 parameters in FP32. | |
| The materialized Gabor filters are preserved as ordinary convolution weights. | |
| The bundled upstream converter comes from Transformers commit | |
| `6c6bac29f50c8aad5d1f06c72b2f892a6e335dd0`. The wrapper verifies the source hash, | |
| extracts it with the data safety filter, and requires exact state-dictionary and | |
| tokenizer compatibility before saving. Reproduce in Python 3.13: | |
| ```sh | |
| pip install 'torch==2.8.0' 'transformers==5.15.1' protobuf sentencepiece pyyaml | |
| python convert.py /path/to/output | |
| ``` | |
| Download both `convert.py` and `convert_nemo_to_hf.py` from this directory. | |
| [`manifest.json`](manifest.json) records every exported runtime file's hash and size. | |
| Weights remain CC BY-SA 4.0 with NVIDIA attribution; see the root `NOTICE.md` and | |
| `LICENSE-WEIGHTS`. The upstream converter is Apache-2.0; see `LICENSE-CONVERTER`. | |
| ## Qualification | |
| On Apple M5 Max CPU with PyTorch 2.8.0 and Transformers 5.15.1: | |
| - The actual Buzz transcription path passed English, German, Spanish and French | |
| repeated transcription, 0.1/1/5-second silence, a recording spanning two chunks, | |
| and local loading/inference with socket connections disabled. | |
| - A fixed 120-clip, six-language FLEURS validation compatibility sample produced | |
| the same normalized transcript as the recorded source-NeMo output for 117 clips. | |
| Pooled WER was **5.43% for this export versus 5.34% for source NeMo** using the | |
| same normalization: two additional word errors across 2,433 reference words. | |
| - The sample contained 1,257.82 seconds of audio and took 217.64 seconds of inference | |
| across eight CPU threads (about 0.17 real-time factor). Other work ran on the | |
| machine during this check; this is a runtime receipt, not a controlled speed | |
| comparison with Parakeet. | |
| This small compatibility sample is not a new held-out benchmark. The published | |
| 25-language NeMo results in the model card do not automatically transfer to this | |
| export. Per-language measurements and normalization are in | |
| [`qualification.json`](qualification.json). | |