[TUTORIAL] Memainkan Musik (Lagu) pada Pemrograman Processing
Memainkan Musik
Saat ini, Processing telah di support oleh berbagai developer dengan hadirnya berbagai pustaka (library). Dengan adanya berbagai pustaka ini, pemrograman Processing akan menjadi lebih menyenangkan. Pada tutorial ini, kita akan memainkan musik dan menampilkan muka gelombang (waveform) dari musik tersebut. Pustaka yang akan kita gunakan adalah minim. Cek informasi penggunaan pustaka ini pada tautan berikut.
Pertama, kita harus mengimpor pustaka yang diperlukan, yaitu minim. Bukalah Processing dan carilah pada Sketch - Import Library... - Add Library... - Minim. Tunggulah beberapa saat untuk menginstal file tersebut secara online. Sudah tentu, kita membutuhkan koneksi internet.
Kemudian, pilihlah lagu atau voice yang ingin diputar dengan cara memilih Sketch - Add File - Lokasi lagu yang diinginkan
Jika sudah, import-lah pustaka minim kita, dengan memilih Sketch - Import Library... - Minim. Jika segala sesuatunya lancar, maka akan muncul import ddf.minim.*; pada bagian atas layar sketch. Kemudian, ketiklah skrip berikut:
import ddf.minim.*; AudioPlayer lagu; Minim minim; void setup() { minim = new Minim(this); lagu = minim.loadFile("Gagal Bersembunyi - The Rain.mp3"); lagu.play(); } void draw() { } void stop() { lagu.close(); minim.stop(); super.stop(); }
Jangan lupa untuk menuliskan judul lagu yang benar pada fungsi minim.loadFile. Jika di Run, maka lagu akan dimaikan. Menarik, bukan?
Memainkan Musik dan Menampilkan Muka Gelombang
Mari kita modifikasi program di atas. Kita akan tambahkan muka gelombang (waveform) sebagai efek visual agar tampilan menjadi menarik. Ketiklah skrip berikut:
import ddf.minim.*; AudioPlayer lagu; Minim minim; void setup() { size(500, 200); minim = new Minim(this); lagu = minim.loadFile("Gagal Bersembunyi - The Rain.mp3"); lagu.play(); } void draw() { background(0); stroke(255); for(int i = 0; i < lagu.bufferSize() - 1; i++) { line(i, 100 + lagu.right.get(i)*50, i+1, 100 + lagu.right.get(i+1)*50); } } void stop() { lagu.close(); minim.stop(); super.stop(); }
Referensi
Minim Library Developer Website: http://code.compartmental.net/tools/minim/quickstart/
Komentar
Processing dan Audio
Maaf gan, numpang tanya, dengan library yang sama, apakah processing ini bisa juga nerima input suara...???, Apa mungkin perlu bantuan dari software lain lagi untuk nangkep inputan suaranya, kalo iya, gimana cara menghubungkan processing dengan software yang nangkep suaranya...???