+ All Categories
Home > Documents > Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies...

Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies...

Date post: 12-Jan-2016
Category:
Upload: nathaniel-payne
View: 213 times
Download: 1 times
Share this document with a friend
106
Transcript
Page 1: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.
Page 2: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Introduction to VoiceXML 2.0

Rob MarchandDirector of Product ManagementVoiceGenie Technologies Inc.

Page 3: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Introduction to VoiceXML

• Audienceo Managers and programmers with little

experience with VoiceXML

• Attendees will learn o The basic principles of VoiceXML, o Just enough syntax to design and code

simple speech applications requiring voice menus and voice forms.

Page 4: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

VoiceXML in the Marketplace

• VoiceXML 2.0 is now ratified as a Recommendation (e.g., official standard) by the W3C

• Hundreds of millions of VoiceXML calls are answered every day

VoiceXML is the standard for building speech-enabled

applications

Page 5: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

W3C and VoiceXML Forum

• W3C manages the technical evolution and development of the VoiceXML language

• VoiceXML Forum focuses on providing best practices, certification testing, resources and toolsTogether the W3C and VoiceXML Forum accelerate the adoption of

VoiceXML-based speech applications

Page 6: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Outline

• Motivation for VoiceXML• W3C Speech Interface Framework

Languages• Dialog—VoiceXML 2.0 • Speech Synthesis—SSML • Grammars—SRGS • Semantic Interpretation—SI • Call Control

Page 7: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Motivation for Speech Applications

• Users access Web sites from any telephone, anywhere, any time.

• Speaking and listening are the natural usage modes for phones.

Page 8: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Speech-enabled Applications Are Possible

Now• Increased computing power at less

expense o Due to improved chip design and

manufacturing techniques

• Improved speech recognitiono Due to refinements to basic speech

recognition algorithms

• Improved dialog design using voiceo Minimizes the number of words and

phrases that the speech recognizer must process at any point during the dialog

Page 9: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Strength of VoiceXML Applications

• Traditional system-directed dialogs for novice users

• Mixed initiative dialogs for experienced users

• Novice users smoothly become experienced users at their own pace

Page 10: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Limitations of VoiceXML Applications

• No special analysis of speech inputo Not suitable for training speech skills—

Reading, ESL, singing, etc.

• VUI conversational bandwidth is slower than GUI conversational bandwidtho Using a VUI is like drinking from Lake

Superior with a straw

Page 11: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Exercise 1

• Name or describe a speech application you could use at work.

• Name or describe a speech application you or family member can use at home.

Page 12: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

XML

o XML = eXtensible Markup Languageo Elements are surrounded by tags

• <prompt>Welcome to the voice system </prompt>o Elements may be nested

<prompt>     Welcome to Ajax Travel <break/>

we have the cheapest fares </prompt>

o Elements may have attributes<choice next="#boat"><grammar type="application/grammar+xml"

version="1.0"        root = "by_boat" src = “boat.grxml”>  

o Because “<”, “>”, and “&” have special meanings• “&lt;” in place of “<”• “&gt;” in place of  “>”• “&amp;” in place of “&”.                     

Page 13: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Outline

• Motivation for VoiceXML• W3C Speech Interface Framework

Languages• Dialog—VoiceXML 2.0 • Speech Synthesis—SSML • Grammars—SRGS • Semantic Interpretation—SI • Call Control

Page 14: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

DB

MultimediaFiles

AudioFiles

Web Server

HTMLScripts

VoiceXMLScripts

Grammars

Speech Server/Gateway

Web Browser

Capture VoiceASR

DTMFReplay Audio

TTS

Database Server

VoiceBrowser

Documents

Page 15: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

W3C Speech Interface Framework

Speech Synthesis

GrammarOther

VoiceXML 2.0

Call Control

SemanticInterpretation

Page 16: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Status of W3C Speech Interface Languages

Call Control

SemanticInterpret-

ration

Recommendation

Proposed Recommendation

CandidateRecommendation

Last CallWorking Draft

Requirements

Working Draft

V 3

Synthesis

GrammarVoiceXML

2.0

VoiceXML2.1

PLS

Page 17: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Outline

• Motivation for VoiceXML• W3C Speech Interface Framework

Languages• Dialog—VoiceXML 2.0 • Speech Synthesis—SSML • Grammars—SRGS • Semantic Interpretation—SI • Call Control

Page 18: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

VoiceXML 2.0 Fragment<?xml version="1.0"?><vxml version="2.0"> <form> … <field>   <prompt> Which account <break/> <emphasis> savings </emphasis> or <emphasis> checking

</emphasis> </prompt> <grammar type = "application/grammar+xml" root = “account_type"

