Text-To-Speech (TTS) Voices
So I've been thinking about adding just something small. It would be the feature of changing voices. Me and my friend sometimes don't understand what the text-to-speech woman says because of her accent. If you could help with this, we would be really thankful.
Sincerely, David
-
VMLomo
Absolutely! That's the plan. I will create two .reg file code entries for you to copy paste, or will include links to the .reg files maybe from my Gist or something or pastebin. One file will be to modify the key, the other will be to change it back to the "David" default. It will be up to the user to follow additional instructions I will give about how to find the value of the token to use for the replacing the default regkey with the desired token. I will point to where to find your voice token list in the registry, the user will have to copy the correct token value from there to the discovered default voice key Discord is using. the change I made did not seem to break any TTS or STT functions using SAPI so I think it's a legit workaround, but I want to know from Discord first because if that key is vital to future workings I don't want to jump the gun by issuing this workaround if it can cause a break or regression in the future based on their plans/roadmap.
We'll figure it out. The fix itself is actually very simple and only involves changing one key's value (string value for TTS token), it is the key I found that Discord is now using to determine the voice to use, modifying this key essentially changes which voice Discord selects from the MS SAPI. What's strange is how that key works but I'm not going to go into that now, it's probably more a question I have to ask MS about.Anyway, I haven't heard back yet so if I don't hear a "NO" I'm going to go ahead and post it for Ya'll this afternoon or early evening, thanks for being patient and I hope you understand, I just don't want to make a bad situation potentially worse. TTYS!
-Spikeypup#5103 / Patrick Ewalt
0 -
Sorry for the delay in posting, I am feeling a bit under the weather so I'm going to take a little rest and then I will go ahead and post the full solution when I get up, hopefully within a few hours, thanks for your patience, I hope you can understand; I ended up not sleeping still since the other day and I'm just zonked.
-Spikeypup
1 -
I highly doubt Discord have the capacity to reply to fixes and requests in 24 hours, so take your time Spikeypup.
Separately I've demonstrated the issue (Discord not honouring the TTS settings in Windows) to Discord support who've since escalated it to their dev team for further examination. That was at the end of September, so maybe we'll see something come out of this in a release or two~
0 -
I ran into some issues with this, I have to perform further tests and research, my apologies. I'm working on it right now... I will post as soon as I can.
1 -
I jumped the gun I apologize, while i have a workaround it's not what I thought. If you use another voice like Zira or Mark, then this workaround should work, but if you use a more custom voice like EvaM or something your've purchased etc. then the workaround I have DOES NOT WORK. I've narrowed it down to the one registry key that Discord uses for the voice selection, however whenever I modify this key to voices other than David, it only works for Zira or Mark (the other default voices with windows), and NOT my custom voice I use everywhere else, EvaM.
So I'm having to debug this at a much lower level than before and honestly I lack the registry monitoring tools I ned to make this easier, I have tools that work, but it's going to take me much much longer and a lot more analysis to find out what's going on. Basically if I change the key to Mark or Zira, it works, if I don't, Discord resets the key on it's own to David! So I have to find out how/where Discord is enumerating voices from, and how to "tweak" what is happening there during that process so that Discord can be set to use the voice you want.
I do have an escalated ticket in with Discord on this and they are aware of this thread and all my thoughts on this issue.... they're looking into it. Hopefully, they will do what is the BEST thing, which is to just provide a drop-down selection box that allows you to select the voice you wish to use (and others you can get, what an opportunity for them to make $$$! So, they should think about it, as like a Nitro thing where you can have neat or weird voices that they have, however selecting any system installed voice that is compatible should be FREE of course).
So, if something comes of that support conversation, I will be sure to relay that here as well. For now, I need more time to test all the possible keys and permutations of things, and it's not a little list, it's about 30 CLSIDs and Tokens spread out across dozens of keys and branches, and a lot of it is hashed so it makes it even harder to keep track of what you're doing...oof. Anyway, I'll keep you guys posted. Sorry for the delay...If at the end of the day I can't figure this out for other voices than Zira and Mark, I'll still put up that info, but it's not really useful compared to the goal fix. If you use either of those voices just mentioned and would just like to switch back to Mark or Zira, message here that it's urgent and I'll put up the fix to accomplish the change back to Zira or Mark. Otherwise, I need more time.
Thanks, keep your fingers crossed!
-Spikeypup#5103
2 -
icy McFreezeFreeze
Thanks, yeah the dev team is also working with me on this one, it was fast at first but things have slowed down, I'm sure they are busy and I don't mind working on this, I had to fix something in the Speech/SpeechCore keys anyway to fix another TTS problem, so it's convenient if that makes any sense lol.
Hopefully I'll find more stuff out to share today. I'll keep you all posted. Thanks!-Spikeypup#5103
1 -
FYI, changing this key got it to use EvaM for me (after adding it manually, etc in Speech, Speech_OneCore, adjusting the xml in Windows folder, etc - i.e. working elsewhere in Windows).
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Speech_OneCore\Voices]
"DefaultTokenId"="HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech_OneCore\\Voices\\Tokens\\MSTTS_V110_enUS_EvaM"(I should mention this is in a Win11 environment - just in case this was magically added and I happened to stumble across it - default points to David for en-US)
1 -
Benari Pro Thank you!
This worked for me.
EDIT: Ok so after a bit more testing this registry workaround is a bit more wonky than expected. Note that I only tested with Microsoft voices and not custom voices.
1. Discord seems to also take into account the "Language" on it's own settings
2. So if I set the Discord Language setting to English UK, it will only select from either George or Susan/Hazel (both these voices are literally the same sounding)
3. If I set the Discord Language setting to English US, it will only select from David and Zira
4. I cannot get it to work with a custom Microsoft voice, for example Cortana's Eva voice (even though I had it unlocked on Windows settings using similar registry hacks)
0 -
VMLomo
I presume you followed all of these steps and modified each file etc, just modifying the registry doesn't let EvaM work as expected after one of the updates to Windows around the 1803 feature update timeframe.https://superuser.com/questions/1141840/how-to-enable-microsoft-eva-cortanas-voice-on-windows-10
I do agree that something else has changed since the accessibility options were introduced in Discord, but this is still working for me at the moment. :fingers_crossed:
0 -
Benari Pro Thank you!
I followed the instructions on the link you provided, but I had to add Eva on a few more locations on the registry (I also had to add it to WOW6432Node\Microsoft\Speech_OneCore) to get it working as the TTS voice on Discord:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\MSTTS_V110_enUS_EvaM]
@="Microsoft Eva Mobile - English (United States)"
"409"="Microsoft Eva Mobile - English (United States)"
"CLSID"="{179F3D56-1B0B-42B2-A962-59B7EF59FE1B}"
"LangDataPath"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,53,\
00,70,00,65,00,65,00,63,00,68,00,5f,00,4f,00,6e,00,65,00,43,00,6f,00,72,00,\
65,00,5c,00,45,00,6e,00,67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,\
00,5c,00,65,00,6e,00,2d,00,55,00,53,00,5c,00,4d,00,53,00,54,00,54,00,53,00,\
4c,00,6f,00,63,00,65,00,6e,00,55,00,53,00,2e,00,64,00,61,00,74,00,00,00
"VoicePath"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,53,00,\
70,00,65,00,65,00,63,00,68,00,5f,00,4f,00,6e,00,65,00,43,00,6f,00,72,00,65,\
00,5c,00,45,00,6e,00,67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,\
5c,00,65,00,6e,00,2d,00,55,00,53,00,5c,00,4d,00,31,00,30,00,33,00,33,00,45,\
00,76,00,61,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\MSTTS_V110_enUS_EvaM\Attributes]
"Age"="Adult"
"Gender"="Female"
"Version"="11.0"
"Language"="409"
"Name"="Microsoft Eva Mobile"
"SharedPronunciation"=""
"Vendor"="Microsoft"
"DataVersion"="11.0.2013.1022"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_enUS_EvaM]
@="Microsoft Eva Mobile - English (United States)"
"409"="Microsoft Eva Mobile - English (United States)"
"CLSID"="{179F3D56-1B0B-42B2-A962-59B7EF59FE1B}"
"LangDataPath"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,53,\
00,70,00,65,00,65,00,63,00,68,00,5f,00,4f,00,6e,00,65,00,43,00,6f,00,72,00,\
65,00,5c,00,45,00,6e,00,67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,\
00,5c,00,65,00,6e,00,2d,00,55,00,53,00,5c,00,4d,00,53,00,54,00,54,00,53,00,\
4c,00,6f,00,63,00,65,00,6e,00,55,00,53,00,2e,00,64,00,61,00,74,00,00,00
"VoicePath"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,53,00,\
70,00,65,00,65,00,63,00,68,00,5f,00,4f,00,6e,00,65,00,43,00,6f,00,72,00,65,\
00,5c,00,45,00,6e,00,67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,\
5c,00,65,00,6e,00,2d,00,55,00,53,00,5c,00,4d,00,31,00,30,00,33,00,33,00,45,\
00,76,00,61,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_enUS_EvaM\Attributes]
"Age"="Adult"
"Gender"="Female"
"Version"="11.0"
"Language"="409"
"Name"="Microsoft Eva Mobile"
"SharedPronunciation"=""
"Vendor"="Microsoft"
"DataVersion"="11.0.2013.1022"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_enUS_EvaM]
@="Microsoft Eva Mobile - English (United States)"
"409"="Microsoft Eva Mobile - English (United States)"
"CLSID"="{179F3D56-1B0B-42B2-A962-59B7EF59FE1B}"
"LangDataPath"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,53,\
00,70,00,65,00,65,00,63,00,68,00,5f,00,4f,00,6e,00,65,00,43,00,6f,00,72,00,\
65,00,5c,00,45,00,6e,00,67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,\
00,5c,00,65,00,6e,00,2d,00,55,00,53,00,5c,00,4d,00,53,00,54,00,54,00,53,00,\
4c,00,6f,00,63,00,65,00,6e,00,55,00,53,00,2e,00,64,00,61,00,74,00,00,00
"VoicePath"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,53,00,\
70,00,65,00,65,00,63,00,68,00,5f,00,4f,00,6e,00,65,00,43,00,6f,00,72,00,65,\
00,5c,00,45,00,6e,00,67,00,69,00,6e,00,65,00,73,00,5c,00,54,00,54,00,53,00,\
5c,00,65,00,6e,00,2d,00,55,00,53,00,5c,00,4d,00,31,00,30,00,33,00,33,00,45,\
00,76,00,61,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_enUS_EvaM\Attributes]
"Age"="Adult"
"Gender"="Female"
"Version"="11.0"
"Language"="409"
"Name"="Microsoft Eva Mobile"
"SharedPronunciation"=""
"Vendor"="Microsoft"
"DataVersion"="11.0.2013.1022"0 -
I use(d) a custom IVONA voice. I can't be trusted with registry keys and so can't fix this myself. Maybe one day..
1 -
Chana Don't fret my dear friend. Contact me on Discord, I'll try to help get it running again for you. I can be trusted with Registry keys lol, however. We can do this remotely using a safe environment built-in to windows for Support called Quick Assist (provided you are on windows 8 or higher). If you're interested simply message me on Discord (Spikeypup#5103)
0 -
Spikeypup It's been a while are you going to share the registry edits for those that don't use the EvaM or other super custom voices?
0 -
Maverynthia I apologize for the wait, the reason I didn't post them was because the person who posted right after I said to wait, had posted everything already so I didn't think I needed to. Did you mean you want the edit files? Well it depends on what voices you are using, you might want to get in touch with me on Discord so we can talk about getting you all fixed up. Spikeypup#5103 I can put generic ones up for EvaM but for anything else we need to investigate and write them up. Get at me if you need help, otherwise if you do follow the instructions above you should get results, if you need the .reg files, and I'll try to get them out asap, I just have a lot going on with work and school and stuff so it might take me a day.
0 -
Spikeypup I was thinking you'd post a general way to do it for all the voice and not just the EvaM voice. Like the Zira or Mark voices. I checked my REG and it seems the voices I want are already in those areas and Discord is STILL using M$ David as default. I'm ready to fully banish it off my system and probably break everything at this point. I can't even get it to use Mark or Zira.
(The voice in Question I want to use is M$ Ichiro as I have a lot of both ENG and Japanese stuff that needs to be read and it does the best. I have changed my computer region and Discord region, which only uses Haruka and not Ichiro that has been set.)
0 -
Maverynthia
I see, the problem is there is no general way to do it, certain things might also be different region to region GUID wise, not sure. But like in your case I can't make a general fix because I have to know the voice in question and all the details about the voice as it is installed and set in your registry.You can try creating another profile on your PC and try discord there with your selected voice, it should work, if it does, then you have a couple options, start using that profile, or we look at elements of that registry that pertain to voice TTS and copy them into your hive for your original profile, this will take time. The other thing it means is that you can be assured that if you were to reinstall you system, the TTS will be fixed for you.My conversation with Discord about this came down to a discussion just last week about this whole thing starting because of a bug in chromium. Not sure, but it's plausible. Anyway, I can understand if you don't want to do a remote session, but the only other way would be if you copied out a ton of branches to me and I could rework them and send them back, but honestly I don't have a lot of time to do that right now, I'm very sorry. I could handle a remote, but even that might take a couple hours, which is fine, but your call. If it were me, and my current installation wasn't a huge deal, I'd just reinstall windows, but that's not an option most would want; I get that.Again, I'd love to post some kind of generic fix but there just isn't a way to do that as everyone's situation might be a bit different, see in my case I couldn't get it to work still just like you, even after the above fixes, because the problem key was found in a completely different branch that I didn't even know existed or was related until I dug through. It was a combo of the problem outlined with the soution above, and the key I didn't know that was a problem, which is a key that contols what voice gets used as default for discord that isn't related to discord, but that discord uses as a way to determine the voice to be used, so even if your system is set one way, it continues to use the wrong voice, until that key is changed. As far as I can tell that key wasn't the same place on two different systems I looked at, that's theproblem with making a script or general .reg file in this case.Let me know if I can still be of assistance, I'll do my best. :)-Spikeypup0 -
Even some hints would be nice. I can trawl around the registry myself but I need some ideas on what I'm actually looking for. I'm using a tab in Chrome to run Discord and I do notice it changes between voices when I go from US to UK, I have several other of the Microsoft voices installed in Narrator/Language options and even got them working in the Control Panel by following some cut and paste hacks to copy the tokens over from Speech_OneCore or Speech Server (reading through the instructions on https://superuser.com/questions/590779/how-to-install-more-voices-to-windows-speech) but Discord doesn't give a hoot about any of that.
0 -
Ok, I feel ya. Let me see what I can figure out, you're catching me at the worst time, I'm behind on projects for school, 1 month behind on a website project, 1 week behind on producing and mastering an album and infinitely behind on exercise. ;) Please be patient, I know you already have been, I just need a free minute to think about this, and when I do, I will get back. If you don't hear back in like 5 days, message me back, sorry i'm just that busy and forgetting stuff left and right.
0 -
CrashCat Got your last message although I don't see it here. I will try to post everything you need up to a gist or somethign so you can grab from there with some instructions, I'm not ready to create the .reg yet, but I will have free time coming up soon. I have been sick so that put a speed bump in things, but I'm trying to catch up. I didn't forget ya! Thanks for understanding!
-Patrick /Spikeypup
0
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น
ข้อคิดเห็น
49 ข้อคิดเห็น