Voice Commands
How does it work?
ControlMyJoystick’s voice control uses Microsoft’s built-in Speech Recognition to recognize your words spoken through a microphone. Once a valid word or phrase is recognized, you can have ControlMyJoystick run a macro that can sends keyboard, joystick or mouse commands to a game. For example, you could have a voice command of ‘Landing Gear’ that, when spoken, causes the landing gear to deploy in-game.
What kind of microphone do I need?
Use a good quality microphone. The microphone you would use for in-game voice chat would work just fine.
How do I prevent normal conversations from triggering a voice command?
You can specify a voice command prefix. For example, you can set the prefix to ‘computer’ or a word of your choice and then when you wanted to activate the landing gear, you could say ‘Computer Landing Gear’.
You can also set the the ‘threshold’ setting in the Voice Configuration screen to make it more accurate. A threshold of zero reduces recognition accuracy, while a threshold of 94 is the maximum accuracy, although the max useful threshold will vary, depending on the microphone, voice characteristics and language. So start at zero and experiment with higher values until you get the max accuracy.
In the Voice Configuration screen, you can set a 3Dconnexion controller button to enable/disable recognition for when you know that you do not want recognition active.
How can I achieve the highest voice recognition accuracy?
You need to go through the Microsoft Speech Recognition setup and training. This critical step is needed to ensure the best accuracy. After a while, it will get more and more accurate as you use it more.
Do I need to use voice commands?
ControlMyJoystick is really meant to be used with voice commands, and optionally a 3Dconnexion controller or joystick. You can use voice commands to bind the 3Dconnexion controller in most games, and you can also bind by using the Output/Joystick menu.
How to Configure Voice Commands
- Get a good microphone – A good quality microphone will always give better speech recognition results. That said, I have used some cheap-ish smartphone earbuds with a built-in microphone on the cord, and it worked pretty well. So give the microphone you already have a good try before going out and buying a new one. I personally use the earbud mic since headphones with a boom microphone is too hot in the warm days.
- Configure your mic in Windows – Go to the Windows control panel and find where you configure the microphone. Try to get it working as good as possible.
- Configure Microsoft Speech Recognition – You have to do this. If you don’t, your words and phrases won’t be consistently recognized. Once the mic is configured, the speech recognition wizard will walk you through a bunch of sentences to speak. As you speak, Windows is learning your speech patterns and nuances. It takes about 10-15 minutes to do this. It is worth doing the whole thing twice as it gets better each time.
- Enable Voice Commands ControlMyJoystick – By default, voice commands are disabled. Go to the Input menu, and select the Voice menu item. it will open up the Voice Configuration screen as shown below:
- Microphone – Select the microphone you want to use. You will need to restart ControlMyJoystick after selecting a different Microphone.
- Language – Select the speech recognition language to use. This needs to be the same language that you have trained your Windows Speech Recognition to recognize.
- Threshold – Determines how much recognition accuracy is required before causing a voice match. A value of zero is very loose so variations on the phrase will cause false positives. The max usable value is 94 in English, but this can vary depending on the language spoken and clarity of speech and accents etc. So if you have too many false positives or it is not recognizing anything at all, start at zero and test it. Increase the threshold until you find a value that works well for your language/accent/microphone combination.
- Set to Default – Sets the Threshold to 70, which should work for most languages.
- Enable – Check this box to allow ControlMyJoystick to access Windows Speech Recognition. You will need to restart ControlMyJoystick for this setting to take effect.
- Beep on Success – Check this box and a short beep will be played after each voice command that matches one of the voice commands you have configured. If a word or phrase spoken is not part of your setup, it will not beep. This is useful in games when you wonder ‘did the computer get that last command I just spoke?’.
- Disable Setup Commands – There are some built-in voice commands that can be set up in the Commands tab. These are used to bind axis and buttons. All voice commands, including these setup commands are listed in the Voice panel in the sidebar. If you uncheck this box, the setup commands won’t be listed, reducing the list length and making it look a bit cleaner.
- Test Mode – Check this box to see for when you want to test the voice, but don’t want any voice triggers to run any macro’s. Some macro’s can be complex and do a lot of things, so it can be a hassle if they are always running as you test the triggering commands for the macro. This setting is for all macro’s.
- Prefix – Enter a word here that you must speak before the actual voice command. If you wanted to turn on the landing lights, and you have a voice trigger with the voice command ‘Lights’, the trigger will fire anytime speech recognition hears the word lights. You could be saying, for example, ‘I love light beer.’ and suddenly your ship lights turn on because the voice trigger ran the macro. You can avoid this by using a single prefix word. In this example, we have set the prefix to ‘computer’, so you would need to say ‘computer lights’ for the trigger to fire and the macro to run. You can use any word here that you like, so have fun.
- Mute – This is a 3Dconnexion controller button that you can use to toggle the recognition on and off. This is useful if you don’t want your regular talking to accidentally trigger any macros.
- Set – Brings up the screen where you can set which button(s) to use to mute recognition.
- Commands tab – You can use these voice commands to bind and the output/joystick axis or button. You just select the axis or button, then speak the command. You can also bind without voice, by using the output/joystick menu.
Testing the Voice Commands
- Create a macro that has a voice trigger and simple script (like a pause). See the Script help above for more information on setting up a voice trigger.
- Open the Voice panel in the sidebar. This show’s the microphone volume as well as a list of available voice commands. When you speak a valid voice command, the corresponding command in the list will become highlighted.
- Open the Log panel in the sidebar. Any valid voice commands will be logged. Invalid voice words or phrases will not be logged.
- Speak the command and see if it fires the macro.