Как использовать 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 для длительного распознавания.