Thumbnail

Advanced Speech Recognition

This is an alternative to the Bing Speech Recognition module for ARC. This skill is a paid service from Microsoft.

+ How To Add This Control To Your Project (Click to Expand)
  1. Make sure you have the latest version of ARC installed.
  2. Select the Get button in this page to download the archive file.
  3. Double click the downloaded archive file to execute installer.
  4. The installer will add this control to ARC.
  5. Load ARC and press the Project -> Add Control button from the menu.
  6. Choose the Audio category tab.
  7. Press the Advanced Speech Recognition icon to add the control to your project.

Manual

This is an alternative to the Bing Speech Recognition module for ARC. This skill 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've ever used.

Main Window


User-inserted image

1. Connect API Button
Once you have entered the API Key in the advanced configuration you can connect to it with this button.

2. Pause Checkbox
This checkbox pauses the detection from the audio input device. When not in use keep the skill paused so that you aren't using up detection time that you are paying for. 

3. Audio Waveform
This gives visual feedback that your audio input device (microphone) is configured correctly and is picking up voice/sounds.

4. Response Display
Here you will get feedback from the Speech Recognition API. It will show the text version of your detected words.

Configuration


User-inserted image

1. Language
The language that will be used for recognition.

2. Variables
The variable which holds the text from the speech recognizer. This may be used in your Script for determining what was spoken.

3. Script
Script that will execute for every detected phrase. If there is no match for recognition, this script will not be called.

4. Auto Record
If enabled, the skill will begin recording audio when it has been detected. The threshold is adjusted in the Level Threshold setting.

5. 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.

6. Silence Count
How many times the energy volume is below the level threshold before stop recording.

7. Max Recording
Currently not enabled.

How to Use Advanced Speech Recognition Skill


In order to use this skill you will need a Microsoft Azure account and an API 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 skill, 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 skill. You can create an Azure account by clicking here.

1) Add a Cognitive Services resource in your azure portal account.

2) Click add and search for the "Speech" service in the Marketplace. 

3) Create the Speech service and then enter in a name (ex: Test), a subscription (ex: Pay-as-You-Go), Location (ex: West US), pricing tier (ex: Free  0) and create a new resource group (ex: BingSpeechTest).

4) Once your deployment is complete, click the "Go to resource" button.

5) In the left menu select "Keys and Endpoint".

6) Click the "Show Keys" button and then copy the generated key in the KEY 1 field.

7) If you don't remember the location you selected above, you can find the region inside the url of the ENDPOINT field.

User-inserted image



8) Add the Advanced Speech Recognition Skill to your ARC project (Project -> Add Skill -> Audio -> Advanced Speech Recognition).

9) In the Advanced tab of the Advanced Speech Recognition Configuration menu, select the region and paste the API key.

User-inserted image


10) Save your configuration and then start speaking to activate the speech recognition.

*Note: When not in use ensure that the Advanced Speech Recognition skill is PAUSED, as it will be charging your account as it is used. 

Script Samples


Add this code to the configuration of this skill to send detected speech to the PandoraBot control.

Code:

ControlCommand("PandoraBot", SetPhrase, $BingSpeech)

User-inserted image


Video



Here's an example of the skill in action combined with the Cognitive Vision and Cognitive Emotion services.

Requirements


The Advanced Speech Recognition skill 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.

This service requires an internet connection which means that a second USB WiFi adapter or an ethernet connection will be needed. Read about having 2 network connections here.

Resources


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 skill send the detected speech to a PandoraBot skill using ControlCommand(). Here's a sample project: bingsearchtest.EZB

#1  
Let me ask how to add any language pack in the world to ez_builder?
#2  
Hello 

Language selection is no more working ,  I just try to switch to fr-FR and recognition is english one, 



User-inserted image


User-inserted image
#3  
Is this a new version? 11/25/2019?
#4  
ARC Designer Beta
Version 2019.11.22.00

Ang plugin Version 24
Synthiam
#5  
Updated (version 30) to fix errors that popped up when unpausing and pausing the listener
Synthiam
#6  
Updated the plugin to use microsoft's latest library (1.10.0)