• Tidak ada hasil yang ditemukan

Rancang Bangun Aplikasi Guitar Effect Processor Online Berbasis Java

N/A
N/A
Protected

Academic year: 2021

Membagikan "Rancang Bangun Aplikasi Guitar Effect Processor Online Berbasis Java"

Copied!
6
0
0

Teks penuh

(1)

1

Rancang Bangun Aplikasi Guitar Effect Processor Online

Berbasis Java

Muhammad Firdaus - Ary Mazharuddin S., S.Kom., M.Comp.Sc Jurusan Teknik Informatika, Fakultas Teknologi Informasi,

Institut Teknologi Sepuluh November Kampus ITS Sukolilo Surabaya 60111, Indonesia

Abstrak

Guitar Effect Processor adalah suatu mesin atau alat yang memberikan efek suara pada suara gitar. Guitar effect processor memiliki bermacam-macam efek suara di sound bank. Biasanya gitar efek memiliki lebih dari seratus efek suara dan efek suara tersebut bisa kita setting sesuai dengan keinginan.

Dalam penelitian ini, dilakukan suatu proses manipulasi suara gitar agar memiliki efek suara seperti menggunakan alat gitar efek. DSP(Digital Signal Processing) adalah suatu metode yang digunakan untuk memanipulasi sinyal suara. DSP digunakan untuk merubah suara gitar menjadi suara gitar yang memiliki efek distorsi dan efek delay. Kedua efek suara ini pun dapat digunakan sendiri-sendiri atau pun digabungkan, sehingga keluaran suara yang dihasilkan menjadi distorsi yang memiliki delay.

Dengan menggunakan bahasa pemrograman Java, metode DSP ini akan diterapkan. Sehingga pada akhirnya akan menghasilkan suatu aplikasi yang dapat merubah suara gitar biasa menjadi suara gitar yang memiliki efek suara distorsi dan delay.

Kata kunci: DSP,Guitar Effect Processor

1. Pendahuluan

Gitar adalah sebuah alat musik berdawai yang dimainkan dengan cara dipetik, umumnya menggunakan jari maupun plektrum. Gitar terbentuk atas sebuah bagian tubuh pokok dengan bagian leher yang padat sebagai tempat senar yang umumnya berjumlah enam ditempelkan. Gitar secara tradisional terbentuk dari berbagai jenis kayu dengan senar terbuat dari nilon maupun baja. Secara umum, gitar terbagi atas 2 jenis: akustik dan elektrik.

Pada elektrik gitar, tentunya kita juga mengenal Guitar Effect processor. Alat ini digunakan para pemain gitar untuk memberi karakter suara pada gitarnya. Guitar Effect jenisnya bermacam-macam, ada yang terdiri dari 1 Gitar efek tapi memiliki sound bank yang memiliki banyak karakter suara dan ada

juga yang 1 Gitar efek dan memiliki 1 karakter suara dan disusun secara seri agar memiliki karakter suara yang unik.

Dalam dunia IT, kita banyak menemukan aplikasi gitar effek, seperti Guitar Fxbox, Rakarrack, dll. Aplikasi- aplikasi tersebut berfungsi menjadikan PC atau laptop sebagai Guitar Effect Processor, jadi kita dapat memainkan gitar elektrik menggunakan PC atau laptop.

Aplikasi- aplikasi tersebut menggunakan metode DSP (Digital Signal Processing). Digital Signal Processing adalah suatu metode yang digunakan untuk memanipulasi suatu signal. Dalam pembuatan aplikasi gitar efek, metode DSP digunakan untuk memanipulasi signal suara agar memper oleh karakter suara gitar yang bervariasi. Untuk setiap karakter suara gitar, memiliki

(2)

2 algoritma tertentu dalam membuat karakter

suatu suara.

Oleh karena itu pada tugas akhir ini penulis mendapatkan ide untuk membuat aplikasi gitar efek online agar dapat digunakan oleh semua orang.

2. Perancangan dan Implementasi system

Berikut akan dibahas mengenai perancangan system dan bagaimana implementasinya.

2.1 Arsitektur aplikasi

