Indah Putriani Lahagu
MeloDetect dirancang untuk mengidentifikasi judul lagu dari potongan lirik yang diingat pengguna, baik melalui input ketikan teks maupun rekaman suara secara real time. Dengan memanfaatkan teknologi Natural Language Processing (NLP), aplikasi ini mengubah lirik menjadi vektor numerik menggunakan metode TF-IDF dan mengukur kemiripan dengan algoritma Cosine Similarity untuk menemukan lagu yang paling cocok. Untuk input suara, model Whisper digunakan untuk mentranskripsi nyanyian menjadi teks sebelum diproses. Selain fitur pencarian utama, MeloDetect juga menyediakan sistem rekomendasi lagu serupa, fitur eksplorasi musik berdasarkan mood atau artis, serta dashboard visualisasi data, yang semuanya disajikan dalam antarmuka interaktif yang dibangun dengan Streamlit.
MeloDetect adalah aplikasi berbasis Artificial Intelligence yang mampu mengidentifikasi judul dan artis lagu hanya dari potongan lirik teks maupun suara pengguna.
Proyek ini mengimplementasikan metode TF-IDF (Term Frequency–Inverse Document Frequency) dan Cosine Similarity untuk menghitung tingkat kemiripan antar lirik dalam dataset. Aplikasi ini juga dilengkapi dengan dashboard analitik menggunakan Streamlit, yang menampilkan visualisasi distribusi mood lagu, word cloud, serta fitur rekomendasi lagu serupa berdasarkan kemiripan konten lirik.
=========================================================== Fitur Utama =======================================================
1. Pencarian Lagu Multi-Modal: Ini adalah fungsi inti aplikasi, memungkinkan pengguna menemukan lagu dengan dua cara yang fleksibel:
2. Rekomendasi Lagu Berbasis Konten: Setelah sebuah lagu berhasil diidentifikasi, aplikasi tidak berhenti di situ. Sistem secara otomatis memberikan rekomendasi lagu-lagu lain yang memiliki kemiripan lirik tertinggi, membantu pengguna menemukan musik baru yang sejenis.
3. Eksplorasi Musik Terkurasi: Fitur ini memungkinkan pengguna menjelajahi koleksi lagu berdasarkan kategori tertentu:
4. Dashboard Visualisasi Data: Memberikan wawasan tentang dataset musik yang digunakan melalui visualisasi yang informatif:
=================================================== Teknologi yang Digunakan ================================================
========================================================= Tahapan Proyek =====================================================
1. Pengumpulan dan Persiapan Data
Langkah awal adalah mengumpulkan dataset lirik lagu. Dataset diperoleh dari platform Kaggle, yang berisi kumpulan lagu dengan atribut seperti judul, artis, lirik lengkap, dan kategori emosi/mood. Data dalam format .csv dimuat ke dalam lingkungan kerja Google Colaboratory menggunakan library Pandas untuk dianalisis dan diproses lebih lanjut.
2. Pra-pemrosesan dan Pembersihan Teks (Text Preprocessing)
Kualitas data lirik sangat menentukan akurasi model. Oleh karena itu, dilakukan serangkaian proses pembersihan pada data teks lirik untuk menstandarisasi isinya.
a. Penghapusan Data Tidak Relevan: Kolom yang tidak diperlukan dan baris data yang memiliki nilai kosong (terutama pada kolom lirik) dibuang untuk menjaga integritas data.
b. Normalisasi Teks: Sebuah fungsi khusus dibuat untuk membersihkan setiap lirik, yang mencakup:
c. Hasil: Proses ini menghasilkan kolom baru bernama cleaned_lyrics yang siap untuk diolah oleh model.
3. Ekstraksi Fitur dengan TF-IDF
Setelah lirik bersih, tahap selanjutnya adalah mengubah teks menjadi representasi numerik (vektor) yang dapat dipahami oleh mesin.
4. Serialisasi Model dan Data (Model Persistence)
Untuk memisahkan proses pelatihan dan penggunaan model, objek-objek penting disimpan ke dalam file. Penyimpanan Objek: Menggunakan library Pickle, tiga file utama disimpan:
Tujuan: File-file ini memungkinkan aplikasi web untuk memuat model yang sudah jadi tanpa perlu melatih ulang setiap kali dijalankan.
5. Pengembangan Aplikasi Web dengan Streamlit
Tahap terakhir adalah membangun antarmuka pengguna (UI) yang interaktif dan ramah pengguna agar sistem dapat diakses dengan mudah.
a. Framework: Streamlit dipilih karena kemudahannya dalam mengubah skrip data menjadi aplikasi web yang fungsional.
b. Desain Antarmuka: Aplikasi didesain dengan beberapa tab untuk memisahkan fungsionalitas:
LINK Google Colab: https://colab.research.google.com/drive/1GbhXCke57LoR_qx1Y7-e7UAzVwZS0b1i?usp=sharing
LINK GitHub: https://github.com/indahaha/MeloDetection