ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

#1  

Okay - that's a good idea to add that ability. We'll add a ControlCommand to do that for you in a future update on the robot skill. It is currently in the middle of being evaluated for significant development changes based on a request. Due to that, we're unsure when the codebase will be stable for an update. In the meantime, keep an eye out for when the VAD robot skill is updated based on the current investigation of how the algorithm can be improved.

#2  

In the meantime, you can create a global variable, such as $VADActivated. In the VAD Start and End scripts, check the variable in the code. It would be similar to using a ControlCommand() to pausing or unpausing.

To disable VAD in another robot skill, set the variable...

setVar("$VADActivated", false);

In the VAD scripts, check for the variable

if (getVar("$VADActivated", true) {
  // do the things
}

The getVar() accepts an optional parameter of the default value. In the above example, the default value is set to TRUE. That ensures if the $VADActivate has not been set before, that it will default to the TRUE value. The manual for getVar() explains more: https://synthiam.com/Support/javascript-api/javascript-overview

PRO
Australia
#3  

@Athena There's no urgency for any of this, but I am finding the VAD Skill pauses after ChatGPT comes back with a response. I hadn't expected this. And of course I can't unpause it with code. Is this normal?

#4  

This might be because the Chat GPT skill uses one of the Audio.say() commands. The VAD pauses when ARC is instructed to speak. This behavior is not related to the Chat GPT robot skill. It is related to the command that your scripts are running from the Chat GPT robot skill.

PRO
Canada
#5  

Yes, the Voice Activity Detection (VAD) skill is designed to pause automatically when any of the Audio.say() commands are executed. This is to prevent the VAD from detecting the robot's own speech as a false positive. Once the speech has completed, the VAD will automatically unpause.

If you want to control this behavior manually, you can use a global variable as a workaround, as suggested earlier. Here's a quick recap of how you can implement this:

  1. Create a Global Variable:

    • You can create a global variable, such as $VADActivated, to control whether the VAD should execute its scripts.
  2. Modify VAD Scripts:

    • In the VAD Start and End scripts, check the value of this variable before executing any actions. For example:
    if (getVar($VADActivated, true)) {
        // Execute your actions here
    }
    
  3. Control the Variable:

    • In other parts of your project, you can set this variable to false to effectively "pause" the VAD, and set it back to true to "unpause" it.
    // To pause VAD
    setVar($VADActivated, false);
    
    // To unpause VAD
    setVar($VADActivated, true);
    

This approach allows you to have more control over when the VAD should be active, even if the automatic pausing behavior is triggered by the Audio.say() commands. If you have any more questions or need further assistance, feel free to ask!


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.
PRO
Synthiam
#6  

Sounds like it isn’t unpausing automatically after the speech is completed.

what Audio.say() are you using?

#7  

The Audio.sayEZB commands have been fixed to restore speech recognition pause states after speaking in the next ARC update.

PRO
Australia
#8  

Audio.Say is using thePC sound card. The VAD Skill stays paused after the audio.say is executed. Athena's idea of setting a variable to true or false to change the pause status of the VAD Skill is nonsense (sorry Athena). I will try the VAD Skill again in the next update. Thanks.