
Whisper: Transcription That Handles Arabic
Most speech-to-text falls apart on Arabic dialects. Here is what actually works, and where it still struggles.
Every speech-to-text demo works beautifully on clear American English. The interesting question for anyone building in this region is what happens with Egyptian Arabic, a Gulf accent, or a speaker switching between Arabic and English mid-sentence.
I have run a lot of Arabic audio through Whisper. Here is the honest report.
What works
Modern Standard Arabic is genuinely good. News broadcasts, formal presentations, prepared speech — accuracy is high enough to edit rather than retype.
Code-switching is handled better than expected. The Arabic-English mixing that is normal in Egyptian technical conversation does not break it, which surprised me.
Translation is built in. The model can transcribe Arabic audio directly into English text in a single pass, which is useful for subtitle workflows.
What does not
Heavy dialect degrades noticeably. Casual Egyptian conversation, especially fast speech with overlapping speakers, produces output you will spend real time correcting.
Punctuation and diacritics are unreliable. Expect to add sentence boundaries yourself for anything published.
Numbers and proper nouns are weak. Prices, phone numbers, and Arabic names in a non-standard spelling are the errors that matter most and appear most often.
Practical tips
Model size matters more for Arabic than for English. The jump from small to medium to large produces a much bigger relative improvement on Arabic audio than the English benchmarks suggest. Do not size down to save time if the output is user-facing.
Set the language explicitly instead of relying on detection:
result = model.transcribe("interview.m4a", language="ar")
Auto-detection on the first few seconds of bilingual audio guesses wrong often enough to be worth this one line.
Clean the audio first. Ten minutes of noise reduction beats an hour of correcting a transcript.
And chunk long recordings at natural pauses. Quality drifts on very long single passes, and chunking also gives you usable timestamps.
Where I use it
Client meeting notes, subtitle drafts for video, and turning voice notes — how a lot of business communication actually arrives here — into text that can be searched.
For anything published under a client's name, treat the output as a first draft that a human edits. That is not a criticism of the model; it is how transcription works.
Resources
- Repo: openai/whisper
- Faster inference: SYSTRAN/faster-whisper
- Video walkthroughs: YouTube: Whisper Arabic transcription
Need this built properly?
I build secure, fast, bilingual platforms for clients across Egypt, Saudi Arabia, the UAE and Kuwait.


