THE CRICKET INSTALLATION AND OPERATING INSTRUCTIONS NOTICE Street Electronics Corporation reserves the right to make improvements in the product described in this manual at any time and without notice. DISCLAIMER OF ALL WARRANTIES AND LIABILITY Street Electronics Corporation makes no warranties, either express or implied, except as explicitly set forth in the Limited Warranty with respect to this manual or with respect to the software described in this manual, its quality, performance, merchantability, or fitness for any particular purpose. Street Electronics Corporation software is sold or licensed "as is". The entire risk as to its quality and performance is with the buyer. Should the programs prove defective following their purchase, the buyer (and not Street Electronics Corporation, its distributor, or its retailer) assumes the entire cost of all necessary servicing, repair, or correction and any incidental or consequential damages. In no event will Street Electronics Corporation be liable for direct, indirect, incidental, or consequential damages resulting from any defect in the software, even if Street Electronics Corporation has been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or consequential damages, so the above limitation or exclusion may not apply to you. This manual is copyrighted. All rights reserved. This document may not, in whole or in part, be copied, photocopied, reproduced, translated or reduced to any electronic medium or machine readable form without prior consent, in writing, from Street Electronics Corporation. ©1984 by Street Electronics Corporation 1140 Mark Ave. Carpinteria, California 93013 (805) 684-4593 Apple, Apple //c and Apple //e, ProDOS, and Super Serial Card are trademarks of Apple Computer Inc. The Cricket, The Cricket Program, and Alphabits are trademarks of Street Electronics Corporation. Limited Warranty Every product manufactured by Street Electronics Corporation is fully tested and quality checked before shipment and is warranted to be free from defects in materials and workmanship for a period of one year from date of purchase. During that time period Street Electronics Corporation will at no charge repair or replace any defective unit returned to its service department (see shipping instructions below). Street Electronics Corporation disclaims any liability to users of its products for consequential damage of any kind arising from or connected with the use of its products. This warranty is void in cases of misuse, abuse, abnormal conditions of operation or attempts to alter or modify the function of a part or assembly. This limited warranty is in lieu of all other warranties expressed or implied and no representative or other person is authorized to represent or assume for Street Electronics Corporation any warranty liability beyond that set forth herein. This warranty gives you specific legal rights, and you may also have additional rights which vary from state to state. In case of problems with a Street Electronics Corporation product, please notify us of the model, serial number, date of purchase, and particular details. UNDER NO CIRCUMSTANCES SHOULD EQUIPMENT BE RETURNED TO STREET ELECTRONICS CORPORATION FOR REPAIR UNTIL AN RMA (Returned Material Authorization) NUMBER HAS BEEN ISSUED FOR THAT EQUIPMENT. When returning equipment, ship in the original carton or securely packed in a cardboard carton with at least two inches of cushioned packing material on all sides. Mark the package "FRAGILE" and ship via UPS, Parcel Post, or Air Freight, insured and prepaid (collect shipments will be refused and returned). Enclose a clear description of the problems experienced, proof of purchase date, return address, and preferred shipping method. Table of Contents Introduction ....................................... 1 Installation ....................................... 3 Try it Out ......................................... 4 REFERENCE Introduction ...................................... 7 Getting the Cricket Program Started ................ 9 SPEECH Introduction to the cricket's Speech Systems ...... 10 Fixed Vocabulary Speech: The SAY Commands ......... 12 Unlimited Vocabulary Speech: The TALK Commands .... 17 Unlimited Vocabulary Phonemic Speech: The PHN Command ............. 26 MUSIC Music: The PLAY Commands .......................... 31 SOUND EFFECTS Sound Effects: The SOUND Commands ................. 35 CLOCK FUNCTIONS Clock Functions: The TIME Commands ................ 37 MISCELLANEOUS COMMANDS Miscellaneous Commands: HELP, PAUSE, RESET, and ANIM ......... 41 ACCESSORY PROGRAMS The Word Editor.................................... 44 The Sound Editor................................... 49 Modifying ProDOS................................... 54 ADVANCED PROGRAMMING INFORMATION Using the Cricket Program from Machine Language ... 55 Using the Cricket Without the Cricket Program ..... 58 APPENDICES Appendix A: Cricket Vocabulary..................... 67 Appendix B: Phoneme Codes.......................... 76 Appendix C: Note Value Table....................... 77 Appendix D: Connecting the Cricket to a Super Serial Card 81 Command Index ..................................... 82 Credits ........................................... 83 Introduction Introduction Street Electronics is proud to present the Cricket™, the sound peripheral for the Apple //c and //e. The Cricket adds natural female voice output, an unlimited vocabulary robotic voice, sound effects, stereo music, plus a clock to your Apple. If you have an Apple //c, all you need to use the Cricket's features in your own programs is ProDOS. The Apple //e also requires an extended memory 80 column card and either the Street Electronics Alphabits™ card or an Apple Super Serial™ card. You're probably anxious to start "working" with the Cricket: jazzing up your game, education and business programs with speech, sound effects, and music; modifying ProDOS so that it will time—stamp your word processing files; writing music; creating dynamic sales presentations, etc. After reading through the simple installation instructions, you might want to turn to the section titled "Try it Out" to begin working with these capabilities. If you bought the Cricket for use with commercially available education and game programs, you're all set after installation. Otherwise, you'll need to know something about how to use this manual to get the information you need to add the Cricket functions to your own BASIC programs. As you will be using the Cricket in your own programs, we've assumed knowledge of elementary BASIC programming in the reference portion of the manual: you should be able to SAVE and LOAD a BASIC program, initialize and boot a disk and understand common BASIC statements. If you don't know how to do these things, your Apple reference manuals contain this information. (In fact, there is a diskette which comes with the //c called "Getting Down to BASIC" which can introduce you to these concepts.) Because the Cricket does so much, and because you may be using one Page 1 Introduction or all of the Crickets functions at any one time, we’ve discussed each Cricket function (speech, music, sound effects, clock, miscellaneous) in a separate section of the manual. Therefore, you should be able to learn each function as you need it by reading only the appropriate section of the manual. Each section contains an introduction, and then lists the commands that you'll be using to control that particular function. For ease of reference, each command listing gives first the command, then its proper programming syntax, followed by a description of what the command does and an example or two. After you have read each section once, use the manual as reference to refresh your memory about specific functions or commands when necessary. Looking at the "Table of Contents" should make the organization of the reference portion of the manual clear. Now, after "Installation“, you can explore as few or as many Cricket functions as you want. Have fun! Page 2 Installation Installation The Cricket is very easy to connect to your computer. If you have an Apple //c, plug the cable coming from the Cricket into the modem port ( the one with the telephone icon). If you have an Apple //e, connect the cable to a serial card in slot 2, preferably Street Electronics’ Alphabits™ card. To connect the cable to an Apple Super Serial™ card see Appendix D. Now connect the cable from the power transformer to the back or the Cricket; it will plug into only one of the jacks. Plug the transformer into a power outlet and you're all set. The Cricket must always be plugged in to keep accurate time. Notice that the little green light on the front of the Cricket is flashing. This means that the time is not set. This light will stop flashing once you set the time (see the Tryout section or the SETTIME command in the Clock Functions section). If the Cricket should lose power at any time, the light will flash until the time is set again. The knob on the front of the Cricket adjusts the volume or all your output. There is also a stereo output jack on the back of the Cricket. You may connect stereo speakers or headphones to this jack to get the full value of the Crickets stereo capabilities. Now, boot the Cricket disk and either select one of the demonstrations from the menu to test your Cricket or go through the short section titled "Try it Out", below. Page 3 Try it Out Try it Out This section is intended to introduce you to a few of the features of the Cricket and allow you to use them right away. The instructions will be easier to understand if you have some knowledge of BASIC programming. For further explanation of the commands used here, see the Reference portion of the manual. Before starting, you should boot the Cricket disk and select the "Exit to BASIC" option. The first thing that you will need to know is that all Cricket command lines must begin with an ampersand (&). Immediately following the "&" should be a Cricket command, and then, separated from the command by a comma, any other information needed. For example, to have the Cricket say "Hello" using its Unlimited Vocabulary speech system, type: &TALK,"Hello" The Cricket should have responded with the word "hello"; if it didn't, double check the volume knob on your Cricket. You can make the Cricket say anything you like, just by using the TALK command as shown above, substituting the phrase you would like spoken for the one in quotes. The Cricket can also speak a limited vocabulary in a more natural sounding, female voice. We call this Fixed Vocabulary speech. in this next example, we're using a word list (called "SAMPLE") that we've selected from the Crickets vocabulary using the Word Editor program. Using the following statements, you can string these words together into a sentence: &LODWRDS,"/CRICKET/SAMPLE" &SAY, "I", "LIKE", "THE", "CRICKET" Page4 Try it Out The TALK and SAY commands are covered in much more detail in the section or the manual devoted to speech. The Cricket can also play music and create sound effects. Type: &LODSOUND,1,"/CRICKET/SOUND.EFFECTS/GUNSHOT" &LODSOUND,2,"/CRICKET/SOUND.EFFECTS/CHIME" &SOUND,1 &SOUND,2 The sound effects that were loaded from the disk were created using the Sound Editor program. For more information, see the chapters "Sound Effects: The Sound Commands" and "Sound Editor". Now, to hear a little music type in this line: &PLAY,"[C3], C4, E, G, C5, [S]" if you know something about music, you may be able to guess the purpose of most or the notation within this command. "[C3]" starts playing a C major chord in the 3rd octave; "C4" plays a C in the fourth octave; "E, G" plays an E and G in the same octave, and "C5" plays a C in the fifth octave. The "[S]" stops the chord. These and other commands are covered in more detail in the chapter, "Music: The Play Commands". Now that you've heard the Crickets speech, music and sound effects, let's set the clock (and stop that green light from flashing). To do this, type "&SETTIME" followed by a comma, and the correct time in quotes. For example: &SETTIME, "2:05:34 PM" Page 5 Try it Out If you make a mistake entering the time, and the Cricket can't make sense of what you have typed, it will sound a chime. Try again. Now let's set the date. Type the following, substituting the correct date: &SETDAY,"SAT JUNE 3 2079" Again, if the Cricket chimes, just re—enter the whole command again. To ask the Cricket for the time, type the following: &TIME,T$ &DAY,D$ The Cricket program stored the time in the string variable T$, and the date in D$. So, to see the time, just print these variables: PRINT T$ 02:06:03 PM PRINT D$ SAT JUN 03 2079 This section has given you a quick introduction to the basic capabilities of the Cricket. There are many more options, however. To explore these options, you can either go directly to the Reference portion of the manual, or run one or more of the demonstrations on the menu. Also try listing the BASIC demonstrations round on the Cricket disk to see how these commands are used within programs. Page 6 Reference Reference This part of the manual tells you how to get the Cricket started and then lists, by function, all the commands that can be used with the Cricket program. (The Cricket can also do some things without the Cricket program, and these are explained in "Using the Cricket Without the Cricket Program" in the section titled "Advanced Programming Information") The Cricket program's commands are grouped into 5 sections: Speech (which is further broken down into the Fixed Vocabulary, Unlimited Vocabulary, and Phonemic speech systems), Music, Sound Effects, Clock functions, and Miscellaneous. All of these sections use the same format. The command is listed in the left margin in large print, followed on the same line by its correct programming syntax, and then, below that, by an explanation of the command followed by a few examples of its use. SYNTAX: refers to the way in which the elements of a command are arranged. Computers do not accept information in just any form; in fact, you will need to follow the syntax for the commands exactly, giving the computer the information it needs in the order that it expects to get it. All text in upper case letters should be typed exactly as shown. Text in italics explains what type of variable or expression, if any, should follow the command. Text enclosed in brackets gives optional text. Note that all Cricket commands must be preceded on the program line by an ampersand (&). Commands must also be separated from one another and from any other information needed by the command by a comma (,). The other information required by the command may take any of several forms. These are explained below. Page 7 Reference Some Definitions: sexpr is an abbreviation for "string expression". This can be any string variable, any valid string formula, or anything enclosed in quotes. The following are examples of various string expressions: N$ "string" A$+"text" MID$(B$,5,3) nexpr is an abbreviation for "numeric expression". This can be any numeric variable or any valid numeric formula. For example: X X+3/500 B% svar is an abbreviation for "string variable". When the Cricket returns information, it will usually be stored in a string variable. nvar is an abbreviation for "numeric variable“. This must be a real variable, not an integer variable (not a variable with a "%" following it). In the examples listed with each command, text appearing in italics represents the Crickets speech, and text appearing in bold print represents text which appears on the Apple's screen. Page 8 Getting the Cricket Program Started Getting the Cricket Program Started Before proceeding any further, please back up both sides of the Cricket disk (side 2 contains the Word Editor) using the disk copying utility that comes with ProDOS. Store the original in a safe place. To start using the Cricket program, just boot your copy of side 1 of the Cricket disk, or type "BRUN CRICKET This will load the Cricket program into memory, which will then automatically load the program titled "CRICKET2" into the "extended" memory or your Apple. This will leave all of the normal BASIC programming memory for you to use. Note, however, that since the Cricket program uses the extended memory, the /RAM disk of ProDOS will be unavailable. If you are using another program which requires the use of the ampersand, run it first and then the Cricket program. The Cricket program is designed to pass on to the other program any command that the Cricket program doesn't recognize. You may also move just the Cricket programs, CRICKET and CRICKET2, to your own disk. Simply use the ProDOS file-copying utility. Note on memory usage: The Cricket program uses only the bytes from 930 ($3A2) to 976 ($3CF) in main memory. In auxiliary memory, it uses from 2048 to 8191 ($800 to SIFFF) and from 24576 to 32767 ($6000 $7FFF) for the Cricket program, and from 32768 to 48895 ($8000 to SBEFF) for the storage of word files. Note that the memory for double high resolution graphics is unused. Page 9 Speech Introduction to the Speech Systems The Cricket gives you the capability of creating state of the art synthesized speech for any application in either a natural sounding female voice or a more robotic male voice. To ensure maximum flexibility in designing speech output, three very different speech systems were created for the Cricket. The following short descriptions should help you decide which speech system (or combination of systems) is right for your application. Fixed Vocabulary Speech: The SAY Commands The first of these systems controls a female voice with a vocabulary of 725 words and phrases (and additional prefixes and suffixes which can be appended to many of the words). This dictionary of the Cricket's most natural sounding speech was compiled from lists of the most used words in the English language, and supplemented with useful computer, game, and education vocabulary. Using the SAY commands, you can string together these words and phrases to create sentences for your programs in the highest quality speech available for microcomputers today. Unlimited Vocabulary Speech: The TALK Commands For speech with even more flexibility, however, there's a second option: the Unlimited Vocabulary speech system (also known as Text—to—Speech). Using the TALK commands, you can have any English word spoken by the Cricket in a robotic male voice. The system analyzes your text (applying over 400 pronunciation rules), and immediately converts your text to speech. This unlimited vocabulary system allows for both flexibility and ease of use. Page 10 Speech Phonemic Speech: PHN (Also uses some TALK Commands) But for really hand—tailored speech, there's even a third option: Phonemic speech. Using this system, you control the same robotic male voice used by the Unlimited Vocabulary system, but you bypass the pronunciation rules. Instead, you build your own words, sound by sound, from phonemes (basic speech sound units). This system allows you to modify your speech at the phoneme level, rather than the word level, and, therefore, gives you the most flexibility of any of the Crickets three speech systems. Each of these systems offers a high level of both usability and flexibility. In addition to the options which make each system unique, there are volume, pitch and rate of speech commands basic to all. Generally speaking, the number of options increases with the amount of input that you choose to have in your speech output. But, whether you choose to build your own words, to have the Cricket pronounce your words, to use the Crickets pre-encoded vocabulary, or any combination of the three, you can almost certainly get the quality, degree of accuracy and the ease or use that you want. Page 11 Fixed Vocabulary Speech: The SAY Commands Fixed Vocabulary Speech: The SAY Commands The SAY commands control words spoken in a high quality, natural sounding female voice. These words may be strung together into sentences and phrases, or used individually. In order to use the SAY commands, you must first load some words (using the LODWRDS command) from a file that you've created using the Word Editor. See the Word Editor chapter for information on how to create and save a word list. The examples in this section assume you have loaded from the Cricket disk the sample word file titled "SAMPLE", consisting of the following words, in the following order. For information on why order is important, see the SAY command. I AM LIKE CALL CHANGE ABLE 2 THE CRICKET LODWRDS LODWRDS,sexpr loads from a disk a word file previously created using the Word Editor. (You may use SHOWWRDS to check on the words you have just loaded.) The string expression should be the name of a word file. Note that the Word Editor saves the word file with ".WRD" appended on to the end. Do not enter this in the string expression. Page 12 Fixed Vocabulary Speech: The SAY Commands Example: &LODWRDS,"/CR1CKET/SAMPLE“ A$="MYWORDS" &LODWRDS,"/MYDISK/"+A$ SHOWWRDS SHOWWRDS lists all the words you have loaded from your disk into memory. Example: &SHOWWRDS I AM LIKE CALL CHANGE ABLE 2 THE CRICKET SAY SAY,sexpr or nexpr speaks words from your word list. Words can be identified within the command by using either a string expression equivalent to a word in the word file, or by using a numeric expression. Numbers are assigned to the list in the order that they were chosen. The first word is always zero. Example: &SAY,"I","LIKE","THE",“CRICKET" I like the Cricket &SAY,O,2,"THE",8 I like the Cricket Page 13 Fixed Vocabulary Speech: The SAY Commands A=8 SAY, A- I , A The Cricket SAY, 2, "2" like 2 You may also add the following prefixes to any word: DIS’ RE‘ EX‘ UN‘ and also these suffixes: ‘S ‘T ‘D The apostrophe which follows the prefixes, and precedes the suffixes, must be used with them. These additions are not part of the string expression, however, and do not go inside the quotation marks. Example: &SAY, EX'"CHANGE“ Exchange &SAY,EX'4 Exchange &SAY, "I",RE'"CALL","I","AM",UN'5,6,DIS'“LIKE“,8'S I recall I am unable to dislike Crickets &SAY,"CHANGE"’D Changed &SAY,"LlKE"'T Liked (note that "liked" has a ‘T’ sound not a 'D‘ sound at the end.) Page 14 Fixed Vocabulary Speech: The SAY Commands SAYFAST SAYFAST[,sexpr or nexpr] causes all subsequent words to be spoken at twice their normal rate of speed. If the optional expression is used, the specified words will be spoken. Example: &SAYFAST &SAY,"CRICKET" Cricket (spoken twice as fast) &SAYFAST,7,8 The Cricket (spoken twice as fast) SAYSLOW SAYSLOW[,sexpr or nexpr] causes the Cricket to resume speaking at its normal rate of speed. If the optional expression is used, the specified words will be spoken. Example: &SAYSLOW,7,7+ 1 The Cricket (spoken at normal speed) SAYPITCH SAYPITCH,nexpr[,sexpr or nexpr] makes relative adjustments to the pitch at which the word was originally factory encoded. The value of the numeric expression is added or subtracted to the original pitch level of a word. Using a negative value for the numeric expression lowers the pitch, a positive value raises it, and 0 restores it to normal. The numeric expression should be from -63 to +63. Since the actual pitch can vary only from 1 to 63. adding 30 to a word encoded at a pitch level of 50 will exceed the top range and cause the word to be spoken at a high monotone. A similar effect will be created if the bottom range is exceeded. If the optional expression is used, the specified words will be spoken. Page 15 Fixed Vocabulary Speech: The SAY Commands Example: &SAYPITCH, 10 (will raise the pitch 10 steps) A=5 &SAYPITCH,2-A (lowers the pitch by 3 steps) &SAYPITCH,0 (standard pitch) SAYVOLUME SAYVOLUME,nexpr[,sexpr or nexpr] makes relative adjustments to the volume at which the word was originally encoded. The numeric expression can vary from -15 to +15. The actual volume levels are from 1 to 15. If the optional expression is used, the specified words will be spoken. Example: FOR A=3 TO 10 : &SAYVOLUME,A,"CRlCKET": NEXTA (this will say Cricket several times, constantly increasing in volume) Page 16 Unlimited Vocabulary Speech: The TALK Commands Unlimited Vocabulary Speech: The TALK Commands The TALK commands of the Unlimited Vocabulary speech system instruct the Cricket to speak in a robotic male voice any text that they contain, guided by over 400 pronunciation rules. This system is easy to use, quite accurate, and, taking its many speed, pitch, inflection, volume and output options into account, very flexible. It should be noted that the TALK commands do not affect Fixed Vocabulary speech, which is controlled by the SAY commands, but that Phonemic speech (PHN) is affected by some TALK commands. These are noted in the individual command descriptions. TALK TALK,sexpr or nexpr speaks the words in the string expression or pronounces the numbers in the numerical expression in a robotic male voice. Example: &TALK,"Hello I am a Cricket" Hello I am a Cricket A=2 : B=3 &TALK,A,"+",B,"=",A+B Two plus three equals five &TALK,5O five zero Although the Unlimited Vocabulary system uses many rules to guide it in correctly pronouncing text, English is so full of exceptions to these rules, such as compound words and foreign words, that it is not 100% accurate. These examples illustrate some guidelines which help bridge the gap between the Cricket and perfection: &TALK,“TYPEWRITER" Tipwriter Page I7 Unlimited Vocabulary Speech: The TALK Commands &TALK,"TYPE WRITER" Typewriter Often, breaking up a word into syllables is all that is needed to have it pronounced correctly. More examples of words that require this type of correction are "equals" (E QUALS), "create" (CRE ATE). and "program" (PRO GRAM). Other words may need to be misspelled for them to be pronounced correctly. For example: &TALK,“ROBOT“ Rahbot &TALK,"ROWBOT" Robot Notice that the first "0" is mispronounced in "ROBOT" when it is spelled correctly. Following the "O" with a "W" changed the "short O" sound to a "long O" sound and made the pronunciation more consistent with the patterns of English speech. (The word "robot“ is foreign.) Along the same lines, a short "a" can be made long by spelling it “ay", and the short "e" will be pronounced long if it is spelled "ee". To make a long vowel short, try doubling the following consonant. Using these hints, a common—sense knowledge of English, and a little experimentation, correct pronunciation is a fairly simple matter. TALKPRNT TALKPRNT[,sexpr or nexpr] prints to the screen (or printer) everything that is spoken using the TALK commands. This is equivalent to combining the TALK command and a BASIC print statement, and thus printing and speaking the text simultaneously. (See also the SCREENTALK command.) If the optional expression is used, the specified text will be spoken and printed. Page 18 Unlimited Vocabulary Speech: The TALK Commands Example: PRINT "Howdy!" : &TALK,"Howdy!" Howdy! Howdy! &TALKPRNT &TALKFAST,“Little lambs eat ivy" Little lambs eat ivy Little lambs eat ivy TALKNOPRNT TALKNOPRNT[,sexpr or nexpr] reverses the TALKPRNT command. If the optional expression is used, the specified text will be spoken. Example: &TALKPRNT,"Rowbot" Rowbot Robot &TALKNOPRNT PRINT "Robot" : &TALK,"Rowbot" Robot Robot TALKFAST TALKFAST/[,sexpr or nexpr] causes all subsequent speech to be spoken at twice the normal rate of speed. If the optimal expression is used, the specified text will be spoken. This command also affects Phonemic speech (the PHN command). Example: &TALKFAST,"HELLO" Hello (spoken fast) &TALK,"SAILOR" Sailor (also spoken fast) Page 19 Unlimited Vocabulary Speech: The TALK Commands TALKSLOW TALKSLOW[,sexpr or nexpr] causes the Cricket to resume speaking at its normal rate of speed. If the optional expression is used, the specified text will be spoken. This command also affects Phonemic speech (the PHN command). Example: &TALKFAST,"FAST",TALKSLOW,"SLOW" Fast slow TALKPITCH TALKPITCH,nexpr[,sexpr or nexpr] sets the base pitch for subsequent speech. The Unlimited Vocabulary system normally speaks with a base pitch of 24 and varies intonation around this level. The numeric expression can be anything from 1 to 63, 1 being the lowest level of pitch. If the optional expression is used, the specified text will be spoken. This command also affects Phonemic speech (the PHN command). Example: &TALKPITCH, 10 &TALK,"I CAN SPEAK LOW..." I can speak low... (spoken in a low pitch) &TALKPITCH,50,“OR HIGH!" or high! (spoken in a high pitch) TALKVOLUME TALKVOLUME,nexpr[,sexpr or nexpr] sets the volume level of subsequent speech. The numeric expression may be from 1 to 15, 1 being the quietest level. Normally the Cricket will speak at a level of 12. Note that at the higher levels, the volume of certain sounds ("F","H","S","SH","TH") will increase without a corresponding increase in the volume of other sounds. Also, at the lower levels, speech may sound like a whisper. To adjust the volume without these effects, simply use the volume knob Page 20 Unlimited Vocabulary Speech: The TALK Commands on the Cricket. If the optional expression is used, the specified text will be spoken. This command also affects Phonemic speech (the PHN command). Example: FOR A=12 to 3 STEP -1 : &TALKVOLUME,A,"ECHO“ : NEXT A ( The Cricket will repeat the word "ECHO‘ several times, slowly fading away) TALKLTR TALKLTR[,sexpr or nexpr] causes the Cricket to spell words out letter by letter. If the optional expression is used, the specified text will be spoken. Example: &TALKLTR &TALK,"Mike" M-i-k-e TALKWRD TALKWRD[,sexpr or nexpr] causes the Cricket to resume speaking words in their entirety. This is how the Cricket normally speaks. (See TALKLTR). If the optional expression is used, the specified text will be spoken. Example: &TALKLTR,"APPLE" a-p-p-l-e &TALKWRD &TALK,"APPLE" Apple TALKF TALKF [,sexpr or nexpr] causes all subsequent speech to be monotonic (or flat in pitch). Normally the Cricket varies the pitch within words and sentences. (See the TALK! command.) If the optional Page 21 Unlimited Vocabulary Speech: The TALK Commands expression is used, the specified text will be spoken. This command also affects Phonemic speech (the PHN command). Example: &TALKF &TALK,“ARE YOU HAPPY?" TALK TALK [,sexpr or nexpr] causes the Cricket to resume speaking with intonation. The Cricket varies the pitch of words within a sentence to make its speech sound more natural. For example, the end of sentences terminating with a question mark or semi-colon rises in pitch, while the end of sentences terminating with a period, exclamation point or colon drops in pitch. These are normal English intonation patterns. If the optional expression is used, the specified text will be spoken. This command also affects Phonemic speech (the PHN command). Example: &TALK,"ARE YOU HAPPY?" Are you happy? (pitch rises at the end) &TALK,"ARE YOU HAPPY." Are you happy. (pitch drops at the end) TALKSOME TALKSOME [,sexpr or nexpr] causes the Cricket to pronounce some punctuation characters. This is the normal operating mode for the Cricket. In the TALKSOME mode, only unusual punctuation characters will be spoken: '#', '$', '%', '&', '=', '@', '+', '>', '<', '/', and also a period (.) if it is followed immediately by another character. If the optional expression is used, the specified text will be spoken. Example: &TALKSOME &TALK,"1.2%." Page 22 Unlimited Vocabulary Speech: The TALK Commands One point two percent &TALK," ; : $ " Dollar Sign TALKMOST TALKMOST [,sexpr or nexpr] causes the Cricket to pronounce all punctuation characters except spaces, line feeds (control—J) and carriage returns. (See TALKSOME and TALKALL). If the optional expression is used, the specified text will be spoken. Example: &TALKMOST," ; : $ " Semi-colon colon dollar sign &TALK,"-" Dash TALKALL TALKALL [,sexpr or nexpr] causes the Cricket to pronounce all punctuation characters including spaces, line feed and (carriage) returns. (See TALKMOST and TALKALL). If the optional expression is used, the specified text will be spoken. Example: &TALKALL," ; : $ " Space semi-colon space colon space dollar sign space return TALKCAPS TALKCAPS [,sexpr or nexpr] spells out all groups of uppercase letters. If the optional expression is used, the specified text will be spoken. Example: TALKCAPS,"What is an IBM PC?" What is an I-B-M P-C? TALK,"SEC is Street Electronics Corporation" S-E-C is Street Electronics Corporation Page 23 Unlimited Vocabulary Speech: The TALK Commands TALKNOCAPS TALKNOCAPS [,sexpr or nexpr] causes the Cricket to resume pronouncing groups of uppercase letters as words. If the optional expression is used, the specified text will be spoken. Example: TALKNOCAPS,“IBM Corporation" IHBEM Corporation SCREENTALK SCREENTALK [,sexpr or nexpr] causes all subsequent text printed to the screen to be spoken. After using this command, it is no longer necessary to use the TALK commands to generate speech; simply printing text to the screen will cause it to be spoken. The Cricket will also say "ready" every time the Applesoft prompt (]) appears on the screen. If the optional expression is used, the specified text will be spoken. Example: 10 &SCREENTALK 20 PRINT "I love my Cricket!" RUN I love my Cricket! I love my Cricket! ] Ready (the cricket will say ready when the prompt appears.) NOSCREENTALK NOSCREENTALK [,sexpr or nexpr] reverses the SCREENTALK command. TALK commands must again be used to generate speech. If the optional expression is used, the specified text will be spoken. Page 24 Unlimited Vocabulary Speech: The TALK Commands Example: 10 &SCREENTALK 20 PRINT "I am not a“; 30 &NOSCREENTALK: REM turn off the screen so robot can be mispelled for the Cricket, but appear spelled correctly on the screen 40 PRINT "robot." 50 &TALK,"RoWBOT' RUN I am not a robot. I am not a robot. Page 25 Unlimited Vocabulary Phonemic Speech: The PHN Command Unlimited Vocabulary Phonic Speech: The PHN Command Both the Unlimited Vocabulary speech system (using the TALK commands) and the Phonemic speech system (using the PHN command) offer the same flexible, male robotic voice and an unlimited vocabulary. The difference between these two systems lies in how speech is generated using the TALK command and how it is generated using the the PHN command. Using the Unlimited Vocabulary speech system, any word may be spoken by simply using that word in a TALK command (e.g. &TALK,“SPEECH"). The Cricket uses over 400 pronunciation rules to analyze the word, decides how to pronounce it and then speaks it. Using the PHN command, however, you must tell the Cricket how to pronounce a word by giving it phonemes. Phonemes are the basic sound units of a language and can differ greatly from a language’s alphabet. The word "speech", for example, is composed of six letters, but only four phonemes: they represent the "s" sound, the "p" sound, the long "e" sound and the "ch" sound. Each of these basic sounds can be represented by a single symbol, or "phoneme code". (Appendix B contains the 48 phoneme codes.) For example, from Appendix B it can be seen that the phoneme code version of "speech" is “SP&C“. To have this word spoken using the Phonemic speech system, you would use these codes in a PHN command (e.g. &PHN,"SP&C"). Since the PHN command works at the phoneme level, and contains options which allow control of the relative inflection, stress, volume and pitch of each individual sound, words can be designed to Page 26 Unlimited Vocabulary Phonemic Speech: The PHN Command be pronounced exactly as desired. It should be noted that some of the TALK commands (TALKFAST. TALKSLOW, TALKPITCH, TALKVOLUME, TALKF, AND TALKI) also affect subsequent Phonemic speech as well as as standard Unlimited Vocabulary speech. PHN PHN,sexpr generates speech using phonemes. The string expression should contain phoneme codes and any desired options. These codes and options are explained below. PHONEME CODES: The codes listed in Appendix B represent 48 basic sound units of the English language. These can be strung together to create words and sentences. For example: &PHN,"SP&C" speech &PHN,"I AM @ KRIKIT" I am a Cricket  INFLECTION AND STRESS: The number 0,1,2 or 3 following a vowel, diphthong or r—colored vowel (these linguistic categories are listed in Appendix B) determines the stress of that phoneme. If no stress number is given, then a value of two will be used. Using a 3 gives greater stress by making the phoneme higher in pitch, longer in duration, or both. Using a 1 reduces the stress placed on a phoneme by making it lower in pitch and shorter. A stress of 0 reduces the sound to a weak vowel sound which is termed a "schwa". The schwa also has its own code 0 which can be used. Using the TALKF command Page 27 Unlimited Vocabulary Phonemic Speech: The PHN Command (discussed in the chapter on TALK commands) will cause all stress commands to be ignored. The TALKI command will re—enable recognition of the stress commands. Here are some examples of possible applications of the stress commands: &PHN,"KRI3KIT" &PHN,"KRI2KIT" &PHN,"KRIKIT" &PHN,"KRI1KIT" &PHN,“KRIKI0T" &PHN,"A3P'L KU1MP%T'R“ PITCH: The overall pitch of a word may be adjusted by using the TALKPITCH command. But the pitch can also be adjusted within a word, by using a number from 1 through 9 (except after a vowel or diphthong where it would be considered a stress number). The base pitch, set by the TALKPITCH command, is 5. The highest pitch is 9. The pitch remains at the new level until it is reset, or until the first stop consonant or fricative is encountered. In the following example, the numbers in bold print set the pitch level, while the numbers following vowels set the stress level as explained above: &PHN,"9!3 7AM 5@3 KR3I3K1I2T" This may seem a bit confusing at first, but a little experimentation will make it clear. Another way to modify the pitch is to use the symbols "<" and The ">" symbol will set up Page 28 Unlimited Vocabulary Phonemic Speech: The PHN Command a pattern of rising pitch; the "<" symbol sets up a pattern of falling pitch, and flat pitch is set up using the "=" symbol. All sounds continue to vary in the pitch pattern selected until either a fricative, stop consonant, or pitch level change is encountered. For example: &PHN,"H>EEEELLLLP" &PHN_"HLLLLLLLLLLLLP" &PHN,"R>!!!!ZS ST‘"“P" VOLUME CONTROL: The overall volume of a word may be adjusted by using the TALKVOLUME command. The volume can also be adjusted within a word by using "+" and "-". Typing a "+" increases the volume and the "-" decreases it. A series of "+"s or "-" may be used. For example: &PHN,"EKO--EKO--EKO--EKO++++++EKO" The volume remains modified until it is specifically changed again using the “+" or "-" commands. When the Cricket program is first run, the volume is already set at about the maximum level. Increasing the volume one level above this will increase the volume of the fricatives without a corresponding increase in the voiced sounds. PAUSES: The PHN command ignores spaces between words (it is highly recommended, however, that they be inserted for better legibility). To create a pause, use a comma. The comma may be followed by a Page 29 Unlimited Vocabulary Phonemic Speech: The PHN Command number from 1 to 9 to vary the length of the pause. A 1 is a short pause while a 9 gives a long pause. For example: &PHN,"@ ,1 @ ,3 @ ,5 @ ,7 @ ,9 @" If a number doesn't follow a comma, a value of 2 is used. (Also see the PAUSE command in the "Miscellaneous Commands" section). The PHN command is really not difficult to use, though at first, due to its high degree of flexibility, there may seem to be a lot to remember. A dictionary can help encode words when used in conjunction with Appendix B, which shows the dictionary symbols for the various phonemes. Page 30 Music: The PLAY Commands Music: The PLAY Commands The Cricket has the capability of playing music using up to 6 different simultaneous voices or melodies. To use the full music capabilities of the Cricket, a music editor is necessary (available separately). Still, the Cricket program itself does allow for quality music to be generated very simply from a BASIC program by anyone with a knowledge of written music. From BASIC you can play a one note melody with a range of up to 8 octaves, accompanied by three note chords. The melody may even be in either of two voices. A sample song included on the Cricket disk may be run by typing RUN /CRICKET/MUSIC/YESTERDAY. There is also a sample song at the end of this section. PLAY PLAY,sexpr generates a one note melody accompanied by three note chords. The notes are specified in a string, with commas separating the notes within the string. The notes may be sharp or flat, and may be played in any of 8 octaves and for many varied lengths (utilizing the "dot" and "tie" options, in addition to the five basic note values). You may also specify rests. The chords are also specified by letter and may be played in any octave. In addition, chords may be major or minor. For more clarification of these options, see the explanations that follow and, especially, the example at the end of this section. Note The letters C, D, E, F, G, A, B specify which note is to be played, C being the lowest note of an octave. Page 31 Music: The PLAY Commands Flats Flats are indicated by a lower case letter B (b). For example, Eb is an E flat. Sharps A sharp is specified by a pound sign (#). F# is F sharp. Octave Each note may be followed by a number from 1 to 8 specifying in which octave the note is to be played, 1 being the lowest octave. For example, G#3 would play a G sharp in the third octave. Length The length of a note is shown by following the note with a slash (/) and a number representing the length. /1 is a whole note; /2 and /4 are half and quarter notes, and /6 and /3 are sixteenth and thirty-second notes, respectively. For example, C3/4 will play a quarter note C in the third octave; B/6 will play a sixteenth note B. Dots A dotted note is created by following the length notation with a dot (.). For example, /2. is a dotted half note. Tie A tied note is specified by an underline. For example, a half note tied to an eighth note would be: /2_/8 Rest A rest is an ‘R’ followed by the length as shown above. For example, R/4 is a quarter rest. Chords A chord is distinguished by being enclosed in brackets. For example, [C] will start playing a C major chord. Once a chord is started, it will play continuously until another chord is requested or until a stop chord command is given. [S] will stop a chord. Chords are major unless a minor chord is specified by following the chord with the letter 'M‘ (upper or lower case). The chord may be played in any of 8 octaves. For example. [C3M] will play a C minor chord in the third octave. Page 32 Music: The PLAY Commands Note that it is not necessary to retype those specifications which you do not wish to change. If a quarter note C has already been specified, then, to play a quarter note D, only indicate what is to change (in other words, just type the D). For example, the following will play C, D, E, F as quarter notes in the third octave, followed by G, A, B as half notes also in the third octave, and then C as a whole note in the fourth octave: &PLAY,"C3/4,D,E,F,G/2,A,B,C4/1" Examples: &PLAY,"[C#3],C4#/2,F,G#,C#5/1,[S]" (Note that the sharp sign may come before or after the octave) &PLAY,"G4/1,/2,/4“ &PLAY,"Bb/8, , ," (This will play four B flats) A$="C/2" : B$="E" &PLAY,A$,B$,"G" TEMPO TEMPO,nexpr[,sexpr] The TEMPO command is used to adjust the speed at which your songs are played. The numeric expression may be in the range 1 to 255, 1 being the fastest the Cricket can play. If the optional expression is used, the specified notes will be played. Example: &TEMPO,50 &PLAY,“A3,B,C" &TEMPO, 100,"A3,B,C" VOICE VOICE,nexpr[,sexpr] The Cricket may play its music in two different sounding voices or instrument sounds (VOICE,1 or VOICE,2). VOICE,1 Page 33 Music: The PLAY Commands is the standard voice. If the optional expression is used, the specified notes will be played. Example: &VOlCE,1 &PLAY,"C3/2,E,G" &VOICE,2,"C3/2,E,G" DECAY DECAY,nexpr,[sexpr] The DECAY command adjusts the "decay", or length of time it takes for a note to fade away. The numeric expression may be anything from 0 (slow) to 255 (fast), but any decay value larger than 5 will probably be too fast. A decay value of 4 or 5, for example, adds a staccato effect to music. If the optional expression is used, the specified notes will be played. Example: &DECAY,0 &PLAY,"C/2,E,G" A=5 : &DECAY,A,"C/2,E,G" Experiment with the various VOICE, DECAY and TEMPO settings within the following BASIC program. 10 &TEMPO,50,DECAY,3,VOlCE,1 20 &PLAY,"G4/4,G,D5,D,E,E,D/2,C/4,C,B4,B,A,A,G/2" For example, try changing the decay to 0 and the voice to 2: l0 &TEMPO,50,DECAY,0,VOICE,2 Page 34 Sound Effects: The Sound Commands Sound Effects: The Sound Commands The SOUND commands are used to play a wide variety of sound effects. But, before you can play any sound effects, you must first use the Sound Editor program to create and save a sound effects file to your disk. (See the chapter on the Sound Editor.) Then you can use the LODSOUND command to load the sound effects into the Cricket program. You can have up to 31 different sound effects available in the Cricket program at one time. And, since the Cricket has two separate sound generators, two different sound effects can be played simultaneously. LODSOUND LODS0UND,nexpr,sexpr loads sounds created using the Sound Editor into the Cricket program. The numeric expression must be equivalent to a number from 1 to 31. The string expression should correspond to the name of a sound effect file. The Cricket program can hold 31 different sound effects in memory at one time. Think of the Cricket program as having thirty one slots in which to store sounds. The numeric expression tells the program into which slot to load a specific sound. Use this same number to refer to the effect in the SOUND command. Example: &LODSOUND, 1,"GUNSHOT" (loads the gunshot sound as effect #1) SOUND SOUND,nexpr plays the sounds you have loaded into the Cricket program out of either the left or right speaker (see the LET and RIGHT commands). The numeric expression should be a number from 1 to 31, and should correspond to the number assigned to the sound in the LODSOUND command. A Page 35 Sound Effects: The Sound Commands numeric expression equivalent to zero can be used to turn off a sound. Using the PAUSE command (see the "Miscellaneous Commands“ chapter) may be helpful in timing the introduction of different sounds. Example: &LODSOUND, 1,"TRAlN" &SOUND,1 (start playing train sound effect) &SOUND,O (slop playing) RIGHT LEFT [,nexpr] directs all subsequent sound effects to the left speaker (sound generator number 1). If the optional expression is used, the specified sound effects will be played. Use this command in conjunction with the RIGHT command to generate two simultaneous sounds. Example: &LEFT &SOUND,1 (plays sound #1 out of the left speaker} &LEFT,1 (plays sound #1 out of the left speaker} RIGHT RIGHT[,nexpr] directs subsequent sound effects to the right speaker (sound generator number 2). If the optional expression is used, the specified sound effects will be played. Use this command with the LEFT command to generate simultaneous sounds. Example: &LEFT,1,RIGHT,2 (sound effect 1 will be in left speaker, and sound effect 2 the right. Further sounds will continue to come from the right.) Page 36 Clock Functions: The TIME Commands Clock Functions: The TIME Commands The Cricket also functions as an electronic clock, so the time, the date, and even an alarm is available for use in programs and applications. The alarm rings whether your computer is on or not, so you can not only use it to remind yourself of important appointments and deadlines, but also to wake yourself up in the morning. A separate chapter ("Modifying ProDOS" in the "Accessory Programs" section)shows you how to save the time and date with all the files on your disk using the clock capabilities of the Cricket. SETTIME SETTIME,sexpr sets the time. The time should be entered as follows: HH:MM:SS XM where XM is AM or PM, and H,M,S represent hour, minutes and seconds respectively. (The colons may be replaced with spaces.) The hours may be entered in 24 hour format without specifying AM or PM. Also, it is not necessary to enter the minutes or seconds if they are to be set to zero. If the format is incorrect, the Cricket will sound a chime and the time will remain unchanged. Example: &SETTIME,"2 PM“ &TIME,A$ : PRINT A$ 02:00:00 PM &SETTIME,"14 05 O3“ &TIME,A$ : PRINT A$ 02:05:03 PM Page 37 Clock Functions: The TIME Commands TIME TIME,svar asks the Cricket for the time. The time is returned in the string variable in the following format: HH:MM:SS XM where XM is AM or PM, and H,M,S represent hour, minutes and seconds respectively. Example: &TIME,TI$ PRINT TI$ 11:45:30 AM SETDAY SETDAY,sexpr sets the date. The string expression should be in either of the following formats: WWW MM/DD/YY or WWW MMM DD YY where W,M,D and Y represent the day of week, month, date and year respectively. The SETDAY command requires that all of the above information be entered each time the date is set (unlike the SETTIME command). Note that years less than 1984 will be considered to refer to the 2000's. Example: &SETDAY,"MON 4/25/59" &DAY,A$ : PRINT A$ MON APR 25 2059 &SETDAY,"TUE AUGUST 25 I985“ &SETDAY,"TUE AUG 25 85" . &DAY,A$ : PRINT A$ TUE AUG 25 1985 Page 38 Clock Functions: The TIME Commands DAY DAY,svar asks the Cricket for the date. The date will be returned in the string variable in the following format: WWW MMM DD YYYY where WWW is the day of the week, MMM is the month, DD is the date, and YYYY is the year. Example: &DAY,A$ PRINT A$ MON JUN 11 I984 DAYTIME DAYTIME,nvar1,nvar2,nvar3,nvar4, nvar5,nvar6,nvar7 Sets the numeric variables to the date and time as follows: nvar1= Day of week (0=Sunday, 6=Saturday) nvar2= Month (1=January) nvar3= Date nvar4= Year (Years less than 84 are in the 21st century) nvar5= Hours (24 hour format) nvar6= Minutes nvar7= Seconds Example: &DAYTIME,DY,MN,DT,YR,HR,MN,SC PRINT DY,MN,DT,YR,HR,MN,SC 1 6 11 05 15 35 22 PRINT "TODAY IS ";MID$ ( "SUNMONTUEWEDTHUFRISAT,DY*3+ 1 ,3) MON A$="19": IF YR<84 THEN A$="20" PRINT "YEAR = ";A$;YR YEAR = 2015 Page 39 Clock Functions: The TIME Commands SETALARM SETALARM, sexpr sets the clock's alarm. The alarm's six chimes will sound even if your computer is turned off. The alarm will continue to sound every 24 hours unless it is cleared using the CLRALARM command. Set the alarm using this format: HH:MM XM Note that seconds are not entered. The hours may be in 12 or 24 hour format, and the AM or PM is optional. The current setting of the alarm can be checked by using the ALARM command. EXAMPLE: &SETTIME, "2" &SETALARM, "2:01 PM" ALARM ALARM,svar asks the Cricket for the time the alarm is set to ring in 24 hour format. The time will be returned in the string variable in the following format: HH:MM where H and M represent hours and minutes respectively. If the alarm is not set, the time returned will be 99:99. Example: &ALARM,A$ PRINT A$ 14:01 CLRALARM CLRALARM clears the alarm setting. The ALARM command will now return the time 99:99 to indicate that the alarm is not set. Example: &CLRALARM &ALARM,A$ : PRINT A$ 99:99 Page 40 Miscellaneous Commands: HELP, PAUSE, RESET, and ANIM Miscellaneous Commands These commands are just as useful as they sound (especially HELP). Take a minute to look them over, and you'll know where to go when you want help timing sound effects, resetting the Cricket or using animation with speech. HELP HELP lists to the screen all the Cricket program commands. Use this as a reference while programming. Example: &HELP TALK TALKFAST TALKSLOW ... PAUSE PAUSE,nexpr waits a specified length of time. The numeric expression controls how long the pause will be in tenths of a second. This command is useful in timing sound effects, and inserting pauses in speech generated using the SAY commands. Example: &PAUSE, 10 (Pauses for 1 second (10*.1)) RESET RESET resets the sound generator and speech chips on the Cricket. If the Apple's reset key is pressed while the Cricket is talking or creating sound effects, use this command to make sure the Cricket is restored to normal. Page 41 Miscellaneous Commands: HELP, PAUSE, RESET, and ANIM Example: &PLAY,"[C5]" (A C major chord will play continuously) &RESET (The sound chip is reset, stopping the chord) ANIM ANIM,nexpr sets up an animation vector to allow animation while the Cricket is speaking. This command is for assembly language programmers only. The numerical expression should be the address of an assembly language routine. The assembly language routine will be called periodically during Fixed Vocabulary speech. The accumulator will contain a zero on the first call and will increment on each successive call, starting at zero at each new word. During Unlimited Vocabulary speech, the assembly language routine will be called just before a new phoneme is about to be spoken. The accumulator will contain a code representing the phoneme about to be spoken. These codes are listed at the end of this section. The assembly language programs should restore all zero page addresses and registers before returning. Also, the programs should not take more than a few thousand cycles. If the program takes too much time, the Crickets speech will garble and, possibly, the Cricket will hang. If this happens, use the RESET command to restore the Cricket. Example: POKE 16384,32 : POKE 16385,218 POKE 16386,253 : POKE 16387,169 POKE 16388, 160 : POKE 16389,76 POKE 16390,237: POKE 16391,253 Page 42 Miscellaneous Commands: HELP, PAUSE, RESET, and ANIM (pokes in the following machine language program: JSR $FDDA ; PRINT A LDA #$A0 ; LOAD A WITH SPACE JMP $FDED ; PRINT SPACE ) &ANIM,16384 &TAlK,"SPEECH" 27 2E 02 30 00 FF ANIMOFF ANIMOFF reverses ANIM. The Cricket program no longer jumps to the animation routine. Example: &ANIMOFF ANIMATION PHONEME CODES: (HEX ANIMATION CODE FOLLOWED BY PHONEME CODE) 01 A 0A A 13 QR 1C W 25 F 2E P 37 T 02 & OB * 14 'R 1D M 26 H 2F T 38 C 03 Q 0C E 15 @R 1E N 27 S 30 C 39 J 04 ' 0D I 16 !R 1F / 28 $ 31 J 05 @ 0E : 17 OR 20 ( 29 ) 32 B 06 ! 0F U 18 #R 21 V 2A B 33 D 07 O 10 ? 19 n/a 22 Y 2B D 34 G 08 # 11 ;R 1A L 23 Z 2C G 35 K 00 PAUSE 09 % 12 &R 1B R 24 X 2D K 36 P FF END Page 43 The Word Editor Accessory Programs The Word Editor Before fixed vocabulary, female speech can be spoken using the SAY commands, you must first select the words that you will need from the Crickets vocabulary of 725 words and phrases and put them in a "word list". The Word Editor was designed to make the creation of word lists as quick and easy as possible. In addition to your Cricket disk, all that is necessary to create a word list for a specific application is an initialized ProDOS disk on which to store the list, and the text to be spoken (your "script"). THE SCRIPT: You can either wait and check that all of the words you need are available using the Word Editor, or you can take a moment to check your text against Appendix A, which lists all 725 words and phrases of the Crickets vocabulary. In any event, you ought to familiarize yourself with the cricket's vocabulary (especially the phrases that are available). Of course, in spite of the 725 individually encoded words and phrases of the Crickets vocabulary, not every word that you want to use will be available. However, if you're flexible and creative, you have a surprising number of options. Consider the advantages of homonyms, prefixes and suffixes. Homonyms are words that sound the same but are spelled differently. The cricket's vocabulary list usually contains only the first occurrence of a word with homonyms. For example, the list contains the number "2" but not "to" or "too". The list also contains "U" but not "you". Taking advantage of homonyms can add many words to the original 725. Page 44 The Word Editor Prefixes and suffixes are placed before or after a word to modify its meaning, or make an entirely new word. Later, when you actually generate speech using the SAY commands, you can add any one of four prefixes (UN', DIS‘, RE‘ or EX‘) or 3 suffixes ('S, ‘D or 'T) to a word to create still more words to add to those already available. So, by putting "change" on your word list, you now can say "change", “changed", "exchange", “exchanged", and "unchanged" just by adding the appropriate prefixes and suffixes in your program. A little creativity can un-earth such additions as dis—closed, dis—may, re—cent, re—member, ex—act, un—clear,... These additions will, of course, sound better on some words than others, so experiment. HOW TO BEGIN: First, select "Word Editor" from the Cricket disk menu. You will be asked to turn the disk over. (Since the Word Editor is the only program on the reverse side of the disk, you can also just "boot" this side of the disk to begin.) You should now see the Word Editor screen. HOW TO MOVE AND SELECT: If you have a mouse or a joystick, you can use these to move the arrow "cursor" around the screen. You can select options by "clicking" (pushing a button on the mouse or joystick). Otherwise, Page 45 The Word Editor use the arrow keys on the keyboard to move up, down, left or right. and select by pressing either an apple key, the space bar or the RETURN key. SELECTING WORDS FOR YOUR WORD LIST: In order to put a word on your word list, begin by moving the cursor to the top of the screen, pointing to the first letter of that word (or 0 if it's a number) and selecting it. You can also press the corresponding key on the keyboard. A list or the words beginning with that letter should now appear on the lower portion of the screen. To select one of those words for your list, point to it and "click". That word should now appear between the arrow bars. Select as many words from this list as you need, then choose another letter when you're ready to go on to the next list. If for any reason you want your list to be in a certain order, you must select your words in that order. THE ARROW BARS: if you choose more words than there is room to display between the arrow bars, some words will scroll out of your view. To see them again, select the arrows within the bars to scroll up (the top bar) or down (the bottom bar). either word by word (single arrows) or screen by screen (the double arrows). Page 46 The Word Editor DELETING WORDS: To de-select a word on your list, simply point to that word and click. To erase your entire list and begin again, select "new" from the top row. THE ICONS: On the top row of the screen, after the alphabet. are 5 "icons" and the words "new" and "end". Icons are pictures that represent Word Editor options. The options are explained below. MOUSE JOYSTICK KEYBOARD The first icon following the alphabet will represent either a mouse, a joystick, or a keyboard. If there's a mouse connected to your computer, the program will select that input device over a joystick or the keyboard. In the absence of a mouse, the program will look for a joystick, and if that's not found, will settle for the keyboard. If you want to change input devices, simply point to this icon and "click" until you see the one you want. (See also "How to Move and Select".) ?: If you forget which icon is which, click the "?". A box will appear on the screen which explains the icons and also tells you how much memory you have remaining for your word list, both how many bytes, and how many words (approximately). To close the box, click anywhere on the screen. PRINT: Select this icon to send your word list to a printer. Page 47 The Word Editor SAVE: Select this icon to save your list to an initialized ProDOS disk. You will be asked to give your word list a name. Your list will be saved with the letters ".WRD" appended on to its name. The program does this so that when you look at a catalog of this disk, you can recognize which files are word lists. Do not, however, use the ".WRD" to refer to your list when you load. LOAD Select this icon to load a word list from disk in order to work with it in using the Word Editor. Remember: do not add “.WRD" to the name of your list. new: Select "new" to begin a new word list. end: Select "end" to quit the Word Editor and return to the menu. For more information about Fixed Speech, see the chapter on the SAY commands. Psge 48 The Sound Editor The Sound Editor In order to generate sound effects using the SOUND commands, it is first necessary to create them. You can design a sound effect using the Sound Editor program and save it to disk for use in programs and applications. Each sound is made up of from 1 to 3 sound "channels", each of which is programmed separately. Each of these can contain a tone, a noise, or both, all of which combine to make one sound effect. Using the SOUND commands, the sound effect can then be programmed to play out of either of the Crickets two sound generators (LEFT or RIGHT), or both for two simultaneous sound effects (one from the left generator and one from the right). For more information on the SOUND commands, see the Sound Effects section of the manual. HOW TO BEGIN: Select "Sound Editor" from the Crickets menu. You will soon see the Sound Editor Screen. The three boxes on the left (labelled A, B and C) represent the three "channels" of sound available for each sound effect. Page 49 The Sound Editor HOW TO MOVE AND SELECT: To find out how to move around the screen, type "H" for “Help". As you see from the Help screen, the arrow keys move the cursor within any of the boxes, and the apple keys used with the arrow keys move the cursor from box to box. You can also press "A", "B" or "C" to enter the corresponding box and "N" for the "Noise Period" box, "E" for the "Envelopes" box, and "L“ to move to "Length" at the bottom of the Envelopes box. To select one of the options preceded by a small box, press the RETURN key or the space bar. To de—select, press it again. A check mark appearing in the box indicates that it has been selected. To enter or change a number, move to the appropriate option and type. Unless you've already entered the maximum number of digits, or pressed an arrow key (other than backspace) while entering the number, pressing the escape key will restore the original number. Also, if you type a number that is larger than the maximum value for any option, the entry will be ignored and the original number will be restored. To return to the Sound Editor screen from the Help screen, you may press any key. HOW TO CREATE A SOUND EFFECT OR WHAT TO SELECT: Sound effects consist of either tones at a certain pitch, or electronic "noise" (static), or both, at a specified volume or pattern or volume ("envelope"). To create a sound effect, it is necessary to "fill in the blanks" on the Sound Editor screen, selecting "Tone" and/or "Noise", a volume or an envelope, and a pitch (if tone is selected). These options are further explained below: Page 50 The Sound Editor SOUND EFFECT OPTIONS: TONE: To choose a tone, select "Tone" and enter a pitch. PITCH: can vary from 1, which is the highest pitch, to 4095, which is the lowest except for 0 (think of it as 4096; we do). To make the tone a specific note, use the pitch value in the sound effects column of "Appendix C: Note Value Table". NOISE: To choose a noise, select "Noise" and enter a "Noise Period" (or leave it at 0). Noise has no pitch; it is merely "white noise," or static. NOISE PERIOD: can vary from 0 to 31 and is used to vary the quality of the noise. As you can set only one Noise Period, this setting affects noise in all three channels. VOLUME: To select "Volume" instead of "Envelope", enter a number from 1 (quiet) to 15 (loud) or 0 (off). ENVELOPE: To choose "Envelope" instead of "Volume", select it and then choose one of the eight envelopes and a length. THE ENVELOPES: These graphs represent possible patterns of volume. The first, for instance, graphs a sound which starts out loud and then fades to nothing. The second envelope does almost the same thing, but then rises sharply to play loudly until stopped. This setting affects envelopes in all three channels. LENGTH: can vary from 1 (the shortest) to 65535 (very long) to 0 (which is like 65536). This number controls the length of time that a sound plays. For example, using the first envelope, setting the length to 1000 would result in the sound quickly fading away; a length of 10000 would result in the Page 51 The Sound Editor sound fading away more slowly. While using the Sound Editor, use the Help command ("H") to review the maximum values for each option. WHERE TO BEGIN (EXPERIMENTATION AND EXAMPLES): At this point, you could either a) choose to use only the Crickets pre-encoded sound effects, b) begin to experiment with the system, or c) look at how some sample sound effects were designed, and then experiment. If you chose "a", reconsider; you don't really need to "know" anything to create your own sound effects and experimentation is easy using the Sound Editor. If you chose "b" remember that you can type: P : to Play the sound on the Sound Editor screen, S : to Stop the sound, R : to Reset the screen options to zero, Q : to Quit, D : to request any of three Disk options (Load a sound effect from a disk into the Sound Editor, Save a sound effect file to disk, or Catalog a disk), and, of course, H : for help in remembering the Sound Editor commands and the maximum values of the options requiring numbers, in addition to how to move on the screen and select. If you would like to work with some sample sound effects, however, type "D" to access the disk, then "C" to catalog the Crickets disk. Press RETURN, when you're asked for a file or path name (you don't need to type a name if you're cataloging the Cricket disk). Page 52 The Sound Editor The files ending in ".SND" are sound effects files. Note any that sound interesting and press return to get back to the Sound Editor. Now type "D" again and "L" to load a sound effects file. When typing the name of the file, do not add ".SND". This suffix only appears within the catalog to help you identify sound effect files. After loading in a file, the "script" for this effect should appear on the Sound Editor screen. Press "P" to play and "S" to stop playing the sound. Try all the sample files and note what settings get what sort of results. (The "TRAIN", "GUNSHOT", and “OCEAN" files are especially interesting examples of the possibilities of noise when used with different envelopes, while "GALLOP" uses both tone and noise for a very different effect.) You can also use the Editor to modify these sounds. While the Cricket is playing one sound effect, try changing some of the options and listen to the results. If you come up with something you like, save it on to an initialized ProDOS disk. Next thing you know, you'll have a library of your own sound effects to add to those which come with the Cricket. Page 53 Modifying ProDOS Modifying ProDOS A program is provided on the Cricket disk which modifies ProDOS so that it recognizes the Cricket's clock and saves the time and date with all your ProDOS files. All the features discussed in the ProDOS manual in reference to the Thunderclock™ clock card can now be available using the cricket's clock. There are two ways to do this. To modify the version of ProDOS in memory, BRUN the program on the Cricket disk titled "ProDOS.MOD". This program will modify the version of ProDOS currently in memory and will not modify your disk. Once ProDOS.MOD has been run, you do not need to run it again unless you re-boot the disk. You may also completely replace the ProDOS file on another diskette with the modified ProDOS found on the Cricket disk using the file copying utility that comes with ProDOS. Page 54 Using the Cricket Program from Machine Language Using the Cricket Program from Machine Language To use the Cricket program from machine language, store a command byte in location $EB, load any registers as noted, and do a JSR to $3F5 (the ampersand vector). The Cricket program preserves the A, X and Y registers. However, it modifies zero page location $9, $EB, $EC and $ED. $EB always returns set to zero. The following table lists the command bytes. For information on what a command does, see the main reference section of this manual. COMMAND $EB COMMAND $EB TALK(1) 80 TALKFAST 81 TALKSLOW 82 TALKLTR 83 TALKWRD 84 TALKF 85 TALKI 86 TALKPITCH 87 TALKVOLUME(2) 88 TALKSOME 89 TALKMOST 8A TALKALL 8B TALKCAPS 8C TALKNOCAPS 8D TALKPRNT 8E TALKNOPRNT 8F SCREENTALK 90 NOSCREENTALK 91 PHN(1) 92 SAY(3) 93 SAYFAST 94 SAYSLOW 95 SAYPITCH(2) 96 SAYVOLUME(2) 97 SHOWWRDS 98 SOUND(2) 99 LEFT 9A RIGHT 9B PLAY(4) 9C TEMPO(2) 9D DECAY(2) 9E VOICE 9F RESET A0 PAUSE(2) A1 HELP A2 'S(5) A3 Page 55 Using the Cricket Program from Machine Language 'D(5) AA 'T(5) AB UN'(5) AC DIS'(5) AD EX'(5) AE RE'(5) AF ANIM(6) A6 ANIMOFF A7 LODWRDS(4) A8 LODSOUNDS(7) A9 OUT (Send A to Cricket) A4 IN (Return byte in A from Cricket) A5 Notes: 1. Send characters to be spoken in the accumulator, followed by a carriage return ($8D). 2. Load the accumulator with the appropriate value. 3. Load the accumulator with the number of the word to be spoken. (The first word in the list is number zero.) 4. Load the accumulator with the length of the string to be passed to the Cricket program. Set $5E and $5F to point to the start of the string. The string should have all the high bits off (positive). 5. The prefix and suffix commands will affect the following word. 6. Load the accumulator with the LSB of the address of the animation routine, and the Y register with the MSB. 7. Set up the string as in note 4, and also load the Y register with the sound number. Example: This program will set the pitch to 5 and say "HI". 300:A9 87 LDA #$87 ;command for TALKPITCH 302:85 EB STA $EB ;store all commands here 304:A9 05 LDA #$05 ;set pitch to 5 . 306:20 F5 03 JSR $3F5 ;call Cricket program 309:A2 80 LDX #$80 ;command for TALK 30B:86 EA STX $EB ;store command 30D:A9 48 LDA #$48 ;the letter ‘H’ 30F:20 F5 03 JSR $3FS ;call Cricket program Ptge 56 Using the Cricket Program from Machine Language 312:86 EB STX $EB ;store command 314:A9 49 LDA #$49 ;the letter 'I' 316:20 F5 03 JSR $3F5 ;call Cricket program 319:86 EB STX $EB ;store command 31B:A9 80 LDA #$8D ;carriage return 31D:4C F5 3 JMP $3F5 ;jump to Cricket and return Page 57 Using the Cricket Without the Cricket Program Using the Cricket Without the Cricket Program Though the Cricket program is required for speech, it is possible to use the time functions, and do music and sound effects without using the Cricket program. This section lists the commands that the Cricket's microprocessor understands, and then gives some examples of how to use them from BASIC and assembly language. The commands are listed as follows: First comes the function description, then the command to send to the Cricket. Hex numbers are preceded by a dollar sign ($). The notation "[RETURN]" is equivalent to the number 141 ($8D). Clock Commands: The clock commands are all ASCII commands. The decimal or hex equivalent must be greater than 128. (BASIC automatically does this when printing.) Sound Chime: "Control-G" Set Time: "ST HH:MM:SS XM" The format of the time is the same as it is for the SETTIME command. Read Time: "T" The time is returned as follows: HH,MM,SS,XM [RETURN] "t" The time is returned in 24 hour format. HH,MM,SS [RETURN] Set Date: "SD WWW MM/DD/YY" or "SD WWW MMM DD YYYY" This is the same as the SETDAY command. Page 58 Using the Cricket Without the Cricket Program Read Date: "D" The date is returned as follows: WWW MMM DD YYYY [RETURN] "d" The date is returned as follows: DW,MO,DY,YY [RETURN] Read Date and Time: "@" The date and time are returned as seven numbers (not ASCII code) as follows: DW MO DT YR HR MN SC Set Alarm1: "S1 HH:MM" sets the standard "chime" alarm. Read Alarm1: "R1" reads the setting of Alarm1 in this format: HH,MM The time will be 99:99 if the alarm is not set. Clear Alarm1: "C1" Set Alarm2: "S2 HH:MM" sets an "interrupt" alarm. This returns a "*" at the time set. If the serial card is enabled for interrupts, then an interrupt will occur at this time. Read Alarm2: "R2" reads the setting of Alarm2 in this format: HH,MM The time will be 99:99 it the alarm is not set. Page 59 Using the Cricket Without the Cricket Program Clear Alarm2: "C2" Set Alarm3: "S3 HH:MM:SS:ss" sets the "interval" alarm where "ss" represents 1/60 of a second. The Cricket will return a "#" every HH:MM:SS:ss. For example. "S3 0:0:0:10" will cause the Cricket to send back a "#" every 10/60 of a second. Note: there is no Read Alarm 3 command. Clear A1arm3: "C3" Sound: The sound generator chips on the Cricket each have 14 one byte registers which must be set to create a sound. The Sound Editor saves the values for these registers in order (0-13) in a sound file. It may be helpful to look at some of these files to see what values are given for each register. Experiment with the Sound Editor to better understand how the sound generators work. Here are the registers: SOUND GENERATOR REGISTERS: 00: Channel A fine tone. Makes fine adjustments to the tone. The maximum value is 255 ($FF). 01: Channel A coarse tone. Makes rough adjustments to the tone. The maximum value is 15 ($0F). (The fine and coarse tone values used to generate musical notes are given in "Appendix C: Note Value Table") 02: Channel B fine tone. 03: Channel 13 coarse tone. 04: Channel C fine tone. Page 60 Using the Cricket Without the Cricket Program 05: Channel C coarse tone. 06: Noise period. The maximum value is 31 ($1F). 07: Enable. This byte describes which channels should have noise, tone or both. Here are two different ways to calculate this byte: If you're used to assembly language, you can set this byte as follows: Only six bits are significant. bits 0, 1 and 2 determine whether there should be tones on channels A, B and C respectively. Bits 3, 4 and 5 determine whether there should be noise on channels A, B and C respectively. If a bit is 0, sound or tone is enabled on that channel. For example, a value of $22 (100010 binary) would enable noise on channels A and B, and tones on channels A and C. But if you're used to BASIC, this should explain how to set Enable more clearly: Use the following formula to determine the proper value for this byte. For each question to which you answer yes, add the number in parenthesis. Tone on channel A? (1) Tone on channel B? (2) Tone on channel C? (4) Noise on channel A? (8) Noise on channel B? (16) Noise on channel C? (32) Now subtract your total from 63. For example, to enable tones on channels A and C and noise on channels A and B, you would get this answer: 63-( l+4+8+l6)=34 (322) Page 61 Using the Cricket Without the Cricket Program 08: Channel A volume. Values may range from 0 to 16. 15 is the loudest volume. 16 indicates that you have chosen to use an Envelope to control the volume. 09: Channel B volume. 10: Channel C volume. 11: Envelope shape. The value may range from 0 to 15 although there are only 8 different shapes. Here are the envelope shapes and their associated values: ENVELOPE SHAPES 0 \__________ 1 |\| 8 \|\|\|\|\|\ 10 \/\/\/\ 13 / 4 /|_________ 12 /|/|/|/|/| 14 /\/\/\/ 12: Fine adjustment of the Envelope length. May range from 0 to 255. 13: Coarse adjustment of the Envelope length. May range from 0 to 255. Page 62 Using the Cricket Without the Cricket Program Sound Commands: Because these commands must be less than 128, they can't be printed from BASIC. You must use the short assembly language routine called "SEND.CRICKET" (found on the Cricket disk) to send this data to the Cricket from BASIC. This routine may be loaded anywhere in memory. Two demonstration programs which use SEND.CRICKET to generate sound effects are "SEND.CRICKET DEMO1" and "SEND.CRICKET DEMO2". These programs are also found on the Cricket disk. Reset sound chips: 1 ($01) Resets all the sound registers to zero on both sound chips. Set left sound chip register: 16+ register ($10+register) Follow this command with the value for the register. For example, to set register 5 to a value of 12, send these two bytes: 21 ($15) 12 (S0C) Set right sound chip register: 32+ register ($20+register) Follow this command with the value for the register. Miscellaneous Commands: Reset Cricket: "!" (161, $A1) resets everything except the time and date. Read Cricket ID code: 00 ($00) The Cricket will return a "C" (195. $C3) followed by a version number (in ASCII) and a carriage return (141, $8D). Page 63 Using the Cricket Without the Cricket Program Using the Cricket from BASIC: All of the set time, date and alarm commands can be used directly from BASIC. As an example, this program sets the time: 10 PRINT CHR$(4)"PR#2" :REM send output to the Cricket 20 PRINT CHR$(1)"14B" :REM set to 9600 baud (see your serial port manual for more information) 30 PRINT CHR$(1)"4D" :REM set for 8 data bits, 2 stop bits 40 PRINT "ST 2:05:01 PM":REM send the Cricket command 50 PRINT CHR$(4)"PR#0" :REM restore output to the screen. To read the time, date or alarms, you will need to use the short assembly language program titled "Cricket.IO" found on your Cricket disk. This program may also be used to set the time. The program may be located anywhere in memory. To use it, call the starting address of the program, followed by a comma, followed by a string or data to send the Cricket. Follow this with another comma and a string variable if you need to receive something from the Cricket. For example, look at the following program: 10 IO = 768 20 PRINT CHR$(4)"BLOAD CRICKET.IO,A"IO :REM load program at 768 30 CALL IO,"ST 5:00 PM":REM set time 40 CALL IO,"T",HR,MN,SE,T$ : REM Get the time in numeric format 50 PRINT "The time is:" 60 PRINT T; ":"; HR; ":"; MN; ":"; SE ;" ";T$ Using the Cricket from assembly language: First initialize the serial port using the following subroutine to set the port for 9600 baud, 8 data bits and 2 stop bits: Page 64 Using the Cricket Without the Cricket Program INIT LDA #$0B STA $C0AA LDA #$9E STA $C0AB RTS If you want to have the serial card generate an interrupt when it receives a character, change the #$0B above to a #$09. See your Apple manuals for more information on your serial port. If you use interrupts, be sure to check your ProDOS reference manual for information on the proper handling of interrupts. To send data to the Cricket use this subroutine: OUT PHA ;SAVE BYTE TO SEND OUT WT LDA $C0A9 ;READ STATUS OF SERIAL PORT AND #$10 ;SEE IF IT'S READY TO RECEIVE A BYTE BEQ WT ;NOT READY, WAIT PLA ;REGET BYTE TO SEND OUT STA $C0A8 ;SEND IT RTS Use this routine to get a byte from the Cricket: IN LDA $C0A9 ;IS THERE A BYTE TO GET YET? AND #$08 BEQ IN ;NOPE, WAIT FOR IT LDA $C0A8 ;GET INCOMING BYTE RTS This example plays a sound effects file created with the Sound Editor. The file is assumed to be at address "TABLE"; channel should be set to $10 for the left speaker or $20 for the right speaker. Page 65 Using the Cricket. Without the Cricket Program JSR INIT LDY #$00 ;INIT COUNTER LOOP TYA ;PUT REGISTER NUMBER IN A ORA CHANNEL ;ADD IT TO THE CHANNEL JSR OUT ;SEND IT TO THE CRICKET TO PREPARE IT FOR DATA LDA TABLE,Y ;GET DATA FOR THIS REGISTER JSR OUT ;SEND DATA INY ;INCREMENT COUNTER CPY #14 ;HAVE WE SENT ALL THE DATA? BNE LOOP ;NO RTS ;YES, ALL DONE. Page 66 Appendix A: Cricket Vocabulary Appendix A: Cricket Vocabulary 0 1 2 3 4 5 6 7 8 9 TEN ELEVEN TWELVE THIRTEEN FOURTEEN FIFTEEN SIXTEEN SEVENTEEN EIGHTEEN NINETEEN TWENTY THIRTY FORTY FIFTY SIXTY SEVENTY EIGHTY NINETY HUNDRED THOUSAND MILLION BILLION A A ABLE ABOUT ABOVE ACROSS ACT ACTION ADD ADDITION AFTER AGAIN AGAINST AGO AIR ALIENS ALL ALMOST ALONG ALREADY ALSO ALTHOUGH ALWAYS AM AMERICAN AMONG AMPERSAND AN AND ANIMAL ANOTHER ANSWER ANY ANYTHING APPLE APPLESOFT APRIL AQUA ARE AREA AROUND ARROW AS ASKED ASSUME AT AUGUST AVAILABLE AWAY B B BACK BASE BASIC BECAME BECAUSE BECOME Page 67 Appendix A: Cricket Vocabulary BEEN BEFORE BEGAN BEHIND BEING BELL BEST BETTER BETWEEN BIG BILLION BLACK BLUE BOARD BODY BOOK BOTH BOTTOM BOY BROUGHT BROWN BUSINESS BUT BY C C CALL CALLED CALLING CAME CAN CANNOT CAR CARD CASE CASSETTE CENT CENTER CERTAIN CHANGE CHECK CHILDREN CHOICE CHURCH CIRCLE CITY CLEAR CLICK CLOCK CLOSE CLOSED CODE COLD COLLEGE COLOR COLUMN COME COMMA COMMAND COMPANY COMPLETE COMPLETED COMPUTER CONNECTED CONSOLE CONTINUE CONTROLLER CORRECT COULD COUNTRY COURSE CRICKET CUT CYAN D D DARK DATA DAY DEATH DECEMBER DEGREE DELAY DEVELOPMENT DEVICE DID DIFFERENT DISK DRIVE DISKETTE Page 68 Appendix A: Cricket Vocabulary DIVIDE DIVISION DO DOES DOG DOING DOLLAR DONE DOOR DOS DOUBLE DOWN DRAG DRAW DRAWING DURING E E EACH EARLY EARTH EAT ECHO ECHO II ECHO WORDS ECONOMIC EITHER ELECTRONICS ELSE END ENGLISH ENOUGH ENTER ERROR ESCAPE EVEN EVER EVERY EXACTLY EXAMPLE EXPERIENCE F F FACE FACT FAMILY FAR FAST FATHER FEBRUARY FEDERAL FEEL FEET FELT FEMALE FEW FIELD FIFTH FIGURE FIND FINE FINISH FINISHED FIRE FIRST FISH FIT FOLLOWING FOOD FORM FOUND FOURTH FRACTION FREE FRIDAY FROM FRONT FUTURE G G GAME GAVE GENERAL GET GETTING GIVE GIVEN Page 69 Appendix A: Cricket Vocabulary GO GOD GOING GOOD GOOD WORK GOODBYE GOT GOVERNMENT GRAY GREAT GREEN GROUND GROUP GUESS H H HAD HALF HAND HARD HAS HAVE HAVING HE HE IS HEAD HEARD HELD HELLO HELP HER HERE HIGH HIGHER HIM HIMSELF HIS HISTORY HIT HOME HOUR HOUSE HOW HOWEVER HUMAN HURRY I I I AM I WIN IDEA IDENTIFICATION IF IMPORTANT IN INCH INCHES INDIVIDUAL INFORMATION INSIDE INSTRUCTION INTEGER INTEREST INTO IS IT IT IS ITSELF J J JANUARY JOB JOYSTICK JULY JUNE JUST K K KEEP KEY KEYBOARD KIND KNOWN Page 70 Appendix A: Cricket Vocabulary L L LAND LANGUAGE LARGE LARGER LARGEST LASER LAST LATER LAW LEARN LEARNED LEAST LEAVE LEFT LESS LET LETTER LIFE LIGHT LIKE LINE LITTLE LIVE LIVED LIVING LOAD LOADING LOCAL LONG LOOK LOOKED LOOKING LOW LOWER M M MACHINE MADE MAGENTA MAJOR MAKE MAKING MALE MAN MANY MARCH MATTER MAY ME MEAN MEDIUM MEMBER MEMORY MEN MESSAGE MIDDLE MIGHT MILE MIND MINUTE MISS MODULE MOMENT MONDAY MONEY MONITOR MORE MORNING MOST MOTHER MOUSE MOVE MR MRS MS MUCH MULTIPLICATION MULTIPLY MUST MY N N NAME NATIONAL NEAR NEAT NEED Page 71 Appendix A: Cricket Vocabulary NEGATIVE NEVER NEW NEXT NICE TRY NIGHT NO NOT NOTHING NOVEMBER NOW NUMBER O O O’CLOCK OCTOBER OF OFF OFFICE OFTEN OLD ON ONCE ONLY OPEN OR ORANGE ORDER OTHER OUT OVER OWN P P PADDLE PAGE PAPER PART PARTNER PAST PEOPLE PER PERHAPS PERIOD PERSONAL PHOTON PICTURE PINK PITCH PLACE PLANT PLAY PLEASE POINT POLITICAL POSITION POSITIVE POSSIBLE POWER PREESENT PRESENT PRESIDENT PRESS PRINT PRINTER PROBABLY PROBLEM PROGRAM PROUD PUBLIC PURPLE PUT PUTTING Q Q QUARTER QUESTION OUITE R RAM RANDOM RATHER RAY READY READY TO START Page 72 Appendix A: Cricket Vocabulary REAL REALLY REASON RECORDER RED REED REFER REMEMBER RESET REST RESULT RETURN REWIND RIGHT RINGING ROM ROOM ROUND ROW RUN S S SAID SAME SATURDAY SAVE SAVING SAW SAY SAYS SCHOOL SCREEN SECOND SEEM SEEMED SEEN SELECT SEL 1 OF FOLLOW * SENSE SENTENCE SEPTEMBER SERVICE SET SEVERAL SHALL SHAPE SHE SHE IS SHIFT SHORT SHORTER SHOULD SHOW SHOWN SIDE SINCE SLOT SLOW SMALL SMALLER * SEL 1 OF FOLLOW will be spoken as "Select one of the following" SMALLEST SO SOCIAL SOCIETY SOME SOMETHING SOMETIME SOON SORRY SOUND SOUTH SPACE SPEAK SPEAKEASY SPEAKER SPECIAL SPEECH SPELL SPORT SQUARE START STARTED STATE STEP STILL STOP STORY STREET STUDY SUBTRACT SUBTRACTION Page 73 Appendix A: Cricket Vocabulary SUCH SUM SUN SUNDAY SUPPOSED SURE SWITCH SYNTHESIZER SYSTEM T T TABLE TAKE TAKEN TAPE TELEPHONE TELEVISION TELL TEMPERATURE TEXTALKER THAN THANK YOU THAT THAT IS CORRECT THAT IS RIGHT THE THEIR THEM THEMSELVES THEN THERE THESE THEY THEY ARE THING THINK THIRD THIS THOSE THOUGH THOUGHT THROUGH THURSDAY THUS TIME TODAY TOGETHER TOLD TONE TOOK TOP TORPEDO TOWARD TREE TRIANGLE TRUE TRY TRY AGAIN TUESDAY TURN TURNED TYPE U U UNDER UNDERSTAND UNITED STATES UNTIL UP UPON UPPER US USE USED USING USUALLY V V VERY VOCABULARY VOICE VOLUME W W WAIT Page 74 Appendix A: Cricket. Vocabulary WANT WANTED WAR WAS WATER WAY WE WE ARE WEDNESDAY WEEK WELCOME WELL WENT WERE WEST WHAT WHAT WAS THAT WHEN WHERE WHETHER WHICH WHILE WHITE WHO WHOLE WHOSE WHY WILL WIN WIND WINDOW WITH WITHIN WITHOUT WORD WORK WORKING WORLD WOULD X X Y Y YEAR YELLOW YES YET YOU ARE YOU WIN YOUNG YOUR Z Z Page75 Rppendix B: Phoneme Codes VOWELS Sample Dictionary PHN Word Symbol Code cat a A lot o ; caught ô * let e E see ē & hid i I book ōō Q but u U due oo : about ǝ ' DIPHTHONGS Sample Dictionary PHN Word Symbol Code cake ā @ tie ī ! toe ō O pound ou # toil ôi ? you ū % "R" COLORED VOWELS Sample Dictionary PHN Word Symbol Code car ar ;R chair er @R her ẽr 'R hear êr &R fire īr !R for ôr OR tour oor QR hour our #R VOICED CONSONANTS Sample Dictionary PHN Word Symbol Code let l L many m M not n N sing ng / red r R this th ( very v V wet w W yes y Y zero z Z azure zh X STOP CONSONANTS Sample Dictionary PHN Word Symbol Code bat b B dog d D get g G kick k K pet p P tie t T check ch C job j J UNVOICED FRICATIVES Sample Dictionary PHN Word Symbol Code fit f F hat h H see s S she sh $ think th ) Page 76 Appendix C: Note Value Table Appendix C: Note Value Table Note Sound Decimal Hex Effects Coarse Fine Coarse Fine Octave 1 C 2348 9 44 9 2C C# 2217 8 169 8 A9 D 2092 8 44 8 28 D# 1975 7 183 7 B7 E 1864 7 72 7 48 F 1759 6 223 6 DF F# 1661 6 125 6 7D G 1567 6 31 6 1F G# 1479 5 199 5 C7 A 1396 5 116 5 74 A# 1318 5 38 5 26 B 1244 4 220 4 DC Octave 2 C 1174 4 150 4 96 C# 1108 4 84 4 54 B 1046 4 22 4 16 D# 987 3 219 3 DB E 932 3 164 3 H4 F 880 3 112 3 70 F# 830 3 62 3 3F G 784 3 16 3 10 G# 740 2 228 2 E4 A 698 2 186 2 BR A# 659 2 147 2 93 B 622 2 110 2 6E Page 77 Appendix C: Note Value Table Note Sound Decimal Hex Effects Coarse Fine Coarse Fine Octave 3 C 587 2 75 2 4B C# 554 2 42 2 2A D 523 2 11 2 B D# 494 1 238 1 EE E 466 1 210 1 D2 F 440 1 184 1 B8 F# 415 1 159 1 9F G 392 1 136 1 88 G# 370 1 114 1 72 A 349 1 93 1 5D R3 329 1 73 1 49 B 311 1 55 1 37 Octave 4 C 294 1 38 1 26 C# 277 1 21 1 15 D 262 1 6 1 6 D# 247 0 247 0 F7 E 233 0 233 0 E9 F 220 0 220 0 DC F# 208 0 208 0 D0 G 196 0 196 0 C4 G# 185 0 185 0 B9 A 175 0 175 0 AF A# 165 0 165 0 A5 B 156 0 156 0 9C Fuse 7! Appendix C: Note Value Table Note Sound Decimal Hex Effects Coarse Fine Coarse Fine Octave 5 C 147 0 147 0 93 C# 139 0 139 8 88 D 131 0 131 0 83 D# 123 0 123 0 7B E 116 0 116 0 74 F 110 0 110 0 6E F# 104 0 104 0 68 G 98 0 98 0 62 G# 92 0 92 0 5C A 87 0 87 0 57 A# 82 0 82 0 52 B 78 0 78 0 4E Octave 6 C 73 0 73 0 49 C# 69 0 69 0 45 D 65 0 65 0 41 D# 62 0 62 0 3E E 58 0 58 0 3A F 55 0 55 0 37 F# 52 0 52 0 34 G 49 0 49 0 31 G# 46 0 46 0 2E A 44 0 44 0 2C A# 41 0 41 0 29 B 39 0 39 0 27 Page 79 Appendix C: Note Value Table Note Sound Decimal Hex Effects Coarse Fine Coarse Fine Octave 7 C 37 0 37 0 25 C# 35 0 35 0 23 D 33 0 33 0 21 D# 31 0 31 0 1F E 29 0 29 0 1D F 27 0 27 0 1B F# 26 0 26 0 1A G 24 0 24 0 18 G# 23 0 23 0 17 A 22 0 22 0 16 A# 21 0 21 0 15 B 19 0 19 0 13 Octave 8 C 18 0 18 0 12 C# 17 0 17 0 11 D 16 0 16 0 10 D# 15 0 15 0 F E 15 0 15 0 F F 14 0 14 0 E F# 13 0 13 0 D G 12 0 12 0 C G# 12 0 12 0 C A 11 0 11 0 B A# 10 0 10 0 A B 10 0 10 0 A Page 80 Appendix D: Connecting the Cricket to a Super Serial Card Appendix D: Connecting the Cricket to a Super Serial Card A custom cable is necessary to use the Cricket with a Super Serial card. The cable should be wired as shown. If you need help, see your dealer. Cricket Pin Assignment ---u--- / \ | 1 5 | | 2 4 | \__3__/ Cable Wiring Diagram Super Serial Cricket Card CTS 5 ------> 1 STATUS IN TXD 3 ------> 2 DATA IN GND 7 —-—-——- 3 GROUND RXD 2 <—---—— 4 DATA OUT RTS 4 <-|---- 5 STATUS UUT DTR 20<- Page 81 Command Index Command Index Command Page Command Page ALARM 40 SETTIME 3 ANIM 12 SCREENTALK 24 ANIMOFF 43 SHOWWRDS 13 CLRALARM 40 SOUND 35 DAY 39 TALK 17 DAYTIME 39 TALKALL 23 DECAY 34 TALKCAPS 23 HELP 41 TALKF 21 LEFT 36 TALKFAST 19 LODSOUND 35 TALKI 22 LODWRDS 12 TALKLTR 21 NOSCREENTALK 24 TALKMOST 23 PAUSE 41 TALKNOCAPS 24 PHN 27 TALKNOPRNT 19 PLAY 31 TALKPITCH 20 RESET 41 TALKPRNT 18 RIGHT 36 TALKSLOW 20 SAY 13 TALKSOME 22 SAYFAST 15 TALKVOLUME 20 SAYSLOW 15 TALKWRD 21 SAYPITCH 15 TEMPO 33 SAYVOLUME 16 TIME 38 SETALARM 40 VOICE 33 SETDAY 38 Page 82 Credits Cricket Hardware: Milo Street and Dan Street Cricket Firmware: Milo Street Cricket Software: Mike Kory Text to Speech routines: D. Visek, P. Maggs, Milo Street and Mike Kory Fixed Vocabulary Speech Editing: Mark Pfeffer Manual written by Mike and Fern Kory Scanning, OCR and proofreading by Mario Patiño Page 83