Google Speech to Text API не работает для аудиофайлов длиннее одной минуты

Я пытаюсь преобразовать аудиофайл со следующими атрибутами, используя Google Speech to Text API.

1) Необработанный файл 2) Частота дискретизации: 16000 3) Битрейт: 16 4) Тип аудио: моно

Я использую следующий код Python для получения текстового файла

service_request = service.speech().asyncrecognize(
        body={
            'config': {
                'encoding': 'LINEAR16',  # raw 16-bit signed LE samples
                'sampleRate': 16000,  # 16 khz
                'languageCode': 'en-US',  # a BCP-47 language tag
            },
            'audio': {
                'uri':'gs://xxxxxxxxx/english.raw'
                }
            })
    response = service_request.execute()
    print(json.dumps(response))

Эта логика работает хорошо, но по какой-то причине транскрипция возвращает только одну минуту записи и игнорирует остальные.

Почему это происходит, может ли кто-нибудь помочь мне?


person Vivek Jha    schedule 14.01.2017    source источник


Ответы (2)


Трудно сказать по вашему коду, но вы, должно быть, отправляете синхронный запрос. Согласно документам, длина ограничена ~60 секундами. Асинхронные запросы принимаются примерно до 80 минут. Прочтите документы API и справочник, чтобы узнать, как правильно структурировать запросы к API. ты используешь.

person MattDMo    schedule 14.01.2017
comment
Привет, Мэтт, я беспокоился об этом, но я использую метод asyncrecognize для вызова API. Я также жду, пока ответ не будет получен Done, прежде чем публиковать результаты. - person Vivek Jha; 20.01.2017

Мои выводы по этому вопросу следующие

1) Google Speech to Text API создан для распознавания коротких аудиофайлов. 2) Количество «аудиоданных», которые он может обрабатывать за определенное время, ограничено. Протолкните слишком много, и Google проигнорирует это. 3) Если вы действительно хотите разобраться в этом, нужно выяснить, как предварительно обработать ваш аудиофайл и «разделить» аудиофайл на расходуемые фрагменты.

person Vivek Jha    schedule 27.03.2018