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

Transfer to your hosting environment

Questions and answers about IVR programming for Plum DEV

Moderators: admin, support

Post Reply
bonniesims
Posts: 6
Joined: Fri Jul 30, 2010 10:32 am

Transfer to your hosting environment

Post by bonniesims »

I am working on a project to transfer my onsite system IVR application over to your hosting environment. I am having a few issues I am hoping you can help me with? My company name is The Bill Sims Company.

A) On our hosting demo number 877-333-0838 the Plum hosting system TTS is reading back numbers as whole numbers, and we need them read as separate digits. For example when 4035163 is read back on our onsite system, it is read as individual numbers 4-0-3-5-1-6-3, however, when testing on the hosted platform the number is read back as a whole number, 4 million, 35 thousand, 1 hundred and sixty three. Why would there be a difference and how can we resolve this?

B) On our hosting account number 877-333-0836, the application is having difficulty serving pre-recorded voice files, these voice files play fine on our onsite system, however in making the application transfer there are some files not playing correctly and we are unsure why, can you assist? For example; on the hosted side the files for 'getempid.mp3' and 'noprize.mp3' are not playing in full, when on our onsite system they play correctly.

I would be more than happy to provide the code if you would please enable private messaging. Thank you!

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

Re: Transfer to your hosting environment

Post by support »

Hi Bonnie,

If you want a number to be read as individual digits, you should use the <say as> tag. Depending on which TTS engine you are using, you will want to either specify the type as "acronym" or "digits". You can find some documentation on the different TTS engines here. Here is an example for both the AT&T Natural Voices and Cepstral Swift TTS engines:

Code: Select all


<?php
header("Content-type: text/xml");
echo("<?xml version=\"1.0\"?>\n");
?>
<vxml version="2.0">
  <form>
    <block>
      <prompt>
        The number is:
        <say-as type="acronym">
          1234
        </say-as>
      </prompt>
    </block>
  </form>
</vxml>


For the RealSpeak engine, you would simply change the <say as> tag to the following:

Code: Select all


<say as type="digits">

Regarding your issue with pre-recorded voice files, here is some documentation discussing the supported formats for audio files. Could you please give us a little more detail on what exactly is happening with these audio files? Are the files being cut off early, taking too long to fetch, not playing at all, etc? Does the issue occur with all of your audio files or just some of them?

Thank you.

Regards,
Plum Support

bonniesims
Posts: 6
Joined: Fri Jul 30, 2010 10:32 am

Re: Transfer to your hosting environment

Post by bonniesims »

Thank you for the information. Our on site system is Plum Voice Platform 2.5. I believe the system is using the Cepstral Theta engine for speech synthesis, however I can find no confirmation of this through the on site control panel. The application code does specify voice name "diane", however.

Can you tell me how to confirm which TTS engine our on site system is using?

We've looked at the application code and note that the <say-as> tag appears to be correct; here's a snippet:

<prompt>
<audio expr="'http://external URL/ivr/'+lang_dir+'/entered_employid.mp3'">
You have entered Employee ID number . . .
</audio><voice name="diane"><say-as type="acronym"><value expr="employ_id"/></say-as></voice>
</prompt>

I would be happy to e-mail the entire application to you for your review.

Note that this code plays correctly on our on site system, but not the Plum hosted system.

Regarding the MP3 files, there are two that appear to have problems. Both files are being cut off early, and the TTS engine completes the audio.

Both play correctly on our on site system, but not on the Plum hosted system.

I would be happy to e-mail the two files to you for your review.

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

Re: Transfer to your hosting environment

Post by support »

Hi Bonnie,

You can find the information regarding which TTS engines you are using by logging into your hosting account and going to Account Settings > Account Configuration. The reason why your application is not reading the digits correctly is because for that particular phone number (877-333-0838), the TTS engine being used is Nuance RealSpeak, which requires the use of type="digits" rather than type="acronym". Here's an example:

Code: Select all

<prompt>
<audio expr="'http://external URL/ivr/'+lang_dir+'/entered_employid.mp3'">
You have entered Employee ID number . . .
</audio><voice name="diane"><say-as type="digits"><value expr="employ_id"/></say-as></voice>
</prompt>
Regarding your audio files being cut off early, in order to help us diagnose the issue, could you please send your application code to devsupport@plumgroup.com? That way we can review the code and gain a better understanding of what exactly is happening.

Regards,
Plum Support

bonniesims
Posts: 6
Joined: Fri Jul 30, 2010 10:32 am

Re: Transfer to your hosting environment

Post by bonniesims »

The application code has been e-mailed to you.

On the hosted platform I changed the TTS engine to Cepstral and we will test again.

Thanks for your help.

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

Re: Transfer to your hosting environment

Post by support »

Hi Bonnie,

Thanks for the application code.

Could you please also send us the 2 audio files (getempid.mp3 and noprize.mp3) that are not being played in full for your application? This would help us in attempting to reproduce the issue that you are experiencing.

