Mohamed BardouniAI Expert & Product Engineer

Transcribe: Arabic & Darija Audio, Video, and Call Transcription Suite

A web and Android transcription suite built on FastAPI and chunked Gemini audio pipelines that handles hour-long meetings, WhatsApp voice notes, and code-switched Moroccan Darija recordings.

FastAPIPythonAndroidGemini STT
Transcribe: Arabic & Darija Audio, Video, and Call Transcription Suite

Context

Generic speech-to-text services mangle Moroccan Darija mixed with French and English technical terms, and often time out or truncate recordings that run past a few minutes.

Scope I disclose publicly

  • Chunked FFmpeg audio normalization and segmentation pipeline so hour-long meetings and phone recordings process reliably without hitting token or payload limits.
  • Dialect-aware prompting that preserves Moroccan Darija phrasing and embedded French/English vocabulary instead of hallucinating stiff translations.
  • A clean web studio at mbardouni.dev/transcribe paired with a native Kotlin Android companion app for background recording and upload.

Decisions and trade-offs

  • Segmenting and normalizing audio server-side with FFmpeg so the API handles arbitrary phone formats (.ogg, .m4a, .aac, .mp4) consistently.
  • Preserving code-switched French/Arabic terms verbatim rather than forcing monolingual output.
  • The trade-off: batch chunk processing prioritizes accuracy on long, noisy recordings over instant word-by-word streaming captions.

The live web application is publicly accessible at mbardouni.dev/transcribe.

Check the public source
Disclosure: No user audio recordings or transcripts are published.

Need something similar?

Send me the problem, the users, and the expected scope.