Lidar-Lite Laser Module icon Lidar-Lite Laser Module — Laser Lidar-Lite ARC control reads distance, velocity and signal strength (0-40m+) via EZ-B v4 i2c, setting EZ-Script vars for robotics Try it →
Tutorial
Published — Updated

Speech Synthesis Markup Language (SSML)

This tutorial demonstrates how to modify speech synthesis in real-time within your text.


How To Do It

First, I need to give credit where credit is due. I didn't actually created this tutorial - instead, it was inspired and the video was created by Sebediah. I'm merely moving his information into this tutorial for others to find.

If you're looking for the thread that started this conversation, find it here: https://www.ez-robot.com/Community/Forum/Thread?threadId=10743

Sebediah figured out that you can include SSML code in your text to speak. He also created a fantastic tutorial video, which you can see below.

Here's an example of code he provided to give you a head start before the video:


#The  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 ='+230%'>"
$VoiceEnd = "</prosody>"

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


ARC Pro

Upgrade to ARC Pro

Synthiam ARC Pro is a new tool that will help unleash your creativity with programming robots in just seconds!

Author Avatar
PRO
USA
#17  

Nomad 6r Did it work?

Author Avatar
PRO
Belgium
Thingiverse
#18  

still trying.but i typ all in.

Author Avatar
PRO
USA
#19  

I tried many combinations - no luck, all the same voice

Author Avatar
PRO
Belgium
Thingiverse
#20  

sofar here too but also he says all above numbers  and letters.

Author Avatar
PRO
USA
#21  

$VoiceStart = "(prosody pitch = '+100%')" $VoiceStart2 ="(prosody pitch = '+230%')" $VoiceStart3 = "(prosody pitch = '-50%')" $VoiceEnd = "</prosody>"

SayWait($VoiceStart + "normal voice" + $VoiceEnd) SayWait($VoiceStart2 + "high voice" + $VoiceEnd) SayWait($VoiceStart3 + "low voice"+ $VoiceEnd)

same voice

Author Avatar
PRO
Belgium
Thingiverse
#22  

you have to use SayEzb if you want the voice come out the robot. if you use say alone it comes out the speaker.

Author Avatar
PRO
USA
#23  

I will try the robot

Author Avatar
PRO
USA
#24  

$VoiceStart = "(prosody pitch = '+100%')" $VoiceStart2 ="(prosody pitch = '+230%')" $VoiceStart3 = "(prosody pitch = '-50%')" $VoiceEnd = ""

SayEZBWait($VoiceStart + "normal voice" + $VoiceEnd) SayEZBWait($VoiceStart2 + "high voice" + $VoiceEnd) SayEZBWait($VoiceStart3 + "low voice"+ $VoiceEnd)

same voice out of the robot