Saturday, March 07, 2015

Deteksi Multi Pitch Berdasarkan Jumlahan Harmonik

Pitch merupakan persepsi telinga manusia atas frekuensi dasar (suara). Deteksi maupun estimasi pitch banyak dipelajari dan digunakan untuk beberapa aplikasi seperti pemisahan suara, pengenalan suara atau untuk tuning alat musik.

Output progam
Berdasarkan paper Ansi Klapuri pada tahun 2006, estimasi multi-pitch ini dapat didekati dengan jumlahan harmonik. Pendekatan ini secara konseptual "sangat simpel" dan efisien secara komputasi. Ide dasarnya adalah dengan menghitung saliance, strength atau power dari kandidat F0 sebagai jumlah bobot amplitudo harmonik-harmoniknya. Pemetaan dari spektrum Fourrier menjadi "F0 salience spectrum"  didapatkan dari optimisasi data training.

Saliance dapat dihitung dari jumlah bobot amplutido dari harmonik sebagai berikut,

dimana f adalah frekuensi harmonik ke-n, dan g adalah bobot parsial harmonik m dari periode tau.

Metode

Metode deteksi dan estimasi multipitch ini pada dasarnya dapat dibagi menjadi dua bagian. Bagian pertama adalah spectral whitening dan kedua adalah perhitungan fungsi saliance. Spektral whitening ada pre-processing yang dilakukan untuk memaksa sinyal menjadi "flat" secara spektral. Teknik ini digunakan untuk menghilangkan informasi timbral.

Pada prakteknya menghitung saliance dari permsamaan satu di atas sangat sulit. Untuk memudahkan digunakan fungsi max Y dengan mengambil bagian diskretnya sebagai berikut,

Tampilan output dari algoritma Klapuri seperti tampak pada gambar pertama di atas. Selain menampilkan plot dari waveform dan frekuensi, pada command window Matlab, nilai frekuesi fundamental (F0) juga ditampilkan. Teknik ini cukup akurat untuk frekuensi suara 100 - 1700 Hz.

Repo kode Matlab dapat di akses pada link berikut,
https://bitbucket.org/bagustris/pitchdet/src

Sedangkan paper asli dari Ansi Klapuri yang diterbitkan pada 2006 dapat diakses pada link berikut,
http://www.cs.tut.fi/sgn/arg/klap/klap2006ismir.pdf
Related Posts Plugin for WordPress, Blogger...