Downloads · 30 days
0
mobilebytesensei/betterflow-bengali-streaming-transducer
betterflow-bengali-streaming-transducer is a automatic speech recognition model from mobilebytesensei. Use it when you need speech turned into text. The card lists the license as apache-2.0.
Streaming zipformer2 transducer exported to ONNX for on-device dictation. Emits partials DURING speech, so first-partial latency is constant rather than proportional to utterance length — the property batch whisper st…
Downloads · 30 days
0
Access
Public
Updated Aug 3, 2026
Repo size
28.4 MB
Likes
0
Public
Click a slice to open those files.
.onnx28.4 MB · 100%
From the Hugging Face model README
Streaming zipformer2 transducer exported to ONNX for on-device dictation. Emits partials DURING speech, so first-partial latency is constant rather than proportional to utterance length — the property batch whisper structurally lacks.
OnlineRecognizer.from_transducer, model_type="zipformer2"Mirrored so betterflow can pin an immutable revision and checksum.
Our Hindi bundle is a Zipformer2-CTC: encoder.int8.onnx + tokens.txt. This one needs
encoder + decoder + joiner. ModelHandle.kindOf resolves by inspecting the file list, so the
manifest partial.files array has four entries.
Quantizing decoder and joiner as well produces degenerate repetitive output. They are ~1–2 MB
networks with almost no weights to quantize, and they sit in the autoregressive loop where error
compounds token over token. The encoder is 86 MB of feed-forward weights and quantizes cleanly
(86.78 MB → 24.08 MB, 3.6×). This matches the sherpa-onnx zoo convention.
The raw encoder.onnx returns near-empty output under sherpa-onnx 1.13.4 ("", আমার, ফুল),
while the int8 graph built from it returns full coherent sentences. Upstream ships am-onnx/opt.py
precisely because the raw export needs ONNX graph optimization; quantize_dynamic's rewriting does
the equivalent. Do not "fix" this by reverting to fp32 — and do not read a fp32-vs-int8
comparison as evidence that quantization degraded anything.
Decoded through sherpa-onnx 1.13.4 (the version vendored in the betterflow client, so this exercises the engine that actually ships):
tokens.txt contains 500 tokens and zero punctuation — no danda (।), no
comma, no question mark. Output is an unbroken run of words. This is not specific to Bengali: our
shipped Hindi streaming model has zero punctuation too. Punctuation is a text-cleanup
responsibility, not a model one.