Zacznij terazZacznij za darmo

Wielu mówców 2

Rozróżnianie wielu mówców w jednym pliku audio nazywa się diaryzacją mówców. Jak już wiesz, funkcja recognize_google(), z której korzystaliśmy bezpłatnie, nie obsługuje transkrypcji różnych mówców.

Jednym ze sposobów na obejście tego ograniczenia – bez sięgania po płatne usługi zamiany mowy na tekst – jest zadbanie o to, by każdy plik audio zawierał głos tylko jednej osoby.

Jeśli na przykład pracujesz z nagraniami rozmów telefonicznych, upewnij się, że głosy rozmówców są nagrywane osobno. Dzięki temu możesz transkrybować każdy plik indywidualnie.

W tym ćwiczeniu przepiszesz na tekst wypowiedzi każdego z mówców z pliku audio z wieloma mówcami – osobno dla każdej osoby.

To ćwiczenie jest częścią kursu

Przetwarzanie mowy w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Przekaż speakers do funkcji enumerate(), aby iterować po kolejnych mówcach.
  • Wywołaj record() na obiekcie recognizer, aby przekonwertować obiekty AudioFile na AudioData.
  • Użyj funkcji recognize_google(), aby transkrybować każdy z obiektów speaker_audio.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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"))
Edytuj i uruchom kod