ПочатиПочніть безкоштовно

Кілька мовців 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"))
Редагувати та запускати код