IN3 Index

Commands

     File    	File Action Menu

     Edit    	Edit Commands Menu

     View    	View Commands

     Options 	Options Menu


File Menu

     New   	Create New Lexicon

     Open 	Open Existing Lexicon

     Save 	Save Current Lexicon

     Save As 	Save Lexicon Under Another Name

     Merge 	Merge Another Lexicon into Current Lexicon

     Print   	Print Lexicon

     Exit     	Exit IN3


Edit Menu

     New Command 	Add a new command

     Update Command 	Change an existing command

     Delete Command(s) 	Delete one or more commands

     Build Templates 	Create or refine voice templates


View Menu

     By Commands     	View Lexicon, organized by commands


Options Menu

     Microphone Active      	Turn Microphone on/off

     Audio Messages Active 	Enable audio messages

     Recognition Active         	Enable/Disable recognition

     Always on Top              	Anchor In3 on top

     Beep                                   	Change Beep Options

     Save Options                 	Save user options


Beep Menu

     Microphone on/off           	Beep when microphone turns on/off

     No word recognized      	Beep when no word was recognized


New Lexicon
New

Use the New selection to begin building a new lexicon.  When you select New, a status window appears with one command _MICROPHONE.  Use the Save As selection to name and save the new lexicon.


Open Lexicon
Open

Command Lexicons are stored in files on your hard disk or on floppy disks.  The Open command activates a dialog box which provides convenient access to drives, directories and files.  Lexicon files are identified in the dialog box by the lexicon name and a .vcb extension.  When you open a lexicon, IN3 also locates and loads the .sub file.  If voice templates have been built, the .tpl file will also be loaded.


Save Lexicon
Save

Save changes to the currently loaded lexicon by selecting Save.


Save As Lexicon
Save As

To change the name of a lexicon or to change the drive or directory in which a lexicon is stored, select Save As and enter the new information into the dialog box that is activated.  IN3 places the .vcb extension onto the lexicon name you designate.


Merge Lexicon
Merge

Lexicons may be merged to form larger lexicons.  To merge lexicons, open one of the lexicons using the Open command.  Select Merge to activate a dialog box.  Select the lexicon to be merged into the first lexicon and pick OK.  Another dialog box will offer you a choice to merge voice templates or omit the templates.  When you make the choice the merge will be complete and the IN3 Status Window will be activated with the newly merged lexicon loaded.


Print Lexicon
Print

A hard copy of your lexicon may be useful for reviewing commands, developing complex applications, and making extensive changes.  Select Print to begin a printout of the currently open lexicon.

IN3 Voice Command's print routine sends the print job to the Windows Print Manager.

Print produces a hard copy of the lexicon showing "keystrokes" listed by command.


Exit IN3
Exit

Selecting Exit stops IN3 speech recognition and closes the IN3 Status Window.


New Command

Select New Command to open a New Command Dialog box to add a command to the current lexicon.


Update Command

Select Update command to change the command name or the keystrokes to be executed.  Selecting Update command will activate the Update Command Dialog box.  The Command name field is highlighted and there is a scroll arrow in the field.  Click on the scroll arrow to access the Command name list and then select the command you want to update.  Click the mouse on the field you wish to edit and remove unwanted characters using backspace or delete.


Delete Command
Delete Command(s)

Delete one or more commands from a lexicon by first selecting the commands in the IN3 Status Window.  Then select Delete commands.


Build Templates

Use the Build Templates selection to create new voice templates or to refine existing templates.  When the Build Templates Dialog box is activated, default settings appear for Template and Selection based on the status of the templates in the lexicon.

Default settings are as follows:

1.  If no templates exist, "Create"  "All"

2.  If templates exist for all commands, "Refine"  "All"

3.  If only some templates exist, "Create"  "Selected"

4.  If all templates exist and some commands are highlighted in the IN3 Status Window, "Refine"  "Selected"


View By Commands

To view a list of commands organized in alphabetical order, pick View By commands.  The View Dialog box will then list the current Lexicon, organized by command name.


Microphone Active

To manually toggle the microphone switch off or on, select Microphone active.  The voice operated microphone switch remains in operation any time recognition is active, so the switch may be toggled either manually or by voice.

The status of the microphone switch is indicated by the lips in the IN3 Status Window or by the icon.  When the microphone is on the lips are red.  When the microphone switch is turned of, the lips turn black.


Audio Messages Active

