Skip to content
← All projects

Case study/Machine learning/2026

Bangla Voice Model

Fine-tuning a 0.6B speech model to speak Bengali in two consistent voices, on a free GPU.

01The problem

The voice platform needed to speak Bengali in two consistent voices.

The training data was raw call audio: transcripts where numbers were written as digits but spoken as words, and clips that needed trimming and leveling before a model could learn from them. Training ran on a free-tier T4 GPU.

02How it fits together

Raw call audiofrom the voice platformTranscript cleanupdigits → spoken wordsTrim + loudnessnormalized · 24 kHzCodec tokensneural audio codecLoRA fine-tuneOmniVoice 0.6B · T4Listen & comparevs zero-shot baselineMerge adapterinto the base modelHugging Face→ Voice AI platformcheckpointsbest onepublish

Most of the work is before training: clean text and clean audio decide what the model learns.

03Decisions

  1. 01

    LoRA instead of a full fine-tune

    Training small adapter weights instead of all 0.6B parameters makes the job fit a free-tier T4, trains faster, and keeps the base model's general abilities intact.

  2. 02

    Write numbers the way they're spoken

    Transcripts were normalized so digits match the words actually said. Otherwise the model learns that "১২" sounds like whatever the speaker happened to say, and reads numbers wrong.

  3. 03

    Clean audio before tokenizing

    Clips were trimmed and loudness-normalized to 24 kHz so the model learns the voice, not the silence or the volume of each call.

  4. 04

    Judge checkpoints by ear against a zero-shot baseline

    For speech, the question is whether it sounds right. Each checkpoint was compared by listening against the untuned model to pick the best one.

  5. 05

    Merge the adapter before serving

    The chosen adapter is merged into the base model, so serving is one ordinary model with no adapter loading at inference time.

04Trade-offs

05Results

↑ ↓ to move↵ to goT toggles the themeX x-ray? all shortcutsdrag on blank paper to doodle/ opens this anywhere

Keyboard shortcuts

Ctrl/⌘K
command palette
/
command palette, too
T
paper ⇄ chalkboard
X
x-ray: see the components behind the page
?
this sheet
drag
doodle on blank paper
Ctrl/⌘Z
undo the last doodle
Esc
close any dialog
↑↑↓↓←→←→BA
…you know what this does

psst: open the browser console too.