Aplikasi ini terdiri dari aplikasi client dan server. Pada aplikasi client digunakan untuk menangkap suara, mengirim suara ke server dan memutar kembali hasil output suara dari server. Sedangkan pada aplikasi client, terjadi proses manipulasi gelombang suara yang berupa distorsi dan delay sehingga hasil output suara dari aplikasi ini akan menghasilkan suara gitar yang memiliki efek suara distorsi dan delay. Secara arsitektur aplikasi secara keseluruhan dapat dilihat pada Gambar 1.

Gambar 2.1 Arsitektur aplikasi 2.2 Spesifikasi Implementasi

Implementasi dari perancangan aplikasi Guitar Effect Processor memiliki spesifikasi sebagai berikut:

 Bahasa Pemrograman Java  IDE: Netbeans 7.0.1 2.3 Implementasi Proses

Proes-proses pada aplikasi Guitar Effect Processor Online ini dibagi menjadi 2 bagian, yaitu:

 Bagian Server

Bagian ini merupakan sebuah aplikasi desktop yang menangani pengolahan suara. Mulai dari penerimaan input suara dari client, proses DSP dan pengiriman kembali suara dari proses DSP ke aplikasi client.

 Bagian Client

Client dibangun dengan menggunakan java sound API yang berguna untuk proses penangkapan suara dan pemutaran kembali suara. Aplikasi ini memiliki kemampuan untuk mengirimkan suara gitar yang ditangkap oleh computer client dan mengirimkannya ke server. Dan juga, aplikasi ini dapat memutar kembali suara yang telah memiliki efek suara yang didapat dari server. Selain itu, aplikasi client ini juga terdapat proses-proses dimana proses tersebut digunakan untuk mensetting fitur dari efek suara tersebut, seperti tone, drive, volume, delay, feedback.

Pada efek distorsi, terdapat beberapa fitur pengaturan seperti level, tone dan drive. Level adalah pengaturan untuk volume efek gitar yang dihasilkan. Tone adalah pengaturan untuk kejelasan dari karakter distorsi. Sedangkan Drive adalah pengaturan untuk noise distorsi yang akan diberikan pada suara output.

Pada bagian delay, terdapat pengaturan level, delay, dan feedback. Sama halnya dengan distorsi, level digunakan untuk mengatur volume yang dihasilkan dari efek gitar delay. Delay adalah pengaturan untuk mengatur panjang pendek suatu delay. Sedangkan Feedback adalah pengaturan untuk mengatur seberapa banyak delay yang diulangi.

2.4 Implementasi Rancangan Antarmuka  Antar muka aplikasi Server

Antar muka pada server berfungsi untuk menyalakan service dari server tersebut. Berikut adalah bentuk antar muka dari aplikasi Server yang diperlihatkan pada Gambar 2.

(3)

3 Gambar 2.2 Antarmuka Server

Pada Gambar 2, terdapat dua tombol, yaitu start dan stop. Tombol start digunakan untuk menjalankan service dari server. Sedangkan tombol stop, digunakan untuk memberhentikan service dari server.

 Antar muka aplikasi Client

Antar muka aplikasi Client terdiri dari beberapa fungsi yang dimana fungsi tersebut digunakan untuk memanggil fungsi pada client. Dan juga aplikasi client terdapat fungsi untuk menangkap suara dan memutar kembali suara. Berikut adalah bentuk antar muka dari aplikasi Client yang akan diperlihatkan pada Gambar 3.

Gambar 2.3 Antarmuka Aplikasi Client

Pada Gambar 3, terdapat beberapa tombol. Tombol Connect, digunakan untuk menghubungkan aplikasi client ke aplikasi server. Sedangkan tombol Distortion dan Delay adalah tombol untuk memilih jenis efek yang ingin digunakan. Sedangkan slider pada aplikasi tersebut, digunakan untuk mengatur confiugurasi dari efek suara tersebut, seperti volume, drive, tone, delay, feedback.

3. Uji Coba Dan Evaluasi

Perangkat keras yang dibutuhkan untuk menjalankan aplikasi ini sebetulnya tidak harus yang tinggi. Adapun spesifikasi perangkat keras yang digunakan client pada uji coba ini dapat dilihat pada Tabel 1.

