ADD TEXTURE TO THE VOICE As Director, you have only begun to utilize MOCKINGBOARD's many talents. With your assistance MOCKINGBOARD can change its voice. MOCKINGBOARD's voice is described by four parameters: amplitude, inflection, filter frequency and speech rate. These parameters have been preset to values which will appear in the lower half of the Test Mode screen. CURRENT PARAMETERS 11 -AMPLITUDE 232 -INFLECTION B -FILTER FREQUENCY 8 -SPEECH RATE Should you wish to change any of these parameters, the commands below will allow you to do so. The mark is defined as the control key (or CTRL). COMMAND RANGE ^A AMPLITUDE 0-11 ^F FILTER FREQUENCY 0-253 ^I INFLECTION 0-25 ^R SPEECH RATE 0-13 NOTE: If you typed a word or phrase to be spoken and have not cleared it with an N for new entry, you will not be permitted to make any changes. The CURRENT PARAMETERS display is replaced by an ENTER COMMAND: prompt which will only accept R for repeat, N for new entry or Control-S for save the word. Type N for new entry and you will be returned to an entry mode to make changes. 1-6 SOFT TO LOUD VOICE, ^A, AMPLITUDE MOCKINGBOARD can speak in a variety of voices. It can speak in a barely audible whisper, or for stage purposes, in a deep sonorous voice. Volume or amplitude, may be adjusted with the ^A command. Type Control-A. The program will respond with a prompt. ENTER NEW AMPLITUDE SETTING You may enter any setting from 0 to 11. The normal setting is set at 11. Try 4 and press return. The new setting will be reflected in the CURRENT PARAMETERS Table. CURRENT PARAMETERS 4 -AMPLITUDE 232 -FILTER FREQUENCY 8 -INFLECTION 8 -SPEECH RATE Now type in "Hello." If MOCKINGBOARD spoke too softly, type N for new entry, and A for amplitude. This time, try typing in 8, press return, and check for the new value in the CURRENT PARAMETERS Table. Direct MOCKINGBOARD to speak again. When you are satisfied that MOCKINGBOARD is speaking at a proper volume, you may turn your attention elsewhere. LOW TO HIGH VOICE, ^I, INFLECTION Different roles or personalities require different voices. A child speaks in a high pitched voice, an adult male in a low pitch. With your direction, MOCKINGBOARD can utilize its talents and do impersonations. Suppose that MOCKINGBOARD was asked to play an evil villain in a theatrical production. Its normal voice won't do at all. In order to change pitch or inflection, type Control-I in the Test Mode. A prompt will appear to assist you. ENTER NEW INFLECTION SET NUMBER You may enter any value from 0 to 25, When you change the inflection set, you are moving the four main pitch levels up or down on a musical scale. An evil character requires a very low voice, so let's type in 0, and press return. The new value will appear in the CURRENT PARAMETERS Table. Now type "/WEL/COME TO MY DOMAIN," press return, and meet your villain. 1-7 MOCKINGBOARD's talents are far too great to play only evil character types. Let's create another role. Type N for new entry, I for inflection and set the inflection set to 25. Press return. MOCKINGBOARD will now speak like a little child in a very high pitched voice. Type "M/OMM/Y?" and press return. MOCKINGBOARD's versatility will amaze you. SLOW TO FAST VOICE, ^R, SPEECH RATE Some roles will require that MOCKINGBOARD speak very quickly. The speech rate may be adjusted on a scale from 0 to 13, from excruciatingly slow to incredibly fast. Type Control-R for the prompt: ENTER NEW SPEECH RATE: Set the speech rate to 1 and press return. Also, type ^I for inflection and change it back to 8. MOCKINGBOARD's new line is, "I am s/o/tired," and it is spoken as though MOCKINGBOARD will be asleep before it reaches the word "tired." (Don't forget to type the stress markers around the O.) On the other hand, type in a speech rate of 11, and press return. Now type "Peter Piper picked a peck of pickled peppers," and press return. MOCKINGBOARD never stutters. ALTER THE VOICE QUALITY, ^F, FILTER FREQUENCY The last parameter you may adjust is the Filter Frequency or voice quality. One of MOCKINGBOARD's greatest virtues is its ability to change its voice, if you type Control-F in the Test Mode, the prompt will read: ENTER NEW FILTER FREQUENCY NUMBER: By typing in any number from 0 to 253, and pressing return, you may direct MOCKINGBOARD to speak in a different voice. Type in 242 and press return. Change the speech rate back to 8. Type "TAKE ME TO YOUR LEADER." MOCKINGBOARD could play a creature from outer space. Let's try another. Type N and Control-F. Suppose we type 220 and press return. MOCKINGBOARD's voice acquires a previously undiscovered dignity. If MOCKINGBOARD now says, "YOU ARE A/GREAT/ DIRECTOR," we can believe it. 1-8 PULLING IT ALL TOGETHER MOCKINGBOARD's abilities may be further explored by changing more than one parameter at a time. Try changing Filter Frequency and Inflection together. Any combination of the four parameters is possible, so you may create an unlimited number of voices. Let's go back to the evil villain and make his voice more convincing. What the voice lacked earlier was the appropriate filter frequency. Change the inflection to 0 and the filter frequency to 220, giving the speech a lower and deeper voice quality. Also slow the speech rate to 6. Now, type "/WELCOME/ TO MY DOMAIN. HA, HA, HA." The child's whimper was high in pitch, but the voice quality was too strained. Change the voice quality to produce a softer, more innocent cry. Type 20 for inflection, 240 for filter frequency and 2 for speech rate. You may also lower the amplitude, if you wish. Type "/MOMMY? /I/ LOVE YOU." SAVE THE WORDS CREATED, ^S, SAVE As you develop words or phrases using the above methods, you may wish to save them. While the words and speech parameters are still on the screen, type CONTROL-S for save. DO NOT TYPE N FOR NEW ENTRY BEFORE YOU TYPE CONTROL-S. This will erase your words. Remember that after you enter a word, the only acceptable commands are N for new entry, R for repeat and S for save. When you type S you will be asked to enter a filename. ENTER FILENANE: You may enter any filename up to eight characters in length beginning with a letter A-Z. The following message will appear while the new file is written to your disk. PLEASE WAIT - SAVING COMPOSITE FILE The words you save may be used for current or future programs you may wish to enhance with speech. Please refer to the section on programming information for samples and an explanation of how you incorporate speech into your work. We have only whetted your appetite. With all the features presented in the previous pages, you may create whatever creature or character your imagination dictates. MOCKINGBOARD's talents are constrained only by your imagination. 1-9 THE RULE TABLE Sweet Micro Systems' method of converting text to speech is rule based. Words are broken into sound patterns, which are represented by rules. MOCKINGBOARD matches these rules to characters in words or phrases. When a match is made, MOCKINGBOARD speaks. The quality of rules developed in each character table will determine the accuracy of the resulting speech. Our language presents a formidable challenge in developing a comprehensive rule table. The Sweet table should be considered a base rule table, which may be personalized to suit your particular application. Sweet Micro Systems has made an effort to free you from a predetermined vocabulary and pronunciation, by including a utility called the Rule Editor. The Rule Editor will allow you to alter the Sweet table. New rules may be added, existing rules may be edited or redefined, and nonessential rules may be deleted from the tables. Personalize the Sweet table and let MOCKINGBOARD tell you what you want to hear. A WORD ABOUT PHONEMES MOCKINGBOARD produces speech using a building block method of combining basic sound units called phonemes. In order to teach MOCKINGBOARD to speak intelligibly, we must train our ears to hear individual phonemes in our own speech. MOCKINGBOARD can produce 64 speech sounds in all, more than enough to reproduce any speech you care to hear. Phonemes may be divided into two distinct categories, consonants and vowels. A list of MOCKINGBOARD's phonemes, codes, and a key to their pronunciation are provided in Appendix A, pages A-1 and A-2. The chart is divided into two tables, one for vowels and the other for consonants. The phonemes are listed in the first column of each table. Each phoneme has four possible codes, which allow the user to select different durations for each sound. By referring to the examples and experimenting with phoneme length, anyone can produce highly intelligible speech. Depending on where you live, your pronunciation of certain words may vary from MOCKINGBOARD's pronunciation. You will find that some words pronounced by MOCKINGBOARD will conflict with what you would normally expect to hear. Don't hesitate to change the pronunciation of any word you wish. MOCKINGBOARD has a great capacity to learn. 1-10 Boot the demo disk and select A for speech and then select Text to Speech, Type your name following the question mark and press return. How did MOCKINGBOARD do? If MOCKINGBOARD pronounced your name correctly great! If not, let's correct the rule table so MOCKINGBOARD will always get it right. Type QUIT to exit the Text to Speech mode and select the Rule Editor. The Rule Table has been designed to generate correct pronunciation for a majority of words. It operates using a text to speech method which allows the computer to analyze text, much in the way a person talks. Should the computer not be informed about a particular rule for pronunciation it will, like a human, make mistakes. Errors will occur because our alphabet is not an accurate representation of our phonemic system. There is not a one-to-one relationship between an alphabet letter and a particular phoneme. If you think back to your grade school days, you will remember the difficulties first graders have with the rules for silent e, the e which is not pronounced but signals a change in the preceding vowel. HOW TO MAKE CHANGES TO THE RULE TABLE ^Z, SELECT When the Rule Editor is ready, you will see the following prompt at the top of the screen. SELECT CHARACTER TABLE TO EDIT The Rule Table consists of all alphabet letters, all digits and their upper case symbols, and all punctuation marks. In order to demonstrate how to correct the Rule Table, we have selected the name, "Robert," which we know is mispronounced. Type R for the R character table, The R table will appear on the screen. It should look like Figure 1 - 1. The first two lines tell you where you are in the rule table and the present status. The number of rules (B), address (C), and bytes (D) will constantly change as you edit the table. Ten rules will appear on the screen at a time. If the character table contains more than ten rules, press the space bar to advance to the next ten. When you reach the end of the table, press the space bar to return to the first ten rules. 1-11 [A] RULE TABLE – R NUMBER OF RULES - 16 [B] [C] ADDRESS – 34494 LENGTH - 160 BYTES [D] 1. !(R)! =OESC 2. !(READY)! = I D4A4A2501 3. !(READ) = ID414125 [E] 4. !(REC)+ = ID0130 5 !(REC) = ID0A29 6 !(RE)^ # = ID01 7 (RE)D = ID0A 8 (RHY)TH = 1D07 9 (RH) = ID 10 (RINE)! = I D0138 [F] ENTER COMMAND: Figure 1 - 1 Screen Display of a Character Rule Table KEY TO THE RULE TABLE [A] Indicates which character table you are viewing. [B] Indicates the total number of rules contained in this table [C] Indicates the starting address in memory where this table can be found [D] Indicates the total length (in bytes) of this table [E] The first ten rules [F] Type one of the editor commands in Table I - I KEY FUNCTION ^Z Select new character table U Update Main Rule Table E Edit an entry ^S Save Rule Table to disk I Insert a new rule ^L Load Rule Table D Delete an entry ^P Print Character Table T Test mode ^Q Quit or exit program ^X Help menu SPACE Advance to next page of current Character Table Table 1 - 1 List of Rule Editor Commands 1-12 LET'S HEAR IT The Rule Editor has a test mode which allows you to evaluate MOCKINGBOARD's pronunciation.of a word or phrase. You will be able to access this mode from any character table, and once in this mode, you may type any word or phrase. T, TEST MODE Type T for the Test Node and a screen similar to that of Figure I -2 will appear. The Test Node will allow you to enter 239 characters or about six and a half lines of characters at the question mark prompt. A beep will tell you that you have reached the limit. Type the letter U until you hear a beep. Press return and listen to the results. The sequence of two digit numbers at the lower half of the screen are the phoneme codes selected from the rule table by the text to speech conversion program. When you typed the return, the U's were converted to code using the rule(s) matching this character string. TEXT TO SPEECH TEST MODE ? CURRENT PARAMETERS 11 -AMPLITUDE 232 -INFLECTIGN 8 -FILTER FREQUENCY 8 -SPEECH RATE Figure 1-2 Test Mode Screen Display KEY FUNCTION R Speak again ^A Set amplitude N New entry ^L Set inflection ^S Save word or phrase ^F Set Alter frequency ^Z Return to Editor ^R Set speech rate level ^X Help menu SPACE Advance to next phoneme page Table I - 2 Test Mode List of Commands 1-13 LOCATE THE SOURCE OF THE PROBLEM Type N, to clear the input area for a new entry. Type Robert next to the question mark prompt and press return. It sounds close, but not quite right. The sequence of two digit number s at the bottom half of the screen represents the phoneme codes selected for Robert. If you compare each of these phoneme codes with those of the Phoneme List in Appendix A, page A- I and 2, you will find that this name is pronounced as /ROWBFRT/ and not as /RAHBERT/, which is correct. ID 11 A3 64 SC 68 C0 / R O W B ER T PAUSE / In order to change the /OW/ sound to an /AH/ sound we must first determine which rule caused the error. Let us return to the rule table. Type N to clear for a new entry. Type Control-Z to return to the table from which you entered the Test Mode. Rather than go directly to the O rule table, we must first search the R rule table. The rules in the R table always define how the letter R will be pronounced, but the next character(s) in sequence may also be included in the R rule. It is possible that a rule which exists for (RO) caused the error. HOW TO READ A RULE Each rule in the table consists of three main parts, the rule definition on the left, the equals sign, and the phoneme codes on the right. The first rule of the R table states that R [ 1 ], which is preceded and also followed by a nonalphabetic character [2], is to be pronounced [3] as the composite sound of /AH-ER/, which is equal to the code OE5C [4], [1] 1 !(R)! =OESC [2] [3] [4] [1] Parentheses serve as boundary markers. They act to identify the particular character or characters which are to be matched. In this rule, only R will be pronounced. [2] The exclamation points indicate a nonalphabetic character which can be a space, punctuation mark, digit, or any other symbol except those which have been reserved as classification symbols (See Table 1-3). 1-14 [3] The equal sign acts to assign the phoneme code to the contents of the parentheses. [4] If all the conditions on the left are met, then a match is achieved and the contents of the parentheses will be pronounced as indicated by the phoneme code(s) to the right. The codes are set aside in a buffer (a temporary memory location) until the entire word or phrase has been converted. Other symbols used in rules are given in Table I -3a. The symbols help to generalize rules to encompass as many words with the same pronunciation pattern as possible. For example, a rule states that the letter A, preceded by any single consonant ( ^) and followed by the letter T, is to be pronounced as a short A. This r ule may match the word BAT, CAT, FAT, HAT, NAT, PAT, RAT, SAT, etc. It will also match BATTLE, CATTLE, RATTLE, BATCH, CATCH, HATCH and so forth. This single rule will insure that the letter A, in all these words and many more like them, will be pronounced correctly. How does the program know that B, C, F, etc. are consonants? The program is told. Each letter in the alphabet is classified as shown in Table I -3b. When Robert was typed, the program converted it to these symbols and set it aside for reference. Symbols for VOWELS Symbols for CONSONANTS # one or more vowels ^ one consonant + vowels E I Y . consonants BDGJLNNRVWZ : zero or more consonants Symbol for CHARACTER Symbol for ALL OTHERS use the character ? nonalphabetic Table I -3a Classification Symbols used in rule A B C D E F G H I J K L M # . ^ . + ^ . ^ + . ^ . . N O P Q R S T U V W X Y Z # ^ ^ . ^ ^ # . . ^ + . Table I -3b Classification Symbols: used in conversion 1-15 Rule number I does not apply to Robert, because the O in Robert fails to match the exclamation point on the right of R. / ROBERT / ! R ! If we had typed in "R" alone, a match would have been achieved. The text to speech program automatically inserts a space on either side of a word or phrase to be converted, to mark where it begins and ends. Therefore, the exclamation point on the left matches the space which precedes the name, Robert. A match is not achieved on the right, because the letter O is a vowel, not a nonalphabetic character. Compare the name, Robert, to the remaining rules in the R table. Each letter could be represented by its own character or a general symbol defining a vowel or a consonant. The letters in the name, Robert, may be represented by these symbols: R O B E R T . # . + . ^ ^ ^ # ^ Upon examination, we will see that a match will not occur until the last rule: (R) = I D. The last rule states that R in any environment, excluding the rules preceding it, will be pronounced as the R in the word, "rat." Rule number 16 only defines the pronunciation for the letter R, and not the sound of the letter O. Therefore, we must look to the next letter in sequence, the letter O, to locate the source of the mispronunciation. 1-16 We now proceed to the O table, type Control-Z to select a new character table and then O. If you page through the O table looking for a match, you should find a page of rules similar to Figure I -3. RULE TABLE – O NUMBER OF RULES - 88 ADDRESS – 34420 LENGTH - 849 BYTES 61 (O)^AGE=0E 62 (O)^A = 1163 63 (O)^E = 11A3 64 (O)^I# = 1163 65 (O)^ICE = 51A3 66 (O)^L# = 11 67 (O)^U = 11 68 (O)^U = l 1 69 (O)^Y = 1 l 70 (OUGHT) = 1028 ENTER COMMAND -end of part 2-