CoolFace
Modelpublic

aufklarer/Nemotron-Speech-Streaming-0.6B-CoreML-INT8

sourceHugging Faceotherupdated 5mo agoView on Hugging Face
0likes18downloads
Model Card

Nemotron Speech Streaming 0.6B — CoreML INT8

Low-latency English streaming ASR with native punctuation and capitalization, converted to CoreML for Apple Neural Engine inference. Part of speech-swift — on-device speech AI for Apple Silicon.

Based on nvidia/nemotron-speech-streaming-en-0.6b (cache-aware FastConformer encoder + RNN-T decoder).

Quick Start

swift
// Add to Package.swift:
// .package(url: "https://github.com/soniqo/speech-swift.git", branch: "main")

import NemotronStreamingASR

let model = try await NemotronStreamingASRModel.fromPretrained()

// Batch
let text = try model.transcribeAudio(audioSamples, sampleRate: 16000)

// Streaming
for await partial in model.transcribeStream(audio: samples, sampleRate: 16000) {
    print(partial.text, partial.isFinal ? "[FINAL]" : "")
}

Or via CLI:

bash
git clone https://github.com/soniqo/speech-swift && cd speech-swift && make build
.build/release/audio transcribe recording.wav --engine nemotron
.build/release/audio transcribe recording.wav --engine nemotron --stream --partial

Guide: soniqo.audio/guides/nemotron.

Model

PropertyValue
Parameters600M
ArchitectureCache-aware FastConformer (24 layers, 1024 hidden) + RNN-T (2-layer LSTM, 640 hidden)
FormatCoreML (.mlmodelc)
QuantizationINT8 k-means palettization (encoder)
Vocabulary1024 BPE + blank (1025 total), punctuation + capitalization inline
Sample rate16 kHz mono
Streaming chunk160 ms (this bundle) — upstream supports 80 / 160 / 560 / 1120 ms
LanguageEnglish only

Files

FileSizeDescription
encoder.mlmodelc562 MBCache-aware FastConformer encoder (INT8 palettized)
decoder.mlmodelc14 MB2-layer LSTM prediction network
joint.mlmodelc3.3 MBRNN-T joint network (1025 outputs)
config.json<1 KBModel configuration + streaming params
vocab.json~20 KBSentencePiece BPE vocabulary

Upstream WER (English, 1.12 s chunk)

From the NVIDIA model card:

DatasetWER (%)
Average6.93
LibriSpeech test-clean2.32
LibriSpeech test-other4.84
SPGI Speech2.97
TEDLIUM3.50
VoxPopuli7.91
Gigaspeech9.66
AMI11.73
Earnings2212.52

By chunk size: 1.12 s → 6.93 %, 0.56 s → 7.07 %, 0.16 s → 7.67 %, 0.08 s → 8.43 %.

No EOU head

Unlike Parakeet-EOU, Nemotron does not emit a dedicated end-of-utterance token. Two ways to segment continuous audio into utterances:

  1. 1.External VAD — pair the session with Silero VAD; on sustained silence, call finalize() to commit the current utterance.
  2. 2.Punctuation boundary — the model emits ., ?, and ! inline, so a trailing sentence-ending punctuation in the partial text can be treated as a commit cue.

License

Released under the NVIDIA Open Model License (same as the upstream checkpoint). See the license URL for the full terms.