Диаризация Google Cloud Speaker не работает с некоторыми файлами - PullRequest
0 голосов
/ 17 февраля 2019

Я использую API преобразования речи в текст в облаке Google с включенной диаризацией, см. Пример по ссылке ниже:

https://cloud.google.com/speech-to-text/docs/multiple-voices#enabling_speaker_diarization_in_a_request

Обратите внимание, что я использую этотФункция для вызова API:

def transcribe_audio(uri):
    print(f'transcribing {uri}...')
    client = speech.SpeechClient()
    audio = speech.types.RecognitionAudio(uri=uri)
    config = speech.types.RecognitionConfig(
        encoding=speech.enums.RecognitionConfig.AudioEncoding.FLAC,
        language_code='en-US',
        enable_speaker_diarization=True,
        diarization_speaker_count=2)
    response = client.long_running_recognize(config, audio)
    return list(response.result().results)

При синтаксическом анализе выходных данных метки динамиков должны появляться в последнем элементе списка результатов.Я подтвердил это одним аудиофайлом, но когда я пытаюсь запустить его с другими аудиофайлами, в результате нет меток динамиков.Фактически, когда я попробовал API с другими файлами, последний результат в списке результатов не содержит стенограмму всего файла, а просто сегмент. Мой вопрос: почему это происходит и как я могу это исправить?

Обратите внимание, что мои файлы представляют собой большие (~ 1 ГБ) файлы flac, которые содержат несколько часов аудио.Также важно отметить, что все они подготовлены с использованием одного и того же сценария предварительной обработки, и неясно, каким образом они могут отличаться, чтобы получить разные результаты от API (то есть тот факт, что некоторые получают метки докладчиков, а другие нет).

...