Tabel 3.1 Daftar spesifikasi yang digunakan Client

Perangkat Keras Spesifikasi

Prosesor Intel® Core™ i3 330M (2.13GHz, 1066 MHz FSB)

RAM 2 GB

VGA NVDIA GeForce 310M Cuda 512 MB

Guitar Ibanez PGM Series

Speaker Okaya Speaker Active

Dan berikut adalah spesifikasi yang digunakan oleh computer server dapat dilihat pada Tabel 3.2.

Tabel 3.2 Daftar spesifikasi yang digunakan Server

Perang kat Keras

Spesifikasi

Prosesor Intel® Core™ 2 Duo (1.66GHz, 667 MHz FSB)

RAM 2 GB

VGA Inter GMA

Ujicoba dibagi menjadi 3 bagian, yaitu pengujian nilai buffer, pengujian pada jaringan peer to peer, dan pengujian multi client.

3.1 Ujicoba mengukur delay aplikasi Ketika menjalankan aplikasi ini, akan didapat delay antara suara yang ditangkap dan suara yang dikeluarkan. Delay ini akan mempengaruhi dari permainan gitar user.

(4)

4 Oleh karena itu, pada percobaan ini

dilakukan penghitungan seberapa besar delay yang didapatkan pada aplikasi ini. Apakah delay ini bisa ditoleransi atau tidak.

Percobaan ini dilakukan menggunakan wireshark. Wireshark dapat mengcapture paket-paket yang dikirim dan diterima oleh client dan server, sehingga dapat diketahui berapa jumlah paket yang terkirim dan waktu pengiriman paket.

Pada aplikasi ini, dilakukan pengcapturean data selama 1 menit, dan diperoleh hasil seperti pada Gambar 5.1.

Gambar 3.1 Screenshoot hasil capturing

Pada gambar , adalah hasil dari pengcapturean aplikasi menggunakan wireshark. Dari gambar , diperoleh jumlah paket yang dikirim setiap 1 menit adalah 8233 paket.

Untuk mengetahui delay dari aplikasi, diambil beberapa sample paket yang dikirim tiap 0,1s. Tabel adalah sample dari paket.

Tabel 3.3 Hasil Analisa Waktu Pengiriman Paket

Waktu (second) Waktu paket 1 (second) Waktu paket 2 (second) Selisih waktu paket (second) 0,1 0,127483 0.035558 0,091925 0,2 0,263580 0,160631 0,102949 0,3 0,393629 0,287425 0,106204 0,4 0,412546 0,399114 0,013432 0,5 0,527113 0,412546 0,114567 0,6 0,654153 0,538345 0,115808 0,7 0,782314 0,663653 0,118661 0,8 0,808027 0,784555 0,023472 0,9 0,911532 0,808319 0,103213

Menurut sumber yang didapatkan pada sumber[8], mengatakan bahwa delay yang ditoleransi untuk aplikasi gitar efek adalah sekitar 10-30ms. Sedangkan dari sampel data menggunakan wireshark, rata-rata delay yang didapat adalah sekitar 100ms. Jadi hasil output suara dari aplikasi ini masih belum bisa ditolerir untuk dimainkan karena memiliki delay yang masih terlalu tinggi dan akan mengakibatkan suara yang dikeluarkan akan telat.

3.2 Uji coba dengan koneksi

peer-to-peer

Pada uji coba ini, dilakukan dengan menggunakan komputer yang terhubung menggunakan kabel LAN. Sehingga proses jaringan terjadi pada dua computer saja.

Percobaan pada tahap ini, sama halnya dengan pada subbab 5.3, yaitu menganalisa delay yang dihasilkan menggunakan wireshark. Berikut detail dari data akan dijelaskan pada Gambar 5.4

Tabel 3.4 Hasil Analisa Waktu Pengiriman Paket

Waktu (second) Waktu paket 1 (second) Waktu paket 2 (second) Selisih waktu paket (second) 0,1 0,127483 0.035558 0,091925 0,2 0,263580 0,160631 0,102949 0,3 0,393629 0,287425 0,106204 0,4 0,412546 0,399114 0,013432 0,5 0,527113 0,412546 0,114567 0,6 0,654153 0,538345 0,115808

