Více mluvčích 2
Rozlišování více mluvčích v jednom zvukovém souboru se označuje jako diarizace. Funkce recognize_google(), kterou jsme zatím používali, ale různé mluvčí bohužel nedokáže rozlišit.
Jednou z možností, jak se bez placených služeb pro převod řeči na text obejít, je zajistit, aby každý zvukový soubor obsahoval hlas pouze jednoho mluvčího.
Pokud bys například pracoval/a s nahrávkami telefonních hovorů, nahrával/a bys volajícího a příjemce zvlášť – a každý soubor bys pak mohl/a přepsat samostatně.
V tomto cvičení přepíšeme každého mluvčího z našeho zvukového souboru s více mluvčími zvlášť.
Toto cvičení je součástí kurzu
Zpracování mluveného jazyka v Pythonu
Pokyny k cvičení
- Předej
speakersfunkcienumerate()a procházej jednotlivé mluvčí ve smyčce. - Zavolej
record()na objekturecognizer, aby se souboryAudioFilepřevedly naAudioData. - Pomocí
recognize_google()přepiš každý objektspeaker_audio.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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"))