Bangla Regional Dialects ASR (120M) · bangla-stt-conformer-120m-dialects
A fine-tuned Conformer-CTC model for Bangladeshi regional Bangla speech recognition —
the accuracy champion of a two-model family, and the most accurate open Bangla ASR model
in its weight class on our evaluation. It leads every accuracy metric and every noise
condition, and is the default choice for dialect, noisy, and telephone audio.
ভাটিয়ালি(Bhatiyali) — the boatman's song that drifts downstream along every river of
Bengal, carrying the voice of each region it passes. Like the song, this model listens to the
whole land — Barishal, Chittagong, Noakhali, Rangpur, Sylhet — and writes down what it hears.
Greedy single-pass decoding, no external language model.
Model Details
Property
Value
Architecture
Conformer-CTC large (EncDecCTCModelBPE), 4× subsampling
Word / Character Error Rate (%), strict scoring — Unicode-normalized and punctuation-stripped
identically on references and hypotheses:
Evaluation set
WER
CER
banspeech (BD broadcast)
19.94
6.21
dialect5 (15 BD dialects)
40.64
27.73
indicvoices (spontaneous)
12.65
3.52
macro-valid (clean read)
7.30
1.22
regspeech12 (BD regional)
56.78
27.46
eval_export macro
27.45
13.22
SVQ spoken-queries · clean
13.73
3.40
SVQ · background speech
15.38
4.34
SVQ · media noise
18.27
5.25
SVQ · traffic noise
16.15
4.22
9-set macro (incl. SVQ)
22.31
9.26
Training
Fine-tuned in a single stage on the joint3 mixture — 400k clips / 970 hours across 22
curated Bangla sources (~30% Bangladeshi-dialect-adjacent), spanning broadcast, spontaneous,
read, and regional-dialect speech.
Setting
Value
Steps
60,000
Effective batch
32 (bs 8 × grad-accum 4)
Learning rate
1e-4, cosine decay, 1,000-step warmup
Precision
bf16
Augmentation
speed / white-noise / gain perturbation + SpecAugment
Checkpoint selection
3-checkpoint weight average (steps 51.25k + 59.25k + final)
Hardware
single 12 GB GPU (~28 h)
Fine-tuning on the broad regional mixture cut eval_export macro WER from the base checkpoint's
~38.1 (zero-shot) to 27.45, with the largest gains on the dialect sets
(e.g. dialect5 74.0 → 40.6).
Usage
pip install nemo_toolkit[asr]
python
1import nemo.collections.asr as nemo_asr
23model = nemo_asr.models.ASRModel.restore_from(4"bangla-stt-conformer-120m-dialects.nemo"5)6model.eval()78result = model.transcribe(["audio_16k_mono.wav"])9print(result[0].text)10# e.g. "ডাক্তার পরশু দিনই সকালে রাজশাহী রওনা হয়ে গেছেন"
Exact reference-vs-prediction matches from the validation sets — transcribed word-for-word
across read, broadcast, and spontaneous speech:
Reference (= prediction, exact)
Domain
বিদ্যালয়ের সামনে একটি খেলার মাঠ এবং মূল ভবনের সামনে একটি পুকুর রয়েছে
clean read
বুর্কিনা ফাসো এপর্যন্ত একবারও ফিফা বিশ্বকাপে অংশগ্রহণ করতে পারেনি
clean read
ডাক্তার পরশু দিনই সকালে রাজশাহী রওনা হয়ে গেছেন
BD broadcast
সেখান থেকে রাতের অন্ধকারে ফাইল গেল সামাদের বাসায়
BD broadcast
তুমি কি আরেকটু জোরে কথা বলতে পারবে
spontaneous
তুমি কি আমাকে বলতে পারবে কোন সিনেমার সেরা রিভিউ আছে
spontaneous
On deep regional dialect the model faithfully transcribes dialect forms (মুই for আমি,
আমনে for আপনি, লগে for সাথে) rather than normalizing to standard Bangla — accurate to what was
spoken, though standard-text references score these as substitutions (see Limitations).
How it compares — our own systems
Scope: this table is our three in-house systems only, on the project's internal
9-condition suite (5 read/broadcast/dialect sets + 4 SVQ noise conditions). For a
comparison against the public field on contamination-audited slices, see
Independent benchmark — BanglaBench-v1 below,
where the picture is more qualified.
Model
Params
Decode
9-set macro WER / CER
Notable
Bhatiyali (this model)
121.5M
greedy
22.31 / 9.26
wins 10 of these 11 conditions
Srotoswini-Fast (fastconformer-116m)
115.6M
greedy
27.89 / 11.85
~2× throughput
w2v-BERT + KenLM (retired)
580M
beam + LM
25.12 / 11.00
clean read speech only
Among these three, Bhatiyali wins every macro average at every normalization level,
sweeps all four noise conditions, and is the most robust under simulated telephone channel (GSM 8 kHz: +2.3 WER
on dialect, vs +6.2 for Srotoswini-Fast) — while using ~1/5 the parameters and ~1/22 the
compute of the 580M language-model system it replaced. A 1,000-hour archive transcribes in
~4 GPU-hours (~250× real-time, batch 16); ~51× real-time single-stream on 8 CPU threads.
Independent benchmark — BanglaBench-v1
Scored against 19 other open-weight Bangla ASR models on
11 slices, 4,042 clips, 8.29 h, one scoring pipeline, contamination audited.
Slices are grouped by who they favour, and the headline macro deliberately excludes the
tier drawn from our own training corpora. Tier A = the corpora we fine-tune on, tier B =
neutral (Google SVQ bn_bd, held out for everyone), tier C = FLEURS-bn + CommonVoice-bn, which
the public baselines trained on and we did not.
BanglaBench-v1 leaderboard
Bhatiyali
best public model
Whisper large-v3
parameters
121M
121M
1550M
headline WER (tier B+C)
14.43
14.39
78.67
headline CER
3.92
4.40
42.68
tier A — BD dialect + project sets
27.46
38.13
83.46
dialect5 (Bangladeshi regional)
40.64
76.73
101.18
RegSpeech12 (12 districts)
56.78
61.66
94.35
SVQ clean (neutral)
14.57
15.06
79.58
FLEURS-bn (favours public)
14.66
14.32
77.06
Read this honestly
On the neutral tier this model is a statistical tie with its own freely available base,
hishab/titu_stt_bn_conformer_large:
paired stratified bootstrap Δ +0.03 WER, 95% CI [−0.47, +0.49] — not significant. It does
win CER significantly (−0.48, CI [−0.75, −0.25]).
What the fine-tuning bought is Bangladeshi dialect capability at no cost to general
accuracy: −36.1 WER on dialect5 and −8.1 on IndicVoices, with the neutral tier unchanged
(−0.17, not significant).
What the finetuning bought, per tier
So: choose this model when your audio is Bangladeshi — regional, telephone, or noisy. For
generic or Indian-Bengali read speech the public base is equally good and free.
It is nonetheless the strongest model in the field on dialect: no evaluated system does better,
and the best public model is 33 WER points behind on dialect5 (Bengali.AI winner, 73.75
vs 40.64).
Best models per dataset
Best CER of all 20 models evaluated; wins 6 of the 11 slices
Beats 15 of the 19 other models on accuracy and throughput simultaneously
Every dialect slice is same-corpus with our training data — see the benchmark card's
contamination matrix before quoting tier A
Intended Use & Limitations
Intended use:
Accurate transcription of Bangladeshi regional Bangla — dialect, noisy, or telephone audio
Offline / batch pipelines where accuracy is the priority
Limitations:
Noakhali dialect remains the hard wall (~55 WER) — the most acoustically divergent BD
region; reproducible across every eval. Closing it needs Noakhali training data, not decoding.
Trained on punctuation-stripped text → emits no punctuation or numeral normalization.
Optimised for Bangladeshi regional Bangla; performance on other languages will be poor.
WER on dialect sets scored against standard references understates true quality — the model
faithfully transcribes dialect forms, which standard references count as errors.
Citation
bibtex
1@misc{bangla-stt-conformer-120m-dialects,
2 author = {kazalbrur},
3 title = {Bhatiyali: Bangla Regional Dialects ASR (120M, Conformer)},
4 year = {2026},
5 publisher = {Hugging Face},
6 url = {https://huggingface.co/kazalbrur/bangla-stt-conformer-120m-dialects}
7}
The pair
Bhatiyali (ভাটিয়ালি, the song) listens deepest; Srotoswini (স্রোতস্বিনী, the river) runs
fastest. Same 970-hour regional training, same greedy decoding, same ~120M class — two points
on one frontier. Run Bhatiyali when every word matters, Srotoswini when every second does; or
run both and let a confidence referee pick per utterance (measured oracle ceiling: −2.35 macro WER).