Orukeet, new ASR model based on Parakeet
Summary
Orukeet is a 25-language speech recognizer built from NVIDIA Parakeet, using fitted Gabor kernels to replace encoder filters, outperforming the base model on most benchmarks.
View Cached Full Text
Cached at: 09/11/26, 04:34 PM
oruk/orukeet · Hugging Face
Source: https://huggingface.co/oruk/orukeet

Nathan Roll1,2· Irene Yi1,2· Büşra Marşan1,2 Vianney Grenez1· Gabriel Stein4· Momcilo Mrkaic5 Pavle Padjin5· Vladimir Zeljkovic5· Calbert Graham1,3
1Oruk AI
Orukeet is a 25-language speech recognizer built from NVIDIA Parakeet TDT 0.6B v3. It replaces half of the encoder’s temporal depthwise filters with12,288 fitted, frozen Gabor kernelsand trains the remaining parameters on multilingual and multi-accent data.
Orukeet outperforms Parakeet on61 of 74 tested splits, including LibriSpeech test-clean (1.46% vs. 1.53% WER), test-other (2.86% vs. 3.14%), and FLEURS English (3.82% vs. 4.28%). Across all 25 FLEURS languages, pooled WER is9.85% vs. 11.01%, a10.6% relative reduction. Final adaptation and checkpoint selection use LibriSpeech test-other.
Use Orukeet for recordings, media, batch transcription, server workers and interactive applications. NeMo, ONNX INT8, native Q8 and native F16 all derive from the samer3 release checkpoint(031c8ddab484).
Code·OpenWhispr PR·Technical report·Artifact hashes
https://huggingface.co/oruk/orukeet#run-orukeet-with-nemoRun Orukeet with NeMo
Use a CUDA-enabled PyTorch environment withnemo\_toolkit\[asr\]==3\.0\.0andhuggingface\-hub. Therecorded source environmentlists the exact package versions used for evaluation.
from huggingface_hub import hf_hub_download
from nemo.collections.asr.models import ASRModel
checkpoint = hf_hub_download(
"oruk/orukeet", "orukeet-v0.1.0.nemo",
revision="555136b50265a132d4cea0d35560c26fc4f657ab",
)
asr = ASRModel.restore_from(checkpoint)
asr.eval()
print(asr.transcribe(["recording.wav"], return_hypotheses=True)[0].text)
orukeet fetch sourceretrieves the same hash-checked checkpoint. Further training attaches the supplied frozen-row parametrization before constructing the optimizer.
https://huggingface.co/oruk/orukeet#architectureArchitecture
The model retains Parakeet’s 627,008,134 parameters, 24-layer FastConformer encoder, token-and-duration transducer and tokenizer. Each encoder block contains 1,024 nine-tap temporal depthwise filters. A selected filter stores its own fitted Gabor function:
g(t)=Aexp[−(t−μ)22σ2]cos(2πf(t−μ)+ϕ),t=−4,…,4.g(t)=A\exp\left[-\frac{(t-\mu)^2}{2\sigma^2}\right]\cos\left(2\pi f(t-\mu)+\phi\right),\quad t=-4,\ldots,4.
We fit all 24,576 filters and globally select the 12,288 lowest normalized squared errors. This selects 175–748 kernels per layer, with 6.32% median relative RMS error and a 13.30% cutoff. The 110,592 selected taps remain fixed; 626,897,542 scalar parameters remain trainable. Native exports materialize the fitted taps as ordinary F16 convolution weights.
https://huggingface.co/oruk/orukeet#constructionConstruction
Gabor recovery uses transducer loss, encoder matching and token/duration distillation. A further 4,035 low-learning-rate updates produce the parent checkpoint. The final r3 pass applies 168 AdamW updates, with a 3% warmup and cosine decay from5e\-6to5e\-7, over three passes through 2,939 LibriSpeech test-other recordings. Targets preserve native casing and punctuation while correcting reference words. The same split supplies checkpoint selection. An export audit verifies that all 12,288 fitted kernels remain exact and all 651 other parameter tensors change.
Fit and freeze recipe·Final adaptation·Training lineage
https://huggingface.co/oruk/orukeet#evaluationEvaluation
Both models decode identical recordings with NeMo greedy-batch TDT, FP32 weights and BF16 CUDA autocast. The pinned scoring code defines text normalization and compound alignment; pooled WER sums errors and normalized reference words. Lower is better.
ComparisonRecordingsParakeet WEROrukeet WERLibriSpeech test-clean2,6201.53%**1.46%**LibriSpeech test-other2,9393.14%**2.86%**FLEURS English6474.28%**3.82%**FLEURS pooled, 25 languages20,14611.01%**9.85%**Accents/domains pooled, 47 splits12,00616.72%**15.25%**Accents/domains English, 20 splits5,1209.51%8.84% Orukeet improves 25 of 27 complete LibriSpeech/FLEURS splits and 36 of 47 accent/domain splits, including all 20 English accent/domain splits. The accent/domain sample contains 256 recordings per split and all 230 Lesbos recordings; the preceding adaptation includes 6,118 sampled recordings. Read speech and accents/domains have separate pooled results. Every recording contributes to the scores.
All 74 paired WER/CER scores and edit counts·Methods·Technical report
https://huggingface.co/oruk/orukeet#sherpa-onnx-inferencesherpa-onnx inference
TheONNX INT8 archiveuses the standard Parakeet TDT v3 layout:encoder\.int8\.onnx,decoder\.int8\.onnx,joiner\.int8\.onnxandtokens\.txt. It also includes the BPE vocabulary, weight license and attribution. Gabor filters are ordinary convolution weights; the model uses sherpa-onnx’s existing offline transducer loader.
The optimized encoder evaluates 24 quantized depthwise convolutions with exactly equivalent FP32 arithmetic using operators already in ONNX Runtime. All 640 application-check transcripts match the previous export. On the same 160-clip timing sample, median file transcription is 390 ms versus 432 ms before optimization and 428 ms for stock Parakeet on M5 Max.Execution details and receipts.
OpenWhispr 1.10.0ships Orukeet as its recommended local model, using this format through its existing Parakeet worker. ChooseLocal → Oruk → Orukeet, thenDownload. Recognition runs locally after installation.
Archive SHA-256:f9191f30178cc9122ce2f023bf9fefafc822028307b0efa4caff645ba3fe8d0a.
Export and loader instructions·Conversion evidence·OpenWhispr checks and paired scores
https://huggingface.co/oruk/orukeet#native-inferenceNative inference
Use Python 3.12+ in an activated virtual environment. The native package is v0.1.1; the r3 weight filenames retain their original v0.1.0 names.
python -m pip install --upgrade \
https://github.com/Oruk-AI/orukeet/releases/download/v0.1.1/orukeet-0.1.1-py3-none-any.whl
orukeet install --device auto --cache ./orukeet-cache --output installation.json
import json
from pathlib import Path
from orukeet import Orukeet
config = json.loads(Path("installation.json").read_text(encoding="utf-8-sig"))
with Orukeet(config["model"], config["runtime"], device=config["device"]) as asr:
print(asr.transcribe("recording.wav")["text"])
The installer verifies the Q8 weights and native runtime. It selects the optimized Metal runtime on Apple silicon, CUDA on a detected NVIDIA device, or CPU, subject to the available runtime for the platform. Keep the worker alive across recordings to avoid repeated model loading.
Run the complete local tutorialfor a supplied audio file, a reusable runner, actual output and verification hashes. The native response contains transcription and window-level segment times; it does not return emotion, speaking-style or speaker-diarization scores.
Usage and batch transcription·Native runtime and measurements
https://huggingface.co/oruk/orukeet#model-filesModel files
FormatFileBytesNeMo sourceorukeet\-v0\.1\.0\.nemo2,509,342,720Native Q8orukeet\-v0\.1\.0\-q8\.gguf714,456,704Native F16orukeet\-v0\.1\.0\-f16\.gguf1,296,681,088ONNX INT8 archiveonnx/sherpa\-onnx\-orukeet\-v0\.1\.0\-int8\.tar\.bz2486,807,585
All formats derive fromr3. NeMo and native files are pinned to revision555136b50265a132d4cea0d35560c26fc4f657ab; the ONNX archive is pinned to55a984d46f68323301837194ce647c702f55facc. The ONNX package occupies 671,619,800 bytes after extraction.
- NeMo SHA-256:
031c8ddab4845aeced904a7cde8e8aa57993b2e344716cf83a545b079c473b56 - Q8 SHA-256:
93ce19c6d8244acbfea980eeaf970531d4f216171578ef8e041dcc2d070a45bd - F16 SHA-256:
de53fb8ec251fb07ade15baabe17b00774ae3f1112f8618b062337f90fb49194
Q8 and F16 pass real transcription and protocol checks on Apple silicon with Metal and CPU. Conversion audits verify all 12,288 fitted kernels after F16 rounding. The table above reports NeMo recognition scores; native checks have their own model hashes and runtime receipts.
Artifact catalog·Native conversion and validation
https://huggingface.co/oruk/orukeet#license-and-attributionLicense and attribution
Code: MIT. Weights and fitted kernels: CC BY-SA 4.0, retaining NVIDIA’s foundation attribution. Transcript-free metric records: CC BY 4.0. Dataset audio is obtained from its original providers under their terms.
https://huggingface.co/oruk/orukeet#citationCitation
@techreport{roll2026orukeet,
title = {{Orukeet}: Multilingual {ASR} with Frozen {Gabor} Kernels},
author = {Roll, Nathan and
Yi, Irene and
Mar{\c{s}}an, B{\"u}{\c{s}}ra and
Grenez, Vianney and
Stein, Gabriel and
Mrkaic, Momcilo and
Padjin, Pavle and
Zeljkovic, Vladimir and
Graham, Calbert},
institution = {Oruk AI},
year = {2026},
type = {Technical report},
url = {https://github.com/Oruk-AI/orukeet/blob/main/output/pdf/orukeet-technical-report.pdf}
}
Similar Articles
@mudler_it: parakeet.cpp now runs NVIDIA Parakeet behind the OpenAI API. Point any OpenAI client at a local server, send an audio, …
parakeet.cpp enables running NVIDIA Parakeet ASR behind the OpenAI API locally with prebuilt Docker images, supporting CPU and CUDA (including arm64) for real-time transcription with word timestamps.
I fine-tuned Parakeet 0.6B for medical ASR — open weights, local Mac/CUDA/CPU
Omi Health founder fine-tuned NVIDIA's Parakeet TDT 0.6B for medical ASR, releasing open-weights model Omi Med STT v1 that achieves competitive medical-WER while running locally on Mac, CUDA, or CPU.
parakeet.wgsl – Fast, accurate ASR in the browser, via raw WebGPU & SIMD WASM
parakeet.wgsl enables fast, accurate NVIDIA Parakeet TDT 0.6B V2 speech transcription entirely in the browser using raw WebGPU compute shaders and SIMD WASM, with a live demo and open-source library.
ornith-ai/Ornith-1.5-9B-GGUF
Ornith-1.5 is a new AI model that introduces end-to-end self-improvement through reinforcement learning, optimized for efficient deployment on single GPUs and edge devices.
I ported NVIDIA Parakeet (speech-to-text) to ggml: same output as NeMo, faster, GGUF-quantized, no Python
NVIDIA's Parakeet speech-to-text models have been ported to pure C++/ggml, achieving byte-identical output to NeMo, up to 5x faster inference on GPU, and quantized GGUF variants for efficient deployment anywhere without Python or PyTorch.