IN3 Voice Command provides audio announcements at startup to assist the new user.  By default, these announcements are set to play any time IN3 is started up with a lexicon which has no templates.  To turn the announcements off, toggle Audio messages active.

Use the Save options selection to change the Audio messages setting for the next startup.


Recogtion Active
Recognition Active

When a lexicon which has voice templates is opened, IN3 automatically activates recognition.  To deactivate recognition, toggle Recognition active.

Use the Save options selection to change the default status.


Always on Top

If you want the IN3 Status Window and the IN3 icon to always be visible, select Always on Top.  Use Save options to set the new default.


Save Options

Use Save options to change the default setup for the user selectable options.  The state of "Audio messages active", "recognition active", the "beep" flags, and "Always on Top" may be saved as well as the name of the current Lexicon.  The name and path saved for the current Lexicon will be used as the initial Lexicon automatically opened when In3 is started up next.


Beep on microphone on/off

Enable or disable an audible "beep" whenever the voice operated microphone switch is activated or deactivated.  When the microphone is activated by voice, a double beep will be generated.  When the microphone is deactivated by voice, a single beep will be generated.

The status of the microphone switch is indicated by the lips in the IN3 Status Window or by the icon.  When the microphone is on the lips are red.  When the microphone switch is turned of, the lips turn black.

Use Save options to save this as the new default.


Beep on no word recognized

Generate a single high pitch "beep" whenever something was heard but no word was be recognized.

Use Save options to save this as the new default.


Update Command Dialog

Use the Update Command Dialog box to review and revise the commands in a lexicon.  Commands are organized alphabetically by command name.  To select a command to review or update, click on the scroll arrow to the right of the Command Name field.  A list of the commands in the lexicon appears.  When you select a command from the list, all of the keystroke information is placed in the dialog box.

Any combination of keystrokes up to a total of 64 per command can be executed when a command is recognized.  Use the keyboard to enter alphanumeric characters.  Use the mouse to pick the commonly used modifier keys (Ctrl, Shift, and Alt).  Then enter the key to be modified.  To pick other modifier keys, click on the scroll arrow to the right of the Other keys field and then select the desired keys from the list.

The "Window Class" button is used to determine the window class name of another windows displayed on the screen for window management commands.

Use backspace and delete to edit the fields.  Then pick OK.  IN3 automatically saves your changes.

Further information on keystroke syntax is contained in the Keys Help selection under Help.


Build Templates Dialog

Use the Build Templates selection to create new voice templates or to refine existing templates.  When the Build Templates Dialog box is activated, default settings appear for Template and Selection based on the status of the templates in the lexicon.

Default settings are as follows:

1.  If no templates exist, "Create"  "All"

2.  If templates exist for all commands, "Refine"  "All"

3.  If only some templates exist, "Create"  "Selected"

4.  If all templates exist and some commands are highlighted in the IN3 Status Window, "Refine"  "Selected"

You can change these default settings to perform any operation you need.

Position your microphone and be sure the microphone gain is set properly.  When you select Begin, the system will prompt you to speak commands.  The Begin button will change to Pause.

You may pause while creating or refining templates by clicking on the Pause button.  At that time the Pause button will change to Resume and the system will wait for further action.  Clicking on the Resume button will then return to the creation or refining process where it was left off.

You may stop the create or refine templates operation at any time by clicking on Cancel.  Templates which have been successfully created or refined are retain.  Other templates, not successfully created or refined, are not affected when the operation is cancelled.

When the build process is completed, IN3 automatically saves your templates and reactivates recognition.

Note that noise which occurs during this process will be converted to data and your templates may be adulterated.  So do your best to avoid introducing noise into the templates.


View Commands Dialog
View Dialog

Use View Dialog and View By commands to review a lexicon.

The window space available under this selection is limited and therefore the information that may be displayed is also limited.  For more complete information on the lexicon, either use the Update commands dialog box or print a copy of the lexicon.


New Command Dialog

Lexicons are built by adding commands.  When you pick the New command selection, the New Command Dialog box is activated.

Position the cursor in the Command name field and type the command to be spoken.  In selecting the word or words to speak, try to identify the word or term that the user naturally associates with the command or operation.  Avoid stepping through menu hierarchies and think in terms of "voice macros".  Avoid long phrases.

After entering the command, hit Tab on the keyboard.  If you hit Enter by mistake and close the dialog box, you can pick Edit and Update command then finish entering the command in update mode.

