Award
Congratulations DJ Sures, for answering the question and has received an EZ-Credit award! Share what you have learned and create a tutorial to help others by clicking here.

Speech Synthesis Markkup Language

Assistance Requested

Help larschrjensen with their question and receive $10 of EZ-Credit to get more robots and parts from our store. The following information was provided about their previous efforts searching tutorials for a resolution.

Product: (click to view product details)

EZ-Builder Controls: (click to view manual page)

larschrjensen claims to have checked these sources:
 
#1

I was wondering whether it is possible to use elements from the Speech Synthesis Markup Language to modify the speech output using EZ-script? Or if there are other markup options other than the ones already given in the Speech Settings Control?

I have found a few conversations, tutorials and activities that may help with your question. Take a look at these links. I've sorted them by what I believe to be most relevant but that is not always the case as I'm still learning.


Also, consider reviewing the Learn section for informative lessons and activities. Check it out!


#2

no markup. You can create a plugin to do it

#3

Right, that's what I thought. Thanks for the speedy reply!

#4

Also... You can add the speech synthesis settings control (http://www.ez-robot.com/Tutorials/Help.aspx?id=156) and write your script like..

Code:


sayezbwait("Hello")

ControlCommand("Speech Settings", SetVoiceEmphasis, "Strong")

sayezbwait("I am speaking strong")

ControlCommand("Speech Settings", SetVoiceRate, "ExtraFast")

sayezbwait("Now i am speaking extra fast")

ControlCommand("Speech Settings", SetVoiceRate, "Slow")

sayezbwait("Now i am speaking super slow")

#5

Yes I realize that. I was looking for a more fine-grained way with which to control the prosodic contours, and the breaks between strings. The method above is a bit too coarse for that. The SSML is a step in the right direction, so I was just wondering whether this is something that could be used in EZ-script.

However, using the SDK is perfectly fine, but thanks for the followup.

#6

Great! Let me know if you have any questions about creating a plugin for this.

#7

Based on my findings you can indeed use at least some SSML elements in EZ-Builder, it's been extremely useful when developing Dorian's voice!

@DJ
Shame on you for not having more faith in your own amazing software! Winky

This works just fine if you're using either a Cepstral or CereProc voice:

Code:

#The </prosody> tag is only needed if you're going to make other changes mid-sentence, otherwise you can just use the first tag and don't need the second one after the string.

$VoiceStart = "<prosody pitch='-50%'><prosody rate='.40'>"
$VoiceEnd = "</prosody>"

SayWait($VoiceStart + "When I'm tired my voice gets very deep and I speak slowly" + $VoiceEnd)


Here's a video I made for those who prefer video format when learning:

#8

Thanks for the tutorial @Sebediah!

I was thinking about purchasing a Cepstral voice just recently, this knowledge would definitely be handy when wanting to modify a voice with EZ-Script.

#9

Sebediah,
Thank you for your interesting tutorial.
My robot Artamus uses a Cepstral voice, and I was able to alter his voice using your examples.
Alexa has a hard time understanding him, maybe this will help. Either way this allows me to customize his voice.
Steve S

#10

@Sebediah - you are absolutely awesome! Thank you for sharing this.