Несколько говорящих 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"))