Downloads · 30 days
7
32% of all-time downloads
Rekody/rekody-streaming-en-0.6b-160ms-int8
rekody-streaming-en-0.6b-160ms-int8 is a automatic speech recognition model from Rekody. Use it when you need speech turned into text. The card lists the license as other.
An int8 ONNX conversion of NVIDIA's Nemotron speech streaming 0.6B model (the March 2026 checkpoint), exported at the 160 ms cache-aware latency profile and packaged for on-device streaming dictation. This is the mode…
Downloads · 30 days
7
32% of all-time downloads
All-time downloads
22
Public
Repo size
892 MB
Likes
0
Public
Click a slice to open those files.
.onnx892 MB · 100%
From the Hugging Face model README
An int8 ONNX conversion of NVIDIA's Nemotron speech streaming 0.6B model (the March 2026 checkpoint), exported at the 160 ms cache-aware latency profile and packaged for on-device streaming dictation. This is the model behind Rekody, the private, local-first voice dictation tool for macOS.
encoder.onnx (int8, 880 MB), decoder_joint.onnx (int8,
11 MB), tokenizer.model (SentencePiece), and config.json.The checkpoint supports several cache-aware right-context settings. The attention right context R fixes how many encoder frames are produced per call, and each frame is 80 ms:
| Profile | R | Encoder frames per chunk | Chunk |
|---|---|---|---|
[70,0] | 0 | 1 | 80 ms |
[70,1] (this repo) | 1 | 2 | 160 ms |
[70,6] (the 560 ms repo) | 6 | 7 | 560 ms |
[70,13] | 13 | 14 | 1120 ms |
The profile is baked into the exported graph, so this artifact is not a drop-in replacement for the 560 ms one. Feeding this encoder a 560 ms chunk (65 mel frames) returns only the first 2 output frames and silently discards five sevenths of the audio — no error is raised. That is why the two profiles live in separate repositories rather than as revisions of one: a consumer pinned to the 560 ms bytes keeps getting exactly those bytes.
Consumers that read the profile from the file do the right thing
automatically. The encoder's ONNX metadata_props carry:
| Key | Value |
|---|---|
chunk_size_output_frames | 2 |
pre_encode_cache | 9 |
These are the key names and decimal-string format that
parakeet-rs >= 0.3.7 reads from the encoder session, defaulting to 7 and
9 when absent. Mel frames per encoder call is
chunk_size_output_frames * 8 + pre_encode_cache = 25, i.e. 2560 audio
samples of new audio per chunk at 16 kHz.
NVIDIA publishes word error rate by chunk size for this checkpoint across the eight Open ASR Leaderboard sets. Reproduced here from the base model card as upstream data, not as a Rekody measurement:
| Chunk | R | Average | AMI | Earnings22 | Gigaspeech | LS-clean | LS-other | SPGI | TEDLIUM | VoxPopuli |
|---|---|---|---|---|---|---|---|---|---|---|
| 0.56 s | 6 | 7.07 | 11.88 | 12.82 | 9.78 | 2.46 | 5.07 | 3.03 | 3.54 | 8.00 |
| 0.16 s | 1 | 7.67 | 14.71 | 13.01 | 10.34 | 2.56 | 5.57 | 3.25 | 3.77 | 8.18 |
The +0.60 pp average gap is not evenly spread: AMI alone contributes +2.83 pp of it. Excluding AMI, the far-field multi-party meeting set, the mean of the remaining seven moves from 6.39% to 6.67%, a +0.28 pp difference. For near-field single-speaker dictation, which is what this artifact is packaged for, the relevant number is the smaller one.
Rekody has not re-run the Open ASR Leaderboard at this profile, so no Rekody-measured leaderboard table is published here. The 560 ms repository's table should not be read as applying to this artifact.
--right-context
as the only changed input: the same pinned checkpoint revision, the same
NeMo 2.7.3 export script, and the same onnxruntime 1.23.2
quantize_dynamic QInt8 call over MatMul and LSTM ops.decoder_joint.onnx came out bit-identical to the 560 ms repository's
(89cae615… before metadata stamping). The RNN-T decoder does not depend on
the encoder's latency profile, so it must not change — and it did not, which
is a direct check that the pipeline reproduced the earlier conversion.tokenizer.model is byte-identical to the 560 ms repository's.MatMulInteger, 170 DynamicQuantizeLinear, 0 ConvInteger, 77 float
Conv in the encoder; 2 DynamicQuantizeLSTM and 3 MatMulInteger in the
decoder, with the embedding table left fp32.Two licenses apply to this repository, and users must comply with both:
LICENSE). PolyForm Shield is a noncompete license: any use is
permitted except providing a product that competes with the software or
with the licensor's products built on it.NOTICE and the dated copy in licenses/).| File | SHA-256 |
|---|---|
encoder.onnx | 5a8f5c01d7804346e3e79d539bde6011907961192c578441d7b2eb725f82220c |
decoder_joint.onnx | 6fa6b88cd439b0281b1b9361c5789d51c851fe202c43bb2fdccabb87186a9630 |
tokenizer.model | 07d4e5a63840a53ab2d4d106d2874768143fb3fbdd47938b3910d2da05bfb0a9 |
config.json | af9bf85d1b620ee83147149120e02dd5b7b57f2c2a845be05c61b707e0f98802 |
These hashes are also published in SHA256SUMS.
df1f0fe9dfdf05152936192b4c8c7653d53bf557 (the March 13, 2026
checkpoint).att_context_size = [70, 1],
then onnxruntime 1.23.2 quantize_dynamic QInt8 over MatMul and LSTM ops,
then the streaming profile stamped into the encoder's ONNX metadata.Contact: [email protected]