Speech Synthesis Markup Language (SSML) is an XML-based markup language for speech synthesis applications.
Based on you speech engine a different format needs to be used:
Microsoft Cognitive Services: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-synthesis-markup?tabs=csharp
Google Cloud Text to Speech: https://developers.google.com/assistant/actions/reference/ssml#markupSSML
For information about speech engines, Learn More
We are going to start with a “Incoming conversation” node. This node only listens to audio/video and is connected to our server using SignalR.
Drag and drop Incoming Call Node
Select / Configure server
Filter on Audio/Video
Next creating the SSML text we want to use. This can be done by using a function node.
Drag and drop Function Node
Enter text you want to play.
Example Microsoft Text to Speech:
/*jshint multistr: true */
msg.text =' <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-EN">\
Here are <say-as interpret-as="characters">SSML</say-as> samples.\
I can pause <break time="1s"/>. \
I can speak in cardinals. Your number is \
<say-as interpret-as="cardinal"> \
Or I can speak in ordinals. You are \
</say-as> in line.\
Or I can even speak in digits. The digits for ten are\
I can also substitute phrases, like the \
<sub alias="World Wide Web Consortium"> \
Finally, I can speak a paragraph with two sentences.\
<s>This is sentence one.</s>\
<s>This is sentence two.</s>\
Today is <say-as type="date:mdy"> 11/20/2019 </say-as> \
I <emphasis level="strong">really</emphasis>\
Like pepperoni on my pizza.\
<audio src="http://localhost/applause8.mp3"> \
applause <!--when file is not loaded--> \
Connect end of Incoming Call node with Function Node
Next we are adding an “Say”, to play the SSML text.
Drag and drop Say Node
Set message to: msg.text
Connect end of Function Node with begin of Say node