We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics

prosody in realspeak

Questions and answers about Plum iOn systems

Moderators: admin, support

Post Reply
jcooper
Posts: 45
Joined: Tue Jul 22, 2008 5:22 pm

prosody in realspeak

Post 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>

jcooper
Posts: 45
Joined: Tue Jul 22, 2008 5:22 pm

realspeak rate issues

Post 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!

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

tested IVR code using Realspeak- no issues

Post 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
Last edited by support on Fri Feb 26, 2010 12:21 pm, edited 2 times in total.

jcooper
Posts: 45
Joined: Tue Jul 22, 2008 5:22 pm

still and issue

Post 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

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

slight adjustments to IVR code

Post 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
Last edited by support on Fri Feb 26, 2010 12:22 pm, edited 2 times in total.

jcooper
Posts: 45
Joined: Tue Jul 22, 2008 5:22 pm

Realspeak bug

Post 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

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

IVR code example to fix Realspeak bug

Post 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
Last edited by support on Fri Feb 26, 2010 12:26 pm, edited 3 times in total.

jcooper
Posts: 45
Joined: Tue Jul 22, 2008 5:22 pm

that worked

Post by jcooper »

Much appreciated!

Post Reply