Birden Fazla Konuşmacı 2
Tek bir ses dosyasında birden fazla konuşmacıyı ayırt etmeye konuşmacı diyarizasyonu (speaker diarization) denir. Ancak, kullandığımız ücretsiz fonksiyon recognize_google(), farklı konuşmacıları ayrı ayrı yazıya dökme yeteneğine sahip değil.
Ücretli konuşmadan yazıya servisleri kullanmadan bu durumu aşmanın bir yolu, ses dosyalarının tek konuşmacılı olmasını sağlamaktır.
Bu, telefon görüşmesi verileriyle çalışıyorsan arayan ve aranan kişilerin ayrı ayrı kaydedildiğinden emin olman gerektiği anlamına gelir. Böylece her dosyayı tek tek yazıya dökebilirsin.
Bu egzersizde, birden fazla konuşmacı içeren ses dosyamızdaki her bir konuşmacıyı tek tek yazıya dökeceğiz.
Bu egzersiz, kursun bir parçasıdır
Python ile Konuşma Dili İşleme
Egzersiz talimatları
- Farklı konuşmacılar arasında dolaşmak için
speakers'ıenumerate()fonksiyonuna geçir. AudioFilelarıAudioDataya dönüştürmek içinrecognizerüzerinderecord()çağır.- Her bir
speaker_audionesnesini yazıya dökmek içinrecognize_google()kullan.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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"))