Как использовать Google Cloud Speech API в Python

Я изучаю API речи Google Cloud в Python. Я перехожу по этой ссылке. Я также сослался на эту ссылку на stackru. Но я был поражен установкой переменных среды.

Вещи, которые я сделал:

1. Установлен модуль Python gcloud

2. Установлен модуль google-api-python-client

3.Установил учетную запись службы (получен файл JSON)

4. Получил КЛЮЧ API

Я был поражен экспортом переменных среды GOOGLE_APPLICATION_CREDENTIALS и GCLOUD_PROJECT.

Мои сомнения:

1. Должны ли они быть экспортированы с помощью Google Cloud SDK? Если да, то какую роль здесь играет Google Cloud SDK и когда мы должны использовать этот SDK?

2. Так как я не включаю ключ API явно в код, означает ли это, что моя аутентификация автоматически проверяется онлайн? В таком случае, что делает моя функция get_speech_service() в приведенном ниже коде?

Ниже приведен код

import argparse
import base64
import json


import httplib2
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials


if __name__ == '__main__':
   parser = argparse.ArgumentParser()
   parser.add_argument('speech_file',help='This is the path of the audio')
   args = parser.parse_args()
   print args.speech_file
   main(args.speech_file)

def main(speech_file):
    with open(speech_file,'rb') as speech:
         speech_content = base64.b64encode(speech.read())

    service = get_speech_service()
    service_request = service.speech().syncrecognize(
    body={
        'config':{
            'encoding':'LINEAR16',
            'sampleRate':16000,
            'languageCode':'en-US',
            },
        'audio':{
            'content':speech_content.decode('UTF-8')
            }
        })
    response = service_request.execute()
    print(json.dumps(response))
DISCOVERY_URL = ('https://speech.googleapis.com/$discovery/rest?/version=v1beta1')

def get_speech_service():
    credentials = GoogleCredentials.get_application_default().create_scoped(
    ['https://www.googleapis.com/auth/cloud-platform'])
    http = httplib2.Http()
    credentials.authorize(http)
    return    discovery.build('speech','v1beta1',http=http,discoveryServiceUrl=DISCOVERY_URL)

Я много раз гуглял, и я получил упомянутую ссылку на stackru, которая прояснила некоторые вещи. Так как я не ясен с моими вышеуказанными сомнениями, я разместил здесь.

1 ответ

Следующие шаги сработали для меня. Надеюсь, это будет вам полезно.

клон из github следующего репо:

git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git

перейти к папке:

cd python-docs-samples/speech/cloud-client/

Установите pip (уверен, что он у вас уже есть) и virtualenv . выполнить следующие команды:

$ virtualenv env
$ source env/bin/activate

Затем установите из файла require.txt

 pip install -r requirements.txt

определить и экспортировать путь к учетным данным Google (вы уже делаете это).

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_file.json

Начнем с быстрого примера сценария:

python quickstart.py

Вы должны получить следующий вывод:

После этого вы можете исследовать другие сценарии в той же папке, а также попробовать примеры URI для длительного распознавания.

Другие вопросы по тегам