EDCD / EDDI

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

strip punctuation at the end of ship names #2467

Closed slippycheeze closed 1 year ago

slippycheeze commented 1 year ago

What's Wrong (please be as specific as possible)

The good ship I'm gonna go POKE IT! has some rather odd pauses in the EDDI dialog; that trailing exclamation point does the trick. Especially odd when it sounds like " 's whatever", which I think is just an artifact of starting a sentence with a lower-case letter, but still...

Anyway, examples from speechresponder.out:

I'm gonna go POKE it! now registered with EG Union. Identification is sierra lima papa zero fawer.
I'm gonna go POKE it! restocked.
I'm gonna go POKE it! has lifted off.
I'm gonna go POKE it! has touched down on Outotz X V dash T c 17 dash 0 B C 1.

Expected

I kind of expected that y'all would already do this, but I guess most people have more serious ship names or something. Anyway, expectation: the ship name used in speech output omits the exclamation mark. (I'd /like/ it to put the right excitable emphasis on the last couple words, but we don't have speech systems that sophisticated on desktop yet. :)

Configuration

Tkael commented 1 year ago

Emphasis can be manipulated to some degree with SSML instructions (ref. https://www.w3.org/TR/2002/WD-speech-synthesis-20021202/#S2.2.4), but the voice and synthesizer ultimately interpret (or sometimes don't interpret) the instructions we provide. Consequently, you may find some voices which work well with SSML commands and others which are much more limited. Microsoft Hazel is usually a pretty good baseline voice to test against. We do allow some SSML to be used in the speech responder since some of the custom functions we use are SSML-based so the available toolset is actually a little wider than you might think and you might find an acceptable solution by using SSML directly in your script.

Try testing these variations in the speech responder:

I'm gonna go POKE it!

I'm gonna go <emphasis>POKE it!</emphasis>

I'm gonna go
<prosody contour="(0%,+200%)(60%,+100%)(80%,+10%)"><prosody rate="+50%"><prosody volume="+50%">POKE</prosody></prosody></prosody> 
<prosody pitch="+200%">it!</prosody>

You should have full access to the prosody and emphasis SSML tags within the speech responder so feel free to experiment with this. I haven't found settings that reliably emphasize speech in a manner in a manner I find satisfactory. If you find settings that perform well then please let me know and we may be able to offer a new feature. o7

Tkael commented 1 year ago

Closing as (at present) there is not a clear path forward for addressing this more broadly.