Museek – Jejaring Sosial Musik

Homepage Museek

Okay, akhirnya saya sempat juga mengulas tugas akhir S1 saya. Namanya Museek, yang merupakan acronym dari Music Seeker. Ide untuk membuat Museek sebenarnya udah cukup lama. Saya penggemar musik indo (well, ga semua musik indo sih, terutama lagu alay), dan di tahun kedua saya kuliah di luar indo, sangat sulit mencari informasi tentang lagu-lagu terbaru dari indo. Saya biasanya mencari dari forum, google, dan musik chart, itu juga harus download satu-satu dan jarang dapat yang pas. Dari sini lah muncul ide untuk membuat sebuah layanan yang bisa memberikan saya informasi tentang lagu-lagu yang “mungkin” saya suka, tanpa harus sibuk mencari dan mendengarkan lagu satu persatu. Lalu lahir lah ide museek ini.

Bukan ide yang baru sebenernya, music recommendation system udah ada sejak lama, ada Pandora, Last.fm,  etc2. Karna topik yang saya ajukan adalah music recommendation system (bukan music social network), jadi saya diharuskan supervisor untuk mencari mekanisme yang lebih fresh dari yang sudah ada. Last.FM misalnya, punya recommendation system yang bekerja pada basis teks. Saat itu entah datang darimana idenya, saya berinisiatif untuk membuat recommendation system yang berbasis audio processing, mungkin ini terinspirasi oleh salah satu thesis favorit saya, Music Box, dimana thesis ini tentang sebuah implementasi pengkategorian musik berdasarkan genre yang dibaca langsung dari audio datanya.

Konsep dasar dari music recommendation system adalah sebuah system yang mempelajari selera musik kita, kemudian mencari similarity antara musik yang kita dengarkan dengan musik yang ada di database (tidak harus database mereka), lalu hasil perbandingan ini dikembalikan ke user untuk di review. Cara mempelajari selera musik user ada bermacam-macam, di jaman-jaman awal Last.FM berdiri dulu, user mensubmit playlist mereka ke website, dan me-like setiap lagu yang mereka sukai secara manual, lalu beberapa tahun lalu Last.FM bergabung dengan AudioScrobbler, yang bisa melakukang reporting otomatis ke server Last.FM terhadap apapun lagu yang dimainkan user di music player mereka.

Saya mencoba menggabungkan dua ide ini. Implementasi music recommendation system berbasis web seperti Last.fm & AudioScrobbler, bisa memudahkan user untuk menemukan musik yang mereka sukai dengan cepat, ditambah dengan raw audio processing seperti MusicBox, yang membuat hasil perbandingan tiap musik menjadi sangat akurat. Maka jadilah Museek, judul skripsi yang bikin 1st supervisor saya mengerutkan dahi waktu pertama kali mendengar konsepnya, untungnya tidak direject. Lalu (technically) saya diberi waktu 4 bulan untuk research, design dan dokumentasi lainnya, serta 4 bulan lagi untuk implementasi. Skripsi ini sempat terkatung-katung karna saya juga harus mengejar mata kuliah lain serta pekerjaan paruh waktu. Tapi alhamdulillah, skripsi nya dapat grade A dan jadi best final year project🙂.

Museek banyak mengadaptasi konsep milik Last.fm, ini karena saya cukup aktif menggunakan Last.fm dan saya cukup nyaman dengan layanan mereka. Di Museek, anonymous user bisa melihat statistik umum seperti global music/artist chart. Jika ingin melihat statistik yang lebih personal, mereka bisa mendaftar dan mendownload sebuah client (program yang belum ada namanya, saya sebut saja dengan “client”). Client ini akan berjalan sebagai background service di komputer user, ketika ada lagu yang dimainkan di music player seperti Winamp, client akan mengirimkan informasi lagu ke server, user juga harus mengisi informasi account mereka di client untuk keperluan personalisasi.

Library

