Page 1 of 1

prosody in realspeak

Posted: Thu Sep 18, 2008 6:58 pm
by jcooper
Hi,
I'm having an issue that I don't understand. I've added a prosody tag in a confirmation sub-dialog to slow down the voice's rate when it reads the entry back. The problem is that the main dialog is being slowed down erratically. I am using the Nuance realspeak engine with the voice being Jill. Example code below.
Thanks,
Jeremiah

<form id="confirm">
<property name="voicename" value="Jill"/>
<property name="inputmodes" value="dtmf"/>
<property name="termchar" value="#"/>
<property name="timeout" value="3s"/>
<property name="interdigittimeout" value="2s"/>
<property name="scriptmaxage" value="0s"/>
<property name="documentmaxage" value="0s"/>

<var name="user_input"/>
<field name="yn" modal="true">
<grammar type="application/x-jsgf" mode="dtmf">
1 | 2
</grammar>
<prompt bargein="true" timeout="2s">
You entered:
<prosody volume="200.0" rate="slow">
<say-as type="number:digits">
<value expr="user_input"/>
</say-as>
</prosody>.
Press 1 to confirm.
Press 2 to re enter.
</prompt>
<filled>
<var name="result" expr="true"/>
<if cond="yn==2">
<assign name="result" expr="false"/>
</if>
<return namelist="result"/>
</filled>
</field>

<catch event="connection.disconnect">
<submit next="https://sales.npddc.com/ivr/Process.aspx?p=Disconnect"
namelist="session.id"
method="post"
/>
</catch>
</form>

realspeak rate issues

Posted: Thu Sep 18, 2008 7:26 pm
by jcooper
OK, since I added the prosody tag the voice is alternating between fast and slow in all dialogs. I've removed the rate option from all my prosody tags and it is STILL doing it.

PLEASE HELP!

tested IVR code using Realspeak- no issues

Posted: Fri Sep 19, 2008 10:19 am
by support
Hi,

We have tested your IVR code using Realspeak, but haven't been able to reproduce the IVR issue that you describe.

If you continue to have problems with this IVR issue, you could try switching to the AT&T engine for your account and see if the problem persists.

Regards,
Plum Support

still and issue

Posted: Fri Sep 19, 2008 11:50 am
by jcooper
Yes, it is still an issue. The AT&T voices aren't clear enough and have enunciation issues. I still can not include a prosody rate in my confirmation sub-dialog because it slows every other prompt down.

Unless there is something wrong with my code, I think this is an issue that needs to be escalated.

Jeremiah

slight adjustments to IVR code

Posted: Fri Sep 19, 2008 4:14 pm
by support
Hi,

We've made about 15 IVR calls with a slight variation of your IVR code:

Code: Select all

<?xml version="1.0"?>
<vxml version="2.0">
<form id="confirm">
<property name="voicename" value="Jill"/>
<property name="inputmodes" value="dtmf"/>
<property name="termchar" value="#"/>
<property name="timeout" value="3s"/>
<property name="interdigittimeout" value="2s"/>
<property name="scriptmaxage" value="0s"/>
<property name="documentmaxage" value="0s"/>

<var name="user_input" expr="12345"/>
<var name="result"/>

<field name="yn" modal="true">
<grammar type="application/x-jsgf" mode="dtmf">
1 | 2
</grammar>
<prompt bargein="true" timeout="2s">
You entered:
<prosody volume="200.0" rate="slow">
<say-as type="number:digits">
<value expr="user_input"/>
</say-as>
</prosody>
Press 1 to confirm.
Press 2 to re enter.
</prompt>
<filled>
<var name="result" expr="true"/>
<if cond="yn==2">
<assign name="result" expr="false"/>
<prompt>
The result is <value expr="result"/>.
</prompt>
<else/>
<prompt>
The result is <value expr="result"/>.
</prompt>
</if>
</filled>
</field>

</form>
</vxml>
using the Realspeak engine, but cannot replicate the IVR issue that you have described.

We have escalated this IVR issue and will continue to try to reproduce this, but if you could provide us with any additional details on how you are getting this IVR error, it would be greatly appreciated.

Regards,
Plum Support

Realspeak bug

Posted: Fri Sep 19, 2008 4:43 pm
by jcooper
I've done some more testing and I believe this is a bug in the Realspeak engine or Plum's implementation of it (not sure how that works).

First some background. I have an account with two applications. One is pointed at my Dev site the other at my Prod site. I went in to my Dev site and added the <prosody rate="slow"> tag in my confirmation subdialog. I tested it out and, yep sure enough it broke. Speech was slow when i called back in and alternated (slow/fast) throughout the call. Next, i called in to my Prod number (where no changes have been made) and the SAME THING was occuring. I think that somehow the Realspeak engine is holding on to that "slow" rate and is slowing things down across the board.

I can provide my application call in numbers if you like but would prefer to handle this off the public Q&A forum.
Thanks,
Jeremiah

IVR code example to fix Realspeak bug

Posted: Mon Sep 22, 2008 3:16 pm
by support
Hi Jeremiah,

This IVR issue turns out to be a bug within the Realspeak TTS engine itself. Realspeak does not reset the <prosody> settings to the default normal setting once you have set it to something. So, in your original IVR code example, you would have to do this:

Code: Select all

<field name="yn" modal="true">
<grammar type="application/x-jsgf" mode="dtmf">
1 | 2
</grammar>

<prompt bargein="true" timeout="2s">
You entered:
<prosody volume="200.0" rate="slow">
<say-as type="number:digits">
<value expr="user_input"/>
</say-as>
</prosody>.

<prosody volume="100.0" rate="default">
Press 1 to confirm.
Press 2 to re enter.
</prosody>
</prompt>

<filled>
<var name="result" expr="true"/>
<if cond="yn==2">
<assign name="result" expr="false"/>
</if>
<return namelist="result"/>
</filled>
</field> 
By doing this, the rest of your TTS prompts will be set back to the default rate instead of the slow rate.

As for the Realspeak engine holding on to the slow rate between IVR calls, we have deployed a patch to our IVR systems that should resolve this IVR issue permanently.

Regards,
Plum Support

that worked

Posted: Tue Sep 23, 2008 12:00 pm
by jcooper
Much appreciated!