PWM Slider icon PWM Slider — Slider to set EZ-B digital PWM for motor speed or LED brightness; shows duty-cycle, stop button, and board/port selection. Try it →
Asked
Resolved Resolved by Athena!
Bing Speech Recognition Wake-Word Pause Issue

Bing Speech Recognition Wake-Word Pause Issue

I have a question about the ARC robot skill "Bing Speech Recognition".

I am using the Bing Speech Recognition skill with wake-word enabled. The wake word works correctly and the skill plays the wake-word ding. After that, it starts listening and normally sends the recognized phrase to my script via the $BingSpeech variable.

I want to prevent the robot from hearing its own spoken replies, so I tried using this ControlCommand during or after the robot’s response:

controlCommand("Bing Speech Recognition", "PauseListening");

I also tested similar listener control commands such as StopListening.

After PauseListening or StopListening is called from a script, the Bing Speech Recognition skill no longer works correctly with the wake word. The wake word still appears to trigger (the ding plays), but the skill gets stuck at "sending data" and never completes recognition or runs the recognized-speech script.

Manual operation still works. If I manually press Start Recording, speak a phrase, and then press Stop Recording, recognition works and my script runs correctly. The issue only appears after using the listener control commands from a script.

For troubleshooting, I replaced my recognized-speech script with a simple print of $BingSpeech, and that works correctly. I also removed the PauseListening / StopListening control commands from my script, and wake-word recognition works again.

So it appears that calling PauseListening or StopListening from a script may leave the Bing Speech Recognition wake-word flow in a bad state.

My question: Is PauseListening intended to be safe to call from a script while using wake-word mode? If so, is there a recommended way to pause Bing Speech Recognition during the robot’s speech and then safely resume it afterward?

Environment:

  • ARC on Windows (PC-connected)
  • Robot Skill: Bing Speech Recognition
  • Wake-word enabled
  • Recognized text variable: $BingSpeech
  • Script invoked from the Bing Speech Recognition recognized-speech script


Related Hardware (view all EZB hardware)
EZ-B V4 by EZ-Robot
EZ-B v4 with Synthiam ARCx controls servos, sensors, camera and audio over Wi-Fi or USB serial, no firmware needed.
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skill (view all robot skills)
Offline Windows speech recognition with open dictionary, confidence filtering, and scriptable phrase actions for ARC robots

ARC Pro

Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

#9   — Edited

A fix has been added to the next release of ARC, which will prevent the "sending data" hang. A fix has also been added to the pause unpause for using the Say commands toward any speech recognition robot skills.