In the Keystrokes field, enter the series of keystrokes that will execute the command or voice macro.  Any combination of keystrokes up to a total of 64 per command can be executed when a command is recognized.  Use the keyboard to enter alphanumeric characters.  Use the mouse to pick the commonly used modifier keys (Ctrl, Shift, and Alt).  Then enter the key to be modified.  To pick other modifier keys, click on the scroll arrow to the right of the Other keys field and then select the desired keys from the list.

The "Window Class" button is used to determine the window class name of another windows displayed on the screen for window management commands.

Complete information on keystroke syntax is contained in Keys Help under Help.

Use backspace and delete to edit the fields.  Then pick OK.  IN3 automatically saves your changes.


About In3

IN3 Voice Command
Copyright 1993
All rights reserved

Command Corp. Inc.
3675 Crestwood Parkway
Duluth, GA 30136


Extended Help - READ ME
IN3

IN3 Voice Command System - Copyright 1992,93 Command Corp. Inc., All rights reserved.

Welcome to the IN3 (pronounced IN CUBE) Voice Command System for Windows!  We hope you enjoy this opportunity to use Command Corp's word spotting speech recognition technology.  The voice commands included with the starter lexicons execute operations most of us use frequently so we hope you will use the voice input in your everyday work.

1.0          START-UP INFORMATION

Before running IN3, make sure you can record and playback messages using your Windows-compatible audio system.  Optimizing the gain for IN3 is discussed later in this document.

1.1  Installation

IN3 Voice Command runs on any IBM compatible 386, 486 or Pentium system with Windows 3.1.  IN3 requires approximately 1 Mbyte of disk space for all of its components.

The IN3 Setup performs all operations neccessary to successfully complete installation of IN3 and add it to your windows configuration.

1.2  Microphones

IN3 Voice Command speech recognition technology creates a voice template for each command.  Then, in recognition mode, it compares and matches those templates to data coming from the microphone.  The comparison is performed continuously and in real time.  Templates created in a reasonably quiet environment with a strong voice signal will be well-matched even in the presence of typical office noise.

Most microphones are designed for "close talking."  If you position the mike close and build your voice templates with a strong signal in a quiet environment, recognition performance will be virtually 100% accurate.  But if you move away from the mike, your voice signal will be progressively reduced and it may become too weak to create a distinctive voice template.

Command Corp. Inc. supplies desk-mounted and headset microphones for optimum performance with speech recognition.  Some of these are designed for speaking distances of six to sixteen inches, and they perform very well in a normal office environment.

Contact Command Corp. Inc. at (404) 925-7950 for additional information.

1.3  Audio Boards

IN3 Voice Command runs with most 8 and 16 bit Windows compatible audio boards.  In selecting an audio board for use with IN3, choose a board that reproduces audio relatively free of static and hum.  Also, choose a board which has efficient Windows drivers.  Many audio board manufacturers have updated Windows drivers for their older as well as more recently released boards.

Check with the manufacturer's support group or bulletin board and update your drivers to the latest available revisions.

1.4  Setting Audio Record Gain

IN3 Voice Command requests and receives digital data from your audio board in the same manner as if you were making a recording.  Since various audio boards have different sampling rates and sample size, IN3 automatically uses the best rate and sample size available from each board.

Sampling rate and size are selected by IN3 in the following order:

1.  8KHz  16 bit         (preferred)
2.  11KHz 16 bit
3.  8KHz  8 bit
4.  11KHz 8 bit          (least preferred)

If your record/playback tool permits adjustment of sampling rate and sample size, pick the most preferable rate and size available according to the listing above.

Use the record and playback tool provided with your audio board to make a test recording.  Then use the audio record gain adjustment or "mixer" supplied with your board to adjust the gain for optimum performance.

Speaking in a normal and relaxed voice, record a one or two second test message.  Play the message back and note whether the signal is clear and strong or weak and distorted.  The best setting is the one which produces the strongest undistorted signal with the least hum, static or background noise.  If your record/playback tool provides a graphic representation of the recording, set your record gain so the loudest peaks created in your normal speaking voice just approach, but do not reach, the upper and lower limits of your wave form viewer.  If background noise or system noise is excessive at this gain setting, either reposition the microphone closer to your mouth or reduce the record gain setting, or do both.

Be sure to save the gain setting using the save utility included with your audio board.  This will insure that the record gain is set to the same value each time you start up.

