Кілька мовців 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"))