ebook img

Java Speech API Programmer’s Guide PDF

156 Pages·1998·0.79 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Java Speech API Programmer’s Guide

Java™ Speech API Programmer’s Guide Version1.0—October26,1998 A Sun Microsystems, Inc. Business 901 San Antonio Road Palo Alto, CA 94303 USA 415 960-1300 Fax 415 969-9131 Copyright1997-1998SunMicrosystems,Inc. 901SanAntonioRoad,PaloAlto,California94303U.S.A. Allrightsreserved. RESTRICTEDRIGHTSLEGEND:Use,duplication,ordisclosurebytheUnitedStatesGovernmentissubjecttotherestrictionssetforthin DFARS252.227-7013(c)(1)(ii)andFAR52.227-19. ThereleasedescribedinthisdocumentmaybeprotectedbyoneormoreU.S.patents,foreignpatents,orpendingapplications.Sun Microsystems,Inc.(SUN)herebygrantstoyouafullypaid,nonexclusive,nontransferable,perpetual,worldwidelimitedlicense(withoutthe righttosublicense)underSUN'sintellectualpropertyrightsthatareessentialtopracticethisspecification.Thislicenseallowsandislimitedto thecreationanddistributionofclean-roomimplementationsofthisspecificationthat(i)arecompleteimplementationsofthisspecification,(ii) passalltestsuitesrelatingtothisspecificationthatareavailablefromSUN,(iii)donotderivefromSUNsourcecodeorbinarymaterials,and (iv)donotincludeanySUNbinarymaterialswithoutanappropriateandseparatelicensefromSUN. Java,PersonalJava,EmbeddedJava,JavaBeans,JavaFoundationClasses,JavaScript,HotJavaand“WriteOnce,RunAnywhere”aretrademarks ofSunMicrosystems,Inc.intheUnitedStatesandothercountries.Sun,SunMicrosystems,SunMicrosystemsComputerCorporation,theSun logo,theSunMicrosystemsComputerCorporationlogo.UNIX®isaregisteredtrademarkintheUnitedStatesandothercountries,exclusively licensedthroughX/OpenCompany,Ltd.Adobelogo™isatrademarkofAdobeSystems,Incorporated.Allotherproductnamesmentioned hereinarethetrademarksoftheirrespectiveowners. THISPUBLICATIONISPROVIDED“ASIS”WITHOUTWARRANTYOFANYKIND,EITHEREXPRESSORIMPLIED,INCLUDING,BUT NOTLIMITEDTO,THEIMPLIEDWARRANTIESOFMERCHANTABILITY,FITNESSFORAPARTICULARPURPOSE,ORNON- INFRINGEMENT. THISPUBLICATIONCOULDINCLUDETECHNICALINACCURACIESORTYPOGRAPHICALERRORS.CHANGESAREPERIODICALLY ADDEDTOTHEINFORMATIONHEREIN;THESECHANGESWILLBEINCORPORATEDINNEWEDITIONSOFTHEPUBLICATION. SUNMICROSYSTEMS,INC.MAYMAKEIMPROVEMENTSAND/ORCHANGESINTHEPRODUCT(S)AND/ORTHEPROGRAM(S) DESCRIBEDINTHISPUBLICATIONATANYTIME. Please Recycle Table of Contents List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii About this Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii Web Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiv Related Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv Mailing Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xv Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvi Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 What is the Java Speech API? . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Design Goals for the Java Speech API . . . . . . . . . . . . . . . . . . . 2 1.3 Speech-Enabled Java Applications . . . . . . . . . . . . . . . . . . . . . . 2 1.3.1 Speech and other Java APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Applications of Speech Technology . . . . . . . . . . . . . . . . . . . . . 3 1.4.1 Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4.2 Telephony Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4.3 Personal and Embedded Devices . . . . . . . . . . . . . . . . . . . . . . . 5 1.4.4 Speech and the Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.6 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 iii Chapter 2 Speech Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1 Speech Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Speech Synthesis Limitations . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.2 Speech Synthesis Assessment . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 Speech Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.1 Rule Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.2 Dictation Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.3 Limitations of Speech Recognition . . . . . . . . . . . . . . . . . . . . 16 Chapter 3 Designing Effective Speech Applications . . . . . . . . . . . . . . 19 3.1 When to Use Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Design for Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.1 Transience: What did you say? . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.2 Invisibility: What can I say? . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.3 Asymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.4 Speech synthesis quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.5 Speech recognition performance . . . . . . . . . . . . . . . . . . . . . . 24 3.3.6 Recognition: flexibility vs. accuracy . . . . . . . . . . . . . . . . . . . 25 3.4 Design Issues for Speech-Only Applications . . . . . . . . . . . . . 26 3.4.1 Feedback & Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.4.2 Prompting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.3 Handling Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5 Design Issues for Multi-Modal Applications . . . . . . . . . . . . . 29 3.5.1 Feedback & Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5.2 Prompting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5.3 Handling Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.6 Involving Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.6.1 Natural Dialog Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.6.2 Wizard-of-Oz Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.6.3 Usability Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.7 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.8 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 iv Chapter 4 Speech Engines: javax.speech. . . . . . . . . . . . . . . . . . . . . . . 35 4.1 What is a Speech Engine? . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2 Properties of a Speech Engine . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3 Locating, Selecting and Creating Engines . . . . . . . . . . . . . . . 39 4.3.1 Default Engine Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.3.2 Simple Engine Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3.3 Advanced Engine Selection . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.3.1 Refining an Engine List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4 Engine States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.1 State systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.2 Allocation State System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4.3 Allocated States and Call Blocking . . . . . . . . . . . . . . . . . . . . 47 4.4.4 Pause - Resume State System . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.5 State Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.4.6 Synthesizer Pause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.4.7 Recognizer Pause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.5 Speech Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.5.1 Event Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.6 Other Engine Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.6.1 Runtime Engine Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.6.2 Audio Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6.3 Vocabulary Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Chapter 5 Speech Synthesis: javax.speech.synthesis . . . . . . . . . . . . . . 57 5.1 “Hello World!” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.2 Synthesizer as an Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.3 Speaking Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4 Speech Output Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.5 Monitoring Speech Output . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.6 Synthesizer Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.6.1 Selecting Voices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.6.2 Property Changes in JSML . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.6.3 Controlling Prosody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 v Chapter 6 Speech Recognition: javax.speech.recognition . . . . . . . . . 71 6.1 “Hello World!” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.2 Recognizer as an Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3 Recognizer State Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3.1 Inherited States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3.2 Recognizer Focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.3.3 Recognition States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.3.3.1 Speech Events vs. Other Events . . . . . . . . . . . . . . . . . . . . . . . 80 6.3.3.2 Speech Input Event Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.3.3.3 Non-Speech Event Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.3.4 Interactions of State Systems . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.4 Recognition Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.4.1 Grammar Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.4.2 Committing Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.4.3 Grammar Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.5 Rule Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.5.1 Rule Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.5.2 Imports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.5.3 Rule Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.5.3.1 Advanced Rule Programming . . . . . . . . . . . . . . . . . . . . . . . . 93 6.5.4 Dynamic Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.5.5 Parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.6 Dictation Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.6.1 Dictation Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.7 Recognition Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.7.1 Result Finalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.7.2 Result Interface Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.7.3 Result Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.7.3.1 Result Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.7.3.2 FinalResult Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.7.3.3 FinalDictationResult Interface . . . . . . . . . . . . . . . . . . . . . . . 107 6.7.3.4 FinalRuleResult Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.7.4 Result Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 6.7.5 ResultListener Attachment . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.7.6 Recognizer and Result States . . . . . . . . . . . . . . . . . . . . . . . . 110 6.7.6.1 Updating Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 vi 6.7.7 Grammar Finalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 6.7.8 Token Finalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 6.7.9 Finalized Rule Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.7.9.1 Result Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.7.9.2 Alternative Guesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.7.9.3 Result Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.7.9.4 Result Parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.7.10 Finalized Dictation Results. . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.7.10.1 Alternative Guesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.7.10.2 Result Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.7.11 Result Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.7.12 Result Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.7.13 Rejected Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.7.13.1 Rejection Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.7.14 Result Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.7.15 Storing Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.8 Recognizer Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.9 Speaker Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.10 Recognizer Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 vii viii List of Figures Chapter 1 Introduction Chapter 2 Speech Technology Chapter 3 Designing Effective Speech Applications Chapter 4 Speech Engines: javax.speech 4-1 Engine allocation state system . . . . . . . . . . . . . . . . . . . . . . . . .47 4-2 PAUSED and RESUMED Engine states . . . . . . . . . . . . . . . . .49 Chapter 5 Speech Synthesis: javax.speech.synthesis 5-1 Synthesizer states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Chapter 6 Speech Recognition: javax.speech.recognition 6-1 Recognizer states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 6-2 Result states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 ix Java Speech Application Programming Interface x

Description:
Speech synthesis can be used to bring web pages alive, inform users of the progress of applets, and Java Speech Application Programming Interface 68
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.