(5)

5

0,7 0,782314 0,663653 0,118661 0,8 0,808027 0,784555 0,023472 0,9 0,911532 0,808319 0,103213

Pada uji coba menggunakan peer-to-peer, delay yang dihasilkan kurang lebih sama dengan percobaan dengan subbab 5.3. Dikarenakan, proses jaringan hanya melibatkan dua komputer saja.

3.3 Uji coba dengan multi client Pada percobaan ini menggunakan dua computer client yang bisa akses ke server secara bersamaan. Dalam uji coba, menemukan beberapa bug, yaitu:

1. Bug waktu menyalakan efek. Efek tidak mau menyala.

2. Bug ketika setting pada efeknya. Nilai dari efek tersebut tidak berubah waktu posisi slider diubah Sebelum melakakukan percobaan dengan dua computer client, telah dilakukan percobaan dengan menggunakan Java Applet. Dimana sebelum membuat aplikasi client desktop, telah dibuat aplikasi berbasis Java Applet agar setiap orang bisa mengakses aplikasi gitar efek ini melalui web browser.

Aplikasi applet ini dibuat, dikarenakan terinspirasi dari alamat web[9],dimana pada

alamat web tersebut terdapat aplikasi Java Applet yang berfungsi sebagai tunner gitar. Tunner gitar adalah suatu alat yang digunakan untuk mengecek nada dari senar-senar gitar.

Dari percobaan membuat aplikasi Java Applet tersebut, ternyata menemukan satu kendala yaitu Java Applet hanya bisa melakukan satu proses saja dalam pengolahan suara. Jadi maksudnya, Java Applet hanya bisa capturing saja atau playback saja. Sehingga aplikasi Java Applet tersebut tidak berjalan. Lalu dengan tidak berjalannya aplikasi Java Applet tersebut, dibuatlah aplikasi desktop yang berbasis client server.

Berikut pada Gambar 5.5 adalah screen shoot dari aplikasi Java Applet yang telah dibuat.

Gambar 3.2 Tampilan dari aplikasi Java Applet

Aplikasi Java Applet yang terdapat pada Gambar 5.5, dapat dijalankan secara normal ketika dijalankan di applet viewer. Tetapi ketika di tag di HTML dan dijalankan di Web Browser, aplikasi tersebut tidak berjalan sama sekali.

3.5 Uji Coba Pengukuran Bandwidth Dalam pengujian ini, akan didapatkan berapa bandwidth yang dibutuhkan dalam melakukan transmisi audio. Perhitungan bandwidth dilakukan dengan rumus. Rumus perhitungan bandwidth dapat dilihat pada gambar.

Gambar 3.3 Rumus Menghitung Bandwidth Total header didapatkan dari penjumlahan dari IP Header, TCP Header dan Ethernet Header. Untuk nilai dari IP Heder dari aplikasi ini adalah 20 byte, TCP Header 20 byte dan Ethernet Header 14 byte. Jadi total keseluruhan dari Header(H) adalah 54 byte.

Sedangkan Voice Payload, didapatkan nilai 80 byte tergantung dari pemaketan data pada jaringannya. Jadi untuk nilai Payload adalah 80 byte.

Untuk codec, aplikasi ini menggunakan codec PCM. Karena dalam java soun api, default dari codecnya adalah PCM. Nilai codec PCM adalah 64 byte, jadi untuk nilai codec adalah 64 byte.

(6)

6 Setelah mendapatkan nilai-nilai dari

masing variabel, maka nilai-nilai tersebut dimasukan ke rumus yang ada pada Gambar. Jadi nilai hasil dari perhitungan tersebut, didapat bandwidth sebesar 107.2 Kbps untuk melakukan transmisi audio pada aplikasi ini.

Dan juga, menurut sumber [7], untuk

mendapatkan bandwidth rata-rata juga dapat dilakukan dengan menghitung jumlah paket yang dikirim dibagi satuan waktu. Disini dilakukan pengcapturean paket dalam waktu 1 menit dan didapatkan jumlah paket sebesar 8233bit. Jadi nilai bandwidth dapat dihitung 8233/60 = 137,217. Jadi nilai bandiwith dari perhitungan dengan menggunakan wireshark sebesar 137,217 Kbps.

