370 likes | 385 Views
Voice Composer is a comprehensive development tool created by Yi-Xuan Li and Nai-Wei Lin from National Chung Cheng University. The architecture of Voice Composer includes a visual programming editor, program generator, and database integrator for efficient voice app development. Motivated by the need for rapid development and convenient access to voice applications, Voice Composer offers a user-friendly interface with features like built-in and user-defined dialog components. Through a case study, it demonstrates the efficiency of generating Voice XML and PHP files, showcasing the tool's capabilities in system analysis, database construction, and dialog flow editing. Overall, Voice Composer is a versatile platform that supports visual programming, user-defined components, and database programming for creating voice applications easily.
E N D
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
Motivations • 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
Voice XML Voice XML gateway interpreter Internet call processor ASR Voice XML document PSTN TTS
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 Database Integrator Dialog Flow Editor Program Generator Simulator Dialog Component Builder Visual Programming Editor
Database Integrator • Database Integrator is based on ODBC, and maintains database schemas and database connection information database schemas database connection
Dialog Components • Builtin dialog components • start、exit、PHP、SQL、Menu、link • User-defined dialog components • leaf components • root components: global variables and events • subdialog components
An Example press ’#’ menu 1.repeat 2.exit read article menu 1.article 2.music 3.exit menu 1.repaet 2.exit play music press ’#’
BuildNew Dialog Components • 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
Dialog Component Builder Selected Element Attributes Exposed Attributes Dialog Component Tree
Play Music Dialog Component Attributes
Play Music Dialog Component Exposed Attributes
Dialog Flow Editor link commands builtin user-defined exposed attributes description
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
Program Generator • Translation of builtin dialog components • Translation of user-defined dialog components
Translation of Builtin Components Menu_prompt <?xml version="1.0" encoding="Big5"?> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"> <menu> <prompt>這是一個範例測試,選 1,聽文章, 選 2,聽音樂,選 3,離開</prompt> <choice dtmf="1" next="link-1.vxml">聽文章</choice> <choice dtmf="2" next="link-2.vxml">聽音樂</choice> <choice dtmf="3" next="exit.vxml">離開</choice> </menu> </vxml> dtmf-1 string-1
Translation of User-Defined Components Voice XML PHP Tree Conversion Xerces PHP Conversion Dialog Component Tree DOM Tree
Tree Conversion • Conversion of external variables • Conversion of grammars • Conversion of SQL commands
vxml SQL_process() var form name=question field prompt grammar Grammar_process() prompt 請選擇是或是否 expr=question filled cont=”yesno=’yes’” if else goto goto next=A.vxml next=B.vxml Conversion of External Variables
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