Matriks Faktor Non-Negatif bertujuan untuk memfaktisasi matriks ke dalam produk dari dua matriks, , di mana mewakili seperangkat vektor basis dan aktivasi atau bobotnya. Diterapkan pada pemisahan sumber audio, \ mathbf V adalah spektrogram (yang diketahui oleh kami), dan \ mathbf W adalah basis spektrum non-negatif, \ mathbf H adalah aktivasi temporal mereka.
Ini sepertinya saya dapat mengekspresikan spektogram sebagai jumlah dari nampan frekuensi yang berbeda dan besarnya - yang akan membantu untuk menyaring atau memisahkan pitch yang berbeda (tampaknya melakukan pekerjaan filter band-pass normal?). Saya tidak mengerti bagaimana ini akan benar-benar memisahkan, katakanlah, piano dan penyanyi menyanyikan nada yang sama atau serupa.
audio
source-separation
Samyukta Ramnath
sumber
sumber
Jawaban:
Ingat bahwa kolom dapat dianggap sebagai vektor "basis" (atau elemen kamus - blok penyusun sinyal apa pun) dan elemen di setiap kolom dalam memberikan bobot yang sesuai (yang bervariasi dari waktu ke waktu). Ini memungkinkan kita untuk menguraikan spektrogram berdasarkan tidak hanya komponen frekuensi tetapi juga informasi awal temporal; jadi itu lebih dari apa yang bandpass filter atau filter sisir sederhana akan lakukan.W H
Factisasi matriks non-negatif dari spektogram tidak akan secara ajaib memisahkan piano dan penyanyi bernyanyi dalam nada yang sama. Namun itu memberikan perkiraan yang berguna dalam hal jumlah vektor basis tertimbang yang (mudah-mudahan) dapat dibagi menjadi kontribusi dari sumber yang berbeda karena tidak mungkin bagi setiap sumber untuk menempati persis tempat frekuensi yang sama pada saat yang bersamaan.
Lebih konkret, mari menjadi , menjadi dan menjadi . Jadi kami memiliki tempat frekuensi , sampel waktu dan komponen teruraiJika adalah kolom dari dan adalah baris dari kita dapat menulis:V M×N W M×K H K×N M N K wi W hi H
Pada kenyataannya, kita mungkin akan berakhir dengan dekomposisi yang tidak pernah mencapai pemisahan ini dengan tepat. Artinya, akan ada yang memiliki kontribusi dari penyanyi dan piano sehingga sulit untuk memisahkan keduanya.wi
Berikut ini adalah notebook Python yang menunjukkan prosedur ini untuk campuran drum dan gitar: http://nbviewer.jupyter.org/gist/ingle/93de575aac6a4c7fe9ee5f3d5adab98f (Atau jika itu tidak berhasil, di sini: https://gist.github.com / ingle / 93de575aac6a4c7fe9ee5f3d5adab98f )
Perhatikan bahwa algoritma NMF hanya menghasilkan dekomposisi. Itu tidak dapat memilih himpunan bagian dari sesuai dengan masing-masing sumber. Dalam contoh Python, ada langkah manual untuk mencari tahu yang mana paling mirip dengan gitar v / s drum. Orang mungkin dapat mengotomatiskan langkah ini dengan mencatat bahwa vektor drum memiliki lebih banyak barang dalam frekuensi yang lebih rendah.{wi} wi wi
Menganalisis setiap kolom (bingkai) spektogram menggunakan bank filter bandpass adalah cara lain untuk menguraikan spektogram tersebut. Namun, perhatikan bahwa dekomposisi yang dihasilkan oleh NMF adalah peringkat rendah yaitu pelit. Dalam contoh Python, itu jauh lebih mudah untuk secara manual memilih himpunan bagian dari 16 kolom sesuai dengan dua sumber. Dengan setumpuk bandpass filter, kami harus memutar lebih banyak tombol (# filter, lokasi pass-band untuk setiap frame) dan jumlah kombinasi parameter dapat tumbuh dengan sangat cepat.W
Referensi:
https://ccrma.stanford.edu/~njb/teaching/sstutorial/part2.pdf
http://musicinformationretrieval.com/nmf.html
sumber
Tujuan: perkiraan yang baik untuk memisahkan satu penyanyi dari satu piano. Sekarang beberapa pemikiran tentang persyaratan untuk pemisahan yang akurat dari sumber suara yang diberikan itu tidak mungkin untuk memiliki SEMUA informasi input yang diperlukan untuk melakukan pemisahan yang akurat (mungkin "vektor basis" Anda):
- untuk setiap volume setiap nada piano yang dihasilkan distribusi frekuensi disampling dari waktu ke waktu (karena serangan kemudian memudar). - untuk setiap nada X volume X fonem penyanyi menyuarakan distribusi frekuensi (dan variasinya dengan berbagai tingkat vibrato). - untuk semua hal di atas, efek reverb harus dipertimbangkan. - lirik lagu (untuk mencocokkan fonem penyanyi)
Ada juga batasan waktu-domain seperti setiap not piano harus dimulai dengan serangan, dan efek dari pedal piano bertahan (tiba-tiba peredam simultan dekat nada yang "berdering" meskipun tombol yang sesuai telah dirilis)
Mengingat hal di atas pencarian adalah untuk jumlah "paling pas" dari satu set spektrum nada piano dan satu spektrum volume nada fonem tunggal penyanyi untuk memperkirakan suara yang dihasilkan.
sumber