Wavefront icon Wavefront Wavefront grid planner computes collision-free, deterministic paths from start to goal using known occupancy maps for indoor robots. Try it →
Asked

Why Does Speech Recognition Pickup Background Nois…

One thing I still don't understand: whenever I have the "Speak Rec" robot skill operating, it picks up background noise and causes some of my Auto Position stills to activate on their own. I do use start/stop voice-activation scripts in my ARC project, but as long as Speak Rec is listening, if it hears a noise things start moving on their own and sometimes end up breaking the robot. Why does this happen?

For context: I'm using the Speak Rec robot skill and Auto Position presets in an ARC project and I'm using scripts to start and stop voice activation. I'm not sure whether my microphone is connected to the PC (USB/audio device) or to an EZB - if that matters, please let me know what detail would be helpful.



Related Hardware (view all EZB hardware)
EZ-B V4 by EZ-Robot
EZ-B v4/2 robot controller: dual Cortex ARM, Wi-Fi, audio/video, 24 servo/digital ports, I2C/UART, camera and Synthiam ARC control for custom robots
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skills (view all robot skills)
Windows Speech Recognition skill: detect custom phrases via PC mic, trigger configurable scripts/actions with adjustable confidence.
Create servo frames and actions to animate gaits and gestures with automatic motion planning, software ramping, movement panel, import/export

ARC Pro

Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#1  

This usually happens because the Speech Recognition skill is hearing ambient noise as if it were a valid phrase, and then it runs the command tied to that phrase. If one of those phrases is mapped to an Auto Position action or frame, ARC will execute it immediately.

A few important points:

Why it happens

  • Speech Recognition is always listening when enabled.
  • It does not know the difference between your voice and other sounds unless Windows speech recognition is confident enough and your phrase list is set up well.
  • If the noise is similar to a configured phrase, or if your confidence threshold is too low, it can trigger a command.
  • If that command activates an Auto Position frame/action, the robot can move unexpectedly.

What to check first

1) Confidence setting

Open the Speech Recognition skill’s kebab/hamburger menu and go to Config.
Look for the Confidence setting.

  • Try increasing the confidence threshold so only clearer matches are accepted.
  • If you already lowered it to improve recognition, that can make false triggers more likely.

2) Phrase list

Review the phrases in the skill.

  • Remove any phrases that sound too similar to common background sounds or to each other.
  • Avoid very short phrases like "go", "stop", "left", etc. if the environment is noisy.
  • Use more unique phrases like "robot move left" instead of just "left".

3) Microphone placement

This matters a lot.

  • A PC microphone often works better for voice recognition if it’s placed near you and away from the robot.
  • If the microphone is on the robot/EZ-B, it may hear the robot’s own motors, servos, speaker, or room noise.
  • Background noise and servo sound can easily cause false triggers.

If you’re using an EZ-B speaker for responses, that can also cause the microphone to hear ARC talking back and accidentally re-trigger commands.

Best practices to stop unwanted Auto Position triggers

Use a "listening mode"

Instead of leaving Speech Recognition fully active all the time, use a script to:

  • enable it only when you want to speak
  • disable it after the command is recognized

That way the robot is not always listening to ambient noise.

Make your voice commands more specific

For example:

  • "robot wave"
  • "robot sit down"
  • "robot stop moving"

instead of:

  • "wave"
  • "sit"
  • "stop"

Separate movement commands from speech commands

If possible, keep movement-related actions behind a second confirmation or a safer trigger.

For example:

  • Voice command 1: "robot prepare"
  • Voice command 2: "execute"

That can reduce accidental movement.

Where to configure it in ARC

In the Speech Recognition skill:

  1. Open the skill’s three-line/hamburger menu
  2. Choose Config
  3. Adjust:
    • Confidence
    • phrase list
    • any start/stop scripts
  4. Save the config

Microphone detail that would help

Yes, this detail matters:

  • Is the microphone a USB mic connected to the PC?
  • Or is it coming from an EZ-B audio input / speaker setup?
  • Is ARC using Windows Speech Recognition on the PC mic, or are you using a speech skill that routes through the EZ-B?

If you tell me:

  1. which Speech Recognition skill you’re using exactly,
  2. where the mic is connected, and
  3. one or two example phrases that are triggering Auto Position,

I can help you tune it so it stops reacting to background noise.

If you'd like, I can also help you redesign the script so the robot only listens during a short "voice window" and ignores everything else.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.