• V20: 3CX Re-engineered. Get V20 for increased security, better call management, a new admin console and Windows softphone. Learn More.

SSML Text to Speech

Status
Not open for further replies.

SpatialDataLogic

Joined
Jul 27, 2012
Messages
3
Reaction score
0
I've been reading about SSML online and I still can't seem to get it to work in the VAD with the text to speech feature. Is there a certain format that it has to be put in?
 
HI,

You need to create an expression that returns a XML block. If you enter the XML hardcoded, then remember to add single quotes and escape the quotes into the XML, to avoid ecmascript semantic errors.

For example, to enter this as a constant value:
Code:
<?xml version="1.0"?>
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.w3.org/2001/10/synthesis
                   http://www.w3.org/TR/speech-synthesis/synthesis.xsd"
         xml:lang="en-US">
  <p>
    <s>This is the first sentence of the paragraph.</s>
    <s>Here's another sentence.</s>
  </p>
</speak>


You need to enter this:
Code:
'<?xml version=\"1.0\"?><speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis/synthesis.xsd\" xml:lang=\"en-US\"><p><s>This is the first sentence of the paragraph.</s><s>Here\'s another sentence.</s></p></speak>'

If you still have problems, send a screenshot or copy the values of how you're configuring your component.

Thanks,
 
Thanks for your reply.

Right now I'm just using a new project with just audio prompts in it to play around with SSML before I use it in the actual project I'm working on. Copy and pasting the example you gave me produces an error.badfetch
 
This may be caused by a security configuration of the web server (Abyss / IIS). The web server by default doesn't allow to send XML into the querystring in order to avoid a cross-site scripting attack. But you can disable this behavior in the following way:

1) Go to the folder %ProgramData%\3CX\Data\Http\Interface\ivr
2) Open the web.config file from that folder
3) Look for the <system.web> starting element
4) Below that element add the following:
Code:
    <httpRuntime requestValidationMode="2.0" />
    <pages validateRequest="False" />
5) Restart your web server service (Abyss / IIS)

I'm able to make it work exactly as I posted it in my previous response, so pretty sure this is the problem.

Please, let me know if it works.

Thanks,
 
It works, thanks for your help!
 
Status
Not open for further replies.

Getting Started - Admin

Latest Posts

Forum statistics

Threads
141,981
Messages
751,572
Members
145,451
Latest member
louderapps
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.