When you have finished setting the record gain, exit from the record/playback application.  This will permit IN3 Voice Command to request and receive audio data from the board.

The microphones which are provided with audio boards can be used with IN3 Voice Command if you exercise a little care.  Testing indicates that optimum performance is achieved when voice templates are created with the mike positioned 4 to 6 inches from the speaker's mouth.

1.5  Running The Starter Lexicons

IN3 installs with optional starter and demonstration lexicons. When you double click on the IN3 icon for the first time, the IN3 window opens up with the initial demo lexicon.  You may then create templates for these commands or select another one of the starter lexicons by selecting "File" then "Open".

1.6  Building Templates

Select the Edit button, and then select the Build Templates option to create your voice templates for each command in the lexicon.

When the Build Templates window opens, two mode selections appear.  IN3 defaults to either ALL or SELECTED mode depending on whether it senses that some templates already exist or there are none.  In SELECTED mode, the system will prompt you to build templates only for those commands needing templates.  If you wish to replace some but not all existing command templates with new ones, highlight the commands in the Status Window before entering the Build Templates Window and then use Selected Mode.

Position your microphone, then in CREATE mode click on Begin. You will be prompted to repeat each command twice.  When you have spoken all commands twice, you will then be prompted to repeat each command one more time.

The Begin button becomes a Pause/Resume button, for use if you are interrupted.

In order to optimize the template data, you are required to provide a somewhat stronger audio signal when you are Building or Refining templates.  When in recognition mode you will be able to speak more softly and you will still obtain very good performance.  If during the process of building or refining templates, IN3 receives a weak signal, the build process will be suspended and a message "Audio Input Level Is Too Low" will appear.  Either reposition the microphone so it is closer to your mouth or speak more loudly in order to provide a stronger signal.

1.7  Operation

Once all templates have been created, you are ready to test recognition.  Do not Exit from the IN3 Status Window.  If you Exit the IN3 Status Window, IN3 Voice Command will shut down.

IN3 may be minimized to an icon which will not shut it down.

The Status Window contains a list of the commands in the lexicon for use as a reminder.  Notice that the Status line at the bottom of the window says Recognition is active.  As you test recognition by speaking commands, the Status line will indicate each command that is recognized.

The first command in the Status Window, _MICROPHONE, is your voice operated microphone switch.  When IN3 loads a lexicon, the microphone is on and the lips in the upper right hand corner are red.  Say "Microphone" and the switch is turned off.  The lips change from red to black indicating the microphone is off.  Say "Microphone" again to turn the mike back on and the lips return to red.  A beep also sounds when the microphone switch is activated.

One beep indicates the switch has been turned off and two beeps signal it has been turned back on.

1.8 Testing IN3 Voice Command

With the demo lexicon open, test the commands to verify that Calendar, Clock, Command Shell, Calculator, etc. are working.  Then manipulate the windows by using the commands.

Voice template features are established by energy patterns rather than frequencies, so there is no need to speak in a monotone. Test this aspect of the IN3 System performance by saying a few of the commands with different pitches.

The IN3 System will recognize a command even though it is embedded in a continuous sentence.  To test this, say, "Give me the calendar please."  If you spoke naturally when you created the voice template for calendar, the system will recognize and execute calendar even though it is embedded in a sentence.

1.9 Tips on IN3 Recognition

New users sometimes try to "help" IN3 by speaking loudly and very distinctly when building templates and testing.  As a result, the templates may work fine while testing but later in normal use when the user is relaxed and speaking softly, some commands may not be recognized.  So when building templates try to relax and speak normally.

If IN3 Voice Command tends to falsely recognize one or more commands, the template(s) probably contain noise.  To correct this, use the mouse to highlight the command in the IN3 Status Window.  Select Edit from this window, choose Build Templates, select Create Mode, and create a new template.  For best results, do this at a quiet time and position the mike so it picks up a good strong signal.

If creating a new template does not correct the problem, your record gain may be set too high.  Try reducing the gain until the problem is solved.

Command Corp. Inc.

3675 Crestwood Parkway

Duluth, GA 30136

Phone (404) 925-7950

FAX   (404) 925-7924


Keystroke Help

Keystroke Modes and Command Mode

IN3 Voice Command provides two types of control for manipulating the Windows interface and for entering commands or data to applications running under Windows.  These modes, known as Keystroke Mode and Command Mode, are described in detail below.

Keystroke Mode

