Skip to content
Lab
AI experimentShipped

Local Bengali speech-to-text

A browser recorder plus a local Whisper server that turns Bengali dictation into an editable transcript and exports it — with no API keys and no audio leaving the machine.

An MVP built for a healthcare collaborator who needed Bengali dictation turned into notes without sending audio to the cloud.

How it works

  • Recording happens in the browser with MediaRecorder. WebM/Opus is converted to 16 kHz mono WAV with vendored JavaScript/WASM decoders — no ffmpeg install needed.
  • Transcription runs on a FastAPI server with faster-whisper large-v3, int8 quantisation, beam size 5, the language pinned to Bengali and voice-activity filtering. CUDA is used automatically when available.
  • Export to .txt, .docx and .pdf — the PDF embeds Noto Sans Bengali so conjuncts render correctly.

Engineering notes

  • The model loads once in the server's lifespan hook; uploads are validated by WAV header and capped at 25 MB (about five minutes).
  • Cross-platform launchers create a virtual environment and re-exec into it, so a non-developer can start it with one click.
  • A smoke-test script checks the page, health, transcription and all three export formats.

Keep reading