Use the Microsoft Bing Speech Recognition cloud service
+ How To Add This Control To Your Project (Click to Expand)
- Make sure you have the latest version of ARC installed.
- Select the Get button in this page to download the archive file.
- Double click the downloaded archive file to execute installer.
- The installer will add this control to ARC.
- Load ARC and press the Project -> Add Control button from the menu.
- Choose the Audio category tab.
- Press the Advanced Speech Recognition icon to add the control to your project.
This is an alternative to the Bing Speech Recognition module for ARC. This allows you to specify your own Azure Cognitive Service credentials. Using the Bing Speech Recognition cloud service, this is by far the most accurate speech recognition service that we have ever used.
*Note: this is the Advanced Bing Speech Recognition plugin, which requires you to pay for an API key from Microsoft. We provide another version of this which does not require an API key, and you can install it from here.
Here is the plugin in action combined with the Cognitive Vision and Cognitive Emotion services.
This service requires an internet connection. That means your EZ-B will need to be put into Wi-Fi Client Mode. Consult the appropiate learn tutorial for changing the EZ-B to Wi-Fi Client Mode or add a second USB WiFi adapter from here: http://www.ez-robot.com/Tutorials/Course/5
Get AZURE Key
There are many steps to create an Azure key, which isn't very easy for the average person. That is why we made a free version available here. However, if you wish to unlock the full functionality of this plugin, you can create an azure account. The azure account allows you to create a Bing Speech Recognition service. Locate the Region and API key to use in the Advanced tab of this plugin. You can create an Azure account by clicking here.
1) Create a Cognitive Services resource in your azure portal account
2) Select the region when creating the service (west, east, west2, etc)
3) Once created, you can view the resource. The two values you require is the API key and the Region. The API Key is easily to identify because it's labelled Key #1. However, the Region has to be determined by reading the URL of the END POINT. In the example below, it is WEST2.
Script - Script that will execute for every detected phrase. If there is no match for recognition, this script will not be called.
Variable - The variable which holds the text from the speech recognizer. This may be used in your Script for determining what was spoken.
Language - The language that will be used for recognition.
Auto Record - If enabled, the plugin will begin recording audio when it has been detected. The threshold is adjusted in the Level Threshold setting.
Level Threshold - This is the threshold to be used for both Auto Recording (if enabled) and when to stop recording. If you find that even in manual mode the recording manually stops too quick before your sentence is complete, lower this value.
Silence Count - How many times the energy volume is below the level threshold before stop recording.
Max Recording - Currently not enabled.
Connecting To PandoraBot
When this control detects a phrase, it will be assigned to the variable and the specified script will execute. With this model, you can have this plugin send the detected speech to a PandoraBot control using ControlCommand().
Here is a sample project: bingsearchtest.EZB
Your project would be configured with a PandoraBot control and this plugin. It would look like this...
*Note: Ensure the PandoraBot control is PAUSED so that it does not attempt to listen to speech. This is because we will be using this Bing Speech plugin for detecting speech and passing the detected speech to the PandoraBot using ControlCommand()
Add this code to the configuration of this plugin to send detected speech to the PandoraBot control.
ControlCommand("PandoraBot", SetPhrase, $BingSpeech)