Surogate Speech | Training and Serving Engine | Toolkit and Evals |
License: CC-BY-NC-4.0 | Authors: Invergent

Jackrabbit 110M Streaming (Romanian)

Jackrabbit Streaming is the live member of Surogate's speech recognition family. This is the Romanian model: the same 116M-parameter FastConformer as Jackrabbit 110M, converted to cache-aware streaming. It shows words as you speak with about one second of lookahead, then writes a final, cased and punctuated sentence when you pause.

It is served fastest by the surogate engine, which streams audio over HTTP or WebSocket with no Python in the serving path. Every number on this page was measured, and the harnesses are named, so you can reproduce them.

Accuracy

Word error rate in % on the FLEURS Romanian test (883 clips), each clip fed as live 32 ms audio packets, scored against the Open ASR Leaderboard's references with its multilingual normalizer, on one RTX 5090:

WER
Streaming finals (full-context re-read + 4-gram LM after each pause) 7.03
Live partials only (what the leaderboard's offline runner sees) 10.67
Offline Jackrabbit 110M, TDT greedy, for reference 7.56
Offline Jackrabbit 110M, CTC + 4-gram, for reference 5.69

Finals re-read each utterance with full attention after a 640 ms pause and decode the CTC head with the bundled 4-gram language model (beam 64, α 0.55, β 1.75). Live partials come from the TDT head as you speak. Transcripts for every clip are in surogate-speech-evals.

Latency

The final sentence arrives about 0.72 s after you stop talking on an RTX 5090: 640 ms of silence to decide you have paused, then the finalize step.

Finalize step after the pause Median p95
RTX 5090 84 ms 182 ms

Algorithmic lookahead is about 1.04 s (attention context [70, 13] at 80 ms per frame).

Running it

With surogate (recommended)

Needs surogate 1.5.4 or newer.

docker pull ghcr.io/invergent-ai/surogate:1.5.4
docker run --gpus all -p 8000:8000 ghcr.io/invergent-ai/surogate:1.5.4 \
  serve --stt surogate/jackrabbit-110m-ro-streaming --host 0.0.0.0 --port 8000

Files go through /v1/audio/transcriptions, live audio through /v1/audio/streams (HTTP or WebSocket):

surogate serve --stt surogate/jackrabbit-110m-ro-streaming

Or talk to it from your microphone with surogate-speech:

pip install "surogate-speech[asr] @ git+https://github.com/invergent-ai/surogate-speech"
surogate-speech listen

Files

File Size What it is
jackrabbit-110m-ro-streaming.nemo 467 MB The model (NeMo 3.0)
lm-4gram-ro.nemo 2.07 GB 4-gram language model for the finals, in NeMo's GPU n-gram format

Details

  • Cache-aware FastConformer encoder, 17 layers, width 512, chunked limited attention [70, 13], causal convolutions
  • TDT decoder for partials; CTC decoder plus language model for finals
  • 2,048-piece SentencePiece vocabulary with case and punctuation
  • 16 kHz mono PCM input; pause detection with Silero VAD

Limitations

Romanian only. Finals depend on pause detection: long unbroken speech is finalized later, and very short pauses can split a sentence. Accuracy was measured on read and parliamentary speech; telephone audio, heavy noise and overlapping speakers are not measured here. The model transcribes; it does not identify speakers or decide when a voice agent should answer.

License

CC-BY-NC-4.0: free for research and other non-commercial use; for commercial use, contact Invergent. The base model, nvidia/parakeet-tdt_ctc-110m, is by NVIDIA under CC-BY-4.0.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for surogate/jackrabbit-110m-ro-streaming

Finetuned
(9)
this model

Collection including surogate/jackrabbit-110m-ro-streaming

Evaluation results

  • WER on FLEURS ro_ro test (live 32 ms packets, leaderboard references and normalizer)
    test set self-reported
    7.030