Regards,
Plum Support

bonniesims
Posts: 6
Joined: Fri Jul 30, 2010 10:32 am

Re: Transfer to your hosting environment

Post by bonniesims »

Audio files are on their way to you now.

Thank you for your help.

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

Re: Transfer to your hosting environment

Post by support »

Hi Bonnie,

About these audio files, there are encoding errors for each of the three files.

Here's the code that we've run to test your 3 audio files:

Code: Select all

<?php
header("Content-type: text/xml");
echo("<?xml version=\"1.0\"?>\n");
?>
<vxml version="2.0">
  <form>
    <block>
      <prompt>
        I'm going to play some audio files.
      </prompt>
      <audio src="getempid.mp3">
        This is TTS in case the audio file can't be played.
      </audio>
      <audio src="makesure.mp3">
        This is TTS in case the audio file can't be played.
      </audio>
      <audio src="noprize.mp3">
        This is TTS in case the audio file can't be played.
      </audio>
    </block>
  </form>
</vxml>
Here's the errors that come back from the call logs:

For getempid.mp3:

Audio segment from the URL getempid.mp3 added to prompt queue
MadDecoder::errorCallback() - unrecoverable decoding error 0x0235 (bad main_data_begin pointer)

For makesure.mp3:

Audio segment from the URL makesure.mp3 added to prompt queue
MadDecoder::errorCallback() - unrecoverable decoding error 0x0103 (forbidden bitrate value)

For noprize.mp3:

Audio segment from the URL noprize.mp3 added to prompt queue
MadDecoder::errorCallback() - unrecoverable decoding error 0x0201 (CRC check failed)


We recommend that you re-encode your audio files to avoid getting these issues. You should change the formatting of your audio files to one of the supported audio formats listed here: http://www.plumvoice.com/docs/dev/devel ... ence:audio

* 8 kHz 16-bit linear PCM headerless (*.l16)
* 8 kHz 8-bit µ-law encoded headerless (*.ul)
* 8 kHz 8-bit a-law encoded headerless (*.al)
* 8 kHz 16-bit linear PCM WAV (*.wav)
* 8 kHz 8-bit µ-law WAV (*.wav)
* 8 kHz 8-bit a-law WAV (*.wav)
* MP3 (*.mp3) - Note: If the audio file is poorly encoded, the mp3 will not work.

Regards,
Plum Support

bonniesims
Posts: 6
Joined: Fri Jul 30, 2010 10:32 am

Re: Transfer to your hosting environment

Post by bonniesims »

Thanks for the information.

The audio files were created by a professional voice-over artist in a recording studio.

They play without any problem on our current Plum system. And no problems with Windows Media player or iTunes.

I'll ask an audio engineer to look at them for his observations.

Will let you know what I hear.

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

Re: Transfer to your hosting environment

Post by support »

Hi Bonnie,

We've received the re-encoded audio files from your audio engineer, and have tested each of the different formats. All of the formats sent to us have worked properly during testing, i.e. have not been cut-off, including the re-sampled MP3 files. Please let us know if you have any more trouble getting these files to play correctly in your application.

Regards,
Plum Support

bonniesims
Posts: 6
Joined: Fri Jul 30, 2010 10:32 am

Re: Transfer to your hosting environment

Post by bonniesims »

Glad to hear they are working.

We have 100+ files that could possibly need to be re-encoded. Is there a way for us to test these files to see which generate an error on the new platform?

This would save us the time and expense of re-encoding all of them.

Thanks.

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

Re: Transfer to your hosting environment

Post by support »

Hi Bonnie,

Initially, you will want to make sure that your audio files are properly encoded. As a reminder, the audio formats supported by our platform are:

8 kHz 16-bit linear PCM headerless (*.l16)
8 kHz 8-bit µ-law encoded headerless (*.ul)
8 kHz 8-bit a-law encoded headerless (*.al)
8 kHz 16-bit linear PCM WAV (*.wav)
8 kHz 8-bit µ-law WAV (*.wav)
8 kHz 8-bit a-law WAV (*.wav)
MP3 (*.mp3) - Note: If the audio file is poorly encoded, the mp3 will not work.

In order to further test your files, you could use a simple VoiceXML script in your hosting account such as the following:

audio_test.php

Code: Select all


<?php
header("Content-type: text/xml");
echo("<?xml version=\"1.0\"?>\n");
?>
<vxml version="2.0">
  <form>
    <property name="bargein" value="false"/>
    <block>
      <audio src="your_audio_file.mp3">
        Oops, the audio file could not be retrieved!
      </audio>
    </block>
  </form>
</vxml>

You would then repeatedly call the above application, each time replacing "your_audio_file.mp3" with one of the audio files that you want to test. If the audio file plays correctly, and you don't see any errors in your call logs, then the file is all set.

Regards,
Plum Support

Post Reply