Jadi, untuk bandwidth rata-rata dari aplikasi ini didapatkan dua nilai dari perhitungan rumus dan perhitungan dari pengcapturean wireshark. Dapat disimpulkan kisaran bandwidth yang dibutuhkan untuk aplikasi ini sekitar 100 Kbps – 150 Kbps.

4. Kesimpulan

Dari hasil pengamatan selama perancangan, implementasi, dan uji coba perangkat lunak, dapat diambil kesimpulan sebagai berikut : 1. Delay suara yang dihasilkan oleh aplikasi

ini termasuk sangat lama. Karena delaynya terjadi sekitar 1-2 detik. Tentu saja dalam bermain gitar, delay antara inputan suara dan output suara harus seminim mungkin karena jika delaynya tinggi tentunya akan membingungkan pemain gitar itu sendiri. 2. Aplikasi ini masih sebatas single user. 3. Bandwidth yang dibutuhkan pada aplikasi

ini adalah sekitar 107.2 Kbps. 5. Saran

Berikut merupakan beberapa saran untuk pengembangan sistem di masa yang akan datang, berdasar pada hasil perancangan, implementasi, dan uji coba yang telah dilakukan.

1. Aplikasi ini masih dibuat dengan desktop application. Jadi jika orang ingin menggunakan aplikasi ini harus memiliki aplikasinya. Jika menggunakan web application, tentu akan memudahkan orang untuk menggunakannya.

2. Aplikasi ini hanya memiliki 2 efek suara, distorsi dan delay. Jika dalam pengembangannya memiliki lebih dari 100 efek suara akan lebih bagus.

3. Fitur dari aplikasi ini masih belum lengkap. Biasanya pada gitar efek sesungguhnya, gitar efek tersebut pasti memiliki tunner yang digunakan untuk mengatur nada-nada pada senar gitar.

6. Daftar Pustaka

[1]. http://javastomp.sourceforge.net/,

tentang contoh aplikasi gitar efek offline.

[2]. http://www.java2s.com/, tentang contoh code programming java socket.

[3]. http://www.roseindia.net/, tentang contoh code programming java sound.

[4]. http://www.jsresources.org/, tentang Java sound Programing.

[5]. http://www.gmarts.org/index.php?go=2 21, tentang refrensi tutorial metode efek gitar.

[6]. http://www.mindspring.com/~j.blacksto ne/distn101.htm, tentang tutorial DSP. [7]. http://www.kaskus.us/showthread.php?t

=2966861, tentang rumus dari perhitungan bandwidth

[8]. http://www.kaskus.us/showthread.php?t =11591803, tentang toleransi delay.

[9]. http://seventhstrings.com, tentang contoh program java sound applet

Referensi

Dokumen terkait

Sedangkan data hasil belajar Mahasiswa tentang hukum Kirchoff meliputi: (1) menentukan arus listrik pada rangkaian tertutup satu loop dengan dua atau lebih sumber

Konflik dapat berupa pertentangan yang dilakukan orang tua ketika anak memilih untuk meyakini agama yang tidak sama dengan kedua orang tuanya atau pemaksaan orang

Sinkronisasi program pusat dan daerah sebagai implementasi dari otonomi daerah sangat diperlukan, sehingga BPTP memiliki keunggulan komparatif dalam keanggotaan

Berdasarkan hasil penelitian dan pembahasan, eksperimen penerapan metode mind mapping pada pembelajaran biologi yang dilakukan dapat disimpulkan bahwa ada

Tekanan yang normal pada NPH disebabkan karena pelebaran ventrikel menyebabkan resistensi subependimal menurun, penyerapan yang efisien pada subependima untuk mengimbangi

Pada saat hujan di daerah hulu (Puncak, dan Bogor ) dengan intesitas yang besar, Kota Jakarta akan mengalami limpahan air dari dari hulu, karena kemampuan

Glomerulonefritis Progresif Cepat (GNPC) adalah sindrom klinikopatologik (clinicopathological syndrome ) dengan manifestasi berupa penurunan fugsi ginjal yang