August 3, 2020
Hot Topics:

Building Speech-Enabling IVR application Using Microsoft Speech Server 2004: Grammar and Prompts

  • By Xiaole Song
  • Send Email »
  • More Articles »

An inline prompt is a piece of static text that the prompt engine plays when a control is activated in running time. A good example is a WelcomeQA control that plays greeting whenever a caller makes a call to IVR.

A prompt function can dynamically generate one or more prompts based on the IVR application's dialog call flow at run time. You can use Tool, Prompt Function Editor to add prompt functions to a QA, Command, or Application Speech Control. For instance, a customer service hotline may generate a dynamical prompt depending on a customer's level that is an ANI retrieved from the telephony interface. Here, ANI represents variables in the prompt function.

Prompt functions are written in JScript code and run on the client side of Web-based, speech-enabling IVR applications. The Prompt Function Editor stores prompt functions with a .pf ext. The .pf files generated by the Prompt Function Editor are UTF-8 encoded and contain an XML header that allows the Prompt Function Editor to maintain the file, and to validate prompts at design time by using the Prompt Validation tool. The Prompt Validation tool cannot validate dynamically generated prompts created by prompt functions that reside in a .js file.

Speech quality is important in speech-enabled IVR applications. A pre-recorded audio prompt is still the most desired output currently, but TTS-synthesized speech has advanced so that it is an effective alternative. Both can be used together and consider two levels of speech quality delivered by an application. In the development and testing stages, you can use synthesized voice TTS. In a production application, generally pre-recorded prompts are needed. At run time, if the prompt engine fails to locate any pre-recording for a segment, the application will use a TTS engine to synthesize that segment's speech.

A prompt function example is as follows:

function PromptFunctionExample(sPrompt)
   var sPrompt = "";
   var sFailedMatchPrompt = " Sorry, could not find your information
                              in the database; please try again  ";
   var sMain = "Please say or enter your 6 digit account number now";
   var sBasic = "This is the Basic service line ";
   var sPremium = "This is the Premium service line ";

   if (siServiceLevel.value == "PREMIUM")
      sMain = sPremium + sMain;
   } else
      sMain = sBasic + sMain;

   .. .. ..


About the Author

Xiaole Song is a professional at designing, integrating, and consulting Telecommunication, CTI, IVR, Speech, Call Centers, and IP Telephony. Feel free to e-mail any comments about this article to xiaole_song@yahoo.com.

Page 2 of 2

This article was originally published on December 27, 2004

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date