mode = "voice">      <rule id = “account_type">          <one-of>               <item> savings </item>

               <item> checking </item>         <item> CD </item>                <item> certificate of deposit <tag>$ = “CD”<tag> </item>

          </one-of>     </rule>

</grammar> </field> …. <form> …</vxml>

  

Dialog Language (VoiceXML 2.0)

Speech Synthesis Markup Language (SSML)Speech Recognition Grammar Speci

Page 19: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

VoiceXML 2.0 Fragment<?xml version="1.0"?><vxml version="2.0"> <form> … <field>   <prompt> Which account <break/> <emphasis> savings </emphasis> or <emphasis> checking </emphasis> </prompt> <grammar type = "application/grammar+xml" root = “account_type" mode

= "voice">      <rule id = “account_type">          <one-of>               <item> savings </item>

               <item> checking </item>         <item> CD </item>                <item> certificate of deposit <tag>$ = “CD”<tag> </item>

          </one-of>     </rule>

</grammar> </field> …. </form> …</vxml>

  

Dialog Language (VoiceXML 2.0)Speech Synthesis Markup Language (SSML)

Speech Recognition Grammar Specification erpretation (SI)

Page 20: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

VoiceXML 2.0 Fragment<?xml version="1.0"?><vxml version="2.0"> <form> … <field>   <prompt> Which account <break/> <emphasis> savings </emphasis> or <emphasis> checking </emphasis> </prompt> <grammar type = "application/grammar+xml" root = “account_type" mode =

"voice">      <rule id = “account_type">          <one-of>               <item> savings </item>

               <item> checking </item>         <item> CD </item>                <item> certificate of deposit <tag>$ = “CD”<tag> </item>

          </one-of>     </rule>

</grammar> </field> …. </form> …</vxml>

  

Dialog Language (VoiceXML 2.0)Speech Synthesis Markup Language (SSML)Speech Recognition Grammar Specification (SRGS)

Semantic Interpretation (SI)

Page 21: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

VoiceXML 2.0 Fragment<?xml version="1.0"?><vxml version="2.0"> <form> … <field>   <prompt> Which account <break/> <emphasis> savings </emphasis> or <emphasis> checking </emphasis> </prompt> <grammar type = "application/grammar+xml" root = “account_type" mode =

"voice">      <rule id = “account_type">          <one-of>               <item> savings </item>

               <item> checking </item>         <item> CD </item>                <item> certificate of deposit <tag>$ = “CD”<tag> </item>

          </one-of>     </rule>

</grammar> </field> …. </form> …</vxml>

  

Dialog Language (VoiceXML 2.0)Speech Synthesis Markup Language (SSML)Speech Recognition Grammar Specification (SRGS)Semantic Interpretation (SI)

Page 22: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

VoiceXML 2.0 features

• Menus, forms, sub-dialogso <menu>, <form>,

<subdialog>

• Inputso Speech recognition

<grammar>o Recording <record>o Keypad <grammar

mode=“dtmf”>

• Outputo Audio files <audio>o Text-to-speech <prompt>

• Variableso <var> <script> <assign>

• Events– <nomatch>, <noinput>,

<help>, <catch>, <throw>• Transition and submission

– <goto>, <submit>– Telephony

– Connection control – <transfer>,

<disconnect>– Telephony information

– Platform– Objects

– Performance– Fetch

Page 23: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

A Typical Voice Menu

<menu><prompt>

<audio src=“http://www.ajax.com/three_blind_mice.wav"/> Do you want to listen, next, prior, buy, or exit? </prompt>

<choice next="http://www.ajax.com/listen.vxml"> listen </choice><choice next="http://www.ajax.com/next.vxml"> next </choice><choice next="http://www.ajax.com/prior.vxml"> prior </choice><choice next="http://www.ajax.com/buy.vxml"> buy </choice><choice next="http://www.ajax.com/exit.vxml"> exit </choice>

</menu>Exercise 2:Write a menu that asks the user a “yes/no” question to confirm that the user wants to buy the audio “three blind mice

Page 24: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Answer to Exercise 2A “yes/no” menu

<menu><prompt>

Do you want to buy three blind mice now? </prompt>

<choice next="http://www.ajax.com/yes.vxml"> yes </choice><choice next="http://www.ajax.com/no.vxml"> no </choice>

</menu>

Page 25: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Typical Form Fill-In<form> <prompt>Welcome to the electronic payment

system.</prompt> <field name="card_number">

<prompt> Please enter your credit card number? </prompt> <grammar src=“http://www.ajax.com/credit_card_number.grxml"/>

</field> <field name="date">

<prompt>Please enter your expiration date </prompt> <grammar src=“http://www.ajax.com/credit_card_date.grxml"/>

