Google Cloud Speech-to-Text API - бесконечное ожидание - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь использовать Google Cloud Speech-to-Text API.

Я преобразовал формат аудиофайла mp3 в .raw, как я понял из документации API, и загрузил его в хранилище.

Вот мой код:

def transcribe_gcs(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()

    # 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))

transcribe_gcs("gs://cloudh3-200314.appspot.com/cs.raw")

Что я делаю не так?

1 Ответ

0 голосов
/ 20 января 2019

Я столкнулся с похожей проблемой, это связано с приемлемым форматом.Даже если вы конвертировали в RAW, все равно может быть что-то не так с форматом, он не выдаст вывод, если не сможет прочитать файл.

Недавно я обработал 56-минутный звук, который занял17 минут, так что это должно дать вам представление о том, как долго это должно быть.

Обработайте ваш файл с помощью sox, я нашел параметры преобразования, которые работают с помощью команды -

sox basefile.mp3 -r 16000 -c 1 newfile.flac
...