SECTION ELEVEN EXCEPTION, CHARACTER AND KEY LABEL DICTIONARIES 11.1: INTRODUCTION You will recall back in Section 4 of this manual we first introduced you to Vocal-Eyes' Voice Control Panel. As you explored the punctuation submenus, often you encountered options called "Dictionary only." We told you then that we'd be talking about these dictionaries in a later section of this manual. Well, now is the time! In this section of your Vocal-Eyes users' guide we're going to be talking about three different types of dictionaries: "character dictionaries", "key labeling dictionaries", and "exception dictionaries." The first of these will allow you to choose any mark of punctuation, control character or extended ASCII graphic character, and instruct Vocal-Eyes exactly how you would like that character pronounced. Perhaps you'd like Vocal-Eyes to say "Full stop" every time it encounters a period in your applications program. Or maybe you'd like the extended graphic character ASCII 209, which Vocal-Eyes describes as a "double horizontal with centered down joint" to be described as a "double bar single down," or perhaps "double T." By making use of Vocal-Eyes' character dictionary you can do these and more. The exception dictionary allows you to change the pronunciation of a word. Unlike the character dictionary which is limited to redefining a single character, the exception dictionary will allow you to fix mispronunciations of full words. Also in this section we'll show you how to attach a voice label to any key you'd like. Would you like your F1 key to say "Help" every time you press it? How about your WordPerfect F6 and F8 keys? Would you like them to say "Bold" and "Underline" respectively? In this section we'll show you how. 11.2: CHARACTER DICTIONARIES A character dictionary is actually nothing more complicated than a small DOS or ASCII text file in which the first line denotes the character you'd like pronounced and the second line describes exactly how you'd like it spoken. Sounding Board users--you're already familiar with the concept of dictionaries from your use of exception dictionaries with your speech synthesizer. Character dictionaries work almost exactly the same way. By the way, you can still use your Sounding Board dictionary if you wish. 11.2.1: CREATING THE CHARACTER DICTIONARY Here's how to create a character dictionary. First, load in your favorite text editor or word processor with an "export to ASCII text file" feature. Now, decide what character you'd like pronounced differently than your synthesizer currently pronounces it. For our example we'll use the period (.) character which we mentioned in the introduction to this section. Type a period all by itself on the first line of your text file. Press ENTER. Now, on the second line, type in the word or words that describe how you'd like the period character pronounced. Type "full stop," if you like, or "dot," or whatever else you'd prefer Vocal-Eyes to voice every time it encounters a period. (Note: Do not include the quotation marks, unless of course you want Vocal-Eyes to say quote.) Now, having typed in your alternative pronunciation for the period character, press ENTER again to end the dictionary line. Let's put a second character into your character dictionary. This time we'll use the extended graphic character ASCII 209 we mentioned in the introduction to this section. As before, the first thing you'll want to do is to enter the character into your text file. Use line three to begin your second entry. Now, there are two ways you can enter the ASCII 209 extended graphic character. First, you could enter the character directly, assuming your text editor will accept such entries. You would do this by pressing the ALT key and then using your PC's numeric key pad to enter the number 209. Alternatively, and more simply, you could type a / (not a \) character and then follow it by typing in the number 209. Press ENTER. Now, type in the way you'd prefer the ASCII 209 "double horizontal with centered down joint" character be pronounced. Your character dictionary text file should now look something like this: . full stop /209 double T Don't forget to press ENTER to complete your second entry. Are there any other character's you'd like to add to your character dictionary? If so, enter them now. Begin each new entry on the very next line following the preceding entry. In other words, don't add any blank lines between entries. Also, don't forget to conclude your last entry with a press of the ENTER key. The order of the entries is not important other then the first line of each entry can only contain the single character you wish to define or the / followed by the ASCII value. The line following the actual character can contain anything. Therefore, each entry requires two lines in the file. 11.2.2: SAVING YOUR CHARACTER DICTIONARY When you're done adding characters and their alternative pronunciations to your Character dictionary, it's time to save your file to disk. Remember to save it in a standard ASCII text file. If you're using Noteworthy to construct your character dictionary, using the ALT-S save file command will automatically save your file in ASCII format. WordPerfect 5.1 users, you can use the CTRL-F5 option. Press one for DOS text files. Press one a second time to save your file. You should save your character dictionary in the same subdirectory where you keep your Vocal-Eyes program files. Also, you can give your character dictionary any legal DOS file name. You should use the .CHR suffix, however, for reasons which will become evident in the next subtopic. Since Autoloading works with character dictionaries the way it does with .SET files, you might also want to give your character dictionary a name that matches your application's executable file. For example, you might call it WP.CHR if you want to use it with WordPerfect or 123.CHR for use with Lotus 1-2-3. 11.2.3: LOADING YOUR CHARACTER DICTIONARY Now that you've created and saved your character dictionary, there's one more step you must perform before Vocal-Eyes can begin using it. You must alert Vocal-Eyes that there is a character dictionary you want it to use. In section 12 we'll describe Autoloading in detail. For now, you need to know that there are two ways to let Vocal-Eyes know about the character dictionary. If you have autoloading enabled, and you probably do, simply execute the application for which you designed your dictionary. If the name of the dictionary matches the name of the application's executable file, you will have "loaded" the dictionary simply by going into your application. If you have autoloading disabled, or if you prefer not to match your character dictionary name with your application name, you can load your dictionary by running Vocal-Eyes and telling it the name of the dictionary to use. Let's say you named your character dictionary CHAR.CHR. In this case your command line to load or to reinvoke Vocal-Eyes would look something like this: VE /CCHAR.CHR Did you save your dictionary file on the same disk or subdirectory where you keep your Vocal-Eyes files? As is the case with .SET files, Vocal- Eyes first checks the drive and directory it was started from for the dictionary. If found there, it will be loaded and used. If it was not found there, Vocal-Eyes will then check the drive and directory you are currently logged onto. Also, just as Vocal-Eyes assumes that the extension of a .SET file is .SET, Vocal-Eyes will default to the .CHR extension. Thus, you could just as easily have entered your Vocal-Eyes command line as VE /CCHAR As you can see, it's a good idea to give your dictionary files the .CHR extension. It saves keystrokes when loading the files. Also, it helps keep your dictionary files organized. It would be a good idea to keep these files as well as your .SET files in the same directory as Vocal-Eyes itself. Like .SET files, you'll may soon end up with an entire library of .CHR files, one for each of your favorite applications programs. You can also load the character dictionary from the Files submenu. Notice option 4: Load Character Dic. If you press ENTER on this option, you will be prompted for the character dictionary file name. Also, if you currently have a dictionary loaded, the default file name will be displayed. If all you wanted to do was look at the file name currently loaded, simply press ESCAPE to cancel the load. If however, you actually wish to load a new character dictionary, simply type the dictionary file name and press ENTER. If you supply a path as before, Vocal-Eyes will only look at the specified location. If however, you only supply the file name with no drive or path specification, Vocal-Eyes will first look in the original Vocal- Eyes directory for the file. If found, it will be loaded. If not found however, the drive and directory you are currently logged onto will be checked for the same file name. If found, it will be used. If not found, an error message will be issued. If you wish to clear the current character dictionary, simply specify a file name of "C." Instead of loading the file C.CHR, Vocal-Eyes will clear the current dictionary and give a message indicating that it has done so. There will be no default character dictionary file name after a clear command has been issued. The advantage of using the files submenu to load the dictionary instead of the command line is you do not have to be at the DOS prompt to issue the load. 11.2.4: THE CHARACTER DICTIONARY BUFFER As was the case with .SET files, Vocal-Eyes reserves a place in your PC's memory to contain your .CHR dictionary files. This place is known as the Character Dictionary Buffer. By default Vocal-Eyes reserves 256 bytes of memory for this buffer. This is enough space to hold 256 characters, including the dictionary characters along with their alternative pronunciations. This will probably be plenty of buffer space for all but the largest of character dictionaries. Should you require more space for your character dictionary, however, you can increase the size of this buffer up to 2 1/4K by using the /!Cn "set character buffer size" parameter. The "n" in this parameter stands for the number, from 0 to 9, of the size in 1/4 kilobyte increments of the largest character dictionary buffer you wish to create. Remember, /! parameters can only be entered once the first time you run Vocal-Eyes each session. They may be entered in any order, just so long as they all appear the first time you load Vocal-Eyes. For example: VE /!C6/CWP This command would first allocate six times 256 or 1,536 bytes for your character dictionary. Then the file WP.CHR would be loaded in this buffer. The line: VE /!C0 would not allocate any character buffer at all. This frees up more of your RAM but also means you will not be able to load any character dictionary this session with Vocal-Eyes. As we said before, a character dictionary will remain in your Vocal-Eyes buffer until you either load a new character dictionary to take its place or else clear the dictionary from Vocal-Eyes' buffer. You can load a new character dictionary into Vocal-Eyes at any time by simply returning to DOS and reinvoking Vocal-Eyes with the name of the new character dictionary you want entered as a /C(dictionary file name) parameter. Vocal-Eyes will clear the current dictionary from memory and replace it with the new dictionary. To clear a character dictionary from Vocal-Eyes' memory without loading a new dictionary in its place, simply return to DOS and reinvoke Vocal- Eyes with the following parameter: VE /CC The first C in the above parameter standing for character dictionary, the second C standing for clear. Although your character buffer is still allocated, it does not contain any characters. If you wish, you can at any time load a new character dictionary. What if you don't want to clear the dictionary buffer but stop using it for a little bit? For example if you are in WordPerfect and use the Shell option to enter DOS, you don't want all of the characters you setup for WordPerfect to speak that way in DOS. How about using option 6 off of the General submenu. This is the Character Dictionary on/off switch. If you switch this to off, Vocal-Eyes will not use the entries currently in the buffer but it will not clear them out either. Why not, in your DOS.SET file, turn this option off? That way when you load the DOS.SET file after you shelled to DOS, the character dictionary buffer will automatically be turned off for you. When you exit back to WordPerfect, the character buffer could be automatically re-enabled for you as well. Those of you with Noteworthy will notice the supplied NW.SET has this option turned off for you already. 11.2.5: THE "DICTIONARY ONLY" OPTION Let's go back now to the Voice Control Panel's Screen and Keyboard menus. You will recall that the punctuation submenus for each included among its rotary choices a "Dictionary Only" option. Well, here's where your character dictionaries come into play. Consider, for this example, the Screen Math option. We've already learned that this option controls the way Vocal-Eyes voices the mathematical characters that appear on your screen, including the +, -, *, /, (, ), %, ^, <, > and =. Now, suppose you really like the way Vocal-Eyes pronounces all of these punctuation marks--with one exception. You'd rather that the / character, which Vocal-Eyes pronounces "slash" were pronounced "divided by." Easy enough. Simply load your character dictionary into your text editor and include the following two lines: / divided by Don't forget to press ENTER to complete your entry. Now, re-save your dictionary under the same name. Vocal-Eyes will still pronounce the / character as a /, but the next time you run or reinvoke Vocal-Eyes with your character dictionary Vocal-Eyes will pronounce the / character as "divided by." You don't have to change the Math On/Off/Dictionary Only setting. With the setting in the On position, Vocal-Eyes will pronounce all mathematical characters normally, except for the / character or any others you may have put into your character dictionary. Choosing the "Dictionary Only" setting, on the other hand, instructs Vocal-Eyes not to pronounce any of the various mathematical characters except for those that are in your character dictionary. Suppose, for example, that the only mathematical characters you want Vocal-Eyes to voice are the /, the * and the =. In this case you would make the "Dictionary Only" selection and then add each of these three characters to your character dictionary. You could enter them like this: / slash * star = equals As you can see, using character dictionaries allows for tremendous flexibility. Select the number four option in the Keyboard punctuation submenu. Notice that you can use this option to set the voicing of the space character to Dictionary Only. Would you like Vocal-Eyes to say something other than "space?" How about something like "move?" You could do this by adding the following two lines to your character dictionary /32 move We used the /32 because it's the ASCII value for the space character. Use your Attrib-ASCII hot key to see for yourself. Sounding Board users--you can, if you like, instruct Vocal-Eyes to sound your synthesizer's bell every time you type a space by adding the following two lines to your character dictionary. /32 CTRL-EB1 Where CTRL-E means hold down the CONTROL key and press E. Then let go of the CONTROL key and press B1. This is using the Sounding Board Bell option. This can be invoked by sending the Sounding Board CTRL-EBn where n=1, 2 or 3 for a low, medium or high tone. There are more practical places you may wish to use the Sounding Bell option which we will talk about later in this manual. 11.2.6: POSSIBLE CHARACTER DICTIONARY ERRORS When loading a character dictionary, you will notice Vocal-Eyes says "Character dictionary loaded" unless you ended the command line with a semicolon to silence the message. If you get this message, you can assume the dictionary was loaded and no problems were detected. However, if there is some sort of error, Vocal-Eyes will let you know what it is. The following are possible errors. 1) ERROR READING CHARACTER DICTIONARY This means Vocal-Eyes could not find the file you specified. Maybe you mistyped the file name or maybe its not where you thought it was. Remember, if you do not specify a specific path, Vocal-Eyes will first look on the drive and directory it was started from. If the file does not exist, the current drive and directory will be checked for the specified file. If it still is not found, you will get the above error message. Also, remember if you do not specify an extension, Vocal-Eyes will automatically add .CHR. If you do not wish any extension, end the file name with a period. 2) INVALID FORMAT IN CHARACTER DICTIONARY This means Vocal-Eyes found the file but discovered some sort of error in it. For example, maybe the file had an odd number of lines. Remember, each entry requires two lines so the file should have an even number of lines. Maybe the first line of an entry contained more then just a single character. Or, maybe you did not use the /n, where n is the ASCII value of the character to define, correctly. Verify each line in your file and make any corrections. Then try loading the file again. 3) CHARACTER DICTIONARY OVERFLOW This means exactly what it says. You tried to load a dictionary which contains more characters then you allocated for the dictionary buffer itself. You will need to either make the dictionary smaller or restart Vocal- Eyes and increase the buffer size using the command /!Cn where n is a number from zero to nine indicating how many units times 256. Remember if you do not use the /!Cn command, Vocal-Eyes will default to 256 characters for the buffer. 4) CHARACTER DICTIONARY CLEARED This is not really an error message. This is displayed whenever you issue the command /CC. Vocal-Eyes is simply letting you know the buffer has been cleared. 11.3: EXCEPTION DICTIONARIES The exception dictionary is very much like the character dictionary just described. You create the file in the same manner only you are defining complete words instead of a single character. With Vocal-Eyes, even if your synthesizer does not directly support an exception dictionary, you can still set one up. Each synthesizer driver supports a user exception dictionary. Those of you familiar with the Sounding Board will feel at home with this feature as it was modeled after it. Of course no matter which voice synthesizer you will be using, there will always be unusual words, specialized terms, and proper names that it will not pronounce exactly as you might like. For that reason, we've given you the ability to add your own custom dictionaries of exceptional words. You must first create a standard ASCII file containing the exceptional word(s) and a misspelling of the word(s) that sounds proper. For example, if you would like to have the abbreviation "lb" to be spoken as "pounds" and the roman numeral VI to be spoken as "6", enter these four lines in an ASCII file: lb pounds vi 6 Note: Upper or lower case is not important. Enter the correct spelling that is mispronounced on the first line, and the misspelling that sounds better on the following line. Give this file a meaningful name, and save it on disk. How about "VE.DIC?" As was said earlier, this file must be in a standard ASCII format. If you are using a word processor, make sure you pick this option when saving. If you are using Noteworthy, simply save it as you would save any file. Noteworthy is perfect for this type of editing as well as editing batch files. There are a few rules of what can and can not be in this file. 1) Each entry must take two lines in the file. The correctly spelled word on line one and the misspelled word on line two. 2) The first line (correctly spelled word) can ONLY contain letters A-Z and the apostrophe. No other symbols are allowed. 3) The second line (misspelled word) can contain any standard printable characters including spaces. Unlike the character dictionary, the exception dictionary is loaded through the synthesizer driver, not Vocal-Eyes. We have not discussed the synthesizer drivers in detail yet but we will proceed with the discussion of the exception dictionary. For all the details relating to the synthesizer drivers, refer to appendix F. Let us see how to use the exception dictionary. When you first startup your specific synthesizer driver for your current session, it will attempt to load the dictionary file called "VE.DIC" by default. Assuming the file exists, it will automatically be loaded and used. Nothing is required other than to load the specified driver as you have always done. However, if you wish to load a file with a different name you will need to use the following command line parameter on the synthesizer command line not on the Vocal-Eyes command line: Parameter: /Efilename The synthesizer driver will load an ASCII file containing new rules for text- to-speech translation by using the "E" parameter. "filename" can be any valid DOS file specification, including drive and directory information. For example, if you are using an ECHO PC synthesizer and you want to load a dictionary file called "LOTUS.DIC" on the C: drive under the directory called "LOTUS," you could issue the command: ECHOPC /EC:\LOTUS\LOTUS.DIC After the dictionary is loaded successfully, the driver will confirm its acceptance of the new rules with a message. Remember, by default, the first time the driver is issued it will look for a file called "VE.DIC" on the DOS default log path, and load it, if it's located there. The number of new pronunciations that can be added depends on a buffer setting. The default buffer size will accommodate approximately thirty to forty entries. If there was a problem while trying to load the dictionary, you could receive one of the two error messages: * Dictionary load error * * Dictionary format error * The Dictionary load error means the driver could not find the specified file name or the file was too large for the supplied buffer. Verify the file exists and your buffer is large enough to hold the supplied dictionary (you can determine the size of the dictionary by issuing the DOS DIR command and looking at the size, listed in the third column). The format error indicates that you did not follow the above rules while creating the dictionary file. Verify that the file is in ASCII format and the two entries contain valid characters. Previously, we said the default buffer size would allow around thirty to forty entries. This number, of course, depends on the size of the words you are defining but it also depends on the buffer size. The drivers allocate 512 characters of storage for dictionary entries by default. Depending on the size of each entry, this allocation will accommodate up to approximately 40 entries. The arithmetic here is 512 divided by twelve equals forty-two. We are using six characters as the average word size, and we are doubling that to encompass the mispronounced word and the properly pronounced substitute. Should you find this allocation to be too small, use the exception dictionary buffer parameter to increase the size of the buffer as needed. To adjust the buffer size, use the following synthesizer command line parameter: Parameter: /!Ex Notice the ! (exclamation point). As always, since this command contains the exclamation point it can only be issued the first time you startup your driver each session. The x is a number between 0 and 49. The number determines how many 512 character chunks to allocate as part of the buffer. The default is one or 512 characters. For example, if you wanted to triple the number of possible entries, the command would read like this: DBLTALK /!E3 The "E" in this parameter stands or "exception", and the number corresponds to some multiple of 512 characters. Notice that the dictionary buffer can be set to 0 characters. This is because if you do not wish to use an exception dictionary file, you should not be penalized by taking valuable memory. Therefore if you are not using an exception dictionary, use the command: DBLTALK /!E0 This will set the buffer size to 0 freeing up a valuable 512 characters. Of course, you will not be able to load any exception dictionary. You can, if you wish, combine both commands to increase the buffer size and load the actual file on one command line. Because you will be issuing the /!Ex parameter, this must be done the first time the driver is loaded each session. For example: DBLTALK /!E5 /EWP This will load the DoubleTalk driver and increase the exception dictionary buffer to five times 512 bytes or two and a half Kilobytes. It will then load the file WP.DIC. Again, for a complete discussion of synthesizer driver commands, please refer to appendix F. 11.4: KEY LABELING Often, two different applications will use the same key to perform two distinct program functions. The F5 key in WordPerfect, for example, is the key that calls up the WordPerfect File Manager. In Lotus 123, pressing this same key invokes the GOTO function. Switching back and forth between these and other applications programs you may use every day, it can get difficult at times, to remember exactly which program function belongs to which key. This is why Vocal-Eyes allows you the very helpful option of attaching voice labels to any of your PC's keys. Would you like your F5 key to say "List Files" when you're working with WordPerfect and "GOTO" when you move to Lotus 1-2-3? Here's how you can do just that by taking advantage of Vocal-Eyes' Key Label dictionaries. 11.4.1: CREATING THE KEY LABEL DICTIONARY Creating a key label dictionary involves almost exactly the same steps as does creating a character or exception dictionary. Each entry, or key label, occupies two lines in a DOS ASCII text file. Enter the name of the key you wish to attach the label to on the first line, then, on the second line, enter the label itself. We'll demonstrate the process by creating a "GOTO" label to attach to the F5 key. Here's how such a label would look: [F5] GOTO Notice that we enclosed the name of the key we wished to label within brackets. Also, remember to press ENTER after typing GOTO in order to complete the entry. Would you like to attach a label to the WordPerfect ALT-F6 "Flush right" key? Easy enough. Simply add the following two lines to your key label dictionary: [altf6] flush right You can attach a label to any key on your PC's keyboard. You can designate any of the three "shift" states by preceding your key name with CAPS, ALT or CTRL. Many keys such as the DELETE or the INSERT key use certain standard abbreviations, such as DEL and INS. You may already be familiar with many of these abbreviations. If not, consult APPENDIX H for a complete listing of all keys and their abbreviations. 11.4.2: THE .KEY KEY LABEL DICTIONARY FILE Saving a key label dictionary is as easy as saving a character dictionary. If you've used Noteworthy to construct your key label dictionary, using the ALT-S save file command will automatically save your file in ASCII format. WordPerfect 5.1 users, you can use the CTRL-F5 option. Press ONE for DOS text files. Press ONE a second time to save your file. As was the case with your character dictionary, you should save your key label dictionary in the same DOS subdirectory where you keep your Vocal- Eyes program files. Also, you can give your key label dictionary any legal DOS file name, but you'll probably want to use the .KEY extension. If you want Vocal-Eyes to automatically load your Key Label dictionary, you'll probably want to match its name with the name of the application's executable file, just as you did with your .SET and .CHR files. For now, why not name your key label dictionary LABEL.KEY? Now that you've created and saved your key label dictionary, the next time you run or reinvoke Vocal-Eyes from DOS all you need to do is add the following / parameter VE /KLABEL.KEY We added the .KEY extension to our file name, but we did not have to. Vocal-Eyes automatically looks for a .KEY extension when searching for a dictionary file. Vocal-Eyes stores the key label dictionary in a key label dictionary buffer similar to the character dictionary buffer it uses to store that dictionary. The key label dictionary buffer has a default size of one kilobyte, or 1024 characters. You can increase the size of this buffer in one half kilobyte increments up to 4.5K by the use of the /!K(0-9) start-up parameter. Also, as with the character dictionary buffer, you can issue the command /!K0 if you don't plan on using the key label dictionary option. This will free up 1024 bytes of storage. Notice that the character dictionary uses 256 bytes for each buffer size whereas the exception dictionary and key label use 512 bytes. This is because these two dictionaries are likely to be larger. Like all other /! parameters, the /!kn parameter can only be invoked once when you first run Vocal-Eyes for each session. Just like the character dictionary, the key label dictionary will remain in your Vocal-Eyes buffer until you either load a new key label dictionary to take its place or else clear the dictionary from Vocal-Eyes' buffer. You can load a new key label dictionary into Vocal-Eyes at any time by simply returning to DOS and reinvoking Vocal-Eyes with the name of the new key label dictionary you want entered as a /K(dictionary file name) parameter. Vocal-Eyes will clear the current dictionary from memory and replace it with the new dictionary. To clear a key label dictionary from Vocal-Eyes' memory without loading a new dictionary in its place, simply return to DOS and reinvoke Vocal-Eyes with the following parameter: VE /KC The K in the above parameter stands for key label dictionary and the C stands for clear. Although your key label buffer is still allocated, it does not contain any labels. If you wish, you can at any time load a new key label dictionary. What if you don't want to clear the dictionary buffer but stop using it for a little bit? For example if you are in WordPerfect and use the Shell option to enter DOS, you don't want all of the key labels you setup for WordPerfect to speak that way in DOS. How about using option 7 off of the General submenu. This is the Key label dictionary on/off switch. If you switch this to off, Vocal-Eyes will not use the entries currently in the key label buffer but it will not clear them out either. Why not in your DOS.SET file, turn this option off? That way when you load the DOS.SET file after you shelled to DOS, the key label dictionary buffer will automatically be turned off for you. When you exit back to WordPerfect, the key label buffer could be automatically re-enabled for you as well. Those of you with Noteworthy will notice the supplied NW.SET has this option turned off for you already. As with the character dictionary, you can also load the key label dictionary from the Files submenu. Notice option three: Load Key Label. If you press ENTER on this option, you will be prompted for the key label dictionary file name. Also, if you currently have a dictionary loaded, its name will be displayed. If all you want to do is look at the file name currently loaded, simply press ESCAPE to cancel the load. If however, you actually wish to load a new key label dictionary, simply type the dictionary file name and press ENTER. If you supply a path as before, Vocal-Eyes will only look at the specified location. If however, you only supply the file name with no drive or path specification, Vocal-Eyes will first look in the original Vocal-Eyes directory for the file. If found, it will be loaded. If not found however, the drive and directory you are currently logged onto will be checked for the same file name. If found, it will be used. If not found, an error message will be issued. If you wish to clear the current key label dictionary, simply specify a file name of "C." Instead of loading the file "C.KEY," Vocal-Eyes will clear the current dictionary and give a message indicating that the file was cleared. There will be no default key label dictionary file name after a clear command has been issued. 11.4.3: POSSIBLE KEY LABEL DICTIONARY ERRORS When loading a key label dictionary, you will notice Vocal-Eyes says "Key label dictionary loaded" unless you ended the command line with a semicolon to silence the message. If you get this message, you can assume the dictionary was loaded and no problems were detected. However, if there is some sort of error, Vocal-Eyes will let you know what it is. The following are possible errors. 1) ERROR READING KEY LABEL DICTIONARY This means Vocal-Eyes could not find the file you specified. Maybe you mistyped the file name or maybe its not where you thought it was. Remember, if you do not specify a specific path, Vocal-Eyes will first look on the drive and directory Vocal-Eyes was started from. If the file does not exist, the current drive and directory will be checked for the specified file. If it still is not found, you will get the above error message. Also, remember if you do not specify an extension, Vocal-Eyes will automatically add .KEY. If you do not wish any extension, end the file name with a period. 2) INVALID FORMAT IN KEY LABEL DICTIONARY This means Vocal-Eyes found the file but discovered some sort of error in it. For example, maybe the file had an odd number of lines. Remember, each entry requires two lines so the file should have an even number of lines. Maybe the first line of an entry was not a legal keystroke. Refer to Appendix H for a complete list of valid keystrokes. Verify each line in your file and make any corrections. Then try loading the file again. 3) KEY LABEL DICTIONARY OVERFLOW This means exactly what it says. You tried to load a dictionary which contained more characters then you allocated for the dictionary buffer itself. You will need to either make the dictionary smaller or restart Vocal- Eyes and increase the buffer size using the command /!Kn where n is a number from zero to nine indicating how many characters times 512 you wish allocated. For example, nine would indicate nine times 512 or 4,608 characters or bytes. Remember, if you do not use the /!Kn command, Vocal-Eyes will default to /!K2 or 1024 characters for the buffer. 4) KEY LABEL DICTIONARY CLEARED This is not really an error message. This is displayed whenever you issue the command /KC. Vocal-Eyes is simply letting you know the buffer has been cleared. 11.4.4: Putting it Together Here's a way you can combine two of Vocal-Eyes' powerful voice features into a single, even more powerful feature. Recall from SECTION 6 of this manual that you can attach one or two of a variety of voice functions to any of the various cursor keys. As a matter of fact, you really learned you can attach such voicing to any key. Anyway, why not both label a key and attach a voice feature? We'll use the F1 Help key we've mentioned several times so far in this section. Suppose that in your program, whenever you press the F1 key, a help message occupying the first 12 lines of your screen display pops up. Here's one way you could combine two of Vocal-Eyes' voice features to make this help screen more user interactive. First, enter the F1 key into your key label dictionary. Make it say "Help." Now, construct a screen window to read the first 12 lines of your PC's screen. For our example we'll use Window nine to do this. Next, enter the Voice Control Panel's Cursoring submenu. Cursor down until you find a key you've left undefined or don't plan on using. Once you find such an item in the menu, stop and press the F1 key. Notice that now the menu says F1 and then announces the current voice assignment. Press the SPACE BAR or the BACKSPACE key enough times to reach Speak Window. Press ENTER followed by 9. Now, press ESCAPE several times or ALT-X once to return to your application. Press your F1 help key now. What happened? Did Vocal-Eyes say "Help" and then voice your entire help screen? As you can see, combining the key labels with the Cursoring voice features can lead to some pretty powerful keystrokes. Try combining features in ways that will most help you. Be sure to save your changes to disk so they'll still be there the next time you run Vocal-Eyes. 11.5: THE DIFFERENCE BETWEEN THE CHARACTER AND KEY LABEL DICTIONARIES It may not be clear at first exactly what the difference between the character and key label dictionaries is. Well, we hope the following will help. First, the Key label dictionary is only used when you physically press a key on the keyboard. Although you can define all keys including the letters A-Z and numbers 0-9, normally you would only define the nonstandard keyboard keys such as the function keys F1-F12 or the HOME, END, DELETE etc. Make them speak whatever makes sense in your current application. The character dictionary, unlike the key label dictionary, is used for characters typed from the keyboard as well as those printed to the screen, or when you go into Review Mode and review a character. Vocal- Eyes will always substitute the message you supplied every time it is requested to speak a character in your character dictionary. This is mainly used for extended or control characters. These characters display some sort of symbol or figure on the screen. Each application may use these figures for different meanings. If the built-in, generic message is not good enough, why not make it speak something logical for the current application instead? Feel free to experiment with both of these buffers. In section 15, you will learn some good ways of putting these dictionaries to work for you. 11.6: THE "LOAD ALL" FILE OPTION Call up your voice control panel by pressing control-\. Move to the 6 FILE option and press enter. Move down to option five, "Load All." Do you remember that we said we'd explain this option later? What do you think it is for? That's right. Selecting this option and typing in a file name, not including extension, will cause Vocal-Eyes to attempt to load a .SET, .CHR, and .KEY file with that name. This is a very quick way to set up your environment without exiting your application and reinvoking Vocal- Eyes. If you include a path with the file name, Vocal-Eyes will search only that path for these three files. If you do not specify a drive and directory, Vocal-Eyes will first look in the directory from which it was first loaded to find the files. If it does not find them there, it will look in the current directory of the logged disk. Vocal-Eyes will give you relevant messages as it attempts to load these files. If you were using WordPerfect 6.0, for example, and entered the name "WP" as the filename, Vocal-Eyes will say "SET file loaded from disk," "Character dictionary loaded," "Key label dictionary loaded." Note: the exception dictionary is not loaded using the "Load All" option since it is loaded by the synthesizer driver and not by Vocal-Eyes itself.