</field></form>Exercise 3:Write a form that solicits the month, day, and year for the user’s birth date.

Page 26: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Answer to Exercise 3

<form> <prompt> When were you born? </prompt> <field name = "month">

<prompt> What month?</prompt> <grammar src=“http://www.ajax.com/month.grxml"/>

</field> <field name = "day">

<prompt> What day of the month? </prompt> <grammar src=“http://www.ajax.com/day.grxml"/>

</field> <field name = "year"> <prompt> What year </prompt>

<grammar src=“http://www.ajax.com/year.grxml"/> </field></form>

Page 27: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Event Handlers

• Deal with exceptional or error conditions

• Control mechanism for dialog turn retrieso <catch event=“noinput”> … </catch>o <catch event=“nomatch” … </catch>o <catch event=“help”> … </catch>

• Shorthand notation availableo <noinput> … </noinput>, etc.

• Scoped according to where they occuro <form>, <field>, etc.

Page 28: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Adding Event Handlers

<form> <prompt> When were you born? </prompt> <field name = "month"> <catch event=“noinput”> ….. </catch> <catch event=“nomatch> ….. </catch>

<prompt> What month?</prompt> <grammar src=“http://www.ajax.com/month.grxml"/>

</field> …..</form>

Page 29: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Adding Event Handlers

<form> <prompt> When were you born? </prompt> <field name = "month"> <catch event=“noinput”> ….. </catch> <catch event=“nomatch> ….. </catch>

<prompt> What month?</prompt> <grammar src=“http://www.ajax.com/month.grxml"/>

</field> …..</form>

Page 30: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Adding Event Handlers

<form> <prompt> When were you born? </prompt> <field name = "month"> <catch event=“noinput”> ….. </catch> <catch event=“nomatch> ….. </catch>

<prompt> What month?</prompt> <grammar src=“http://www.ajax.com/month.grxml"/>

</field> …..</form>

Page 31: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Default Event Handlers

<catch event = "help"> <prompt> Sorry, no help is available. </prompt></catch>

<catch event = "nomatch"> <prompt> I did not understand, please try again </prompt></catch>

<catch event = "noinput"> <prompt> I did not hear anything, please speak again </prompt></catch>

Page 32: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Exercise 4Write event handlers for the month field

<catch event = "help"> <prompt> ____________________ </prompt></catch>

<catch event = "nomatch"> <prompt> __________________________ </prompt></catch>

<catch event = "noinput"> <prompt> ___________________________________ </prompt></catch>

Page 33: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Answer to Exercise 4Write event handlers for the month field

<catch event = "nomatch"> <prompt> Which month, for example, January February, or March? </prompt></catch>

<catch event = "noinput"> <prompt> Say the name of the month you were born in </prompt></catch>

<catch event = "help"> <prompt> In what month were you born? </prompt></catch>

Page 34: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Outline

• Motivation for VoiceXML• W3C Speech Interface Framework

Languages• Dialog—VoiceXML 2.0 • Speech Synthesis—SSML • Grammars—SRGS • Semantic Interpretation—SI • Call Control

Page 35: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Speech Synthesis ML

StructureAnalysis

TextNormali-

zation

Text-to-Phoneme

Conversion

Prosody Analysis

WaveformProduction

Markup support:p, sNon-markup behavior:infer structure byautomated text analysis

Page 36: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Before and afterStructure Analysis

• Before structure analysiso Dr. Smith lives at 214 Elm Dr. He weights 214 lb. He

plays bass guitar. He also likes to fish; last week he caught a 19 lb. bass.

• After structure analysis

<s> He plays bass guitar. </s> <s> He also likes to fish; last week he

caught a 19 lb. bass. </s></p>

<p> <s> Dr. Smith lives at 214 Elm Dr. </s> <s> He weights 214 lb. </s>

Page 37: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Speech Synthesis ML

StructureAnalysis

TextNormali-

zation

Text-to-Phoneme

Conversion

Prosody Analysis

WaveformProduction

Markup support: say-as for dates, times, etc.sub for aliasingNon-markup behavior: automatically identify and convert constructs

Markup support:p, sNon-markup behavior:infer structure byautomated text analysis

Page 38: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

After Text Normalization

<p> <s> <sub alias= "doctor">Dr. </sub> Smith lives at 214 Elm <sub alias = "drive">Dr. </sub> </s> <s> He weights 214<sub alias= "pounds"> lb. </sub> </s> <s> He plays bass guitar. </s> <s> He also likes to fish; last week he caught a 19 <sub alias= "pound"> lb. </sub> bass. </s></p>

Page 39: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

