SSML (Speech Synthesis Markup Language) lets you control how text is read out loud. It allows you to fine-tune the pronunciation, tone, emphasis, and more to create natural and engaging voice prompts. Below are the most useful SSML commands you can use with SIP Caller to customize your Text-to-Speech experience.
<speak>Hello! How can I help you today?</speak>
<speak>Hello! <break time="500ms"/> How can I assist you?</speak>
<speak>This is <emphasis level="strong">very important</emphasis> information.</speak>
<speak><prosody rate="slow" pitch="low">Please listen carefully.</prosody></speak>
<speak>The date is <say-as interpret-as="date">2024-11-08</say-as>.</speak>
<speak>SIP Caller uses <sub alias="Session Initiation Protocol">SIP</sub> to connect to the PBX.</speak>
<speak><p>Welcome to SIP Caller.</p><p>How can we assist you today?</p></speak>
By using SSML effectively in SIP Caller, you can deliver clear, professional, and engaging voice prompts that enhance customer interactions. For further customization, feel free to explore the full SSML specification for Google or SSML specification for Azure and try out different configurations with SIP Caller's Text-to-Speech feature.
When using SSML with Azure Text-to-Speech, please note that Azure is very strict about SSML tag structure, especially when compared to Google Cloud Text-to-Speech, which is more permissive.
For Azure TTS to work correctly in SIP Caller, you must explicitly include both the <speak> root element and a <voice> element in your SSML input.
Additionally, the <voice> element must specify the exact same voice that is selected for the campaign in SIP Caller. If the voice defined in SSML does not match the campaign voice, Azure may reject the request and fail to synthesize audio.
Failing to follow this structure may result in synthesis errors and the audio not being generated at all.
Example:
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name="en-US-AvaNeural"> Hello. <break time="1s"/> This is a call from ACME. <break time="1s"/> This is to confirm your appointment tomorrow. <break time="1s"/> If there are any issues with this visit, please contact us. Thank you. </voice> </speak>