← Instagram Transcript

Why Accented Speech Changes Transcript Quality

2026-10-12
Short answerYes, and the failure is silent rather than loud. We sent the same 32-word sentence to our own transcriber in four different voices: two came back word for word, one merged two words into one, and the fourth came back four words short. All 36 uploads we ran today returned success with no warning field, and the language field said unknown every single time. Nothing in the response tells you that the acoustics pushed the model to a different set of words. The practical defence is not a fix - it is a check: run the file twice under slightly different settings and diff the two transcripts. The words that move between the two runs are the ones you should not quote.

What we measured today

We built one sentence of 32 words, deliberately loaded with sounds that differ between accents of English (thin, ships, three, red rice, walk and work), rendered it with four text-to-speech voices - three US English and one Scottish English - and then made a series of modified copies of those renders. Every copy was uploaded to our own endpoint, which runs Cloudflare Workers AI (@cf/openai/whisper). We ran 36 uploads. All of them returned HTTP 200, all of them returned success, and every response carried the same six fields: success, transcript, language, engine, fileSize and fileName. The language field read unknown in all 36. There were no timestamps, no speaker labels, no confidence score and no alternative readings, and the transcript text contained zero line breaks. Wall clock for a ten-second file ranged from 0.87 s to 7.39 s including upload.

One honest caveat before the numbers

The four voices are synthetic, not recordings of human speakers with a foreign accent. That matters for how you read this: we are not measuring how the model treats a real person's accent, and we publish no accuracy percentage, because we have no labelled accented-speech corpus to score against. What the setup does isolate cleanly is the thing we care about - the words are byte-for-byte identical across all four renders, and only the acoustics change. Whatever difference shows up in the output comes from how the speaker sounded, not from what was said.

Four voices, one sentence: 32, 32, 29, 28

One 32-word sentence transcribed in four voices: 32, 32, 29 and 28 words returned, all reported as success
Same 32-word sentence, four voices, 36 uploads. Every run returned success.

Two of the three US voices lost words too

That is the part worth holding on to. The worst render of the four was the Scottish one, but two perfectly ordinary US English voices did not agree with each other either - one scored 32 of 32, the other 29 of 32 on the same sentence. Accent is not a special failure category that switches on at some point. It is the visible far end of a range that starts with plain speaker variation, which is why a transcript that looks fine from one speaker can come back damaged from the next with no difference in the response you receive.

The errors landed on one sound cluster

Across the 33 scored runs, 20 of the 32 words never changed at all. Nine words changed at least once, and they were not spread evenly: ships (wrong in 17 of 33 runs), thin (20 of 33), sail (25 of 33), red (29 of 33), brown (30 of 33), fox (30 of 33), three (31 of 33), past (32 of 33), and the. Almost every unstable word sat in the opening five words of the sentence - 'Three thin ships sail past' - the stretch carrying the two consonant sounds that shift most between accents of English. The three error shapes we saw were a merge (two words written as one, 'thinship'), a homophone swap ('sale' for 'sail'), and a capitalisation change that turned two common words into what reads like a proper name ('Red Rice'). All three read as ordinary English, and none of them was flagged.

Slowing the audio down does not fix it

So a speed nudge moves errors rather than removing them

This is the whole finding in one line. On the damaged render, every speed we tried landed between 27 and 31 words out of 32, and which words were wrong changed from setting to setting. Speeding the file up by 15 percent happened to be the best of the five for this particular file, and it reproduced, but the neighbouring settings on both sides were worse. That is not a fix you can carry to the next file - it is a reason to run two settings and compare, which is a different habit.

Neither does re-encoding - and denoising made it worse

A fix that worked last time can fail this time

In an earlier test on speech buried under noise, noise reduction was the one measure that measurably helped, gaining two words. On accented speech today it cost four. Neither loudness normalisation, nor filtering, nor re-encoding to a smaller file did anything useful. If you are going to pre-process audio, test it on your own file and compare the two transcripts - do not import a fix from a different problem.

Less bandwidth hurts the unusual render more

Downsampling the clean render to 8 kHz cost one word out of 32. Downsampling the damaged render to 8 kHz cost six, and it additionally turned 'brown fox' into 'breakfast'. The same reduction in information did six times the damage, because the render whose acoustics were already unusual had less redundancy left to lose. Our transcriber works from a single-channel 16 kHz stream, so anything you do to the file before upload that narrows the signal - heavy compression, aggressive filtering, downsampling - is spent against a smaller budget when the speaker does not sound like the majority of the model's training material.

Where your file actually goes

One clarification, because it is easy to get wrong: the file does leave your browser. It is posted to our /api/transcribe over an encrypted connection, held in memory while the model reads it, and dropped when the response is returned. There is no account, no stored copy and no job you can come back and fetch later - a GET to the same path returns 404. The practical consequence for accented audio is simple: keep your original file. It is the only artefact that lets you re-check a word later, and the transcript itself carries no timestamps to find that word by.

How to check a transcript you cannot verify

What we did not measure today

Three honest gaps. The voices are synthetic, so these numbers describe acoustic variation between voices, not a real person's accent. We have no labelled accented corpus, so there is no accuracy percentage here and there will not be one until we can score against something real. And we could not build a genuine code-switched file - two languages inside one clip - with the tools available today, so that case stays unmeasured rather than answered. What we can say about it is only structural: with the language field stuck at unknown, a mixed-language file gives you no signal at all about which language the model thought it was hearing, so any non-English stretch has to be checked by ear.

Affiliate link

Two of the problems on this page start with the file: a container this tool will not read, and a re-encode that already threw away bandwidth the audio needed. Wondershare UniConverter converts the original once, cleanly, to MP3 or M4A — 16 kHz or higher, single channel.

FAQ

Does an accent make transcription fail?

No. Every one of our 36 uploads today returned HTTP 200 with success, including the runs that came back missing four words and eight words. Accent changes which words come out; it does not produce an error, a warning, or any field you can inspect to notice that something went wrong.

Can I fix an accented transcript by slowing the audio down?

We measured it, and no. On the damaged render, speeds from 0.75x to 1.35x all landed between 27 and 31 words out of 32, and the worst result came from the fastest setting. One setting (1.15x) scored best for that file and repeated identically four times, but it moved the errors rather than removing them, and the settings either side of it were worse.

Why does the tool not tell me which language it heard?

Because the model response does not include one. Every response we received today carried six fields, and the language field read unknown on all 36. There is no confidence score, no per-word score, no timestamps and no alternative readings, so the transcript you get is the only output there is.

Should I run noise reduction over the audio first?

Test it rather than assume it. On noisy speech in an earlier test, noise reduction gained two words and was the single useful measure. On accented speech today it cost four words and introduced an obscenity, making it the worst result of the day - and it cost a word on the clean render too. Run the file with and without, and keep whichever transcript matches the audio better.

Which file should I upload if the speaker has an accent?

Keep the signal as wide as you can: a single channel at 16 kHz or higher, and lossless rather than heavily compressed if you have the choice. Downsampling to 8 kHz cost the clean render one word out of 32 and the accented render six, so the file that sounds unusual has the least room to spare.