mlboydaisuke/Parakeet-TDT-0.6B-v3-LiteRT
parakeet-tdt-0.6b-v3 — LiteRT, 30-second window
parakeet_tdt_0.6b_v3_30s_i8_stateful.tflite is nvidia/parakeet-tdt-0.6b-v3 exported with the litert-samples recipe, the same recipe and quantization (dynamic-range int8) as the 5 s file in litert-community/parakeet-tdt-0.6b-v3, with a 30 s input window instead of 5 s.
python compiled_model_api/speech_recognition/convert/convert_to_tflite.py \
--model nvidia/parakeet-tdt-0.6b-v3 --input_sec 30 --stateful_after 4 --quant drq \
--sample_audio <wav> --output parakeet_tdt_0.6b_v3_30s_i8_stateful.tflitelitert-samples convert_to_tflite.py at efca5805 (2026-05-15), litert-torch 0.9.4, NeMo 3.0.0. 630 MB, sha256 378935f8897f0c713ad2aa97d939c73c44e9f26546e12c1cd6af9c76f386f06a.
Why a 30 s window
LiteRT-LM's omni/asr engine cuts an utterance into standalone windows of the export's length and decodes each window on its own. On standalone 5 s windows that start mid-utterance, the original model returns no text for 37 % of them (267 of 724 on LibriSpeech test-clean, measured through NeMo in fp32), so the 5 s file loses text on every utterance longer than one window. With a 30 s window, a LibriSpeech utterance is one window.
Numbers
LibriSpeech through LiteRT-LM omni/asr (main@66058c82 plus the patches below), CPU, Open ASR Leaderboard scoring (Whisper normalizer, corpus WER):
Without the decode stop, a short clip is decoded over up to 28 s of zero-padded frames and the TDT decoder adds text there. What remains at 2.17 / 5.35 is clips under 5 s on test-other (10.2 %, 44 of 1419 empty), the model's own behaviour on short standalone input. Every utterance pays a 30 s encoder pass: RTFx 17–19 on an M4 Max (CPU, 4 threads) against 34 for the 5 s file.
Running it through LiteRT-LM
Three patches to LiteRT-LM main@66058c82, in edge-llm-bench/tools/omni-eval/patches (on macOS also 04, the build fix):
01-mel-slaney-power.patch: a librosa-compatible Slaney/power mel filterbank behindmelScale/melPowermetadata keys.03-model-metadata.patch: aparakeet-tdt-0.6b-v3-30sentry inomni/asr/model_metadata.json(inputMilliseconds: 30000,logMelSpectro.nFrames: 3000, this file's URL).06-valid-length-decode-stop-and-cap.patch:TdtDecoderstops at the last encoder frame that carries audio, with NeMo's cap of 10 symbols per step.
The harness, the per-utterance outputs and the notes: NOTES.md.
Signatures
Tokenizer: tokenizer.json from the source repo, as the engine's tokenizerUrl.
License
CC-BY-4.0, as the source model. The recipe is litert-samples (Apache-2.0).
