Buatkan saya rancangan untuk ide tugas akhir saya sebagai mahasiswa informatika udayana, ide saya SISTEM REKOMENDASI GENRE MUSIK BERDASARKAN EMOSI, berikan saya metode yang baru untuk ide saya ini, saya menggunakan Music4All-Onion untuk dataset (Music4All-Onion is a large-scale, multi-modal music dataset that expands the Music4All dataset by including 26 additional audio, video, and metadata features for 109,269 music pieces and provides a set of 252,984,396 listening records of 119,140 users, extracted from the online music platform Last.fm .) gunakan metode deep learning kalau ada (semantik/nlp), buat agar tidak sama seperti di internet, boleh sama untuk datasetnya tetapi buat metode yang berbeda. buat sesuai berikut: 
J3. Temu Kembali Informasi Musik
1. Akuisisi dan Pengumpulan Data Musik
Langkah awal dalam MIR adalah mengumpulkan data musik yang dapat berasal dari
berbagai sumber seperti:
• Dataset musik publik:
• GTZAN (untuk genre classification)
• FMA (Free Music Archive)
• Spotify Million Song Dataset
• MagnaTagATune (untuk tagging musik)
• IRMAS (untuk instrument recognition)
• Streaming platform APIs (Spotify, SoundCloud, YouTube)
• Audio recordings yang dikumpulkan secara langsung
Output: Dataset musik dalam format WAV, MP3, atau dataset berbasis fitur (JSON, CSV).
2. Preprocessing Data Musik
a. Audio Processing
• Resampling: Standarisasi sample rate (misalnya 44.1 kHz).
• Channel Conversion: Mengubah stereo menjadi mono.
• Normalization: Menormalkan amplitudo sinyal agar tidak terlalu bervariasi.
• Silence Removal: Menghapus bagian yang tidak mengandung suara signifikan.
b. Segmentation
• Frame-based segmentation: Membagi audio dalam jendela waktu tetap (misalnya 25ms).
• Beat-based segmentation: Menggunakan deteksi beat untuk segmentasi berbasis ritme.
Output: File audio yang telah diproses siap untuk ekstraksi fitur.3. Ekstraksi Fitur (Feature Engineering)
Fitur dalam MIR dapat diekstraksi dari domain waktu dan domain frekuensi.
a. Fitur Domain Waktu
• Zero-Crossing Rate (ZCR): Mengukur seberapa sering sinyal audio melewati nilai nol dalam satu frame
(berguna untuk deteksi transien).
• Root Mean Square (RMS) Energy: Mengukur energi dalam sinyal audio.
• Temporal Envelope: Menangkap dinamika suara sepanjang waktu.
b. Fitur Domain Frekuensi
• Mel-Frequency Cepstral Coefficients (MFCCs): Representasi audio yang sering digunakan dalam genre
classification dan speech recognition.
• Chroma Features: Mewakili distribusi energi frekuensi dalam skala musik (digunakan untuk chord
recognition).
• Spectral Centroid: Mengukur "kecerahan" suara dengan menghitung pusat massa spektrum frekuensi.
• Spectral Flux: Mengukur perubahan spektrum dari waktu ke waktu.
• Tonnetz: Digunakan dalam analisis harmoni untuk mengenali akord dan progresi musik.
4. Pemilihan Model dan Algoritma
Tergantung pada tugas yang dihadapi, beberapa model yang umum digunakan dalam MIR adalah:
a. Genre Classification
Menentukan genre musik berdasarkan fitur yang diekstraksi.
Machine Learning:
• K-Nearest Neighbors (KNN)
• Support Vector Machine (SVM)
• Random Forest
Deep Learning:
• Convolutional Neural Networks (CNN) pada spectrogram
• Recurrent Neural Networks (RNN) untuk menangkap pola temporal
• Transformer-based models seperti MusicBERT
b. Music Recommendation
Merekomendasikan lagu berdasarkan preferensi pengguna.
• Collaborative Filtering
• Content-Based Filtering menggunakan audio feature similarity
• Hybrid Models (menggabungkan metadata dan audio features)
c. Instrument Recognition
Menentukan instrumen yang digunakan dalam musik.
• CNN + Spectrogram
• MFCC + SVM
d. Music Transcription (Automatic Music Transcription - AMT)
Mengubah audio menjadi notasi musik.
• WaveNet (Google DeepMind)
• Onsets and Frames Model (TensorFlow Magenta)
e. Query-by-Example (Audio Search)
Mencari lagu berdasarkan cuplikan suara.
• Dynamic Time Warping (DTW) untuk pencocokan pola temporal.
• Shazam-style fingerprinting menggunakan hashing fitur audio.
Output: Model yang telah dilatih dan siap diuji.
5. Evaluasi Model
Untuk mengevaluasi model MIR, metrik yang digunakan bervariasi tergantung pada tugasnya:
a. Evaluasi Klasifikasi Genre dan Instrument
• Accuracy: Seberapa akurat model memprediksi genre/instrumen.
• Precision, Recall, F1-Score: Untuk mengukur keseimbangan antara prediksi benar dan salah.
• Confusion Matrix: Melihat kesalahan antar kelas genre/instrumen.
b. Evaluasi Sistem Rekomendasi
• Mean Average Precision (MAP)
• Normalized Discounted Cumulative Gain (NDCG)
• Hit Rate
c. Evaluasi Music Transcription
• Symbolic Error Rate (SER): Mengukur kesalahan dalam konversi notasi.
• Frame-wise Accuracy: Mengevaluasi apakah sistem bisa mengenali notasi dengan benar dari frame audio.
Output: Model yang telah dievaluasi dan siap untuk deployment.
6. Deployment dan Integrasi Model
Setelah model diuji dan dievaluasi, tahap selanjutnya adalah mengintegrasikan model ke dalam aplikasi.
a. API Deployment
• FastAPI atau Flask untuk membuat layanan API berbasis model MIR.
• TensorFlow Serving atau TorchServe untuk deploy model berbasis deep learning.
b. Implementasi pada Aplikasi Musik
• Integrasi dengan Spotify API untuk sistem rekomendasi.
• Implementasi pada aplikasi mobile dengan TensorFlow Lite atau ONNX.
• Integrasi dengan game atau software musik digital seperti Ableton Live.
Output: Model yang telah diterapkan dalam aplikasi.