Speech Recognition

+ How To Add This Control To Your Project (Click to Expand)
  1. Load the most recent release of ARC.
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Control from the button ribbon bar in ARC.
  4. Choose the Audio category tab.
  5. Press the Speech Recognition icon to add the control to your project.
This skill uses your computer's default audio input device and listens for known phrases using the Microsoft Windows Speech Recognition Engine. Phrases are manually configured in the Settings menu, and custom actions (via script) are assigned to your phrases.

Most robots make a lot of noise, so locating the audio input device on a robot is not a practical solution. It is best to locate the microphone on the controlling PC/Laptop, on yourself, or somewhere in the room (away from the robot). Turning the gain higher on the input device will allow voices to be recognized from across large rooms but will also increase false positives. Test with different gains for the best resolution. Experiment with different microphone locations and volumes for the best setup of your environment. Ideally, use a headset or Bluetooth mic rather than your laptop microphone.

Main Window

1. Pause Button
This button pauses the detection from the audio input device. No configured commands will be executed while the skill is paused.

2. Phrase List Button
Displays the phrases that have been configured in the Settings menu to be available for detection. Here's the default phrase list:

3. Audio Waveform
This gives visual feedback that your audio input device (microphone) is configured correctly and is picking up voice/sounds.

4. Response Display
This will display feedback from the Speech Recognition skill. It will show the detected text from the phrase list or actions that have been executed in the skill.


1. Confidence Drop-down
This drop-down is the minimum percentage of confidence that the computer detects from your voice. Any detected phrases with less confidence will be ignored. If it seems that your voice isn't being detected very well decrease the confidence value. When a phrase is detected a confidence value will appear in brackets beside the phrase in the Response Display. *Note: Adjusting the confidence to a lower value can produce false positives.

2. Setup Microphone Button
This button is a shortcut to the properties of your installed audio input devices. Verify that your device is working by watching the soundbar for movement when you speak into that device.

3. Recognition Scripts
These scripts will execute every time a phrase is detected at the set confidence level or higher (All recognized) and when a phrase is detected with low confidence.

4. Enable/Disable Phrase Fields
These fields will setup the phrases to be detected to Pause/Unpause speech detection.

5. Enable/Disable Command Scripts
These scripts will execute when the Enable/Disable phrases are detected.

6. Language Drop-down
ARC uses the Microsoft Speech Recognition included with Windows. All languages supported by Windows Speech Recognition are also supported in ARC. You can configure Windows to listen to any language. ARC will default to EN-US (English) language if installed. Otherwise, ARC will default to the first installed language. If more than one language is installed, a language may be selected with this drop-down.

*Note 1: This feature is only available from Windows 7 and newer (7, 8, 8.1, 10, etc.). For a detailed description of what errors your computer is receiving during Speech Recognition Init, open the DEBUG window under Utilities. Microsoft has provided assistance to configure speech recognition here.

*Note 2: Languages support by speech recognition depend on the Microsoft Windows operating system configuration. View the Microsoft speech recognition guide here to view supported languages.

7. Confidence Variable
This variable holds the value of the confidence percentage (in decimal format) of the last recognized phrase.

8. Phrase Variable
This variable holds the recognized phrase.

9. Phrase List
This is a list of default phrases with the ability to customize and add more phrases.

10. Command List
This is a list of default commands, corresponding to the phrases in the same row, with the ability to customize and add more commands.

11. List Management Buttons
These buttons manage the rows of phrases. They move the rows up and down, insert them, add more to the bottom, and delete them.

How to Use Speech Recongition

1) Install, configure and test your audio input device (see instructions below).

2) Add the Speech Recognition Skill to your ARC project (Project -> Add Skill -> Audio -> Speech Recognition). *Note: Not to be confused with Advanced Speech Recognition.

3) In the Settings menu, setup the scripts, phrases, and commands you'd like to use.

4) Save your Settings and then speak your phrases into the audio input device to activate speech recognition.


Headset or External Mic

Using a headset or external mic will produce dramatically better results compared to the internal PC/Laptop mic. Using a headset or mic will enable the recognition engine to "hear" your voice much clearer with less background noise. The background noise of the laptop, motors, radio, and room echo will cause the recognition software to return False Positives. This means the software recognizes an incorrect phrase. An external mic will also prevent the recognition software from hearing the robot speak. In short, it is important to use a Mic Headset or external Mic for a positive Speech Recognition experience.


Configure Audio Input Device

You might have to adjust the microphone input volume/gain. To adjust the mic volume use the Microsoft Windows volume mixer, and first, make sure you have selected the correct input device. Your laptop or computer may have a few different mic devices. Maybe one is on a remote camera. Find the mic you'd like to use and adjust the volume. To find the volume settings that are ideal on your computer, follow these steps:

1) Right-click on the little speaker on your system tray

2) Select "Open Sound Settings"

3) In the "Input" section of the Sound Settings, you'll notice a little VU meter beside the active device. Make sure your active device is indeed the microphone you want to use. By making sounds, the VU meter should move.

4) Click on the "Device Properties" and locate the volume slider for the microphone. We usually have our volume set for 78. Play around with different volumes until you see your voice is being picked up by the VU meter. Adjust the volume input level/gain to display your voice's regular volume near the middle of the VU Display graph. If the level/gain is too high, the recognition software will not work because the input audio will be distorted.

