Voice Composer: A Development Tool for Voice Applications Yi-Xuan Li and Nai-Wei Lin Department of Computer Science & Information Engineering National Chung Cheng University
Outline Motivations Related work The architecture of Voice Composer The visual programming editor The program generator A case study Conclusion
Prevalence of mobile voice devices requests rapid development and maintenance of voice applications Eye-disabled people requests convenient accesses of information and services via voice devices Current development tools for voice applications still have enough rooms for improving Motivations
Voice XML Voice XML gateway interpreter ASR TTS call processor Voice XML document Internet PSTN
Dialog Flow
Current Tools Voice XML editors –syntax-directed editing Dialog wizards –programming with dialog components Visual dialog flow editors –visual programming of dialog components
The Architecture of Voice Composer Dialog Flow Editor Program Generator Simulator Database Integrator Dialog Component Builder Visual Programming Editor
Database Integrator is based on ODBC, and maintains database schemas and database connection information Database Integrator database connection database schemas
Builtin dialog components –start 、 exit 、 PHP 、 SQL 、 Menu 、 link User-defined dialog components –leaf components –root components: global variables and events –subdialog components Dialog Components
An Example menu 1.article 2.music 3.exit read article play music menu 1.repeat 2.exit press ’#’ menu 1.repaet 2.exit
Builtin dialog components used –start 、 exit 、 Menu New dialog components –Two leaf components Read article Play music –A root component A global event: return to the main menu when pressing ’ # ’ key Build New Dialog Components
Dialog Component Builder Exposed Attributes Attributes Selected Element Dialog Component Tree
Play Music Dialog Component Attributes
Play Music Dialog Component Exposed Attributes
New Dialog Components
Dialog Flow Editor description exposed attributes link commands user-defined builtin
Editing Root Component exposed attributes
Editing Main Menu Component exposed attributes
Editing Read Article Component exposed attributes
Editing Play Music Component exposed attributes
Editing Menu I Component exposed attributes
Editing Menu II Component exposed attributes
Translation of builtin dialog components Translation of user-defined dialog components Program Generator
Translation of Builtin Components
這是一個範例測試,選 1 ,聽文章, 選 2 ,聽音樂,選 3 ,離開 聽文章 聽音樂 離開 Menu_prompt dtmf-1string-1
Translation of User- Defined Components Xerces Tree Conversion Voice XML PHP Conversion PHP Dialog Component Tree DOM Tree
An Example
Dialog Component Tree
Tree Conversion Conversion of external variables Conversion of grammars Conversion of SQL commands
Conversion of External Variables cont=”yesno=’ye s’” vxml formvar name=questio n field filled grammarprompt expr=question 請選擇 是或是 否 ifelse goto next=A.vxm l goto next=B.vxml Grammar_process() SQL_process()
Conversion of Grammars
Conversion of SQL Commands
Voice XML Generation
Conversion of PHP files
Case Study
System analysis: 4 hours Database construction: 2 hours User-defined component construction (4): 1 hour Dialog flow editing (13): 0.5 hour 124 Voice XML or PHP files are generated
Conclusion Voice Composer is a development tool for voice applications Voice Composer supports visual programming of dialog flows Voice Composer supports extension for user-defined dialog component construction Voice Composer supports extension for database programming