pengembangan program aplikasi penala gitar

advertisement
PENGEMBANGAN PROGRAM APLIKASI
PENALA GITAR MENGGUNAKAN FAST
FOURIER TRANSFORM
Rizal Chandra
ABSTRAK
The objective of this application is to generate tuner program that can bring out the tone and
guide that allows users to tune their guitars to avoid mistune, by applying the mathematical science of the
transformation of sound waves into IT. The method used to carry out the development of the guitar tuning
application program is the Fast Fourier Transform method. Guitar-sound that input through the
microphone to the notebook computer will be processed into digital data that can be processed into
Frequency using Fast Fourier Transform. Later this frequency will be converted into musical notes and
displayed on the screen, so the user can see if the tone is right or not. The final result is to create a guitar
tuner that is able to produce the same tone as the input sound. Although there is still noise resulting tuning
error with an error rate of about ten per cent, but overall not too intrusive program. In conclusion the
program can be used to tune the guitar properly.
Tujuan dari pengembangan aplikasi ini adalah untuk menghasilkan program penala yang dapat
memunculkan nada dan panduan sehingga memudahkan pengguna dalam menala gitar mereka agar tidak
sumbang dan enak didengar, dengan menerapkan ilmu matematika tentang transformasi gelombang suara
ke dalam IT. Metode yang digunakan untuk melakukan pengembangan program aplikasi penala gitar
adalah metode Fast Fourier Transform. Suara gitar di-input melalui mikrofon pada notebook computer
dan akan diolah menjadi data digital sehingga dapat diproses menggunakan Fast Fourier Transform
menjadi frekuensi. Nantinya frekuensi ini akan diubah menjadi nada musik dan ditampilkan di layar
monitor, sehingga pengguna dapat melihat apakah nada sudah tepat atau belum. Hasil akhir yang didapat
yaitu terciptanya penala gitar yang mampu menghasilkan nada yang sesuai dengan nada yang di-input.
Walaupun masih terdapat noise yang mengakibatkan kesalahan penalaan dengan tingkat kesalahan sekitar
sepuluh persen, tetapi secara keseluruhan tidak terlalu mengganggu program. Kesimpulannya program
dapat digunakan untuk menala gitar dengan baik.
Kata Kunci: Tala, Fast Fourier Transform, Nada, Gitar
PENDAHULUAN
Latar belakang dilakukannya pengembangan ini adalah karena musik sudah menjadi keseharian
dalam kehidupan manusia. Hampir di setiap tempat kita dapat mendengar musik. Kadang-kadang saat
mendengar sebuah lagu, muncul keinginan untuk dapat memainkan lagu tersebut. Untuk dapat memainkan
musik dibutuhkan alat musik. Beberapa alat musik dapat langsung dimainkan, seperti seruling, keyboard,
xylophone, pianika. Tapi beberapa alat musik harus ditala terlebih dahulu agar tidak sumbang.
Penalaan adalah proses menyamakan nada alat musik sehingga tidak terdengar sumbang. Untuk
menala alat musik dibutuhkan pendengaran yang baik. Beberapa cara menala antara lain adalah dengan
menggunakan pendengaran, dengan menggunakan garpu tala, menyamakan dengan alat musik yang sudah
ditala, menyamakan dengan alat musik yang tidak perlu ditala, atau menggunakan penala atau tuner. Cara
yang paling sederhana menurut penulis adalah dengan menggunakan perasaan. Tapi tidak semua orang
dapat melakukannya. Untuk yang malas harus menala dengan pedengaran atau garpu tala, juga para pemula
yang tidak mempunyai kemampuan menala atau pendengaran yang peka, menggunakan tuner atau penala
adalah solusi yang baik.
Di era modern seperti sekarang penggunaan teknologi menjadi sangat dibutuhkan. Banyak
peralatan teknologi yang semakin multi guna, seperti telepon genggam yang bisa juga untuk chatting,
menonton televisi, mendengar radio, dan lainnya hanya dalam satu alat. Dengan kata lain teknologi menjadi
semakin praktis. Karena itu, Tujuan pembuatan aplikasi penala gitar ini, agar dapat dipakai pada notebook
computer, sehingga praktis dan tidak merepotkan.
Diharapkan dengan adanya aplikasi penala pada notebook computer, maka pemain musik pemula
dapat menala alat musik kapanpun dan di manapun tanpa harus membawa penala lagi dan pengguna dapat
melakukan semua kegiatan bermusik hanya dengan notebook computer dan alat musiknya saja.
Pengembangan ini sendiri bertujuan untuk menghasilkan program penala yang dapat
memunculkan nada dan panduan agar memudahkan pengguna dalam menala alat musik mereka dengan
benar sehingga tidak sumbang dan enak didengar dengan menerapkan ilmu matematika tentang
transformasi gelombang suara ke dalam IT.
Metode yang digunakan dalam pengembangan ini adalah metode Fast Fourier Transform. Fast
Fourier Transform (FFT) adalah algoritma Transformasi Fourier Diskrit yang mengurangi jumlah
perhitungan yang diperlukan oleh dari
menjadi
, dimana
adalah logaritma basis 2. FFT
pertama kali dibahas oleh Cooley dan Tukey pada tahun 1965, meskipun Gauss menggambarkan langkah
faktorisasi kritisnya tahun 1805. Transformasi Fourier Diskrit dapat dihitung menggunakan FFT dengan
harga N merupakan perpangkatan dua. Jika harga N bukanlah perpangkatan dua, transformasi dapat
dilakukan pada set poin yang sesuai dengan faktor-faktor prima yang sedikit rusak dalam kecepatan.
Algoritma Fourier Transform yang nyata dan efeisien memberikan peningkatan lebih lanjut dalam
kecepatan untuk sekitar dua faktor. Base-4 dan Base-8 FFT menggunakan kode yang dioptimalkan, dan
dapat 20-30% lebih cepat dari Base-2 FFT.
Algoritma Fast Fourier Transform umumnya terbagi dua kelas: pengurangan waktu, dan
pengurangan frekuensi. Algoritma Cooley-Tukey FFT pertama menata kembali elemen masukan dalam
rangka bit-terbalik, kemudian membangun output transformasi (pengurangan dalam waktu). Ide dasarnya
adalah untuk membelah transform of length menjadi dua transform of length
dengan menggunakan
identitas.
METODE PENELITIAN
Secara sederhana, proses pembuatan penala dimulai dengan meng-input suara dari alat musik ke
komputer, lalu suara yang masuk akan di-sampling, dan diubah ke data digital, lalu dengan menggunakan
Fast Fourier Transform akan didapat frekuensi. Frekuensi ini akan dihitung untuk mengetahui nadanya,
nantinya nada ini akan ditampilkan di layar sehingga pengguna tahu apakah nadanya sudah pas atau belum.
Perancangan menggunakan model waterfall sebagai berikut:
1. Tahap Investigasi
Tahap untuk merumuskan masalah, mengumpulkan segala macam informasi yang dibutuhkan
tentang musik, gelombang, frekuensi, dan lain-lain dengan cara membaca bahan bacaan mendiskusikan
dengan yang mengerti musik dan gelombang
2. Tahap Analisis
Tahapan menganalisis masalah yang perlu diselesaikan. Pada tahap ini dicari kebutuhan pengguna,
menganalisis masalah, mencari tahu solusi dan sebagainya.
3. Tahap Disain
Tahap yang menggambarkan sistem, dari masukan, keluaran, tampilan pengguna, dan alur data.
Dari suara mentah yang dikeluarkan oleh alat musik, akan dibaca dan di-sampling oleh komputer,
kemudian mengubahnya menjadi data digital yang kemudian diubah ke dalam frekuensi-frekuensi yang
nantinya dijadikan nada dasar dan ditampilkan ke layar sebagai pembanding bagi pengguna.
4. Tahap Implementasi
Pada tahap ini akan dilakukan pegembangan program menggunakan bahasa pemrograman visual
studio c#. Nantinya setelah program selesai dibuat akan dilakukan pengetesan dengan garpu tala A(440)
dengan cara membunyikan garpu tala dan membandingkan nada yang dihasilkan dengan nada garpu tala.
Setelah itu akan diimplementasikan kepada pengguna, apakah mereka dapat menggunakan aplikasi ini
sesuai yang diharapkan atau tidak.
5. Tahap Perawatan
Setelah tahap implementasi, akan dilakukan monitoring proses dan evaluasi yang akan digunakan
untuk menyempurnakan aplikasi yang telah dibuat.
HASIL DAN BAHASAN
mulai
Gitar
mikrofon
program
monitor
selesai
Saat program dijalankan, program membutuhkan masukan berupa suara gitar, meka pengguna
membunyikan gitar dan suara gitar akan ditangkap oleh mikrofon. Suara yang masuk melalui mikrofon
akan diproses di program sehingga menghasilkan tampilan yang akan ditampilkan pada layar monitor.
Umumnya dalam proses penalaan, suara gitar tidak langsung sama atau tertala. Dibutuhkan pengulangan
beberapa kali sehingga suara gitarnya tertala dengan baik. Bila gitar sudah tertala, pengguna bisa keluar dari
program.
Program dirancang untuk memudahkan penalaan atau tuning dengan cara menampilkan nada
musik yang berdasarkan suara yang dimasukkan ke dalam program. Sehingga pengguna tinggal
membandingkan nada tersebut dengan nada yang seharusnya.
Gitar pada umumnya memiliki 6 senar, dan masing-masing senar memiliki nada dasar tersendiri.
Dalam keadaan normalnya, nada dasar gitar dari senar paling atas ke bawah adalah E-A-G-D-B-E. Senar
paling atas paling tebal, semakin ke bawah semakin tipis. Urutan penamaan senar mulai dari yang paling
tipis (bawah) disebut senar 1, senar diatasnya senar 2, diatasnya lagi senar 3 dan seterusnya hingga senar 6
yang paling tebal (atas).
Awalnya, pengguna akan diminta untuk memilih senar yang akan ditala. Setelah membunyikan
senar gitar sesuai dengan senar yang dipilih tadi, dan suara akan ditangkap oleh mikrofon. Selanjutnya
suara yang ditangkap oleh mikrofon akan diproses menjadi sekumpulan data sampel dan diproses lagi
dengan menggunakan Fast Fourier Transform sehingga menjadi frekuensi-frekuensi. Dari frekuensi
tersebut, akan dicari frekuensi dominan dengan cara mencari nilai maksimum, dan untuk diubah menjadi
nada musik dengan menggunakan rumus:
fn = f0 * (a)n
dimana
fn adalah frekuensi yang didapat dari hasil perhitungan Fast Fourier Transform,
f0 adalah nada A (440 Hz),
a adalah 21/12,
n adalah jarak setengah nada dari nada A(440 Hz).
Dengan menghitung nilai n, dapat dicari nada musik yang dimasukan oleh pengguna. Nada musik
ini yang nantinya akan ditampilkan ke layar.
Nantinya ada kotak informasi yang memberitahukan pengguna apakah nada yang dibunyikan
sudah sesuai dengan nada yang seharusnya. Bila tidak sesuai kotak informasi tersebut akan memberitahu
harus mengencangkan senar atau mengendurkan senar tersebut. Selain itu nada yang dibunyikan pengguna
juga ditampilkan sehingga pengguna dapat melihat dan membandingkan sendiri juga. Misalnya pengguna
ingin menala gitar standar dan membunyikan senar paling atas atau senar 6, maka pengguna memilih senar
6 dari menu utama, menekan tombol mulai dan membunyikan senar 6 tersebut. Bila nada yang ditampilkan
adalah D dan nada seharusnya adalah E, maka nada senar 6 pengguna lebih rendah dari seharusnya. Berarti
tegangan senar lebih kendur, sehingga senar harus dikencangkan. Maka pada kotak informasi akan keluar
perintah untuk mengencangkan senar tersebut. Setelah senar dikencangkan, dicek lagi dengan
membunyikan senar yang sama sampai kotak informasi menyatakan kalau nada senar tersebut sudah sesuai.
Lakukan langkah yang sama dengan kelima senar yang lain.
Flowchart diagram dari program ini seperti yang terlihat pada gambar dibawah.
Start
Memilih senar yang akan
ditala
Input suara dari
gitar
Menyampling gelombang
suara
Mengubah gelombang
suara menjadi frekuensi
Menerjemahkan frekuensi
menjadi nada
tidak
tidak
Apakah
nada
sesuai?
Menampilkan
nada ke layar
Semua
senarsudah
ditala?
ya
ya
End
Saat program dijalankan pengguna diminta untuk memilih senar yang akan ditala. Setelah itu
pengguna diminta membunyikan senar gitar sesuai dengan senar yang dipilih. Berikutnya nada gitar akan
diterima oleh komputer dan disampling. Selanjutnya dengan menggunakan Fast Fourier Transform hasil
sampling tersebut akan diubah menjadi frekuensi. Dari kumpulan frekuensi tersebut akan dicari frekuensi
dominan untuk diubah menjadi nada yang akan ditampilkan ke layar monitor, beserta informasi apakah
nada tersebut sudah sesuai atau belum dan apa yang harus dilakukan. Bila nada belum sesuai, pengguna
harus menala ulang senar tersebut dan membunyikan senar gitar tadi sekali lagi, dan mengulang langkah
diatas. Bila nada sesuai, pengguna dapat memilih senar lain yang belum ditala untuk ditala. Bila semua
senar sudah ditala berarti penalaan sudah selesai dan pengguna keluar dari program.
Rancangan tampilan layar antar muka akan dibuat sebagai berikut,
1. Layar Menu Utama
Guitar tuner Application
Pilih Senar
Gambar gitar
Senar 6
Senar 5
Senar 4
Senar 3
Senar 2
Senar 1
exit
Layar Menu Utama berisi 6 tombol yang mewakili senar gitar. Pengguna dapat memilih senar
yang ingin ditala disini. tombol senar 1 untuk menuju penalaan di layar Tala Senar 1, tombol senar
2 untuk menuju layar Tala Senar 2, tombol senar 3 untuk menuju layar Tala Senar 3, tombol senar
4 untuk menuju layar Tala Senar 4, tombol senar 5 untuk menuju layar Tala Senar 5, tombol senar
6 untuk menuju layar Tala Senar 6. Selain itu terdapat juga icon tombol exit untuk keluar dari
program.
2.
Layar Menu Tala Senar 1-6
home
Tampilan gelombang suara
Tampilan spectrum frekuensi
Nada Anda
Nada Seharusnya
Nada anda
Nada Seharusnya
Gambar
urutan
senar
gitar
Kotak informasi
Mulai
Rancangan layar 1 sampai 6 secara layout sama, hanya berbeda dari isi kolom Nada
Seharusnya. Pada rancangan layar Tala Senar 1 terdapat tombol mulai yang digunakan untuk
memulai penalaan. Pengguna diminta untuk memasukan nada sesuai dengan senar yang telah
dipilih dan nantinya akan dicari Frekuensi dominan untuk diubah menjadi Nada. Nada ini akan
ditampilkan pada kolom Nada Anda sehingga user dapat melihat dan membandingkan dengan
nada seharusnya yang terdapat dalam kolom Nada Seharusnya. Selain itu juga kotak informasi
akan menampilkan pesan apakah nada sudah sesuai atau belum dan apa yang harus dilakukan.
Pengguna dapat kembali untuk memilih senar lain untuk ditala melalui tombol home diatas kanan.
Setelah Melakukan perancangan dan diimplementasikan dalam pemrograman, berikut adalah hasil
dan tampilan layar :
1. Layar Menu Utama
2.
Tampilan menu utama saat program dijalankan. Terdapat 6 tombol yang mewakili senar gitar yang
akan ditala. Disini pengguna diminta memilih senar untuk ditala. Tombol senar 1 untuk menala
senar 1 dan seterusnya. Tombol exit berguna untuk keluar dari program.
Layar Tala Senar 1
Tampilan halaman layar tala senar 1 saat dilakukan proses penalaan gitar. 2 kotak hitam di atas
akan menampilkan spektrum frekuensi dan juga gelombang suara, sedangkan kolom nada anda
akan menampilkan nada musiknya dan dapat dibandingkan dengan nada di kolom nada
seharusnya. Selain itu juga kotak informasi menampilkan perintah yang harus dilakukan.
3.
Layar Tala Senar 2
4.
Tampilan layar Tala Senar 2 hampir sama dengan tampilan layar Tala Senar 1. Tampilan berbeda
pada kolom Nada Seharusnya karena memang nada dasar senar berbeda.
Layar Tala Senar 3
5.
Layar Tala Senar 4
6.
Layar Tala Senar 5
7.
Layar Tala Senar 6
Pengetesan terhadap aplikasi menggunakan garpu tala A(440 Hz). Diambil data sampel 30 kali pengujian
Tabel Pengujian Garpu Tala
pengujian
Frekuensi
Nada
1
2
3
4
5
6
7
435
443
442
439
451
442
424
A
A
A
A
A
A
A
8
470
A#/Bb
9
452
A
10
463
A
11
444
A
12
438
A
13
442
A
14
434
A
15
453
A
16
410
G#/ Ab
17
440
A
18
445
A
19
447
A
20
442
A
21
435
A
22
432
A
23
467
A#/Bb
24
440
A
25
433
A
26
442
A
27
451
A
28
432
A
29
436
A
30
442
A
Dari hasil evaluasi di atas terdapat kesalahan penalaan 3 dari 30 kali testing, dengan tingkat kesalahan 10%.
Dapat disimpulkan bahwa penalaan berhasil.
SIMPULAN DAN SARAN
Simpulan
Setelah melakukan pengujian terhadap program dan juga melalui pembahasan pada bab-bab sebelumnya,
dapat ditarik kesimpulan sebagai berikut:
a. Teknik-teknik yang digunakan dalam grafik komputer mampu mempresentasikan
obyek dunia nyata ke dalam data komputer, sehingga dapat lebih mudah untuk
dikalkulasikan.
b. Fast Fourier Transform mampu mengubah gelombang suara berbasis waktu menjadi
gelombang berbasis frekuensi.
c. Terdapat noise yang cukup mengganggu dalam program tapi dapat sedikit teratasi
dengan pembatasan frekuensi rendah yang ditampilkan.
d. Mikrofon ternyata berpengaruh terhadap noise yang terjadi. Mikrofon yang kurang
bagus akan berpengaruh terhadap noise yang lebih banyak.
Saran
Setelah melakukan pengujian program dan pembahasan pada bab-bab sebelumnya, maka beberapa saran
dapat diajukan untuk pengembangan aplikasi sejenis maupun aplikasi lainnya, antara lain:
a. Penggunaan Fast Fourier Transform sudah terbilang cukup lama. Ada metodemetode lain yang mungkin bisa mempercepat performa program, atau mungkin lebih
mudah digunakan. Beberapa pengembangan Fast Fourier Transform antara lain,
Fastest Fourier Transform in the West (FFTW).
b. Akan sangat berguna jika aplikasi ini dapat diimplementasikan dalam telepon
genggam, tanpa mengurangi kecepatan kerja program.
REFERENSI
Anwar, K &Oktova, R. (2010) Analisis Fourier GelombangBunyiSenarGitarListrik. Diperoleh (13-8-2011)
dari
http://www.fi.itb.ac.id/~dede/Seminar%20HFI%202010/CD%20Proceedings/Proceedings/FP%2020.pdf
Bird, I.W. (1998) http://www.birdsoft.demon.co.uk/music/notecalc.htm. Diperoleh (5-8-2012)
Booch, G., Rumbaugh, J. & Jacobson, I. (1998)Unified Modeling Language User Guide, the. Diperoleh (914-2012)
dari
http://meusite.mackenzie.com.br/rogerio/the-unified-modeling-language-userguide.9780201571684.997.pdf
Mulyanto, A. R. (2008) Rekayasa Perangkat Lunak untuk SMK. Jilid 1. Jakarta: Direktorat Pembinaan
Sekolah Menengah Kejuruan
O’Brien, J. A (1999) Introduction to Information Systems. Edisi 8. Boston: McGraw Hill
Pusat Bahasa Kementrian Pendidikan Nasional. 2008. Kamus Besar Bahasa Indonesia Dalam Jaringan.
Diperoleh (9-17-2012) dari http://badanbahasa.kemdiknas.go.id/kbbi/
Raissi, R. (2002) MP3 the Theory Behind Diperoleh (8-13-2010) dari http://www.mp3tech.org/programmer/docs/mp3_theory.pdf
Settel, Z &Lippe, C. (2006) Real-Time Musical Applications using FFT-based Resynthesis. Diperoleh (827-2011) dari sheefa.net/zack/publications/FFT_NEWLONDONS95.pdf
Smith, J. O. (2003) Mathematics of the Discrete Fourier Transform (DFT) with Music and Audio
Applications. Diperoleh (8-27-2010) dari http://books.w3k.org/html/mdft/
Suits, B.H. (1998) http://phy.mtu.edu/~suits/NoteFreqCalcs.html. Diperoleh (8-10-2011)
Suits, B.H. (1998) http://phy.mtu.edu/~suits/notefreqs.html. Diperoleh (8-10-2011)
Weisstein,
E.
W.
(2003)
Fast
Fourier
Transform.
Diperoleh
(8-27-2011)
dari
http://mathworld.wolfram.com/FastFourierTransform.html
RIWAYAT PENULIS
Rizal Chandra lahir di kota Jakarta pada 28 Mei 1988. Penulis
menamatkan pendidikan S1 di Binus University dalam bidang Teknik InformatikaMatematika pada 2012.
Download