Google Cloud语音转文本AP

时间:2018-05-27 17:11:27

标签: python-2.7 speech google-speech-api

我正在使用Google Cloud语音转文本AP并尝试转录长音频文件。但是无法检测到来自存储桶的音频文件。 我收到一条错误说明:IOError:[Errno 2]没有这样的文件或目录:

def transcribe_gcs(gcs_uri):

time(gcs_uri)

"""Asynchronously transcribes the audio file specified by the gcs_uri."""
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types
client = speech.SpeechClient()

audio = types.RecognitionAudio(uri=gcs_uri)
config = types.RecognitionConfig(
    encoding=enums.RecognitionConfig.AudioEncoding.FLAC,
    sample_rate_hertz=16000,
    language_code='en-US')

operation = client.long_running_recognize(config, audio)

print('Waiting for operation to complete...')
response = operation.result(timeout=90)

# Each result is for a consecutive portion of the audio. Iterate through
# them to get the transcripts for the entire audio file.
for result in response.results:
    # The first alternative is the most likely one for this portion.
    print(u'Transcript: {}'.format(result.alternatives[0].transcript))
    print('Confidence: {}'.format(result.alternatives[0].confidence))

1 个答案:

答案 0 :(得分:0)

尝试一下

import requests
import json

url = "https://speech.googleapis.com/v1/speech:longrunningrecognize?key=<apiaccesskey>"


payload = {"config": {"encoding": "LINEAR16","sample_rate_hertz": 8000,
                     "language_code": "en-IN"},
                     "audio": {"uri": "gs://bucketname/file.flac"}}

r = requests.post(url, data=json.dumps(payload))

json_resp = r.json()
token_resp=json_resp['name']

url = "https://speech.googleapis.com/v1/operations/" + str(token_resp) + 
      "?key=<apiacesskey>"

content_response = requests.get(url)
content_json = content_response.json()

您的响应位于content_json变量中。