Hello,
I’m posting this idea here in the hope that someone has a better solution. I use TTS on my cards and a problem that I sometimes run into is even great TTS engines will horribly mispronounce some domain-specific vocabulary. For instance, the engines I’ve tried will pronounce the word “cation” in a way that sounds like “cay-shun” when it should be pronounced “cat-eye-on”.
My current solution, which I don’t love, is to have another field for pronunciation. If “cation” is in a field named Term
, I create another field named Term (pronunciation)
and enter “cat-eye-on”. The template then gets one of these so that the pronunciation field gets read:
[anki:tts lang=en_US]{{Term (pronunciation)}}[/anki:tts]
I can see this getting unwieldy very fast if I need to add a new field whenever something’s mispronounced and there isn’t already a FIELD_NAME (pronunciation)
field.
I also attempted to use JavaScript to manipulate/replace text, but it seems that text gets sent to the TTS engine before it can be acted on by JavaScript in the card rendering process. Is there a better way than 2 different fields for pronunciation?