İki Ses sinyali arasında benzerlik bulma Fikir alışverişi

Başlatan Mucit23, 12 Şubat 2020, 14:49:39

Mucit23

Selamlar

Bir tane referans ses sinyali olsun. Başka bir ses sinyalini bu sinyal ile karşılaştırıp benzerlik oranını % olarak bulmak istiyorum. Genellikle ses sinyalleri farklı uzunlukta olduğu için zamandan bağımsız "Dynamic Time Warping" gibi vektörel benzerliği bulan algoritmalar kullanılıyor.

Matlab'da bende kendim Dynamic Time Warping'e benzer bir çalışma yaptım aslında. İki ses sinyalinin spectrogram'nı alıp elde ettiğim matrisden iki ayrı ses için iki özellik dizisi çıkardım.  Daha sonra bu iki diziden öklit uzaklık matrisini oluşturup bu matris içerisinde iki köşegen arası en kısa yolu bulmaya çalıştım.

Dynamic Time Warping'deki olay bu aslında


Benim yaptığım uygulamada elde ettiğim çıktı bu şekilde


Kırmızı bölgelerde konuşma yapılmış. Aynı cümleyi söylediğim iki farklı ses kaydını yazdığım algoritmaya vermem sonucu aldığım çıktı. Ortadaki mavi çizgi ise çizdiğim en kısa yol. Buralar da matrisin öklit uzaklıkları en küçük değerleri almış. Aslında konuşma olan yerlerin kırpılması gerekiyor ben onu atladım şimdilik. 

Sorunum şudur. Öyle bir algoritma yazmak istiyorum ki İki ses sinyalini verdiğim zaman bu ses sinyali arasındaki benzerliği yüzde olarak bana versin. Yukarıda bir takım çalışmalar yaptım ama benzerlik konusunda referans bulamadım. Bu konuda değerli fikirlerinize ihtiyacım var. Yani aslında sesli olarak tartışabileceğim fikir alışverişi yapabileceğim birisine ihtiyacım var  :)

Fikir öneri ve görüşlerinizi bekliyorum.


Mucit23

Teşekkürler hocam. Bu konuda bende bir makale buldum bakıyorum
http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf

Aslında yapabilirsem daha basit mantıkla benzerlik bulmak istiyorum. Basitlik önceliğim bu knouda yapılmış bir çalışma varmı bilmiyorum ama bazı arkadaşlar Kolerasyon ile benzerlik bulmaya çalışmış. Şuan ona bakıyorum.