<p> <s> <sub alias = "doctor">Dr.</sub> Smith lives at <say-as interpret-as = “address">214 </say-as> Elm <sub alias = "drive">Dr. </sub> </s> <s> He weighs <sayas interpret-as = “number">214 </sayas> <sub alias = "pounds"> lb.</sub> </s> <s> He plays bass guitar. </s> <s> He also likes to fish; last week he caught a <say-as interpret-as = “number">19 </say-as> <sub alias= "pound"> lb. </sub> bass. </s></p>

Page 40: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Speech Synthesis ML

StructureAnalysis

TextNormali-

zation

Text-to-Phoneme

Conversion

Prosody Analysis

WaveformProduction

Markup support:phoneme, say-asNon-markup behavior:look up in pronunciation dictionary

Markup support: say-as for dates, times, etc.sub for aliasingNon-markup behavior: automatically identify and convert constructs

Markup support:p, sNon-markup behavior:infer structure byautomated text analysis

Page 41: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

After text-to-phoneme conversion

<p> <s> <sub alias = "doctor">Dr.</sub> Smith lives at <say-as interpret-as = “address"> 214 </sayas> Elm <sub alias = "drive">Dr. </sub> </s> <s> He weighs <sayas interpret-as = “number”>214 </sayas> <sub alias= "pounds"> lb.</sub> </s> <s> He plays <phoneme alphabet = “IPA" ph="b@s">bass</phoneme> guitar. </s> <s> He also likes to fish; last week he caught a

<sayas interpret-as= “number">19 </sayas> <sub alias= "pound"> lb. </sub> <phoneme alphabet = “IPA" ph="bas">bass</phoneme>. </s></p>

Page 42: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Speech Synthesis ML

StructureAnalysis

TextNormali-

zation

Text-to-Phoneme

Conversion

Prosody Analysis

WaveformProduction

Markup support:emphasis, break, prosodyNon-markup behavior:automatically generate prosody through analysis of document structure andsentence syntax

Markup support:phoneme, say-asNon-markup behavior:look up in pronunciation dictionary

Markup support: say-as for dates, times, etc.sub for aliasingNon-markup behavior: automatically identify and convert constructs

Markup support:p, sNon-markup behavior:infer structure byautomated text analysis

Page 43: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Prosody Analysis(Initial text)

<prompt> Environmental control menu. Do you want

to adjust the lighting or temperature?

</prompt>

Page 44: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Prosody Analysis(Add pause at phrase boundaries)

<prompt> Environmental control menu

<break strength=“medium”/> Do you want to adjust the lighting or

temperature? </prompt>

Page 45: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Prosody analysis(De-emphasize familiar words)

<prompt> Environmental control menu

<break strength=“medium” /> <emphasis level = "reduced"> Do you want to adjust </emphasis> the lighting or temperature? </prompt>

Page 46: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Prosody Analysis(pause to let the listener catch up)

<prompt> Environmental control menu <break/> <emphasis level = "reduced " >

do you want to adjust </emphasis>

the lighting <break/> or temperature? </prompt>

Page 47: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Prosody Analysis(Add emphasis to focus listener’s attention)

<prompt> Environmental control menu <break/> <emphasis level = "reduced" > do you want to adjust the </emphasis> <emphasis level = "strong"> lighting </emphasis> <break/> or <emphasis level = "strong"> temperature?

</emphasis></prompt>

Page 48: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Speech Synthesis ML

StructureAnalysis

TextNormali-

zation

Text-to-Phoneme

Conversion

Prosody Analysis

WaveformProduction

Markup support:voice, audio*

Markup support:emphasis, break, prosodyNon-markup behavior:automatically generate prosody through analysis of document structure andsentence syntax

Markup support:phoneme, say-asNon-markup behavior:look up in pronunciation dictionary

Markup support: say-as for dates, times, etc.sub for aliasingNon-markup behavior: automatically identify and convert constructs

Markup support:paragraph, sentenceNon-markup behavior:infer structure byautomated text analysis

*audio icons, branding, advertising

Page 49: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Waveform Production

<prompt> <audio src=“http://www.example.com/adjust.wav" >

Environmental control menu. Do you want to adjust the lighting or temperature

</audio> </prompt>

Page 50: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Exercise 5(insert SSML commands)

<prompt> Welcome to Ajax Bank do you want to

withdraw or deposit funds? </prompt>

Page 51: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Answer to Exercise 5

<prompt> Welcome to Ajax Bank <break/> <emphasis level = "reduced " > do you want to

</emphasis> <emphasis level = "strong"> withdraw </emphasis> <break/> or <emphasis level = "strong">deposit </emphasis> funds? </prompt>

Page 52: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Outline

