vrcx-team / VRCX

Friendship management tool for VRChat
MIT License
1.02k stars 186 forks source link

[Feature Request] add TTS username pronouncement option #137

Open Tazaur opened 3 years ago

Tazaur commented 3 years ago

Some people have unpronounceable usernames like su.per_k1llr420. The TTS is great, but takes every name and pronounces it the way its spelled. In this case, itd say "Su dot per underscore K one El El R Four two zero has logged on."

I propose a simple text box that changes the way the TTS pronounces the name. For example, I can type in "super killer four twenty" and the TTS will then use that name instead of the actual user name when giving notifications.

Natsumi-sama commented 3 years ago

Personally I think that's what makes it great, how badly it pronounces names. Try install another English voice like UK it might do a slightly better job at pronunciation of some names.

Tazaur commented 3 years ago

Personally I think that's what makes it great, how badly it pronounces names. Try install another English voice like UK it might do a slightly better job at pronunciation of some names.

Changing the voice model does not stop the TTS from vocalizing things like "Underscore". That sort of thing is built into the TTS engine itself. Also, it obviously wouldn't have to be used, if you prefer the default, but some people don't like the default pronunciation.

The point is that some people have usernames in non-Latin symbols (like Arabic, Japanese, Chinese, etc.). The TTS is not designed to handle such characters, and therefore simply skips all characters it does not understand. Names that do not follow English rules are also a problem. I have a few friends whose usernames are actually French, and the TTS kinda butchers it...

Some people also develop nicknames in VRC and are better known by that than they are their actual username. For example, I have a friend who's username is ThatWhoFella (for safety reasons, not his actual username, but close), but everybody calls him Squeakers (Long story) and I have very rarely ever heard his real username used.

Aside from this feature being generally really useful, it should also be relatively easy to implement. All that's needed is a stored local file that has a list of any users with a saved pronunciation. Anytime before the TTS reads the username, it consults that list and vocalizes the new pronunciation in place of the username, if a new pronunciation index exists within the file. You likely already know this, or know a better way to do it...

Anyway, thank you very much for reading that little essay, here's a mockup I made of where a textbox could go for the pronunciation. :)

PS. I really love VRCX, you've done great work! Just throwing in my two cents XP

NamePronunciation