Flera talare 2
Att urskilja flera talare i en och samma ljudfil kallas talarsegmentering (speaker diarization). Som du har sett saknar den kostnadsfria funktionen recognize_google() möjlighet att transkribera olika talare separat.
Ett sätt att lösa detta – utan att använda en betald tal-till-text-tjänst – är att se till att varje ljudfil bara innehåller en talare.
Om du till exempel arbetar med telefonsamtalsdata bör du se till att den som ringer och den som svarar spelas in i separata filer. Då kan du transkribera varje fil för sig.
I den här övningen transkriberar du varje talare i vår ljudfil med flera talare individuellt.
Den här övningen är en del av kursen
Taligenkänning i Python
Övningsinstruktioner
- Skicka
speakerstill funktionenenumerate()för att loopa igenom de olika talarna. - Anropa
record()pårecognizerför att konverteraAudioFile-objekten tillAudioData. - Använd
recognize_google()för att transkribera vart och ett avspeaker_audio-objekten.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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"))