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).
1// Add to Package.swift:
2// .package(url: "https://github.com/soniqo/speech-swift.git", branch: "main")
3
4import NemotronStreamingASR
5
6let model = try await NemotronStreamingASRModel.fromPretrained()
7
8// Batch
9let text = try model.transcribeAudio(audioSamples, sampleRate: 16000)
10
11// Streaming
12for await partial in model.transcribeStream(audio: samples, sampleRate: 16000) {
13 print(partial.text, partial.isFinal ? "[FINAL]" : "")
14}
1git clone https://github.com/soniqo/speech-swift && cd speech-swift && make build
2.build/release/audio transcribe recording.wav --engine nemotron
3.build/release/audio transcribe recording.wav --engine nemotron --stream --partial
By chunk size: 1.12 s → 6.93 %, 0.56 s → 7.07 %, 0.16 s → 7.67 %, 0.08 s → 8.43 %.
Unlike Parakeet-EOU, Nemotron does not emit a dedicated end-of-utterance token. Two ways to segment continuous audio into utterances:
Released under the
NVIDIA Open Model License (same as the upstream checkpoint). See the license URL for the full terms.