VoiceControl

The VoiceControl feature allows you to navigate TouchControl and execute buttons using your voice.  All voice recognition is done locally on the device, so no Internet connectivity is required, and thus no lag time is experienced while waiting for a remote service to recognize your speech and return the results.  Also, no voice learning is required, so VoiceControl can recognize the speech of different users, and can recognize different dialects and accents.  
 
VoiceControl requires TouchControl Server version 9.1 or higher.

VoiceControl is available as an in-app upgrade, found in the “Upgrade” option within TouchControl settings, and you are encouraged to try out VoiceControl before you purchase it.  Turning on VoiceControl before you purchase the upgrade will allow VoiceControl to be active for three minutes at a time, allowing you to test it with your specific configuration (activities and buttons).  After the three-minute time limit, it can then be re-enabled after a brief wait.  Purchasing the upgrade will then remove the three-minute limit, allowing it to remain active at all times.  

 

Please make sure you have done sufficient testing with VoiceControl to ensure that it will work for you in your environment before purchasing the upgrade.  See the notes at the bottom of this page for more information on designing and testing for VoiceControl.

To enable VoiceControl, open settings and tap on the “VoiceControl” option.  The following settings are available:

 

  • Enable VoiceControl – This turns VoiceControl on or off.
     

  • Seconds of silence to detect – This slider sets the length of time after you finish speaking before VoiceControl will recognize the speech and process the results.  The default is 0.7 seconds (seven-tenths of a second).  This setting should work well for the majority of users.  Setting to a lower duration will attempt to recognize the speech faster, but setting too low may start to recognize speech during normal pauses between words.  Setting to a higher duration will ensure that all words are recognized, but may introduce lag between saying a command and TouchControl executing that command.  Sufficient testing should be done at different levels to ensure desired results.
     

  • Background noise sensitivity – This slider adjusts the sensitivity of VoiceControl to background noise in your environment.  A lower setting will “block out” less background noise, and a higher setting will “block out” more background noise.  In a relatively quiet environment, a lower number would be preferable to ensure that all of your commands are easily heard.  In a noisier environment, however, a higher setting may be needed to keep unwanted noise form interfering with your speech.  However, at some point a higher setting will also block out desired speech, so sufficient testing should be done at different levels to find the proper setting for your specific environment.
     

  • Enable LISTEN command – This setting allows you to enable the requirement to say “LISTEN” before saying an actual command.  This is useful if you find that VoiceControl is recognizing unwanted speech and accidentally executing commands at unwanted times.  With this feature enabled, VoiceControl will only process a command if you first say “LISTEN” and then the actual command you wish to execute.  The “Timeout” slider allows you to set the duration of time that VoiceControl will continue to listen for additional commands before you need to say LISTEN again.  The default is four seconds, which would allow you to say LISTEN, and then continue to say commands until VoiceControl “hears” four seconds of silence.  Each time a command is recognized within that timeout window, VoiceControl will reset the timeout, allowing four additional seconds for subsequent commands.

    The default command used is the word “LISTEN”, but you can tap on the word LISTEN in the setting and change the actual word you must speak to something else if you wish.  This would be needed if you have buttons or activities that begin with the word “LISTEN”, as speaking that word will enable VoiceControl, and then discard that word and attempt to recognize any following words as commands.

     

  • Recognize disabled buttons – This setting turns on or off the ability to execute hidden buttons on your layouts.  By default, VoiceControl will only recognize and execute visible buttons found on your activity layouts, but turning this setting on will allow you to say the names of hidden buttons as well.

 

