VoxCommando
Microphones and Speech Recognition in General => Tips for better speech accuracy => Topic started by: nime5ter on January 04, 2014, 10:20:07 AM
-
SYMPTOM: VoxCommando hears commands that you did not say (i.e., false positives).
Microphone input level may be too high.
- A common mistake is to crank up mic input levels. It is better to try a lower input level first. See this forum post: http://voxcommando.com/forum/index.php?topic=1124.0
Audio speakers too near your microphone, or too much background noise.
- If your microphone is too close to your speakers (and closer to your speakers than to you), this will be a major problem. VoxCommando will constantly be listening to the audio coming from your speakers, and this can lead to false positives. It's best to change your hardware set-up in this case. However, if the scenario is unavoidable, you should at least enable Prefix Mode, in which VoxCommando only tries to understand you if you precede your voice command with a particular word.
- [See also: "Environmental issues" below.]
You're using short/monosyllabic commands
- Any stray sound may be confused for these kinds of "grunt commands". In general, avoid one-word commands. This holds true for your Prefix as well, if you're using Standby/Prefix Mode. Choose a prefix that is unique-sounding and multiple syllables. (Why do you think Amazon chose "Alexa"?).
SYMPTOM: VoxCommando is not recognizing voice commands (i.e., generating the event VC.NotRecognized), or displays very low confidence.
Microphone Issues
Bad quality microphone or badly configured microphone.
- Your microphone input is too loud, too quiet, or uses too much compression (e.g. Bluetooth). See wiki page: http://voxcommando.com/mediawiki/index.php?title=Microphones
- In general, microphones that use your computer's analog input (without preamplification) will require adjustment of the "microphone boost" recording setting. Try different boost levels, but the sound bar in Windows and in VoxCommando should only go to about 20% to 30% at most. ('G' in the Main VC Window image here: http://voxcommando.com/mediawiki/index.php?title=How_to_use_VoxCommando#Understanding_the_main_window_interface)
- Some microphones have a number of settings such as echo cancellation, beam forming, noise suppression etc. While these can sometimes help, in our experience they often cause problems. Start by turning them all off to see if it helps.
Multiple microphones are connected and you are talking into the wrong one.
- VC will use the default Windows input device, or (if specified) the device in Windows advanced speech settings. It's possible to set this advanced speech input value, however, using: VC.SetSpeechInput (http://voxcommando.com/mediawiki/index.php?title=Actions#SetSpeechInput). Switching mic inputs can be complicated; ask for help on the forum if necessary.
Environmental Issues
Too much background noise.
- Try to arrange your microphone so that it hears your voice more than anything else or it will get confused by the other sounds. Best reliability requires that the microphone be located close to your mouth. If you want to use an open-air microphone setup, be prepared to compromise on reliability.
- Find ways to use "ducking," where the system volume (or sound coming out of your stereo speakers etc.) is reduced whenever you speak. There are different ways of accomplishing this. The idea is to use an event to trigger a command that mutes or lowers the speaker output volume when you want to issue a command. This can be done using an Amulet remote, VoxWav, prefix events, a keyboard key press (using the Hook plugin), or a button on your remote (EventGhost). Search the forum for more information.
User Issues
You are not saying commands correctly.
- Use the help menu (http://voxcommando.com/mediawiki/index.php?title=Main_Menu#Help) to view a list of commands available for your current configuration. You need to use the correct phrasing.
- How you speak will make a difference. You should speak clearly, but that does not mean you should talk like a robot. You need a brief silence before you start your command so that the computer can differentiate one command from another. If you start to say one thing, and then change your mind, you must pause before issuing the new command. In user videos, you can see people talking to their audience and immediately issuing a command without pausing first, then wondering why their command isn't recognized. The reason is simply that the speech recognition engine has difficulty recognizing when a command starts unless it is preceded by silence. Watch some of the demo videos and listen to how successful users are issuing commands.
BONUS POINTS if you can explain what James did wrong when trying to issue his voice command in this example: &t=1m10s :biglaugh
You do not have the correct speech language (aka, "speech recognizer culture") selected in Options.
- If you have a British or similar English accent be sure to select "en-GB" instead of "en-US".
- If you have a different English accent--native English or otherwise--not officially supported, try the various options to find the one that is most effective for your particular style of pronunciation. For example, James has a Canadian accent, which works well with the en-US engine. If you have a strong non-native accent you will probably need to lower the "Required Confidence" in Options.
- To use another language (like French, Spanish, German, or Chinese) you must select one of these speech languages, but you must also use a command tree with phrases written in the correct language. Therefore, you will have to choose a configuration designed for that language when installing VoxCommmando, or translate existing English commands into the correct language, or create your own commands in the correct language.
- If you want to use a different speech language, but often need to use English phrases (for example, many song titles are in English), you may have difficulties with those particular commands. You can try:
A) Lowering the "Required Confidence" in Options.
B) Pronouncing the English words as though they are words in your native language (based on how they are spelled--this may take some experimentation).
C) **Not For Beginners**: Install two instances of VoxCommando, and use the English engine with English commands when requesting things like song titles. Run a different instance of VoxCommando using the other speech language for your other commands. To run two instances of VoxCommando, install two VCs in different folders. Create shortcuts for each. For each shortcut, open the properties (right-click the shortcut, then right-click 'VoxCommando', select 'Properties'). At the end of the command line file path,after the quotation marks, add " -new " (dash new). You may also want to use a different prefix for each version (e.g. "Bella" for your German installation and "Scarlett" for the English), so that only one VoxCommando instance is trying to listen to you depending on the language of the command.
Command tree or command grammar issues.
- Remember that command groups can be disabled. Check whether the command you're trying to use is in a group that's currently disabled.
- If you're trying to use a new command or newly edited command: Make sure you've properly saved and exited your tree after editing. Check in the history panel to verify that the necessary grammar rebuild occurred. If not, try restarting the program.
- If all else fails, try purging your cache (under File > Purge Cache) and restarting VC.
-
BONUS POINTS if you can explain what James did wrong when trying to issue his voice command in this example
The command is "I want to learn buttons from my tv", but James said "I want to learn buttons for my tv" ::)
:biglaugh
-
Yes, one of several different things James does wrong is that he uses the wrong phrase(s). One bonus point to Kalle. :clap
But there's more!
-
I'm sure I have done many things wrong... why is everyone picking on me? :biglaugh