Digital PDFs
Documents
Guest
Register
Log In
EK-DTC03-OM-001
December 1985
222 pages
Original
92MB
view
download
OCR Version
60MB
view
download
Document:
DECtalk DTC03
Text-to-Speech System
Owner's Manual
Order Number:
EK-DTC03-OM
Revision:
001
Pages:
222
Original Filename:
OCR Text
EK-DTC03-OM-001 DECtalk DTCO3 Text-to-Speech System Owner's Manual - - | Prepared by Educational Services | of Digital Equipment Corporation 1st Edition, December 1985 Copyright © 1985 by Digital Equipment Corporation. All Rights Reserved. Printed in U.S.A. The reproduction of this material, in part or whole, is strictly prohibited. For copy information, contact the Educational Services Department, Digital Equipment Corpora- tion, Maynard, Massachusetts 01754. The information in this document is subject to change without notice. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. This equipment generates, uses, and may emit radio frequency energy. The equipment has been type tested and found to comply with the limits for a Class A computing device pursuant to Subpart J of Part 15 of FCC Rules, which are designed to provide reasona- ble protection against such radio frequency interference when operated in a commercial environment. Operation of this equipment in a residential area may cause interference, in which case the user, at his own expense, may be required to take measures to correct the inteference. B25A is a trademark of Western Electric. BASIC is a trademark of Dartmouth College. Touch-Tone and AT&T are trademarks of American Telephone and Telegraph Company. The following are trademarks of Digital Equipment Corporation, Maynard, Massachusetts. d[ilgli[t]a]1] DECtalk DEC DECUS DECmailer DECmate RSTS DECwriter RSX DIBOL UNIBUS DECnet MASSBUS VAX Rainbow DECservice PDP VMS DECsystem-10 P/OS VT DECSYSTEM-20 Professional Work Processor , U.S. FCC REQUIREMENTS The U.S. Federal Communications Commission (FCC) classifies the DECtalk DTCO03 as terminal equipment. FCC regulations require that you provide the business office of your local telephone company with the following information before you connect DECtalk to the telephone network. - e The particular lines(s) to which terminal equipment will be connected (by tele- phone number) e The make, model number, and FCC registration number (See the label on the back of the equipment.) e The ringer equivalence for the registered terminal equipment (See the label on the back of the equipment.) e The type of service needed (if not already installed) The following list contains that information you need to give the telephone company. Make: DECtalk o Model: DTCO03-AA FCC registration: A0994Q-71152-AN-E Ringerr equivalence: 0.2B Type of service: 8 public switched lines in a USOC RJ21X connection arrangement (See the DECtalk DTCO03 Text-to-Speech System Installation Guide.) You must also notify the telephone company when you permanently disconnect terminal equipment from telephone line(s). You may not connect terminal equipment to a party line or coin-operated telephone equipment. If terminal equipment damages the telephone network, the telephone company can, after notifying the customer, temporarily discontinue service. However, when prior notice is not practical, the telephone company can temporarily discontinue service immediately. In such cases, the telephone company shall e promptly notify customers that service has been discontinued e give customers the opportunity to correct the situation e inform customers of their right to bring a complaint to the FCC according to Subpart E of Part 68 of FCC Telephone Equipment Rules. CANADIAN DOC REQUIREMENTS P, The Canadian Department of Communications (DOC) label on the DECtalk DTCO03 identifies certified equipment. This certification means that the equipment meets certain telecommunications network protective, operational, and safety requirements. The DOC does not guarantee the equipment will operate to the user's satisfaction. DOC regulations require that you provide the business office of your local telecommunications company with the following information before you install DECtalk. Make: DECtalk Model: DTC03-AA DOC certification: 1921422A Load number: 5B Type of service: 8 public switched lines in a CA21A connection arrangement (See the DECtalk DTCO3 Text-to-Speech System Installation Guide.) Before you install this equipment, make sure it is permissible to connect it to the local telecommunications company’s facilities. You must also install the equipment by using an approved connection method. Be aware that complying with the above conditions may not prevent degradation of service in some situations. Telecommunications company requirements do not allow you to connect their equipment to customer-provided jacks, except where specified by individual telecommunications company tariffs. Only authorized Canadian maintenance facilities, designated by the supplier, should repair certified equipment. If you repair or alter certified equipment yourself, or if the equipment malfunctions, the telecommunications company has cause to ask you to disconnect the equipment. You should ensure (for your own protection) that the electrical ground connections for the power utility, telephone lines, and internal metallic water-pipe system, if present, are connected together. This precaution may be particularly important in rural areas. CAUTION: Do not try to make such connections yourself. Contact the appropriate electric inspection authority or electrician. g CONTENTS Al SR e INTRODUCTION .......... TP PART1 GENERALDESCRIPTION .............. R Xiii 1 1.2.2.2 1.3 Pushbuttons ..., e The DECtalk DiagnosticTests .................... s 1.4 OperatingMode .............. e e 2 2 3 4 4 6 7 8 8 8 9 en e . i HOWDECtalk WORKS ..... 2 ..... ... .. ...... TexttoSpeech Converting 2.1 DECtalk Software Program ..., 2.2 10 10 11 HOW DECtalk PROGRAMMING WORKS ................. 15 COMMUNICATINGWITHDECtalk ........... ... . ot 3 ..... ... ... Programming Guidelines ........ ~ 3.1 i TypesofData...........coiiiiiiiiiiiiiii 3.1.1 Using Escape Sequences and ControlCharacters ...... 3.2 Escape Sequences .......... e e ceve.... 3.2.1 Escape Sequence Format .............. e e 3.2.2 ..... .. .. Special Characters ..... 3.2.3 ............... Character (BS) Effect of the Backspace | 3.2.4 16 16 18 18 18 20 22 23 GETTING TO KNOW THE SYSTEM .............. [, 1 The DECtalk DTCO3 System ........ .o, 1.1 The DECtalk Module ...t 1.2 Module Configuration ................. e ... 1.2.1 iie e i Module Controls ...t 1.2.2 e e LEDS ..., 1.2.2.1 1.3.1 1.3.2 PART2 Power-Up Self-Test ........ ...t e Routine Self-Test ... CONTENTS 3.3 DECtalk-Computer Communication ......... e e 3.3.1 3.3.2 DECtalk Setups........ e e e e Program Control ...... ... ....... ... .. .. ..... e 3.3.3 Data Synchronization ..... ... .. ..... ... ... ... . ... . 4 CHARACTERENCODING AND SETUP ESCAPE SEQUENCES ...t 4.1 Selecting ASCI|I Character Sets.......... . 4.2 Coding Standards ........................ e 4.3 CodeTables .......... i 4.3.1 7-Bit ASClICode Table 4.3.2 8-BitCodeTable .......................... e 4.4 ...................... e CharacterSets ..., R 4.4.1 Designating Alternate Graphic Sets .......... e 4.4.2 Invoking Graphic Sets into GL and GR ... .. e 4.4.3 4.5 Character Processing ............... e Control Functions ...............co 4.5.1 Escape Sequences .............c.o .. 4.5.2 Control Sequences ................. ee 4.5.3 Device Control Strings ...........coouu e .. 4.6 Working with 7-Bit and 8-Bit Environments ............. 4.6.1 7-Bitand 8-BitC1 Controls 4.6.2 Mode Selection (DT_MODE) .......... e MAINTENANCE AND TESTCOMMANDS ..., S5 ......................... 5.1 Conformance Level Request (DECSCL) ................ 52 Device Attribute Requests ......................e 5.2.1 Device Attribute Request (DA anary) ............... 5.2.2 Device Attribute Request (DA Secondary) ........... 5.3 Device Test and Status ............ e e 5.3.1 DECtalk Power-Up Status ................. ... ... 5.3.2 Device Self-Tests (DECTST) ... 5.3.3 Device Status Request (DSR) (Brief Report) ......... 534 Device Status Request (DSR) (Extended Report) .... 5.3.5 Reset to Initial State (RIS) 5.3.6 Soft Terminal Rest (DECSTR) ................. e 53.7 NVR Control (DECNVR) ..., Vi ...... ... ... ... ... ..... CONTENTS 6 TELEPHONE COMMUNICATIONS .................. e, 6.1 ~ Telephone Management (DT_PHONE) ................ 57 58 6.1.1 PH_ANSWER ........ R N Py 61 6.1.2 PH_HANGUP ... e ... 61 6.1.3 6.1.4 6.1.5 6.1.6 6.1.7 PH_KEYPAD ............ et en e s e . PH_NOKEYPAD . . i e e ceeee e PH_STOPPAD ..... ..t e. PH _TIMEOUT ... et et e e e e PH_TONE__DIAL and PH_PULSE_DIAL .......... 62 62 B2 63 63 6.1.8 PH _WINK i i ittt e et e eee e PH_ _NOWINK . i e et e et e i e Examples of Telephone Communication Sessuons ... Keypad Mask (DT_MASK) .................... e 65 DECtalk PHONEMICSANDVOICES ..................... 73 DECtalk PHONEMICINPUT ............ e e e ce... T4 6.1.9 6.1.10 6.2 PART3 7 65 B65 70 7.1 Phonemic Transcription ... .. 74 7.2 Pronunciation Errors ........ .. i, e 74 7.3 Introduction to Phonemic Theory ...................... 77 7.4 Phonemes ...........ciiiiiieann. e, .. (8 7.5 Vowel and Consonant Phonemes ...................... 79 Phonemic Correction the EasyWay ............ e Automatic Phonemic Substitution for a 82 7.5.2 Mispronounced Word ..... R SS 82 7.5.3 7.54 7.5.4.1 7.5.4.2 7.5.4.3 7.5.5 7.5.6 7.5.6.1 7.5.6.2 7.5.6.3 7.56.4 7.5.6.5 7.5.6.6 7.5.7 VOWEIS . e e e Vowel Allophones . ..............ciiiiiiieiaee... Allophones for R-Colored Vowels ....... e ..... Schwa Allophone . ......... ..., ... Syllabic Consonants ................ e e ConsonNants ........ciiiiii e e .. Consonant Allophones ............. ... .. e DentalFlap .............. P e Glottal-T ... e ...... Postvocalic-R ... Postvocalic-L ... e GlottalStop ................. A SN Controlling Allophone Selection .................. Silence Phoneme [ ] ....... e T e 83 83 84 84 84 85 85 85 85 85 86 86 86 86 7.5.1 vii CONTENTS 7.6 Stress and SyntacticSymbols ............. . ... ... ... 86 7.6.1 Primary Stress["] .............. P 88 7.6.2 Secondary Stress[ ] ...oovvirnininnn... e, ... 89 7.6.3 Emphatic Stress [”] ..o 90 7.6.4 Unstressed Syllables ............c.o 7.6.5 Pitch Control [/, [NLI/N] cevevneee ... 91 e 92 7.6.6 Word Boundary .......ooiiiiiiiiiii i iieie i 92 7.6.7 Syllable Boundary [-] .............. et e et 92 7.6.8 Morpheme Boundary [*] ..., 93 7.6.9 Compound NouN [# ] .o 93 7.6.10 Beginning of Verb Phrase [)] ..........cc o ... 94 7.6.11 Clause Boundary [,] ..o 95 7.6.12 Period[.]............. etaereaiee e ta e . 96 7.6.13 Question Mark [ 2] ..o iiin e e 96 7.6.14 Exclamation Point [!] ............. Cevedemen e 97 New Paragraph [+ ] ... i 97 7.6.15 7.7 e Direct Control of Durationand Pitch ................... o8 7.7.1 Duration and Pitch [<>]........ Ce e ereressar e 98 7.7.2 SINGING .o e 100 7.8 8 Selected Readings .........e e e 102 VOICE COMMANDS AND THE USER DICTIONARY ..... ee..... 1083 8.1 Speech Control ....... e 8.2 SpeechTimeout..................... et 104 ee e e 103 8.3 English Text........ e e eveEesemeiiai et 104 8.4 Speak Phonemic Text (DT_PHOTEXT) ................ 105 8.5 Stop Speaking (DT_STOP) ..o 8.6 Data Synchronization (DT_SYNC) ................. .... 106 8.7 Enable or Disable Speaking (DT_SPEAK) ............. 106 8.8 Indexing .................... e viiii e 105 eretrere e oo 107 8.8.1 Index Text (DT__INDEX) ............. e ieerirnenan 107 8.8.2 Index Reply (DT_INDEX_REPLY) ................ .. 108 8.8.3 Index Query (DT__INDEX_QUERY) ................. 108 8.9 Load Dictionary (DT_DICT) 8.10 Input Logging (DT_LOG) ..., 111 9 ............ e 110 MODIFYINGTHEVOICES ... 112 9.1 Voice Characteristics . .........coiiiiiii it 112 9.2 SpeakingRate[ira__] 9.3 Pause Durations[;pp__Jand|[cp_] .......... e 116 viii ... 115 CONTENTS ‘Selecting a Standard Voice[ln_] ................ooal Designing a Voice with Speaker-Definition 117 Changing Sex and Head Size ....................... 122 9.5.1.3 9.5.2 Higher Formants, f4, {5, b4, and b5 e Changing Voice Quality .............coooiiiiian.t. 125 9.5.2.1 9.5.2.2 9.56.2.3 9.5.2.4 9.5.2.5 9.5.2.6 Nopen Fixed, nf ....... ..o, Laryngealization,la ......... ...t 9.4 9.5 _] ...e Parameters[idv 9.5.1 9.5.1.1 9.5.1.2 9.5.3 9.5.3.1 9.56.3.2 9.5.3.3 9.5.3.4 9.5.3.5 9.5.3.6 9.54 9.54.1 9.54.2 9.5.4.3 9.5.5 9.5.6 122 s R SX viiiiniin SEX, i i 123 Head Size, hS ...ttt Breathiness, br ... 125 eeaa e 125 Lax Breathiness, Ix ......i iieae s Smoothness,sm ........... e e RiChNess, M ....c.oiiiiiiiiiiiiiiiiaiennans TPy Changing the Pitch and Intonation of the Voice....... Baseline Fall, bf .....ead e i e Ceimameenraneenn ise,, v e e | hr ... HatR Stress Rise, sr.........ocooiiiennn. P e ... e Assertiveness,as................ e iieeea e e ie ittt QUICKNESS, QU ..o Average Pitch, ap, and Pitch F’iange pr .......... Changing Relative Gains and Avoiding Overloads ... Loudness, 1o ...c.vviiiiriii i AU Sound Source Gains, gv, gh, and gf .............. .. Cascade Vocal Tract Gains, g1,902,9g3,and g4 .... The [save] Parameter and [:nv] Voice ................ Summary on Speaker-Definition Parameters ........ 9.6 Voice Command Syntax ...........ooiiiiiiiiiiiiiia. 10 HOWTOGETTHE MOSTOUTOFDECtalk .................... 136 Names, Part Numbers, and Alphanumemc Text ...... 138 10.1 10.1.1 10.1.2 10.1.3 10.1.4 10.1.5 10.2 10.3 10.4 Developing Your Application .... R P 136 Direct Numeric Encoding ........... S e 138 Two-Character EnCoding . ..o ovvvnnennneanannnnns 138 Ending CommandsandData ........................ 139 Application Development Tips .................. ‘i 139 Developing an Advanced Application .................. 140 Optimizing the Quality of Spoken Text ................. 142 COmmMONEIors ......cooviiiiiiinenennn. eeaeedeneane 144 CONTENTS APPENDIXA DECtalk ESCAPE SEQUENCES, STATUS REPLIES, AND PARAMETERS..., e 146 APPENDIX B B.1 B.1.1 CONFIGURING THE DECtalk MODULE ............ 154 Setting the Configuration Switches .................... 154 Line Speed ....... ... . 156 B.1.2 Data Format ....... e e e 156 B.1.3 Keypad Mask ......................... e e 156 Busyout ...... .. ... ... .... ... .. e 157 B.1.4 B.2 APPENDIXC C.1 C.2 C.2.1 c.2.2 C.2.3 C24 C.2.5 C.2.6 C.2.7 C3 C.3.1 C.3.2 C4 C.4.1 Testing the Module ........ e e, . 157 ABBREVIATIONS ANDACRONYMS ................ 159 Text ProcessingRules ... ... 159 Number Processing ........... e .. 161 Part Numbers..................... R e 161 Cardinal Numbers ............. e 163 Ordinal Numbers ...... ..., 166 Fractions .........................e 166 MoONeY ..o 166 Dates ... e 167 TimeofDay............ e e e e e, 167 Abbreviations ............ ..., e 167 Abbreviations Processed by DECtalk ..... e e 167 Abbreviations in the Built-In Dictionary .............. 168 Word Spellout Strategies ...............co L. 170 C.4.2 Word Spellout Tests ... . 170 Multinational Characters ............... ... ....... 172 APPENDIXD WORDS WITH TWO PRONUNCIATIONS ........... 173 APPENDIXE DECtalk/DICTIONARY PHONEMIC CORRESPONDENCE ..., 177 E.1 E.2 Webster's Ninth New Collegiate Dmctlonary ...... ....... 180 American Heritage Dictionary ......................... 181 APPENDIXF TEXTTUNINGEXAMPLE ................0cuuii . 182 APPENDIXG BASIC PROGRAMEXAMPLE ....................... 185 CONTENTS SERVICE AND DOCUMENTATION ................. 191 APPENDIXH Digital's Services ........... RAP Ceeeheneaea 191 H.1 DECservice ............. S 191 H.1.1 Basic Service ........ VN S e e Y TS 192 H.1.2 192 A Per Call Service ............. A H.1.3 192 e e e Carry-In Service .............i H.1.4 DECmailer Service . ......oiiiieienieiiininennnns ... 193 H.1.5 Digital Field Service Information Numbers .......... 193 H.1.6 Related Documents ......... e e 194 H.2 H.3 Ordering Information .......... ..o ee e e et D E K .o IN e i, 195 e e 196 FIGURES 1-1 1-2 1-3 1-4 2-1 3-1 3-2 3-3 3-4 3-5 4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 4-9 6-1 6-2 6-3 6-4 DECtalk DTCO3 System Configuration ................. DECtalk DTC0O3 Communications Cabling ............. Accessing the DECtalk Modules ........... e e . Module LEDs and Pushbuttons ..................... ... Text-to-Speech Conversion ..., DECtalk-to-Host Communications .......... e Typical Escape Sequence Format ..................... Escape Sequence Representations .............. e DECtalk and Host Computer Programming 2 3 4 b 11 17 19 20 Mapping 7-Bitand 8-Bit Tables ........................ 7-Bit ASCliCode Table ..................... e e Data Word Representation .......... e, 8-BitCodeTable ............iiiiiiiiiiiiiiiiiinen.. ASCIl_G CharacterSet ..................... e DEC Supplemental CharacterSet ..................... U.K. National CharacterSet ........................... L. ....... Loading 8-BitCharacters .............o ..ot ... ... ........ Loading 7-BitCharacters Phone Call Session with User Disconnect ............. Successful Dialout Session................... e Busyout Session .......... ..., R e NO ANSWEr SESSION . ..ottt ittt ittt e i 30 32 33 34 36 37 38 40 41 66 67 68 69 t e ... e INEEraCtiON .ott Synchronizing DECtalk and Host Communications...... 25 28 Xi CONTENTS 7-1 Phonemes Classified by Their Position in the Mouth Cavity ..... et 8-1 9-1 B-1 B-2 ma e s ee e enean s ataae Using the DT_SYNC and DT__ IMDELQUERY to e 79 Coordinate DECtalk Communications ................. 109 The DECtalk Voices ... i, e 113 DIP Switchpack Settings .................... e .. 155 DECtalk Module Controls ...........c i co i, 158 TABLES 3-1 Special Characters and Host Communications ......... 4-1 22 Selecting 7-Bitor 8-BitMode ............... e 30 4-2 Invoking G-Sets ........... 4-3 39 Designating CharacterSets ........................... 4-4 42 DT_MODE Parameters ....... e e e, 47 5-1 5-2 Restoring DECtalk Default Operatmg Features ........ DECtalk Actions Performed at Resets ................. 51 5-3 52 Self-Test Parameters ................ e 5-4 53 6-1 DSR (Extended Report) Error Codes e .... DT_PHONE Parameters .............c oo oo i, b5 6-2 Phone Status ReplyCodes ...............ccouuo i, 60 70 59 6-3 DT_MASK Parameters .................coii.. 7-1 English Vowel Phonemes .............................. 7-2 80 English Consonant Phonemes and Mlophones 7-3 81 Stress and Syntactic Symbols .................. e 7-4 9-1 9-2 9-3 9-4 A-1 A-2 A-3 A-4 C-1 C-2 D-1 E-1 Xii ........ 87 ToneValues.........coooiiuuin ., e 101 Voice Modification Commands .............. e 114 New Voice Commands ............covuviuiinnn. . 117 Speaker Definition [:dv _] Parameter Range ........... 119 Speaker Definition for All DECtalk Voices .............. 121 Escape Commands.................. e 147 DECtalk Status Replies.............cc.ooui ... e 150 Conformance Level and C1 Format Setting Parameters .......... e e e e e e 153 Dialing Characters .......................... e 153 Numeric Abbreviations Recogmzed by DECtalk ........ 165 Abbreviations Recognized by DECtalk ................. 168 Words with Alternate Pronunciations ................ .. 174 DECtalk and Dictionary Phonemic Alphabets .......... 178 INTRODUCTION ABOUT THE DECtalk DTC03 Video terminals display information from a computer on a screen. Printers display the same information on paper. These devices allow you to communicate with computers through the sense of sight. The DECtalk DTCO03 is another device that allows you to communicate with computers. However, this device speaks information in English. It allows you to communicate through the sense of hearing. | The DECtalk DTCO3 is a text~to-—-speeeh system It converts computer text to computer speech. This system can provide any mmputw with a human sounding voice. ABOUT THIS MANUAL This manual provides information about the DECtatk DTCO3 system for general users and programmers. To make reading easier, this manual uses the term DECtalk when describing system performance. The manual is divided into three parts. Part 1 provides a general description of the DECtalk DTCO03 and how it works. Part 2 describes how to use and program the DECtalk DTCO03 to work with a host computer. Part 2 also explains the escape sequences you can use with the DECtalk DTCO03. Part 3 explains the DECtalk DTC03 phonemics and voices. The appendices at the back of the manual provide additional information to help you use and program the DECtalk DTCO3. Xili INTRODUCTION Part 1 General Description e Chapter 1, “Getting to Know the System,”” describes the DECtalk DTC03 system and its modules. This chapter also provides general operating and testing information. e Chapter 2, “How DECtalk Works,” describes the DECtalk speech generating system and gives an overview of how the system operates. Part 2 How DECtalk Programming Works e Chapter 3, ““Communicating with DECtalk,”” describes how the DECtalk DTCO03 communicates with a host computer through a computer application program. This chapter also provides some guidelines for writing applications. e Chapter 4, ‘“‘Character Encoding and Setup Escape Sequences,” describes the ASCII character. sets and some escape sequences that initialize and control the DECtalk environment. e Chapter 5, “Maintenance and Test Commands,” describes the maintenance and test commands used to identify and test DECtalk. e Chapter 6, “Telephone Communications,” describes how the DECtalk DTCO03 works when connected to a telephone network. Xiv g, INTRODUCTION Part 3 DECtalk Phonemics and Voices Chapter 7, “DECtalk Phonemic Input,” describes the sound system of English. This chapter shows how to correct DECtalk’s pronunciation to produce natural, human-sounding speech. Chapter 8, ‘“Voice Commands and the User Dictionary,” describes how to use voice commands from the host computer to send phonemic text to DECtalk. This chapter also describes how to load the user dictionary. Chapter 9, “Modifying the Voices,” shows how to change the voices provided by DECtalk and how to create a new voice. This chapter includes commands to change the speaking rate. Chapter 10, “How to Get the Most Out of DECtalk,” describes some techniques for writing applications. This chapter also gives programming and operating hints to optimize DECtalk performance. Appendices The appendices summarize DECtalk’s escape sequences and parame- ters, phonemic alphabet, abbreviations, acronyms, and homographs. The appendices also contain a text tuning example, a BASIC program sample, a configuration procedure, a description of Digital Equipment Corporation’s services, and a list of DECtalk documents. XV A, g fo iy S iy A e i o, 'GETTING TO KNOW THE SYSTEM This chapter provides a general description of the DECtalk DTCO03 system. It covers the DECtalk module and its configuration, controls, diagnostic tests, and operating mode. 1.1 THE DECtalk DTC03 SYSTEM The DECtalk DTCO03 system, or DTC03-AA, is intended for use in voice communication systems that have multiple users. Such high-volume systems require a multiline configuration, as shown with the DTCO03-AA in Figure 1-1. The host computer sends text to the DTC03-AA, and the resulting speech can be heard through a telephone. DTCO3-AA TELEPHONE HOST COMPUTER NETWORK SPEECH & (O & § “&’" “w\‘w\ MA-1264-85 Figure 1-1 DECtalk DTCO03 System Configuration GETTING TO KNOW THE SYSTEM P : The DTCO03-AA is a set of text-to-speech converters. These converters are single-board modules that mount in a rack enclosure. The enclosure contains eight modules and fits into any standard computer cabinet that is 48.26 centimeters (19 iénches) wide. 1.2 THE DECtaflk MODULE The DECtalk module, or C5005, is a unit for convartmg text to speech. Each of o B o the eight modules in the DTC03-AA supports one telephone line. The modules connect to one or more host computers through EIA RS232-C serial lines. For example, Figure 1-2 shows the cabling from the rack enclosure to two host computers and the telephone network. The modules receive power through a common power supply in the rack of the emcimsum powers up all enclosure. The power switch on the rear paml eight modul% (Figure 1-2). DTCO3-AA E! RACK CK ENCLOSURE POWER M SWITCH | EIA CONNECTIONS b |l (MODULE SLOTS , T J1 AND J3) 1 TO HOST COMPUTER 1 ' CABLE MUST BE SUPPLIED BY THE USER _TO FCC/RJ21X OR DOC/CA21A SERVICE TO HOST COMPUTER 2 Figure 1-2 te} - o TO LINES 1 AND 3 DECtalk DTC03 Communications Cabling MA-1266-85 CHAPTER 1 1.2.1 Module Configuration The DECtalk modules are configured at system installation by Field Service of Digital Equipment Corporation. Module configuration is done according to the communication requirements of the user. Each module is individually configured through an 8-position DIP switchpack. At power-up, the module controller consults the DIP switchpack to determine the required baud rate and operating characteristics. NOTE: Switch functions and settings are described in Appendix B of this manual. 1.2.2 Module Controls To operate and test the DECtalk DTCO03 system, you need to use the controls on the modules inside the rack enclosure. You can reach the modules by opening the front door of the enclosure (Figure 1-3). MA.-0368-85 Figure 1-3 Accessing the DECtalk Modules GETTING TO KNOW THE SYSTEM i Each module has four light emitting diodes (LEDs) and six pushbuttons on the front edge (Fegum 1-4). These contm&satl&w ymuto work with individual mod- 8 ules in the s#yst@m | , LEDS 1 = RING INDICATE OH | = OFF HOOK |®©DM] = gusyour | |©® 0oL | = pata LooP - | OL LOOP ~_1l|@®cL | =CcONTR ehpTEST PUSHBUTTONS 1 | | - = EXTRA 1 = EXTRA 2 MA-Q364-85 Figure 1-4 Module LEDs and Pushbuttons CHAPTER 1 1.2.2.1 LEDs - When the module first powers up, all four LEDs light for about 0.5 seconds. This display allows you to detect malfunction in the LEDs themselves. Then all four LEDs turn off while the module runs the power-up selftest. At the end of the self-test, the LEDs display two types of information: status or diagnostic. The following list describes the status displays. When the LEDs display status information, they light continuously. Each LED represents a single condition. Most display combinations are valid. LED Function OK This LED lights when the module successfully passes the self-test and is ready for operation. SP oy, This LED lights when the module is speaking. During tone dialing, this LED flashes. Otherwise, it is off. RI This LED lights when the telephone is ringing. Otherwise, this LED is always off. OH This LED lights when the telephone is off the hook. This LED flashes during pulse dialing. Otherwise, it is off. To display diagnostic information, these LEDs flash an error code or they all stay off. A diagnostic display indicates module failure. If the LEDs flash or stay off, call Digital's Field Service for help. See Appendix H for a list of telephone numbers. AP GETTING TO KNOW THE SYSTEM the pushbuttons activate functions 1.2.2.2 Pushbuttons - When pressed, such as ,:i‘ag&norstic and loopback tests for checking the operation of the module. When released, the pushbuttons deactivate the functions. Pushbutton DM | Function This pushbutton causes the module to pass over (or “busy out”) the telephone line. This function can be enabled at installation if busyout is pmmm@d by the local communica| tion regulations. , WARNING: In many areas, th@ busyout capability is prohibitedfl. Check with the local telephone company and call Digital’s Field Service to determine whether busyout can be enabled in your system. DL This pushbutton loops back the trammit data through the CL ~Thss pushbutton loops back mmd@m control commands ST This pushbutton actuvaws the dmgmatw tests, which include the power-up self-test plus the external data and control host 1/O port., through the hast 1/O port. ' loopback tests. This pushbutton is reserved for use with an optional module. X1 X2 | ; This pushbutton is reserved for use with an optional module. CHAPTER 1 1.3 THE DECtalk DIAGNOSTIC TESTS When you turn on the power switch on the rack enclosure, the DECtalk DTC03 system performs a set of self-tests. The power supply and modules are automatically checked for problems. s, Pressing the DL, CL, and ST pushbuttons on the modules also activates the self-tests. You can use these pushbuttons to run routine self-tests on individual modules. , The results of the tests are displayed on the module LEDs. The next two sections explain how to use the tests and how to interpret the results. 1.3.1 Power-Up Self-Test At power-up, the self-test first checks the power supply. If no LEDs on the modules are on, check the power cord and the ac outlet. If they are fine, the power supply has failed. Call Digital’s Field Service. Then, if the LEDs are on, each module runs the test that completely checks the module logic and 1/O ports. The test runs for about 2 seconds if the communi- cations line is set at 9600 baud, or for about 30 seconds if the communications line is set for 110 baud. The test must end with the OK LED on continuously and the other three LEDs off. At this point, the module is ready to operate. If the OK LED and any other LEDs are flashing, or if all the LEDs are off, the module has failed the self-test and must be replaced. Call Digital's Field Service. 1.3.2 Routine Self-Test You can run a routine self-test on individual modules anytime during operation. The routine self-test checks the same things the power-up self-test checks, except the power supply. g GETTING TO KNOW THE SYSTEM To run the routine self-test, follow these steps. 1. Open the front door of the rack enclosure. o 2. On the module you are chackmg, pmss the DL, CL and ST pushbufloms in that order. o The LEDs on the module light for about 0.5 seconds, then go off for 1 - second, and the SP LED flashes a few times. If the module passes the mst, the OK LED lights continuously. If the module fails the test the LEDs flash or stay off. Call Digital's Field Semce 3. The mmdut@ repeats this test every 15 seconds as long as the ST pushbutton is pressed down. To stop the test, release the ST, DL, and CL pasms the test, it comes up pushbu&mns in that order. If the madum -~ - ready to operat@ NOTE: Remember to release the ST, DL, and CL p PUWWWM or will continue to run the self-te st. ~ -~ | the module 1.4 OPERATING MODE to operate when its OK LED lights continuously. le is ready The DECtalk modu by the host computer and is in operating controlled In this state, DECtalk is mode. When in operating mode, DECtalk is ready to process input commands from a telephone and control commands and ASCII text from the host computer. DECtalk can generate output speech transmission m the user. Chapter 2 describes how thisprocess works. HOW DECtalk WORKS This chapter describes how DECtalk converts ASCII data into voice output. 2.1 CONVERTING TEXT TO SPEECH You enter text and commands into a host computer by using a terminal. The host computer can then send this ASCII text to DECtalk through the 1/O port. DECtalk converts this data into speech by a three-level process. Level1 First, DECtalk accepts text from the host computer and converts the text from one code into another. The text is in ASCII format when it enters DECtalk, and is converted to phonemic code for further processing. g, Phonemic code uses the phonemic alphabet described in Chap- ter 7. Each symbol in the phonemic alphabet has only one pronunciation. DECtalk uses an internal dictionary and the rules of English pronunciation to do the conversion. Level 2 Next, the phonemic code is converted into synthesizer control commands. These continuous variables control the pitch and timbre for the DECtalk voice. Level 3 | Finally, the speech synthesizer uses the control commands to generate a speech waveform. In levels 2 and 3, a synthesizer control command is generated every 6.4 milliseconds, and the digital signal processor generates a speech waveform value every 100 microseconds. This process generates ‘‘frames” of speech. DECtalk acts somewhat like a TV picture, in that these frames of speech are presented to the listener just as frames of pictures are presented to the viewer. In both cases, the frames appear to be one continuous, unbroken sequence. 10 HOW DECtalk WORKS 2.2 BECWR SOFTWARE PROGRAM The thmwlavol process described in the last sectnon happens in seven program module s (Figure 2-1) Each module is des cribed briefly in the following paragraphs. C = ,, &/ SEPARATES CLAUSES BY PUNCTUATION. PROCESSES ONE CLAUSE AT A TIME. | PARSER WORD PARSER AND | _CONVERTS DIGIT STRINGS TO WORDS. SF’ELLSQUT UNPRGNOUNCEAELE SVMW’JL STNNGS NUMBEH FGRMAT‘TER _'a&mwss FOR A PHGNEM!C Hemfisamm ON mmm 'FOR EACH WORDPLUS SYNTACTIC INFORMATION. MANAGER 0 < WORD FOUND NO A~ | ASSIGNS PHONEMIC | LeTTER-TO-SOUND REPRESENTATION FOR - | convERsiON RULE S| } EACH uwmwmm wwm y () PHRASE | rronunciaTION |_RuULES ' | COMPUTES DURATIONS, PITCH GESTURES, AND ALLOPHONES. PROCESSES SYNTHESIZER CONTROL PARAMETERS PHONEME-TO-VOICE | ‘ COMMAND RULES- @ | DIGITAL SPEECH | svsTHESIZER | COMPUTES 10000 WAVEFORM SAMPLES PER SECOND. T SPEECH ~ WAVEFORM _ 1 MA.-0346-85 Text-to-Speech Conversion 11 e CHAPTER 2 Converting ASCII Text to Phonemic Code 1. A sentence parser breaks the input stream into separate words and locates some clause boundaries (indicated by commas and other punctuation marks). The sentence parser also recognizes and deals with phone- mic symbols and commands that you may have added to the input text. Phonemics are discussed in Chapters 7 and 9. A word parser breaks words into their component parts, yielding words in their final pronounceable form. Strings of text that do not form pronounceable English words are spelled out letter by letter. A number formatter is used if the text contains numerals. The number formatter knows the rules for many common number formats and converts the numbers into English words. The number formatter also recog- nizes many common abbreviations, such as “Ib.” for “pound(s).” See Appendix C for more information on number-speaking rules. . A dictionary manager searches the pronunciation dictionaries. DECtalk has a built-in dictionary of many commonly used words. In some cases, a single spelling has two different pronunciations and DECtalk gives you a way to indicate which one to use in a particular sentence. See Chapter 7 and Appendix D for the DECtalk pronunciation rules and homographs. DECtalk also has a user dictionary that can be loaded with words specific to an application. The user dictionary and its loading are described in Chapter 8. A letter-to-sound module uses a set of English pronunciation rules to assign phonemic form and lexical stress patterns to words not found in the dictionary. See Chapter 7 for ways to modify the phonemic form of words, and Chapter 9 for special voice qualities (such as emphasis and singing). It is a good idea to program the host computer to automatically send DECtalk the correct phonemics for the mispronounced which are words important for a particular application. 12 HOW DECtalk WORKS 5. A phrase structure module recombines all phonemic output from the dictionary search and other modules. Durations of phonemes and pitch commands are computed for the clause, and an appropriate allophone is selected for those phonemes that éan be pronounced in more than one way. Converting Phonemic Code to Synthesizer Control Commands 6. The phoneme-to-voice module processes clauses passed from the phrase structure module and converts them to control signals for the speech synthesizer. This module modifies the clauses by changing the phonemes/allophones into parameters that determine the natural resonant frequencies of the vocal tract (formants), sound source amplitudes, and the like. " The control parameters are sent to the speech synthesizer for output. Converting Control Commands to Speech 7. The digital speech synthesizer computes a speech waveform with acoustic characteristics that are determined by the synthesizer control commands received. 13 AR AR A, g B g, o, iy, i e ' COMMUNICATING WITH DECtalk This chapter gives you an overview of DECtalk programming technique. It describes the types of data and commands DECtalk uses and how DECtalk communicates with a host computer. 3.1 PROGRAMMING GUIDELINES DECtalk is an intelligent peripheral device, so the following guidelines apply. e DECtalk is easy to control, because the internal DECtalk processor is sophisticated enough to perform complex operations with simple commands. « e You can select DECtalk’s operating characteristics and have DECtalk answer questions about its status from the host computer. DECtalk can also inform the host computer of status changes. For example, DECtalk can tell the host computer if a connected telephone has been answered. e DECtalk memory stores a substantial amount of useful information. For example, DECtalk has an extensive built-in pronunciation dictionary. You can also load a user-defined dictionary. The following sections describe how DECtalk sends and receives information from the host computer. Figure 3-1 shows how DECtalk and a host computer communicate. 16 COMMUNICATING WITH DECtalk UPTO8 TELEPHONE - LINES MA-0351.85 m = Figure 3-1 DECtalk-to-Host Communications 17 CHAPTER 3 3.1.1 Types of Data DECtalk can receive two types of data through its communications connector: text and commands. Text is data that DECtalk will speak. Text consists of English-language sentences, phonemically spelled text, or a combination of both. Commands are instructions to perform an action. Commands are not spoken by DECtalk. You can send commands by using escape sequences, control sequences (CSI), and device control strings (DCS). An escape sequence, CSlI, or DCS starts with an ESC character, followed by a string of ASCII characters. DECtalk interprets the string as a special command. Character encoding and control functions are described in Chapter 4 of this manual. 3.2 USING ESCAPE SEQUENCES AND CONTROL CHARACTERS This section describes the general syntax of escape and control sequences, and how to use them with DECtalk. 3.2.1 Escape Sequences The following command is an example of an escape sequence. You can use this command to enable or disable speaking of text. ESC NOTE: P 0 ; 2 1 ; P3 =z ESC \ Escape sequences in this manual are spaced for clarity only. Spaces are not part of the actual escape sequences. You can omit parameters with a value of 0. For example, you could send the above sequence as ESC P ; 2 1 ; P3 =z ESC \ s 18 COMMUNICATING WITH DECtalk TM s | e NOTE: DECtalk does not send 0 parameters in its reply sequences. Because DECtalk suppresses parameters with a value of 0, DECtalk would send ESC P ; 31; P3z ESC \ in response to the sequence in Figure 3-2 (assuming P3 is not 0). If P3 is 0, DECtalk would send ESC P ; 31 ; z ESC \. DECtalk escape sequences have the following characteristics. s 1. They begin with an ESC character. - 2. The ESC character is followed by ASCIl characters that define the command. ~ - 3. Every character in the command is important. You must enter the exact characters shown. For example, in the command above, the semicolons are part of the command. The letter z is lowercase; an uppercase Z has no meaning to DECtalk. - 4. Some commands must end with a string terminator, ESC \. This manual includes ESC \ with all commands that require it. NOTE: DECtalk ignores invalid sequences and commands. BEGINNING OF ESCAPE SEQUENCE - DECtalk COMMAND SET FUNCTION - ~ % £ END OF DECtalk COMMAND END OF SEQUENCE l —r— X ESC PO f) ; 21 PHONEME ON vY . 2z ESC\ DELIMITER Figure 3-2 Ma-7591-838 Typical Escape Sequence Format 19 g CHAPTER 3 3.2.2 Escape Sequence Format The following chapters describe the specific escape sequences used with DECtalk. This manual includes the following information with all escape sequences (Figure 3-2). Mnemonic ASCII characters Parameters Decimal value Figure 3-3 shows the meaning of each part of a typical escape sequence. i DT_QUERY__REPLY (ESCAPE SEQUENCE MNEMONIC) A ESCAPE CHARACTER ASCIll CHARACTER P ASCII CHARACTER O ASCIl CHARACTER ; ASCII CHARACTER 2 l v ] ESC P v v ; 2 027 080 048 059 050 0 v ASCII CHARACTER 1 (NOT LOWERCASE L) l——~——DELIMETEH | 1 ; I P3 PARAMETER z 049 079 "‘"{—122 ESC X\ (ASCIll REPRESENTATION) 027 092 (DECIMAL VALUE) INDICATES VARIABLE VALUE MA-7592-838 Figure 3-3 Escape Sequence Representations A 20 COMMUNICATING WITH DECtalk The mnemonic is a unique name (such as DT_INDEX) used to identify the sequences in this manual. Mnemonics do not have any direct programming significance: that is, DECtalk does not recognize a mnemonic name as a valid escape sequence. However, when you refer to escape sequences by mnemonic in program documentation and program variables, it simplifies editing and debugging. The ASCII oharacters are the actual characters to use. Figures 3-2 and 3-3 give the examples of escape sequences in ASCII format. The escape character is represented by ESC in all sequences. The numbers that appear are actual ASCII characmrs not numeric values. Paramemrs‘ in escape sequences are variables that can cause different DECtalk actions, depending on parameter values. | Parameters are represented in this manual by a capital P followed by a num- ber. Parameters are always sent to and from DECtalk as a decimal number, in ASCII format. An empty parameter is treated like a parameter with a value of 0. The sequences ESC P ; z and ESC P 0 ; 0 z are identical. DECtalk never sends a 0 parameter. However, the 0 parameters are always shown as explicit zeros in examples. This manual lists possible parameter values in tables. Two methods are used to show parameter values. 1. Usually the ASCII character(s) appears (with the decimal value underneath as a check). Use the ASCII character(s) in the escape sequence. 2. Sometimes only a numeric value appears. You must convert the numeric value to a sequence of ASCII characters for the escape sequence. The decima}l value of each escape sequence character appears directly under the character, so you can verify the sequence characters. Parameters are marked witb asterisks (***), indicating that the value is variable. Chapter 4 brovides complete tables of all ASCII characters and their decimal, octal, and hexadecimal equivalents. 21 CHAPTER 3 T 3.2.3 Special Characters o Some control characters (such as carriage return and backspace) have special meanings. Table 3-1 lists the special characters that DECtalk recognizes. DECtalk also recognizes SS2, SS3, CSI, DCS, and ST control characters. DECtalk ignores all other control characters. (See Section 4.3.2.) M%;fi N s i i MR — % SR e L s G o ,“», a o = e F G g i e S ; e i ¢ L o DR U - i o . , ; G i o e e s o i i el i L ‘V;\ L e <. 2 4 o ,‘;, Dol e e «g%,fi” e : i U A 1 » > a8 e e fi o . o e fi&{cv£ A 5 L v e 'vw.‘zxfg,%}& vx;;:‘,? L ‘ i o ‘ Gor A e A b L i . e »a»*wt%"fi o i /ggy e &% . 5 S e i “":\. . . b L g . o ; / : s o - . ! e b e b i i & o é‘g@fl . : . L = S 3 Vil A ey o i Lgnt,a i . e , o L et : ¢ o o i ORI e e v : e e L i " i " G G R . o . < — e i M’,r} L i s it . i 'M"{) , . gt : g e g : L ,(L,‘,figz\@,,.( . . : o e e W}g oot i . e L S L “’%.p@%fi;fi .e '¢.§ Gt it i B i ’ e e e a5 . i e . e .. o .. i . i G - . ; : * o | L e Gs - i e . | i G e i o 55 o i ‘ . S e e i i s G e i b / i %Q%‘W’ e S . o e o . cann T DR e s - o : : . e 3 e i R - i 'i%, o 4‘ 2 e *L : A ; o e i i e : . o : o R 5 BS e G e . o o ¢ : o fii - ,p(gfil&« S e i L : i . e L iB i . ‘ e 2: ey L 3 o P o : . o S . iR : S 4 o hlnd b6 i & i G W it Sl : e g e W P i 1, s : o o . LUl ‘ 4 . o s .»«u%y ... . ol o o i ol o ‘ ol i . e . o . s L ;«”‘&éfigfim Sl 5 Gld - . - . . < , i e L . e s s e L : i L W‘ %w . e i . . v Gt i o i o : . %W;flg naimane e . Mg::% L e o . o ii o W“"M i f‘@“\% R . S B i Inn A 4 o : : L e ii % . oW : o s 8 mE i 7 it i G G e A i L i i o ] . e . i i . iy . ; Av',w& . o L i e S . S S e = ; o e ion 4 . ' '@%{ 4 1 4 i S L e i L g : e'%f@%-tfifisgfi e . W . : W e ; i 2 S / 2 i i . s 5 M A e L . . u é& B e e . L f@?{c.,d'w,../ So i o : . e o i L ‘?{@C“@;dg" Ay e Gl : i L . i % G o , o ¢ L d i i 5 o S e r?«I %W’-’" = e e . h s S ; e - ,i . - p— 5 o it o el o Abhnrartar . S i L w, i i i e ; ) b v i . g o e e ? . wm% el L o w,] . ""}fifi’ . i "%fi.fi e o . . i : i - s e P . e . . : coan . : s . }{/’ - o e . 4 o . ARG ;”«% ) & . S A i . Lo i il e 3 Gl - e e . 7 . e w : e . e . ,A‘%%g'%’, L A g w0 ) ! 0 i gt o % e %@ e AT e 11 , o1 . G S ot :/e/ o A . e S 8 S i e i L e 2 TN i| e 3 % ,@, o N 3 . i i i i i i i i o i o - R i e G s & «,;%‘){ i 7 . . e o . s o e - i e i v . ot e . i) e i 2 . ¢ o A : @ ' S ; i . ' con D G : ., v COMMUNICATING WITH DECtalk 3.2.4 Effect of the Backspace (BS) Character If DECtalk finds the backspace character in a word, it modifies the word according to the hierarchy of the characters involved, as follows. 1. Letters and digits (most important) 2. Punctuation 3. Underline character The BS character allows DECtalk to process text containing overstrikes and underscores. Here are several examples of DECtalk’s processing (spaced for clarity). Input , Pronounced as a a a BS _ —_BSa aBShb BS de ab BS 3.3 b de DECtalk-COMPUTER COMMUNICATION Programming DECtalk is similar to programming a smart terminal (such as a VT220). DECtalk and the host computer must exchange information according to fixed rules. DECtalk does not process text until it reaches a clause boundary. Clause boundaries mark the end of phrases or sentences. DECtalk recognizes the following clause boundaries. e A period, comma, exclamation point, and question mark are boundaries. Certain other punctuation characters, such as ) and (, are also boundaries. If a period is used, DECtalk checks the characters after the period (because periods do not always mean the end of a sentence). e A full buffer acts as a boundary. If DECtalk’s temporary buffer begins to approach its fill limit (at about 32 words), DECtalk begins speaking what is in the buffer, as if a comma appeared in the text. e A timeout is another boundary. If nothing is sent to DECtalk for 5 seconds, and there is text in the buffer, then DECtalk speaks all the text in the buffer as though a comma had been sent with the text. iy 23 . CHAPTER 3 Escape sequences represent (1) commands sent from the host computer to DECtalk, and (2) status replies sent from DECtalk to the host computer. All escape sequences begin with the ESC character; a sequence ends when the last character required for that sequence is sent. Do not use a carriage return or any other normal terminating character to terminate an escape sequence. Figure 3-4 shows the data paths in DECtalk, as follows. 1. The DECtalk unit is in the center of the figure. The speech processor is part of the DECtalk unit, but is shown as a separate module. ) — e YL s — e 2. Arrows show the direction of information flow. Notice that information from the telephone flows to the host computer and from the host computer to the speech processor. Information from the speech processor is sent to the telephone. 3. Each DECtalk escape sequence affects the flow of information within particular data paths. The switches within the data paths represent the . points at which the escape sequences act. For example, the DT_STOP — escape sequence affects the data flow from the host computer to the speech processor. 4. Because there are a large number of commands and parameters, they are grouped in boxes under the figure. You can control and use DECtalk in many ways when it is connected to a host computer. The rest of this chapter, Sections 10.1 and 10.2, and the sample program in Appendix E describe a general programming method for DECtalk. If you are writing a control program for DECtalk, remember that your application and needs may not exactly match the descriptions that follow. 24 — - COMMUNICATING WITH DECtalk M "?tm% TELEPHONE = eed SPEECH PROCESSOR | 170 N« |i m - ‘ - HOST SPEAK M._.___ I"‘l " %m‘m‘ TERMINAL HOST COMPUTER ~ ' —O—0O— SWITCH ON DECtalk ' —0— 0— SWITCH OFF SPEECH PROCESSOR SEQUENCES TELEPHONE COMMUNICATIONS DT__MODE:MODE__SQUARE DT_MODE:MODE__MINUS DT__MODE:MODE__EUROPE | DT__PHONE DT__MASK — DT__MODE:MODE__SPELL ~ DT__PHOTEXT HOST SPEAK SEQUENCES DT__STOP DT__SPEAK DT__SYNC MA-0364-85 Figure 3-4 DECtalk and Host Computer Programming Interaction 25 CHAPTER 3 3.3.1 DECtalk Setups Each module in the DECtalk DTCO03 system must be individually set up, as described in Appendix B. The following events may occur at power-up. 1. Programs may send a ‘““What are you?” sequence to make sure DECtalk is available. DECtalk replies with a certain ID code to identify itself. . The device attribute request (Section 5.2) describes the ‘“What are you?” sequence. . Set MODE_SQUARE on. This command ensures that phonemic code values are accepted. See the DT_MODE command in Section 4.6.2. If you connect DECtalk to the public telephone network, select the correct telephone handling parameters. See Chapter 6 for these parameters. You may have to set up the host computer (or the DECtalk communication line) for DECtalk commands. You must set up the computer for singlecharacter, type-ahead input, and operating system XON/XOFF processing. i If your host computer cannot support single-character processing, you can use the DT_MASK command to permit line-at-a-time processing. See Section 6.2 for information on the keypad mask command (DT_MASK). o, Other commands depend on the DECtalk environment, such as special text-to-speech commands. 3.3.2 Program Control DECtalk is primarily a speech output device. It assumes the host computer will handle most of the necessary control operations (such as waiting for task completion and requesting status). 26 COMMUNICATING WITH DECtalk 3.3.3 Data Synchronization DECtalk’s speech rate is much lower than the potential data transfer rate on the host communication line. A standard XON/XOFF flow control protocol is used to prevent the overflow of an input buffer on each module. All received characters are stored in a 64-byte input buffer. DECtalk sends an XOFF character to the host computer when its input buffer is filled to a turn-off limit (32 characters), asking the host computer to stop sending data. Meanwhile, DECtalk continues to process the characters from the buffer. When DECtalk’s input buffer empties to a turn-on level (16 characters), it sends an XON character asking the host computer to start sending data again. DECtalk’s input buffer is large enough so that the host computer can continue sending data at the highest speed (9600 baud) for up to 250 milliseconds after it receives the XOFF, without losing the data. Figure 3-5 shows how DECtalk synchronizes data transfer with the host computer through XON/XOFF signals. If the host computer does not stop sending data in time, the input buffer may overflow and characters may be lost. DECtalk does not give an audible warning of this overflow, except for the obvious garbling of partial words. The host computer can issue a device status request (DSR) command to determine if an input buffer overflow occurred. Most operating systems have a HOSTSYNC option (or its equivalent) in their terminal characteristics. If this characteristic is set on the DECtalk communications line, the host computer handles XON and XOFF characters. If XON/XOFF coordination is not available, you may be able to avoid buffer overflow by using the DTMSY?NC command to control the application program’s output rate. However, Digital does not recommend this method because it is difficult and errorprone. Section 8.6 discusses the DT_SYNC command. 27 CHAPTER 3 HELLO. | AM DECtalk. WHEN IN THE COURSE OF HUMAN EVENTS.... MUMBLE.... MUMBLE... ...OF HUMAN EVENTS... | ..WHEREFORE HE HATH CAUSED. " i ..MUMBLE .. . MUMBLE... — XOFF E HOST COMPUTER PAUSES WHILE DECtalk omgy EMPTIES ITS BUFFER. | s XON , | DECtalk’'s BUFFER IS NEARLY EMPTY, SO IT SENDS XON. [ -1 THANK YoOU FOH...] N ..MUMBLE . . . MUMBLE... N I THANK YOU FOR LISTENING TO ME. HOST COMPUTER RECEIVES XON AND RESUMES TRANSMISSION. MA-0349-85 Figure 3-5 28 Synchronizing DECtalk and Host Communications CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES DECtalk has several parameters that can be changed to conform to the operating environment. These parameters include the following. e Line characteristics (such as line speed) e Character sets (to send and receive information) e Modes (to control DECtalk’s interpretation of special characters and phonemic text) There are also several testing and inquiry commands, described in Chapter 5. 4.1 SELECTING ASCIl CHARACTER SETS DECtalk is a computer terminal device, and conforms to the standards for computer terminals. DECtalk uses the following rules for all character sets. 1. Upperbase and lowercase letters are considered the same (except for some abbreviations that are dastmgunshed by case). For example, DECtalk speaks the letter G as ‘‘gee,” not ‘‘uppercase gee.” (See Appendix C.) 2. When found in words, foreign letters (as found in the multinational character set) are spoken as in English. For example, DECtalk speaks the letter a as “‘ey umlaut.” 29 iy CHAPTER 4 3. DECtalk operates with 7-bit and 8-bit data. You can translate or map 7-bit codes into 8-bit codes, and 8-bit codes into 7-bit codes mapping has no effect on spoken text. Table 4-1 (Figure 4-1). This AN gives the escape sequences that change DECtalk to 7-bit or 8-bit modes. G, P MAPS INTO ITS 8-BIT EQUIVALENT 208. A e [H 86 o i BITS &4 83 82 81 v 6 e 0 0 o 1 [ i ) ! o i [ COLUMN [ \ 00 | bl 02 ML § DLE et [ o [1 1 s ] 1 0 B ’M gansnss] r_____ Lo : w16 | SUB M R 01 ROW ] ° oo [ ¥ g PR ' < LAl A 58 8 LAl AR 1320 - 74 e ESC MAPS INTO ITS 8-BIT EQUIVALENT CSI. o, MA-7594-83 AR Mapping 7-Bit and 8-Bit Tables A e L iy R AP, =e Figure 4-1 Ay, e o 4 oi A" i v1 i . 11 A A sy 3v v e W i i CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES CODIMG STANDARDS ” 4.2 2 technique that are compatible with the following ANSI and ISO standards. ANSI - (American National Standards Institute) and ISO (International Organization for Standardization) specify the current standards for character encoding used in - the communications industry. o Standard Description ANSI X3.4 - 1977 American Standard Code for Information DECtalk uses an 8-bit character encoding scheme and a 7~bnt code extension Interchange (ASCII) ISO 646 - 1977 7-Bit Coded Character Set for Information Processing Interchange - ANSI X3.41 - 1974 - | ~ Code Extension Techniques for Use with the 7-Bit Coded Character Set of American Standard Code Information Interchange - ISO Draft International - Standard 2022.2 - ANSI X3.32 - 1973 7-Bit and 8-Bit Coded Character Sets - Code Extension Techniques Graphic Representation of the Control Characters of American National Code for Information - Interchange - ANSI X3.64 - 1979 ' - Additional Controls for Use with American National Standard for , Information Interchange o ISO Draft Additional Control Functions for International Character Imaging Devices - Standard 6429.2 - 4.3 CODE TABLES A code table is a convenient way to represent 7-bit and 8-bit characters, because you can see groupings of characters and their relative codes clearly. 31 CHAPTER 4 4.3.1 7-Bit ASCII Code Table Figure 4-2 is the 7-bit ASCII code table. There are 128 positions corresponding to 128 character codes arranged in a matrix of 8 columns and 16 rows. gy COLUMN b7 ROW| 0 1 2 BITS 7 0 b% 1 0 1 0 1 40 SP | 32 60 48 100 64 120 80 140 %| 160 |2 41 61 101 121 141 49 s 81 7| 62 102 122 142 0 1 0 Oloooo 0 o 20 ©] 21 |NUL| 0 1 1] 2l 3l 4] 5| ooo1 o0 10 0011 o100 0101 |SOH| |17 2 22 2 12 3 23 i |STX| 2 | DC2]| JETX | 3 111 121 1 1 0 0 01 a3 50 - 35 6] 32 [ &3 51 R 82 sl a2 52 62 103 123 143 67 S 83 99 53 63 73 124 144 164 24 34 44 54 64 65 105 125 145 4 5 |NAK 5 6 6 7 7 7 10 |8 8 | |2 15 26 27 , 16 |CAN| 11 14| + 1 10 | SO 18] + 1 23 2 18 31 46 67 107 27 40 28 51 a1 29 o] 55 V nl 37 47 70 110 56 W 2l 38 48 71 111 57 39 X 13l a9 Y | e 55 126 | s 56 127 87 57 130 88 58 wo 116 74 | ol 65 146 2 66 147 03] 67 150 104 68 131 151 89 59 |t w0s| 69 165 e 75 v 166 | s 76 167 w | 119 77 x y 170 120 78 171 121 79 |42 58 | 72 112 132 152 | 28 3A LY | 54 6A TA 13 a3 53 73 13 133 163 173 28 3s | % 27| + | a3 14 34 54 c c 15 35 B |ESC| 26| 52 106 54 U 84 1A |SUB| 32 45 36 50 ) 35 26 39 T ol 53 66 a7 ( ] a6 |8 17 30 52 A |10 18 |2 | FS | 28 CR | 3| - 16 | 36 |14 | RS | 30| . 1D E 17 US | = F ¥ 27 B 2C 55 | 1E 37 | 5| g | 32 44 ' GS | 2 D Sl 25 & |ETB| | % | 37 |[SYN|22| HT | 9o | EM | 5 9 19 12 $ / 59 74 60 sl 48 114 1 Z [ \ | % 91 58 134 92 w6 107 68 154 o8] 3C ac 5C 6C 75 15 135 156 45 81 56 a6 76 62 2E 3E 57 | il 3D 77 77 93 ap 116 | 5D A aE 17 a7 63 0] 2F 3F 4F . 136 94 109 60 156 110 2z { ‘ | 172 | 122 123 78 174 124 7C } S 175 125 7D 176 126 5E 6E 137 157 11| DEL | 127 5F 6F 7F 95 g 115 43 45 FF 72 163 s 104 14 VT r | 14 33 25 | LF 71 162 64 [|DC4 | 2 : | 23 5 |ENQ| 70 161 q 61 4 11 cHaracTer| 3 22 51 , 131 11 "ol 41 |EOT| 1000 )| BS 1+ o 1 1 31 p 60 44 |BEL| 1o 21 a2 Q 50 13 0111 1o oz | 19 3 33 P 40 24 71 10] 18 !! 30 3 |]ACK|6s 1 001 11 20 4 o110 gl DC1 10 ' | 5o 6] 8] { DLE| 1 1 b4 b3 b2 b1 7€ 177 OTM ARG, | pecimAL § HEX g, MA-0B893A-83 Figure 4-2 7-Bit ASCII Code Table 32 CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES Each row represents a possible value of the four least significant bits of a 7-bit code (Figure 4-3). Each column represents a possible value of the three most significant bits. Figure 4-2 shows the octal, decimal, and hexadecimal code for each ASCII character. You can also represent any character by its position in the table. For example, the character H (column 4, row 8) can be represented as 4/8. DECtalk processes received characters based on two character types defined by ANSI: graphic characters and control characters. Graphic characters are the characters that can be displayed on an output device (video terminal or hardcopy printer). The ASCII graphic characters are in positions 2/1 through 7/14 of Figure 4-2. They include alphanumeric characters plus punctuation marks and various text symbols. Examples are C, n, ", !, +, and $. | Control characters are single-byte codes that perform specific functions in data communications and text processing. The ASCII control characters are in positions 0/0 through 1/15 (columns 0 and 1) of Figure 4-2. Most control characters are silently ignored. The SP character (space, 2/0) can be considered either a graphic character or a control character depending on the context. DEL (7/15) is always used as a control character. Control character codes and functions are standardized by ANSI. Examples of ASCII control characters with their ANSI-standard mnemonics are CR (carriage return), FF (form feed), and CAN (cancel). BIT 7 le " BIT 6 3mosT BIT 5 BIT 4 >l ' SIGNIFICANT BITS BIT 3 BIT 2 BIT 1 4 LEAST SIGNIFICANT BITS BIT 8 »| ! le ' BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 »le 4 MOST ! SIGNIFICANT BITS BIT 2 SIGNIFICANT BITS (DECIMAL VALUE IS (DECIMAL VALUE (DECIMAL VALUE IS IS ROW IN COLUMN IN IS ROW IN CODE TABLE) CODE TABLE) CODE TABLE) CODE TABLE) . Figure 4-3 > 4 LEAST COLUMN IN 7-Bit Code BIT 1 ' (DECIMAL VALUE . 8-Bit Code MA-0891-83 MA-089083 Data Word Representation 33 CHAPTER 4 4.3.2 8-Bit Code Table The above conventions can be generalized to the 8-bit character encoding used on DECtalk. Figure 4-4 shows the 8-bit code table. It has twice as many columns as the 7-bit table, because it contains 256 versus 128 code values. COLUMN | \ 00 | 01 | 02 | 03 | 04| 05|06} 07 08|09} 10 1112 | 13 | 14 | 15 ROW ey, | 00 NUL | DLE | sp 01 SOH | DC1 PU1 02 sTX | DC2 PU2 ocs | /i liony 03 ETX | DC3 STS 04 EOT | DC4 IND | CCH 05 ENQ| NAK NEL | MW 06 ACK | SYN SSA | SPA 07 | BEL | ETB ESA | EPA 08 BS | CAN HTS 09 HT | EM HTJ 10 LF | suB VTS | 1 VT | ESC PLD | CSI 12 FF | FS PLU | ST 13 CR | GS Rl 14 sO | RS ss2 | PM 15 si | us s, | OSC DeL | ss3 | APC Moo copesTMf— Gt CODES ~t<crcopesTTM e > 7-8IT CODE TABLE i GR CODES e MA.-0892-83 Figure 4-4 34 8-Bit Code Table CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES As with the 7-bit table, each row represents a possible value of the four least significant bits of an 8-bit code (Figure 4-3). Each column represents a possible value of the four most significant bits. All codes on the left half of the 8-bit table (columns 0 through 7) are 7-bit compatible: their eighth bit is not set and can be ignored or assumed to be 0. You can use these codes in either a 7-bit or an 8-bit environment. All codes on the right half of the table (columns 8 through 15) have their eighth bit set. You can use these codes only in an 8-bit environment. The 8-bit code table has two sets of control characters, CO (control zero) and C1 (control one). The table also has two sets of graphic characters, GL (graphic left) and GR (graphic right). The basic functions of the CO and C1 codes are as defined by ANSI. CO codes represent the ASCII control characters described earlier. The CO codes are 7bit compatible. The C1 codes represent 8-bit control characters that let you perform more functions than those possible with the CO codes. C1 codes can be used directly only in an 8-bit environment. Some C1 code positions are left blank because their functions are not yet standardized. 7 . ‘In Figure 4-4, all control characters that are recognized by DECtalk are highllighted. All other controls are ignored. The GL and GR sets of codes are reserved for graphic characters. There are 94 GL codes in positions 2/1 through 7/14 and 94 GR codesin positions 10/1 through 15/14. By ANSI standards, positions 10/0 and 15/15 are not used. You can use GL codes in 7-bit or 8-bit environments. You can use GR codes only in an 8-bit environment. 4.4 CHARACTER SETS You cannot change the functions of the CO or C1 codes. However, you can map different sets of graphic characters into the GL and GR areas of the code table. DECtalk supports the U.S. ASCIl (ASCII_G), DEC Supplemental, and U.K. National character sets. Figures 4-5, 4-6, and 4-7 are the code tables for the ASCII_G, DEC Supplemental, and U.K. National character sets respectively. These character sets are the only sets understood by DECtalk. 35 CHAPTER 4 COLUMN 0 b7 - ROW| 1 0 2 0 0 b4 b3 b2 b1 0 ! O|loooo 0 0 0 20 1 21 1] 0001 2] 00 1 o0 3| 0011 ) 10 1 11] 12] + 1 13} 0o 1 1 11 0 0 1 0 18] + + 1+ 1 142 161 |13 42 52 62 72 123 143 163 19 | " 21 31 42 62 34 H# 2 35 3 50 | | B C 66 67 82 83 13 23 33 43 53 63 24 44 ‘64 104 124 144 14 5 25 6 6 7 , 47 10 30 24 8 18 1 3 9 25 9 19 12 ( 26 A 1A 13 33 B B 14 34 1" 27 12 28 c 1c 15 35 29 36 30 39 7 * + 50 40 8 |s3 E 66 |54 36 F 67 |5} G 70 |6 H 38 51 , a1 9 29 7 | 1 39 72 42 . 58 2A ' IA 53 J 73 43 . 28 ' 3B 74 | £ e L 54 ! 65 37 52 “ul 2C 55 - 45 . 46 1D 16 6 28 ) D | s 35 27 32 10 5 25 27 |s2 34 45 | 3 46 38| 26 17 4 24 % & 23 8 || 22| 16 7 14 $ 3c 75 = 61 > 62] 20 56 59 K M 30 | 76 N 84 44 54 64 125 145 45 55 65 85 101 106 126 107 127 87 w3 47 57 67 110 130 150 | 7w 46 7 72 86 56 88 146 102] 66 147 04 48 58 68 m 131 151 73 89 05| 49 59 112 132 152 74 90 106 4A 5A 6A 113 133 153 48 58 68 114 134 154 92 o8| 75 76 91 4c 5C 15 135 77 93 4D 50 116 136 78 § 69 107 6C 155 109 6D 156 94 110 114 t 116 74 u 165 75 166 v | s 76 w | 119 x 120 167 77, 170 78 y 21 79 172 z 7A { 173 123 174 | 124 7C } 175 125 7D 176 126 3E 4 5E 77 117 137 79 157 95 177 | DEL | 127 F 1F 2F 3F O aF 5F 6F e 78 2E 3] i, 122 57 ? oy, 171 1E 47 iy, |17 37 / S 164 E 31 R | s 17 15 6E 162 73 wo | 105 69 r 99| 3 20 71 98 4 1 1 122 q 103 13 1 102 7| 32 o 1 0 61 81 63 D 14] 141 51 22 7 1 121 41 43 2% 10 101 | s 160 |12 70 23 6 10] A p 12 15 00 61 49 %| 60 2 3 5 1 140 80 50 3 21 9| 120 18 4 1000 1 0 100 @ | 64 40 2 5 8] | |[4] 30 1 22 o1 0111 41 33 60 0 2 51 71 O i 1 t 1 4 o110 0 [ 40 ! 1 1 SP | 2| 20 17 o100 6| 0 7 1 4] 01 4 7€ 7F S ls——C0 CODES— GL CODES (ASCII GRAPHICS) R, cHaracTer| EgC | 3 | O°TAt 27 18 | DECIMAL HEX MA-0893-83C Figure 4-5 ASCII_G Character Set Ay, e o oo, 36 CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES 8 1 0 9 ' 0 0 o 10 1 0 0 - 1 11 0 o 12 1 1 1 1 13 1 0 1] 0 14 15 1 T 1 1 COLUMN o] 1 1 0 | 200 220 V //} 128 80 | 144 § 90 201 221 129 s | 81 91 202 222 130 we| 82 /7] | ¢ 92 240 160 Ao 241 w | 4+ Al 242 |82 223 243 83 93 A3 w| £ 2 A2 203 131 o |ie3] |20 176 oj 261 sl , A |302 [263] L [303 o] 244 64| 94 A4 B4 225 85 95 133 164 wel Y 245 fws)] AB A 83 224 205 | 180 M ., | 265 |w] 85 206 226 246 266 86 96 a6 | 86 | 134 150 | 166 207 135 227 w| 210 136 88 211 230 2| 98 231 w3l 99 © 212 232 a 87 § 97| 137 89 138 XX 154 8A 9A 213 139 185 1 88 & - %7 ) |w] 250 |es Ag | 251 1 270 wa|l B8 | |an} 252 0 272 A7 |69 A9 170 AA 233 98 <L 263 [ AB 214 234 254 8C ac AC 140 156 72| 215 235 256 8D 9D AD 141 157 3] 216 182 8E 217 236 158 9E 237 256 | 174 AE w1 8F oF AF 143 159 l‘"——C1 1 CODES s ] fl ::L: . 1821 247 |wer|] B7 ws| B9 Va c1 || c2 |wes] c3 |30a N § § 6 |35 . |w] cs o |307 |w| E o g |310 |20 c8 |3 c? B & | 314 275 03] c8 | |204] cc 315 s f 051 A . 276 wo| BE |27 |38 |08 CE |3V BD |19t BF oe | |325 |23] D6 co 200 CF y Y Y B . a a8 327 |25] ¢ D7 330 26| D8 331 |27] D9 |28 DA |29 DB 334 (20| DC 335 & & & ® ¥ | T 336 222 DE 337 A P DD |223)] DF , (DEC SUPPLEMENTAL GRAPHICS) GR CODES @ 214 [333 A BC D4 332 U & 0 22 ’ CA 2 a2 | § |313] a B D3 (2ot co 202 RET || 312 é |we] D2 D6 o @ BB |20 323 |32 [s) oo [a87 D1 C6 186 274 | |200 306 | ., 198 , g |32 322 196 Va & 208 DO . 273 | Bal > 3] ca A 320 192 co 301 | fl B1 84 148 | [w2] 204 132 A T | B2 3 [300 % 60 | 224 EO 240} FO 341 |25| W 342 . E1 |28] || f3aa] |2e2] F2 |23] F3 |36 © |as | o E4 |244a] Fa |38 @ ES |20 F1 363 |28] a6} [2] |32 § E3 |29 361 & E2 343 |25 . 347 |221] E7 350 [22| E8 351 || E9 § 352 ” 000 |8 1001 |9 |29 Fa [] FB ¥ ®s | ,, 239 EF 374 |z2] FC |35 ¥V |38 | 238 EE w1 77 0 1 0110 FA || ED 01 00 | 4 372 uw |[23] FD 376 40 FE ) a7 12551 /] |3 1 (0] |27] o011 |7 |33 EC 001 0|2 0111 F? 370 |28] F8 3n , EB |1 367 |47 u |25 o001 @B 234 354 0o 0010 01101} w3l EA JROW 261 F6 & o |5 |366 0@ b5 b4 b3 b2 b1 0101 F5 E6 »7 BITS b6 1 FF 10110 11 11 00 |12 v+ 101 |13, 1110 |14 1 |15 111 -| MA-0894-83C Figure 4-6 DEC Supplemental Character Set 37 CHAPTER 4 R, COLUMN 1 BITS b7 ——— b5 ROW| b4 b3 b2 b1 Oloooo 11 2]l 0001 00 1 0 2 0 0 0 20 1 b3 1 1" 2 22 0 0 6] 10 1 17 2 18 26 71 01 8l 1000 » 13] 1 1 0 20 4 14 5 25 5 o 1 141 + 1 1 0 18] + 1+ 1 1 141 51 61 7 42 62 102 122 142 162 34 £ ) 23 a4 $ (3| 24 45 % || 15 6 2 6 & 27 , 16 7 7 23 7 46 38 26 a7 39 17 10 30 8 24 3 4 85 25 22 50 B || Q 66 R 81 82 | 98 27 50 ( 40 | s 3 | 64 |52 34 65 |sa| C D E 35 6 7 8 66 |54 36 67 |55 37 70 |6 7] 43 104 S [e] 44 105 |6] T | 84 U | s 45 F G H ]l 46 | 107 47 54 125 55 106 nlt 83 53 124 | 110 ] V w X 126 86 56 127 87 57 130 88 9|l 63 | 144 wo] 64 145 LT 161 q |13 r .4 72 163 s |15 73 164 t 74 102 66 147 03] 67 150 104 IRTF 75 166 v 76 167 w | 19 | x 77 170 120 18 28 38 48 58 68 78 31 51 7 111 131 151 171 9 19 9 25 3z 10 26 A 1A 13 33 B 1B 14 34 7] 12 28 C c 15 35 D 1D 16 36 13 29 14 | E 1E 17 37 F 1F 15 31 ) 41 29 52 * + 42 2A 53 | a3 28 9 . : . ' 54 ! - al 2C 55 45 56 ] / 47 £ = 2F 72 58 3A 73 so| 3B 1 J K |[e0] 3C 75 61| > 76 | e2] L M 77 63 3F 74 4A 113 sl 48 Y b 4 [ ) 4c 115 77 \ ] 4D N 3E ? 73 49 112 114 b 2 57 39 74 2D | 57 el 78 o 4E O n7| k] 4F I 89 59 132 90 5A 133 91 58 106 69 152 106 6A 153 107 68 Yy z { 121 79 172 122 7A 173 123 78 134 154 92 08 135 155 50 60 70 156 176 5C 93 136 94 6C 109 | 110 174 | } Dy, 124 7C 175 125 126 5E 6E 137 157 m| DEL | 127 5F 6F 7F 95 TS, |18 8 12 Sy 165 TR 65 146 i, |16 1 1 0 2 a1 A 62 19 13 24 |2 70 31 143 3 3 4 160 p 21 33 52 6 12] o 6| 60 123 o110 o 1 | 140 | e 50 42 6l 1+ 61 P 103 22l 11 49 || 40 32 5 o 1 120 P @ 63 o101 1 |#] 30 22 8| 1 o O 1 a3 4 101 - 100 12 o100 001 60 0 23 4] '+ 40 1 ! 2 00 11 9| 0 41 " 1 1 SP | 32| 20 ! 1 0 3 3] 11 0 0 1 0 7 7E 177 A CHARACTER | OCTAL 27 ] becimaL B ¥ HEX MA-0893-83S Figure 4-7 4.4.1 U.K. National Character Set Designating Alternate Graphic Sets DECtalk has four alternate graphic character sets, called GO, G1, G2, and G3. Before a character set can be invoked (used), it must be designated (loaded) into one of the four alternate sets. 38 st CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES At power-up, DECtalk designates the ASCII_G character set into GO and G1, and designates the DEC Supplemental character set into G2 and G3. You can modify these default designations by using the sequences in Table 4- 2. Figures 4-8 and 4-9 show how you can designate the character sets. b 2 e i & »@m,.%:‘ . e g e . . i b e S = I e Dy S S o : i 4 S - = o e o 4“{4 L o e . . . o e - -= BR . o i e o o e . - ‘fi i = i e e L ei e = h:. = . i e o = - s = . o ei = R e . = = o I . 'v» e e e o = : . &w\fi‘f{“‘ . o - Spras S =~ - \ Cal e i o - o Ca e i = o o . - . i (R G i T R o L a o . . s ; . . ' R o W D L == e oj b2 e it i . L e it . il — 4 - i - {%\t», o i o 3 - ot - - e 2 . o N i i L e G e 39 CHAPTER 4 A, ] : A ] Co GL C1 GR | — 4 T Ir l INVOKING SEQUENCES (LOCK SHIFT AND SINGLE SHIFT) \\\\\ - i d GO -t G1 [ - G2 G3 N I DESIGNATING SEQUENCES | u GRAPHIC | | REPERTORY 1 MA-Q279A-82 Figure 4-8 Loading 8-Bit Characters A ool A A e 40 CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES — 7.81T SET IN USE (D O + @ O+ @ GO @ sss *ALWAYS ASCII OR THE CURRENT. GRAPHIC REPERTORY| j4 NRC SET IN VT100 MODE AS SELECTED IN SETUP. MA-0280A-82 Figure 4-9 Loading 7-Bit Characters 41 CHAPTER 4 4.4.2 gy Invoking Graphic Sets into GL and GR Character sets that have been designated into one of the four G-sets may be iy used by invoking the set into the GL or GR areas of the code table. G, At power-up, DECtalk invokes the GO character set (which holds ASCII_G) into GL, and the G2 character set (which holds DEC Supplemental) into GR. You sy can modify these default invocations by using the sequences in Table 4-3. AR, R, i o - . ’M%(a - AR, S, o e e B s } e, 2 L s, = v S i e o ) s / jvfi arosnz, e 4.4.3 Character Processing In 7-bit mode, characters received from the host computer are either CO control characters or GL graphic characters. All CO control characters are interpreted g, as described in Section 3.2.3. All GL graphic characters are processed according to the rules for the character set currently invoked into GL. SR In 8-bit mode, characters received from the host computer can also be C1 control characters or GR graphic characters. All C1 control characters are A interpreted as control functions. All GR graphic characters are processed according to the rules for the character set currently invoked into GR. At power-up, due to the default designations and invocations, o DECtalk processes characters in a way that is compatible with Digital’s other terminal products. s, s 42 CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES 4.5 CONTROL FUNCTIONS You can express control functions as single-byte or multibyte codes. The single-byte codes are the C0O and C1 control characters. Your program can perform a limited number of functions with CO characters. C1 characters give you a few more functions, but your program can use them directly only in an 8bit environment. Multibyte codes represent far more functions because of the variety of code combinations possible. These codes are called escape sequences, control sequences, and device control strings. 4.5.1 Escape Sequences An escape sequence is a sequence of one or more ASCII graphic characters preceded by the CO character ESC (027). For example, ESC ( B 027 040 066 is an escape sequence that requests DECtalk to designate the ASCII_G character set into GO. Because escape sequences use only 7-bit characters, you can use themina7bit or 8-bit environment. Escape sequences have an important, special use. ANSI permits code extension techniques to extend 7-bit control functions. In particular, you can use two-byte escape sequences as 7-bit code extensions to express each of the C1 control codes. You can express any C1 control character as a two-character escape sequence in which the second character has a code that is 40 (hexadecimal) or 64 (decimal) less than that of the C1 character. Conversely, you can make any escape sequence whose second character is in the range 4/0 through 5/15 one byte shorter (if running in the 8-bit mode) by removing the ESC and adding 40 (hexadecimal) or 64 (decimal) to the code of the second character, thereby generating an 8-bit control character. 43 CHAPTER 4 For example, the C1 characters CSI, SS3, and DCS can be expressed as follows. C1 Character 7-Bit Extension Equivalent (escape sequence) CSli ESC [ 155 027 091 SS3 ESC O 143 027 079 DCS ESC 144 027 080 4.5.2 P Control Sequences A control sequence is a sequence of one or more ASCII graphic characters preceded by the CSI symbol (9/11). CSI can also be expressed as the 7-bit extension code ESC [. For example, the following control sequence requests a device status report from DECtalk.CSlI 5 n 155 053 110 or ESC [ 5 n 027 091 053 110 A sequence starting with CSl can only be used in an 8-bit environment because CSl is a C1 control character. 44 CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES Device Control Strings 4.5.3 A device contro string is a delimited string of characters that are used in a data stream as a logical entity for control purposes. It consists of an opening delimiter (DCS introducer), a command string (data), and a closing delimiter (a string terminator or ST). DCS (9/0)is an 8-bit control character. You can also express it as ESC P when coding for a 7-bit system. ST (9/12) can also be expmssad in a 7-bit environment as ESC \. For example, the following instruction allows DECtalk to speak phonemic text. 048 122 z ST 048 059 ESC P 027 080 0 048 ; 059 0 048 z 122 pcs 0 144 : ©0 156 or ESC \ 027 092 4.6 WORKING WITH 7-BIT AND 8-BIT ENVIRONMENTS DECtalk supports both 7-bit and 8-bit communication techniques. To take advantage of DECtalk’s 8-bit character set, your program and communication environment must be 8-bit compatible. 4.6.1 7-Bit and 8-Bit C1 Controls Communication parameters are set up through two switches on the DECtalk module. (See Appendix B.) Switches SW4 and SW5 determine if the basic transmission and reception path is set for 7- or 8-bit communication. Four operating modes are possible: 1. 7 data bits and even parity 2. 7 data bits and odd parity 3. 7 data bits and ignored parity (8 bit, no parity, and ignored most signifi- cant bit) | | 4. 8 data bits with no parity 45 CHAPTER 4 If one of the first three modes is set, you cannot send 8-bit characters to DECtalk, and DECtalk will always send C1 control characters in their 7-bit format. If the communication parameters are set for 8-bit mode, then full 8-bit format (controls and data) is allowed. Characters in the C1 and GR sets are treated as such. You can use special escape sequences (S7C1T and S8C1T) to control the transmission format of C1 control characters. At power-up, DECtalk simulates the S8C1T sequence. The S7C1T sequence causes DECtalk to send all C1 control characters in 7-bit format. ESC SP F 027 032 070 S The S8C1T sequence causes DECtalk to send all C1 control characters in 8-bit format. This sequence is ignored if the transmission and reception path is set to 7-bit mode. 4.6.2 ESC SP G 027 032 071 Mode Selection (DT_MODE) The DT_MODE command provides a number of options to control how DECtalk handles particular characters in spoken text. The general DT_MODE escape sequence is as follows. ESC P 027 0 080 048 ; 8 059 056 2 ; 050 059 P3 ; P4 z ESC \ *** 059 *** 122 027 092 The P3 parameter is interpreted as a set of flag bits. P3 uses only four flags (Table 4-4). At power-up, MODE_SQUARE is set (that is, the square brackets [ and ] are used as phonemic delimiters), and all other modes are cleared. 46 G CHARACTER ENCODING AND SETUP ESCAPE SEQUENCES The P4 parameter controls the interpretation of P3 as follows. If P4 isiO, then P3 changes the mode. If P4is 1, then P3 is a set of bits (flags) to be set in the mode. If P4 is 2, then P3 is a set of bits (flags) to be cleared in the mode. ey e i Loln oB L e ; o e B o AR o e s 2 e i e ! . - L % e B i Q - 1' L S ¢ e . o L = . 4 v e et KR o < i D S e i e . i i o e TS e : e L foel o g i - - 0 i 5}%.‘ M) . Goadian %Q L . - » i i o SR - i ‘“s‘f«f:,'f*}‘lw?? i , AR i Lo i = ) i i :’4@'@5@\ . - - L - i & i .L . G . i ’ i i i . - S =i e 7 . - e et - = o o e \, o o . L . = i - { G = =- e o i = . . o o e ; ot o o L = e e -~. : Ay o S - s. i £ G - o i ¥ i o . . . ""“';‘“Vf{‘g?@3 . L o . .. .e ) ‘;%Q@ iy i - = s- o i . . o i . *‘ . i ) . i G . y . . . ¢ o . %fi e v v = i = "fi ' "%fi’ i e e - - - - o . i = fz)g.; -. - i - o MR . e - 2 - s . o = 5:;.= S — . . G i o . i = - =—- - - i o L . e - L i i i L . . G L é« s i i *v«r{:a.fiti:;"y‘ . e L Ty N P o L b o el o i i vmw‘ j | . . i i o ey o Wi ‘ . : i ; - S v gl o i L e . . \.%'l“é’f: n . - . - . . . . . ‘ . e . R e i e i i i i sl i - o e i W & —= s i o S L L -- - =-o -= o e - . - v = e o= ; - - e o = SR o = L i o PSR e . - = i -z —et = w’gf e .. A«%}flg@fi%‘ i %{%, &ég{fi/\ (,' - 5“@ . 47 CHAPTER 4 I Use the following method to get the P3 value. 1. Add up the values of the MODE flags in Table 4-4 that you want to use. 2. Convert the sum to ASCII digits. Use these digits in place of P3 in the escape sequence. For example, assume you want to set MODE_SQUARE and MODE_MINUS, and leave the other flags unchanged. MODE_SQUARE 1 MODE_MINUS +4 Desired P3 value = 5 Enter the P3 value 5, and then the P4 value 1. The resulting escape sequence is as follows. ESC 027 P 0 ; 8§ 2 ; 080 048 059 056 050 059 5 1 053 059 049 2z ESC \ 122 027 092 DECtalk will have the MODE_SQUARE and MODE_MINUS features enabled. 48 A MAINTENANCE AND TEST COMMANDS DECtalk uses a set of commands that identify its configuration and certain operating features. These commands also help to test a DECtalk unit remotely. Most of these commands have an inquiry-response format. DECtalk returns an answer to the host computer after the action is complete (or in response to a pure inquiry). 5.1 CONFORMANCE LEVEL REQUEST (DECSCL) " Device conformance (or compatibility) level sets the level of interface compatibilty and determines the specific functions a device can perform. DECtalk is a level 2 speech output device that can run in level 1 compatability mode. You can use the following sequence to set the conformance level. ESC[ 037 091 P1 ** ; 059 P2 ** ” 034 p 112 The P1 parameter must be eith’er 81 (for level 1) or 82 (for level 2). The P2 parameter selects the C1 control transmit format. It is either 0 (default setting, 8 bits), 1 (7 bits), or 2 (8 bits). The 0 and 2 parameters are ignored if the communication channel is set for 7 bits. You can find out the DECtalk conformance level by using a DA primary command shown in Section 5.2.1. Because the conformance level affects how text is processed (in particular, it determines the interpretation of the MODE_EUROPE and MODE_SPELL commands), the DECSCL command performs an implied DT_SYNC command. 49 CHAPTER 5 5.2 DEVICE ATTRIBUTE REQUESTS s DECtalk has two commands that may be used for device identification. 5.2.1 Device Attribute Request (DA Primary) The device attribute request escape sequence is as follows. ESC [ c 027 091 099 DECtalk identifies itself by sending the following status reply sequence. ESC[ 027 091 ? 8 2 ; 2 : 3 ¢ 063 056 050 059 050 059 051 099 This DA response provides the device code (82) to indicate that DECtalk is a level 2 device, and also shows wink detection (code 2) and call progress (code 3) extensions. 5.2.2 Device Attribute Request (DA Secondary) The secondary DA request escape sequence helps to identify the hardware/firmware configuration of the DECtalk unit. ESC > c 027 062 099 DECtalk responds with the following status sequence. ESC > 1 2 ; 1 0 : 1 c 027 062 049 050 059 049 048 059 049 099 The first parameter is the hardware identification code. For DECtalk, this code is 12. The second parameter identifies the firmware version number. In this case, the code 10 indicates version 1.0 of the firmware. The third parameter is 1 to identify the language spoken by the DECtalk unit as American English. 50 MAINTENANCE AND TEST COMMANDS DEVIC TEST AND STATUS 5.3 A special set of escape sequences run DECtalk hardware self-tests. Another set of escape sequences forces DECtalk to return status reports. The following paragraphs describe these sequences. 5.3.1 DEC Ik Power-Up Status You can reset DECtalk to its power-up state. The method you use to reset DECtalk ma affect the operating features. You can reset DECtalk with any of the foilowing methods. This section describes methods 2 through 4. 1. Power-up (PUP) is the state that DECtalk is in when first turned on. 2. Return to in itial state (RIS) is a hard reset you can request by using an escape sequence. 3. So reset (DECSTR) is a partial reset you can request by using a control sequence. 4. Nonvolatile memory reset (DECNVR) is included for compatability with earlier DECtalk devices. Table 5-1 lists the DECtalk factory default settings. Table 5-2 lists some other DECtalk actions performed through listed reset methods. (;i-n“ a o v i % . i : o o S W ) e . i i \ ‘e i ‘ . : S . . il i L L G - \w . i i o il L ol s G S L it W : - dalsiin e e B g Gl i ot "}“»‘»'f"'m&g% s i s i . L, i e . o - I L . e e A . RN e . L i . o . . o L i .L . o CHAPTER 5 A i . i L o . sl st w?g . . o . e ¢ ar 2 & g : U L sl st i A ‘ o w ' B SRR o L oy e & S i L 4:0(.‘"“,' D "'fl}}‘:’%fi;" AR & i i . Kgfi( e G .L A L i ‘ G i e e e R . P S s fhati e g@%@ L o 0 G S o e i . e :‘ft} oyl i . T .. L , . e i i Gl = e A, s B w - % o | P . e e 2 o 4% L G - e 7 L sl »;k«"’k«"“ iy 7 = ey e i o -~ . : - %}%’2{% "%fi . : . s g - . w'fifi‘« i - i S =3 %. e A o ;. L i o | O S o s i = Bl =4 T )oé;:(:w‘" e e e > . N i o i 0 5.3.2 i mj?»%@: o o G ¢ . o Lo , i o o RAY i A, ,,, S . o Device Self-Tests (DECTST) You can use this sequence to initiate DECtalk self-tests remotely. Appendix B shows how to perform the self-test by using the test pushbuttons on a DECtalk O, module. A The self-test control sequence is as follows. | S ESC | 5 ; P2 y 027 091 053 059 *** 121 The first parameter is 5 to specify the DECtalk private test set The P2 parameter specifies the test to be performed (Table 5-3). R s R The TEST_POWER parameter (P2 = 1) causes DECtalk to rerun its power-up initialization and test sequences. All DECtalk operating features return to the power-up state; the telephone is hung up, the user dictionary is deleted, and all T, features are reset to their power-up values. ARG, The built-in (canned) message gives you a quick check of the DECtalk system. The message includes the version number of the DECtalk firmware. EC If you try to run an unknown test, you will get a *‘bad private’’ error. s, 52 [ MAINTENANCE AND TEST COMMANDS s S i L e o . % " U . 2 - . e i . i T . W R . SlSl v 0 o Gli . s _ i a0 . @ . A oi S i . S b | il i . . ) e e i ¢ o J G e . ‘ L o o : o . . v J : o e T i 0 me o »3“‘;» i ) = i mah e . - = . Gl %?2‘“ L - " e - i o o - . Lo o - @‘f’%;T . e o . s o . = i t\"'«% i - - e , Ll . o o S i i e L : i e o WA 5.3.3 - i o . 0 . o i ; e C L o L L . S L o :@f’& g'{;,'m“ . e e . eG L S o ‘ . g . : . i e ‘ugg{fi«fl% ' Kol Device Status Request (DSR) (B The brief DSR control sequence is as follows. ESC 027 n [ 091 053 110 If no malfunctions are detected, DECtalk replies with the following sequence. TM ESC [ | n 027 091 048 110 If a malfunction is detected, DECtalk replies with the following sequence. ESC 027 [ 091 ‘ n 051 11 Applications can use this brief DSR format in most cases, because a brief request does not reset any of DECtalk’s internal error flags. The following extended DSR format is useful when a malfunction is detected. CHAPTER S5 5.3.4 Device Status Request (DSR) (Extended Report) AR, The extended DSR control sequence is as follows. ESC [ n 027 091 110 If no malfunctions are detected, DECtalk replies with one of two sequences. If this is the first extended DSR since DECtalk was powered up (a ‘“‘rerun” power-up self-test counts as an initial power-up), DECtalk replies with the following sequences. ESC [ 0 n 027 091 048 110 g, ESC [ ? 2 1 n 027 091 063 050 049 110 For later requests, DECtalk replies with the following sequences. ESC | 0 n 027 091 048 110 ESC [ ? 2 0 n 027 091 063 050 048 110 If a malfunction is detected, DECtalk sends the following sequences. ESC [ 3 n 027 091 051 110 ESC [ ? Pt ; Pn n 027 091 063 ** 059 * 110 Table 5-4 lists Pn error codes. NOTE: 54 The extended status request sequence resets the error flags. MAINTENANCE AND TEST COMMANDS i i wg;% ' e . W‘tgy*%% . - . : . . |i e ,, L M*W . e T %’fi%fi: o N&%’ mfi ¢ G / Lt »;4'@2% L . io o e e . B . ) o . . L S &'%}T« e o L g;f; L . . o &y i e - . o o G . i o L . i o - e = = = i . = : . - o - L b o i o i SR vl %{ i . - = o . W i T L == - e— -e e o i . o w \%@ . e L o : e %‘5}&3&&?@, S . o kf% i A . 5 i L & o e G e 0 . . L G . o o e o “ - . - W e o V%,;fl . : - i i S - i i . el e - . / . 5.3.5 Reset to Initial State (RIS) Tables 5-1 and 5-2 show how RIS affects DECtalk. The RIS escape sequence is as follows. ESC ¢ 027 099 This sequence resets DECtalk to its power-up state. The character set selections are returned to their default values and the conformance level is reset to level 2. All pending, unspoken text is lost. All user-defined dictionary entries are deleted. The telephone is returned to the on-hook state. The RIS sequence always turns on host speech. CHAPTER 5 9.3.6 Soft Terminal Reset (DECSTR) Table 5-2 shows how the soft terminal reset affects DECtalk. The DECSTR control sequence is as follows. ESC [ ! p 027 091 033 112 This sequence resets DECtalk to its power-up state. The user-load ary and the conformance level are not affected. able diction- ’ AR, However, as with RIS, the character set selections are returned to their default status, all pending, unspoken text is lost, and the telephone returns to the on- hook state. The DECSTR sequence always turns on host speech. 5.3.7 NVR Control (DECNVR) DECtalk does not contain an NVR (nonvolatile RAM). However, it ‘“‘under- stands” the NVR control sequence, so that the programs that attempt to manipulate the NVR will get the appropriate error responses. The DECNVR sequence is as follows. ESC [ P1 027 091 ** ;P2 059 *** ! r 033 114 The P1 parameter selects the type of operation (0 = recall data from = store data in memory). The P2 parameter specifies which NVR memory to use (0 memory, 1 = read-only factory-default memory). memory, 1 = read/write user Most parameter combinations in the control sequence fail. The only bination is the “‘recall data from default memory”” when P1 = 0 and valid com- P2 = 1. The function of this combination is identical to the soft reset (DECSTR) . DECtalk remembers the success or failure status of the last NVR operation command. A device status request (DSR) sequence can check 56 this status. TELEPHONE COMMUNICATIONS \J) You can connect DECtalk to the public telephone system to provide a dial-up link between remote users on telephones and a computer application program. DECtalk sends and receives information as a link between a remote user and the host computer. DECtalk communicates with the phone through the voice circuits, passing spoken data to the listener. DECtalk passes information back to the host computer as ordinary ASCII characters, and as escape sequences. The user can communicate with the host computer (through DECtalk) by using the Touch-Tone keypad, if available. | In the United States and Canada, DECtalk has a built-in telephone line interface that supports tone detection, pulse and tone (Touch-Tone) dialing, “wink’’ detection, and a simple call progress detection system. Wink detection lets the host computer determine that a caller has hung up much earlier than is possi- ble by using only timeouts. The wink detection function permits DECtalk units to service a much larger volume of telephone data traffic. 57 CHAPTER 6 6.1 TELEPHONE MANAGEMENT (DT_PHONE) This multifunction control sequence takes one or more parameters and con- trols the attached telephone and Touch-Tone keypad interface. The DT_PHONE escape sequence is as follows. ESC 027 P 0 ; 6 0 ; P3 080 048 059 054 048 059 *** =z ESC\ 122 027 092 The parameters, starting at P3, act as a list of telephone commands and are executed in sequence (from left to right). Table 6-1 lists the valid P3 s, parameters. The dialing commands have a dialer control string between the z and the string terminator. EL A single DT_PHONE sequence can perform several commands. Some commands (such as enable autoanswer) can take additional parameters. All DT_PHONE commands return a status report to the host computer in the following format. Table 6-2 lists the valid P3 status values. ESC P 0 ; 7 0 : P3 z ESC \ 027 080 048 059 055 048 059 ** 122 027 092 Telephone keypad characters are sent as text, not escape sequences. The R3_PH_TIMEOUT and R3_PH_WINK reply sequences are sent asynchronously. That is, the reply sequence may arrive as unrequested input, and A the application program must be ready to receive them. A 58 TELEPHONE COMMUNICATIONS s o g L o - i e b o S . L . - . e . B . - fu L i . gmx%’% G e e e . . . i e i 38 .? A B - - L , " i ) - b o e - e il i . & e Lok \:fl"&fl\;@,’%&é‘i@ o i : i i ‘ i e flfi%%s, G it . . i %‘« i o e 2 Kt . ;‘5{ o . . . e o i Wg o i 0 s 7 )‘33 o e 5: i C o o L i e o 0 1 = - S ) . e a . i i . 3 o - = - e o . Shalenby . . o i - e = S ' s e iev & et i i s o e L . 3{ i - . e i : it '«:.g:w . - o i = — i - i ‘:2$ - oy e - - e . - il i . i . e e | S = * = iy &;\MX%@ o . o 0. e= - o= i e - ‘é‘ - b - i - e ai =. i - = - o - e= s o 59 CHAPTER 6 O ARG s S e o o . [ e ~ = G e 5 s e SR RS S 0 P S 'v;%f( i RN s o - oy . - i o oo L .;:,« i %: 0 LL g, SRR R e i 9 %& . e & i i R e i — 0 L & G - «g‘&?@%fi: L - iy = . ’M@«”“’M“’?‘: - . o io S e A b o o il o - e e G Wz . i . s e RS o v.«v . ';w . SR = e L o A | }é‘a s S . A i - i i = A o o Bl . i = e i = - < S = I e . e A e¥ e T = R T s - o . e % v M’*‘»fé« i -= 7 - s fi Ga N'»‘ 4 e Vfi e . i g G MO e S 5 e m&;fi%&‘ . }\Zf%%%‘%%q{. s i . i e 0 i qi i o . iR ma = T - sl s -=e '?§ . e s TR o s . . =%%;;i:&%« =i = , e S L o A - = o = o = = = o . - o - . e - | = - S&é «, = . = o -= = % = - o mE: . Ga o = =Sas = - .{ ns o e"» s - - -o =t oe =— . - = 2% S b i iz P S i s o ‘ o Dt /“«‘e’x‘ G . : G o . e e o « DR A v 7 i s . o i o i 3&(“@‘. . iy s - - . . e = -o = TR P . R o s = s o = i o /«.«%flw{ -~.o > . Shen i o Sues R - 5 . , e o %?A = GRS e = o A - s = S - e . oS ht = i - A bAéi,, ‘M . % s o T i b e o }‘) .), M:tp',e e . T e e SR o S K :<“‘§? = A B . R - i o o i i ey e i - - i s AN, R A s S IS A, TELEPHONE COMMUNICATIONS 6.1.1 PH_ANSWER DECtalk is set up to answer incoming phone calls. The parameter that follows the PH_ANSWER command parameter indicates the number of rings to wait before answering the telephone. A parameter of 0 or 1 means answer the telephone after the first ring; 2 means answer after two rings, and so on. If the telephone is off-hook when the host sendsa PH_ANSWER parameter, DECtalk hangs up the telephone (disconnects any active call) before executing the PH_ANSWER command. This command also disables the telephone keypad, the timeout, and the wink detection feature. DECtalk sends two status replies to a PH_ANSWER request. The first status reply (which is sent immediately) informs the host computer that the DT_PHONE command was correctly received. The second reply (which is sent when the telephone is actually answered) informs the host computer that the telephone has actually been answered. DECtalk stops waiting for incoming calls whenever the host computer sends PH_HANGUP, PH_TONE_DIAL, PH_PULSE_DIAL, RIS, or DECSTR. 6.1.2 PH_HANGUP This command hangs up the telephone. The status reply is delayed until the telephone is actually back on-hook (disconnected). The host computer should wait for the R3_PH_ONHOOK reply before sending other commands to DECtalk. This command disables the telephone keypad, the timeout, and the wink detection feature. | 61 CHAPTER 6 6.1.3 PH_KEYPAD This command enables the telephone keypad. The request is ignored if the phone is inactive (on-hook); however, DECtalk returns an R3_PH_ONHOOK status reply. The command also disables the timeout function. The characters received from the keypad look like ordinary ASCII characters. In a typical keypad, the characters are 0123456789*#. Some keypads have four extra buttons that generate the characters ABCD. These buttons are located as follows. A to the right of 3 B to the right of 6 C to the right of 9 D to the right of # 6.1.4 PH_NOKEYPAD This command disables the telephone keypad, but maintains the phone con- nection. This request is ignored if the phone is inactive (on-hook); however, DECtalk returns an R3_PH_ONHOOK status reply. The command also dis- ables the timeout function. 6.1.5 PH_STOPPAD This command enables the telephone keypad, just like the PH_KEYPAD com- g mand, except that it also enables a special autostop mode. While in this mode, DECtalk simulates ‘‘stop speaking’ and ‘‘disable speaking”’ commands before the key code (character) is sent to the host computer. DECtalk stops speaking as soon as possible; the pending speech is discarded. Control sequences buffered in the communication channel between the host computer (user program) and DECtalk are processed, but no text will be Spob z s GO W % ken until DECtalk receives the “‘enable speaking’’ command. If a program uses phonemic mode, extra care should be taken to recover from a ‘‘disable speak=ing” command during phonemic text transmission. * o, B 47 »& s w Y‘oucan dlsable the a’i’Utostop mode without disabling the keypad by sending a PH_KEYPAD sequence. NOTE: The PH_STOPPAD command is ignored if DECtalk is operating as a level 1 device. (See Chapter 5.) 62 A TELEPHONE COMMUNICATIONS This commahd starts (or restarts) an internal DECtalk timer. If the user does not press a telephone keypad button within the timeout interval, an R3_PH_TIMEOUT status is returned (Table 6-2). The applicaiion program should set PH_KEYPAD on before sending a PH_TIMEOUT command; otherwise, the user cannot respond to DECtalk requests for input. The parameter (P4) following PH_TIMEOUT is the timeout value, that is, the number of seconds to wait for a response from the caller. A parameter of 0 cancels any active timeouts. After a timeout, the timer is stopped. The application program must send a new PH_TIMEOUT command to restart the timer. Timeouts are the only positive way to detect that the caller has hung up the telephone, although the wink detector can determine this earlier in many cases. 6.1.7 PH_TONE_DIAL and PH_PULSE_DIAL DECtalk can dial an outgoing call by using these two commands. If DECtalk is connected to a Touch-Tone public telephone network, then use the PH_TONE_DIAL parameter; otherwise, use PH_PULSE_DIAL. PH_PULSE_DIAL works like a rotary phone dial. If the telephone is on-hook when the host computer sends a dialing command, DECtalk picks up the telephone. If the first character of the dialing string is not a W, then the host computer inserts a standard 2-second delay. The text between the command terminator z and the ESC \ sequence is the number to dial. For the Touch-Tone dialing system, the characters 0123456789*#ABCD!AWXTP are recognized. For the interrupted pulse dialing system, the characters 0123456789!AWXTP are recognized. (Also see Table A-4.) The character ! inserts a 1-second delay into the dialing stream. DECtalk pauses during the dialing sequence every time it finds a ! character. On some telephone systems, a user can press the switch hook to transfer calls or otherwise interrupt a phone call. This signal is called a switch-hook flash. The A character inserts a 0.25-second switch-hook flash signal into the dialing stream. You can use successive A characters to generate longer flashes. 63 CHAPTER 6 g With Touch-Tone dialing, the characters ABCD generate the extra four tones of the military handset. A is the character to the right of the 3; B is the character below it, and so on. The character T switches DECtalk to tone dialing mode; while the character P switches DECtalk to interrupted pulse dialing mode. The character W is used to wait for dial tone. You can place a maximum waiting period value, in seconds, after the W by enclosing the number in < > characters. The W range is from 10 to 120 seconds. The following conditions apply. 1. If there is no < character after the W, then a 30-second default period is AR, used. ARG 2. If the user-specified time is less than 10 seconds, the W is set at 10 seconds. 3. If the user-specified time is greater than 120 seconds, the W is set at 120 seconds. 4. | If a dial tone is detected during this waiting period, DECtalk proceeds with dialing. If a dial tone is not detected, the dialing sequence fails with a ‘‘bad dial tone’ status. The character X performs call progress detection. The maximum waiting time for call progress detection can be specified by a value placed between the < > characters (as in the W command). The X default period is 30 seconds; the range is from 10 to 120 seconds. 64 TELEPHONE COMMUNICATIONS 6.1.8 PH_WINK This command enables the wink detection feature. If a wink (a line current interruption) is detected on the line, a R3_PH_WINK status report is sent to the host computer. The command is ignored if the telephone is inactive (on-hook). On most telephone exchanges, one or more winks will be generated when a caller hangs up on DECtalk. Winks can be used to clear a call. A timeout must also be used, to deal with situations where the wink is not available. The command is ignored if the DECtalk operates as a level 1 device. (See Chapter 5.) The wink detector may see a false wink, caused by transients on the telephone line, if the wink detector is enabled immediately after the telephone is taken off- hook. The wink detector should be enabled a few seconds after pick-up. The easiest way to accomplish this is to enable the wink detector after the inital greeting message is spoken. 6.1.9 PH_NOWINK This command disables the wink detection feature. It is ignored if the telephone is inactive (on-hook). The command is ignored if DECtalk operates as a level 1 device. (See Chapter 5.) 6.1.10 Examples of Telephone Communication Sessions The following figures show typical communication sessions between a host computer and a user. Figure 6-1 shows a phone call session, including a timeout sequence initiated because a user was disconnected. Figure 6-2 is a successful dialout session with a user being connected to the host computer. Figure 6-3 is a busyout session where the telephone is busy while the host computer is trying to call. Figure 6-4 shows a dialout session where the telephone is not answered. 65 CHAPTER 6 ESCP0O:60:;10;1zESC\ P & t\""\k \'{ $ & Ny S WY v ZnpaW ESCPO:70:0zESC\ HOST COMPUTER ENABLES COMMUNICATION WITH DT__PHONE/PH__ANSWER. AR DECtalk SENDS R3_PH__ONHOOK TO HOST COMPUTER. ESCPO;70:1zESC\ P | NS HEwoO. AM DECtalk... ESCPO0;60;30;20zESC\ A CALLER DIALS IN. DECtalk SENDS R3_PH_OFFHOOK TO HOST COMPUTER. HOST COMPUTER ENABLES 20-SECOND TIMEOUT AND BEGINS COMMUNICATION CONTROL. ESCPO;70;:2zESC\ by = W) T CASE 1: USER HANGS UP. AFTER NO SIGNAL IS RECEIVED FOR 20 SECONDS, DECtalk SENDS R3_PH__TIMEOUT TO HOST COMPUTER. ESCPO;60;11zESC\ ESCPO;70;0zESC\ CASE 2: HOST COMPUTER TERMINATES SESSION AND SENDS PH_HANGUP. DECtalk HANGS UP PHONE AND REPLIES WITH R3_PH__ONHOOK. MA-0350-85 A Figure 6-1 66 Phone Call Session with User Disconnect TELEPHONE COMMUNICATIONS ESCPO:60:402W.5551212 X ESC\ HOST COMPUTER SENDS DIAL SEQUENCE. DECtalk WAITS FOR DIAL TONE. DECtalk DIALS NUMBER. ESC\ ESCPO:60:402zWH5551212X DECtalks WAITS DURING RING BACK. ESCPO:70;1 zESCN TELEPHONE IS ANSWERED. DECtalk SENDS R3_RH_OFFHOOK TO HOST COMPUTER. Figure 6-2 MA-1164-8B5 Successful Dialout Session 67 CHAPTER 6 P AR ESCPO0:60:40zWi5551212 X ESC\ HOST COMPUTER SENDS DIAL SEQUENCE. DECtalk WAITS FOR DIAL TONE. ESCP0O;60;402zW5551212:X ESC\ A ESCPO;70;60 zESC)\ DECtalk HEARS BUSY SIGNAL AND SENDS R3_RH_BUSY TO HOST COMPUTER. Figure 6-3 Ma-1163-85 Busyout Session e s 68 N O, TELEPHONE COMMUNICATIONS 7 X m\"“% HOST COMPUTER SENDS DIAL SEQUENCE. DECtalk WAITS FOR A DIAL TONE. & S 5 N by ,“a'fiw”‘“ Zia® s & ‘l‘ i T DECtalk HEARS RING BACK. LISTENS TO IT FOR 30 SECONDS. - 3 | - . z ESC\ ESCPO:70:7 DECtalk GIVES UP AND SENDS R3_RM__NOANSWER TO HOST COMPUTER. Figure 6-4 MA-1165-85 No Answer Session 69 i -%4\=wm.mu%mk.Smf.w,mo.:bmo%Tm.,e(?&;7M)w,wR-B=.fimxeo2B,x»w»?2 Nfiqfiamf»,.fow\.u%.%,ny&.?,.:.W-Q%W-w-@z.cwwm,;.\;M.{«fm%inwxw.,nwm%fi,.m=m«,M.=fi,‘,Mm.aw.wmw/w.&mMu,,uw4mxbfiwsJnw;w»/SwcEwflnwwv%w.ai:&,M&Wf%W«):-o,?efma,-.s3S MNf.,}wiéwnfr=Wl,&-m@wé«ffi%if-9%%2Nw&‘f»i:w..fu\un“yw\:{a.zf»wf-,=.fw=&l,-w.},%iu.m«ww‘,&4w.?..Smaf%.eSm.:k..=pqBe=QVffil..ffix¢wti(\mf;fio,aM-W«L.- NJ)Avw%,.w“wm%.snw«azéf=ina.Swe@fSi=av\,w}A.D«ew.S%hSe{amsmwuwj«‘s4S/=@Hw.“.iw:@%.A«(o..)mS.w,?.@=“,.w.o%,hfSu«w,emwt»fi?foi.&we:%-t=»wm%)finwq«.u%s.:-..,uc=m5wu,n\S 3fiwv.@ S 4=%:?mo = =w%wowm i- =a - o= -r.»mwv e s,.v%.uki Ss - 7 Bi = o wm,w e oA i- 70 .!f-Mi;l» e 6.2 a carriage return to th e en u, CHAPTER 6 P T c ® o T3 < 0p) X O Q £ & © - © oQ c js o 2} < o 3 ()] L O ot © = n Q c ° n @ o\ O ] ® w @ - O - o@ o © c © Q o keyp adc haracters to the host computer This com man d allows DE Ct a e e oa d KEYPAD MASK (DT_MASK) » of ts repl ies The comman d t akes o n e par a meter g w h IC h i i o .:-W «, 4 i wS,esRin.‘.tuym ? o o ’“fi ‘»,%1L o %{ S Pzz"‘u :a o is in terpreted as a v alue from the . S, “g,,x i e ek f:‘:\v et 'i"’i. - %w - -=2rebSw.f,mu:.‘w.Rr:fa.mxiv?um}.‘, . W»z,; »s Amf‘i.x! A, S 16-bi keypad mask matr IX (Table 6 3) i i p— s R g, o TELEPHONE COMMUNICATIONS If a bit is set, DECtalk sends a carriage return after sending the associated keypad character. If any bit is set, DECtalk sends a carriage return after its escape seguence replies. (The carriage return follows the ESC \ string terminator.) Many operating systems translate the carriage return to a carriage return and line feed. The DT_MASK escape sequence is as follows. ESCP 0 ;: 8 3 027 080 048 059 056 051 : P3 059 *** ; P4 059 ** z ESC \ 122 027 092 The P3 parameter is bit-encoded. Specified values have associated characters (Table 6-3). If you specify a value, DECtalk sends a carriage return after the associated character (when a user presses that key). The P4 parameter is the level 2 device function. It controls the interpretation of the P3 parameter as follows. | If P4 is 0, then P3 is a new keypad mask. If P4is 1, then P3 is a bit set to be set in the keypad mask. If P4is 2, then P3 is a bit set to be cleared in the keypad mask. For example, to have DECtalk treat the # and * characters as response terminators (but not the digits), a program would send the following sequence. ESCP ; 8 3 : 3 027 080 059 056 057 059 051 0 7 2 'z ESC \ 048 055 050 122 027 092 (3072 = 1024 + 2048) If the person calling the application presses 123# followed by a keypad timeout, DECtalk would send the following. 1 2 3 # <carriage return> ESC P ; 7 0 ; 2 z ESC \ 027 080 059 055 048 059 050 122 027 092 <carriage return> 71 CHAPTER 6 This allows the application program to use standard line-oriented input routines, rather than character-oriented routines. If you specify a P3 parameter =0 with DT_MASK, DECtalk will not send a carriage return after keypad characters or escape sequences. NOTE: DECtalk will send a carriage return after all sequences, including responses to non-DECtalk-specific sequences such as device status request. At power-up, the keypad mask is set to all Os or all 1s, depending on the position of DIP switch SW3 on the DECtalk module. (See Appendix B.) DT_MASK simplifies application development when DECtalk is connected to a host computer via a packet-switched network or a network using the SNA (systems network architecture) protocol. These networks have a significant overhead associated with each message, so sending a line of text (several characters) is more economical than sending a single character. DT_MASK is also useful when DECtalk is connected to an operating system that prefers to communicate line-by-line, rather than character-by-character. For example, when DT_MASK is on, you can use BASIC’s INPUT LINE command to read text from DECtalk. 72 DECtalk PHONEMIC INPUT This chapter describes the phonemics (English sound system) used in DECtalk and the ways to control DECtalk’s pronunciation. 7.1 PHONEMIC TRANSCRIPTION Most users do not need to know anything about DECtalk phonemics input. However, to understand how the DECtalk system works and to make DECtalk correctly pronounce any English word, you need to know something about speech sounds and how to represent them on a keyboard. Because spelling in English does not always show exactly how words are pronounced, dictionaries use symbols to show how words really sound. Sometimes these symbols are the same as letters used in spelling. A word written the way it is pronounced is said to be written in phonemic transcription. 7.2 PRONUNCIATION ERRORS When DECtalk says a word or phrase incorrectly, you may need to use phonemic input to get the desired pronunciation. The following list suggests the most common types of errors that DECtalk makes, and the best corrective action. 1. DECtalk mispronounces a proper name. Lee lacocca Corrective action: Convert to phonemic form. Lee [ayaxk'owkax] Or misspell in a clever way. 74 DECtalk PHONEMIC INPUT 2. DECtalk mispronounces an acronym. The UN building Corrective action: Respell with spaces between the letters. UN ' Or use phonemics. ['yu 'ehn] 3. DECtalk mispronounces an unfamiliar word. articulatory Corrective action: Convert to phonemic form. [aart'ihkyxaxlax owriy] 4. DECtalk mishandles'a letter string containing nonalphabetic characters. sys$system vax750 Corrective action: Respell with inserted spaces. sys $§ system vax 7 50 Or convert to phonemic form. [s'ihs d’aalrrs ayn s’ihstaxm] [v’aeks s’ehven f’inftiy] 75 CHAPTER 7 5. DECtalk guesses wrong for an ambiguously prdnou nced word. The insert Get the lead out. Corrective action: Request alternate pronunciation notation. by using parenthesis The )insert Get the )lead out. Or convert to phonemic form. The ['ihnsrrt] [g’eht dhax I'ehd "awt] DECtalk uses the wrong syntactic classification of a preposition/particle. He takes on tough jobs. (“He does tough jobs” versus “He accepts graft | when on tough jobs.”’) Corrective action: Add a stress phoneme when needed . He takes ['Jon tough jobs. Or convert to phonemic form. He takes ['aan] tough jobs. DECtalk uses the wrong phrasing. Following a long gasp shouts were heard. Corrective action: Add commas or verb-phrase introducer phonemes where needed. 'Followinga long gasp, shouts were heard. 76 DECtalk PHONEMIC INPUT 7.3 INTRODUCTION TO PHONEMIC THEORY At one timé long ago, English was pronounced as it was spelled, with each letter (or pair of letters) representing one sound, or phoneme. Because of historical sound changes (such as the dropping of sounds like the “gh” of “bought”’) and word borrowing from other languages, English pronunciation rules have become complex and include many exceptions. For example, “of’ is pronounced with a v sound, while all other English words spelled with “‘f”’ are pronounced with an f sound. The vowel digraph “ea’” can in the be pronounced in at least a half-dozen ways, as illustrated by the sounds words ‘‘cheap,” ‘‘head,” “‘earth,” and ‘‘idea.”” The letters “th” can be pronounced with a voiceless phoneme, as in “‘thin’’; or with a voiced phoneme, as in “‘the’’; or the “‘th’’ can represent the ¢ phoneme followed by the A phoneme in compound words such as ‘“‘pothole.” Some words have two pronunciations, for example, “‘read.”” Correct pronuncia- tion of a sentence such as “Will you read the book or have you read it already?’’ requires an understanding of the meaning of the sentence - a task beyond DECtalk’s ability. Therefore, DECtalk speaks words with alternate pronunciations by choosing the more frequently used pronunciation. You can get the alternate pronunciation in several ways. e By misspelling the word: “red” for “‘read” e By phonemic spelling: [r'ehd] e By using the alternative pronunciation symbol [)], as described in Section 7.6.10. For example, ‘“He )read this book yesterday." Stress is am important part of phonemic representation. Stress alone distinguishes the two different pronunciations of words like “insert.” English words usually have one syllable that is spoken with more stress than the other syllables in the word. You can indicate this primary stress to DECtalk by placingifi the phonemic symbol ['] before the vowel. The ['] symbol is described in Section 7.6.1. 77 CHAPTER 7 For example, the word “‘insert”” can be spoken as a noun “insert’”’ = ['ihnsrrt] and as a verb “insert” = [)]insert = [ihns’rrt]. Considering the complexity of English pronunciation rules and the number of exceptions, it is not surprising that DECtalk sometimes makes pronunciation errors. You can adjust DECtalk’s pronunciation through a large number of symbols, described in the rest of this chapter. 7.4 PHONEMES A phoneme is the smallest unit of speech that distinguishes one word from another. Of all the sounds that human beings can produce, relatively few are significant in any one language. Only about 40 different sound types (phonemes) are used in General American English. The phonemes of English are not pronounced the same by every speaker. We all know people who pronounce some words differently from the way we do, yet we understand them. The differences may occur because we come from different parts of the country. Because of these variations, there is no such thing as a universal standard pronunciation of English. DECtalk attempts to mimic a midwestern (Northern Milwaukee) dialect. Because DECtalk pronounces a phoneme in a standard rule-governed way, it is not possible to imitate all other English dialects (although you can approximate some dialectal differences by phonemic spelling). The following sections describe the vowel and consonant phonemes, stress and syntactic symbols, and optional direct control of intonation or singing. P 78 DECtalk PHONEMIC INPUT 7.5 VOWEL AND CONSONANT PHONEMES Linguists have identified about 17 vowel phonemes and 24 consonant pho- nemes for American English. Figure 7-1 shows the vowel phonemes and the positions of the tongue when making the vowel sounds. Tongue position (high versus low in the mouth, and front versus back of the mouth) correlates with the frequencies of the two lowest natural resonances of the vocal tract. The lowest resonance frequency, or first formant, issymbolizedby F1 in the figure, and the second formant by F2. Consonant phonemes are shown at the bottom of Figure 7-1 with their places of major articulatory constrictions and the manners of forming the constrictions. FRONT (F2 HIGH) ~= HIGH VOWELS — » BACK (F2 LOW) Iy (F1 LOW) | oUW IH IX UH EY ow MID EH AX AH LOW AO AE (F1 HIGH) | AA PLUS THE DIPHTHONGS: AY OY AW PLUS THE SYLLABIC CONSONANTS: RR EL EN YU CONSONANTS LABIAL STOPS DENTAL | NASALS o . ] e FRICATIVES ALVEOLAR PALATAL VELAR 8 | ‘ | GLOTTAL ' . . | | AFFRICATES . GLIDES LIQUIDS | | R MA-7627-83 Figure 7-1 Phonemes Classified by Their Position in the Mouth Cavity 79 s, CHAPTER 7 A Table 7-1 lists the vowel phonemes and Table 7-2 lists the consonant phonemes. The DECtalk symbols used for each phoneme are identified by a key word with the relevant phonemic sound in italic. iy “;‘ e o G, L i L S ¢ . N el L o i L : o - & i . e & i i L e , e s o b : ! | G s 5 i 5 - : ey Sl o oo g v , i e 1y ey o 2 e - . i . b e i e g S s - . o : o ‘ . e o i : (RS Q,@ o il i K o .. . = = s o . | - e i i . o . el i L " il n ‘ e Y L L s o L i & 7 ‘ i TR G ab*/ '«’g‘%m ) S S % S R e y,,'«@f e e e : o : 2 e v@%;%fifl N - S L S e ?de (W w e \"rl e = e o o e e i o ~ o S v'é,“;&w 5 S S . . ot o s e e ) 3 S ) A o S Sk AN w%‘ L R AR A AR A 5 St o A 2 % e g S . e s L e gt % ‘o X a8 IR % . s it . s = e NERR o - . - i ?,"‘: i oo 5] o ;":‘,(’. i ’ P S i G L i Lo e . §e e i G o . %‘&W e -7 i e : L %f‘l‘& B [ ; e A i (S ; e, e B e S e j L %{? e : w@ e e . : i e ' G s o kicepe s e e ; . i 3 NG ., : e o 2 . o . L i s oo ) . . : n L - i i o : ) . o L s i g L . g i w e w i ; e i 5 R, o «2";,;}“: Pt : o ‘ | g?m o i e L o S i ‘Ws%‘#' S o e | Pt e i G S e : : , o el e 3%% o S s - e o b i G o o st S i L “-v!fs‘.: 2 I i - e . . ‘w, s : o o e 'g'fi o e . o G e -n.{?\za\(t,«giémflg%m, i e o . e ¢ ; ?’@w o 2 s 5 i - 4:. A . sy i i "‘ég e L o G L , . o Cn o - i %’«“ S 2 o b L o w‘{%‘* . %@;J e i o ‘ %fi;«r i - . Q:%q éé‘% e o s o fifl e o i o . : S i ‘«,}v e S ety o J— B e DECtalk PHONEMIC INPUT In many cases, phonemes are indicated by two letters, instead of special characters or diacritic symbols that often appear in dictionaries. DECtalk requires a case-insensitive representation (uppercase and lowercase are acceptable). The letter pairs have been designed so that it is not necessary to put a space between phonemes of a word. In fact, the space indicates word boundaries. DECtalk can parse input phonemic letter sequences to determine the unique phoneme sequence in all cases. Phonemes are enclosed in square brackets instead of between the more traditional / symbol. The [ and ] characters mark the beginning and end of phonemic mode clearly with distinctively different symbols. The input format is not strictly phonemic because it also permits you to enter certain allophones (variants of a phoneme), making the representation closer to a broad phonetic transcription. vyu" e g 0 ' 5 ' e o & s o i o G t . - S - R ei . . .i . e . R . il i . b L v,;v? . ‘is?%'%"‘ . . L \,%@?@fi . . i o s : t {3‘««««7%;«. W% . . - o . o o i i . . S L L 20 o o e S o i o . . v,w‘;’@'/ i 'Vw%‘ g‘ i %}' . . i . . oo G G o e L - . - S o . o v “ . i i e “;%sg?v&w « . . . e e e . e . i . . mfivx . : o . %@% e . oo i o o . bt i : . ... . i - iL o C 0 o St i - o e i . o i - ; i Gl L . . L i o G . o 0 G cE e o . , - i L . ‘ : o . . - i e o ”w‘é‘f: i . ... . = s == =s e G ... . e L | o . o CHAPTER 7 7.5.1 Phonemic Correction the Easy Way Most users will want to learn the phonemic code. However, you can also consult one of the dictionaries described in Appendix E to determine the pho- nemic pronunciation for a word that DECtalk gets wrong. You can convert the word to the DECtalk phonemic code by using the table in Appendix E. For example, according to the Merriam-Webster Dictionary, the pronunciation of the word “Mozart” is i \'mot-,sart\ Consulting Table E-1 of Appendix E, you can convert this transcription to the DECtalk phonemic string [m’owtsaart] 7.5.2 s Automatic Phonemic Substitution for a Mispronounced Word Every time DECtalk mispronounces a word in running text, your host computer could be programmed to replace the text string (‘‘Mozart’’) with a phonemic string ([m’owtsaart]). v, However, if the number of words requiring phonemic translation in an applica- tion is small (under about 200), it might be simpler to download a user dictionary to DECtalk and let DECtalk perform the replacement automatically. A sample user dictionary is shown below. Letters Phonemes Mozart m’owtsaart logo 'aog awt You can download the dictionary to DECtalk with the following commands. ESC P 0 ; 4 0 ; z Mozart m’'owtsaart ESC \ ESCP 0 ; 4 0 ; z logo I'aog awt ESC \ AN 82 DECtalk PHONEMIC INPUT NOTE: Keep your user dictionary as a file on the host computer because the dictionary must be downloaded every time you power up DECtalk. For more information on user dictionary creation and downloading procedures, see Section 8.9. The white spaces between the components of this command are there for clarity. Do not type spaces in your actual command, except at the position indicating the separation between the word and its phonemic representation. Once downloaded, the dictionary overrides the standard DECtalk dictionary or letter-to-sound rules that would otherwise handle these words. DECtalk will speak the plural form of a word in the user dictionary by stripping off the “‘s” and consulting the dictionary for a match to the remaining root. Similarly, DECtalk will remove many common suffixes such as “-ing” and “-ed” by rul@ and compare the root with entries in the user dictionary. With this function, you do not need to place all of tha derived forms of words in the user dictionary. | You should be aware of some pitfalls when using the dictionary. Placing a word in the dictionary could cause a similar word to be mispronounced. For example, if you place ‘‘on” in the dictionary, DECtalk might decompose a word such as “only” as ‘““‘on” plus “-ly,” and mispronounce the word. The only way to correct this problem is to add ‘“‘only’”’ to the user dictionary. It is difficult to foresee these cases, but they are relatively rare. 7.5.3 Vowels The vowel phonemes of English are listed in Table 7-1. While DECtalk recognizes 17 vowel phonemes, these vowels can sometimes change slightly when surrounded by certain phonemes. These variants are discussed in Section 7.54. 7.5.4 Vowel Allophones The variants of a phoneme are called allophones. For example, a vowel such as the [iy] in ‘‘beat” sounds slightly different when followed by [r] as in ““beer.” Sections 7.5.4.1 through 7.5.4.3 describe some allophones. 83 CHAPTER 7 7.5.4.1 Allophones for R-Colored Vowels - The vowels in words such as “beer,” ‘“bear,” “bar,” “bore,” and “poor’ are different from the available vowel phonemes in DECtalk. They require special vowel-r allophones, which are listed in Table 7-1. 7.5.4.2 Schwa Allophone - Another problem is with the unstressed reduced vowel called ““schwa’’ in English. The vowel appears in words such as “about’’ and “kisses.” In “‘kisses,”’ the vowel is produced with a higher tongue position, symbolized by the vowel allophone [ix] in Table 7-1. You can choose between [ax] and [ix] by noting the characteristics of the adjacent phonemes, but listening to the words will result in the best choice. 7.5.4.3 Syllabic Consonants - The final syllable in words such as “‘butter,” “bottle,” and “‘button’ is usually symbolized in a dictionary as consisting of a short vowel followed by a consonant. For better sounding synthesis, DECtalk uses a set of syllabic consonants, [rr], [el], and [en] of Table 7-1, that are realized without the short schwa. Syllabic ‘‘r’’ shares the same symbol as the phoneme [rr] in a word such as “‘bird,” but this leads to no confusion inside DECtalk. The [em] allophone used in an earlier version of DECtalk no longer exists and must be replaced by the two-phoneme sequence [axm] as in the word “‘bot- tom’ = [b’aataxm]. In most situations, you do not need to be concerned about allophones because the vowel phonemes in Table 7-1 will be automatically converted into the appropriate allophones by DECtalk rules. For the sophisticated user, allophone selection can be induced or blocked by using the syllable boundary phoneme [-] and the rule-blocking phoneme [~] (Sections 7.6.7 and 7.5.6.6), or by inserting allophone symbols in the phonemic spelling. 84 DECtalk PHONEMIC INPUT 7.5.5 Consonants The symbols that represent consonants are straightforward (Table 7-2). In two cases, [hx] and [yx], the two-letter sequence ensures unambiguous parsing because the letters “‘h’’ and ‘‘'y”’ are parts of some vowel symbols. DECtalk speaks an English dialect that does not distinguish between voiced and vonceiefis w, so words like “‘which”’ and “‘witch’’ are pronounced alike as [w’ihch]. The letter ‘‘g” can be pronounced in two ways. In words like “gift,” the consonant phoneme [g] is used. In words like “‘gin,” the phoneme [jh] is used. The letter sequence ‘‘th”’ can be pronounced with a voiceless sound [th] as in “thin”’ or with a voiced sound [dh] as in “this.” The [y] phoneme used in an earlier version of DECtalk has been replaced by the [yx] phoneme (as in the word “‘yet”’ = [yx'eht]). 7.5.6 Consonant Allophones The consonants [t], [d], [r], and [I]] may be replaced by special allophones under certain conditions. These allophones are listed in Table 7-2. 7.5.6.1 Dental Flap - The [t] and [d] phonemes are often replaced by a very brief tongue flap allophone [dx] when the consonant phoneme appears between two vowels and the second vowel is unstressed. DECtalk rules insert this allophone in appropriate situations. 7.5.6.2 Glottal-T - The m phoneme may be replaced by a glottalized [tx] allophone, especially in word-final position if the next word begins with a sonorant consonant. DECtalk rules insert the allophone where appropriate. 7.5.6.3 Postvocalic-R - The [r] that appears after a vowel is not as constricted as a word-initial [r]. DECtalk automatically selects this somewhat velarized allophone [rx] or an r-colored diphthong where appropriate. 85 CHAPTER 7 7.5.6.4 Postvocalic-L - The [l] that appears after a vowel may sound different from the [I] in other contexts. For some speakers, the tongue tip may not even reach the roof of the mouth. This postvocalic allophone [Ix] is automatica lly selected by DECtalk. 7.5.6.5 Gilottal Stop - The glottal stop [q] is used in some situations to indi- cate a word boundary, especially when the next word begins with a vowel. Overuse of this symbol can lead to a stilted style of speaking. 7.5.6.6 Controlling Allophone Selection - DECtalk automatically inserts certain other allophones for [k], [q], and [nx] when appropriate. DECtalk also selects the prevoiced and voiceless unaspirated allophones of [b], [d], and [g]. You cannot access these allophones. If DECtalk does not select one of the allophones of Table 7-2, you can insert the allophone symbol directly in a phonemic representation of the word in question. If DECtalk uses one of these allophones inappropriately, place the rule-blocking phoneme [~] before the phoneme in question to block application of all allophonic substitution rules. For example, to say “‘batter’’ without a flap being substituted for the [t], enter the phonemic string [b'ae~trr]. 7.5.7 Silence Phoneme [_] DECtalk automatically inserts a silence (brief pause) whenever punctuatio n appears in the text. The phonemic silence symbol [_] is useful for controlling silence while in phonemic mode. Silences and other pauses are described more detail in Section 7.7.1. 7.6 in STRESS AND SYNTACTIC SYMBOLS Correct speech is more than simply stringing together a series of words or phonemes. The meaning of a sentence is carried by the words, plus rhythm, stress, and intonation (pitch change). You recognize a question by the rising intonation of the voice, while a statement is usually accompanied by falling intonation. A speaker can give certain words in a sentence more importanc e by adding stress (loudness and length) to them. Pitch often reveals the emotional state of the speaker. For effective communication, you need to consider expressive features as well as the segmental features of speech. 86 these DECtalk PHONEMIC INPUT As any good actor knows, punctuation alone is not enough to indicate the full meaning of a sentence. Some fine points of expression cannot be indicated by using phonemic symbols. Full control of the expression of a sentence is gained by directly changing the duration and pitch of words and phrases. These direct control techniques are discussed in Section 7.7.1. DECtalk uses stress and syntactic symbols to control aspects of rhythm, stress, and intonation patterns. These symbols include punctuation marks such as commas, periods, and exclamation marks. Punctuation marks are recognized by DECtalk as indicating special phrasing requirements. The following sections and Table 7-3 show how to improve the phrases in DECtalk speech. . '“@,?}mm .. s .i < ey 0 : i . - ‘é‘;fi “4." L : i e o= S L - e e - o5 e %5,« i el L G i . v i o e . e oo e i . = L . i . - Y . i L o oi = i . i . . : . - - e o e =- e i . b e . ‘gg"‘w i . . . o . i ‘5;'@;3;) i L .g . = . | i B -~ —- . L - . e - . vesl %k; = .--AT - . e . i i Hee %.éi-%gf i G o e= 0 = = . = = - zv ;ég; . k:;w‘@% o i fi e .i o = . . At i i g e . e . i s - \f:?"}:r%fi:‘ el CHAPTER 7 7.6.1 Primary Stress [’] All content words of English (nouns, verbs, adjectives, and adverbs) contain one primary stressed syllable. DECtalk represents primary stress on a syllable with an apostrophe ['] placed before the stressed vowel phoneme of the word as in the following example. [bahtrr]. (No stress, flat intonation, too rapid.) [baht’rr]. (Stress on wrong syllable - “butter.”) [b’ahtrr]. (Correct stress - “butter.”) A, You can also place the primary stress symbol between words, in which case it modifies the next word. For example, in the sentence ‘‘He rang up the sale,” DECtalk treats “‘up” as a preposition (without stress) instead of a particle. “Up” is correctly stressed if you write the sentence as He rang ['Jup the sale. NOTE: There can be no space between a stress and syntactic phoneme (for example, [']) and the following word. 88 gy DECtalk PHONEMIC INPUT 7.6.2 Secondary Stress [ ] Use the secondary stress symbol [ ] to indicate a degree of stress that is between primary stress and umatmssw Secondary stress is appropriate in the following ca%s e ToO mgnight the next stror gaat syllable of polysyllabic words, such as “‘demonstration.” ~ [d ehmaxnstr’eyshaxn]. e On second parts of compound nouns, as in “pushover.” [p'uhsh# owvrrl]. e In some pronouns, such as “I'" and “we.” DECtalk realizes secondary stress by lengthening the vowel sound more than unstressed (but less than primary stress). A pitch rise may also occur on an early secondary stress. In most cases, you can leave out the secondary stress symbol. 89 CHAPTER 7 ’ 7.6.3 Emphatic Stress [’] You can place the emphatic stress symbol ['] before any vowel sis to that syllable of the word. Good readers of English text message of the sentence well enough to pick out the to give empha- understand the most important word and emphasize it. DECtalk merely pronounces words: it does not understand the sentences it is saying. DECtalk cannot place emphasis on words to give a completely different meaning to the sentence unless you use the emphatic stress symbol. Here is an example. Dennis loves Mary. (Usual neutral pronunciation.) [d”ehnihs] loves Mary or [’] Dennis loves Mary. (Dennis - not Frank - loves Mary.) Dennis loves [m”ehriy] or Dennis loves [IMary. (Dennis loves Mary - not Jill.) The exclamation point has the similar effect on the final stress of a sentence. Help! g, 90 DECtalk PHONEMIC INPUT 7.6.4 Unstressed Syllables The English language contains a set of words that are always unstressed, called syntactic function words. This set includes the following words. Prepositions (for, over) Conjunctions (and, but) Determiners (the, some) Auxiliary verbs (is, has) Pronouns (her, myself) Clause introducers (which, that) These words have no stress symbols in their dictionary entries. It is sometimes necessary to emphasize a function word that is stored in DECtalk’s dictionary without stréss. You can do this by including a primary stress symbol or an emphatic stress symbol in the phonemic transcription as in the following example. , , , He went ['owvrr] the fence, not under it. or He went ['Jover the fence, not under it. 91 CHAPTER 7 7.6.5 Pitch Control [/], [\], [/\] DECtalk contains built-in rules to determine the pitch contour of a sentence. While these rules are correct most of the time, you can override them by placing the pitch rise [/], pitch fall [\], and pitch rise and fall [/\] symbols before selected words (or vowels if you want finer control). The [/] and [\] symbols must alternate, and the first symbol must be a rise. Note that you can place both a rise and a fall on the same syllable by using [/\]. You can hear the difference by trying the following two sentences. It's a mad mad mad mad world. It's a [/lmad [\]Jmad [/]mad [\]mad [/\]world. 7.6.6 Word Boundary Any whitespace character (space, tab, or carriage return) in the text indicates a word boundary. DECtalk uses word boundary symbols to select the word- beginning or word-ending allophone of a phoneme. Some host computers automatically insert a carriage return into lines that are too long (and would go off the edge of the screen or paper). This may cause DECtalk to pronounce text incorrectly if a carriage return occurs in the middle of a word. You can prevent this problem by breaking long sentences with a carriage return at an appropriate place. 7.6.7 Syllable Boundary [-] DECtalk uses a set of rules to determine where words break into syllables, so consonants within words are assigned to their correct syllable. Use the syllable boundary symbol [-] to tell DECtalk where to assign the consonants within ambiguous words. (This type of error rarely happens in DECtalk). Example: oration [ow-r'eyshaxn] (DECtalk made an incorrect guess.) [ow-r’eyshaxn] (Correct.) 92 DECtalk PHONEMIC INPUT Morpheme Boundary [*] 7.6.8 English words are made up of meaningful units called morphemes. For example, “‘spell’”’ has only one morpheme, while “misspelling” is made up of three: “mis,”’ ”spé:ll,” and ‘‘ing.” ¥y In most cases, the pronunciation of a word does not depend on morpheme boundaries. There are exceptions, however, in which case the morpheme boundary symbol [*] can be used to force the correct pronunciation. For example, “misspelling” should be pronounced with a double “s.” Adding the morpheme boufldary symbol improves the pronunciation of the word. misspelling. mixsp’ehlixnx (text to phoneme translation by DECtalk). (The single ““s” is too short.) [mixs*sp’ehlixnx] (Better.) 7.6.9 Compound Noun [#] Compound words, such as “‘rush-hour,” should be spoken with less stress on the second word. Also, words that were once compounds, such as ‘“‘sideache,” require decomposition for correct pronunciation. DECtalk’s dictionary includes an extensive list of compound words. You can use the compound noun symbol [#] to correct compounds that are not in the dictionary. For example, for ‘‘sideache,” type the following phonemic transcription. [s’ayd# eyk]. Using a hyphen in cmmpOund words, for example, ‘“‘rush-hour traffic,”” produc- es the correct pronunciation most of the time. You rarely need the [*] and [#] phoneme symbols. 93 CHAPTER 7 7.6.10 Beginning of Verb Phrase [)] Moderately long declarative sentences are usually spoken as if they contain two units: a noun phrase and a verb phrase. There is no pause between these two phrases, but there is a slowing down at the boundary, and the pitch tends to fall and then rise. DECtalk searches for this syntactic boundary to change pitch. However, the rarity or ambiguity of some verbs can cause confusion. The old man in the chair was rocking slowly. (Correct verb phrase detected.) The old man in the chair sat rocking slowly. (Verb phrase not detected; pure mechanical analysis of the sentence does not show where ‘““‘sat” belongs.) The old man in the chair [)s’aet] rocking slowly. (Phonemic correction.) The right parenthesis [)] symbol is useful where a separation is needed between phrases but a comma is too strong. For example, you can use D] to indicate a dangling prepositional phrase. She hit the man with the umbrella. (The man carries the umbrella.) She hit the man [)] with the umbrella. (She uses the umbrelia.) The [)] symbol has a second function: it can indicate alternate pronunciations of homographs. Homographs are words that are spelled the same but pronounced differently. For example, the word ““insert’ is either a noun or a verb. As a noun, it is pronounced ['ihnsrrt] and as a verb it is pronounced [ihns’rrt]. DECtalk typically defaults to the more frequent pronunciation. If DECtalk pronounces ‘‘insert’” as a verb, and you need the other pronunciation, simply place the ) symbol in front of the word. The experienced secretary inserts more )inserts per hour. Appendix D lists the pairs of common homographs that DECtalk knows. 94 S DECtalk PHONEMIC INPUT Clause Boundary [,] 7.6.11 When a santence is composed of more than one clause, it should be spoken in such a way gthat the listener can easily separate the sentence into its compoThe comma [,] is the symbol used to indicate clause boundaries. nent clauses. An crthagraphic comma and a phonemic comma have identical impact on the acoustic realization of a sentence. Insertmg a mmma improves the quahty of spoken sentences in the following cases. , e After an introductory prepositional phrase: In particular cars cause po lutmn (Poor phrasmg ) In pamou@ar cars cause pollution. (Correct.) e Around a parenthetical remark: A picture it seems is worth - - (Poor phrasing.) A picture, it seems, is worth - - (Correct.) e In a list of more than two items: They ate apples oranges and bananas. (Poor phrasing.) They ate apples, oranges and bananas. (Correct.) 95 CHAPTER 7 R 7.6.12 Period [.] A sentence is usually a single, complete thought. It is also the longest utterance that you can comfortably speak in one breath. DECtalk inserts a pause when it finds a period that marks the end of the sentence, duplicating the human speaker’'s pause to take a breath. The [.] symbol also tells DECtalk that a complete sentence has been sent and it is safe to begin speaking. DECtalk will not speak a phrase until it finds a comma or sentence terminator. After a few seconds, text sent to DECtalk is spoken even if no comma has been received. DECtalk also tests each period to make sure it is not part of a known abbreviation. 7.6.13 Question Mark [?] The simplest way to indicate a question in English is by a rising tone at the end of a sentence, although true question intonation is not that simple and depends on the meaning of the question. There are many cases in English where a question (rising) intonation is not appropriate, even though the sentence ends with a question mark. e Rhetorical questions or quotations may contain a question mark, but the speaker ends with a period (falling tone). e Sentences that begin with “wh’ words (‘“who,”’ “what”") usually end with a falling tone, even if they are questions. Although DECtalk is smart enough to recognize “‘wh’ questions and speak them correctly, you should send question marks to DECtalk only when the sentence really is a question. Here are some examples. Laura ate her broccoli? (DECtalk asks a question.) What time is it? (DECtalk recognizes “wh” and does not rise at the end). 96 DECtalk PHONEMIC INPUT 7.6.14 Exclamation Point [!] Exclamatmms are short statements spoken wwm special emphasus DECtalk interprets an exclamation point to mean that the last stressed syllable in the sentence should have extra emphasis. Stop! Long sentences ending with an exclamation point typica lly have a single word that receives extra stress. DECtalk has no way of knowing which word to stress and chooses the last word by default. Use the emphatic stress symbol [''] to emphasize a different word when the last word is not appropriate. Joan won the marathon! (DECtalk emphasizes the last word.) ['] Joan won the marathon. (Correct.) 7.6.15 New Paragraph [+] The new paragraph phoneme [+] should be inserted in text wherever a text preprocessor thinks that a new paragraph has begun. (DECtalk does not do this automatically because thereis no standard new paragraph mducator in general temt - the tabis used m too many other ways ) The new ;jaragraphx phoflame [+] modifies the intonation contour and adds to running text. The first sentence of a new paragraph is produced with variety a higher, more lively fundamental frequency. DECtalk will also pause longer between paragraphs to give the listener an indication of a change of topic. [+] This p giragraph has the [+] phoneme inserted in the appropriate place. The new paragraph symbol can be used in other situations, such as to help indicate the start of a new mail message in a list of mail messages. 97 CHAPTER 7 7.7 DIRECT CONTROL OF DURATION AND PITCH Displaying the correct emotion through voice alone is a difficult task, as any radio actor will tell you. The best method is to experiment with phonemic symbols until you achieve the quality you want. Emotional content is usually connected to the sentence content, so varying both together is the best way to convey feelings. For example, you can have DECtalk say a simple phrase like “Good morning”’ in several different ways. Good morning. (Normal tone.) Good morning! (Emphatic.) Good morning? (Questioning.) [g"'uhd] morning. (Emphasize ‘‘good.”) If these alternatives do not produce what you need, you can use direct prosodic control. You must represent the entire sentence phonemically, specifying a duration for each phoneme that does not match the natural model. You should also give some or all phonemes specific target pitch values. DECtalk will compute smooth transitions between pitch values, where the specified pitch is reached at the end of the phoneme. 7.7.1 Duration and Pitch [<>] DECtalk uses angle brackets [<>] to enclose duration and pitch values of phonemes. The format is <duration,pitch> where duration is the length of the phoneme in milliseconds (ms) and pitch is the fundamental frequency of the phoneme in hertz (Hz). 98 Y, DECtalk PHONEMIC INPUT Any phoneme may be followed by angle brackets to alter the default duration and pitch. If either value is omitted, or specified as 0, the default value is used. The values for duration and pitch are separated by commas. [ow] (Normal phonemic specification.) [0W<:1,00:»] (1,000 ms duration.) [ow<,90>] | (Default duration, 90 Hz pitch at end.) [ow<1000,90>] (1,000 ms duration, 90 Hz pitch at end.) For example, to say “Oh?"” with a greater degree of skepticism than DECtalk normally imparts, you could type | [<,90>0w<400,150>]. The [ow] phoneme begins at 90 Hz and ends (after 400 ms) at 150 Hz. Note the use of the silence symbol [_] in the example just given. Pitch and duration values must always be attached to a preceding phoneme. The silence symbol is used so that the value (90 Hz in this example) is applied to the beginning tone of the next spoken phoneme [ow]. Many of the phonemes in Tables 7-1 and 7-2 (all except the stop consonants p, t, k, b, d, and g) can be sustained in a monotone for an arbitrarily long duration by using direct prosodic control. For example, to sustain “‘ah’ for a duration of 10 seconds (10000 ms) at a pitch of 120 Hz, type [<,120>ah<10000,120>]. (Produces ‘‘ahhhhhhh - - -") To produce a prolonged sigh, type [<100,150>ah<2500,80>]. where the silence phoneme causes the pitch contour to start at 150 Hz at the beginning of the ‘‘ah” and end at 80 Hz at the end of the ““ah.” 99 CHAPTER 7 7.7.2 Singing Singing uses different voice control techniques than conversation. Even untrained singers add liveliness to the sung notes by varying the pitch slightly, a quality called vibrato. Singing in DECtalk sounds mechanical without vibrato. Each word or syllable is defined phonemically. The first number following a phoneme is the duration in milliseconds, and the second number is the pitch in hertz. Vowels and consonants not assigned a pitch remain at the same pitch as preceding segments. You can intersperse silence phonemes if you wish. DECtalk stays exactly on pitch when the pitch is specified in hertz. You can add vibrato (to give a more realistic singing quality) by specifying notes with pitch values from 1 to 37. Note 1 is C2 and 37 is C5 on an equal tempered scale (A4 = 440 Hz) as shown in Table 7-4. C2 is the second C below middle C on a piano, C4 is middle C, and so on. When notes are specified, DECtalk reaches the desired pitch within about 100 ms after the start of the phoneme and adds vibrato after changing to this pitch. When you give a specific nonsung pitch, DECtalk reaches the pitch target at the very end of the phoneme with no vibrato. The following example makes DECtalk “sing” the first four notes of Beethoven’'s Fifth Symphony. [d<100,17>aa<400> d<100,17>aa<400>] [d<100,17>aa<400> d<120,13>aa<700>]. 100 DECtalk PHONEMIC INPUT g o : e 7 D e L e . L i i i i e i e . o » i i i sl 5 .o . e M\N ; o e it e s L e e é& . A L i NoSio i L " o i: e s o . L »}:z» - fz ¢ = = e i S o e . ek L o 0 . - . - . e q‘l i v%fi“ ' o : e Gl io L o i . . . . o S L e i i o L ! i o . i e . . w L 1 &:2 i e . . i o e dr o o . . o . .o ! . &Ns«w 1 deoh . . . }:(. . (ARG = - -= . g;g‘ %%M = . 0 %}%?fl&%. - - = . v --= -- . - L il a . ""\3( 1 . y?:g%;@ . o o . . i ¥ i b o e i ' e L - - R o e I . . o s . s W S i S i . ey 7 . o o e i . i - . . (i | . . . e o ‘:;fifi o e - e - 0 e . e .. S n b . L . o ‘vfi‘ . . i o . . o . . 101 CHAPTER 7 7.8 SELECTED READINGS If you want to learn more about phonemics, acoustic phonetics, and speech synthesis, the following references are suggested. The Voice and Articulation Drillbook by G. Fairbanks, second edition, (Harper and Row, 1960) is intended for speech therapists. This book includes an introduction to phonetics and acoustics. One of its diagnostic tests, the amplifi- er passage (p. 114), was used to adjust DECtalk’s speech rate parameters. The linguist responsible for DECtalk describes its operation in “The Klattalk Text-to-Speech System.” This article by D. H. Klatt comes from the 1982 proceedings of the International Conference on Acoustics, Speech, and Processing (IEEE Catalog No. 82CH1746-7, pp. 1589-1592). Signal The Journal of the Acoustical Society of America, Volume 67, (Pp. 971-995) has an article by D. H. Klatt. The article, ‘“‘Software for a Cascade/Paralleled Formant Synthesizer,” describes the speech synthesizer that is the model for the one used in DECtalk. For information on several speech synthesis technologies, read ‘‘Review of the Science and Technology of Speech Synthesis” by D. H. Klatt. This article comes from the proceedings of the 1981 Meeting of the National Academy Press in Washington, D.C., Overviews of Emerging Research Technique s in Hearing, Bioacoustics, and Biomechanics (pp. 15-33). (See also Speech Group Working Papers, MIT Research Laboratory of Electronics, Volume l1.) g 102 You can modify the DECtalk voices by using phonemic commands and the phonemic alphabet. This chapter describes a series of escape sequences that gives a host computer slightly greater control over DECtalk. For example, escape sequences can turn the DECtalk voice on or off and load the user dictionary. There are three ways to control DECtalk speech. 1. Through English text (sent@nws in standard English format and spelling). DECtalk speaks this text as written. 2. Through phonemic spalling (sentences or phrases written in phonemic symbols). Phonemic spelling is closer to the actual pronunciation of the text. 3. Through phonemic commands. Phonemic commands control features of speech that are not obvious from the visible text, such as rate of speech, sex of the speaker, and excitement level. 103 CHAPTER 8 8.2 SPEECH TIMEOUT Usually, DECtalk does not begin speaking until the host computer sends a clause terminator (period, comma, exclamation point, or question mark); how- ever, there is a 5-second timeout limit. If the host computer does not send data within 5 seconds, DECtalk speaks the pending text in its input buffer, as ifa (011) character had been sent. VT Programs with long interruptions (such as pauses to search a data base) should collect complete sentences before sending anything to DECtalk. Other- wise, this timeout may cause unnatural breaks in sentences and ing speech. 8.3 jerky-sound- ENGLISH TEXT DECtalk speaks sentences written in standard English, if the text follows rules. three A 1. Sentences end with a period, exclamation point, or question mark. 2. All commas, periods, exclamation points, and question marks are followed by a space (or an equivalent character from Table 3-1). 3. A period must be followed by enough text to distinguish between abbrevi- ~ations and the end of a sentence. The host computer can send | English text in paragraph format; that is, sentences can be broken in the middle by carriage returns. If a sentence is too long to store in DECtalk’s buffers, the sentence is spoken in sections. DECtalk breaks up the sentence and speaks it as if clause boundaries were present. The effect is similar to a person trying to speak a long sentence and running out of breath. Keep sentences down to a reasonable length or insert commas to avoid this effect. Chapters 7, 10, and Appendix C provide more information on speech phrasing and emphasis. Section 8.6 in this chapter also describes how to coordinate speech and interaction commands to prevent loss of information. 104 P VOICE COMMANDS AND THE USER DICTIONARY 8.4 SPEAK PHONEMIC TEXT (DT_PHOTEXT) When MODE_SQUARE is on, you can enter the phonemic mode and embed phonemic twt in normal text by using the square brackets. When sending data from the hqst computer, you can enter the phwnemtc mode by using the DT_ PHOTEXT escape sequence as well as the square brackets; MODEWSQUARE does not have to be on. The DT_PHOTEXT escape sequence is as follows. ESC 027 P 080 0 : 048 059 0 048 z 122 text **** ESC 027 \ 092 ESC P 0 : 0 z is the same as a left bracket ([), and ESC \ is the same as a right bracket (]). DECtalk uses phonetic speech for all text between the command terminator z and sequence terminator ESC \. Appendix E of this manual lists the phonemic alphabet used by DECtalk. In addition to sending the correct pronunciation, phonemic text can send control phonemes. This example changes the speech rate to 250 words per minute. ESC P 8.5 0O : z O ESC \ :ra250 STOP SPEAKING (DT_STOP) This escape sequence immediately stops speech, even uf DECtalk is in the middle of a sentence. Any pending but unspoken text is lost, including index markers that may have been sent by the host computer. The DT_STOP escape sequence is as follows. ESC P 027 080 0 048 ; 059 1 049 0 048 z 122 ESC \ 027 092 The stop sequence acts as a clause boundary. Speech stops immediately and all internal buffers are reinitialized. 105 CHAPTER 8 8.6 DATA SYNCHRONIZATION (DT_SYNC) The application program can send data to DECtalk faster than DECtalk can speak it. If the user must carry on a dialogue with the application program (through the telephone keypad), the application program should know whether DECtalk has finished speaking the text sent to it. DT_SYNC provides this coordination between the application program and DECtalk speech. When the host computer sends DT_SYNC, DECtalk finishes speaking any pending text before processing the next command from the host computer. Therefore, the user hears a message before any other action starts, such as hanging up the telephone or starting the telephone timeout clock. Note that DT_SYNC acts as a clause boundary, the same as a comma, period, exclama- PN, tion point, or question mark. The DT_SYNC escape sequence is as follows. ESC P 0 ; 1 1 z ESC 027 \ 080 048 059 049 049 122 027 092 DT_SYNC does not reply to the host computer when processing is complete. However, you can arrange to get a reply by following the DT_SYNC command with a DT_INDEX_QUERY command. 8.7 ENABLE OR DISABLE SPEAKING (DT_SPEAK) The DT_STOP sequence stops speech in progress. The DT_SPEAK sequence turns speech processing off or on, so received text is either spoken or discarded. DT_SPEAK is useful if the host computer can recognize such things as electronic mail letterheads. The host computer can act as a filter, removing extraneous speech. The DT_SPEAK escape sequence is as follows. 106 ESC P 0 ; 1 2 ; P3 027 z 080 ESC 048 \ 059 049 050 059 *** 122 027 092 S VOICE COMMANDS AND THE USER DICTIONARY If P3 is 0, DECtalk stops speaking text; that is, it stops passing characters received from the host computer to the text~tm~sp&ech processing section. If P3 is not 0, ,DECtak resumes speaking. DECtalk also resumes speaking if the host computer sends DT_SYNC, DT_STOP, RIS, DECSTR, or any telephone command (for example DT_PHONE:PH_ANSWER). 8.8 INDEXING Text sent to DECtalk can contain index marks. DECtalk remembers these marks when they are spoken. The host application can listen to the spoken text (by reading the value of the last index) to determine how much transmitted text was actually spoken. Index markers are truly marks; they do not modify heuristics. T The following paragraphs describe how to mark text and return their values to the application program. 8.8.1 Index Text (BT......INDEX) The DT.JNIEX seqmnce inserts an index marker (flag) in the text stream sent to DECtalk. ESC P 0 ; 2 027 048 059 050 048 080 0 - P3 2z ESC \ 059 ** 122 027 092 The P3 ,payragmet@r may range from 0 to 32767, sent as the ASCII characters for the number.@g Numbers outside the range are brought into range by unconditionally masking off any high order bits. For example, the host computer sends the following data stream to DECtalk and marks the first variable with the index 15. Hello ESC P 0 ; 2 0 ; 1 5 z ESC \ there. After speaking the text before DT_INDEX, DECtalk remembers the value 15. The host computer may use DT_INDEX_QUERY (Section 8.8.3) to get this stored value. 107 CHAPTER 8 8.8.2 Index Reply (DT_INDEX_REPLY) DT_INDEX simply marks a position in the text. DT_INDEX_REPLY marks a position, but also has DECtalk inform the host computer when the index is spoken. The DT_INDEX_REPLY escape sequence is as follows. ESC P 0 ; 2 1 ; P3 z ESC \ 027 080 048 059 050 049 059 *** 122 027 092 The P3 parameter is in the range 0 to 32767, using ASCII characters for the selected number. When DECtalk speaks the DT_INDEX_REPLY sequence, it sends a reply R (containing the P3 parameter of the index) to the host computer. The escape sequence reply format is as follows. ESC P 0 ; 3 1 ; P3 z ESC \ 027 080 048 059 051 049 059 *** 122 027 092 P3 has the original value specified in DT_INDEX_REPLY. 8.8.3 Index Query (DT_.INDEX_QUERY) DT_INDEX_QUERY requests DECtalk to reply to the host computer with the last index marker spoken (that is, the last portion of spoken text that had an index marker). The DT_INDEX_QUERY escape sequence is as follows. A ESC P 0 ; 2 2 z ESC \ 027 080 048 059 050 050 122 027 092 DECtalk immediately returns a DECtalk reply escape sequence to the host computer in the following format. 108 ESC P 0 ; 3 2 ; P3 z ESC 027 080 048 059 051 050 059 *** 122 027 \ 092 VOICE COMMANDS AND THE USER DICTIONARY P3 contains the last index spoken. The P3 value is 0 under any of the following conditions. e The last index passed was 0. e No index has been passed since power-up, RIS, or DECSTR. Figure 8-1 shows how DT_SYNC and DT_INDEX_QUERY can coordinate host-DECtalk communications. HELLO. | AM DECtalk | AM A SPECIAL COMPUTER DEVICE THAT IMITATES ‘ HUMAN SPEECH. HOST COMPUTER SENDS TEXT AND ~ DECtalk BEGINS SPEAKING. ...1 AM DECtalk | AM A SPECIAL ... ESCPO;11zESC s HOST COMPUTER SENDS DT_SYNC ESCAPE SEQUENCE. DECtalk WILL 'NOT PROCESS ANY FURTHER COMMANDS UNTIL IT FINISHES SPEAKING THE CURRENT TEXT. ..COMPUTER DEVICE THAT IMITATES ESCPO0;22zESC \ | HOST COMPUTER SENDS DT_INDEX_ QUERY ESCAPE SEQUENCE. DECtalk ' STORES THE SEQUENCE BUT DOES NOT PROCESS IT. ESCPO0;32;02ESC \ DECtalk FINISHES SPEAKING. | Figure 8-1 DT_INDEX_QUERY IS PROCESSED AND ' DT_QUERY_REPLY IS SENT TO HOST COMPUTER. HOST PROGRAM NOW KNOWS DECtalk HAS FINISHED SPEAKING. MA-0356-85 Using DT_SYNC and DT_INDEX_QUERY to Coordinate DECtalk Communications 109 CHAPTER 8 8.9 LOAD DICTIONARY (DT_DICT) s The user dictionary is used for processing abbreviations, and for providing phonemic equivalents of unusual words. The DT_DICT escape sequence is as P follows. P ESC P 0 ; 4 0 z name SP 027 080 phonemes ESC 048 \ 059 052 048 122 ****** (32 **wwxxxwxxsxs ()07 ()92 Whenever the word represented by ‘‘name’” appears in the input text, the phonemic pronunciation given by ‘“‘phonemes’ is used. Any uppercase characters in the name only match uppercase characters in the input text. Lowercase characters in the name match both uppercase and lowercase characters in the input text. DECtalk always searches dictionary entries in the order entered. If a name ends with a period (.), a period must follow the word in running input text. This period is included as part of the word, and is not recognized as a sentence terminator. Here are some examples of dictionary entries. ESC P 0 ; 4 0 ; z ms m’ihz ESC \ ESC P 0 ; 4 0 ; z ms. m'ihz ESC \ DEC d’ehk ESC \ ESC P 0 ; 4 0 ; z ESC P 0 ; 4 0 ; z ESCP 0 dec dihs’ehmbrr ESC \ ; 4 0 z ESC Goethe g’owth iy ESC \ 0 ; 4 0 z GOSLOW :ra 120 ESC \ P ; Note the use of capitalization in the previous examples to distinguish between abbreviations with the same spelling. If you do not enter a phoneme substitution, DECtalk removes the word from the user dictionary. You cannot remove words from the built-in dictionary. After loading the word and its definition, DECtalk replies with a dictionary status report as follows. 110 ESC P 0 ; 5 0 ; P3 z ESC \ 027 080 048 059 053 048 059 *** 122 027 092 SIS, VOICE COMMANDS AND THE USER DICTIONARY P3 may have; one of the following values. 0 - The word was entered correctly. 048 1 No room is in the dictionary. 049 2 The entry is too long (256 characters maximum). 050 8.10 INPUT LOGGING (DT_LOG) The DT_LOG command controls DECtalk logging of input text. This command allows DECtalk to send the phonemes corresponding to the input text back to the host computer. ESC P 027 080 0 048 ; 059 8 056 1 049 ; 059 P3 *** 059 P4 *** z 122 ESC \ 027 092 The P3 parameter is interpreted as a set of flag bits, with only one bit (LOG__HOSTPH, the bit with value 256) used. All other bits are ignored. The log mask is set to 0 at power-up. | If the LOG__HOSTPH bit is set (P3 = 256) DECtalk will send the phonemic representation of each clause (in ASCI| ‘characters) back to the host computer as it is generated. The standard DECtalk phonemic alphabet is used. The last logged phoneme will always be the clause delimiter. The clause delimiter will always be followed by a carriage return. The host computar must be prepared to receive the characters when they are sent, or they will be lost. There is no flow control at all. The P4 parameter is a level 2 device function. It controls the interpretation of the P3 parameter as follows. If P4 is 0, then P3 is a new log mask. If P4 is 1, then P3 is a set of bits to be set in the log mask. If P4 is 2, then P3 is a set of bits to be cleared in the log mask. MODIFYING THE VOICES This chapter shows how to change and create voices spoken by DECtalk. Changing and creating voices requires a certain knowledge of acoustic phonetics and the human voice. This chapter necessarily goes into detail on speakerdefinition parameters. Understanding the information is necessar y for effective voice modification and will make the task easier. 9.1 VOICE CHARACTERISTICS The DECtalk DTCO03 system has a set of simple commands that you can use to change the speaking rate, or to change the voice to one of nine different voices - male, female, child, or a user-definable voice - as shown in Figure 9-1. You can use other, more complex commands to modify the character istics of each voice, or to create a new voice or special effects. The complex commands require skill and experience to use effectively, but the simple commands are easy to use in normal DECtalk applications. When using the telephone, we can usually tell whether the is that of a man, woman, or child. Slight differences in voice voice of a stranger quality are characteristic of these different speakers. For example, women’s and children’s voices are usually higher pitched than men’s voices. The size of the head and vocal tract account for some of the differences. We also notice that some people speak more quickly or more clearly than others. B i Chapter 7 described ways you can modify DECtalk pronunciation. This chapter shows how you can change the DECtalk voice itself by selecting rate, sex, and other voice characteristics. 112 the speaking s, MODIFYING THE VOICES DOCTOR DENNIS PERFECT PAUL UPPITY URSULA BEAUTIFUL BETTY Figure 9-1 VARIABLE VAL B4 HAM-OLGA- The DECtalk Voices 113 A CHAPTER 9 SR DECtalk has five commands that you can use to modify voice characteristics (Table 9-1). Because the commands are entered within phonemic brackets and ], you must have MODE_SQUARE set. This option is set on at power-up. o s MODE_SQUARE can also be set with the DT_MODE control sequence (Sec- tion 4.6.2.) NOTE: MODE_SQUARE is provided as a default. DECtalk interprets text between square brackets as phonemes. For DECtalk to interpret the [ and ] and the characters between them as normal text, and not the phoneme delimiters, MODE_SQUARE must be cleared. e WARNING: If you forget the final ], DECtalk will try to interpret ASCII text as phonemes, skipping over illegal letter combinations. If DECtalk seems to be speaking text this way, type ] to recover. I R The commands that modify the voice characteristics are ARG 1. Speaking rate [:ra _] 2. Comma pause duration [:cp _] 3. Period pause duration [:pp _] 4. New voice [:n_] 5. Design voice [:dv _] o where the “_"" represents a variable letter, value, or parameter. s, Each of the first three commands has a single, simple function. The fourth (new voice) command selects the standard DECtalk voices. The fifth design voice Ao command allows you to create a completely new voice. A D, O o, 114 MODIFYING THE VOICES 9.2 SPEAKING RATE [:ra ] The default speaking rate is 180 words per minute (wpm). Speakmg rate values have been c,ahbrated with a 300-word standard paragraph.” Speaking rates can be adjusted to be very slow, very fast, or anywhere in between by using the following commands. This rate is the slowest, 120 wpm. It is ideal for situations [:ra 120] where material such as a phone number is to be copied down by the listener. WARNING: It is frustrating to listen to extended speech at slow rates unless the listener is actually copying down every word. This rate is moderate, 160 wpm. This rate sounds a little slow, but may be preferred for telephone communication because the reduced bandwidth of the telephone channel makes human speech slightly less easy to understand than [:ra 160] in direct-contact communication. [ra180] , [:ra 240] This rate is normal (moderately fast), 180 wpm. It is the default rate for DECtalk, and is ideal for listening to continuous text under optimal conditions. This rate is fast, 240 wpm. Practiced listeners can skim mate- rial at this rate and prefer it when scanning text for important sections. Inexperienced listeners may not understand every word at this rate. [:ra 350] This rate is the fastest, 350 wpm. It is too fast for most people to follow, but it may have applications in special circumstances. Any speaking rates between 120 and 350 are permitted in the [:ra _] command. Rates specified outside this range are limited to the nearest legal value. * Fairbanks, G. Voice and Articulation Drill Book. Second Edition. Harper and Row, p. 114. 1960, 115 AR, CHAPTER 9 Changes in speaking rate influence the duration and especially the number of pauses in text, as well as the duration of individual phonemes. At rates below 140 wpm, DECtalk inserts pauses at all phrase boundaries. At rates faster than 240 wpm, DECtalk deletes the comma pause. At slow rates, pauses and phonemes near the ends of phrases are lengthened considerably. At fast rates, these pauses and phonemes are shortened. (Near the beginning of phrases, phonemes are fairly short at both slow and fast speaking rates.) 9.3 PAUSE DURATIONS [:pp —] and [:cp _] At the normal speaking rate of 180 words per minute, DECtalk pauses about half a second after a period in the text and about a sixth of a second after a comma. These pause durations are adjusted appropriately when you change the speaking rate. In some situations, you might like a pause after a period without changing the speaking rate. For example, to get DECtalk to read a list of words at a normal rate with 5-second pauses after each word (to allow the listener to write them down), you could use one of the following commands and end each word with a comma (continuation rise intonation) or a period (falling intonation). [:pp 4500] Add a period pause of 4500 ms to the standard half-second pause that occurs after a period in the text. The total pause between words will be 5 seconds. [:cp 4830] Add a comma pause of 4830 ms to the standard sixth of a second pause that occurs after a comma in the text at normal speaking rate. The total pause between words separated by a comma will be 5 seconds. [:pp 0 :cp 0] Reset the period pause and comma pause to their normal default values. The permitted range for a period pause is from -380 to 30000 ms. A negative value shortens the standard period pause. The permitted range for a comma pause is from —40 to 30000 ms. Values specified outside this range will be limited to the nearest legal value. 116 A, MODIFYING THE VOICES 9.4 SELECTING A STANDARD VOICE [:n_] DECtalk has nine built-in voices and one voice that is user definable. You can refer to each voice by the command [:n_] where ‘" is a letter representing one of the DECtalk voices. Table 9-2 lists the [:n_] symbols. i You can change voices with the new voice command as in this example. [:nb] Hello. I'm Betty. You can also change voices in the middle of a sentence. [:np] This is a demo [:nb] of a sudden change in voice. o e L : g : i : R L &4‘@4 . - R 5 ZH; % . i ‘ . Ol . L e % .% - G . . ; o . - . o s il o e s L i (A i i o e . e . g . L o s 0 | . S g@}w,{. Faine o . o . oo o A i i o o /\\{/w . b 0 he : . . o m%: i : . i i . , . L i . o i L e - i 5 D o S . L 7 i .' i @ il o i " .}?’3 . 4 L i i ii L, e. i 0 . . . . - . ,,f 2 i a S G va a‘ . . . s }%fl‘"fiv o L o o Jf%&g{" o i i " : . : . o . el i T . . : . ; SWW - | o i e s o L ) - “ i . e - . Pl 117 CHAPTER 9 DECtalk needs a brief silence to change to a new built-in voice. If a voice change request occurs in the middle of a sentence, DECtalk automatically pauses slightly. The pause is the equivalent of inserting a comma before the I midsentence command. For example, you could type the previous sentence as follows. [:np] This is a demo, [:nb] of a sudden change in voice. It is good practice to always end a sentence (insert a period) before changing voices. This allows the listener to prepare for a new speaker. 9.5 DESIGNING A VOICE WITH SPEAKER-DEFINITION PARAMETERS [:dv _] The DECtalk voices provide an adequate selection for most user’s applications. However, if you have a special application requiring a monotone or unusual voice (for example, the voice of a vocally handicapped person), you GG can modify the parameters defined in this section on a trial-and-error basis to get the desired voice. The nine built-in voices of DECtalk are distinguished from one another by a large set of speaker-definition parameters. Table 9-3 lists these parameters and their ranges. Table 9-4 lists the parameters for all DECtalk voices. Speakers can differ in sex, age, head size and shape, larynx size and behavior, pitch range, pitch and timing habits, dialect, and emotional state. DECtalk cannot approximate all of these options. Therefore, the space of distinguish a- ble voices is quite limited, even though DECtalk has many speaker-definition parameters that can be modified. A The design voice [:dv _] command introduces the speaker-definition parameters that can be entered as a string or one at a time. The following sections discuss speech production, acoustics, and perception. Some of the information may be difficult to follow, but the examples should make it possible for all users to effectively modify any parameter and listen to the results. 118 | : i s i MODIFYING THE VOICES ; : SRy . . : , : o > o o i , i “ e L. , o . i e e @’?& e s - = B G . e . %”f e . h e . = . e s Vi s . - . ‘ . A L : . e : 3 i , o 0 L : L o o i i ‘ : . | . : e ! i s e : o ”.( . i B i = = . L £ . . . e = . o G e 4 . ‘M‘.‘u i o . . i b L G i - ; Ll ; i B i i - = . i " (i . o . s , L - i, \ ‘Ml"% e . . g . g . v i o ‘i : . ‘) A Aq | : wrJi . : e o b , S, . . a0 ,fi@i L i J‘g ¢ - o pi T 119 CHAPTER 9 A, - 4o i i o A ! . G i S i . i L ig Gt e i v i e L S i st e S ) % i | i Sl e o iA s o i T e ER : ; e e - %*% R % e h i i — 3 . .. 4 . 4 - L 2 - . WM%WZ’?& 0 fi Nl i el ) oi i Dl S i . %\»fi%fi i e R S e i G e o ’;fi i . G G L s : , gt o @4 e bR : s e ~ s el . g% . 5 i e i i b e R . o L s oe L S o ) i hraan i 3 . o . o M Bt R o s i ) S & S e ol . i S . s i - = - ,;@, A il = - : ¢ -= = s m; Afi% i e : o o - o 0 v - L f?""‘% L o e o . o i o Le g o S . o e i A ',fiafi"& s o i . o 4 . il I L & i : G SR i q S . i ‘ PG 2o .. e . i %’ i . g&% fi% & ?. : = 2 5 : : i - @ i L v 5 i e Ve Giee -~ o o ] i ; ) o S o o 0 . e . »g-ff i : . o i S : = T S ) o o . o o- S - e = o‘ e i e “ L " i - = L - e e h o ‘fi}’ . o L e B e %M’?@ . s L SeR = e e o s 4 & SN e e e oL L ;‘Vfi%‘, e s G 4 i e o e . R e . . e ; o e L S S R . e . e %%‘W R . . %"Q'w . ’ L . = = -~ - i G S o e e e L i L = o o M = s s - i e e i . o R a;\)" i B e o | . e e 2 5 “s - ' e e Gl o hdE S o : -o e e o 2o i S ok o= - o a Jlnae P ge %% S o ; . o %) L o L L e L S i . ) o o i 3 o o : R s s d ‘ | e s . 3 , S L Sl . o - V s L e A e %@\ . ‘ il R 2 A " o i s o ! L Mf ; ' = e L = o L 0 ) = v L e o i i DR “’fi o A ¢ s e o — %fi= L A - A . . : - -- , §5 - - - pess‘s% " muj,?;%w\ O L ik . fl S sl 5 = ‘ - % oH i PR LR b 2 S Gl 5 eo o e g o . i e A s 0 o o S L A a - : I S e L W 0 . et - o . - = -~ G . o I 4 1 b s e Sase o &o o v .:3 e e o ‘%, i B - = o i G & : el e Ean H - o A Ay o P e (i - S X - . e - = o ‘ e e = - . = - = ':‘ KR = = *’%fig«zfié - - P = IR i R . % i i o g?%‘;? %% . e= % . = . - = L N 5 . S= = = i . - = er;;_{ e L e L e e G L - e e o o‘:n' Z&‘ Lol . . s - e o e :«;3;.%@ -= 2. o = = i A i e SRR . »;i: . = 2o G ‘ - e 5 . ; A - s L o L -~oo = - 5::(‘ . - . = - - e o = e o e Mép} | = O o — o i - - . o : b - ey S o S 2 - e i . = o a e W e e o z . *‘%;«., . B e o M i . RE SR :S i ' S gfitk%«% ’/),,@‘é‘:“';fa« s o 1 T G e : = e S m o e . ‘*% o o BE o S ; L e i i b - = Lo e ‘ g . - 2 ‘ Sh G — G e . i y ) i Sl M@%fi .. oo S i . e e . : ; e ¢ SR g iy L . W T 2 h st"é\}i B S L SR . a5 e i sk i 2 e v i A ShEpe s N & g g 120 EL MODIFYING THE VOICES - g O W ’”«@afi o i = L o 9 i o s - K y s A S i. : L il S . o ‘ o = G . il » i . - fo i ko .3 e A‘E GG . Gy L %’tl”ii i i . s e , L o L f’fi%% . aen i - L = %‘C o e i e “‘W ; v @*fi el i ol . . “mfi%"v« S 121 CHAPTER 9 9.5.1 Changing Sex and Head Size Six speaker-definition parameters control the size and shape of the head. These parameters are listed below and are described in Sections 9.5.1.1 through 9.5.1.3. | SX Sex, hs f4 Head size, in percent | Fourth formant resonance frequency, in Hz f5 Fifth formant resonance frequency, in Hz morf,1or0 b4 Fourth formant bandwidth, in Hz b5 Fifth formant bandwidth, in Hz 9.5.1.1 Sex, sx - Male and female voices have many differences, including head size, pharynx length, larynx mass, and speaking habits such as degree of breathiness, liveliness of pitch, choice of articulatory target values, and speed of articulation. Some of these differences are under the control of a single A parameter, sx, the sex of the speaker. Speakers Paul, Harry, Frank, and Dennis are male (sx = 1), while speakers Betty, Rita, Ursula, Wendy, and Kit are female (sx = 0). Actually, Kit the Kid can be male or female because children younger than 10 years old have similar voices for both sexes. Changing the sx parameter causes DECtalk to access a different (male or female) table of target values for formant frequencies, bandwidths, and source A amplitudes. The male and female tables are patterned after two individuals who were judged to have pleasant, intelligible voices. DECtalk’s built-in voices are only scaled transformations of Paul and Betty, the two basic voices. You can change the sex of any of DECtalk’s voices by making the voice current and then modifying the sx parameter. For example, the following command gives Paul some of the speaking characteristics of a woman. (The sx parameter does not change the average pitch or breathiness, so a peculiar combination of simultaneous male and female traits results from this sx change.) [:np :dv sx 0] Am | a man or woman? o 122 MODIFYING THE VOICES The sx parameter can also be specified as m orf with the commands [:dv sx m] or [:dv sx f]. WARNING: If you change the sex of the voice, some phonemes may cause DECtalk’s filters to overload, producing a squawk. (The squawk is unpleasant, but it will not damage DECtalk.) Sections 9.5.1.3 and 9.5.4.3 describe parameters f4, 5, and g1 and explain how to correct this problem. 9.5.1.2 Head Size, hs - Head size is specified as the average size for an adult man (if sx = 1) or an adult woman (if sx = 0). A head size of 100 percent is normal or average for a given sex, but people can differ quite a bit in this characteristic. Head size has a strong influence on a person’s voice. Large musical instruments produce low notes, and humans with large heads tend to have low, resonant voices. For example, to make Paul sound like a larger man with a 15 percent longer vocal tract (and formant frequencies that are scaled down by a factor of about 0.85 percent), type the following command. [:np :dv hs 115] Do | sound more like Huge Harry this way? Head size is one of the best variables to use if you want to make dramatic voice changes. For example, Paul has a head size of 100, while Harry’s deep voice is caused in part by a head size change to 115, or 15 percent greater than normal. Decreasing head size produces a higher voice, such as in a child or adolescent. Extreme changes in head size, as in the following examples, are somewhat difficult to understand. [:nh :dv hs 135] Do | have a swelled head? [:nk] | am about 10 years old. [:nk :dv hs 65] Do | sound like a six year old? WARNING: Extreme changes in head size can cause overloads, as well as difficulties in understanding the speech. To correct an overload, see Sections 9.5.1.3 and 9.5.4.3 on parameters f4, 15, and g1. 123 CHAPTER 9 9.5.1.3 Higher Formants, f4, f5, b4, and b5 - A male voice typically has five prominent resonant peaks in the spectrum (over the range from 0 to 5 kHz), a female voice typically has only four (due to a smaller head size), and a child has three. If fourth and fifth formant resonances exist for a particular voice, they are fixed in frequency and bandwidth characteristics. These characteristics are specified by the parameters f4, f5, b4, and b5, in Hz. Values for each predefined voice are in Table 9-4. If a higher formant does not exist, the frequency and bandwidth of the speaker definition are set to special values that cause the resonance to disappear. To make a resonance disappear, the frequency is set to 2500 Hz, and the bandwidth to 2048 Hz. This is what has been done to the fourth and fifth formants for Kit the Kid (Table 9-4). The permitted values for f4 and f5 have fairly complicated restrictions. Violating these restrictions can cause overloads and squawks. The restrictions are listed i below for cases where a higher formant exists. 1. F5 must be at least 300 Hz higher than f4. 2. If sx is male, f4 must be at least 3250 Hz. » 3. If sx is female, f4 must be at least 3700 Hz. 4. If hs is not 100, the above values should be multiplied by (hs / 100). These higher formants produce peaks in the spectrum that become more prominent if b4 and b5 are smaller, and if f4 and 5 are closer together. The limits placed on b4 and b5 (Table 9-3) should ensure that no problems occur. However, smaller values for bandwidths may produce an overload in the syn- thesizer. You can correct these overloads by increasing the bandwidths or by changing the gain control g1 (Section 9.5.4.3). ] 124 MODIFYING THE VOICES Changing Voice Quality 9.5.2 Six speaker-definition parameters control aspects of the output of the larynx, which, in turn, control voice quality. These parameters are listed below and are described in Sections 9.5.2.1 through 9.5.2.6. Breathiness, in decibels (dB) br Lax breathiness, in percent Ix sm Smoothness, in percent ri Richness, in percent nf la Number of fixed samples of open glottis Laryngealization, in percent 9.5.2.1 Breathiness, br - Some voices can be characterized as breathy. The vocal folds vibrate to generate voicing and breath noise simultaneously. Breathiness is a characteristic of many female voices, but it is also common under certain circumstances for male voices. The range of the br parameter is from 0 dB (no breathiness) to 70 dB (strong breathiness). By experimenting, you can learn what intermediate values sound like. Noting breathiness values in Table 9-4 for each of the predefined speakers may also help. For example, to turn Paul into a breathy, whispering speaker, type the following command. [:np :dv br 55 gv 56] Do | sound more like Doctor Dennis now? This voice is not as loud as the others due to the simultaneous decrease in the gain of voicing, gv, but it is intelligible and human sounding. 9.5.2.2 Lax Breathiness, Ix - The br parameter (Section 9.5.2.1) creates simultaneous breathiness whenever voicing is turned on. Another type of breathiness occurs only at the ends of sentences and when going from voiced to voiceless sounds. This type of “lax” breathiness is controlled by the Ix parameter in percent. A nonbreathy, tense voice would have Ix set to 0, while a maximally breathy, lax voice would have Ix set to 100. The difference between these two voices is not great, but you can hear it if you listen closely. 125 CHAPTER 9 9.5.2.3 Smoothness, sm - Smoothness refers to vocal fold vibrations. The vocal folds meet at the midline, as they do in normal voicing, but they do not slam together forcefully to create a very sudden cessation of airflow. DECtalk uses a variable-cutoff, gradual low-pass filter to model changes to smoothness. The range of sm is from 0 percent (least smooth and most brilliant) to 100 percent (most smooth and least brilliant). The voicing source spectrum is tilted so that energy at higher frequencies is attenuated by as much as 30 dB when smoothness is set to a maximum, but is not attenuated at all when smoothness is set to 0. Professional singing voices that are trained to sing above an orchestra are usually brilliant, while anyone who talks softly becomes breathy and smooth. s To synthesize a breathy voice, an sm value of about 50 or more is good. Changes to sm do not have a great effect on perceived voice quality. 9.5.2.4 Richness, ri - Richness is similar to smoothness and brilliance, except that the spectral change occurs at lower frequencies, and is due to a different physiological mechanism. Brilliant, rich voices carry well and are more A intelligible in noisy environments, while smooth soft voices sound more friend- ly. For example, typing the following command produces a soft, smooth ver- sion of Paul’s voice. [:np :dv ri 0 sm 70] Do | sound more mellow? The following command produces a maximally rich and brilliant (forceful) voice. [:np :dv ri 90 sm 0] Do | sound more forceful? A Smoothness and richness are usually negatively correlated when a speaker dynamically changes laryngeal output. The sm and ri parameters do not influence the speaker’s identity very much. A, 126 MODIFYING THE VOICES 9.5.2.5 Nopen Fixed, nf - The number of samples in the open part of the glottal cycle is determined not only by ri, but also by a second parameter nf. NF is the number of fixed samples in the open portion of the glottal cycle Most speakers adjust the open phase to be a certain fraction of the period, and this fraction is determined by ri. Other speakers keep the open phase fixed in duration when the overall period varies. To simulate this behavior, set ri to 100 and adjust nf to the desired duration of the open phase. The shortest possible open phase is 10 (1 ms), and the longest is three quarters of the period 70 for a male voice). duration (about 9.5.2.6 Laryngealization, la - Many speakers turn voicing on and off irregularly at the beginnings and ends of sentences, which gives a querulous tone to the voice. This departure from perfect periodicity is called laryngealization or creaky voice quality. The la parameter controls the amount of laryngealization in the voice. A value and a value of 100 (the maximum) of 0 results in no laryngealized irregularity, produces laryngealization at all times. For example, to make Betty moderamly Iaryngaa ized, type the following oommand [:nb :dv la 20] The la parameter creates a noticeable difference in the voice, although it is not altogether a pleasant change. , 127 CHAPTER 9 9.5.3 Changing the Pitch and Intonation of the Voice Seven speaker-definition parameters control aspects of the fundamental fre- quency (f0) contour of the voice. These parameters are listed below and are described in Sections 9.5.3.1 through 9.5.3.6. bf Baseline fall, in Hz hr Hat rise, in Hz Sr Stress rise, in Hz ‘as Assertiveness, in percent qu Quickness, in percent ap Average pitch, in Hz pr Pitch range, in percent 9.5.3.1 Baseline Fall, bf - The bf parameter (baseline fall in Hz) determines one aspect of the dynamic fundamental frequency contour for a sentence. If bf is 0, the reference baseline fundamental frequency of a sentence begins at 115 Hz and ends at this frequency. All rule-governed dynamic swings in fO are computed with respect to the reference baseline. Some speakers begin a sentence at a higher f0, and gradually fall as the sentence progresses. This “falling baseline” behavior can be simulated by setting bf to the desired fall in Hz. For example, setting bf to 20 Hz will cause the f0 pattern for a sentence to begin at 125 Hz (115 Hz plus half of bf), and fall at a rate of 16 Hz per second until it reaches 105 Hz (115 Hz minus half of bf). The baseline remains at this lower value until it is reset automatically before the beginning of the next full sentence (right after a period, question mark, or exclamation point). The rate of fall, 16 Hz per second, is fixed, no matter what the extent of the fall. Whenever you include a [+] phoneme in the text to indicate the beginning of a paragraph, the baseline is automatically set to begin slightly higher for the first sentence of the paragraph. The following sentences of a paragraph are all identical in having a normal baseline fall. While baseline fall differs among the speakers, it is not a very good cue for differentiating between speakers. As long as the fall is not excessive, its presence or absence is not particularly noticeable. 128 Sy MODIFYING THE VOICES 9.5.3.2 Hat Rise, hr — The hr (nominal hat rise in Hz) and sr (nominal stress impulse rise in Hz) parameters determine aspects of the dynamic fundamental frequency contour for a sentence. To modify these values selectively, you should understand how the fO contour is computed as a function of lexical stress pattern and syntactic structure of the sentence. A sentence is first analyzed and broken into clauses with punctuation and clause-introducing words to determine the locations of clause boundaries. Within each clause, the fO contour rises on the first stressed syllable, stays at a high level for the remainder of the clause up to the last stressed syllable, and falls dramatically on the last stressed syllable. The rise-at-the-beginning and fall-at-the-end pattern has been called the ‘‘hat pattern’ by linguists, using the analogy of jumping from the brim of a hat to the top of the hat, and back down again. The hat rise parameter, hr, indicates the nominal height in hertz of a pitch rise to a plateau on the first stress of a phrase. A corresponding pitch fall is placed by rule on the last stress of the phrase. Some speakers use relatively large hat rises and falls, while others use a local “impulse-like’’ rise and fall on each stressed syllable. (See Section 9.5.3.3.) The default hr value for Paul is 22 Hz, indicating that the fO contour rises a nominal 22 Hz when going from the brim to the top of the hat. To simulate a speaker who does not use hat rises and falls, enter the command [:dv hr 0]. » Other aspects of the hat'patmm are important for natural intonation but are not accessible by speaker-definition commands. For example, the hat fall becomes a weaker fall followed by a slight continuation rise if the clause is to be succeeded by more clauses in the same sentence. Also, if unstressed syllables follow the last stressed syllable in a clause, part of the hat fall occurs on the very last (unstressad) syllable of the clause. If the clause is long, DECtalk may break it into two hat patterns by finding the boundary between the noun phrase and verb phrase. If DECtalk is in phoneme input mode and you use the pitch rise [/] and pitch fall [\] symbols (Section 7.6.5), the hr parameter determines the actual rise and fall in Hz. 129 CHAPTER 9 9.5.3.3 Stress Rise, sr - The sr parameter indicates the nominal height, in Hz, of a local pitch rise and fall on each stressed syllable. This rise-fall is added to any hatrise or fall that may also be present. (See Section 9.5.3.2.) For example, Paul has pr set to 32 Hz, resulting in an f0 rise-fall gesture of 32 Hz over a span of about 150 ms, which is located on the first and succeeding stressed sylla- bles. However, DECtalk rules reduce the actual height of successive stress rises and falls in each clause, and cause the last stress pulse to occur early so that there is time for the hat fall during the vowel. If the sr parameter is set too low, the speech sounds monotone within long phrases. Great changes to hr and sr from their default values for each speaker are not necessary or desirable, except in unusual circumstances. 9.5.3.4 Assertiveness, as - Assertive voices have a dramatic fall in pitch at the end of utterances. Neutral or meek speakers often end a sentence with a slight “questioning” rise in pitch to deflect any challenges to their assertions. The as parameter, in percent, indicates the degree to which the voice tends to end statements with a conclusive final fall. A value of 100 is very assertive, while a value of 0 is maximally meek. 9.5.3.5 Quickness, qu - The qu parameter, in percent, controls the speed of response to a request to change the pitch. All hat rises, hat falls, and stress rises can be thought of as suddenly applied commands to change the pitch, but the larynx is sluggish, and responds only gradually to each command. A smaller larynx typically responds more quickly, so while Harry has a quickness value of 10, Kit has a value of 50. In engineering terms, a value of 10 implies a time constant (time to get to 70 percent of a suddenly applied step target) of about 100 ms. A value of 90 percent corresponds to a time constant of about 50 ms. Lower quickness values may mean that the fO never quite reaches the target value before a new command comes along to change the target, but this is perfectly natural. 9.5.3.6 Average Pitch, ap, and Pitch Range, pr - The ap (average pitch in Hz) and pr (pitch range in percent of normal range) parameters modify the comput- ed values of fundamental frequency, f0, according to the formula: fO’ = ap + (((fO - 120) * pr) / 100) 130 P MODIFYING THE VOICES If ap is set to 120 Hz and pr to 100 percent, there will be no change to the “normal’’ f0 contour that is computed for a typical male voice. The effect of a change in ap is simply to independently raise or lower the entire pitch contour by a constant number of Hz, while the effect of pr is to expand or contract the swings in pitch about 120 Hz. Normally, a smaller larynx simultaneously produces f0 values that are higher in average pitch and higher in pitch range by about the same factor (the whole f0 contour is multiplied by a constant factor). Observing the values assigned to ap and pr for each of the voices (Table 9-4), you can see that the voices rank in average pitch from low (Harry) to high (Kit). Rankings for pr are similar, except e range compared with his average pitch that Frank has a flat, nonexpressiv pitch. The best way to determine a good pitch range fora new voice is by trial and error. You can create a monotone or robot-like voice by setting the pitch range to 0. For example, to make Harry speak in a monotone at exactly 90 Hz, type the following command. [:nh :dv ap 90 pr 0] | am a robot. Reducing the pitch range reduces the dynamics of the voice, producing emotions such as sadness. Increasing the pitch range while leaving the average pitch the same or setting it slightly higher suggests excitement. in pitch-synchronous updating of other dynamically Due to constraints involved frequency contour that is computed by fundamental the changing parameters, the above formula is then checked for values that are out of bounds with respect to the following limits. f0 maximum = 500 Hz fO minimum = 50 Hz Any value outside this range is limited to fall within the range. ‘To keep you from exceeding masmabla limits on the parameters controlling pitch, the constraints in Table 9-3 have been placed on values selected. If a [:dv ] commargd requests values outside these limits, the request is limited to the nearest listed value before execution. 131 CHAPTER 9 9.5.4 Changing Relative Gains and Avoiding Overloads Eight speaker-definition parameters control the output levels of various internal resonators. These parameters are listed below and are described in Sections 9.5.4.1 through 9.5.4.3. lo Loudness of the voice, in dB gv Gain of voicing source, in dB gh Gain of aspiration source, in dB of Gain of frication source, in dB g1 Gain of cascade formant resonator 1, in dB g2 Gain of cascade formant resonator 2, in dB g3 Gain of cascade formant resonator 3, in dB g4 Gain of cascade formant resonator 4, in dB s 9.5.4.1 Loudness, lo - Each predefined voice has been adjusted to have about the same perceived loudness, a value that is about optimum for tele- phone conversation. The value chosen is near maximum (if loudness were increased much, some phonemes would probably cause an overload squawk). A near maximum value was selected to maximize the signal-to-noise level of DECtalk. If you want to decrease the loudness of a voice, or make a temporary increase for a phrase that is known not to overload, determine the lo value in dB for the voice in question by referring to Table 9-4. Then adjust the voice by using the following command. [:np :dv lo 76]. | am speaking at about half my normal level. Because the lo entry in Table 9-4 for Paul is 86, this command reduces loud- ness by 10 dB. Perceived loudness approximately doubles (or halves) for each 10 dB increment (decrement) in lo. Software control over loudness is useful in a loudspeaker application where the background noise level in the room might change. For example, a vocally handicapped wheelchair-bound person does not want to appear to be shouting in a quiet interpersonal conversation, but may wish to be able to converse in a noisy room as well. Using a software abbreviation facility, such a person could type lo to select a command making the voice maximally loud, and sof to invoke a command setting lo to a reduced value. 132 e MODIFYING THE VOICES 9.5.4.2 Sound Source Gains, gv, gh, and gf - Three types of sound sources are activated during speech production: voicing, aspiration, and frication. The relative output levels of these three sounds, in dB, are determined by the gv, gh, and gf parameters respectively. The default settings (Table 9-4) for these parameters have been factory preset to maximize the intelligibility of each voice. However, changing the settings can be useful in debugging the system or in demonstrating aspects of the acoustic theory of speech production. You could change the level of one sound source globally, for example, turning off frication can allow you to hear just the output of the larynx. These parameters might have to be reduced to overcome certain kinds of overloads, but try the procedure in the next section first. 9.5.4.3 Cascade Vocal Tract Gains, g1, g2, g3, and g4- Changes in head size or other parameters can sometimes produce overloads in the synthesizer circuits. If this occurs, first check to see that f4 and f5 are set to reasonable values. If the squawk remains, you can adjust several gain controls, g1 through g4 in dB, in the cascade of formant resonators of the synthesizer to attenuate the signal at critical points. These gains can then be amplified back to desired output levels later in the synthesis. Use the following procedure to correct an overload (typically indicated by a squawk during part of a word). 1. Synthesize the word or phrase several times to make sure the squawk occurs consistently. Use the same test word each time one of the following changes to a gain is made. 2. See Table 9-4 to determine the default values for g1 through g4 for the speaker that overloads. . 3. Reduce g1 by an increment of 3 at a time until the squawk goes away. When the squawk goes away, note the reduction that was needed. If more than a 10 dB decrement is required, some other parameter has probably been changed too much. If the squawk does not go away at all, then you may need to reduce gv instead of g1. 4. Add this increment to lo to return the output to its original level. For example, if g1 was reduced by 6 dB, add 6 dB to lo (or g4 if lo is already at a ma;{ximum). If incrementing lo causes the squawk to return, then decrease lo slowly until the squawk goes away. CHAPTER 9 This procedure works in most cases, but using g2 rather than g1 can work better. If you can return g1 to its factory preset value (Table 9-4) and reduce g2 instead to make the squawk go away, then the signal-to-quantization-noise level in g1 remains maximized. If you can fix the squawk by using g3 or g4 rather than g2, more of the cascaded resonator system can be made immune to quantization noise accumulation. 9.5.5 The [save] Parameter and [:nv] Voice You can save a modified speaker definition in a buffer while synthesizing speech with one of the other voices. The Variable Val voice [:nv] is either male or female, depending on what values are stored in the buffer. If you call Val before storing any values in the buffer, DECtalk uses the Perfect Paul voice [:np]. The following commands store a modified Betty voice in Val and then recall it. [:nb :dv sex m save] (Store the modified Betty voice in Val.) [:np] | am Paul. (Use another voice.) [:nv] | am Val. (Recall the Val [modified-Betty] voice.) The buffer holds its contents until you power down DECtalk. You must reenter new voice characteristics if you turn off DECtalk. 9.5.6 Summary on Speaker-Definition Parameters Of the 27 parameters, only a few cause dramatic changes in the voice. The greatest effects are obtained with changes to hs, ap, pr, and sx, while moder- ate changes occur when modifying la and br. To some extent, DECtalk’s nine factory-set speakers cover most of the possible voices, so don’t expect to be able to find a voice that is highly novel and intelligible. However, you might easily find ways to slightly improve one of the standard voices. 9.6 VOICE COMMAND SYNTAX DECtalk uses the following voice command syntax rules. 1. Begin every command with a colon (:). 2. Separate each command and its parameter(s) from the text by a valid word boundary marker such as a space, tab, or carriage return. 134 iy g MODIFYING THE VOICES . You can include several commands in the same square bracket set. [:ra 150 :nb] Hello. How are you? You can include several parameters in the same square bracket set if the command allows more than one parameter. If you use several parameters, you must give them all before a second command in the same square bracket set. [:dv ap 160 pr 50 save :nv] Hi there. (The parameter group modifies the [:dv _] command.) [:dv ap 160 save :nv pr 50] Hi there. (Wrong. The parameter group is out of place.) . f youigive two conflicting parameters or commands, DECtalk will use the last command in the sequence. For example, if you type [:nb :np] Hello. DECtalk will use Paul’'s voice. . You can use phonemic symbols in the same square brackets with voice commands. Now I'm [:dv ap 90 pr 130 r”iyliy] thrilled! . If the value in a [:dv _] command is too low, DECtalk will use the minimum valid value. If the value is too high, the maximum valid value will be used. Once you give a command, that command applies to all further text until overridden by another command. For example, the command will make DECtalk use Kit's voice on all entered text until you enter another new voice command. All [:dv _] commands are lost when you power down DECtalk. 10. Invalid commands are ignored. 135 10 HOW TO GET THE MOST OUT OF DECtalk This chapter gives basic rules on how to develop an application and examples of how to use DECtalk in the most efficient way. 10.1 DEVELOPING YOUR APPLICATION DECtalk lets people use computer-based applications from any keypad telephone. DECtalk speaks messages in an understandable voice. When the user presses keypad keys, DECtalk sends characters to the host program. The following guidelines are for adapting an application to unique customer needs. General Guidelines e Relate to the problem from the user’s point of view, not the programmer's. Use commands that are logically related to the way users see the task. e 136 Frequent users become experts quickly. HOW TO GET THE MOST OUT OF DECtalk ”~ Writing Dialog - e Keep dialog simple, but meaningful, - * Organi:e each’message as follows. 1. Put the hardest elements to remember first. | 2. Put the easiest elements to remember in the middle. 3. Put information for immediate recall at the end. . e Tell users only what they need to know to continue a task. | e Do not use humor or threats. Keep dialog strictly factual and informative. - For example, say ‘‘Please try again,” rather than “‘Let’s try again.” - Help Messages and Replies . e Make help messages optional. Let users decide when they want more information. - e Repeat significant phrases in help messages. oo e Let users know that DECtalk is acting on their specific commands. For example, say ‘‘Sending reply to Ms. Jones,’’ rather than ‘Sending reply.” | Entering Keypad Commands e Remember, a telephone keypad has only 12 keys. - e Keep the same function on the same key. - e Refer to keypad numbers, not letters. People do not remember which X o letter is on which key. Use “Press 1 for next, 2 for previous, 3 to exit,” rather than ““Press N for next, P for previous, E to exit.” - e Create a standard method for users to exit from a subtask to the main dialog. 137 CHAPTER 10 10.1.1 Names, Part Numbers, and Alphanumeric Text In many DECtalk applications, you use the 12 keypad keys to enter a person’s name or an alphanumeric part number. Because the application program receives only a string of digits (and the # and * characters), the program must use the digits as an index to the actual data item. If you are designing a new system, you could specify numeric part numbers only. However, in the real world, a company is not going to change its existing warehouse methods to match DECtalk. The user will have to enter something that your application can translate into the current system. 10.1.2 Direct Numeric Encoding Using this method, the user simply presses the key labeled with the desired letter. For example, to select “DIGITAL” the user would press 3444825. You could assign the letters Q and Z to the 7 (PQRS) and 9 (WXYZ) keys, respectively. Numeric encoding is a simple method to describe and implement. Because users can recall more than one item for a given digit string, your application must provide a way to select alternatives. You could have users select alterna- tives by number, or you could have them step through a list by using next and previous commands. Numeric encoding is probably the best method for lists of names and for many part number applications. You can use this method for ID or password entry. 10.1.3 Two-Character Encoding Some applications use specific letters in their codes (for example, three-character airport codes). You cannot use direct numeric encoding to select specific letters on the keypad. One possible solution is two-character encoding. This method matches the three letters on each key to the three columns of keys on the keypad. The user presses two keys to select a letter. 1. The key with the desired letter 2. The 1, 2, or 3 key (to select the specific letter) For example, to select “DEC,” the user would press 313223. You could have users enter numbers together with the 0 (OPER) key. And you could assign the missing Q and Z (plus the space character) to the 1 key. 138 HOW TO GET THE MOST OUT OF DECtalk Ending Commands and Data 10.1.4 P = - You can use single-character commands and fixed-length data fields for many applications. But for complex applications or variable-length data, you may find it simpler to ask the user to end all commands and data by pressing a special key (such as #). Pressing # lets the program know that the right number of characters have been entered. 10.1.5 Application Development Tips Here are some tips for encoding the application itself. - e Use timeouts for everything. Assume that the user may hang up the phone at any time. Also assume that data entry will be quite slow. This is important when planning data base entry and record-locking strategies. b e People can recall about 5 seconds of text without difficulty. You can use entries such as “‘1 for yes, 2 for no, 3 for maybe,” but do not ask an . - e DECtalk tends to spell out text that may be ambiguous (for example, part numbers). You can write a small subroutine that recognizes certain - - untrained user to remember anything more complex. strings and pronounces them in a form more suitable for your specific application. e If your application accepts data from the telephone keypad, make sure the operating system can buffer type-ahead characters. Also, make sure the operating system responds to DECtalk’s XOFFs. o DECtalk speaks pending text if the host computer stops delivering text for 5 seconds. This feature may be a problem on an overloaded system. You may need help from the system manager to get more resources or adjust program priorities. o e When you have DECtalk speak information from a data base, remember - repeat function for complex subject matter. If you have DECtalk read mail or other unstructured text, you should offer a back up one sentence » been heard. -~ ; that the listener hears the information only once. You should offer a function by using the index commands (Section 8.8) to signal what has 139 CHAPTER 10 10.2 DEVELOPING AN ADVANCED APPLICATION The development process described in this manual assumes that your applica- tion has full control over the text being spoken. If you are developing an application that must read arbitrary text (such as electronic mail messages), your task is more difficult because almost anything can appear in the text. In most applications, DECtalk is controlled by a computer. Even the smallest personal computer has enough power to preprocess (filter) text to handle application-unique cases. So, you can put application-specific text filters in the controlling computer, rather than add many additional special cases (and switches to enable and disable them) to DECtalk. For an electronic mail system, you can program an electronic mail preprocessor to make the following text conversions before sending the text to DECtalk. 1. Parse the header boilerplate to remove extraneous information. 2. If DECtalk is speaking paragraphs of text, add the [+] symbol to a blank line separating each paragraph. 3. If words are separated by / or another special character, replace the / with a space (‘‘Raleigh/Durham’ should become ‘“Raleigh Durham’ for DECtalk to say it without spelling out the entire string). 4. Write your own application-specific dictionary for words, such as proper names, that DECtalk mispronounces. If DECtalk is connected to a data base containing names, consider adding a pronunciation field to the name record, entering phonemic text when appropriate. 140 HOW TO GET THE MOST OUT OF DECtalk TM - 5. Scan the text for strings of numbers in a format understandable to your application but not to DECtalk. For example, if you can extract the time format from an electronic mail message, you can add code to your appli- cation to expand it to its “o’clockTM form. - 6. In many applications, the listener will want to write down number strings - for strings of numbers and, when found, send them to DECtalk in a way (such as prices or telephone numbers). Your application can scar the text that includes pauses at critical locations. For example: The number is, 1 (800) 555,12 3 4. [:ra 120] | That is, [_<300>] 1 (800), [_<500>] 5 5 5, [_<900>] 1 2 3 4. [:ra 180]. > The spaces between the numbers ensure that ‘‘five five five'’ is spoken rather than ‘‘five hundred and fifty five.”” The slower speaking rate and the silence phonemes of specified durations were carefully selected to permit enough time for the listener to write down the entire number. Silence phonemes were positioned after an orthographic comma to minimally o - disturb the intonation. ~ As another example, if your application speaks money (such as bank balances or item costs), it might say - Your balance is $244.05 | ~ - That is, 2 4 4, [_<400>] point 0 5, [-<400>] dollars. 7. When spelling an item out, your application may have to distinguish the case of letters. Consider using different voices to distinguish between uppercase and lowercase letters (for example, Harry and Paul). 141 CHAPTER 10 10.3 OPTIMIZING THE QUALITY OF SPOKEN TEXT In some applications, it is important to get a few sentences to sound very good because they are used often (for example, to open a dialog with a customer). Usually DECtalk does a satisfactory job, but sometimes it mispronounces a word or gets the phrasing wrong. In these cases, you may wish to spend the time required to optimize the quality of a particular sentence. The following steps are suggested. 1. Send the sentence to DECtalk and listen repeatedly, focusing on each word in turn to detect any mispronunciations. . For each word that is mispronounced, there are several alternatives to get the correct pronunciation. For words that have two alternate pronunciations, and DECtalk has cho- sen the wrong one, try placing a right parenthesis in front of the spelling, which asks for the second pronunciation. (See Section 7.6.10 and Appen- dix D, which contains a complete list of words for which two pronuncia- tions are known to DECtalk.) | )read yesterday that - - Replace the correct spelling of the word with a clever misspelling (Section 7.3.). | red yesterday that - - - . If the word is a compound, use a hyphenated spelling to help DECtalk see the two parts of the compound (Section 7.6.9.). The slide-show host - - - . Replace the text version by a phonemic string. Use the commands and phonemic symbols described in Section 7.5. Be sure to place the lexical stress pattern correctly (Section 7.6). For example, you can replace the word “Alphonse’ with [aelf’aans]. 142 ““““““““““““ HOW TO GET THE MOST OUT OF DECtalk 3. Sometimes, a word does not sound quite right even when the best alter- nate phonemic representation is selected. Usually, such subtle pronunciation defects are not correctable. However, if they are due to incorrect phoneme durations, then you can specify the duration of each phoneme with the commands described in Section 7.7.1. This process is difficult and probably should not be tried until you have mastered the other steps described here. 4. Now that each word has been pronounced in the best possible way, listen to the total sentence rhythm and accent pattern. If it is not right, try each of the following steps. 5. If it sounds like there should be a short pause in a particular sentence location, but DECtalk says the sentence without a pause, try inserting a comma between the words in question (Section 7.6.11.). 6. If the comma makes a pause that is too noticeable, try a phonemic verb- phrase-boundary symbol instead (Section 7.6.10.). The old man [)] stares at everyone. 7. If the wrong word is emphasized in the sentence, try to point out the word that should receive most emphasis by placing a phonemic emphasis symbol before it (Section 7.6.3.). The [']Jold man is the trouble maker, not the younger one. 8. Use the pitch control symbols [/], [\], and [/\] to make final adjustments. 9. If none of these steps gives you a satisfactory sentence, you can still specify durations and fundamental frequency motions for all phonemes with the commands described in Section 7.7. To avoid too much trial-and- error effort, you should have access to a speech analysis facility to analyze a recording of the way the sentence should sound. For help with these steps, call your Digital sales representative for the names of people who perform text optimization and exceptions dictionary development. 143 CHAPTER 10 10.4 COMMON ERRORS When using DECtalk, try to avoid making these two common, major errors. 1. Forgetting to change back to default voice If you forget to return DECtalk to the standard Paul voice after using one of the other voices, all future text will use the voice currently selected. It is a good programming habit to return to Paul’s voice after every text message. 2. Accidental entry into phonemic mode If MODE_SQUARE is on, permitting phonemic input, then it is possible to get into phonemic mode unintentionally. If the text contains an unexpected [, or if you forget to type ] after a phonemic entry, DECtalk is left in a state where it tries to interpret text phonemically. This error makes DECtalk garble speech. In fact, DECtalk is simply doing the best it can to interpret text phonemically, discarding phonemically illegal letters. DECtalk keeps track of the number of extra [ symbols in the input relative to the number of ] symbols it has seen. If text happens to have one or more extra [ symbols, you may need to type several ] symbols to get DECtalk out of phoneme-input mode. 144 s = @ - . i G fae G ,"'éz’%fip“&‘@; G o ‘”izwtvwf"n}"‘ . L e . Ce Lo . L e w“ég" L . wvflfi"‘%’%’;fiv\i; . ; o G " ‘,5 . 0 o L: i i e . . L - ( . L . L ) L i. %@:n . o G i i o S r L o e L i o i D) 5 e G o ; %%3 . i ‘ e o o L L fi o 'q,:‘f‘ - - - - i i o oy L 0 L - e i L i e i . . o L oo ‘%. . i .4 2 G : . : s Ji) - Mi« o "‘\559 o . o . : . o. L o éfié‘; :’4,\ o e o - o L . o5 i D - - . . | :av 0 o S , g: - i . . :. i g o s i o - - - - = z = i r = o e s i - = i 4 - i ng‘. o i - L — o als - o = 5 = S S ,»v,?,v e e | L . L % . oi . e = i - - o L e é&% = - e o - o L o < e i g - i i = o o ey S D s o o e ,fi %';: . = o ~ . . '3\' i ‘ = -= 0 o s i / i : foa i . o i At}“"%x; SRR . w?fi@" o g S o ; : . e i ! i . . . o Q:‘g Lo i - o i "*:\‘f‘“‘ %fl’%&*“ v S i g R b ISR .IE: T ‘k@%“‘l;,, ..o : 1 i v 2 s ) B . | 7 Gl . L o . i = =- . A v i s . Qy«w % &’s o Sl . %i:flf’" e - = e e s e s = e o . o i *«fig{? S = .- e e i . . i 2 - - = %e o — e - e o .;l e iG L . t‘fl}' ‘;x ot sPR o = o - = : TR o 3%*“ e i i - W R - . fi&&%‘; - L S g i - . L “’f}%%l..o o i Ai . L - 0 5 h 2 o e i e ! . o b o ol e = L = . - i ) e -§ : - R s L - s f“ SREgsa e . L . 4 oo RF{%, - - i L s - = - A - = :ag e = - = - o o - = i, o - S - % e G e = 5 i W"fi: i | - dle e e . h%% @v"" . . @,{d‘%@\.‘ - M' il wedime . e = o 15 i . 4 ) o :‘), e o = : o| éé:',== e : i 5 = b . e = i - i : o . i - 0 o - e e - >- g'w‘ e - 3 .. i = : o o - e o e Lo o o ? ‘ L @%@@%%\LV. 7% L i w}@% o o s e io @; : . i L : ; : . ?’ . o :%@A:q ; ¢ . i S e Gl o | 0 s i e @W‘f e ’%’%&%‘?«% o . ; ‘ 0 . o S v s - A o i o a5 S r‘°» G i G ”;w, . . L : e e i o e | e o . o ‘ i i e . | i o . . L L G S - = . . e . . i . = e = e .i . . . o . . ‘ L "44';% -. . | ‘ ‘ s e . . g - wel ' . - iy e . o o - fhe % e . . . . .. o o . o G : e L e Go e . o 2 = o = - . W, Wi = - Sro L o o . - A S G i e e - - = e . . o i et i £ oil 4: ! e Al b i vg_‘{‘g@%ri ‘ . o : i s i 2l i i i e i - i) s il i i . ) i | ) ‘ i e i 7 ~, : H o e y?*‘)kff%ffiég%“ o ) i, : io : G s Ll e . . fiu«@w@}%«: . o i & . . o o A L . L . . - ' : oy i . o S e = o2 = - ARy -. = o . : o - o : B - o L - ; e % ; w . o L ! e o e o - g - S Sl 5 : e e e N - o o . e Gl e bl = . - A o = S ,g L L »"’*:?fw. i i e | Lo e i T . . i . he i Hly o R 0 - G g -= . = - e S L o . - o i i - . i = - ; . a . . . . : L 0 e . e ; | = = i i o - G L4 . . . s ,5 i C 4 P o ple >- i ¢ . s o L " . i - o Gl o . = -o si - i . . .; i i A . - . . ‘ . ‘ 4 . . . . : . o . L . @w%g S < ! . o b e. L e e . . E e e o o o , . . e o : . , . . : ‘ , . v ‘ . , . ‘ i . . . . g?‘% x S e i o i g L e B L o . - b : ! - i § . s _ . . 5 Qg . e o e 2 1 : | ‘ ' o 7 3 . . ! . . G {.( o 2 e o o = e o .= : G ’%’ o L i - e - = i} oL . = 2= (R -~ o - ~ i kfi!i:« . i o s . . v e = b P i Gi = . e - . o = i 1%? 2 = :‘g; oo = - G - io;- e - o - e %fi}” . - V o ) e = e o - nrs - P - s b o 5 s .- s | e S e - - - }}e- s S . o o i e o ; .s. - - - o -52 o = - i . " i = i M G L L o o ‘ DECtalk ESCAPE SEQUENCES, STATUS REPLIES, AND PARAMETERS This appendix summarizes the DECtalk escape and control sequences, status replies, and their parameters described in this manual. The following tables list escape sequence mnemonics and their ASCII representations and parameters. You can verify each ASCIl character by checking the decimal value that appears below the character. 146 g APPEN DIX A A i ' . “:- xr e e i = = = o = = - S . o i o i b e e - S o = e —B :« = i s b ‘& e . e So . .o = - -~ - = i e A, S L m o %@ h . S e o o o ».;;-, e .:i‘io = - {% W - e = . - & mz:' -= o i iki i N Wil o et c o - o i 2 anag : . ¢ i i b, . A i G : 0 ; = e . o -~ oo & e = = iy g i o eo : , o - e o o e e o . LA ?@’3%{ o e & . = - — v 0 e R o o0. oy o : . G . i. . g, e o . = e . i ‘”, i - A i L A, S o e i o I y ] " . 2 vf;\ G i & b A i e i - ! e g . w g o r . 9 - i i'(‘a. Hhb e =. . e '%@’1 . i, - e . . i . - - L e . g - o S o o B AT Sy = . Seeoes o i fiy“4 . e i e i ! . . e ee M e R ‘ *(;,fw “‘l( o - S ,g_ - G 148 - = A i o . '7”4“:"4 . %‘% ' - .s e G 0 i . . e i 4 o &.‘é:fi‘ ‘Q’q? ,;j:q,\wgv GHNR . S S L i DECtalk ESCAPE SEQUENCES, STATUS REPLIES, AND PARAMETERS e L . i RS v,, st A i ‘ o - e 'ifxgzw% ?ffl’:;?" i . \%Ag o . L o i i i L i o o e i s i i e = - s -= e = i ot SN = - S = .. i . = - . S o - i = S- o - i . Ko o Ll S . A . 3,.; L . i Qg:&\z = - o . - o ,:‘E . e e S e G i o Chiils cn e = = e it 2 . v - . il e . o o o WG o £ - e o i = = o s S= . . s . GA e e s o - = - - v e= R e = e e ol : i . At ol . i o S - = o - s - - L 149 S APPENDIX A o ii o i %,‘o T 5 o D . o o iR o i i it i ey ."% o . o i 4 0 = I e . i D L ol @ 3 o e e o e e Y 2i e i A e ., i . . i oi i. i ot i i i, L A G, . N oG A 0 i iy . e o i i i Ay, e PN AN oJons TI A . . i . A . o i - . - o = - - . = - - eST . o . G ¢ iy . - e . - S 5 eI G e R 150 %-.-@%-WQW“.iAA.-A5\%fiw,o-=.2%,e-o--S-e-SA-«&‘-S%=oR-.3fi%@s%&%m-2=. io v .- @ e i ih . o - 152 o o " L " 4 Gl o sl i ; o 5 & . e, Gl = -- = = e - -~ e %@m - - .,: =,, .:. S -.e.%,e=5,T=O%.-=R-.s%-o4S.es5. -;.s--X:-.i=-e=--=,o--=.=.=5.-=-E‘i-,=-o .e,s-l=S :-.::---2--oe-=V--2 IR-N-.=-=.% i£-@e-:-.:- 1)W-¥-= ...--‘.-.,e-‘-.‘s.--A.-ls.,.‘f >...e.--e‘. ...-, ‘ .fi@»e-.-- ‘..--,-‘5.=-,.%mw;&.«%.‘.-W@Wfl.%&%.,A%fi..e mW&mw%mfwiwf%?, =--.--%Mmw.=.»wfi=w-‘--M&ex.;»f.i-%y-m%%wf%M-if:Wiw»W«%enmW@e..w-m.fMlfWemWswM-.Ws-K..W%.M;&%.W..-.-.--.-.--AoY-=fl-‘.==_A-:‘s.w.%5:&.Lm;uw-n..-s.‘,.%‘ee.-.=.o-s=--;:-.-‘‘u-%,m.w5... =‘,-m%Sw-%.\flyu.m?=s ,%.==--..-,:-fl.-.=-%os,..-|->==‘-:‘o-~-&-==.WL%=-«M,%.uemo-: wem=a5.--...>-.‘.e=:e...;:e>..-.‘--i=;o.]:.,1<:e...o |- R i . o o = e i = - . . .e - = i o " i 2= o - i - e -=.‘.: So=e—s->=-=>> o G Ov l&; -- A, APPENDIX A e i 4«‘@= L G i o i ,«’ o o e &- - -e.E‘: A R i 8 ,: i, AR o el sty e Y i - A o . o e ooy, o Si el S P S AR s sty A AR CONFIGURING THE DECtalk MODULE This appendix shows how to configure and test a DECtalk module (C5005). B.1 SETTING THE CONFIGURATION SWITCHES The DECtalk module has an eight-position DIP switchpack. See Figure B-1 for the DIP switch settings that determine the required serial line speed, data format, and keypad mask power-up status. If necessary, change the switch settings according to the switch position lists in Sections B.1.1 through B.1.4. CAUTION: Use a ballpoint pen, a small screwdriver, or the equivalent to set the switches. Never use a lead pencil. The default (factory) switchpack setting provides for 9600 baud, 7 data bits, ignore parity, and the keypad mask set to all 0s. In the default setting, all switches are off as shown on Figure B-1. NOTE: 154 | Switch positions are on (closed) and off (open). CONFIGURING THE DECtalk MODULE SWITCHES 12346678 ol T TTIT DEFAULT SETTING |SRRERN— (i) —— n;u 13 pos—— MA-0347.-85 Figure B-1 DIP Switchpack Settings 1565 APPENDIX B B.1.1 Line Speed Switches SW6, SW7, and SW8 set the data speed on the EIA RS232-C line as follows. SW6 SW7 Off Off Off 9600 Off Off On 4800 Off On Off 2400 Off On On 1200 On Off Off 600 On Off On 300 On On Off 150 On On On 110 NOTE: Sws8 Function (baud) DECtalk uses one stop bit at all speeds except 110 baud, when it uses two stop bits. B.1.2 Data Format Switches SW4 and SW5 are used to set the data format on the EIA RS232-C line as follows. SW4 SW5 Function Off Off 7 bits, ignore parity On On 7 bits, odd parity On Off 7 bits, even parity Off On 8 bits, no parity B.1.3 S Keypad Mask Switch SW3 determines the power-up default setting of the keypad mask. M SW3 Off All Os at power-up On All 1s at power-up NOTE: 156 Function Switch SW2 is not used. CONFIGURING THE DECtalk MODULE B.1.4 Busyout Switch SW1 determines if the DM pushbutton on the front panel is enabled. SW1 B.2 - Function Off DM disabled On DM enabled TESTING THE MODULE To test a module, perform the routine self-test as follows. 1. On the module you are checking, press the DL, CL, and ST pushbuttons in that order (Figure B-2). The LEDs on the module light for about 0.5 seconds, then go off for 1 second, and the SP LED flashes a few times. 2. If the module passes the test, the OK LED lights continuously. If the module fails the test, the LEDs flash or stay off. Call Digital's Field Service. 3. The module repeats this test every 15 seconds as long as the ST push- button is down. To stop the test, release the ST, DL, and CL pushbuttons in that order. |If the module passes the test, it comes up ready to operate. NOTE: Remember to release the ST, DL, and CL pushbuttons or the module will continue to run the self-test. 157 ( PUSHBUTTONS 1 1 = OKAY B LEDS w [0 00 0] APPENDIX B = SPEAKING = RING INDICATE = OFF HOOK (© oTM = BUSYOUT (@ DL = DATA LOOP ©@cL = CONTROL LOOP ©sT = SELF-TEST © x1 = EXTRA 1 1@ x2 = EXTRA 2 A A, ® 3] L Tol o To o) ol o o o o o} o el - 0 o) 19 o} i ol © A, ° o| RETAINER COVER MA.0359.85 Figure B-2 158 DECtalk Module Controls ABBREVIATIONS AND ACRONYMS This appendix describes how DECtalk processes numbers, abbreviations, and acronyms, and how it decides whether a word is pronounceable. It also includes suggestions for correcting spoken output problems. C.1 TEXT PROCESSING RULES | DECtalk processes text to be spoken by applying the following rules in this order. 1. The input text stream is broken into groups of letters delimited by whitespace characters (spaces, tabs, or carriage returns). 2. If the letter string is not already phonemic text and is to be converted, any understandable numbers are first expanded to their word equivalents. 159 A APPENDIX C 3. Some abbreviations are expanded to their full-word equivalents. DECtalk uses a list of numeric abbreviations and rules for a few special cases. The user dictionary cannot override this conversion. 4. Each letter string is broken into pronounceable entities. Punctuatio n (including parentheses and quotation marks), hyphenated words, and sequences that must be spelled out are analyzed. Some abbreviations and acronyms are recognized, plus any entries from the user dictionary. 5. Any text that DECtalk recognizes as unpronounceable (for example, a sequence of letters containing no vowels) is spelled out. A few rules operate on sequences of words. Interspersing phonemic symbols or DECtalk commands (certain escape sequences, for example) will block these rules. Therefore, make sure that spoken text is as contiguous as possi- ble and keep breaks in structure (from English spelling to phonemic transcrip- tion) to a minimum. The following terms are used in this appendix. Character Any of the printable ASCII characters, including letters, digits, and punctuation. Digit string A string of digit characters (0 through 9). DECtalk decides whether these should be pronounced as numbers or independent characters. Number A string of characters (containing digits) that are processed as a group by DECtalk. For example, “123” is pronounced ‘‘one hundred and twenty-three,”” while ““1(2)3"" is pronounced ‘‘one left- parenthesis two right-parenthesis three.” 160 ABBREVIATIONS AND ACRONYMS C.2 NUMBER PROCESSING DECtalk recognizes seven general number classes, and a large number of special cases and subclasses. The general classes are as follows. Part numbers Strings of mixed letters, digits, and the - and / characters. Cardinal numbers ~ The simple numbers that are used in counting. Examples include ‘123, 123,456, ““12.345," *“01234,” “+1.2E-4,” and ‘“12%.” Simple strings of numbers with “st,”” “nd,” “rd,” or Ordinal numbers ‘“th’” added, for example, “1st’”’ and “23rd.” Fractions Examples are “1/2,” “'2/3,” and “44/100%." Money Recognized by the presence of a dollar sign ($) or a pound sign (£) as the first character of a word. Dates | Time of day In Digital’s standard format (23-Sep-1983), and expandable into their English equivalent. In the 24-hour format used by the VAX/VMS operating system (11:04:03.02), and is spoken in its English equivalent. The words “AM” and “PM" are correctly processed after time values. C.2.1 Part Numbers A part number is defined as a string of mixed letters, digits, and the - and / characters, containing at least one digit. The following are examples of part numbers. DTCO03-AA VAX-11/780 54-15966-01 DECtalk first attempts to find the part number in the user and built-in dictionaries. If it is unsuccessful, DECtalk breaks the part number into strings of letters, strings of digits, and separators. 161 APPENDIX C A series of words separated by / is spelled out. DECtalk correctly speaks part numbers of the format XXX/YYY. However, it will not recognize words such as “Raleigh/Durham” unless they are stored in the user dictionary. A string of digits within a part number is spoken as follows. 1. If the digit string begins with 0 or is more than nine digits long, it is spelled out (“VS01"" becomes ‘‘vee ess zero one’’). . One- or two-digit strings are spoken as normal cardinal numbers (‘*‘PDP11" becomes “pee dee pee dash eleven”). . Three- or four-digit strings that end with 00 are spoken as normal cardinal numbers (“VT100" becomes ‘‘vee tee one hundred”). Other three-digit strings are spoken as ‘digit, pair of digits” (‘*VT220" becomes ‘‘vee tee two twenty”). . Other four-digit strings are spoken as ‘‘pair, pair’’ (‘“DEC 2040 becomes “deck twenty forty”). Note that if the second pair begins with 0, it is pronounced “zero” (“IBM 1401” becomes ‘‘eye bee em fourteen zero O‘ne’,)' An alphabetic string is spoken as follows. 1. One- or two-character strings are spelled out (“VT100”’ becomes ‘‘vee tee one hundred”). 2. Longer strings are searched for in the user and built-in dictionaries. If they are not found, they are spelled out (“DEC 2040 becomes ‘‘deck twenty forty’). DECtalk cannot handle all possible part numbers perfectly. The following examples of part numbers are inconsistent with DECtalk’s number and text processing algorithms. 162 ABBREVIATIONS AND ACRONYMS CICS/VS Not a part number - no digits. net10000 “Net” is spelled out since it isn’t in the dictionary. 1E-14 DECtalk thinks this number is scientific notation. When processing numbers and number words, DECtalk first removes leading and trailing punctuation. DECtalk translates “(123)” as ‘‘one hundred and twenty-three.” C.2.2 Cardinal Numbers A cardinal numberis a string of digits. If commas are mcluded they must break numbers into groups of three. For example, “123,456"" is correct, but “1234,56" is not. The latter will be spelled out as “one two three four comma five six.” Cardinal numbers may also include decimal fractions (‘*12.34"") and scientific notation (‘“12.34E56"). In scientific notation, the exponent must be less than 100. A cardinal number preceded by + or — will be spoken as “‘plus’” or “minus” whether or not MODEWMENUS is on (Section 4.;6.2). If the first dagatis 0 (''01234""), the number will be spoken as a string of dnglts as would be appropriate when reading postal zip codes. If the number is greater than 999,999,999, it will be spoken as a string of digits with pauses between each group of three digits. If commas are provided, they will control the pause behavior. If not, the output will pause after each group of three digits, provided six or more digits remain. Therefore, 12345678901 will be spoken as ‘123, 456, 78901 rather than “12,345,678,901.” Four-digit numbers without commas are spoken in a variety of formats. For example, “5000’’ becomes ‘‘five thousand,”’ while ‘1984’ becomes ‘‘nineteen eighty-four.” This yields reasonable behavior when processing years. 163 APPENDIX C Sometimes DECtalk does not understand the text well enough to pronounce the number correctly. Here are some examples. e The telephone number *(617) 493-8255"" will be spoken as ‘“‘six hundred and seventeen, four ninety three dash eight two five five.” You can correct this by using one of the following steps. Spell out the digits as ‘‘six one seven, four nine three, eight two five five” (notice the commas to make DECtalk pause at appropriate places). Separate the digits with spaces and commas: “617,493,8255.” e The software cannot easily distinguish between ‘‘dash’” and “minus.” How much is 10-15? Bake this 10-15 minutes. The MODE_MINUS option mode (Section 4.6.2) determines whether the - is pronounced as ‘‘dash’ or ‘“‘minus.” Some number formats are difficult to recognize out of context. For example, the International Standard Date format (83.09.20) and the United States telephone number format (noted previously) are sometimes used by manufacturers for part numbers. These ambiguous formats are not recognized by DECtalk and you must correct them. After a cardinal number, DECtalk recognizes a set of standard numeric abbreviations that are expanded to their English equivalent. These abbreviations are hardwired into DECtalk and cannot be modified by the applications program- mer. DECtalk correctly generates singular and plural forms of these abbreviations. Table C-1 lists the numeric abbreviations recognized by DECtalk after a cardi- nal number. You can write them in either uppercase or lowercase letters, but you must follow them by a period, as the table shows. Other abbreviations, such as ‘“‘cc.,”” are spelled out by DECtalk. The period that follows such an abbreviation is not pronounced (‘‘cc.” becomes ‘“‘see see’’) but terminates the clause, while the period in number abbreviations does not terminate the clause. 164 ABBREVIATIONS AND ACRONYMS g. }:“ i L ) o b o o . e o ;‘f«j e R . Sy e ol i AT i i o M,,“” - e e 0 o igj«fi e . o iy o . ; — - s = == - a0 ey i b . . . e . - =S = e = = , %t“ . i o e i ‘ . - 9"3!4 ) fl;vegf;»‘i: o o S . o e 20 e. -AR - oe -- - = - b - o e e - n 4 ffi%}w e i i s . e i = - e . i 7 A e i ! . - »fi i . -. o LA ; A fl'h;' o o i, i - et e s s 0 L e o o G o A i ) i L o C I . e . . v b e % S o e iy . ’\\g"?;. o .S }@" i s e i S e e i e . = = - = il o i s . o o b . e o - e e - i L0s e . el . e Gl b e =e = F . = o 3‘:‘ = - e -- s o . o . 165 APPENDIX C C.2.3 Ordinal Numbers Ordinal numbers are formed from a string of digits (that may contain appropriate commas) followed by “st,” “nd,” “rd,” or “th.” Ordinal numbers are also generated by DECtalk when fractions and dates (in standard Digital format) are processed. DECtalk requires that the word portion of the ordinal number be correct. For example, “1st” will be processed correctly, but *‘2th’’ will not. C.2.4 Fractions Fractions consist of one or two digits in the numerator, the / character, and one to three digits in the denominator. The numerator may range from 1 to 99, while the denominator may range from 1 to 100. DECtalk correctly generates singular (1/3) and plural (2/3) forms. Fractions can also use the ordinal abbreviations described in Section C.2.3, for example, “2/3rds.” C.2.5 Money DECtalk assumes a digit string is money when it is introduced by the currency symbols $ or £. When the § or £ is recognized, DECtalk allows two forms of number strings. e General digit strings have optional decimal fractions (‘‘$1 2.345"). e Digit strings are (“$12.34"). in dollars and cents (or pound and pence) format DECtalk recognizes a number of quantity words (hundred, thousand, million) that modify number processing if they immediately follow the money word. For example, “$1.23" million is pronounced “‘one point two three million dollars.” 166 P ABBREVIATIONS AND ACRONYMS C.2.6 Dates DECtalk mcogmzes dates written in Digital’s standard date format, such as “23-Sep-1983," “23-Sep,” or ‘23-Sep-83.”" However, it will promunce “Sep. 23, 1983 as ‘‘September twenty-three, ninteen eighty-three.” C.2.7 Time of Day DECtalk recognizes the time of day when written in the format used by Digital operating systems. Because this format can easily be confused with part num- ber formats, DECtalk does not try to convert the digit string. Instead, it speaks the string with appropriate punctuation. Therefore, ““12:00"" becomes “‘twelve, zero zero,’”’ rather than “twelve noon.” DECtaIk‘cormctly processes VAX/VMS time values, including the fractional second value when it is present. C.3 ABBREVIATIONS DECtalk recognizes, expands, and selects from a set of abbreviations taking into the account that the abbreviations may be ambiguous. C.3.1 Abbreviations Processed by DECtalk In addition to the abbreviations that are recognized only after cardinal numbers, DECtalk recognizes two special cases, “‘Dr.”” and “St.”” The pronunciation of these abbreviations depends on whether the next word is capitalized. e If the next word is not capitalized or if there is no next word (the clause has ended), then “Dr.” is pronounced “drive”” and “St.” is pronounced “street.” The next word must be on the same input line for the rule to work correctly. e If the next word is capitalized, then “Dr.” is pronounced “doctor” and “St.” is pronounced ‘‘saint.” Following these rules, DECtaIk correctly pronounces “Dmctor Dobbs Drive” and ‘‘Saint Louis Street’’ in running text. 167 APPENDIX C s, C.3.2 Abbreviations in the Built-In Dictionary g Table C-2 lists the abbreviations stored in the built-in dictionary. Some of these s abbreviations are also in Table C-1. If the abbreviation can be recognized by DECtalk during number processing, then the English text form of the abbreviation is spoken. Otherwise, the built-in dictionary form is spoken. Abbreviations stored in the user dictionary override those in the built-in dictionary. The numeric abbreviations can be blocked by including a dummy phonemic string, for example, ‘1 [ ]ft. 3.” s Dictionary entries that contain only uppercase letters, match text words that contain uppercase letters in the same positions. However, the entries that contain only lowercase letters, may match text words that contain either lowercase or uppercase letters in the same positions. i “Apr.” matches “APR.” but not “‘apr.” This is necessary to distinguish A between words at the end of a sentence and valid abbreviations, such as “mar’”’ (to damage) and ‘““Mar.” (for March). o If a word in Table C-2 is written with a terminating period, you must include that period in the input text. (It will not terminate the current clause. [ i 95 i o & e o F il ‘ ! : - . . T 4 ¢ e o e &% sy, , il e o £ g ya3R ko Judt : 2R o I G G S s e " o o R Pl" e S G o 23 > o, . ii A o . o 5 o , : o ; s ~ i - . A. i b o - i e i ) e .~ . ; G A R i o Wi G w% L - e - ) W R . P i L . i P G W 00 T e % S.: 1 b e i A e . G e= et b e g y i S : o - o : e i i uo S ~ i e . o S S G e o i 1 : i i 8 i . n Shs L o e e S .G . L . . R o ~.} . = L . - E e L SR o 7 s . e ?'.m& " y, A P o -- — .o e , 9 i s, ABBREVIATIONS AND ACRONYMS it- Hi . i o . P L o o i i afi,‘éfi o i i L : L o L . i [ -o L . o s e «;'2.-’. o o e - i o- G o e i - L o i e . e . . - o A . R i . o o Gl A 0 . . = . - - i b - . - - i . it s 2 - e oe .. S-=z - . = -- o - i , e . i o = " e e Lo . = . = = = - e w - i 2% wx{?’o o = e G o - . '«%‘\’m;ica:% L B - L L -i e i o i e e o Wfiu i = o & i -s = . e e i oo ; el W i %/ i S o = - - = . - e e ~ o %%« e L= - e e - S . -o T :g’fi i e B loeiE oy 0 e «fi%}%’; i Bl sty L A i e e P ii . o 7 S - ,;,w % o e L . N i : e G i L o . i i . =. - . - e -i- - E 2 . AR i . - L e SRR e o o APPENDIX C L C.4 WORD SPELLOUT STRATEGIES After number processing, DECtalk must decide whether to pronounce a string of characters as a single word or a compound word, or if it must be spelled out. DECtalk uses the built-in and user dictionaries and a series of word transformations to make this decision. C.4.1 Word Spellout Tests Number conversion, number abbreviations, and the ‘‘Street/Saint’’ test have all been performed before DECtalk begins the decision tests. Punctuation has not yet been removed. 1. DECtalk looks for the word in the dictionaries. First the user dictionary is scanned, then the built-in dictionary. (Note that the user dictionary takes precedence. If the word is found in that dictionary, the search stops.) The dictionary lookup procedure involves stripping suffixes such as ““-ed” and “-ing.” If the word is found in the dictionary, DECtalk speaks the associated phonemic transcription. . If the word is not found, any punctuation around the word is removed. If present, the punctuation symbols *“ ([ « <[ are removed from the front of the word, and the punctuation symbols ’ ) » > ] are removed from the end of the word. The square brackets [ ] are already discarded if MODE_SQUARE is on. If some punctuation was removed, DECtalk performs a special test for abbreviations “(Gen.)"” and embedded sentence punctuation (‘‘| went (last year?) to school”). Next, DECtalk looks for initialisms. (An initialism is a word written as a string of uppercase letters that may or may not be separated by ‘“.”’) For example, the string “APQ" is pronounced as ‘‘aye pea oh.” Other strings with embedded periods are spelled out. Therefore, ‘‘a.p.0.” would be pronounced as ‘‘aye period pee period oh period.” If an initialism is recognized, the last ““.”” will terminate the clause, unless it is followed by some other punctuation. 170 ABBREVIATIONS AND ACRONYMS . At this point, all diacritical marks are removed. If the word is still not found, it is examined for hyphenation (as in com- pound nouns) and the single-quote character. A test is also performed to make sure any word or word fragment has enough consonants and vowels. If the test fails, the word is spelled out. This test ensures that the word does not contain embedded punctuation. A word like ‘‘sys$system’ is spelled out. If DECtalk decides the word is pronounceable, it processes each part of a compound noun independently. If the word is not in the dictionary, it is processed by the letter-to-sound rules. If the word was pronounced, DECtalk examines the punctuation after the word for silence or clause terminators. The punctuation marks " ) ]} produce a brief silence (only one silence is produced, even if several characters are processed). The punctuation marks ; : !, . ? terminate a clause. . If DECtalk decides that the word must be spelled out, the entire word is spelled, including left and right punctuation. If the last letter of the word is a clause terminator, it is considered punctuation and is not spelled. 10. A single letter, digit, or other character within quotes or parentheses is spelled out (but the punctuation isn’'t spoken). “A" is pronounced ['ey] rather than ““uh.” This helps DECtalk process lists such as the following. (a) books (b) newspapers 11. Brackets, parentheses, and braces act as commas, producing a clause boundary. Therefore, parenthetical expressions (such as this one) sound more natural. 12. When text is spelled out, a brief pause is added after each character. This makes it easier to transcribe text, such as part numbers. 171 ABBREVIATIONS AND ACRONYMS i C.4.2 Multinational Characters DECtalk pronounces the names of all multinational characters. Note that this does not mean that DECtalk will correctly pronounce words from other languages, such as “Tromsg,” ‘“‘dofa,” and ‘‘garcon.” For example, A ‘dofna’’ would be pronounced [d’ownax], but A would be pronounced ‘‘en tilde.” The Digital character sets are described in Chapter 4 of this manual. I 172 'WORDS WITH TWO PRONUNCIATIONS Table D-1 provides a list of homographs. Homographs are pairs of words that are spelled exactly the same but are pronounced differently. Usually, they are noun-verb p@airs like insert (noun: stress on first syllable) and insert (verb: stress on second syllable), although adjective-verb and verb-verb pairs do occur. In earlier versions of DECtalk, the default form was always the noun. Here, however, the default form is the more frequent form of the two. The pronunciation of “transform’” as a verb (second syllable stressed) is more common than that of the noun (first syllable stressed) and therefore the verb is the default. If DECtalk gives one pronunciation for a word in this list and you want the alternative pronunciation, simply type a right parenthesis ) (no space) before the word. For example, if you type “‘bass,” DECtalk will say [b’eys] (the voice lower than baritone). However, if you want the alternate pronunciation, you should type “Ybass’’ and DECtalk will say [b’aes] (a type of fish). 173 S, APPENDIX D Eo . . - . . * p@% f’% o “@%@ o 5 s : G s . . e e . ‘ e e i . s s e S i iy e — . i P e . i - y ghn i : A o o . L o . i Al G e e 2 o - 3 : i (R ' 5 - 5 L" o . %,Gm b i e o s . 3 G ps - e e y@;;’gfié’é@ o . e Bl e : o~ il (e 2 e i ;% = L - 4 = o psonsRca o g = o . o . W i - i e . o = S v e = ke e s o - = Dot AR = - o I e e . k e L ) . o o o;“R L o ' o o oa » 7 o oi b S S | e o . i i o - S ; il c‘%; %\;@g i - - . : P sl & ing ¥ . el O i : . . s *&0@3&&&‘&% i o 4 . e i < G w i e BA . . ¢ i o : A i ot e o b e o . . fi o o i e el b o e il | s : : o i B B O o o i o i Lo s G sl Ol W%@% . olisa i A, e e i : iy i il . S fi%@{%‘:’fl 7 s m— S = = i \‘ o 7 A L e g ol e i ; it | o G = Sl L : A 4 . e e e i S i . L e o it V‘gfié’wu’v o o W e - o 5 o ol A L : o s & R i : i 4 - Dt ‘th Wy ¢ — iy s e - e o S B = = = o - = = . P ¥ % i : . g . , \e%s; . . 5 i ‘o & - = ‘?f? = i i SR be e - -i = 55 ’y;s‘g . e fm@ - -- = e Rl e ] A o il Sy L o o : o S B v % e L R pe 0 o G Ao ] e 3 e e i 4 U i il e ‘ & o S : R o o - = S = ) o = e o ol oo e 5 ‘. & i 2 'e eS : : . o T ) : : . g SR G G i a A ; ' 3 R e e f RS o D G AN y e + : ¢ ». ir b o | i i . B Lo . i i i L S 3 B o i i ! G e e e G i B Bl o B e S L o Mo oi e i % ,%32.,. - i . e % L e . *A\fé‘%?% . S e e = o , M R L G P - S 'y BL s g e Ag&vw L i } o i o i . e L . : f G i o i o i Ly i o N . Jr— 3?3" S o A, WORDS WITH TWO PRONUNCIATIONS o e e : y o s S o i : - ii e " 5 i 0z s i L i — i - - = e i i v o o i e i . G P & i . g s. . i . »&%.m : . . . . . = e - i - . L B S i i o e G o = . o i ;f@tfi@ o ‘ . st : o L ‘,&'*?&i% :fif’ s i R i & AR e - i - e . L -~ - B ‘Mgg’\“ -.i '\%fi‘w‘/ i e G R . Tk A W o ¢ “;xw e o = G G i. ; i L o o | i s . %fi, U . - o — s == = iR i - i ; o pi e - c . e e oA o = —= 5 o . ’é/ . .. 3@% R o o o - i e -= . - ; g"%’.‘i e. i e e - . . G \%fk . ‘ 11 g % '1&9%&@9% .. i 4 '| . . . e e . o s Ly H‘Q‘%‘jfl\d " o ... : PR fe . oo - = . f A, DIX D APPEN . % % = = w = ,',.h. e = . o - R . S b o ol S A G G o = = e - ‘ =e -s = = el sl o == . S o - = - - o = - i i il Seaens ‘v'n;w,»‘ o T o e = ‘., o =- S " o i = i - S oe == - A oi = - Al Sy . Sa0 - o g e -=2 -- = = = - ~ = - - = = = -. S e B - SN . o - eS = 3%_" o . A Q e 7 i o -~ o A s S == m g e i s < . o = L . . . = = - o Sa - e Y = i B = - = = e - o oS T e o «;, e "o s . b . ] = s M G fi‘ " i e R w%} . ,%,vf»‘ A - o i* S == =~ L i s - e ) i = i i - S ‘;fi;’;’;;%‘ L - - . 4 = . S “’k" . o e o . o = = i . i . S R S(e ‘«g\ - S S - L S 5 S = ar it o ‘w I e B 2 - = «' i . - ] s o o e S . - - : L o e i= o - R S %, S é?; o -’««4.“- -. = - ol e S - -. ¢ ! - . Q‘*GW"'4 o . o "': 7 i %‘;%2 ‘%‘}‘ o - : e o = o o o - - ;V e o = - e ARG A 176 1. DECtalk /DICTIONARY Several English phonemic alphabets are widely used today. Table E-1 lists the phonemic alphabet that DECtalk uses, together with the phonemic alphabets from three well-known dictionaries. It also gives an example of each sound. Some dictionaries put the stress symbol after the vowel nucleus or at the start of the syllable. DECtalk requires that the stress symbol appears before the vowel. Table E-1 has been alphabetized according to the Random House Dictionary phonemes to facilitate translation of a dictionary pronunciation into DECtalk phonemes. 177 o APPENDIX E =e=-:s,JI.AM-veeS=an-ctSJ.%Bfl-s&-z%3S%o---2=ee==sS;=ooRS-s==-S.so2%-:7 e S)eSResie=eSyo-.sS=ie2%eoe:oeSeyRNeS-::oe=S=ei,=-.- So-eS-Se.:--o-S--=eo -soces-a-=Fo-£%W»m,o5=;..-£.E:sseo Se=iSoaSesmo-oiaSenadns o.:-S=S=eW-voeRS=ySoiE,TtAs -eo< %@fieS=a&i%osm?;:ff%-&nB=f::=os- eS2io35%> s o e e b i i- E i i 0!- ?@' i i o i ii s 00 . & i3 i = e i 7 i L SR s s i s i ii WG A s i i 2 o L - ol 178 s o oy p oo pr— i o ot R= e i e o = i S R = SR 5 X I S=o= o o e G s A DECtalk/DICTIONARY PHONEMIC CORRESPONDENCE o X' - o e o . I N ca i - it . S e . I‘%% e i i : e i . L e . i o ‘ e i 5 e e W v . gl R 5 : et W&fi . e )’3 - M»’;};%; i = - o e o - = e . . ‘W"w‘%’c‘“&‘"{ a‘k{.)é’ o - o . - o @u?v’ - s @ . e -= i . L . . -~ v i i iin o i —= ‘? L o ~‘ - s o . o de - on . i = e - et . i S i . s G , --S - o .o= i- M o %W . ’C%W% . B . . 5 G o - ... ; SR - L %S - . i = g L e . L e PR= = o I A - v - = = - g s e e v P o o : i 5 o s ' e s i o L i . i i - . e = = = L o LR ok i G i . e o . o - o v - ' . i L . e L | A G e = el s = - = - o - = %K%;f(f o = -- flffi:%?\&% e G e - L . . Y i o o v ; W . L E R 179 APPENDIX E E.1 WEBSTER’S NINTH NEW COLLEGIATE DICTIONARY The following transformations are required in addition to those noted in Table E-1. 1. Phonemic representations that appear between backslash symbols in the dictionary should instead be enclosed in square brackets to conform with DECtalk format. Word Webster’'s DECtalk in \in\ [ihn] 2. Stress marks that appear at the beginning of each syllable should be moved to appear just before the vowel. Word Webster’s DECtalk bat \'bat\ [b’aet] 3. Any syllable boundary symbol in a dictionary entry should be deleted from DECtalk phonemic pronunciations. This symbol is usually redundant information. Dictionaries are often not consistent about the use of the syllableboundary symbol - sometimes using a syllable boundary to reflect deriva- tional structure, and sometimes to reflect pronunciation. (A syllable boundary symbol is a legal DECtalk phoneme, but overuse or misuse of it Ay may block application of allophone selection rules when they should apply.) Word Webster’s DECtalk purser \'per-sor\ [p'rrsrr] person \'pers-an\ [p'rrsen] 4. The secondary stress mark may be used a bit too liberally in Webster’s pronunciations. If unsure about including a secondary stress symbol that seems to be there simply to prevent vowel reduction, try listening to the word both with and without the secondary stress. 180 Word Webster’s DECtalk postulate \'pas-cha-,let \ [p’aaschaxleyt] E DECtalk/DICTIONARY PHONEMIC CORRESPONDENCE 5. The biggest difference with Webster’s is the use of the symbol for the reduced vowel schwa. Webster’'s also uses schwa to represent the nonreduced vowel in words such as “cup.” DECtalk expects that the stressed phoneme [ah] will be used in words like “cup.” In DECtalk, the reduced schwa vowel [ax] sometimes sounds better if replaced by the raised and fronted allophone [ix], particularly if the adjacent consonants are produced with the tongue tip. Trial and error can determine the optimal version of schwa in individual cases. DECtalk Word Webster’s cup \'kep\ \'too-bsa\ [t'uwbax] kisses \'kis-8s\ [K'ihsixs] tuba [k’ahp] 6. The final unstressed syllable in words such as ‘“‘bottle,” “button,” and “butter’’ sounds better if the schwa-plus-consonant pronunciation suggested by Webster’s is replaced by the syllabic consonant allophones. Word Webster’s DECtalk bottle \ 'bat-2I\ button \'bat-2n\ [b’ahten] butter \'bet-ar\ [b'ahtrr] [b’aatel] E.2 AMERICAN HERITAGE DICTIONARY The primary differences between American Heritage entries and DECtalk syntax is the placement of the stress mark after the syllable rather than before the vowel, as DECtalk requires. Again, syllable boundary symbols should generally be omitted, and some secondary stresses may have to be omitted. 181 TEXT TUNING EXAMPLE This appendix contains the text used to demonstrate DECtalk at the 1984 IEEE International Conference on Acoustics, Speech, and Signal Processing. The text is presented twice, the first time as originally written, and the second time after phonemic and textual fixes were applied. Original Version [:np] R, A California Shaggy Bear Tale for Seven DECtalk Voices By Dennis Klatt [:nh] This story was used to demonstrate DECtalk at ICASSP-84, in May of 1984, at San Diego, California. [:np] Once upon a time, there were three bears. They lived in the great forest, and tried to adjust to modern times. [:nh] I'm papa bear. | love my family, but | love honey best. [:nb] I'm mama bear. Being a mama bear is a drag. [:nk] I'm baby bear and | have trouble relating to all of the demands of older bears. [:np] One day, the three bears left their condominium to search for honey. While they were gone, a beautiful young lady snuck into the bedroom through an open window. 182 ARG TEXT TUNING EXAMPLE [:nw] My name is Whispering Wendy. My purpose in entering this building should be clear. | am planning to steal the family jewels. [:np] Hot on her trail was the famous police detective, Frail Frank. [:nf] Have you seen a lady carrying a laundry bag over her shoulder? [:np] A woman kneeling with her left ear firmly placed against a large rock responded. [:nu] No. No one passed this way. I've been listening for earthquakes all morning, but have only spotted three bears searching for honey. Changed Version [:np] Add periods after the title and author. A California Shaggy Bear Tale for Seven DECtalk Voices. By Dennis Kiatt. Make phonemic corrections. [:nh] This story was used to demonstrate DECtalk at ['aykaesp] 84, in May of 1984, at [s’aendiy’eygow] California. [:np] Once upon a time, there were three bears. They lived in the great forest and tried to adjust to modern times. Add emphatic stress. [:nh] I'm papa bear. | love my family, but | love ["]honey best. [:nb] 'm mama bear. Being a mama bear is a drag. [:nk] I’'m baby bear and | have trouble relating to all of the demands of older bears. 183 APPENDIX F Begin a verb phrase. [:np] One day, the three bears [)] left their condominium to search for honey. While they were gone, a beautiful young lady snuck into the bedroom through an open window. [:nw] My name is Whispering Wendy. My purpose in entering this building should be clear. | am planning to steal the family jewels. Begin a new paragraph. [:np] [+] Hot on her trail was the famous police detective, Frail Frank. [:nf] Have you seen a lady carrying a laundry bag over her shoulder? S Add commas for phrasing. [:np] A woman, kneeling with her left ear firmly placed against a large rock, responded. Add pitch control and emphatic stress. [:nu] []No. No [/lone passed this [/\]way. I've been listening for’[’]earthquakes all morning, but have only spotted three bears searching for honey. 184 'BASIC PROGRAM EXAMPLE DT3SAMPLE .BAS TITLE: VERSION: DATE: V1.0 3-0CT-1985 FUNCTIONAL DESCRIPTION: This is a sample program to control a DECtalk DTCO3. This program is written in a "compatible'" subset of VAX BASIC. It should run under most BASIC implementations with minor changes. For example, VAX BASIC no longer requires the use of line numbers, and they have notl been used here except as necessary to the code. only ‘Some of the "extended" features such as the SELECT and DECLARE statements have been avoided to make this code ‘as transportable as possible. ‘This program has been FORMAL PARAMETERS: PRIVILEGES EXTERNAL with VAX-BASIC V2.4. None REGUIRED: None ROUTINES CALLED: MODIFICATION tested on VMS V4.2, None HISTORY: 185 APPENDIX G ON ERROR GO "Dynamic TO Storage, Function, DA$ = ESC+"[c" DASTATS = ESC+"[782;2;3c"TM DSR$ = ESC+"[n" DSRFIRSTS$ = ESC+*"[?21n*" DSRAFTERS = DECSTRS$ = and Constant o, ESC+'"[?20n"TM ! Define J See Chapter ! the descriptions the diagnostics S of and the of their DECtalk these = DTEND$ = HzM+ESC+"\" DTANSWERS$ = DTPHONES$+"10"+DTENDS$ DTHANGUPS$ = DTPHONES$+"11"+DTENDS$ DTKEYPAD$ = DTPHONES$+"22"+DTENDS$ DTNOKEY$ = DTPHONE$+"21"+DTENDS$ DTPHONES$+"412" DTWINKS = DTPHONE$+"50"+DTENDS$ DTNOWINKS$ = DTPHONES$+"S51"+DTENDS$ ! Define ! The sequences the ! take another ! parts telephone of for management timeout parameter, them and so = ESC+"P;70;"TM = DTREPLY$+DTENDS$ PHOFFHOOKS$ = DTREPLY$+"1"+DTENDS$ PHTIMEQUTS$ = DTERPLY$+"2"+DTENDS$ PHTOOLONGS = DTREPLY$+"“3"+DTENDS$ PHWINKS = DTREPLY$+"4"+DTENDS$ PHNODIALS = DTREPLY$+"S"+DTENDS$ PHBUSY$ = DTREPLY$+"6"+DTENDS$ PHNOANS$ = DTREPLYS$+"7"+DTENDS$ the replies DTMASKS$ Define ' the = = the number a only that phone the both fixed DECtalk will send back as commands. ESC+"P;83;3072*"+DTENDS sequences "#'" to turn on and off characters. ESC+"P;10"+DTENDS ESC+"P:;11"+DTENDS$ DTSPEAKS$ = ! the Define the and = = sequences. dial ESC+'"P;83;0"+DTENDS$ "*" DTSTOPS DTSYNCS$ answers to escape here. PHONHOOK$ ! for ARGy define DTREPLYS DTNOMASKS$ Manual DTPHONE$+"30;" = Define Owner‘’s ESC+"P;60;" DTDIALS ! replies. DTC03 sequences. DTPHONES ! Declarations" ESC+"[!p" DTTIMEOUTS$= 186 19000 ESC+"P:12:;1"+DTENDS$ speaking control sequences. keypad masking for BASIC PROGRAM EXAMPLE BEGINNING OF MAINLINE CODE 1000 INPUT "DECtalk Device (e.g. TTA1: or TT2:)>";DTDEVICES DTDEVICES = EDIT$(DTDEVICES,-1%) IF LEFTC(DTDEVICES,2%)<>"TT" GO TO 1000 DTDEVICE$=DTDEVICES$+":" IF RIGHT(DTDEVICES ,LENC(DTDEVICES$))<>":*" DTDEVICES$ = DTDEVICES$+“DECTALK.OUT" OPEN DTDEVICES AS FILE #1X% Set DTDEVICES to the string required to "OPEN" the RSX requires a full DECtalk device on a channel. filespec, while VMS doesn’t. The above string works !t ! ' for both operating systems. ' 1010 UNTIL Open the DECtalk channel. 0X% 1% WAIT PURGEFLAGXZ = GOSuUB 10000 1% NEXT ! Purge the input buffer of any possible remaining “winks" or Keep doing it until there other garbage characters. ! is nothing in the buffer and BASIC returns a timeoutl error. ! Let the error handler send control back to the next line. ! Use a "“flag"” to tell the error handler where ito resume. ! 1020 = PURGEFLAGX 0X WAIT 30X% PRINT #1%, DECSTRS$ DTMASKS DSRS$ PRINT #1%, PRINT #1%, ! ! ' Now do a "soft" reset on the DECtalk, turn on the keypad mask feature, and request a Device Status Request to be sure the DT works. GOSUB 10000 GO TO 32766 IF REPLY$ <> DSRS$ ! Get the first response which is simply the DSR escape sequence. GOSUB 10000 GO TO 32766 IF REPLY$ <> DSRFIRSTS$ AND REPLY$ <> DSRAFTERS ! ! ' ! Now get the extended DSR reply response. This program doesn’t care if there has been a power-failure since the user-defined dictionary isn’t being used, so either PRINT #1%, GOSUB 10000 GO TO 32766 ! ! response is OK. DAS$ IF REPLY$ <> DASTATS Send a Device Attribute Request to DECtalk. Exit if it doesn’t answer with a "DECTALK3" reply. 187 APPENDIX G MAIN 1200 MENU LOOP PRINT #1X%X, GOSUB 10000 GO TO 32766 ! Hang up DTHANGUPS the PRINT #1%, GOSUB 10000 GO 32766 TO PRINT IF REPLY$ phone, ! 1210 IF REPLY$ for the "on-hook" response. PHONHOOKS which of means Waiting for call at: *; & *;DATES$CO0X) the phone, that DECtalk and look has for an processed “on-hook" the command. 600 GOSUB TO WAIT = 1% 10000 ANSFLAGX 1220 look <> on auto-answer answer ANSFLAGZ GO and "XDT3SAMPLE-I-WAITFORCALL, Enable WAIT PHONHOOKS DTANSWERS TIME$COX);* ! <> = A 0X 32766 IF REPLY$ <> PHOFFHOOKS 30 ! Reset the ! to answer ! Then reset ! Use ANSFLAGX ! re-run ! This ! activity ! on ! Therefore, ! greater. ! systems. the VMS PRINT #1%, 10000 GO 32766 timeout to phone. The the timeout to tell diagnostics will GOSUB TO input if on the BASIC This The handler phone isn’t a 10 bad minute allocates always sets and wait response for DECtalk is "off-hook." go back seconds. between only works 30 error the line. RMS mins., proper to the distinguish since 10 a a DECtalk on for of 255 10 minutes. no doesn’t the different and within and timeout byte timeout differently to answered work parameter. when it sees anything operating DTKEYPADS$ IF REPLY$ <> ! Enable the telephone ! mode the DECtalk3 ! whenever it sees PHOFFHOOKS keypad does a DTMF an in the new "internal" tone (key "Auto-stop'" stop/disable mode. In this speaking press). o 188 BASIC PROGRAM EXAMPLE 1230 PRINT #1%, DTSPEAKS PRINT #1%, "[_<100>]Hello, PRINT #1%, "1 am the PRINT #1%, "I am a multi “"control PRINT #1%, "Now I up would 1240 PRINT #1%, 10000 GO 32766 TO IF the REPLY$ Enable ! Go and get ! if the command ! detector : look "Wink" the ! #1X%, "Press #1%, so to telephone 8 to 3 speaking." DECtalk synthesizer lines demonstrate commands the <> entered family." that can "; & simultaneously." my ability from a push user it to *; & button Phone." hangs up the phone. should be "offhook" PHOFFHOOKS detector is to 10000 GO TO 1010 IF ! the keys ! then hang IF REPLYS$ = to keys does REPLY$ = "*" the OK. the key and up by end implied do phone -- Don’t enable the the number to is PHWINKS pressed the picking followed an to if DECtalk the phone wink can DECtalk. back star thing up the read the mode first see from processed any "Press GOSUB Get the voice response like a wink "Auto-stop" ' of line until now because “will PRINT DECtalk DTWINKS ! PRINT is member like “"understand GOSuB this latest number you this have key, and I "; demonstration.TM "disable to sign entered." speaking" re-enable it. command, Then speak. it’s a & look for and start a “wink." If “wink" again. 3 THEN PRINT #1%, DTSPEAKS PRINT #1%, "Thank PRINT #1%, "Have PRINT #1%, DTSYNCS$ GO TO 1200 PRINT #1%, DTSPEAKS PRINT #1X%X, LEFTC(REPLYS$,LENCREPLYS$)-1%);"." DTKEYPADS$ you a for nice calling DECtalk 3." day." ELSE END ! ! PRINT #1%, GOSUB 10000 GO TO 32766 GO TO 1240 IF | REPLY$ <> PHOFFHOOKS IF Speak a message otherwise read and hang back the up the phone number and if go "“*" get is pressed, another. 189 & APPENDIX G DEFINE 10000 REPLYS$ A = FUNCTION TO GET INPUT FROM DECTALK "@u R 10010 INPUT LINE IF #1X, SEQS RIGHT(SEQS$ ,LENCSEQ$)-1X)=CR+LF & THEN REPLYS$ = REPLY$+LEFT(SEQS$,LENC(SEQG$)-2%) = REPLY$+SEQS$ ELSE REPLYS$ GO END ! TO 10010 BASIC as IF Since ! <ESC> implemented character ! around ! in "keypad until ' so look is we a get the VMS <CR> mask' mode. for on and terminator, <CR><LF> that BASIC and also strip RSX keep it thinks that the looping DECtalk appends translates to <CR> output to <CR><LF>, off. RETURN GLOBAL 19000 19010 RESUME 1010 IF ANSFLAGX RESUME 1020 IF PURGEFLAGZ 1% = Got a timeout the waiting 1% timeout came a response from expected place, to the next line ' and hang up the phone. of code. PRINT "XDT3SAMPLE-F-BASICERR, GO 32767 it PRINT An ! END from an back If response in ! TO No for If ! 190 = DECtalk."TM 1200 is any other error, invalid Print an escape response error then sequence to an message then Otherwise, print "; go print a message it and exit. & reply escape and DECtalk. ";ERR,ERL,ERT$CERR) “XDT3SAMPLE-F-INVESCSEQ, “"Invalid 32767 «<>15% ! ! 32766 ERR "XDT3SAMPLE-F-NORESPONSE, RESUME ! IF TRAP RESUME PRINT 19010 ERROR received" sequence exit. was received. gy, SERVICE AND DOCUMENTATION H.1 DIGITAL’S SERVICES Your DECtalk DTCO03 system comes with a warranty that gives you access to the best of Digital's resources, including our technical expertise, spare parts inventories, and worldwide service organization. After warranty, Digital’s support continues through a range of on-site and off- site service alternatives for as long as you own your Digital hardware. These services are designed to help you get the maximum performance from your system. H.1.1 | | | DECservice DECservice is Digital’'s most comprehensive on-site service. It provides committed response time including a four-hour service response if your system is within 100 miles of a Digital service location. DECservice also provides continuous repairs until the problem is solved, a preventive maintenance program, installation of the latest engineering changes, and automatic escalation for complex problems. DECservice lets you choose the hours of coverage you need to support your application, up to 24 hours a day, 7 days a week. 191 APPENDIX H H.1.2 Basic Service Basic service offers economical yet full service coverage. Your calls for service receive priority, second only to DECservice calls. You also receive preventive maintenance, installation of the latest engineering changes, and automatic escalation of complex problems. Basic service is available during standard business hours, from 8:00 a.m. to 5:00 p.m., Monday through Friday. H.1.3 Per Call Service If your application does not demand comprehensive support, you can take advantage of one of Digital’'s per call programs. Per call service is available on-site and off-site on a noncontractual basis. Service is available Monday through Friday during standard business hours, from 8:00 a.m. to 5:00 p.m. For on-site per call service, you pay for the time and materials needed for each service call. Off-site per call service is available through mail-in board replacement and carry-in system repairs. H.1.4 Carry-In Service This is Digital’'s low-cost alternative to on-site support. You can carry your | DECtalk into any of Digital’s 150 Service Centers throughout the United States and pick up the repaired system within two days. Or, if you perform your own maintenance, you can carry in your faulty module and receive an immediate exchange. Carry-in service is available through a one-year, fixed-cost agreement or on a per call basis that includes a flat rate for labor, plus the cost of all parts used in the repair. All carry-in service and parts come with a 90-day warranty. g 192 SERVICE AND DOCUMENTATION H.1.5 DECmailer Service DECmailer is a factory replacement service for Digital’s customers who maintain their equipment to the module or subassembly level. It provides 5-day turnaround, free return shipping, 90-day warranty, 24-hour emergency service, monthly billing, and quarterly activity reports. Whichever Digital service option you select, you will receive high-quality, reliable service delivered by one of the largest service organizations in the industry. H.1.6 Digital Field Service Information Numbers For more information on any of Digital’s services, call the service information number in your area during normal business hours. Australia (02) 4125555 Austria (222) 6776410 Belgium (02) 2425095 Canada (800) 267-5251 Denmark (2) 889666 Finland (0) 423511 France (6) 0778292 Holland (30) 640293 Ireland (1) 308433 Italy (02) 617961 Japan (03) 989-7161 New Zealand (09) 595-914 Norway (2) 160290 Portugal (1) 725402 Spain (1) 7331900 Sweden (8) 7338000 Switzerland (01) 8169111 United Kingdom (734) 868711 United States (800) 554-3333 West Germany (089) 95910 193 APPENDIX H H.2 RELATED DOCUMENTS The following DECtalk documents are available from Digital. Title Description DECtalk DTC03 This manual provides complete information on Owner’s Manual DECtalk that may be required by a novice user or (EK-DTCO03-OM) an application programmer. The manual gives an overview of DECtalk configuration, controls, self- tests, and description of DECtalk on-line opera- tion. It also describes DECtalk phonemic codes, spoken text conventions, escape sequences, and programming methods for interfacing DECtalk with a host computer and telephone. DECtalk DTCO3 This card summarizes DECtalk phonemic codes, Programmer commands, and escape sequences. Reference Card (EK-DTCO03-RC) DECtalk DTCO03 This guide explains how to configure, install, and Installation Manual check the DECtalk DTCO03 system (rack enclo- (EK-DTCO03-IN) sure and C5005 modules). DECtalk DTCO03 This guide explains how to troubleshoot and Pocket Service Guide repair the DECtalk DTCO03. This guide is for (EK-DTCO03-PS)- Digital's Field Service technicians. 194 SERVICE AND DOCUMENTATION H.3 ORDERING INFORMATION You can order documents or supplies by telephone from 8:30 a.m. to 6:00 p.m. (EST) or by mail. Continental USA and Puerto Rico Call 1-(800)-258-1710 or write to: Digital Equipment Corporation P.O. Box CS2008 Nashua, NH 03061 New Hampshire, Alaska, Hawaii Call 1-(603)-884-6660 or write to the above address. Outside the USA and Puerto Rico Write to: Digital Equipment Corporation Attn: Accessories and Supplies Business Manager c/o Local Subsidiary or Digital-Approved Distributor 195 INDEX l, 63, 1563 A, 63,153 * 63,153 #, 63, 153 >, 64 <, 64 [~], 84, 86 [_], 86,99 [ nf], 117 [ nh], 117 [:n kK], 117 [ npl, 117 [: nr], 117 W nul, 117 [ nv], 117,134 [ pp_], 114,116 [fra_] 114, 115-116 , [’], 77,87, 88 [], 87,89 [ap], 120, 121, 128, 130-131 [”], 87,90, 97 [as], 120, 121, 128, 130 [/], 87,92, 129 [b4], 119, 121, 122, 124 [\], 87,92, 129 [b5], 119, 121, 122, 124 [/\], 87,92 [bf], 120,121,128 [-], 84,87,92 [br], 119, 121,125 [*], 87,93 [f4], 119,121,122, 124 [#], 87,93 [f5], [)], 77,87, 94 [g1], 120, 121, 132, 133-134 [(], 87 [92], 120, 121, 132, 133-134 119, 121,122, 124 [,], 87,95 [g3], 120, 121, 132, 133-134 [.], 87,96 [g4], 120, 121, 132, 133-134 [?], 87,96 [gf], 120,121,132, 133 [!], 87,97 [ghl, 120, 121, 132, 133 [+], 87,97, 140 [gv], 120, 121, 132, 133 [<>], 98-99 [hr], 120, 121, 128, 129 [:cp], 114,116 [hs], 119, 121,122,123 [[dv__], 114,118-134 llal, [(n_), 114,117-118 [lo], 120, 121, 132 [:nb], [Ix], 119,121,125 196 117 119,121, 125,127 e INDEX [nfl, 119, 121, 125,127 [pr], 120, 121, 128, 130-131 [qu], 120, 121, 128, 130 Backspace (BS), 22, 23, 32, 34 underlining, 23 [ril, 119,121, 125,126 Breathiness, 125 [ save], 119,134 BS, 22,23, 32,34 [ sm], 119, 121,125,126 [ sr], 120,121,128, 130 [ sx], 119,121,122-123 Buffer overflow, 27 size, 27 Built-in dictionary, 168-169 A C Abbreviations in built-in dictionary, 168-169 numeric, CO, 34-35,43 161-167 periods in, 167, 168 processing, 160,161, C1, 34-35,42,43-44 167 uppercase letters in, 168 Call progress detection. Acronyms, 159 Advanced application, 140-»1 41 Allophones consonant, 81, 85-86 vowel, 80, 83-84 Alphabets, DECtalk and dictionary phonemic, C1 format setting parameters, 153 Call progress, 50, 57,64 177-181 Alternate character sets designating, 38-41 invoking, 42 Alternate pronunciation, 74-76, 94, 140,173-176 See Call progress Cardinal numbers, 163-164 Carriage return (CR), 22, 32, 34,71,87,92,134 Changing voice parameters, 118-134 Changing voices, 112-114, 117-118 Character sets, 29-30 ASCII, 29-30, 32-35, 35-36 DEC Supplemental, 35, 37, 39 Application development, 136-141 ASCII, 10, 18, 20, 21, 29-30, 31-35, 35-42 selecting alternate, 35, 38-39 ASCII character sets, U.K. national, 35, 38 selecting, 29-30 mapping, 30 speaking, 29 Characters ASCII code table, 32, 34 backspace (BS), 23 ASCII escape dialing, 63-64 sequences, 18-19, 20-21 ASCII_G, 35, 36, 39 Average pitch, 128, 130-131 special, 22 Children’s voices, 112,117 Clause boundaries, 23, 95, 105, 106 197 INDEX Clause terminator, 24, 104 Code table Commands, 18 ending sequences, 19 eight-bit, 34 invalid commands, 19 seven-bit, 32 voice modification, Coding standards, 31 Comma, 95 modes, 45-46 Comma pause duration, 116 Command, keypad mask, 70-72 Command, telephone parameters, 47, 154-157 Communications host-DECtalk, 2, 23-25, 26, 27-28 management, 58-59 line-by-line, 70-72 answer, 59, 61 telephone, 2, 57, 63-64 hangup, 59, 61 Compound noun stress, 93 keypad, 59, 62, 63 Compound words, 93 nokeypad, 59, 62 Configuration switches, 4, 154-157 nop, 59 Conflicting commands, 135 nowink, 59, 65 Conformance level, 49 pulsedial, 59,61, 63 Connecting DECtalk to stoppad, 59, 62 a host computer, 2 timeout, 59, 63 tonedial, a telephone service, 3, 57 59, 61, 63 Consonant, 85 wink, 59, 65 syllabic, 84 Command, test and status, 51-56 device status request (brief report), 53 Consonant phonemes, 79, 81 Control characters, 22, 33 Control codes device status request (extended report), 54-55 NVR control, 56 single-byte, 43 multibyte, 43-45 Control commands self-test, 52-53 keypad mask, 70-72 soft terminal reset, 56 load dictionary, reset to initial state, 55 logging, 111 Command, voice, 105-111 disable speaking, 106-107 enable speaking, 106-107 index query, 108-109 index reply, 108 110-111 mode selection, 46-48 telephone management, 58-69 Control sequence, 18, 43, 44 Controlling DECtalk speech, 103 Controls index text, 107 LEDs, 5,6 input logging, 111 power switch, 3 load dictionary, pushbuttons, 5,7 110-111 speak phonemic text, 105 stop speaking, 105 synchronize, 27-28, 106 198 112-114 Communication Converting ASCII text to phonemic code, 12-13 Converting control commands, 13 i INDEX Converting phonemic code, 13 Converting text to speech, 10 CR, 22,32, 34 CSl, 22, 34. See also Control sequence lax breathiness, 125 , 132 loudness minimum and maximum values, 119 nopen fixed, 127 pitch range, 130-131 quickness, 130 richness, 126 D save, 134 sex, 122-123 DA primary, 50 DA secondary, 50 Dash, 47,161,163, 164 Data loss, 27 Data synchronization, 27-28, 106 Dates, 161, 167 DCS, 22, 34. See also Device control string Decimal value, 20, 21 DECNVR, 51, 56 DECSTR, 51,52, 56 DECtalk description, xiii, 2-7 mode of operation, 9 module, 3-7, 154-157 setups, 26 DECTST, 52 Default voices, smoothness, 126 sound source gains, 133 stress rise, 130 Device attribute requests, 50 Device attributes, 50 Device control string, 18,43, 45 Device identification, 50 Device self-test, 52-53 Device status error codes, 54-55 Device status report, 53, 54 Device testing, 8-9, 52-53, 157 Dialing characters, 63-64, 153 mode, 58, 63 Dictionary manager, 11,12 Diphthong, 80 113,117-118, 144 DEL, 32, 34 Delete user dictionary, 52 Design voice command parameters, 118-134 assertiveness, 130 average pitch, 130-131 baseline fall, 128 breathiness, 125 cascade vocal tract gains, 133-134 Discarding host data, 27 Documentation, 194 DSR, 53 DT_DICT, 110-111 DT__INDEX, 107 DT__INDEX__QUERY, 108-109 DT__INDEX_REPLY, 108 DT_LOG, 111 DT_MASK, 70-72 DT_MODE, 46-48 hat rise, 129 DT_PHONE, 58-59 DT_PHOTEXT, 105 head size, 123 DT_SPEAK, 106-107 higher formants, 79, 124 laryngealization, 127 DT_STOP, 105 DT_SYNC, 106 199 INDEX Duration and pitch, 98-99 G Duration control, 98-99 GO-G3 character sets, 38-41, 42 GL, 40, 41, 42 E GR, 40,42 Graphic characters, 33 Eight-bit mode, 30, 45-46 Emotions, 86, 98, 131 Emphasis, 77-78 H Emphatic stress, 90 Empty parameter, 21 Hang up telephone, 57, 61 Enable autoanswer, 58, 61 Hardware identification, 50 Enable or disable Hat rise, 129 speaking, 106-107 Head size, 123 Encoding tips, 139 Higher formants, 124 Ending commands and data, 139 Host communications line English, 74,77-79, 103, 104 Enter phonemic text command, 105 ESC, 18-19, 22, 32, 34 Escape commands, 147-149 Escape sequence, 20-21,43-44 format, 51, 156 Host communications line speed, 51, 156 Host-DECtalk interaction, 23-25 HOSTSYNC, 27 ASCII| characters, 18,19, 20-21 HT, 22,32, 34 decimal value, 21 Hyphen, 47,93, 161, 163 format, 20 mnemonic, 21 parameters, 21 Exclamation point, 97 Exponents, 163 Extension, 50 Index defining an index, 107 last index seen query, 108-109 replying when an index is F spoken, 108 Index query command, 108-109 Factory settings, 4, 154 Index reply command, 108 Female/male parameter, 112-114, Index text command, 107 117-118,122-123 Indexing text, 107 FF, 22,32, 34 Input logging, 111 Firmware identification, 50 Intonation, 86, 96, 97 Flush pending text, 52 Invalid commands, 135 Formatter, number, 11,12 Fractions, 161, 166 200 i INDEX Modes K eight-bit, 30, 45-46 operating, 9 phonemic, 105, 144 Keypad, 57, 568, 62 Keypad mask command, 70-72 L Language spoken by DECtalk, 50 Laryngealization, 127 Lax breathiness, 125 Letters, multinational, 172 Letter-to-sound module, 11,12 LF, 22,32,34 Lists, 95 Load dictionary command, 110-111 LOG_HOSTPH, 111 Long sentences, 94,95 seven-bit, 30, 45-46 MODE_EUROPE, 47 MODE_MINUS, 47 MODE_SPELL, 47 MODE__SQUARE, 47 Modifying voices, 112-114,118 Module, letter-to-sound, 11-12 Money, 161, 166 Monotone, 99,118 Morpheme boundaries, 93 Multinational character set. See DEC Supplemental Multinational letters, 172 Loudness, 132 N LSO, 39 LS1, 39 Names, 138 LS1R, 39 New paragraph, 97, 140 New voice command, 114, LS2, 39 LS2R, 39 117-118, 134 LS3, 39 New voice design, 118 Nopen fixed, 127 Number formatter, 11, 12 LS3R, 39 Numbers Male/female parameter, 112-114, 117-118, 122-123 abbreviations, 161-166 ambiguous formats, 164 cardinal numbers, 163-164 Markers, stress and syntax, 86-97 commas in, 163 Maximum/minimum decimal fractions, 166 exponents, 163 Marking text, 107-108 parameters, 118-120 Minus sign, 47, 163 Mnemonics, 20-21 dates, 167 fractions, 166 minus sign, 163 201 INDEX money, 166 Parser ordinal, 166 sentence, 11,12 plus sign, 163 word, 11,12 processing, 159-160, 161 scientific notation, 163 time of day, 167 Numeric encoding, 138 NVR, 56 Part numbers, 138, 161-163 Period, 96 Period pause duration, 114,116 PH_ANSWER, 59, 61 two status reports, 61 PH_HANGUP, 59, 61 PH_KEYPAD, 59, 62, 63 O PH_NOKEYPAD, 59, 62 Operating mode, 9 Ordering information, 195 Ordinal numbers, 166 Orthographic symbols, 86-87 Overflow. See Buffer overflow ‘Overload, 123,124,133 PH_NOWINK, 59, 65 Phone status reply codes, 60 Phonemes consonant, 79- 81, 85-86 definition, 77,78 stress markers, 86-87 syntax markers, 86-87 two-character system, 81, 138 vowel, 77,79-81, 83-84 P Phonemic alphabets, 177-179 P character, 63 Packet-switched network, 72 Parameters design voice. See Design voice command parameters default communication, 154 default voice, 121 commands, 103, 105 corrections, 74-76, 82, 140-143 mode, 105, 144 spelling, 103,111, 142 theory, 77 transcription, 74 Phonemics DT_MASK, 70 DECtalk, 74 DT_MODE, 47 DECtalk and dictionary DT_PHONE, 59 module setup, 4, 155-156 self-test, 52-53 telephone command. See DT_PHONE Parameters in escape sequences, 20-21 Parenthetical remarks, 95 202 correspondence, 177-181 PH_PULSE__DIAL, 59, 61, 63 Phrase structure module, 11,13 Phrasing, sentence, 86-87 PH_STOPPAD, 59, 62 PH_TIMEOUT, 59, 63 PH_TONE__DIAL, 59, 61, 63 PH_WINK, 59, 65 s, INDEX References Pitch average pitch, 120, 130-131 control, 98-99 pitch range, 120, 130-131 bibliographic, 102 documentation, 194 Replies DA, 50 Plus sign, 163 status, 53, 150-1562 Reset, 51-52 to initial state, 51-52, 55 Polysyllabic words, 89 Power-up, 3, 8 Power-up status, 8, 51 Prepositional phrases, 95 Primary stress, 88 Restore operating features, 51 Return symbol, 22, 32, 34, 71, 87,92,134 Product identification, 50 Rhythm, 86-87 Programming considerations, 26, 136-137 escape sequence format, 20-21 Pronunciation alternate, 74-76, 77, 140,173-176 errors, 74-76, 82, 142-143 Richness, 126 RIS. See Reset Robot voice, 131 Rotary dial, 63 Rules for DECtalk sequences, 18-19, 20-21 optimizing, 142-143 Prosodic control, 98 Pulse dialing, 57, 63-64 S PUP, 51,52 S7C1T, 30,46 S8C1T, 30,46 Q Question mark, 96 Quickness, 130 Save parameter, 134 Scientific notation, 163 Second pronunciation, 77-78, 94, 142,173-176 Secondary stress, 89 Self-test R power-up, 8 routine, 8-9 R3_PH__BUSY, 60 R3__PH_NOANSWER, 60 R3_PH__NODIAL, 60 R3_PH__OFFHOOK, 60 R3_PH_ONHOOK, 60 R3_PH__TIMEOUT, 60 R3_PH_TOOLONG, 60 R3_PH__WINK, 60 Sentence parser, 11,12 Sequences, 18-21 ending, 19, 139 Service, 191-193 Settings default, 51, 154 DIP switch, 4, 154-157 Seven-bit mode, 30, 45-46 203 INDEX Sex, 122-123 Switch-hook flash, 63 Sl, 22,32, 34 Syllabic consonants, 84 Sighing, 99 Syllable boundaries, 92 Silence Synchronization, data, 27-28, 106 phoneme, 86, 99 Synchronize command, 106 symbol, 86, 99 Syntactic function words, 91 Singing, 100-101 Syntactic structure, 86-87 Smoothness, 126 Syntactic symbols, 86-87 SNA network, 72 Synthesizer control SO, 22,32, 34 commands, 10, 13 Soft terminal reset, 56 Synthesizer gains, 133-134 SP, 22,32, 34 Space symbol, 87, 92, 134 Speak command, 106-107 T Speak phonemic text, 105 Speaker definitions, 118-134 parameters. See Design voice parameters Tab symbol, 87,92, 134 Telephone range, 119-120 Speaking rate, T character, 63-64 command parameters, 59 114,115-116 dial, 57, 63-64 Speech control, 103 keypad, 57,62, 70-72 Speech synthesizer, 10,11, 13 Speech timeout, 104 line interface, 57 line, 3,57 Speech tuning, 142-143 management command, 58-59 Spellout strategies, replies, 60 170-171 SS2, 22, 39 SS3, 22, 39 ST, 22, 34. See also String terminator status messages, 58, 60 Touch-Tone, 57, 63-64 Test, 8-9, 52-53 TEST_HCONTROL, 53 Standards, coding, 31 TEST_HDATA, 53 Status, power-up, 8, 51 TEST_POWER, 53 Status report, 563-55 TEST_SPEAK, 53 Status reporting, 53-55 Text, 104 Stop speaking, 105 Text input, 2,10 Stress emphatic, 90 Text to speech, converting, 10 Time of day, 167 primary, 88 Timeout, telephone, 59, 63 secondary, 89 Tone values, 101 String terminator, 19 Tones, 100-101 SUB, 22, 32, 34 Touch-Tone dialing, 63-64 Sustained sounds, 98-99 Two-character encoding, 138 204 INDEX U w U.K. National character W character, 63-64 Underline character, 23 Unstressed syllables, 91 Wink detection. See Wink Whitespace characters, 92 Wink, 50, 57,65 set, 35, 38, 42 Uppercase letters, 168,170 User dictionary, 12, 82-83, 110-111,160 User-definable voice, 117-118,118-134 Word boundaries, 92 Word spellout, 170 Words per minute, 115-116 X X character, 63-64 XOFF, 26, 27-28 XON, 26,27-28 Vv Verb phrase introducer, 94 Vibrato, 100 | Voice command syntax, 134-135 Voice design, 118 Voice modification, 112-114 Voice modification commands comma pause duration, 114,116 design voice, 114,118 new voice, 114, 117-118 period pause duration, 114, 1 16 speaking rate, 114, 115-1 16 Voice selection, 117-118 Voices, DECtalk, 113,117-118, 121 Vowel phonemes, 80-81, 83 VT, 22,32,34 205 F § iy,
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies