EDCD / EDDI

Companion application for Elite Dangerous
Other
444 stars 81 forks source link

TTS on EDDI 3.5.2 not working #1758

Closed Kamasu-Tra closed 4 years ago

Kamasu-Tra commented 4 years ago

EDDI version in which issue is found

3.5.2

VoiceAttack version in which issue is found (as applicable)

1.8.5

Running Windows 7 x64

Steps to reproduce

EDDI is not communicating via TTS, in game, or in the test screen. I have tried the default TTS within windows, some additional voices, also from windows, as well as an old IVONA voice. They all show up in the EDDI control window as selectable, my volume is all the way up in the windows mixer, as well as in EDDI, and the TTS works fine in windows itself (Don't have anything else to test it with at the moment). I read in an older fix to try enabling the Do not speak out loud when text is written to the file as above option, and that does not work either. I also tried toggling disabling phonetic speech, as well as ICAO, and neither had any effect.

Have included the screen shots of my EDDI config screens; I just noticed the logging option, so I will toggle that on and play for an hour or so, try and get it to read me galnet news and see if it helps.

Investigation

EDDI screen

Kamasu-Tra commented 4 years ago

Did some more testing; if I ask EDDI to take a note in a system, it seems to activate the windows diction system, and I can hear my IVONA voice talking to me for a brief moment. I tried using the be quiet and you may talk commands, but they did nothing. Other commands through Voice Attack seem to be working fine though, and the rest of EDDI is also working; it is tied into all the accounts and is displaying information as normal.

Also, no log was was created after this play session, so I will have to try launching EDDI all on it's own without VA and try again tomorrow.

Tkael commented 4 years ago

Please zip up and share a copy of EDDI's log files (located at %appdata%/EDDI).

Kamasu-Tra commented 4 years ago

Ah, there we go, here are the logs:

EDDI.zip

Tkael commented 4 years ago

Please clarify the differences between your initial report and your first comment. The initial report seems to be saying that no matter what you do you can't get EDDI to say anything (either in standalone mode or in VoiceAttack, via the UI or via the VoiceAttack plugin). Your first comment, in contrast, seems to state that EDDI is speaking in some scenarios but not in others where you are expecting speech. Is that correct? If so, please elaborate?

Kamasu-Tra commented 4 years ago

Correct; EDDI does not use any text to speech itself it seems, it does not read galnet news, or say anything at any time. However, if I ask EDDI to take a note, it activates the Windows built in dictation system, and at that point, the TTS I have selected in Windows will work. For example, if I have the IVONA voice set in Windows, but a different voice set in EDDI, I will hear the IVONA voice when I ask to take a note. Vice versa as well; if I have EDDI set to use IVONA, but windows to use standard TTS, I hear one of the Microsoft voices when I ask to take a note. And having them both on the same TTS has no effect.

If nothing else, it leads me to believe that my TTS is indeed working, and there is some disconnect between EDDI and it. Asking to take a note about a system is the only command I have found thus far that has any TTS functionality, though as I said, I think that is part of Windows dictation system, as Voice Attack shows that it clears a Dictation buffer before and after the note.

Tkael commented 4 years ago

The dictation buffer is handled by VoiceAttack. The prompts you hear before and after (e.g. Let me know what you want to say. When you have finished say "end note". and Storing note.) utilize EDDI TTS (via the plugin interface).

Tkael commented 4 years ago

EDDI logged that it sent speech the speech synthesizer, including from Galnet events and from user invoked commands.

2020-05-05T06:44:06 [Debug] SpeechService:speak Feeding normal text to synthesizer: Welcome back commander. You have no missions at the moment. 
2020-05-05T06:47:33 [Debug] SpeechService:speak Feeding normal text to synthesizer: You are docked at the Outpost, Kettle Beacon in the Ngobed system. 
2020-05-05T06:51:00 [Debug] SpeechService:speak Feeding SSML to synthesizer: &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;speak version=&quot;1.0&quot; xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-GB"&gt;<phoneme alphabet="ipa" ph="%USERNAME%ˈTra">%USERNAME% Tra</phoneme>&lt;/speak&gt; 
2020-05-05T06:51:01 [Debug] SpeechService:speak Feeding SSML to synthesizer: &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;speak version=&quot;1.0&quot; xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-GB"&gt;You are pledged to <phoneme alphabet="ipa" ph="liː">Li</phoneme> <phoneme alphabet="ipa" ph="ˈjɒŋ">Yong</phoneme> <phoneme alphabet="ipa" ph="reɪ">Rui</phoneme>. You have served for 3.6 weeks and are at rank 3 with just over 469 accumulated merits.&lt;/speak&gt; 
etc.

(Note that the SSML is escaped and EDDI has replaced your username in the log with %USERNAME%)

It logged no exceptions as it waited for speech to complete.

Tkael commented 4 years ago

When I purchased my copy of Ivona Amy, it came with some TTS software in the package (in my case, MiniSpeech from Harpo Software). Do you have the same? If so, we can try some experiments. I'm not familiar with Ivona 2 Gwyneth. Also, what other voices have you tested? Odd that all speech seems to be silently failing though with nothing logged.

Tkael commented 4 years ago

Is it possible that EDDI speech is playing on a different speaker? I believe that it should be playing through the center speaker in surround sound systems. If you have a surround sound setup with nothing plugged into the center speaker then that might explain what we are seeing.

Kamasu-Tra commented 4 years ago

There is no additional software that I got with Gwyneth, just an EXE to install the voice file. I have also tested the Microsoft Anna, Mary, Mike, and Windows default TTS, all with no changes. Something else I just noticed as well is that EDDI is only picking up a few of the TTS voices on my computer, full picture of the EDDI window and Windows TTS screen included.

EDDI voices

Talked to my wife about it, and she is the one who installed all these extra TTS voices, and according to her, she had to do some registry changes to get them to work; it was a while ago, but she is about 90% certain that these were the exact steps she followed:

https://superuser.com/questions/590779/how-to-install-more-voices-to-windows-speech

As for making sure it's on the correct speaker, EDDI itself does not show up in the windows mixer, but Voice Attack does, and neither it, or anything else in the windows mixer shows any activity during a time when EDDI should be speaking. Only have a simple stereo setup, 2 speakers, but I will try seeing if I can force the system to run in Mono mode, in case it's getting sent to a speaker that doesn't exist.

Tkael commented 4 years ago

EDDI does not support Microsoft Server Text to Speech voices (since those use a different speech synthesizer than the native Windows voices), so we wouldn't expect those to appear in the list.

Odd again that you're seeing no activity in the Windows Volume Mixer. Have you tried running EDDI in standalone mode (without VoiceAttack)? If so, you should be able to observe EDDI directly in your volume mixer.

Kamasu-Tra commented 4 years ago

eddi mixer

No such luck unfortunately; EDDI doesn't even show up in the mixer at all. I ran some checks on Windows, and everything seemed to come up fine. I will try uninstalling and rolling back to an older version of EDDI tomorrow and see what kind of results that brings.

Darkcyde13 commented 4 years ago

Don't know if this will be any help at all, but I've just run EDDI standalone, and it doesn't show up in my volume mixer either, yet it does work ok. It makes me think that it doesn't matter if it's not there. Is it supposed to show up there then?

Tkael commented 4 years ago

EDDI doesn't appear in the mixer until I trigger speech. Once I've triggered speech then it appears. Mixer

Kamasu-Tra commented 4 years ago

Did some more testing today; deleted everything from the Voice Attack Apps folder, as well as everything in %APPDATA%, and reinstalled with version 3.5.1, and can finally see EDDI in the mixer, but still no TTS. Hitting the test button with the mixer open shows 0 activity. I then upgraded back to 3.5.2, and while I can see EDDI in the mixer now, the TTS is still not working.

Testing with Voice Attack and using the TTS through it seems to work perfectly fine, same for an e-reader program called Calibre. I dunno what else I can check or do at this point, I'm pretty stumped on it.

Tkael commented 4 years ago

I'm pretty stumped too. Are you testing with the full range of voices showing in EDDI? Or are you mostly testing with Ivona 2 Gwyneth?

Kamasu-Tra commented 4 years ago

I figured it out; having Low Frequency Protection enabled in my speaker properties stops EDDI from speaking; toggling that option immediately fixes the issue. Not sure why, as the TTS is well above the frequency cut off. But it for sure was the problem. eddi no work Eddi does work

Tkael commented 4 years ago

Aha! I'm glad you were able to find the issue. :-)