Home → Blog → Which audio format to use for speech recognition
Which audio format to use for speech recognition
Format looks like a trivial detail until a file hits the size limit or the bandwidth bill starts to surprise you. Accuracy barely depends on the container; upload time and cost depend on it a lot. Here is what to send and why.
What the service accepts
Every common container works: ogg, opus, mp3, wav, m4a, webm, flac. The size ceiling is 25 MB per file. Internally the audio is resampled to 16 kHz mono anyway, so quality above that threshold changes nothing in the output.
Which leads to a simple rule: do not pay in megabytes for data that will be discarded.
What an hour weighs
| Format | One hour | Notes |
|---|---|---|
| wav 44.1 kHz stereo | about 600 MB | uncompressed, will not fit the limit |
| mp3 128 kbps | about 55 MB | familiar, overkill for speech |
| mp3 64 kbps mono | about 28 MB | acceptable, still heavy |
| opus 24 kbps mono | about 11 MB | the sweet spot for voice |
Opus was designed for voice and stays intelligible at bitrates where mp3 falls apart. An hour of conversation fits in ten megabytes with room to spare.
One command to normalise anything
Whatever your telephony or recorder produced, this brings it to a sensible shape:
ffmpeg -i input.wav -vn -ac 1 -ar 16000 -c:a libopus -b:a 24k output.ogg
Flag by flag: vn drops the video track, ac 1 downmixes to mono, ar 16000 sets the sample rate the model expects, b:a 24k picks a bitrate that is plenty for speech.
Keep stereo in exactly one case: when the speakers are recorded to separate channels and you plan to transcribe them individually.
What not to do
- Re-encode already compressed audio. mp3 to mp3 adds artefacts and saves nothing — go straight from the source to opus.
- Upsample. Converting 8 kHz telephony to 48 kHz adds no information, only bytes.
- Strip silence aggressively. Removing pauses breaks timestamps and glues together utterances from different people.
- Send whole video files. The audio track is twenty times smaller and transcribes identically.
Try it on your own recordings. Sign-up takes a minute, and the free minutes are enough to judge the quality.
Get a free API keyFrequently asked questions
Does the format affect accuracy?
Barely. A difference appears only at very low bitrates — below 16 kbps speech starts to fall apart. Opus at 24 kbps mono is indistinguishable from the original wav in the output.
What if my file is over 25 MB?
Compress to opus first; that is usually enough. If the recording is genuinely long, split it at pauses and merge the transcripts.
Do I have to convert before sending?
No, every common format is accepted. Converting saves bandwidth and upload time, and on long recordings it keeps you under the limit.
Is 8 kHz telephone audio good enough?
Yes, phone audio transcribes reliably. Do not upsample it — resampling adds no information to the recording.
Related reading
- Preparing audio for transcription: ffmpeg recipes — Copy-paste ffmpeg commands for speech recognition: extract audio from video, downmix to mono, trim silence, split on pauses and separate stereo channels.
- How to transcribe a recording that does not fit one request — What to do with multi-hour audio: compression, splitting on pauses, processing chunks in parallel and merging one transcript with continuous timestamps.
- How to improve speech-to-text accuracy: eight practical fixes — Eight changes that actually move transcription quality: audio preparation, language hints, the prompt parameter, chunking, formats, and how to measure word error rate.