United Kingdom
Asked — Edited

Using Bing Speech Recognition With ARC Speech Recognition Control

I've been having a fun evening trying out the cognitive service plugins this evening for the first time, and I have been trying the Bing Speech Rec plugin with the Pandorabot control which works great. But have a question about the Bing Speech Rec plugin.

I started a thread a few months back asking for help with the EZ-Robot Speech Recognition and Pandorabot controls as the both didn't, and still don't work (specifically the speech recognition part) with the laptop I'm using (not an EZ-Robot issue, but an issue with the laptop itself)...

So, similar to the Bing Speech Rec plugin working with the Pandorabot control where it uses the ControlCommand("PandoraBot", SetPhrase, $BingSpeech) variable, I was wondering if there was a way I could use the Bing Speech Rec plugin to communicate with the ARC Speech Recognition control? The idea being...

1.) The ARC speech rec control is populated with phrases and commands already, 2.) I say the phrase through Bing, 3.) That passes to ARC speech Rec control, 4.) The phrase is picked up and the adjoining command is executed.

The recognition part of the Bing plugin works perfectly on my laptop, but the recognition part of the EZ speech rec control does not, but I would still like to use the phrases and commands in the EZ-speech rec control.

Could this be done?

Thanks.


ARC Pro

Upgrade to ARC Pro

Your robot can be more than a simple automated machine with the power of ARC Pro!

PRO
Synthiam
#1  

You’re trying to avoid writing a list of IF conditions for the bing speech script?

United Kingdom
#2  

Hey DJ.

It is an idea I didn’t think of but no , I’m not trying to avoid using if statements. Truth be told, I’m just not sure how to go about writing it, specifically how to script different phrases a person would speak, ie

Move forward Move backward Look left Let’s play a game... etc

It’s a pain in the neck really as it’s a really nice, fast and powerful laptop, it’s just this small thing letting it down.

Btw, the cognitive robot program episodes were a great help. It really is a great a well presented program. Good job. :)

PRO
Synthiam
#3  

This demonstrates how to create IF conditions..

Otherwise, you can create AIML entries using the AIML plugin: https://synthiam.com/redirect/legacy?table=plugin&id=242

Take a look at the update.aiml file in the plugin

United Kingdom
#4  

Thanks for the advice. Just to mention that I am very familiar with the use of IF conditions and have used them many many times for sensor readings, random scripts and much more. It's more of the recognised spoken phrases I'm not sure how to put into a script, (something like IF Heard "Look left" then head turns left).

I will have a look at the AIML plugin, sounds intriguing.

United Kingdom
#5  

DJ, the AIML plugin is a great solution and the plug in is way better than Pandorabot as I always found Pandorabot unstable due to the servers going down regularly, and this is so much better as it's stored locally and uses AIML which I'm familiar with. (I have a small suggestion for you at the end of this post).

I've hadn't used ARC for over a year and only been using it again for a few weeks now, so I've been enjoying looking and trying out the new additions and improvements. I admit that I missed the AIML plugin and this is a great addition. It reminded me about a thread I started about 3 years ago when I suggested an EZ-Chatbot control, EZ-Chatbot thread, and you surely have delivered on that, so I just wanted to offer my personal thanks for your work and implementation of the AIML plug in.

So for anyone else who wants to use Bing Speech recognition with the AIML plugin and is unsure of how to do it, here's a brief description of how to use them together. After adding the Bing Speech Recognition control and AIML plugin to a new ARC project, a small amount of setting up is needed.

Open up the Bing controls config menu, and on the "Script" input field, add the following script...

ControlCommand("AimlBot", SetPhrase,$BingSpeech)

then click "Save".

Now open up the config menu on the AIML control. In the "Response Script" input field, add the following script...

#Speech response through computer
say($BotResponse)

then click "Save".

Now to test it. Click on "Start Recording" on the Bing control, say something, (recording should automatically stop when you stop speaking), then you should hear the AIML response spoken to you through your computer as well as printed on the AIML window. To hear the response through an EZ-B, change the second script to the following...

#Speech response through an EZ-B
sayEZB($BotResponse)

That's all there is to it.

@DJ.

Just a thought for the Bing Speech Recognition control. Would it be a viable idea to add an "enable" s phrase setting when the "Auto Record" is checked so the control can wait for a wake word? Thanks again for the help and for the AIML suggestion. It works great.

PRO
Synthiam
#6  

The bing speech is an online service. It cannot do what you asked for that reason.

You can add the regular speech recognition control to enable to bing speech through a controlCommand()

United Kingdom
#7  

Can't use the regular speech recognition control as outlined in post #1. Not to worry though. It's just a relief to have a speech recognition program I can use. Thanks again.

PRO
Synthiam
#8  

Maybe add a button to start listening. Like a physical button on a wire connected to the ezb that the user can push