Speech in the Input Cash Control

Navigation:  How to Work with Speech > Speech in Controls >

Speech in the Input Cash Control

Previous pageReturn to chapter overviewNext page

 

Control Purpose

 

This control is used to allow the operator to manually enter data (numeric values with the possibility of decimal values) with the keyboard.

Depending on what your MCL-Designer V4 subscription includes, this control can have another feature - speech.

This means that the operator can use the keyboard, the touchscreen (if available) or say the intended value. It also enables the use of output information (instructions to be heard by the operator) and the use of spoken words to establish data input order, meaning, using a specific word (= focus word) to set the focus on a specific control within a screen.

 

This topic only describes the speech related options included in an Input Cash control. For more information on this control, see Adding an Input Cash Control to a Screen.

 

 

Step-by-step

 

1. Add the Input Cash control to the screen by dragging it from the top section of the "Control" tab OR  the Style Preview section onto the screen.

 

2. In the control's properties window, fill in the "General" and "Layout" tabs as required. See Adding an Input Cash Control to a Screen.

 

Remember that all speech input data (stored in a variable that is defined in the "General" tab) must be managed with the use of processes in the "Actions" tab.

 

 

3. Open the "Speech" tab. By default, all the tab's options are inactive.

This tab is used to activate the control's speech attribute and to define its use (control focus through speech, prompts, accepted word sequence, etc.).

 

 

4. Check the "Speech Input" box to enable the control's speech feature.

 

 

5. Fill in the available options:

When entering data in the "Speech Grammar" table, you can use the editing bar to the right to add (), delete () and/or move () table rows.

 

Focus Word

Enter a focus word OR  click to select a variable with the intended value. See Variable Usage.

 

The focus word is used by the operator to set the focus on the current control before input. Ex: The operator uses the focus word to turn the corresponding control into the active element (ready to receive input) in the screen without having to touch the control or use the direction keys of a keyboard.

Focus Prompt

If required, enter the focus prompt OR  click to access the Speech Prompt Builder assistant to create it. See The Speech Prompt Builder. The focus prompt's purpose is to provide information or instructions to the operator so that he can use speech input. The focus prompt can be a word, a sound, etc.

Key Words

This option is only applicable for App Word List that associate spoken words to specific keys/key combinations.

If required, select an App Word List from the drop-down OR  click to open the "Word List" window and select one from the table.

 

Remember, this option only works with App Word Lists that associate spoken words to specific keys/key combinations. The drop-down only displays compatible App Word Lists but, if you use the "Word List" table, it will show all the App Word Lists in your project and it will be up to you to select a compatible one.

 

This type of App Word List implies the use of "Hotkey" actions in the current control's "Actions" tab (spoken word associated to a key>> key associated to an action).

 

See Example I (Escape Sequence).

 

Speech grammar (Word Sequence for Data Input) table

Word List column

It is possible to combine two or more word lists to create a word list sequence but this only works for App Word Lists that associate spoken words to numeric/alphanumeric values.

App Word Lists that include key codes do NOT apply.

