2 poin oleh GN⁺ 2024-11-11 | 1 komentar | Bagikan ke WhatsApp
  • Ikhtisar proyek

    • Proyek ini bertujuan membuat program yang mengubah musik menjadi partitur.
    • Ini adalah proyek open source yang memisahkan musik menjadi instrumen penyusunnya tanpa menggunakan library pemisahan instrumen eksternal.
    • Kebutuhan pribadi dan tidak adanya algoritme open source yang sederhana menjadi motivasi proyek ini.
  • Proses persiapan

    • Data instrumen diambil dari basis data University of Iowa Electronic Music Studios.
    • Dari data ini, dihitung transformasi Fourier dari seluruh bentuk gelombang dan envelope bentuk gelombangnya.
  • Cara kerja

    • Bentuk gelombang suara instrumen terutama dicirikan oleh transformasi Fourier dan envelope.
    • Dengan ini, dapat diketahui instrumen mana yang memainkan nada tertentu.
  • Transformasi Fourier

    • Transformasi Fourier pada file musik dilakukan setiap 0,1 detik untuk menghasilkan spektrogram.
    • Transformasi Fourier yang tersimpan untuk tiap instrumen dijumlahkan untuk merekonstruksi transformasi Fourier dari jendela 0,1 detik.
    • Besaran masing-masing instrumen diperoleh melalui turunan parsial terhadap frekuensi dari fungsi biaya MSE.
  • Envelope

    • Envelope adalah garis batas atas dari bentuk gelombang, dan dibutuhkan metode yang tahan terhadap noise serta jenis bentuk gelombang tertentu.
    • Envelope diperoleh dengan membagi bentuk gelombang menjadi beberapa chunk lalu mengambil nilai maksimum dari tiap chunk.
    • Envelope dianalisis dengan membaginya menjadi attack, sustain, dan release.
    • Bentuk gelombang instrumen dapat memiliki peluruhan statis atau dinamis, dan untuk membedakannya dianalisis faktor peluruhan serta laju perubahannya.
  • Berbagai jenis bentuk gelombang

    • Untuk memproses file musik, diterapkan filter band-pass pada frekuensi tiap nada.
    • Untuk setiap instrumen, awal dan akhir tiap nada dicari melalui cross-correlation pada attack dan release, lalu biaya dihitung dengan MSE.
    • Besaran akhir diperoleh dengan mengalikan besaran yang ditemukan pada tahap transformasi Fourier dengan kebalikan dari biayanya.
  • Hasil dan tampilan

    • Partitur ditampilkan menggunakan scatter plot dari matplotlib.
    • Awalnya audio ingin direkonstruksi dari besarannya, tetapi banyak masalah muncul sehingga upaya itu dihentikan.
    • Ini berguna untuk merekonstruksi partitur, dan sangat membantu terutama jika mengalami kesulitan menemukan pitch atau chord.

1 komentar

 
GN⁺ 2024-11-11
Komentar Hacker News
  • Judulnya bisa membingungkan. Proyek ini bukan pemisahan audio, melainkan algoritme deteksi pitch, dan juga mencakup fungsi klasifikasi instrumen
    • Mungkin butuh lebih banyak waktu untuk memperbaiki hasilnya
  • Transkripsi musik otomatis (audio->MIDI) adalah subbidang penting dalam deep learning dan music information retrieval
    • Proyek MT3 milik Google disebut sebagai model yang sukses
    • Untuk transkripsi piano, akurasinya terlihat hampir sempurna bahkan pada audio berkualitas rendah
  • Jika tertarik pada pemisahan audio, RipX layak dilihat
    • Track yang telah dipisahkan bisa diekspor sebagai file MIDI
    • Masih ada beberapa masalah, tetapi berfungsi dengan baik
    • Pemisahan stem kini menjadi standar dalam software musik dan hampir semua DAW menyediakannya
  • Fisika instrumen nyata mungkin tidak dapat ditangkap dengan template transformasi Fourier yang sederhana
    • Trumpet dapat memiliki spektrum harmonik yang berbeda saat dimainkan pelan dan saat dimainkan keras
    • Bergantung pada intensitas instrumen, kandungan harmoniknya bisa berubah besar
    • Menambahkan template Fourier yang bergantung pada intensitas untuk setiap instrumen dapat meningkatkan akurasi
  • Ini mengingatkan pada kenangan bermain Audiosurf 15 tahun lalu
  • Demo video YouTube tampaknya tidak menunjukkan pemisahan sumber
  • Tidak ada yang menyebut bahwa "separation" salah dieja empat kali
  • Beberapa video tampaknya tidak memiliki audio
  • Proyek ini mungkin merupakan karya adik Joshua Bird
    • Joshua Bird sendiri sudah mengerjakan proyek yang mengesankan
  • Saya tidak dapat menemukan source code-nya, tetapi proyeknya terlihat menarik