Since SU7 has been installed I am noticing incorrect text to speech translation for OFFLINE atc voices, Azure seems to be unaffected.
The particular issue seems to affect certain types of clearance and instruction. The video below illustrates the issue.
It seems to be tied to code in en-US.locPak in Official\OneStore\fs-base (or the offline TTS engine being able to decode this correctly). The sort of code producing issues is:
Resume (so it’s not pronounced like “résumé”): [p-beg]RA AX . S2 Z U M[p-sep]resume[p-end] own navigation.
RNAV (so it’s not spelled out as “R-N-A-V”): [p-beg]S1 AA RA . N AE V[p-sep]r-nav[p-end]
Wind (so it’s not pronounced like “wined”): [p-beg]W IH N D[p-sep] Wind [p-end]
(Thanks to @N316TS for helping me track this code down in the affected file)
I hear stuff like “microsoft” appearring in the middle of some utterances. It sounds like the strings being passed to the Voice engine contain metadata/hints which Azure understands and does not ennunciate, but the offline Windows Voice engine does not understand and generates voice output for.
An additional inaccuracy is also concerning traffic warnings or directions by ATC. Any direction using “O’clock” is incorrectly converted from text to speech as something like “oh apostrophe clock”.
“Microsoft” is clearly heard, other words seem a little garbled or just mispronounced maybe?
These extra words are not part of a normal atc response.
I thought it was reading the file header name…
Looks like the offline TTS, for some reason, is trying to speak the SSML (Speech Synthesis Markup Language) code that should have been truncated at the user-end. This probably explains the unintelligible speech you hear, for example in OP’s video:
<phoneme alphabet="x-microsoft-ups" ph="<your string here written in Universal Phone Set>"></phoneme>
One work around is to edit the file
located in the package folder fs-base using a text editor to remove any references to the code put in to educate text to speech (TTS) how to pronounce certain words, that currently are working with Azure TTS but not offline TTS
This could be edited to read
However, this creates other issues and that will now be pronounced off line (and with Azure TTS) as “wind” as in “wind up toy” rather than “wind” as in the thing that blows air around.
So an alternative to “wind” would have to be used, e.g. “wheend”
Similar pronounciation issues occur with “resume” and “rnav” when this code is edited.
Theoretically it is possible and I have experimented with it and got it to work.
However, sticking to azure ATC is what I am currently doing as it isn’t cutting out for me as frequently as it used to.