• Motivation for VoiceXML• W3C Speech Interface Framework

Languages• Dialog—VoiceXML 2.0 • Speech Synthesis—SSML • Grammars—SRGS • Semantic Interpretation—SI • Call Control

Page 53: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Grammars

• Describe what the user may say at a point in the dialog

• Enable the speech recognition engine to work faster and more accurately

• Consist of one or more “rules”

Page 54: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Example Grammar

<grammar type = "application/srgs+xml" root = "zero_to_ten" mode = "voice">

<rule id = "zero_to_ten">       <one-of> <item> zero </item>               <ruleref uri = "#single_digit"/>               <item> ten </item>        </one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of>     </rule></grammar>

XML form of grammars

Page 55: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Example Grammar

<grammar type = "application/srgs+xml" root = "zero_to_ten" mode = "voice">

<rule id = "zero_to_ten">       <one-of>

<item> zero </item>               <ruleref uri = "#single_digit"/>               <item> ten </item>        </one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of>     </rule></grammar>

Rule describing single digits

Rule describing digitszero through ten

Page 56: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Example Grammar

<grammar type = "application/srgs+xml" root = "zero_to_ten" mode = "voice">

<rule id = "zero_to_ten">       <one-of> <item> zero </item>               <ruleref uri = "#single_digit"/>               <item> ten </item>        </one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of>     </rule></grammar>

Grammar processor should start with the “zero_to_ten” rule

Page 57: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Example Grammar

<grammar type = "application/srgs+xml" root = "zero_to_ten" mode = "voice">

<rule id = "zero_to_ten">       <one-of> <item> zero </item>               <ruleref uri = "#single_digit"/>               <item> ten </item>        </one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of>     </rule></grammar>

This is a grammar used by the speech recognizer. (There may also be grammars for

DTMF recognizers.)

Page 58: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Example Grammar

<grammar type = "application/srgs+xml" root = "zero_to_ten" mode = "voice">

<rule id = "zero_to_ten">       <one-of>               <item> zero </item>              <ruleref uri = "#single_digit"/>               <item> ten </item>        </one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of>     </rule></grammar>

<one-of> describesalternatives

Page 59: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Example Grammar

<grammar type = "application/srgs+xml" root = "zero_to_ten" mode = "voice">

<rule id = "zero_to_ten">       <one-of>               <item> zero </item>              <ruleref uri = #single_digit"/>               <item> ten </item>        </one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of>     </rule></grammar>

Rule element references another rule

Page 60: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Example Grammar

<grammar type = "application/srgs+xml" root = "zero_to_ten" mode = "voice">

<rule id = "zero_to_ten">       <one-of>              <item> zero </item>              <ruleref uri = "#single_digit"/>               <item> ten </item>        </one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of>     </rule></grammar>

Exercise 6:

Write a grammar for that recognizes

the digits zero to nineteen

Page 61: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Answer to Exercise 6Write a grammar for zero to nineteen

<grammar type = "application/srgs+xml" root = "zero_to_19" mode = "voice">

<rule id = "zero_to_19">       <one-of>              <item> zero </item>              <ruleref uri = "#single_digit"/>

        <item> ten </item>               <item> eleven </item>               <item> twelve </item>               <item> thirteen </item>               <item> fourteen </item>               <item> fifteen </item>               <item> sixteen </item>               <item> seventeen </item>               <item> eighteen </item>               <item> nineteen </item>

        </one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of>     </rule></grammar>

Page 62: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

More Grammar Elements

• Repeat and optional<rule id = "goodness" scope = "public">      <item repeat = "0-3" > very </item>

good</rule>

• Sequence<rule id = "twenty_thru_twentynine“>

Twenty  <ruleref uri = "#single_digit"/>

</rule>

• Garbage<rule name = "James_Lewis">

    <item> James <ruleref special = “garbage"/> Lewis </item>

</rule>

Page 63: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Exercise 7

• Write a grammar for that recognizes the digits zero to thirty-nine

Page 64: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Answer to Exercise 7Write a grammar for zero to thirty-nine

<rule id = "zero_to_39">   <one-of>

<item> zero </item><item> <ruleref uri = "#single_digit"/> </item><item> <ruleref uri = "#teens"/> </item><item> twenty </item><item> twenty <ruleref uri = "#single_digit"/> </item><item> thirty </item><item> thirty <ruleref uri = "#single_digit"/> </item>

</one-of></rule>

     <rule id = "single_digit">          <one-of>               <item> one </item>               <item> two </item>               <item> three </item>               <item> four </item>               <item> five </item>               <item> six </item>               <item> seven </item>               <item> eight </item>              <item> nine </item>         </one-of> </rule>

