India
Asked

Can You Add Wake Word And Microphone Setup In Advanced Speech Recongnition Skill

User-inserted image

 Can you please add these options in Advanced Speech recognition skill. Auto wake word, Phrase - commands, record length and it is good sometimes it triggers itself by saying something so while speaking how to turn off listening. in mycase im using Bing speech Recognition with openAi Chatgpt Skill, since speech to text conversation takes 7-10secs to send the data as a request to OpenAI Chatgpt. to reduce it i prefered to use advanced speech recognition with my own api but im unable to use wake word option and other options given in bing speech recognition.


ARC Pro

Upgrade to ARC Pro

ARC Pro will give you immediate updates and new features needed to unleash your robot's potential!

#1   — Edited

To use a wakeword with advanced speech recognition, add the "Speech Recognition" robot skill, and specify a phrase to use the ControlCommand() to start listening.

  1. add advanced speech recognition robot skill

  2. add speech recognition robot skill

  3. press configure speech recognition robot skill to open the menu

  4. add a new phrase with your wakeword as the phrase. For the script, use JavaScript and add a ControlCommand() such as...

ControlCommand("Advanced Speech Recognition", "StartListening");

Because you may be using different robot skill names, use the ControlCommand() cheatsheet to identify the names of your skills. Reference the ControlCommand manual to learn how the control commands work: https://synthiam.com/Support/Programming/control-command

Also, thank you for writing complete sentences in this post. Keep up the good work by typing descriptive sentences and paragraphs thumbs up

PRO
Synthiam
#2   — Edited

There's another thread from a few days ago with someone struggling a bit with fluent talk to their robot as well. The reasons that I mentioned are that wake words are very useful but somewhat annoying in a conversation. When you see the robots on TV like Sophia, they have a microphone the user holds to their mouth. That microphone has a button pressed and held, like a walkie-talkie radio. Press and hold the button while speaking, and let go when released; currently, with all world technology, that is the ideal solution for a proper conversation with a robot.

If you attempt to use a wake word for conversation, it won't feel very natural. A wake word is good for Alexa, Siri, or Google Home to say, "Alexa, turn on a light." But it is not good for conversation. The microphone with a button is good for conversation.

Here is a sample script for the button on the microphone.

while (true) {

   // Wait for d0 to become true (press mic button)
   print("Waiting for button press");
   Digital.wait(d0, true);
   
  // Start recording with Bing speech recognition
   print("Start listening");
  ControlCommand("Bing Speech Recognition", "StartListening");
  
  // Wait for d0 to become false (release mic button)
   print("Wait for button release");
  Digital.wait(d0, false);
  
  // Stop recording and let Bing speech process the audio
   print("Stopped listening");
  ControlCommand("Bing Speech Recognition", "StopListening");
}

Also note that when you compare with Siri, Google Home, or Alexa, they have custom-built microphone hardware with analog filters for specific human voice frequencies. A generic microphone that you purchase from Amazon will have a wide frequency response for guitars, birds, human voices, and other sounds/noises. Having a microphone specific to the human voice range will be necessary.

Lastly, if you want a fluent conversation with no wake word and no switch on the microphone, you will have issues with background noise. It is best to use a switch on the microphone.