Whisper Translate: What It Does and What It Won't
By Eman Khoubian, Founder & CEO · Updated
Whisper translates speech into English and nothing else, and it won't do that on the model it loads by default. Give it five minutes of French on medium, one of the sizes OpenAI recommends for translating, and it can print "Preambles." eight times and little else. One changed setting got us the whole recording, but read what comes back either way.
No terminal? Here's how to transcribe and translate a file in your browser, or translate live.
What is Whisper translation?
Whisper has two tasks. Transcribe writes speech down in the language it was spoken. Translate writes it down in English. The same model does both, straight from the audio, and there's no third option: the tool's own help text calls the task "X->English translation".
We ran every test below on the first five minutes of LibriVox readings of the UN's Universal Declaration of Human Rights, in Spanish, French, German, Japanese, Arabic and Russian. That's someone reading a famous text aloud, one clip per language, so an interview with cross-talk could easily do worse.
What Whisper printed for each setting
medium, translate on Spanish audio: English. medium, translate on French audio: One word, over and over. medium, translate, --condition_on_previous_text False on French audio: English, all the way through. turbo, translate on German audio: German, not English. medium, translate, language set to French on Spanish audio: English, not French. medium, transcribe, language set to French on Spanish audio: French, with mistakes. medium, transcribe, language set to Spanish on Japanese audio: One Spanish line, 14 times.
medium, translate · Spanish audio
English
"Every person has the rights and freedoms proclaimed in this Declaration"
medium, translate · French audio
One word, over and over
"Preambles."
medium, translate, --condition_on_previous_text False · French audio
English, all the way through
"Considering that ignorance and contempt of human rights have led to acts of barbarism"
turbo, translate · German audio
German, not English
"Die allgemeine Erklärung der Menschenrechte."
medium, translate, language set to French · Spanish audio
English, not French
"The Universal Declaration of Human Rights of the United Nations."
medium, transcribe, language set to French · Spanish audio
French, with mistakes
"Cette est une recording de LibriVox."
medium, transcribe, language set to Spanish · Japanese audio
One Spanish line, 14 times
"El recorrido de LibriVox."
Whisper translate to English: the command that works
whisper french.mp3 --model medium --task translate --condition_on_previous_text FalseThe first two options are straight from OpenAI's README. The last is our addition, and it's what got French through. You can add --language French, but that tells Whisper what's being spoken, not what you want back.
Why it returned the original language
You left out --model, or set it to turbo. Turbo is the default, and the README says it "is not trained for translation tasks". We asked it to translate Spanish, German and Japanese, and all three came back in Spanish, German and Japanese, with no warning. Use medium or large.
Why it repeated the same line
By default, Whisper hands each 30-second window the text it just wrote. When that text goes wrong, the next window copies it. On medium, that left our French clip with 63 words and Russian running "Recording by Siren Darktail." twelve times. Japanese looked fine at 523 words, but "All human beings are free to be born" kept coming back in place of later articles, so a length check won't save you.
Words returned from five minutes of speech, on medium
French: 63 words by default, 747 with the setting off. Russian: 346 words by default, 867 with the setting off. Japanese: 523 words by default, 528 with the setting off. Arabic: 623 words by default, 622 with the setting off. Spanish: 714 words by default, 712 with the setting off. German: 719 words by default, 714 with the setting off.
- French63 by default747 with fix
- Russian346 by default867 with fix
- Japanese523 by default528 with fix
- Arabic623 by default622 with fix
- Spanish714 by default712 with fix
- German719 by default714 with fix
Adding --condition_on_previous_text False cleared all three and cost almost nothing on the other clips. The code's own note says turning it off "may make the text inconsistent across windows, but the model becomes less prone to getting stuck in a failure loop". That's a fair trade for the whole recording. large-v3 also got through French and Russian on default settings. And Whisper's plain transcribe task got through both clips too, so the audio wasn't the problem.
How good the English is
Good enough to follow, not good enough to quote. Here's Article 1 from each clip, using the command above, next to the UN's own English.
| Source | Article 1 |
|---|---|
| The UN's English | All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood. |
| Whisper, from French | All human beings are born free and equal in dignity and in law. They are endowed with reason and conscience and must act one to the other in a spirit of brotherhood. |
| Whisper, from Russian | All people are born free and equal in their dignity and rights. They are endowed with reason and conscience, and must act in relation to each other in the spirit of brotherhood. |
| Whisper, from Spanish | All human beings are born free and equal in dignity and rights, and given as they are of reason and conscience, they must behave fraternally with each other. |
| Whisper, from German | All people are born free and equal to dignity and rights. They are gifted with reason and conscience and should meet each other in the spirit of brotherhood. |
| Whisper, from Japanese | All human beings are born free, and are equal in dignity and authority. Humans are entrusted with reason and conscience, and must act with the spirit of equality. |
| Whisper, from Arabic | All people are born free and equal in dignity and rights, and they have lost their minds and conscience, and they have to deal with each other with the spirit of brotherhood. |
Look at the Arabic line. "Endowed with reason and conscience" became "they have lost their minds and conscience". It reads like fine English, and it says the opposite. OpenAI's model card warns that invented text "may be worse in lower-resource and/or lower-discoverability languages".
Can you use Whisper to translate to Spanish, French or other languages?
Not reliably. Setting --language French with the translate task on our Spanish clip gave us English anyway. The trick you'll see passed around is the opposite one: ask for transcribe, and tell Whisper the speech is in the language you want.
whisper spanish.mp3 --model medium --task transcribe --language frThat only tells Whisper which language to write in. No translation step runs, so you're hoping it plays along. We tried four pairs. Spanish to French came back in French, mistakes included. Spanish to German wandered ("Diese ist eine Videografe von LibriVox"). German to French stayed mostly German and then ran "Préamble." over and over. Japanese to Spanish looped on one line and returned 87 words in all.
One usable result out of four, from two closely related languages. Don't build on it. Transcribe in the language spoken and translate the text with something built for that.
Is Whisper translate free?
Free to download and use: the code and model weights are under the MIT License. You bring the computer, Python, ffmpeg and the memory: medium peaked at 6.4 GB in our model test. If you'd rather pay for OpenAI's API, don't get attached: /v1/audio/translations is deprecated and only runs until February 26, 2027.
Is there a Whisper live translation?
Not in the model. OpenAI's model card says Whisper "cannot be used for real-time transcription out of the box". For that, OpenAI now sells developers a separate product, gpt-realtime-translate, a streamed session at $0.034 a minute.
In WhisperAI it's one setting, on every plan. Turn on Live translation in the session settings when you record live in your browser, and each line shows up in a second language a moment after it's spoken.
How to transcribe and translate foreign language interviews
A transcript gives you the words as they were said, and someone who speaks the language can check those against the recording. A translation straight from sound gives them nothing to check, which is how "lost their minds" gets into your report.
WhisperAI gives you the transcript first and translates that text, with nothing to install. (Despite the name, we're not OpenAI, and your uploads don't run on Whisper.) Here's the whole job:
- Upload the recording, up to 5 GB and 10 hours on every plan. Choose the language, turn on Speaker Labels, and add names and terms under "Important words or names" where your language offers it. The translation reads this first transcript, not your later edits, so get the names in now.
- When the transcript's ready (an hour of audio usually takes under a minute), open the ⋯ menu and choose "Translate to…", then the language.
- The translation opens in its own tab, with the same speakers and timestamps, and your transcript stays one tab over for checking. Export it as DOCX, PDF, TXT or JSON, or as SRT or VTT subtitles on the original timings.
And it isn't limited to English: any transcript can go into any of 87 languages, so Spanish to French is a menu choice, not a hack.
The free plan includes translation and 5 minutes a month with no card, enough to try it on a short clip. Got hours of interviews? Business Pro is $24.99 a month for unlimited minutes.