aufklarer/Nemotron-Speech-Streaming-0.6B-CoreML-INT8
018
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
// 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:
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 --partialGuide: soniqo.audio/guides/nemotron.
Model
Files
Upstream WER (English, 1.12 s chunk)
From the NVIDIA model card:
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:
- External VAD — pair the session with Silero VAD; on sustained silence, call
finalize()to commit the current utterance. - 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.
