Follow

Enforced pronunciation dictionaries in VoiceOver 

Can I just complain once again about enforced pronunciation dictionaries in TTS systems?

I speak a language (Catalan) that is not supported by TTS on Apple systems, even though there ARE Vocalizer Catalan voices. Therefore, I use Spanish TTS, which sounds extremely wrong but I can at least understand. Mostly.

Some Catalan words happen to be spelled the same as words in other languages which are more important to some rando APple engineer. Therefore, the weak pronoun "et" is read as "e", because French. The preposition "sense" is read as "sens", also because French. I (and) in the beginning of sentences is sometimes read as "Ai", because English. The direct object pronoun "ho" is read as "jo", NO IDEA WHY.

I cannot disable these. Nobody can. Apple keeps adding new ones that break existing words. I am so tired of this. So very tired of this pseudocorrect pronunciation being enforced on me.

Enforced pronunciation dictionaries in VoiceOver 

The thing is, this also happens in Spanish. They keep adding and removing words that are just completely wrong. On Mac OS, "case" from the verb "casar" is read as "keis". "Mean" from "mear" used to be read as "min". These are literal Spanish words and they take so, so long to realize they've fucked up. These dictionaries aren't even shipped with OS updates, they seem to appear on my iPhone out of the blue with no explanation whatsoever.

Enforced pronunciation dictionaries in VoiceOver 

Never mind the abbreviation mess. 1kg is now read, literally, as "1 EXPANSION O F KG). With the Spanish voice. Nothing makes sense anymore. And all I can really do is wait and hope they realize.

Thankfully I know what an exception dictionary is, and I know why these things happen. Many users do not, should not have to care about why their phone is saying words completely wrong.

Enforced pronunciation dictionaries in VoiceOver 

I know a lot of these pronunciation exceptions are created with Siri in mind, so that people can find a Paramore song and have Siri actually say "páramor". That's fine, I honestly don't care, but leave screenreaders out of it, or at least make it a togglable setting for them. I want to hear what's on the screen, not a pseudoanglicized representation based on what John Appleseed thinks are the most common 1000 English words in the latest albums by top artists.

Enforced pronunciation dictionaries in VoiceOver 

@guilevi oh no, oh my god, this is awful, and from what you say, my guess is that they are being lazy and defaulting to English pronunciations, even when the language / context / system language is Spanish.

Enforced pronunciation dictionaries in VoiceOver 

@nein09 Not even that. The TTS language is Spanish, the standard pronunciation is Spanish. The synthesizer has Spanish pronunciation rules by default. Outside of iOS, if it encounters the word "ho", it will just pronounce it as "o", because the H is silent in Spanish. However, on iOS, they artificially add a j sound, something kind of like the English H sound, for no reason. The Catalan word "jo" also exists, meaning I, and of course that is also read as "jo" on iOS, which means there is no distinction. Usually context is enough, but when it isn't, I find myself having to review messages letter by letter, just because someone at Apple got bored and added this "ho" exception. I don't know if I'm making sense haha

Enforced pronunciation dictionaries in VoiceOver 

@guilevi ugh, so this is on iOS specifically and it works right everywhere else? But in iOS, it's just doing English pronunciations for no good reason?

Enforced pronunciation dictionaries in VoiceOver 

@nein09 iOS and Mac OS use a TTS engine called Vocalizer, which is present in many other products. Vocalizer does have its own weird pronunciation exceptions, but on other platforms they are very much toggleable and they are not nearly as numerous as on iOS and Mac OS. As I said in my last toot, this is probably done so that Siri can say random song names correctly, but there's a difference between a virtual assistant and a screenreader.

Enforced pronunciation dictionaries in VoiceOver 

@guilevi oh, interesting. I can totally see why they would want to use one thing for both, and I can also totally see how it'd get screwed up by trying to serve both purposes.

Thank you for taking the time to explain all this to me. I don't work at Apple, but as a software person, I'm interested in the unintended consequences of the architectural choices I make.

Enforced pronunciation dictionaries in VoiceOver 

@nein09 And thank you so much for listening. Developers like you truly do make a difference. I also see why they did it the way they did, but this has been going on for a very, very long time, and given that I depend on my screenreader for 99.999% of the tasks I carry out on my computer and phone, having it change how it says things every week or two gets old really quickly.

Sign in to participate in the conversation

A fun, happy little Mastodon/Hometown instance. Join us by the fire and have awesome discussions about things, stuff and everything in between! Admins: @Talon and @Mayana.

<svg xmlns="http://www.w3.org/2000/svg" id="hometownlogo" x="0px" y="0px" viewBox="25 40 50 20" width="100%" height="100%"><g><path d="M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z"/><path d="M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z"/><path d="M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z"/><path d="M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z"/><path d="M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z"/><path d="M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z"/><path d="M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z"/></g></svg>