Showing results for 
Search instead for 
Did you mean: 

Using fetchaudio to force TTS playback prior to ASR


CVP Version is 10.5

Nuance TTS and ASR are the latest stuff, can't recall exactly what version, but "new stuff", and ASR is not the issue here.

My issue is ASR timing out waiting for input before my TTS audio can finish playback.

My application calls an audio element in a loop with data from rows returned from a database.  I might have 10 rows of text I need to play back to the caller based on who they are, and each loop through each row executes an audio element to play the data as TTS to the caller.

I have at times 3-5 minutes of data to play to the caller prior to the ASR menu, yes that's forever but that's how it works.

My next element after this TTS "loop" element is a menu using ASR and DTMF.  That menu throws a badFetch if the TTS playback takes longer than 60 seconds because the MRCP session has timed out with Nuance.  That part I can fix, I changed the Nuance ASR timeout to 300000 ms (5 minutes) and my audio plays great and ASR works great.  But I don't want to leave the MRCP setting at 5 minutes.

I tried solving this instead with fetchaudio because as I understand audio playback in VXML, it is queued until the following occurs:

     A. The interpreter reaches a waiting state (e.g. recognition), or

     B. The interpreter fetches a resource while a fetchaudio attribute is set on the corresponding fetch element

So in the TTS element which is in my playback loop, I added a fetchaudio property and used http://mediaserver/en-us/sys/silence_.1_sec.wav

I figured since I had a fetchaudio property on the TTS element that this would force the TTS audio to playback before continuing to the next TTS element audio, thus preventing queuing of the audio and not making my ASR menu wait for input, but it didn't work. 

My question is, would this fetchaudio method work to force audio playback each time the audio element is executed if the fetchaudio property is set, in other words not queue the audio like normal?   I've only used fetchaudio in the past to play music or popcorn sounds while waiting for a webservice or DB lookup to finish so this new territory for me.

Thank you,

Bill Westby.

1 Accepted Solution

Accepted Solutions


Queuing is the preferred method.

View solution in original post

1 Reply 1


Queuing is the preferred method.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Recognize Your Peers