scriptrs models

Model files for scriptrs, a Rust library for fast NVIDIA Parakeet TDT v2 and v3 speech-to-text on Core ML (macOS) and native CUDA (Linux), at the same word error rate as NVIDIA's reference implementation. With the default online feature, scriptrs downloads these files on first use from a pinned revision of this repository.

These are format conversions of NVIDIA's models, not new or retrained models. The native CUDA weights are NVIDIA's FP32 weights with their original names; scriptrs converts selected layers to FP16 on the GPU at load time.

Same accuracy, faster

scriptrs runs NVIDIA's weights unchanged and gets the same word error rate as NVIDIA's own NeMo implementation, at 3x its speed. All results are Parakeet v3 on an RTX 5090.

LibriSpeech test-clean, English (5.4 h), one utterance at a time:

Speed (x real time) vs NeMo WER
scriptrs CUDA 1534x 3.2x 1.93 %
NVIDIA NeMo (PyTorch) 477x 1x 1.93 %
parakeet-rs 0.4.3 (ONNX Runtime) 253x 0.53x 1.93 %

Multilingual

The multilingual check is nearly 6 times the size of LibriSpeech: 31.6 h over ten language sets in six languages, one utterance at a time with automatic language selection. In scriptrs's parity tests, its FP32 mode matches NeMo layer by layer and gives NeMo's exact text. The FP16 default scores the same as FP32:

Set Speed, FP16 default WER, FP16 default WER, FP32
FLEURS de, es, fr, it, nl, pt (15.8 h) 1839x 4.57 % 4.57 %
MLS es, fr, it, pt (15.8 h) 1921x 6.25 % 6.26 %

Batches and long recordings

Workload Speed (x real time) WER
LibriSpeech test-clean, batches of 16 4767x 1.93 %, unchanged
Earnings-21, 44 calls (39 h), long-form 3633x 8.24 %

On Earnings-21, NeMo transcribing each whole call with local attention scores 9.58 %.

Against Whisper large-v3

On harder English audio, long-form with the defaults and English selected has a lower WER than Whisper large-v3 (run through WhisperX 3.8.6 in float16) on every set, and runs 10x to 14x as fast:

Set Recordings Hours scriptrs WER Whisper WER scriptrs speed Whisper speed vs Whisper
Earnings-21 earnings calls 44 39.3 8.2 % 9.7 % 2458x 186x 13.2x
AMI meetings, headset mix 34 18.7 21.5 % 23.8 % 2420x 182x 13.3x
AMI meetings, far-field microphone 34 18.7 23.2 % 28.3 % 2414x 199x 12.1x
EdAcc accented conversations 40 18.2 16.0 % 19.2 % 2433x 201x 12.1x
CHiME-6 dinner parties 4 9.7 44.0 % 44.7 % 2438x 176x 13.8x
AppTek call-center calls, 14 accents 56 9.4 11.2 % 12.6 % 2220x 224x 9.9x
Mean over sets 212 114 20.7 % 23.1 % 2417x 191x 12.6x

WER is pooled over each set's recordings, both sides through Whisper's English normalizer. Speed is x real time for transcription alone on one RTX 5090, with models loaded and audio in memory; WhisperX runs its VAD with batch size 16. The last row's speed is over all 114 hours.

More results are in the scriptrs README.

Usage

# macOS, Core ML
scriptrs = "0.3"

# Linux, NVIDIA GPU
scriptrs = { version = "0.3", features = ["cuda"] }
use scriptrs::{ModelBundle, ParakeetDeployment, TranscriptionPipeline};

// Core ML on macOS
let pipeline = TranscriptionPipeline::from_pretrained()?;

// native CUDA on Linux
let bundle = ModelBundle::from_pretrained_native(ParakeetDeployment::v3())?;
let pipeline = TranscriptionPipeline::from_bundle(bundle)?;

let result = pipeline.run(&audio)?; // mono 16 kHz f32 samples

For offline setups, download this repository and set SCRIPTRS_MODELS_DIR to its local path.

Contents

Path Runtime Source
parakeet-v2/encoder.mlmodelc, decoder.mlmodelc, joint-decision.mlmodelc Core ML nvidia/parakeet-tdt-0.6b-v2
parakeet-v3/encoder.mlmodelc, decoder.mlmodelc, joint-decision.mlmodelc Core ML nvidia/parakeet-tdt-0.6b-v3, via FluidInference/parakeet-tdt-0.6b-v3-coreml
parakeet-v2/model.safetensors CUDA nvidia/parakeet-tdt-0.6b-v2, exported from the NeMo checkpoint
parakeet-v3/model.safetensors CUDA nvidia/parakeet-tdt-0.6b-v3, exported from the NeMo checkpoint
parakeet-v2/vocab.txt, parakeet-v3/parakeet_vocab.json both NVIDIA tokenizers
vad/silero-vad.mlmodelc Core ML Silero VAD 5.1.2, via aufklarer/Silero-VAD-v5-CoreML
vad/silero-vad-v6.mlmodelc Core ML Silero VAD 6.2.3, via aufklarer/Silero-VAD-v6.2.1-CoreML, which has the same weights
vad/silero-vad-v5.safetensors CUDA Silero VAD 5.1.2, 16 kHz branch

The native CUDA files also live in model-named repositories, which scriptrs 0.3.1 and later download from: avencera/parakeet-tdt-0.6b-v2-cuda, avencera/parakeet-tdt-0.6b-v3-cuda and avencera/silero-vad-v5-safetensors, and from scriptrs 0.5.0 also avencera/silero-vad-v6-safetensors. The copies here serve scriptrs 0.3.0.

The native weight files record their source and its SHA-256 in the safetensors metadata. PROVENANCE.json and PROVENANCE-native.json list sources, revisions and checksums.

License

The Parakeet files are derived from NVIDIA Parakeet TDT 0.6B v2 and v3, licensed under CC BY 4.0. Credit: NVIDIA. Changes: converted to Core ML and to a safetensors layout for scriptrs. The Silero VAD files are derived from Silero VAD, licensed under the MIT License. See LICENSE.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for avencera/scriptrs-models

Quantized
(43)
this model