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
Python ile Konuşma Dili İşleme
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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"))