Kristopher Baker iOS roots · Product systems · AI-assisted workflows
← Aoede

note · 2026.06.13 · 1 min read

"16%" Came Out "Sixteen"

Aoede's local voice read "16%" as "sixteen." The percent sign just vanished. The cause was a gap between two import paths: plain-text books run through a TTS normalizer that spells symbols out, but EPUB and PDF use a different build that skips it, on purpose, to keep the highlight offsets lined up with the formatted text. So for most real books the bare "%" reached the speech engine raw, and its G2P quietly dropped it.

The fix expands a small set of symbols (& % + = #) only in the text handed to the synthesizer, and only for English, since the Japanese ones differ. The highlight timeline is still built from the original, untouched sentence, so the words I insert for the voice don't line up with anything on screen and are simply skipped. You hear "sixteen percent," and every highlight still lands on the right word.