Voice Training
You may train your computer for speech recognition by using the training wizard. Find the training wizard under Speech Recognition within the Windows Control Panel.


Related Content

Speech Recognition Say It Didn't Understand You

Speech Recognition Say It Didn't Understand You

The speech recognition uses a confidence level to determine if it understood your verbal command. This tutorial...
Synbot Plugin Tutorial - Interface To Syn Bot Software

Synbot Plugin Tutorial - Interface To Syn Bot Software

How To install bot software, EZ builder Synbot plugin and example SIML project files
Speech Recognition Tutorial

Speech Recognition Tutorial

Speech recognition is becoming a very popular way to control robots. This tutorial will explain the EZ-Builder speech...
Randomizing Answers In Speech Recognition

Randomizing Answers In Speech Recognition

Want to make your robot respond more naturally and not the same thing every time? Here's how to make it answer...

Update Problem?

was using EZ-B release 2019.03.17.00 JD responded to verbal commands in movements and talking back. then I updated to 2019.05.08.00 That is all I...
Brazilian Speech Recognition

Brazilian Speech Recognition

Good afternoon everyone, I would like to know how do I work the command of Voice in Portuguese,? I've tried everything...

Speech Recognition - Pause Not Working

Howdy When my voice recognition is paused it still activates. The sound wave is red and pause check box is grey. I have an enable phase as well, but...

Chatbot And Speech Recogniton

how can I hook up the free speech recognition to PandoraBot?

Adding Phrases, How Many?

So I got a weird issue, maybe. Its related to the Speech Recongnition tool, for EZB and I could not find an answer to this.  I have been adding...
live hack
"Robot Learn A New Object"

"Robot Learn A New Object"

I'll be using the camera and speech recognition to instruct the robot to learn a new object. I'll demonstrate how new...
Speech Recognition Screen Popping Up.

Speech Recognition Screen Popping Up.

So I have been tinkering with speech recognition and enjoying it. Recently after a speech interaction completes I get...
Vision Training: Object Recognition

Vision Training: Object Recognition

Learn how to program a robot to learn and memorize an object.
#1   — Edited
All is good now, always did work, just windows going it's thing, oh well
Speech recognition uses the built-in microsoft speech recognition engine. There is nothing synthiam can do to enhance or change the engine, as it's not opensource and owned by Microsoft. Follow the instructions above
All is good now

just did the old windows reboot, now works
#4   — Edited
Hi there,

Sometimes when I open ARC, my speech recognition box doesn't detect the soundwaves. It shows the soundwave box as grey and not the red and green lines, even when I have connected the program with my microphone. 

The person I am working with came to the conclusion that it might be because I didn't start with the JD Bare file when I opened the project. He has been starting with the JD Bare project every time we open the program and merging it with the previously saved program, rather than opening the saved program directly because of this issue with the speech recognition. But I thought it was inconvenient to do that and that surely I should be able to open previously saved projects and have them work.

I have run out of ideas. Any suggestions on how to fix this are much appreciated.
Can you verify the speech recognition skill that you’re using is the bing speech recognition? Or just speech recognition?
General speech recognition, not bing.
Okay - I’ll see if I can reproduce it. Stay tuned
Thanks, DJ:)

This is what the Speech Recognition window looks like for me sometimes when I open my previously saved programs. Notice how the soundwaves cannot be seen up the top right? I'm baffled!

User-inserted image
#9   — Edited
I am not trying to interfere between you and DJ (he knows the best) but it looks like to me you don't have a  mic setup.

If you are using Windows 10:

Did you check your windows program and make sure it is setup like the information above?

Also check your in windows, Resources - Configure Audio Input Device

in Control Panel\All Control Panel Items - there is sound item for you to adjust to the correct levels (playback and recording)

Make sure, in the "sound item" you microphone is "enabled" in "recording"

I did the test, disabled it and it looked your your example above,

then "restart ARC"  - I enabled the mic in sound, all good in speech recognition. ( you can do this also in the speech recognition, setup mic)

Do you have an icon in the system tray that shows the mic being used?

windows controls what apps can use the mic and shows when it’s in use.
Thankfully, it's not ARC that cancels. It's the speech recognition script I am running. When the pause button on the speech recognition tab is not activated, background noise is still able to be picked up by the software and in some cases, the "robot stop" command is accidentally triggered causing my voice recognition program script to terminate before it has completed its run.

At the time this snapshot below was taken, I was not talking at all, yet as you can see, for some reason, robot stop was still detected. I have been avoiding this by clicking the pause button and that way the background noise isn't detected.

User-inserted image
#12   — Edited
Yes - that’s a challenge with speech recognition across the world:)

are you using a lapel style mic as described in the speech recognition manual?

a Microphone that listens to the entire room is going to have a very very very very difficult time understanding noise vs commands. There’s no consciousness that can relate the current activity to what noises to focus on in a computer vs animal life. We take for granted the number of things our brain does to focus on particular events around us and filter out things that don’t matter to the current situation. 

you can help A robot focus by limiting the sensory input. In this case using a microphone that has shorter range such as a lapel or Bluetooth headset etc

also, if you weren’t talking and stuff is being picked up - looks like the mic volume might be cranked because you’re attempting to use a laptop microphone 

this conversation should be in the correct thread, not soundboard. This should be in the speech recognition skill for proper categorization. I moved it for you