Downloads · 30 days
165
5% of all-time downloads
animaslabs/nemotron-speech-streaming-en-0.6b-mlx-8bit
nemotron-speech-streaming-en-0.6b-mlx-8bit is a automatic speech recognition model from animaslabs. Use it when you need speech turned into text. It is set up for mlx. The card lists the license as other.
8-bit quantized MLX conversion of nvidia/nemotron-speech-streaming-en-0.6b. See the original model card for training data, evaluation and intended use.
Downloads · 30 days
165
5% of all-time downloads
All-time downloads
3.3K
Public
Parameters
618M
3.1 GB on disk
Likes
3
Public
Click a slice to open those files.
.safetensors886 MB · 100%
How the weights are stored.
U32535M · 87%
From the Hugging Face model README
8-bit quantized MLX conversion of nvidia/nemotron-speech-streaming-en-0.6b. See the original model card for training data, evaluation and intended use.
Variants: nemotron-speech-streaming-en-0.6b-mlx · nemotron-speech-streaming-en-0.6b-mlx-8bit · nemotron-speech-streaming-en-0.6b-mlx-4bit
| Runtime | Works | Notes |
|---|---|---|
| parakeet-mlx (0.5.3) | ❌ | Cache-aware streaming models aren't supported |
| mlx-audio (0.5.9) | ✅ | |
| mlx-voice-rs (8a5b440) | ✅ |
Last checked 2026-10-14 by transcribing a sample recording in each runtime.
# pip install -U mlx-audio
from mlx_audio.stt import load
model = load("animaslabs/nemotron-speech-streaming-en-0.6b-mlx-8bit")
print(model.generate("audio.wav").text)
cargo add mlx-voice
hf download animaslabs/nemotron-speech-streaming-en-0.6b-mlx-8bit --local-dir nemotron-speech-streaming-en-0.6b-mlx-8bit
use mlx_voice::asr::CacheAwareRNNTPipeline;
use mlx_voice::audio::load_wav;
fn main() -> mlx_voice::Result<()> {
// Mode 0 is the lowest-latency streaming mode
let mut pipeline = CacheAwareRNNTPipeline::restore_from_directory("nemotron-speech-streaming-en-0.6b-mlx-8bit", 0)?;
let (samples, _sample_rate) = load_wav("audio.wav")?; // 16 kHz mono
// Feed audio in 100 ms chunks, as it would arrive from a microphone
let chunks: Vec<&[f32]> = samples.chunks(1600).collect();
for (i, chunk) in chunks.iter().enumerate() {
pipeline.add_audio(chunk);
if i == chunks.len() - 1 {
pipeline.end_stream();
}
while let Some(output) = pipeline.transcribe_step()? {
if output.is_final {
println!("{}", output.text);
}
}
}
Ok(())
}
model.safetensors: MLX-layout weights. Linear and embedding layers are 8-bit affine quantized with group size 64; the rest stays in floating point. LSTM weight matrices are float16.config.json: The model config in mlx-audio's nemotron_asr layout, plus a quantization block.model_config.yaml: The original NeMo config from the .nemo archive. mlx-voice-rs reads this one.tokenizer.model: SentencePiece tokenizer.tokenizer.vocab: SentencePiece vocabulary.vocab.txt: Token list.Converted from nvidia/nemotron-speech-streaming-en-0.6b at revision ebe59e5a81 (.nemo sha256 283638054c44…) using animaslabs/mlx-models.