Mehrere Sprecher 2
Das Unterscheiden mehrerer Sprecher in einer Audiodatei nennt man Speaker-Diarization. Allerdings hast du gesehen, dass die kostenlose Funktion, die wir verwenden, recognize_google(), keine unterschiedlichen Sprecher transkribieren kann.
Ein Weg, dies zu umgehen, ohne einen der kostenpflichtigen Speech-to-Text-Dienste zu nutzen, besteht darin, sicherzustellen, dass deine Audiodateien nur einen Sprecher enthalten.
Das heißt: Wenn du mit Telefondaten arbeitest, sorgst du dafür, dass Anrufer und Angerufener getrennt aufgezeichnet werden. Dann kannst du jede Datei einzeln transkribieren.
In dieser Übung transkribieren wir jeden der Sprecher aus unserer Audiodatei mit mehreren Sprechern jeweils separat.
Diese Übung ist Teil des Kurses
Verarbeitung gesprochener Sprache in Python
Anleitung zur Übung
- Übergib
speakersan die Funktionenumerate(), um über die verschiedenen Sprecher zu iterieren. - Rufe
record()aufrecognizerauf, um dieAudioFiles inAudioDataumzuwandeln. - Verwende
recognize_google(), um jedes derspeaker_audio-Objekte zu transkribieren.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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"))