Disinilah saya mencoba memasukan konsep Music Box, yaitu audio data processing. Saya mencoba mengupload lagu-lagu yang dimainkan di client ke server, untuk kemudian dijadikan parameter perbandingan yang lebih akurat. Setiap kali user memainkan lagu, client akan mengambil 5% (default, bisa diubah) dari file musik yang dimainkan, lalu dikirim ke server. Dari sisi server, file-file ini akan dikumpulkan lalu dicek kelengkapannya, ketika sudah lengkap, maka akan disatukan menjadi file musik yang utuh, lalu didaftarkan sebagai list yang akan dibandingan dengan semua file musik yang sudah ada sebelumnya di server. Selain file musik, client juga mengirimkan data-data teks seperti informasi Tag, account user, dan tanggal/jam dimainkannya file tersebut.

Setelah data-data tersebut dikumpulkan dan disusun rapi, maka user bisa melihat statistik yang lebih personal seperti:

– Song Timeline : User bisa melihat history musik yang mereka mainkan
– Musical Compatibilty : User bisa melihat presentasi kemiripan playlistnya dengan user lain
– Library : User bisa melihat daftar artist/lagu yang pernah mereka mainkan
– Similar Song: User bisa melihat daftar lagu yang mirip dengan lagu yang pernah mereka mainkan
– Song/artist Statistic: User bisa melihat statistik lagu dan artis yang mereka mainkan, berapa kali lagu/artist tersebut dimainkan (global dan individual)
– Song tagging: User bisa menambah informasi khusus (tag) untuk setiap lagu.
– Dan banyak lagi

Statistik

Museek menggunakan konsep social network agar user bisa bertukar informasi secara aman (termasuk privasi control). Museek menggunakan 2 jenis processing untuk memberikan rekomendasi musik yang lebih akurat, yaitu textual dan raw audio data processing. Textual processing sendiri mencakup song log tiap user, database artist, album, dan track. Museek mengimplementasikan beragam jenis comparison method untuk memproses data textual.

Untuk audio processing, ada beberapa tahap yang dilakukan sebelum mendapatkan hasil perbandingan. Pertama adalah menyatukan semua fragment file audio yang diupload, kemudian setelah semuat fragment lengkap, file audio disatukan lalu diubah menjadi histogram yang outputnya adalah file image beresolusi tinggi. Histogram yang dihasilkan mencakup pitch, timbre, dan informasi audio lainnya. Kemudian histogram ini dibandingkan dengan histogram-histogram lainnya yang sudah ada sebelumnya. Setiap satu histogram yang dihasilkan, akan dibandingkan dengan semua histogram yang sudah ada sebelumnya. Hasil perbandingan akan disimpan kedalam table similarity, dari sinilah Museek bisa mencari kemiripan lagu antara satu dan yang lainnya. Audio processing murni dilakukan oleh server, dan terdapat berbagai pengecekan seperti mengacuhkan fragment upload jika ternyata file sudah ada di server, serta membatalkan proses konversi audio ke histogram jika fragment file belum lengkap.

Contoh audio histogram Museek

Saya sendiri merasakan bahwa skripsi Museek ini menarik, terlepas dari proses pengerjaannya yang sempat terkatung-katung, konsep dan implementasinya sangat menarik untuk dikembangkan. Awalnya saya berencana untuk mengambil research tentang graphic programming, namun karna requirement final year project disini mengharuskan membuat product yang easy to sell & tidak teralu spesifik, maka jadilah Museek ini. Saat skripsi selesai, hampir semua feature sudah saya implementasikan, meskipun tentu saja masih ada bug disana sini. Setelah dokumentasinya mencapai ratusan lembar, dan implementasinya mendapat respon yang positif dari ketiga supervisor, saya berencana untuk mendeploy Museek ke publik, namun belum punya server yg memadai. Mungkin untuk sementara ini dikembangkan secara internal saja dulu, keep in touch😉

Pos ini dipublikasikan di post dan tag , , , , , , , , , , , , , , . Tandai permalink.

4 Balasan ke Museek – Jejaring Sosial Musik

  1. Youfan berkata:

    Host!😆

  2. Kereeeen, tapi ngomong2 supervisior tu apa ya?😀

  3. iNu berkata:

    Congrat!!! bro..

    akhirnya,,,😀

  4. yulis berkata:

    bila ingin mendownload lagu mulan jamila jatuh cinta gratis di sini

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s