In Keystroke Mode, IN3 enters keystroke information corresponding to data, menu accelerator keys, or key sequences for voice macros into the system key queue.  The information entered to the key queue is in the form of key scan codes.  Keystroke Mode is the default mode for most voice macro commands.

Any combination of keys from the PC enhanced keyboard can be entered.  In order for IN3 to recognize modifier keys among keystroke strings, the modifier keys, {Ctrl}, {Alt}, {Shift}, and the other Special keys such as {enter}, {tab}, etc. are placed in braces.  Function keys are also identified by braces.  {F1}, {F2}, are examples.  In building a lexicon, these keys may be typed on the "Keystrokes" line using braces or they may be selected using the mouse from the scroll list in the dialog box.  A brace may be entered in the keystream by doubling (i.e. "{{").

Command Mode

IN3 provides a powerful facility called Command Mode which provides window manipulation, job execution, and lexicon reloading.

Command mode is invoked when the first character in the command string is a '>' (greater than symbol) and the second character is anything else.  If both the first and second characters are '>' symbols, the string is processed as a keystroke sequence with one of the '>' characters and Command Mode is not entered.  This technique, called doubling, allows keystroke sequences to begin with a '>'.  The '>' is significant only in character position one on.  Anywhere else in a keystroke sequence it is treated as a simple character and nothing special is performed.

Command Mode processing begins with the character following the '>' in position 1.  A command and one parameter are parsed off.  The parameter may be a quoted string and if it contains embedded white space (space, tab, backspace, formfeed, etc) it must be enclosed in double quotes.  A double quote may be entered in a string by doubling.

The string matching is always performed in a case sensitive manner.  Strings which are not capitalized the same do not match.

Command Mode Commands must be entered in lower case.  An invalid command terminates command processing at that point.

Command Mode Commands

class "Window Class" - Locate a window with a window class matching the "Window Class" parameter.  If a window can be located which is already open, it is raised to the top of the window stack and focus is transferred to it.  If an open window can not be located, but a window does exist which is iconified, the iconified window is opened and then processed as before.  If neither an open window or an iconified window can be located, the command fails.   The "class" command can only open a window with the "visible" attribute and cannot open a "hidden" window.  Use the "Window Class" button in the New Command or Update Command dialog to determine the class name of a window.

echo "string" - Enters the string parameter into the system keyboard queue just the same as a simple keystroke sequence.  This is the ONLY function with allows non-ascii characters to be embedded in the parameter string.

exec "command string" - passes the parameter string to windows for execution.  This performs the same operation as the "run" function from the "progman" program manager.  The "exec" command succeeds if the program can be successfully started and fails otherwise.

title "Window Title" - Performs the same function as the "class" command but on a window with a window title matching the "Window Title" parameter.

open "filename" - passes the filename parameter to the In3 user interface to be opened as a new lexicon.  The file name may be a complete drive and path or may be a simple lexicon to be found in the same directory as the current lexicon.  It is not necessary to supply and extension on the lexicon name.  Command succeeds if recognition can be restarted with the new lexicon and fails otherwise.

Command Sequences:

Commands are executed sequentially until a command succeeds.  Software developers will recognize this as equivalent to a logical "OR" operation which permits IN3 to handle compound commands.

Example 1:

>title "Cardfile (PHONELST.CRD)" exec "cardfile.exe phonelst.crd"

IN3 will first attempt to raise an existing window with the title "CardFile (phonelst)".  Failing that, it will attempt to execute the cardfile.exe command with a parameter for the "phonelst.crd" card file.

Example 2:

>title "WordPerfect myfile.wp5 (unmodified)" title "WordPerfect myfile.wp5"

IN3 will first attempt to raise a WordPerfect window with an unmodified document title.  If that fails, it will attempt to raise a window with the modified document.


Window Class Names

Window class names are used by the "class" window function in command mode.  The "Window Class" button in the New Command or Update Command dialog windows may be used to determine the window class name of another window currently being displayed and enter it in the keystroke line for the command.

When the "Window Class" button is activated, the cursor changes to cross-hairs.  Position the cross-hairs over the title bar or icon of the window you want the name of.  When you then click any mouse button, the window class name of that window is inserted into the keystroke line of the command window.

Positioning the cursor over other areas of a window may return the class name of the common child window structures used by that window.  Clicking over a "button" will return "Button".  "List Box", "Static", and "Combo Box" are examples of other class names that may appear if you select structures within a window.