Downloads · 30 days
272
57% of all-time downloads
typhoon-ai/typhoon-asr-streaming-115m
typhoon-asr-streaming-115m is a automatic speech recognition model from typhoon-ai. Use it when you need speech turned into text. It is set up for nemo. The card lists the license as cc-by-4.0.
Cache-aware streaming Thai ASR (FastConformer-Transducer, 115M params). Converted from Typhoon ASR Real-time — causal convolutions + chunked limited-context attention swapped in, every weight copied as a warm start, t…
Downloads · 30 days
272
57% of all-time downloads
All-time downloads
479
Public
Repo size
462 MB
Likes
0
Public
Click a slice to open those files.
.nemo462 MB · 100%
From the Hugging Face model README
Cache-aware streaming Thai ASR (FastConformer-Transducer, 115M params). Converted from Typhoon ASR Real-time — causal convolutions + chunked limited-context attention swapped in, every weight copied as a warm start, then briefly fine-tuned on the ~11k-hour Thai corpus. Unlike the full-context base (which collapses to 62.8% CER when forced to stream at 1040 ms), this model decodes live, chunk by chunk, with the encoder cache carried across chunks.
| Architecture | FastConformer-Transducer (RNN-T), cache-aware streaming |
| NeMo class | EncDecRNNTBPEModel |
| Tokenizer | single 2048-token Thai BPE |
| Latency knob | chunk_size × 80 ms → 1040 / 480 / 80 ms |
Multi-latency att_context_size | [[70,13],[70,6],[70,1],[70,0]] |
| Streaming CER (TVSpeech) | 19.4% @1040 ms · 16.4% @3200 ms |
| RTF (batch-1, H100 @1040 ms) | 0.020 (~50× real time) |
| Paired n-gram | typhoon-ai/typhoon-asr-streaming-115m-ngram |
Use this model for low latency / low cost when English code-switching is light; for best
accuracy use
typhoon-ai/typhoon-asr-streaming-nemotron-0.6b.
Requires NVIDIA NeMo with cache-aware streaming support (see the project repo for the pinned commit and the full streaming loop / server / demo):
import nemo.collections.asr as nemo_asr
model = nemo_asr.models.ASRModel.restore_from("typhoon-asr-streaming-115m.nemo",
map_location="cuda")
model.eval()
# offline (whole file)
text = model.transcribe(audio=["clip.wav"])[0].text
# true streaming: model.encoder.setup_streaming_params(chunk_size=13, left_chunks=2,
# shift_size=13) + conformer_stream_step(...) — see demo/asr_engine.py in the repo.
Decode-time vocabulary steering (phrase boosting + n-gram shallow fusion) runs inside the
streaming decoder — see the repo's docs/SHALLOW_FUSION.md.
Released under CC-BY-4.0, following the base-model chain:
Modifications in this release: full-context → cache-aware streaming conversion (causal
convolutions, chunked limited-context attention, multi-latency att_context_size) and a
1-epoch Thai fine-tune on the Typhoon ASR Real-time corpus.