VoiceControl only recognizes words that are part of its currently active “vocabulary”.  While the TouchControl activity home screen is visible, the vocabulary contains the words shown on the location and activity buttons.  While an activity layout is visible, the vocabulary contains the words that correspond to the buttons on your layout.  This greatly reduces the number of words that VoiceControl needs to attempt to process, and speeds up recognition and execution of commands.  In addition to the variable vocabulary generated from locations, activities and buttons, there are a few “built-in” commands that you can speak as well to perform various tasks as follows:

 

  • Say “TOUCHCONTROL REFRESH” at the home screen to refresh the configuration from the server.
     

  • Say “TOUCHCONTROL SERVER” at the home screen to open the server selection view (only available if you have more than one TouchControl server configured).
     

  • Say “TOUCHCONTROL SUSPEND” to temporarily suspend voice recognition.
     

  • Say “TOUCHCONTROL RESUME” to resume voice recognition.
     

  • Say “TOUCHCONTROL WEB” at the home screen to start the embedded TouchControl Web Server.
     

    • Say “START SERVER” to start the Web Server when on the Web Server screen.

    • Say “STOP SERVER” to stop the Web Server when on the Web Server screen.
       

  • Say “TOUCHCONTROL CLOSE” to send the TouchControl app to the background, displaying your device’s home screen.

 

While VoiceControl is enabled, a small indicator “light” will appear in the navigation bar with various colors to indicate the status of VoiceControl.  The following colors/statuses are possible:

 

  • Green – VoiceControl is actively listening for spoken commands.

  • Red – VoiceControl is currently processing recognized speech, or is currently re-loading the available vocabulary.

  • Blue – When the LISTEN command is enabled, this indicates that VoiceControl is waiting to hear the LISTEN command, after which the indicator will turn green.

  • Black – VoiceControl is suspended.

 

You may also tap on the indicator light in the navigation bar to toggle VoiceControl in and out of suspended mode.

 

When in full-screen mode (via the "Full Screen Activities" option in settings), the VoiceControl indicator light will be located in the far upper-right corner of the screen (when in portrait orientation).  To access the indicator to toggle suspended voice mode, use the long-press gesture to briefly display the navigation bar.

 

VoiceControl can execute the following button types found on your activities:

  • IR

  • Command

  • HTTP Request

  • EventTrigger

  • AutoHotKey

  • Global Caché

  • IRTrans

  • Macro

  • Link to Activity

  • Script

  • Link to URL

 

In the TouchControl Server designer (version 9.1 or higher), all of these button types also include a “Voice” field in the button configuration panel (available when creating a new button, or by right-clicking a button and selecting “Edit”).  By default, you must say a button’s name for VoiceControl to recognize and execute it.  However, if you would like to alter the word or words you must speak to execute a given button, you may enter alternate voice text in the “Voice” field.  This replaces the name for VoiceControl (i.e. you cannot say either the name or the voice text simultaneously).  If the button’s name is sufficient, you may leave the “Voice” field empty.

 

IMPORTANT

 

For VoiceControl to be successful, there are a few things that you need to be aware of.  The current implementation of VoiceControl only recognizes English words (although additional languages are hopefully planned for the future).  In addition, when designing your activities, you need to make sure that you don't have buttons with duplicate names (or identical sounding names), as that will make it hard or impossible for VoiceControl to find the correct button.  As noted above you can change the word(s) used to execute a given button by setting its voice text in the server designer, but it may also be hard to remember what word to say to execute a given button if its voice text differs too greatly from the text shown on the screen.

 

Also, you will need a relatively quiet environment for the highest level of success with VoiceControl.  Normal background "white noise" should not greatly impact your use of VoiceControl.  However, speaking voices in close proximity or at a high volume may interfere and result in either poor recognition rates, or false positive recognitions.  Your individual results will vary based on your specific environment, your normal speaking level, and the various VoiceControl settings that are available to you. Please be aware that it may take some time to fine-tune the settings to achieve the greatest level of success.

 

For new users, when TouchControl is in "default configuration mode" (i.e. no server was selected when initially setting up the client), the "VoiceControl" activity is available to help you test VoiceControl and adjust the settings.  This activity mimics a simple TV remote control, and as such the buttons do not actually control anything - they simply log their execution to a scrolling text field at the bottom of the screen, so you can see when you have successfully executed each button using voice.  For existing users, this activity is available from the download page on this web site.

 

© 2019 Touch App Technologies, LLC