İki ses sinyalinin karşılaştırılması

Başlatan harunoz92, 06 Aralık 2014, 03:56:17

harunoz92

Merhaba,
iki ses sinyalinde konuşulan şeylerin aynı olup olmadığını nasıl kontrol edebilirim ? Örneğin a kişisi elma dedi ve b kişisi de elma dedi . Bu iki kişinin aynı şeyi söyleyip söylemediklerini nasıl bulurum ? Ses sinyalinin hangi özelliklerini çıkarıp karşılaştırmam yeterli olur ? Bu özellikler çıkarılırken hangi algoritmalar en yakın sonuç verir ?
ek : amacım konuşma tanımak değil . Sinyaller üzerinde işlemler yaparak birbirlerine eşitliğini belli eşik değerine göre bulmak .
Şimdiden teşekkür ederim .
Konu doğru yerde mi , doğru forumda mıyım bilmiyorum . Mod arkadaşlar yanlış yerdeyse düzeltsinler lütfen .

barisertekin

Alıntı Yapamacım konuşma tanımak değil

Elma kelimesini tanımak istiyorsunuz yani amaç konuşma tanımak olmuş oluyor.

Bu işi yapan hazır apiler var.

Bkz. http://api.yandex.com.tr/speechkit/

Kendim yapıcam derseniz. Şu sitede güzel anlatımlar vardı diye hatırlıyorum.

http://www.vtunali.com/tr/index.php/2010/12/matlab-ile-ornek-konusma-tanima-uygulamasi-giris/

RaMu

Konuya pek hakim değilim ama
hangi ortamda bunu yapmak istiyorsun burası önemli
misal pc üzerinde matlab kulanarak mı yapacaksın,
pc üzerinde kendi yazdığın bir programmı bu işi yapacak,
bir mcu yu programlayacak ve portatif gömülü bir sistemmi yapacaksın,
bu platformların güçleri ve imkanları çok farklı olduğundan kullanacağın yöntem değişecektir.

Ben sinyal işleme konusuyla alakalı sadece FT (fourier transform) un
FFT (fast fourier transform) olarak pic üzerinde gerçekleştirmeye çabalamıştım,
ufak tefek birşeyler oldu ama sonuca ulaşamadım henüz.
FT plaka tanıma sistemi gibi görüntü tanımadan
bahsettiğin ses tanımaya kadar birçok konuda kullanılıyor.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

harunoz92

#3
@barisertekin öncelikle cevabınız için teşekkür ederim .
elma kelimesini içeren ses dosyasının içinde elma geçip geçmediği benim için önemli değil . Sadece bir başka ses dosyası ile karşılaştırıp bu iki sinyal %x oranında aynı gibi bir sonuç üretmek istiyorum . Bu söylediğim belki bu şekilde mümkün olmayabilir, belki konuşmayı tanıyıp o şekilde karşılaştırma yapmam gerekiyor olabilir . Tam olarak bilmiyorum . Bu konuda da görüşlere açığım .
Hazır api kullanmak istemiyorum, ancak oturup hmm veya fft yi de herhangi bir programlama diliyle kendim programlayacak değilim . :)
Volkan beyin bloguna daha önce baktım, uygulamayı yaptım . Ancak bu uygulamada şöyle bir sıkıntı çıktı . Farklı kişiler aynı şeyi söylediklerinde en yüksek skoru başka bir kelimeye verebiliyor . Amacım konuşmacı bağımsız sadece konuşma içeriklerine göre hareket edecek bir sistem .

@RaMu size de teşekkür ederim .
İlk mesajda söylediğiniz bilgileri vermem gerekirdi . Çalışma ortamı bilgisayar, işletim sistemi Windows/Linux, kullanılacak programlama dili değişkenlik gösterebilir . Matlab ın bu konularda gücünü biliyoruz ama python, ruby, java vs. farketmez . Bir çok programlama dilinin ses işleme ile ilgili modülleri mevcut .

Daha önce konuşma tanıma ile çözmeye çalışırken kullandıklarım,
pocketsphinx
sphinx4
python un farklı modülleri (google speech api ya da windows speech kullandıkları için benim işimi görmüyorlar)

pocketsphinx ingilizce konusunda gayet başarılı ancak maalesef türkçe desteği yok . Bildiğim kadarıyla türkçe desteği için uğraşanlar var .

Konuşma tanıma ile sorunu çözemediğim (şu anlık) için direk sinyaller üzerinden karşılaştırma yaparak çözülebilir mi diye düşündüm ve sizlere sordum . Gelen ve gelecek olan cevaplar için tekrar teşekkür ederim .

robomaster

Audio DiffMaker dan yola çıkın.
2 wav dosya arasındaki farkı buluyor.
Önemli olan başlangıç noktalarının aynı yerden başlaması.
Belki bir fikir verebilir.