VoiceGuide IVR Software Main Page
Jump to content

Two Different Problems With Text-to-speech (tts)

Recommended Posts

Dear VoiceGuide,

 

We've just purchased a 4 line licence of VoiceGuide enterprise edition and we're having 2 separate problems with Text-to-Speech (TTS) on a very simple test script that prompts for a 4 digit PIN, repeats the PIN back to the caller, and then hangs up.

 

I have attached the test script along with the log files from each test scenario to this post for you to review.

 

PROBLEM #1:

 

If the caller doesn't enter a PIN number at the "Enter PIN" prompt (i.e. doesn't press anything and just waits), after 5 or so seconds, VoiceGuide plays the following message:

 

"There has been an error playing this file. Please check the file format"

 

It plays this message twice and then hangs up.

 

Why is it playing this message? Shouldn't it just repeat the prompt to enter a PIN number?

 

PROBLEM #2:

 

If the caller enters a 4 digit PIN, VoiceGuide goes to the "Say PIN" step, but it doesn't play the "You have entered the following PIN" message before it repeats the PIN that was entered, instead there's complete silence on the line. If you continue to wait nothing seems to happen - it doesn't even repeat the PIN number. If you then hang up, it keeps trying the "Say PIN" step and you have to open the VoiceGuide window and hang up the line manually, otherwise, that line will remain engaged.

 

Why doesn't VoiceGuide play the "You have entered the following PIN" message, and why does it seem to hang on this step?

 

Thanks in advance for your assistance,

Test.zip

Share this post


Link to post

just activate "confirm numbers" in "Get PIN".

 

you can define a text is speaks before speaking the numbers and one after.

you don't need an extra module "say PIN"

Share this post


Link to post

Hi Patrick,

 

Thanks for your reply. I am aware that I could use the "Confirm Numbers" feature on the "Enter PIN" step, however, that feature doesn't give me the option to control how I want to say numbers (i.e. as digits, a number, money, a date, a time, etc.).

 

Remember, this is only a test script that I'm trying to get working. In my production script, I would be asking the caller to enter a date, a time and a monetary value, so I would have to use an equivalent of the "Say PIN" step.

 

Any idea why the text-to-speech doesn't work, or why it gives me an error message in the first scenario?

 

BTW: I'm using VoiceGuide 5.0.2000 on Windows XP SP1 with a Dialogic D4/PCI

 

Thanks,

Share this post


Link to post

actually i never used tts in combination of a text file.

i use tts and i'm always typing the text into tts module (with formating of xml tags).

 

that always worked. maybe you should try this?

Share this post


Link to post

Hello Ashely,

 

First of all thank you for providing the scripts & traces in your first post - it allowed for a quick diagnosis of the problems,

 

PROBLEM #1:

 

As you showed with the sample script there was a bug with the Get Numbers module replaying the main message when a Text file was used to specify the main message.

This bug has now been fixed and will be available in V5.1 Beta3 onwards (I have tested Beta3 internally and this works OK).

 

PROBLEM #2:

 

The Say Number module is not (at this stage) designed to accept Text files as messages to be played before or after the number to be spoken - after all the spoken number will be played using the pre-recorded WAV files from VoiceGuide's \system\voice\ directory - so using TTS before and after the number would sound funny to the caller. The sound prompts used before and after the number do not usually need to be changed, so they can be pre-recorded as WAV files.

 

Another approach would be to use TTS to speak the number as well - you can use SAPI's XML contect formatting tags to tell the TTS engine how you want the number to be spoken.

 

Please see in the SAPI Help file, section "English Context tag definitions"

 

or have a look at these links:

 

http://msdn.microsoft.com/library/default....ents_say-as.asp

 

http://www.w3.org/TR/2002/WD-speech-synthe...hesis-20020405/

 

As an example of what can be done with TTS's Context Tags copy the below into the Play module's Text To Speak text box:

<?xml version="1.0" encoding="ISO-8859-1"?> <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">  <p> Your request was for <say-as type="number">1</say-as> room on <say-as type="date:mdy">10/19/2003</say-as>, costing less than <say-as type="currency">$80</say-as>. </p> </speak> 

Not too sure if the complicated headers are always needed, the below also works fine on our test systems which have SAPI 5.1 installed:

<p>Your request was for <say-as type="number">1</say-as> room on <say-as type="date:mdy">10/19/2002</say-as>, costing less than <say-as type="currency">$80</say-as>.</p>

Share this post


Link to post

Hi,

 

Thanks for your prompt reply.

 

With respect to PROBLEM #1:

 

When can we expect v5.1 to go gold - have you set a release date?

 

With respect to PROBLEM #2:

 

Thanks for the advice on how to use XML tags to say the numbers, is it possible to insert VG variables into this string so that the numbers are not hard-coded?

 

I've also noticed that you can select .TXT files for TTS in a few other places in VG, but they don't seem to work. I'm assuming that this is the same problem i.e. undocumented restriction on where you can and can't use TTS.

 

Can we request a feature enhancement that allows script designers to select either .WAV or .TXT (TTS) files in all places, and not just a couple, for maximum flexibility?

 

Apart from these minor problems & restrictions, its a great product. Keep up the good work.

Share this post


Link to post
When can we expect v5.1 to go gold - have you set a release date?

Latest word is that it will be in full release in about 2 weeks.

is it possible to insert VG variables into this string so that the numbers are not hard-coded?

Yes. Result Variables can be used in TTS strings.

Can we request a feature enhancement that allows script designers to select either .WAV or .TXT (TTS) files in all places, and not just a couple, for maximum flexibility?

Use of .TXT files will be expanded in future, but for now their use in the Say Numbers module is not supported. The main modules where TTS gets used is in the Play module and Get Numbers module - and both of these will be fully supported.

Share this post


Link to post

Hi,

 

Thanks for the info regarding VoiceGuide v5.1. We look forward to the new version fixing this problem.

 

I tried you XML example using $RV[Enter PIN] instead of a hard-coded number and it seems to work, except it always says "twelve thirty-four" if I enter 1234 as the PIN, instead of "one two three four". It doesn't seem to make any difference whether I use:

 

<say-as type="number">1234</say-as>

<say-as type="number:digits">1234</say-as>

<say-as type="number:ordinal">1234</say-as>

<say-as type="number:cardinal">1234</say-as>

 

In fact, the only way I seem to be able to get it to say "one two three four" is if I use:

 

<say-as type="number:digits">1 2 3 4</say-as>

 

which I can't do with a $RV

 

Have you ever come across this problem before, and if so did you get it to work?

 

Also you said that TTS is fully supported in "Play" modules and the "Get Numbers" modules, however, I couldn't get it to work for the "Before saying the entered number", the "After saying the entered number", and the "Message that the entered number was not correct length" fields. Is this also a known limitation, or is there something wrong with my test script?

 

Thanks,

Share this post


Link to post

Would have expected for <say-as type="number:digits">1234</say-as> to do the trick, guess that the TTS engine used on this system does not support this tag,

 

Looking at documentation of the AT&T Natural Voices TTS that's on our test system we've noticed that AT&T does not support this tag either, but we were able to get AT&T to spell out "one two three four" when we specified the following:

 

<SPELL>1234</SPELL>

 

Maybe your TTS engine (which one is it?) has similar alternative tags which will work... it's a pretty basic requirement...

 

TTS is fully supported in "Get Numbers" modules,

v5.1 Beta3 onwards.

Share this post


Link to post

Hi,

 

Thanks for the pointer regarding getting TTS to speak the pin numbers.

 

I'm just using the standard Microsoft TTS engine while I'm testing. When I get the scripts working I might investing in one of the commercial ones like AT&T.

 

The following works perfectly on the Microsoft TTS engine:

 

<p>You have entered the following pin: <spell>$RV[Enter PIN]</spell></p>

 

Thanks for all your assistance,

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×