I have an application developed using Dialogflow and actions-on-google framework.
When I provide a response which has numbers in it the text to speech engine pronounces 0 (Zero) as "O" (Oh)
Is there any way where I can configure not to speak 0 (Zero) as "O" (Oh) and should always speak "ZERO"
Please help
You can look the documentation for SSML to provide more specific nuances in the text-to-speech response.
If you want to say specific characters, you should be able to use an SSML say-as tag:
<speak>
<say-as interpret-as="characters">1234567890</say-as>
</speak>
Using sub alias of speak element fixed my issue
<speak>This is test<sub alias="one one zero seven">1107</sub> </speak>
Related
Please tell me how I can change the stress in some words in the Azure voice engine text-to-speech. I use Russian voices. I am not working through SSML.
When I send a text for processing, then in some words he puts the stress on the wrong syllable or letter.
I know that some voice engines use special characters like + or 'in front of a stressed vowel. I have not found such an option here
To specify the stress for individual words you can use the SpeakSsmlAsync method and pass a lexicon url or you can directly specify it directly in the ssml by using the phoneme-element. In both cases you can use IPA.
I would like to create a skill to yell at someone, but i can not find any reference in SSML to yell or scream.
Is it even possible ?
Use audio file for doing that. You can record or download from the internet and use it in ssml audio format. You just have to put your audio url as done in code below.
<speak>
<audio src="soundbank://soundlibrary/transportation/amzn_sfx_car_accelerate_01"/>
</speak>
There's currently no yelling supported. The closest expression you could achieve with SSML is using the custom tag for emotions:
<amazon:emotion name="excited" intensity="medium">Hey, I'm so excited!</amazon:emotion>
The support of emotions varies across locales and I suggest to keep an eye on the dev blog posts to keep track of new possibilities:
https://developer.amazon.com/en-US/blogs/alexa/alexa-skills-kit/2020/11/alexa-speaking-styles-emotions-now-available-additional-languages
I have intents with responses done in Dialogflow with fulfillment enabled, and I have integrated with Google Assistant. There is a specific word "FICO" (as in FICO score) where the pronunciation is wrong when the Assistant responds. Is there a way to change the pronunciation of that specific word?
Instead of sending back text which will be used in text-to-speech generation, you can use the SSML <sub> tag to provide an aliased pronunciation for the word in question. So you might try something like this to see how it sounds
<speak>
Your <sub alias="fyeco">FICO</sub> score is
</speak>
or fiddle with it till it sounds the way you want. The part inside the tag will be displayed, while the alias part will be spoken.
The code for this might be something like
const msg = `<speak>Your <sub alias="fyeco">FICO</sub> score is ${score}.</speak>`
conv.add( msg );
Do someone know how to put a break on an intent,
example, when the TEXT response says: Hello John***...Break of 5sc...*** How can I help you ?
Thanks
Dialogflow supports SSML in text responses, which support a <break> element. It does not say what the maximum duration of a break is, but I doubt it will be more than a few second.
with Dialogflow (API.AI) I find the problem that names from vessel are not well matched when the input comes from google home.
It seems as the speech to text engine completly ignore them and just does the speech to text based on dictionary so Dialogflow cant match the resulting text all at the end.
Is it really like that or is there some way to improve?
Thanks and
Best regards
I'd recommend look at Dialogflow's training feature to identify where the speech recognition of the Google Assistant may not have worked they way you expect. In those cases, you'll see how Google's speech recognition detected words you may not have accounted for. In cases where you'd like to match these unrecognized words to a entity value, simply add them as synonyms.