<grammar type = "application/srgs+xml" root = "zero_to_39" mode = "voice">

<rule id = “teens">  <one-of>                  <item> ten </item>          <item> eleven </item>         <item> twelve </item>         <item> thirteen </item>         <item> fourteen </item>             <item> fifteen </item>             <item> sixteen </item>             <item> seventeen </item>             <item> eighteen </item>             <item> nineteen </item>     </one-of>  </rule>

Page 65: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Reusing existing grammars

  <grammar

type = "application/srgs+xml" root = "size” src = “http://www.example.com/size.grxml"/>

Page 66: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Outline

• Motivation for VoiceXML• W3C Speech Interface Framework

Languages• Dialog—VoiceXML 2.0 • Speech Synthesis—SSML • Grammars—SRGS • Semantic Interpretation—SI • Call Control

Page 67: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

• To create smart voice user interfaces, we need to extract the semantic information from speech utterances

• Example:o Utterance: “I want to fly from Dublin to Paris”o Semantic Interpretation:

{origin: “Dublin”destination: “Paris”

}

Page 68: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

ASR

Grammar withSemantic

InterpretationScripts

SemanticInterpretation

Processor

VoiceXMLInterpreter

Application

text

ECMAScriptobject

<submit>

fourteen

Page 69: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

ASR

Grammar withSemantic

InterpretationScripts

VoiceXMLInterpreter

Application

text

fourteen

fourteen

ECMAScriptobject

SemanticInterpretation

Processor

<submit>

Page 70: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

ASR

Grammar withSemantic

InterpretationScripts

VoiceXMLInterpreter

Application

text

fourteen

<item> fourteen <tag>$.quantity=“14”;</tag></item>

ECMAScriptobject

SemanticInterpretation

Processor

<submit>

Page 71: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

ASR

Grammar withSemantic

InterpretationScripts

VoiceXMLInterpreter

Application

text

fourteen

{     quantity: “14” }

<item> fourteen <tag>$.quantity=“14”;</tag></item>

ECMAScriptobject

SemanticInterpretation

Processor

<submit>

Page 72: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

ASR

Grammar withSemantic

InterpretationScripts

VoiceXMLInterpreter

Application

text

fourteen

quantity = “14”

fourteen

{     quantity: “14” }

<item> fourteen <tag>$.quantity=“14”;</tag></item>

ECMAScriptobject

SemanticInterpretation

Processor

<submit>

Page 73: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

• Semantic Interpretation defines the content of <tag>s in SRGS grammars

• Two kinds of syntax for <tag> contents:o Semantic Literals (literal values)o Semantic Scripts (ECMAScript)

Page 74: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

• Semantic Literals example:

<rule id=“drink“><one-of>

<item> coca cola <tag> coke </tag> </item>   <item> cola <tag> coke </tag>  </item>   <item> black fizzy stuff <tag> coke </tag> </item>

<item> coke </item> </one-of></rule>

Page 75: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

• Semantic Literals example:

<rule id=“drink“><one-of>

<item> coca cola <tag> coke </tag> </item>   <item> cola <tag> coke </tag>  </item>   <item> black fizzy stuff <tag>coke </tag> </item>

<item> coke </item> Default Assignment </one-of></rule>

Page 76: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

• Semantic Scripts employ ECMAScript

• Advantages:• Richer structure (objects)• Ability to perform computations

Page 77: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

• Example grammar rule with Script Syntax:

<rule id = "action"> <one-of>

     <item> small <tag> $.size = "small"; </tag> </item>        <item> medium <tag> $.size = "medium"; </tag> </item>        <item> large <tag> $.size = “large"; </tag> </item>    </one-of> <one-of>     <item> green <tag> $.color = "green"; </tag> </item>        <item> blue   <tag> $.color = "blue"; </tag>  </item>        <item> white <tag> $.color = "white"; </tag>  </item>    </one-of></rule>

• ECMAScript structure:

action: {     size: "large" color:  "white"     }

Large white

Page 78: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Semantic Interpretation

• Example grammar rule with Script Syntax:

<rule id="calculator"> What is <ruleref uri="#digit"/><tag>$.total = $digit;</tag> <item repeat="1-"> plus <ruleref uri="#digit"/> <tag> $.total = $.total + $digit; </tag> </item> </rule>

• ECMAScript structure:

calculator: {     total: 6     }

What is 1+ 2+ 3?

Page 79: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Exercise 8Fill in the contents of <tag>

• Grammar rule:

<rule id = “transfer"> from

         <one-of>          <item> savings <tag>________________________ </tag> </item>          <item> checking <tag>________________________</tag>  </item>      </one-of>

