Thumbnail

Google Speech Recognition

How To Add This Control To Your Project

  1. Make sure you have the latest version of EZ-Builder installed.
  2. Select the Install button below to download the archive file.
  3. Double click the downloaded archive file to execute installer.
  4. The installer will add this control to EZ-Builder.
  5. Load EZ-Builder and press the Project -> Add Control button from the menu.
  6. Choose the Audio category tab.
  7. Press the Google Speech Recognition icon to add the control to your project.

This plugin is a test for the Google Speech Service with EZ-Builder. There is some configuration necessary for testing this plugin, as the Google Speech Service is paid and not free. There is a 60 day trial, which you can sign up for. This plugin requires internet access, which means the EZ-B v4 will need to be in Client WiFi mode or connected by Serial Cable. Consult the appropriate lessons in the learn section for configuring your EZ-B to client mode.


Use With PandoraBot
If you wish to use this plugin with PandoraBot, you can send the detected speech to the PandoraBot control using the ControlCommand(). For example, you will add both a PandoraBot control and this Google Speech plugin to your project. Here's an example project: testgooglespeech.EZB

Don't forget to PAUSE the PandoraBot control so it doesn't attempt to pickup any audio! We will only be using the Google Speech plugin for audio, so the PandoraBot control can be PAUSED. It will receive speech phrases by the ControlCommand() from the Google Speech Plugin.

Your project would resemble this...
User-inserted image


Now you can edit the Google Speech plugin and add this code which will send the detected speech to the PandoraBot.

Code:


ControlCommand("PandoraBot", SetPhrase, $GoogleSpeech)


The configuration would look like the following image. This will send all received data from the Google Speech plugin to the PandoraBot control.
User-inserted image



Configuring Google Services For Credentials
These instructions provide some assistance. I am not google support line. They have their own support if you need assistance Generating a JSON Service Account Key. I provided some information below.

*Disclaimer: google's web config is an absolute frustrating experience with outdated documentation and hidden menu options... It is easy to get lost. Venture forward at your own risk:)

1) To start, visit https://cloud.google.com/speech/ and select Free Trial
User-inserted image


2) From there, you will need to create credientials
User-inserted image


3) Configure the Google Cloud Speech API when adding credentials
User-inserted image


4) Now create a new credential to get a Service Account Key
User-inserted image


5) Select the Service Account that you had already created earlier and choose JSON
User-inserted image


6) A JSON file will download automatically. This is the file that you will load in this plugin for authentication before it will work. So save it somewhere useful that you can find in the future. Your Downloads Folder is probably not the best place...
User-inserted image


Enable Billing
You will need to enable billing, if you get an error that billing is not enabled. Here is assistance link from google: https://support.google.com/cloud/answer/6293499?hl=en

A credit card is necessary for Google's service. However, they won't charge you after the 60 day trial.
User-inserted image

#1  
Hi,

I am using "Google Speech Recognition" It works fine. But I couldn't find a way to Start and Stop "Recording" from the code. How this can be done programmatically.

It looks like I need to press "Start Recording " / "Stop Recording "  manually.

Is there any way to manage this from the script for "Google Speech Recognition)
Synthiam
#2   — Edited
What does the Cheat Sheet say? I think there's a PAUSE command. Take a look, otherwise I can add something.
United Kingdom
#3  
I get an error in EZB when loading my .json credentials which begins 'please check the value of the environmental variable GOOGLE_APPLICATION_CREDENTIALS' could Google have changed the format of their API key files?
Synthiam
#4  
Sure could have - I’ll take a look