Views
No views yet
Shenava-Koochik-0.9 (114M).Reza2kn/visualears-golden-6669 (6,669 clips, official Persian normalizer), RNNT head:att_context_size | Latency | WER | CER | WER_bf |
|---|---|---|---|---|
[70, 0] | 0 ms (real-time) | 11.08% | 3.17% | 9.68% |
[70, 1] | 80 ms | 10.85% | 3.08% | 9.43% |
[70, 6] | 480 ms | 10.56% | 2.93% | 9.14% |
[70, 13] | 1040 ms | 10.46% | 2.89% | 9.03% |
fa32M scored 17.40% (and could not run below its trained latency).| Condition | n | 0 ms WER | 1040 ms WER | Δ |
|---|---|---|---|---|
| clean | 400 | 13.38 | 12.62 | +0.76 |
| obstructed | 4,335 | 10.87 | 10.20 | +0.67 |
| far-field | 1,934 | 11.24 | 10.77 | +0.47 |
clean scores worst here — a quirk of Golden6669's small 400-clip clean slice, not a streaming effect.)WER_bf = boundary-forgiven WER (utterances perfect modulo Persian word-spacing conventions counted correct).nvidia/stt_en_fastconformer_hybrid_medium_streaming_80ms (English cache-aware streaming), persianized by swapping in a Persian BPE-1024 tokenizer and reinitializing the decoder + joint (encoder kept).att_context_size = [[70,13],[70,6],[70,1],[70,0]] (chunked_limited) — one checkpoint covers 0 / 80 / 480 / 1040 ms.Reza2kn/visualears-persian-pseudo-asr).1from nemo.collections.asr.models import ASRModel
2m = ASRModel.restore_from("shenava-rizeh-0.9.nemo").cuda().eval()
3m.encoder.set_default_att_context_size([70, 0]) # 0 ms (real-time); or [70,13] for best WER
4print(m.transcribe(["clip.wav"])[0].text)[70,0]=0 ms · [70,1]=80 ms · [70,6]=480 ms · [70,13]=1040 ms (1 encoder frame = 80 ms, FastConformer subsampling 8).Shenava-Koochik-0.9 (114M). Offline flagship: shenava-fa-fastconformer-115m (7.29%).1@misc{shenava_rizeh_2026,
2 title = {Shenava-Rizeh: Persian Cache-Aware Streaming ASR (32M)},
3 author = {Sayar, Reza},
4 year = {2026},
5 howpublished = {Hugging Face},
6 url = {https://huggingface.co/Reza2kn/Shenava-Rizeh-0.9}
7}