Nelly Yuki
Nelly Yuki

Reputation: 419

Python SpeechRecognition vs. Google Cloud Speech API

I am playing with Google Cloud Speech API. I was wondering if I use the python speech recognition library and call the google cloud speech API, is that still a valid way to use the API? I just want to transcribe the text.

I am confused about the difference between them and if there is any suggested way if I just want to transcribe the audio.

Using Python SpeechRecognition:

import speech_recognition as sr
r = sr.Recognizer()
r.recognize_google_cloud()
harvard = sr.AudioFile('harvard.wav')
with harvard as source:
   audio = r.record(source)
r.recognize_google(audio)

Not using Python SpeechRecognition:

from google.cloud import speech_v1 as speech


def speech_to_text(config, audio):
    client = speech.SpeechClient()
    response = client.recognize(config, audio)
    print_sentences(response)


def print_sentences(response):
    for result in response.results:
        best_alternative = result.alternatives[0]
        transcript = best_alternative.transcript
        confidence = best_alternative.confidence
        print('-' * 80)
        print(f'Transcript: {transcript}')
        print(f'Confidence: {confidence:.0%}')


config = {'language_code': 'en-US'}
audio = {'uri': 'gs://cloud-samples-data/speech/brooklyn_bridge.flac'}

Upvotes: 4

Views: 5313

Answers (2)

IDMT
IDMT

Reputation: 176

Google Cloud Client Libraries are the recommended option for accessing Cloud APIs programmatically:

  • Provide idiomatic, generated or hand-written code in each language, making the Cloud API simple and intuitive to use.
  • Handle all the low-level details of communication with the server, including authenticating with Google.
  • Can be installed using familiar package management tools such as npm and pip.
  • In some cases, give you performance benefits by using gRPC. You can find out more in the gRPC APIs section below.

Also, be aware of the best practices to get better results from the API.

Upvotes: 0

Brendan
Brendan

Reputation: 1060

If you only plan to use Google Cloud Platform for speech recognition, then SpeechClient would be better because that is maintained by Google.

If you want to try out different speech recognition services, speech_recognition would help with that since it is more generic.

Any way of calling the api is fine. The libraries are just to make it easier for you.

Upvotes: 1

Related Questions