These examples demo accessing the Google Cloud Speech API in streaming mode (via its gRPC API) and in non-streaming mode (via its REST API).
If you have not already done so, enable the Google Cloud Speech API for your project. You must be whitelisted to do this.
The example uses a service account for OAuth2 authentication. So next, set up to authenticate with the Speech API using your project's service account credentials.
Visit the Cloud Console, and navigate to:
API Manager > Credentials > Create credentials > Service account key > New service account
.
Create a new service account, and download the json credentials file.
Then, set
the GOOGLE_APPLICATION_CREDENTIALS
environment variable to point to your
downloaded service account credentials before running this example:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/credentials-key.json
If you do not do this, the REST api will return a 403. The streaming sample will just sort of hang silently.
See the Cloud Platform Auth Guide for more information.
-
If you're running the
speech_rest.py
sample:$ pip install -r requirements-speech_rest.txt
-
If you're running the
speech_streaming.py
sample:$ pip install -r requirements-speech_grpc.txt
The sample uses the PyAudio library to stream audio from your computer's microphone. PyAudio depends on PortAudio, which may need to be compiled when you install PyAudio. If you run into compilation issues that mention PortAudio, you may have to install some dependencies.
-
To run the
speech_rest.py
sample:$ python speech_rest.py resources/audio.raw
You should see a response with the transcription result.
-
To run the
speech_streaming.py
sample:$ python speech_streaming.py
The sample will run in a continuous loop, printing the data and metadata it receives from the Speech API, which includes alternative transcriptions of what it hears, and a confidence score. Say "exit" to exit the loop.
Note that the
speech_streaming.py
sample does not yet support python 3, as the upstreamgrpcio
library's support is not yet complete.