to <one-of>          <item> savings <tag>________________________</tag> </item>

          <item> checking <tag>________________________</tag> </item>      </one-of></rule>

• ECMAScript structure:

transfer: {     source_account: "savings" target_account:  “checking"     }

From savings to checking

Page 80: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Answer to Exercise 8

From savings to checking

• Grammar rule:

<rule id = “transfer"> from

         <one-of>          <item> savings <tag> $.source_account = “savings"; </tag> </item>          <item> checking <tag> $.source_account = “checking"; </tag> </item>      </one-of>

to <one-of>          <item> savings  <tag> $.target_account = “savings"; </tag> </item>

          <item> checking <tag> $.target_account = “checking"; </tag> </item>      </one-of></rule>

• ECMAScript structure:

transfer: {      source_account: "savings" target_account:  “checking"     }

Page 81: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Outline

• Motivation for VoiceXML• W3C Speech Interface Framework

Languages• Dialog—VoiceXML 2.0 • Speech Synthesis—SSML • Grammars—SRGS • Semantic Interpretation—SI • Call Control

Page 82: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML

• Provides call control support for VoiceXML and other dialog languages

• Separate interpreter from VoiceXMLo Lives on its own threado Handles asynchronous events

• May be used to create standalone applications

• Replaces <transfer> and <disconnect> currently in VoiceXML 2.0 (or provides the underlying support for them)

Page 83: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML

• VoiceXML

Page 84: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML

• VoiceXML + CCXML

Page 85: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML

• Featureso Multi-party conferencing (human and

machine)o Sophisticated multi-call handling and controlo Support for async external messages and

eventso More sophisticated call control than

VoiceXMLo Call control protocol independence

• Goal to support very high density and performance

Page 86: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state">

</eventprocessor>

Page 87: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state"> <transition state="initial" event=“connection.connected"> </transition>

</eventprocessor>

Page 88: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state"> <transition state="initial" event=“connection.connected"> <join id1="conf_id" id2="conn_id"/> <assign name="state" expr="‘joining’"/> </transition>

</eventprocessor>

Page 89: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state"> <transition state="initial" event=“connection.connected"> <join id1="conf_id" id2="conn_id"/> <assign name="state" expr="‘joining’"/> </transition> <transition state="joining" event="conference.joined"> </transition> </eventprocessor>

Page 90: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state"> <transition state="initial" event=“connection.connected"> <join id1="conf_id" id2="conn_id"/> <assign name="state" expr="‘joining’"/> </transition> <transition state="joining" event="conference.joined"> <dialogstart conferenceid="conf_id" src=“‘newcaller.vxml’"/> <assign name="state" expr="‘active’"/> </transition> </eventprocessor>

Page 91: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

CCXML<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state"> <transition state="initial" event=“connection.connected"> <join id1="conf_id" id2="conn_id"/> <assign name="state" expr="‘joining’"/> </transition> <transition state="joining" event="conference.joined"> <dialogstart conferenceid="conf_id" src=“‘newcaller.vxml’"/> <assign name="state" expr="‘active’"/> </transition> </eventprocessor>

<vxml xmlns="http://www.w3.org/2001/vxml" version="2.0">

<form>

<block>

A new participant has entered the conference.

</block>

</form>

</vxml>

Page 92: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state"> <transition state="initial" event=“connection.connected"> <join id1="conf_id" id2="conn_id"/> <assign name="state" expr="‘joining’"/> </transition> <transition state="joining" event="conference.joined"> <dialogstart conferenceid="conf_id" src=“‘newcaller.vxml’"/> <assign name="state" expr="‘active’"/> </transition> </eventprocessor>

Exercise 9Announce when a caller leaves

Page 93: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state"> <transition state="initial" event=“connection.connected"> <join id1="conf_id" id2="conn_id"/> <assign name="state" expr="‘joining’"/> </transition> <transition state="joining" event="conference.joined"> <dialogstart conferenceid="conf_id" src=“‘newcaller.vxml’"/> <assign name="state" expr="‘active’"/> </transition> <transition state=“active" event="connection.disconnected"> <dialogstart conferenceid="conf_id" src=“‘callerleft.vxml’"/> <assign name="state" expr="‘inactive’"/> </transition></eventprocessor>

Answer to Exercise 9

Page 94: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

<var name="state" expr="‘initial’"/>

<eventprocessor statevariable="state"> <transition state="initial" event=“connection.connected"> <join id1="conf_id" id2="conn_id"/> <assign name="state" expr="‘joining’"/> </transition> <transition state="joining" event="conference.joined"> <dialogstart conferenceid="conf_id" src=“‘newcaller.vxml’"/> <assign name="state" expr="‘active’"/> </transition> <transition state=“active" event="connection.disconnected"> <dialogstart conferenceid="conf_id" src=“‘callerleft.vxml’"/> <assign name="state" expr="‘inactive’"/> </transition></eventprocessor>

<vxml xmlns="http://www.w3.org/2001/vxml" version="2.0">

<form>

<block>

A participant has left the conference.

</block>

</form>

</vxml>

Answer to Exercise 9

Page 95: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Example Applications withCCXML-VoiceXML

• Alertso Stock value changes, order is available, flight is

delayed, road closure, school closure• Conference

o Add additional person to the conferenceo Whispero Eject

• Find meo Try alternative telephone numbers

• Instant messagingo Notify me when John calls in to access his e-mail

• Control home applicationso Turn on/off coffee pot, oven, air conditioner, lights,

arm/disarm the security system• Call Center/Customer Care Applications

Page 96: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

VoiceXML 2.1

• VoiceXML’s success and popularity resulted in many implementations early in the standardization process

• Additional, innovative features were conceived after VoiceXML 2.0 content was agreed

• Goals of VoiceXML 2.1:o Ensure portability by specifying a set of

commonly implemented extensionso Backwards-compatible with VoiceXML 2.0o Follow a “fast track” to standardization

Page 97: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

VoiceXML 2.1

• Standardized extensions:o Locate barge-in occurrences within

promptso Interact directly with XML-based

infrastructureo Access recognition utterances for analysiso Increase performance be reducing server

round-tripso Extended call transfer types

Page 98: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Summary

• W3C Speech Interface Frameworko Dialog—VoiceXML o Grammar—SRGSo Synthesis—SSML o Semantic Interpretation—SI o Call Control—CCXML

• Can work together or separately• See http://www.w3.org/voice/ for

details

Page 99: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Resources

Page 100: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Industry Organizations

• World Wide Web Consortiumo http://www.w3.org

• W3C Voice Browser Working Groupo http://www.w3.org/voice/

• W3C Multi-Modal Working Groupo http://www.w3.org/2002/mmi/

• VoiceXML Forumo http://www.voicexml.org

• SALT Forum: o http://www.saltforum.org

• Speech Technology Magazineo http://www.amcommexpos.com/

Page 101: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Books

• James A. Larson, VoiceXML—An Introduction to Developing Speech Applications, 2002, Upper

Saddle River, NJ: Prentice Hall.• Eve Astrid Andersson, et.al., Early Adopter Voice, 2001, Birmingham UK:

Vrox.• Bruce Balentine & David P. Morgan, How to Build a Speech Recognition

Application: A Style Guide for Telephony Dialogues, 1999, San Ramon, CA: Enterprise Integration Group.

• Rick Beasley et. al., Voice Application Development with Voice, 2002, Indianapolis: Sams.

• Bob Edgar, The Voice Handbook, 2001, New York: CMP.• Susan Weinschenk & Dean T. Barker, Designing Effective Speech

Interfaces, 2000, New York: John Wiley & Sons.• Chetan Sharma & Jeff Kunins, Voice: Strategies and Techniques for

Effective Voice Application Development with Voice 2.0, 2002, New York: John Wiley.

• Michael H. Cohen, James P. Giangola, & Jennifer Balogh, Voice User Interface Design, 2004, Addison Wesley.

Page 102: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Tutorials and Articles

• VoiceXML Forum o http://www.voicexmlforum.org/

• VoiceXML Reviewo http://www.voicexmlreview.org/

• World of VoiceXMLo http://www.kenrehor.com/voicexml/

Page 103: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Online Voice SDKs

Name URL

BeVocal Cafe http://cafe.bevocal.com

Hey Anita FreeSpeech http://www.heyanita.com

Tellme Studio http://studio.tellme.com

VoiceGenie Developer Workshop

http://developer.voicegenie.com

Voxeo Community http://www.voxeo.com

Voxpilot voxbuilder http://www.voxbuilder.com

 

Page 104: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Downloadable Voice Interpreters

Name URL

IBM WebSphere Voice Server SDK

http://www.ibm.com/software/voice

Page 105: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Public VoiceXML Interpreters

Interpreter Source URL

OpenVXI - VoiceXML Interpreter

Carnegie-Melon University Department of Computer Science Speech Group

http://www.speech.cs.cmu.edu/openvxi/index.html

PublicVoiceXML - VoiceXML platform

Public Voice Lab Vienna, Austria

http://www.publicvoicexml.org/

 

Page 106: Introduction to VoiceXML 2.0 Rob Marchand Director of Product Management VoiceGenie Technologies Inc.

Introduction to VoiceXML

• Questions?


Recommended