Construct a word sequence with one or more word lists. Select the App Word List from the drop-down OR  click and select it from the "Word List" table (the "Word List" table allows you to view the existing App Word Lists (see To View the App Word Lists), to edit them (see To Edit an App Word List) or to add new ones (see To Add an App Word List).

As an alternative, you can also enter a variable that contains the name of the intended App Word List.

 

Remember, this option only works with App Word Lists that associate spoken words to values. The drop-down and the "Word List" table display all the App Word Lists in your project and it will be up to you to select the compatible App Word List(s).

 

If you use more than one word list, remember that this is a word sequence, meaning, you have to order your word list selection according to the intended speech input sequence.

Ex: For a word sequence such as "Code 5 2 Read", you have to do the following selection:

1st - the word list that includes the word "Code".(List A)

2nd - the word list that includes the numeric units "5" and "2" (List B)

3rd - the word list that includes the word "Read". (List C)

If you were to select List B first, then, List C and, then, List A, you would be creating the following speech input sequence - "5 2 Read Code".

 

See Speech Grammar Example.

 

Min column

Specify the minimum number of units from the selected word list to be used in the word sequence.

Max column

Specify the maximum number of units from the selected word list to be used in the word sequence.

End of Input

Select the end of input mode from the drop-down OR  click and select it from the "Word List" table:

Auto - use of automatic system criteria to determine the end of speech input.

Global Validation Word - requires a specific word to be spoken by the operator to mark the end of speech input. This word is defined in the Global Words List.

 

When selecting this option, make sure that the Global Words List contains a spoken word with <ENTER> as a return key and that the list is enabled.

See Global Words.

 

None - speech input ends when the operator uses the maximum length of the input word sequence.

Validation Word List - This option is only available in the drop-down if you have already created an App Word List with a specific characteristic - this App Word List must include spoken words associated to the key code "<Enter>" or "<Enter1>" or <Enter2>", etc. (up to "<Enter9>").

 

Example of an App Word List that can be used as a validation list:

 

 

In this case, the operator will be able to say "Ended"; "Completed", "Done" or "Concluded" to indicate the end of his speech input.

 

See Example II (Speech Input Validation and Routing).

 

Hint Value(s)

If required, define "Hint Value(s)" for the current control. Enter the value(s) OR  click to select a variable with the intended value. See Variable Usage.

 

Hint values refer to the expected speech input value(s) for this context (the expected words spoken by the operator when the focus is on the current Input Cash). These hint values are only used in a post-speech processing phase. After the speech input has been recognized, in case there is more than one possible match with a similar confidence level, the acceptance criteria will force the selection of the hint value even, if its score is slightly lower than the other recognized set of words. Ex: If you set the hint values for this control at 1 9 and the operator says "1 9" and "2 6" and both inputs have a high confidence level (leading to two speech recognition results), the hint values are taken into consideration and the "2 6" input/result is discarded.

Sync Mode

The sync mode determines when the operator can start his speech input taking into account the current speech output. Select the most appropriate sync mode from the corresponding drop-down:

Sequential (End of last Prompt) - The operator has to listen to the complete speech output before he can start his speech input (recommended sync mode).

Anticipated (start of last Prompt) - The operator can start speaking as soon as the speech output (what the operator hears) is initiated.

Continuous (End of last Input) - The operator can speak inputs continuously, one after the other. This sync mode implies the creation/use of specific grammar constructions to allow the application to recognize/validate each speech input. See Speech Dialog/Sync Mode.

 

You MUST either select a word list in the "Key Words" option or create a speech grammar sequence in the "Speech Grammar" table (with one or more word lists) to ensure that this control has speech commands associated to it.

 

In terms of speech grammar sequence, each numeric and/or alphabetic word counts as 1 unit. Although words are composed of many letters, each word is considered 1 unit.

 

 

6. Continue to the "Actions" tab and add the necessary processes to handle the speech input received via the current Input Cash control. See Adding an Input Cash Control to a Screen - Actions tab (step 13).

 

Any future editing in the "Speech" tab, requires clicking in the properties window to apply the changes.

 

Remember that the variable that receives the speech input is defined in the control's "General" tab.

 

 

 

App Word Lists with Keys/Key Combinations/Key Codes

 

App Word Lists that associate spoken words to keys/key combinations/key codes can have two main uses:

 

I. To use a specific spoken word and/or a specific key/key combination to trigger an action.

To do this, you must associate a specific spoken word to a specific key/key combination (in an App Word List) and a specific action to that key/key combination (through a "Hotkey" action).

See Example I (Escape Sequence) below.

 

II. To use one or more spoken words to indicate the end of an operator's speech input (initial purpose) and trigger a specific action for each word (additional purpose or redirection).

This implies the creation of a specific App Word List that associates spoken words to the following key codes - "<ENTER>", "<ENTER1>","<ENTER2>", etc., up to "<ENTER9>".

The corresponding default values for these key codes ("EN" for "<ENTER>", "E1" for "<ENTER1>", "E2" for "<ENTER2>" and so on) are stored in the default Local variable "L_Keycode". This variable is associated to another default Local variable - "L_Entry_Type" - which stores the type of input ("VO" for speech input, "KB" for keyboard input and the symbology of a barcode input). The "L_Keycode" variable will only receive data if the entry type is speech input (meaning, with a "VO" value in the "L_Entry_Type" variable).

See Example II (Speech Input Validation and Routing).

 

Click Here for Example I (Escape Sequence)

 

Click Here for Example II (Speech Input Validation and Routing)

 

Click Here for Speech Grammar Example