Author Topic: Is there docs for SSML in VoiceAttack?  (Read 1610 times)

Snacko

  • Newbie
  • *
  • Posts: 12
Is there docs for SSML in VoiceAttack?
« on: September 17, 2023, 02:05:18 PM »
I've been trying to figure out SSML for VA, and it's been hit or miss.  Old posts mixed with new posts..  Not sure what works, changed, etc..

Is there some documentation on SSML for VoiceAttack? or do you just have to try the various SSML docs on the internet from Microsoft, Wiki, etc...?

Like how do you put 2 lines of text to speak in one 'Say' command?  Do you have to repeat the entire <XML> definition and tags for each line?  Like for a checklist.  And how do you emphasize words, and other things common use tags?

Thanks in advance.

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4782
  • RTFM
Re: Is there docs for SSML in VoiceAttack?
« Reply #1 on: September 17, 2023, 10:52:44 PM »
SSML is not specific to VoiceAttack. VoiceAttack merely passes the information to the text-to-speech engine you select.

Which SSML tags work, depend on the specific text-to-speech engine, and would have to be documented by its author.


Dynamic response sections on the other hand, are a VoiceAttack-specific feature, and are parsed before the SSML is submitted to the text-to-speech engine.

So if you want to have multiple potential phrases, or sections of phrases, that works just like it would without SSML.

E.G.
Code: [Select]
<speak version="1.0" xml:lang="en-US">
[This is a <prosody rate="10%">test</prosody>;This is also a test]
</speak>

I.E. the header only needs to be present once, wrapping the text that is to be spoken. Other tags can wrap said text, sections of said text, or individual words. Whether they need to be repeated depends on what you want them to affect (E.G. in the above example, the word "test" would only be spoken slowly for the first potential phrase).

Snacko

  • Newbie
  • *
  • Posts: 12
Re: Is there docs for SSML in VoiceAttack?
« Reply #2 on: September 18, 2023, 03:18:02 PM »
Thanks for the reply.  So how do I find the docs for the language that VA is using?  I see in the VA Settings it is using 'default'.  And there is only this one in the list: 'Microsoft Speech Recognizer 8.0 for Windows (English - US)'.  So, I'm guessing that's the default.

But when I look at Microsoft's SSML docs, it seems some things don't work.  For instance I am just trying out some Voice parameters and express-as effects.  This example does not say the word 'Set'.

Code: [Select]
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
    <voice gender="male">
        <mstts:express-as style="excited">SET</mstts:express-as> Interior and Exterior Light Knobs.
    </voice>
</speak>

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4782
  • RTFM
Re: Is there docs for SSML in VoiceAttack?
« Reply #3 on: September 18, 2023, 11:57:04 PM »
You're looking at the speech recognition engine (as indicated by "Speech Engine" being on the "Recognition" tab, and the name of the engine containing "Recognizer").

Which text-to-speech engine is being used would be determined either:
By Windows itself, as configured on the "Text to Speech" tab of the "Speech Properties" control panel applet (which can be opened using by choosing "Speech Control Panel" from the "Utilities >" context menu on the "Recognition" tab of the VoiceAttack options window, and clicking "Text to Speech" on the left-hand side of the window that opens)
At the action level, by the "Voice" dropdown of the "Say Something with Text-To-Speech" action, if that is not set to "Default"
At the profile level, by the "Default text-to-speech voice" dropdown on the "Profile General" tab, if that is not set to "None"

That is assuming you're using SAPI text-to-speech engines, I.E. that the "Use Built-In SAPI Text-To-Speech Synthesizers" option is selected on the "System / Advanced" tab of the VoiceAttack options window, which it normally is by default.


The documentation you've linked to pertains to Microsoft's "AI"-based Azure text-to-speech, not the normal SAPI engines.
Microsoft unfortunately tends to make documentation for older features (despite shipping them with current versions of Windows by default) difficult to find or even unavailable from official public sources.

Snacko

  • Newbie
  • *
  • Posts: 12
Re: Is there docs for SSML in VoiceAttack?
« Reply #4 on: September 19, 2023, 09:35:31 AM »
You're looking at the speech recognition engine (as indicated by "Speech Engine" being on the "Recognition" tab, and the name of the engine containing "Recognizer").

Which text-to-speech engine is being used would be determined either:
By Windows itself, as configured on the "Text to Speech" tab of the "Speech Properties" control panel applet (which can be opened using by choosing "Speech Control Panel" from the "Utilities >" context menu on the "Recognition" tab of the VoiceAttack options window, and clicking "Text to Speech" on the left-hand side of the window that opens)
At the action level, by the "Voice" dropdown of the "Say Something with Text-To-Speech" action, if that is not set to "Default"
At the profile level, by the "Default text-to-speech voice" dropdown on the "Profile General" tab, if that is not set to "None"

That is assuming you're using SAPI text-to-speech engines, I.E. that the "Use Built-In SAPI Text-To-Speech Synthesizers" option is selected on the "System / Advanced" tab of the VoiceAttack options window, which it normally is by default.


The documentation you've linked to pertains to Microsoft's "AI"-based Azure text-to-speech, not the normal SAPI engines.
Microsoft unfortunately tends to make documentation for older features (despite shipping them with current versions of Windows by default) difficult to find or even unavailable from official public sources.
Awesome info!!  Thank you so much!!!   I'll try to process all of that tonight, and tinker away at it again.  But most of what you have said sounds familiar..