НачатьНачать бесплатно

Несколько говорящих 2

Определение отдельных говорящих в одном аудиофайле называется диаризацией. Однако функция recognize_google(), которую мы использовали до сих пор, не поддерживает транскрибирование разных говорящих.

Один из способов обойти это ограничение без использования платных сервисов распознавания речи — убедиться, что каждый аудиофайл содержит запись только одного говорящего.

Например, при работе с данными телефонных звонков можно записывать звонящего и получателя раздельно, а затем транскрибировать каждый файл отдельно.

В этом упражнении мы по очереди транскрибируем каждого из говорящих из нашего аудиофайла с несколькими говорящими.

Это упражнение является частью курса

Обработка устной речи на Python

Посмотреть курс

Инструкции к упражнению

  • Передайте speakers в функцию enumerate(), чтобы перебрать всех говорящих в цикле.
  • Вызовите record() на объекте recognizer, чтобы преобразовать объекты AudioFile в AudioData.
  • Используйте recognize_google() для транскрибирования каждого объекта speaker_audio.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

recognizer = sr.Recognizer()

# Multiple speakers on different files
speakers = [sr.AudioFile("speaker_0.wav"), 
            sr.AudioFile("speaker_1.wav"), 
            sr.AudioFile("speaker_2.wav")]

# Transcribe each speaker individually
for i, speaker in enumerate(____):
    with speaker as source:
        speaker_audio = recognizer.____(source)
    print(f"Text from speaker {i}:")
    print(recognizer.____(____,
         				  language="en-US"))
Редактировать и запускать код