digilib@itb.ac.id +62 812 2508 8800

Abstrak: Pada tugas akhir ini diimplementasikan sebuah sistem pelacak ketukan secara real-time bagi sinyal audio musikal. Sistem ini diberi nama Rebana. Secara terus-menerus sepanjang lagu, sistem ini membentuk prediksi tentang letak ketukan selanjutnya, tempo, dan tingkat ketukan. Ada beberapa masalah dalam pelacakan ketukan secara real-time. Pertama, ketukan tidak dinyatakan secara eksplisit di dalam sinyal audio musikal, melainkan hanya dapat dilacak melalui pendekatan inferensi terhadap berbagai elemen yang diekstrak dari sinyal tersebut, seperti onset time dan perubahan akor. Kedua, pelacakan ketukan secara real-time mengalami hambatan berupa garden-path error, sehingga perlu dibentuk prediksi jamak. Untuk membentuk prediksi jamak, pada tugas akhir ini digunakan multiagen. Selagi informasi onset time dan perubahan akor diekstraksi dari sinyal yang diterima, multiagen terusmenerus membentuk dan mengevaluasi prediksi jamak berdasarkan strategi masing-masing agen. Prediksi-prediksi agen tersebut dikelompokkan dan diseleksi berdasarkan kriteria tertentu oleh sebuah entitas yang disebut manajer. Sistem pelacakan ketukan ini berhasil diimplementasikan di atas sistem operasi Mandrake Linux 9.2 dengan kakas pemrograman GCC, PortAudio, FFTW, dan GTK+ pada PC dengan single processor. Pada implementasi tersebut diterapkan teknik multithreading karena dibutuhkan adanya multitasking yang dapat menangani berbagai tugas secara simultan. Pengujian kinerja sistem yang berhasil diimplementasikan ditinjau dari tiga segi, yaitu segi teknis, kebenaran prediksi terpilih, dan response time. Ditinjau dari segi teknis, pengujian kinerja menunjukkan adanya kasus-kasus yang menuntut adanya penanganan khusus. Kasus-kasus ini berkaitan erat dengan siklus aksi agen. Ditinjau dari segi kebenaran prediksi terpilih, kinerja Rebana cukup baik. Ini ditunjukkan dengan nilai rata-rata kebenaran prediksi dari pelacakan 17 lagu sebesar 62.65%. Kegagalan sistem pada umumnya adalah prediksi yang jatuh pada posisi di tengah-tengah dua buah ketukan dan ketukan yang tidak stabil pada keluaran manajer. Ditinjau dari segi response time, nilai response time pada umumnya melebihi nilai interval antar ketukan sebagai batas response time yang dapat diterima. Ini ditunjukkan dengan fakta bahwa dari 17 kali pelacakan ketukan, hanya terdapat tiga kali pelacakan yang menghasilkan response time yang dapat diterima. Hal-hal yang dapat menyebabkan tingginya response time adalah adanya jangka waktu tambahan yang harus digunakan oleh manajer pada seluruh siklus aksinya untuk menunggu sebelum seluruh prediksi agen terkumpul, pemeriksaan perubahan akor, dan mekanisme penjadwalan threads. Dengan demikian, sistem pelacak ketukan ini sayangnya terlalu lambat untuk dapat disebut aplikasi real-time.