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
Instrukcje do ćwiczenia
- Przekaż
speakersdo funkcjienumerate(), aby iterować po kolejnych mówcach. - Wywołaj
record()na obiekcierecognizer, aby przekonwertować obiektyAudioFilenaAudioData. - Użyj funkcji
recognize_google(), aby transkrybować każdy z obiektówspeaker_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"))