▶TranscriptReel

Text to Speech Audio: Why a Synthetic Voice Comes Back as Digits

2026-11-08
Short answer

A clean synthetic voice transcribes very well on words and very badly on numbers. We generated one 67-word script in four different text-to-speech voices, uploaded each, and compared. The prose came back nearly intact in all four - same sentence order, same meaning. The numbers did not. "Thursday at three forty five" became "Thursday at 3.45" in all four voices, and one voice wrote it as "$3.45". The spelled surname W H I T F I E L D was wrong in all four. One voice turned a phone number into "$5.555.123.4567".

Why synthetic audio is the cleanest test you can run

A text-to-speech file has no accent, no room noise, no microphone, and no uncertainty about what was said. You wrote the script, so you know the exact input. That makes it the only way to separate errors the model makes from errors you introduced by recording badly.

A photograph of the scene this test describes.
A clean synthetic voice transcribes very well on words and very badly on numbers.
The whole article in one sentence.

What came back, voice by voice

All four returned HTTP 200 with success: true. None returned an error, and none returned an empty transcript. The word counts landed between 39 and 42 against a 67-word input, because digits and spelled letters collapse into single tokens.

A tighter spread than the durations suggest. The slowest voice took 21% longer to say the same sentence and still produced a 248-character transcript. Speed did not change the output length at all.

The one thing all four got wrong the same way

The script says "Thursday at three forty five". All four voices returned "Thursday at 3.45". Not one of them wrote "three forty five" back. The model converts spoken numbers to digits as a matter of course, and it does it whether the source is a human or a synthesizer.

That last one is worth pausing on. Nothing in the audio says dollars. The word before it was Thursday. The model had just seen a number-like token and defaulted to currency formatting, which means the error is in the formatting stage, not in the listening stage.

The spelled surname broke in every voice

The script spells out a surname letter by letter: "Dana Whitfield, spelled W H I T F I E L D". Every voice mangled it, and each one mangled it differently.

Voices 1 and 4 also changed the name itself, from Whitfield to Woodfield. That is the same failure our spelling tests have shown before: isolated letters carry no context, so the decoder has to guess each one, and a guessed letter sequence can drift the surrounding proper noun too.

The phone number: right, then wrong, then worse

The script says the phone number as separate digits: "five five five, one two three, four five six seven". Three voices produced a correct, conventionally formatted number. The fourth did not.

Voice 4 is the same voice that put a dollar sign on the time. It had a formatting bias toward currency and applied it to every numeric string in the file. The digits were never the problem. The wrapper around them was.

The large number: three of four got the words right, one got the value wrong

The script says "twelve thousand four hundred and six dollars". This is the one place where the voices genuinely disagreed on content rather than formatting.

Voice 2's error is a listening error: six and zero are acoustically close in a fast synthetic read. Voice 4's is a formatting error compounded onto a listening error. Voice 3's is pure formatting, and it matters because 12.406 and 12,406 read as different numbers in most of the world.

Speed it up and the numbers degrade fastest

We took the fastest-reading voice and compressed it to 1.6x with the pitch preserved. The prose survived. The numbers did not.

The word count did not move, so a length check would have missed this entirely. That is the practical lesson: if you are verifying a transcript, compare the numbers, not the word count.

What to do about it

If you are generating audio from a script and then transcribing it - a common route for testing a pipeline, or for producing captions without recording a human - the fix is not in the model. It is in how you write the script.

There is one upside. Because the prose comes back so cleanly, a synthetic voice is a good way to check whether a failure is yours. If your own recording of the same script produces worse text than the synthesized version, the problem is in the recording - noise, level, distance from the mic - and not in the words you chose.

Does text-to-speech audio transcribe accurately?
The question this piece answers, in the words people search with.

Short version

A synthetic voice gives you near-perfect prose and unreliable numbers. All four voices turned "three forty five" into 3.45, all four broke a spelled-out surname, and one applied currency formatting to a time and a phone number. The words are the reliable part; treat every digit in the output as unverified until you check it.

Affiliate link

Synthetic audio exposes the real problem - not the words but the digits, which every voice we tested reformatted and one turned into dollar amounts. Wondershare UniConverter lets you regenerate or convert that audio locally at a chosen level and format, so a bad take is one export away from a clean one. It does not transcribe - the words come back from this page.

FAQ

Does text-to-speech audio transcribe accurately?

For prose, yes. Four synthetic voices reading the same 67-word script all returned the sentences in order with the same meaning, at 39 to 42 words each. The numbers were reliably wrong in some way in every voice.

Why does a transcript put a dollar sign on a time of day?

Number formatting is a separate step from listening. One of our four voices returned "Thursday at $3.45" and also "$5.555.123.4567" for a phone number. The digits were right; the model applied a currency format to every numeric token.

Should I say numbers as words or digits in my script?

Either way, expect digits in the output. Our script said "three forty five" and all four voices returned "3.45". Decide the format after transcribing rather than trying to force it through the script.

Can I use a synthetic voice to test my transcription setup?

Yes, and it is the cleanest baseline available, because you know the exact input and there is no room noise or accent. If your own recording of the same script transcribes worse, the gap is your recording, not the model.