CallXML 3.0 Development Guide Home  |  Frameset Home

  tutorial Cache Control  |  TOC  |  B: Outbound Dialing  

Appendix A: Audio Files & CallXML

Using TTS is fine and dandy when you are demoing an application, but eventually, we will want to add recorded audio to our application for a more user-friendly appeal to your callers.This guide will serve as your Holy Grail when it comes to questions that you might have about recording audio and using professional audio prompts in your CallXML applications.

Audio Formats

The supported audio formats for the CallXML markup are as follows:

If you are developing both CallXML and VoiceXML applications, and would like to keep your audio prompts as 'universal' as possible, it is recommended that you stick with the 8bit/8kHz wav format, which is supported on both platforms.


Alternate Text-to-Speech

The implementation of CallXML 2.0+ has added support for alternate Text To Speech in your application in the event that your audio files return a '404' error, and cannot be found. The new 'say' attribute has been added to the following elements to allow for this functionality:

* = While there is no specific 'text' attribute mapped to this element, <prompt> will use the 'value' as a literal string of backup TTS to generate when the audio file cannot be found, .

An example of backup TTS generation in action would look like this:


...
  <do>
    <playaudio value="BogusFile.wav" say="here is some backup TTS"/>
  </bdo>
...


Audio Terminology


Some Facts


Some Problems


Some Solutions


Ignoring Our Advice -- Recording your own prompts


Voxeo Audio Library

Voxeo has anticipated your audio needs, and has a bountiful selection of professional prerecorded audio files available for download, free of charge. These audio files are in 8,000 Hz, 8 bit, MuLaw .wav format, which you can download right here!

The recorded prompts cover the following:

Audio Tools

If you are not certain how to go about getting your files in the proper format, Windows users can use the Sound Recorder to check the file and make changes to it; simply open the file, then select "File" "Save as"..., press the "Change..." button, and change the attributes to "8,000 Hz, 8 Bit, Mono" and you should be ready to launch. However, for the folks that prefer more powerful sound editing software, there are a number of freeware programs that can fit the bill. A listing, (by no means complete), of some good offerings are as follows:


Audio Links

If you are looking for professional voice talent for your application, and you don't see files that meet your specific needs in our download library, you would do well to contact:



Recording Audio

When recording audio with CallXML, keep in mind that before we attempt any kind of playback to the caller, we must first store the recording on a webserver via FTP:


<recordaudio
      value="ftp://MyPassword:MyUserName@Myserver.com/MyMsgTitle.wav"
      format="audio/wav" termdigits="all" maxtime="10s" maxsilence="2s"
      beep="true">


Afetr which, we can reference the audio file as a URL within the <playaudio> element:


<playaudio value="http://MyServer.com/MyMsgTitle.wav"/>


If playback isn't a concern, then you can also send the recorded audio as an email attachment. In the email itself, we can specify a number of parameters to properly format the email message that gets sent out, as illustrated in the below snippet:


<recordaudio value="mailto:hasselhoff@baywatch.com?subject=
        Youre fired&fromname=
        The Network&fromaddress=
        muckitymucks@TheNetwork.com&body=
        Sorry dave. Just found out that you have no appreciable talent.
        The enclosed recording details the fact that Baywatch On The Moon
        is cancelled"/>





  ANNOTATIONS: EXISTING POSTS
tjgillies
8/31/2007 4:39 PM (EDT)
Audacity is also a good sound program (free)
jpw
4/15/2008 3:41 PM (EDT)
have you documented anywhere where to PUT the audio files that <prompt> is going to play?
MattHenry
4/15/2008 3:47 PM (EDT)


JP,

Sorry if this wasn't clear from reading the docs; the audio files referenced via <prompt> should sit in the same directory as the CallXML file that references them. It wouldnt make much sense if the server returned a 404 and the TTS fallback had to try and render something like this:

<prompt value="http://www.myserver.com/myIVR/myaudio/hello world.wav"/>


~Matt
SSA_NCH
1/27/2010 4:58 PM (EST)
If my app is using TTS (e.g., the "say" element), is there a way to disable the .WAV fetch attempts?  Right now my webserver log is littered with '404' errors for all of the TTS my app does.  Thanks!  -Eric
jdyer
1/27/2010 5:20 PM (EST)
Hello,

I am afraid the way the prompt CallXML works with backup TTS is to look for the 404, at which time it reverts to backup TTS.  If you are looking to avoid the fetch you may want to try the <say> element (http://docs.voxeo.com/callxml/3.0/say.htm), which does not do the preliminary fetch.  I do hope this helps, and if there are any other questions please let us know!

Regards,

John Dyer
Customer Engineer
Voxeo Support

login
  tutorial Cache Control  |  TOC  |  B: Outbound Dialing  

© 2012 Voxeo Corporation  |  Voxeo IVR  |  VoiceXML & CCXML IVR Developer Site