Mengenali fungsi matematika dalam lagu

12

Saya baru mengenal DSP, dan baru saja menemukan StackExchange ini, mohon maaf jika ini bukan tempat yang tepat untuk mengirim pertanyaan ini.

Apakah ada sumber daya yang menggambarkan genre dalam istilah yang lebih matematis? Misalnya, jika saya telah melakukan FFT pada sinyal pada bagian lagu ini (2:09 jika tautannya tidak dimulai di sana), apakah ada cara saya dapat mendeteksi bahwa bagian ini memiliki jenis kasar suara? Apakah suara seperti ini mengikuti beberapa fungsi matematika yang dapat saya bandingkan? http://www.youtube.com/watch?v=SFu2DfPDGeU&feature=player_detailpage#t=130s (tautan mulai memutar suara langsung)

Apakah satu-satunya cara untuk menggunakan teknik pembelajaran yang diawasi, atau adakah pendekatan yang berbeda (yang lebih disukai tidak memerlukan pengawasan)?

Terima kasih atas sarannya.

XSL
sumber
Anda bisa menggunakan FFT untuk mendeteksi beat drum vs seruling, tetapi tidak untuk mendeteksi genre. Hal-hal yang sangat lokal tentang suara, tentu saja, tetapi bukan karakter musik total file.
endolith
Apakah mungkin untuk mengenali "kekasaran" suara? Apakah ini tempat MFCC berperan?
XSL

Jawaban:

10

Saya pikir perbedaan yang Anda cari lebih seperti empiris vs teoretis (berlawanan dengan yang diawasi vs yang tidak diawasi), tetapi saya bisa salah tentang itu. Dengan kata lain, hal yang ideal adalah memiliki definisi teoretis dari berbagai genre, bukan hanya sekumpulan data buram yang dapat digunakan untuk mengklasifikasikan lagu [tanpa pemahaman nyata].

Namun, untuk klasifikasi genre umum, Anda mungkin paling tidak terjebak dengan pelatihan dari contoh-contoh, bahkan jika hanya untuk membuat definisi genre di tempat pertama. Sehubungan dengan contoh Anda, pertimbangkan seberapa sering orang akan berdebat [di YouTube] tentang apakah trek yang diberikan benar-benar dubstep (mis. Trek apa pun yang lebih dubby dan kurang goyah , meskipun genre dimulai tanpa goyangan nyata). Orang mendefinisikan genre dari waktu ke waktu melalui contoh, jadi masuk akal untuk mengharapkan bahwa algoritma yang mereplikasi perilaku itu juga akan memerlukan beberapa contoh. Cara orang menggambarkan genre hampir seperti vektor fitur Lagi pula - mereka mengajukan daftar pertanyaan tentang lagu (misalnya Apakah itu lebih breaky atau goyah? Apakah memiliki banyak sub bass? Berapa lama? Berapa tempo? Apakah ada vokal? dll.).

Tentu saja, Anda mungkin dapat memilih daftar fitur yang juga memberikan pemahaman intuitif tentang genre. Fitur seperti "Rentang Dinamis" adalah sesuatu yang dapat dideteksi seseorang dengan telinga, tetapi sesuatu seperti "Sisa Nol Domain" tidak akan sangat intuitif - bahkan jika itu berfungsi dengan baik untuk klasifikasi. Makalah berikut memiliki beberapa fitur yang mungkin menarik bagi Anda:

George Tzanetakis, Perry R. Cook: Klasifikasi genre musik dari sinyal audio. Transaksi IEEE pada Pidato dan Audio Pengolahan 10 (5): 293-302 (2002) Link .

Untuk mengukur kekasaran, kekasaran psikoakustik akan menjadi tempat yang baik untuk memulai, tetapi mungkin tidak cukup untuk membedakan antara sadapan dubstep dan sadapan elektro, misalnya. Untuk perbedaan yang lebih halus, satu hal yang perlu diperhatikan adalah pengenalan timbre . Tesis berikut memiliki survei teknik yang layak:

TH Park, “Menuju pengakuan timbre alat musik otomatis,” Ph.D. disertasi, Universitas Princeton, NJ, 2004. tautan .

Ada juga model yang terkait dengan kekasaran perseptual di Timbre, Tuning, Spectrum, dan Scale yang digunakan untuk membangun skala khusus untuk nada warna acak. Idenya adalah bahwa harmonik yang sangat berdekatan menghasilkan frekuensi beat yang dianggap sebagai disonansi. Mengutip dari Apendiks F dan E ,

Ketika adalah spektrum dengan parsial pada frekuensi , disonansi intrinsik [dengan asumsi satuan amplitudo] adalahf 1 , f 2 , . . . , f nFf1,f2,...,fn

DF=1/2 i=1n j=1n d(|fifj|min(fi,fj))

di mana

d(x)=e3.5xe5.75x

adalah model Kurva Plomp-Levelt .

Ini digunakan untuk mengukur seberapa menyenangkan chord yang diberikan sehubungan dengan timbre (dengan meminimalkan disonansi). Saya tidak tahu apakah kekasaran varietas psychoacoustic, atau disonansi intrinsik akan sangat bermanfaat untuk keperluan Anda sendiri, tetapi mereka mungkin berguna dalam kombinasi dengan metrik lainnya.

Anda mungkin akan lebih beruntung mengklasifikasikan warna nada secara matematis daripada genre. Sebagai contoh, string memiliki harmonik genap dan ganjil, tetapi klarinet hanya memiliki harmonik ganjil (lih. Gelombang gigi gergaji , Gelombang persegi ). Goyangan dubstep cenderung dilakukan dengan filter yang digerakkan LFO (low pass dan / atau formant filter), jadi sesuatu seperti Spectral Flux (lihat [Tzanetakis], di atas) mungkin menjadi titik awal yang baik sebagai fitur. Namun, saya ragu ada yang mempelajari klasifikasi matematika goyangan;)

datageist
sumber
2
Respons yang sangat baik dari datageist. Saya juga menyarankan isophonics.net/QMVampPlugins jika Anda mencari informasi lebih lanjut dan platform pengembang dengan kode sumber
Dan Barry
@Dan Itu terlihat luar biasa, terima kasih untuk tautan itu.
datageist
Saya telah menemukan subjek khusus untuk dipelajari! : D Terima kasih atas jawaban dan tautan yang brilian. Itu menunjuk saya ke arah daripada menggunakan Google tanpa tujuan.
XSL
Senang membantu :)
datageist