Farklı türde seslerle çalışmak

Python ile Konuşma Dili İşleme

Daniel Bourke

Machine Learning Engineer/YouTube Creator

Hangi dil?

# Bir tanıyıcı sınıfı oluştur
recognizer = sr.Recognizer()

# Japonca sesi recognize_google'a geçir text = recognizer.recognize_google(japanese_good_morning, language="en-US")
# Metni yazdır print(text)
Ohio gozaimasu
Python ile Konuşma Dili İşleme

Hangi dil?

# Bir tanıyıcı sınıfı oluştur
recognizer = sr.Recognizer()

# Japonca sesi recognize_google'a geçir text = recognizer.recognize_google(japanese_good_morning, language="ja")
# Metni yazdır print(text)
おはようございます
Python ile Konuşma Dili İşleme

Konuşma dışı ses

# Parşalı leopar kükremesi ses dosyasını içe aktar
leopard_roar = sr.AudioFile("leopard_roar.wav")

# AudioFile'ı AudioData'ya dönüştür with leopard_roar as source: leopard_roar_audio = recognizer.record(source)
# AudioData'yı tanı recognizer.recognize_google(leopard_roar_audio)
UnknownValueError:
Python ile Konuşma Dili İşleme

Konuşma dışı ses

# Leopar kükremesi ses dosyasını içe aktar
leopard_roar = sr.AudioFile("leopard_roar.wav")

# AudioFile'ı AudioData'ya dönüştür with leopard_roar as source: leopard_roar_audio = recognizer.record(source)
# show_all açıkken AudioData'yı tanı recognizer.recognize_google(leopard_roar_audio, show_all=True)
[]
Python ile Konuşma Dili İşleme

Hepsini gösterme

# show_all=True ile Japonca sesi tanıma
text = recognizer.recognize_google(japanese_good_morning, 
                                   language="en-US",
                                   show_all=True)
# Metni yazdır
print(text)
{'alternative': [{'transcript': 'Ohio gozaimasu', 'confidence': 0.89041114},
  {'transcript': 'all hail gozaimasu'},
  {'transcript': 'ohayo gozaimasu'},
  {'transcript': 'olho gozaimasu'},
  {'transcript': 'all Hale gozaimasu'}],
 'final': True}
Python ile Konuşma Dili İşleme

Birden çok konuşmacı

# Birden çok konuşmacılı ses dosyasını içe aktar
multiple_speakers = sr.AudioFile("multiple-speakers.wav")

# AudioFile'ı AudioData'ya dönüştür with multiple_speakers as source: multiple_speakers_audio = recognizer.record(source)
# AudioData'yı tanı recognizer.recognize_google(multiple_speakers_audio)
speech recognition kitaplığının sınırlamalarından biri, farklı konuşmacıları ve
sesleri ayırt edememesidir; hepsini tek bir metin bloğu olarak döndürür
Python ile Konuşma Dili İşleme

Birden çok konuşmacı

# Ses dosyalarını ayrı ayrı içe aktar
speakers = [sr.AudioFile("s0.wav"), sr.AudioFile("s1.wav"), sr.AudioFile("s2.wav")]

# Her konuşmacıyı ayrı ayrı yazıya dök for i, speaker in enumerate(speakers): with speaker as source: speaker_audio = recognizer.record(source) print(f"Konuşmacı {i} metni: {recognizer.recognize_google(speaker_audio)}")
Konuşmacı 0 metni: speech recognition kitaplığının sınırlamalarından biri
Konuşmacı 1 metni: farklı konuşmacıları ve sesleri ayırt edememesidir
Konuşmacı 2 metni: hepsini tek bir metin bloğu olarak döndürür
Python ile Konuşma Dili İşleme

Gürültülü ses

  • Eğer sen konuşmayı zor duyuyorsan, API'ler de zorlanır
# Arka plan gürültülü ses dosyasını içe aktar
noisy_support_call = sr.AudioFile("noisy_support_call.wav")

with noisy_support_call as source: # Ortam gürültüsüne göre ayarla ve kaydet recognizer.adjust_for_ambient_noise(source, duration=0.5) noisy_support_call_audio = recognizer.record(source)
# Sesi tanı recognizer.recognize_google(noisy_support_call_audio)
hello ID like to get some help setting up my calories
Python ile Konuşma Dili İşleme

Hadi pratik yapalım!

Python ile Konuşma Dili İşleme

Preparing Video For Download...