Automatic Speech Recognition
NeMo
ONNX
GGUF
parakeet
tdt
sherpa-onnx
multilingual
speech-recognition
gabor
fastconformer
Instructions to use aoiandroid/orukeet with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use aoiandroid/orukeet with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("aoiandroid/orukeet") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
| # Orukeet for transcribe.cpp | |
| This Q8_0 export uses transcribe.cpp's existing Parakeet TDT v3 implementation. The 12,288 fitted Gabor kernels are materialized as ordinary convolution weights. There are no additional runtime operators or dependencies. | |
| - File: `orukeet-transcribe-cpp-Q8_0.gguf` (739,508,608 bytes) | |
| - SHA-256: `cad2f52ac91cad829279422301989687c2cf02e19157352ed25ea501b90dbb7e` | |
| - Source: Orukeet r3, SHA-256 `031c8ddab4845aeced904a7cde8e8aa57993b2e344716cf83a545b079c473b56` | |
| - Weights: [CC BY-SA 4.0](../LICENSE-WEIGHTS). Orukeet is an adaptation of NVIDIA Parakeet TDT v3; retain [attribution](../NOTICE.md). | |
| The root-level filename follows Handy's existing cache and delete layout. The earlier `transcribe-cpp/orukeet-Q8_0.gguf` path remains available and contains identical bytes. | |
| ## Run | |
| Build [transcribe.cpp](https://github.com/cjpais/transcribe.cpp/tree/585b98f7e66777d16f2da734ceedaa7398060fa7) normally, then run: | |
| ```sh | |
| ./build/bin/transcribe-cli --model orukeet-transcribe-cpp-Q8_0.gguf recording.wav | |
| ``` | |
| Use 16 kHz mono audio. This is offline transcription in 25 languages, with language detection and token timestamps. Translation and streaming recognition are not supported. Use this layout with transcribe.cpp; the root-level `orukeet-v0.1.0-q8.gguf` is for NeMo-Speech.cpp. | |
| ## Reproduce the export | |
| At the converter commit in [manifest.json](manifest.json), apply [convert-orukeet.patch](convert-orukeet.patch), then: | |
| ```sh | |
| uv run --no-project --python 3.11 --with torch --with omegaconf --with sentencepiece --with gguf scripts/convert-parakeet.py orukeet-v0.1.0.nemo orukeet-F32.gguf --repo-id oruk/orukeet | |
| ./build/bin/transcribe-quantize orukeet-F32.gguf orukeet-Q8_0.gguf --quant Q8_0 | |
| ``` | |
| ## Validation | |
| The exact transcribe-cpp 0.2.0 Rust dependency pinned by Handy loads and transcribes this file on CPU and Apple Metal. Each device passed 120 multilingual clips, repeated decoding, 0.1/1/5-second silence, cancellation, and successful session reuse after cancellation. The supporting C++ build passed all 38 tests. | |
| On the fixed six-language FLEURS validation sample (120 clips, 2,433 reference words), Q8 Metal and the NeMo FP32 source both score **5.34% pooled WER**; Q8 CPU scores **5.30%**. Metal matches the source text exactly on 108 clips and after word normalization on 112. The NeMo reference uses transcribe.cpp's pinned NeMo 2.8.0rc0 environment. [All paired language scores and edit counts](validation.json). | |
| | Q8 Metal WER | Parakeet TDT v3 | Orukeet | | |
| | --- | ---: | ---: | | |
| | English | 4.19% | 3.40% | | |
| | German | 3.56% | 4.07% | | |
| | Spanish | 3.41% | 3.01% | | |
| | French | 4.07% | 4.50% | | |
| | Russian | 7.77% | 7.51% | | |
| | Ukrainian | 9.40% | 11.60% | | |
| | Pooled | 5.14% | 5.34% | | |
| Standard source/export tensor comparisons pass the existing upstream Parakeet tolerances and the JFK reference transcript matches exactly. Four additional sub-block probes exceed generic strict tolerances, with the largest differences at sequence boundaries. The runtime and NeMo use different valid-length padding paths; no runtime code or numerical tolerance was changed for this export. | |
| These are integration checks for this export and runtime, separate from the report's NeMo benchmark. No Windows/Vulkan or comparative speed claim is made here. | |