Python ile Konuşma Tanıma Uygulamaları Geliştirmek (2)

Geçen yazımızda (Python ile Konuşma Tanıma Uygulamaları Geliştirmek (1)) yaptığımız basit konuşma tanımasında daha önce kaydettiğimiz, ses dosyalarını test ediyorduk. Bu sefer doğrudan mikrofondan gelen inputu, yazıya çevireceğiz.

Mikrofondan ses kaydetmek için, pyaudio kütüphanesini kullanacağız. Kaydettiğimiz audio inputunda belirli bir eşiği geçtiğinde, geçen kısımla birlikte 800 ms saniyelik kısmı alıp işleyerek, testOnlineData methoduna göndererek sonucu elde edeceğiz. Bunun için audioop paketinde bulunan rms (root mean square) metodunu kullanıyoruz.

Program daha verimli çalışacak şekilde yazılabilir. Örneğin thread kullanabiliriz. Sessiz olan kısımları çıkarıp, sesin başlayıp bittiği noktaları ayırarak daha kısa bir sample üzerinden testlerimizi yapabiliriz. Ses sample’ı böyle ayırarak yaptığımda yani baştaki sessiz kısmı silerek yaptığımda tanıma başarısı düşük oluyor. Çünkü Sessizlik (silence)’ı ayrı bir model olarak değerlendirmek gerekiyor. Training kısmında böyle yapmadığım için, ses dosyalarının başında ve sonunda belirli bir miktar sessizlik olması gerekiyordu.

onlinemic.py programını yazalım:

cmd.exe’i çalıştıralım. C:\speech dizinine geçerek python programımızı çalıştırabiliriz (Python’un path içerisinde tanımlı olması gerekiyor):

Birden ona kadar olan sayıları mikrofondan söylediğimizde, bize rakamları yazıyla dönecektir.

onlinemic

1 thought on “Python ile Konuşma Tanıma Uygulamaları Geliştirmek (2)”

  1. Pingback: Python ile Konuşma Tanıma Uygulamaları Geliştirmek (1) - Yazılım Mekanı

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir