frekuensinya yaitu nilai frekuensi yang paling tinggi yang berada di urutan pertama setelah melalui proses FFT dan spektrum frekuensi.
6. Penentuan Nada Senar
Setelah mengetahui nilai frekuensi yang dihasilkan, maka dapat diketahui nada keluarannya pada masing-masing senar, dari senar pertama sampai senar keempat. Pada
proses penentuan ini menggunakan look up table. 7.
Keluaran teks Keluarannya akan menampilkan teks nada standar dari senar satu hingga senar empat
apabila proses tuning sudah sampai nada standar dari masing-masing senar gitar bass elektrik.
3.2. Nada Uji
Fungsi dari nada uji ialah untuk menjalankan program tuner bass secara belum real time. Proses ini bertujuan untuk pencuplikan gelombang suara yang akan menghasilkan
gelombang diskret termodulasi pulsa. Nada uji juga digunakan sebagai referensi awal untuk mencari frekuensi keluaran look up table. Berikut adalah diagram blok pada proses
pengambilan nada uji yang ditunjukkan pada Gambar 3.3.
Masukan Suara Gitar Bass Elektrik Keluaran wav
Gambar 3.3. Diagram Blok Proses Pengambilan Nada Uji Perekaman
3.3. Perancangan Tampilan Program GUI MATLAB
Gambar 3.4 menunjukkan tampilan proses program GUI Matlab dan Tabel 3.1 memperlihatkan keterangan tampilan utama sistem.
Gambar 3.4. Tampilan Proses Program GUI Matlab
Tabel 3.1. Keterangan Tampilan Utama Sistem
Nama Keterangan
Hasil Frame Blocking
Berfungsi untuk menampilkan grafik hasil frame blocking
Hasil FFT Berfungsi untuk menampilkan grafik hasil Fast
Fourier Transform FFT Hasil HPS
Berfungsi untuk menampilkan grafik hasil Harmonic Product Spectrum HPS
Pilih Senar Berfungsi untuk memilih senar berapa yang ingin
dilakukan tuning Frekuensi Hz
Berfungsi untuk menampilkan frekuensi akhir nada dalam satuan Hertz
NADA Berfungsi untuk menampilkan nada standar pada
senar yang dipilih Hasil Frame Blocking
Hasil FFT Hasil HPS
Pilih Senar Frekuensi Hz
NADA
BERHENTI Status
MULAI CLEAR
STEM GITAR BASS MENGGUNAKAN HARMONIC PRODUCT SPECTRUM
Tabel 3.1. Lanjutan Keterangan Tampilan Utama Sistem
3.4. Perancangan Alur Program
Diagram alir sistem stem gitar bass elektrik ditunjukkan pada Gambar 3.5.
Gambar 3.5. Diagram Alir Sistem Stem Gitar Bass Elektrik
Nama Keterangan
Status Berfungsi untuk menampilkan; Kurang, Pas atau
Lebih pada proses tuning untuk mendapatkan nada standar pada senar yang sedang dilakukan tuning
MULAI Berfungsi untuk menjalankan proses tuning bass,
setelah sudah memilih senar berapa yang ingin dilakukan tuning
CLEAR Berfungsi untuk membersihkan semua hasil
keluaran, jika senar yang dipilih sudah tuned BERHENTI
Berfungsi untuk menghentikan proses tuning
START A
Masukan Suara Gitar Bass
Keluaran Teks
A Proses Perekaman
Normalisasi Frame Blocking
Windowing FFT dan Spektrum
Frekuensi Harmonic Product Spectrum
Penentuan Frekuensi Penentuan Nada
Look Up Table PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Pada sistem tuning gitar bass elektrik ini terdapat pada proses-proses yang perlu dilakukan, yang bermula dari perekaman hingga hasil akhir yang akan memberikan tampilan
yaitu teks untuk nada standar serta frekuensi dari nada tersebut, hasil frame blocking, hasil FFT, hasil HPS, dan hasil tuning yang nantinya akan ditampilkan status kurang, pas, atau
lebih pada masing-masing senar yang didapatkan saat proses tuning berlangsung.
3.4.1. Rekam
Diagram alir sub rutin rekam ditunjukkan pada Gambar 3.6.
Tidak
Ya
Gambar 3.6. Diagram Alir Sub Rutin Rekam
Pada proses perekaman, proses pertama akan melewati sampling yang tujuannya untuk merekam nada gitar bass elektrik dengan nilai frekuensi sampling yang telah
ditentukan oleh penulis yaitu 512 Hertz. Penulis memilih nilai frekuensi sampling tersebut START
Keluaran: Nada Terekam
END Sampling
Mulai? Masukan: Pilih
“Nomor Senar” di GUI
Input: Tekan Tombol “MULAI” di GUI
karena frekuensi sampling minimal harus dua kali lebih besar dari frekuensi tertinggi dari sinyal yang dilakukan sampling tersebut, dari Tabel 2.1 terlihat bahwa frekuensi terbesar
yang dimiliki pada senar gitar bass dari senar pertama hingga senar keempat yaitu dengan nilai frekuensi sebesar 98 Hz yang terdapat pada nada G. Jadi penulis cukup untuk memilih
nilai pada frekuensi sampling yaitu 512 Hertz. Nilai untuk frekuensi sampling didapatkan berdasarkan persamaan 2.1. Jadi semua sampel nada yang diambil dalam proses
perekaman, melalui sampling terlebih dahulu sebelum masuk ke tahap selanjutnya. Hasil keluaran untuk proses perekaman dalam bentuk wav.
3.4.2. Normalisasi
Diagram alir normalisasi ditunjukkan pada Gambar 3.7.
Gambar 3.7. Diagram Alir Normalisasi
Tujuan dari proses normalisasi adalah untuk menaikkan atau menurunkan amplitudo dari sebuah file suara agar semua sampel di dalamnya berada pada rentang tertentu
START
Masukan: Nada Terekam
Mencari Nilai Maksimal Dari Data Nada
END Data Nada Rekam
dibagikan dengan Nilai Maksimal Nada Rekam
Keluaran: Hasil Normalisasi
sehingga dapat terbentuk pada skala yang sama, agar kuat atau lemahnya suara nada gitar yang dilakukan tuning tidak terlalu memengaruhi proses penganalan.
Berdasarkan persamaan 2.2, proses normalisasi ini dilakukan dengan cara membagi setiap nilai data masukan yaitu nada terekam dengan nilai absolut maksimal dari
data masukan tersebut, sehingga didapatkan sinyal yang ternormalisasi untuk nada terekam.
3.4.3. Frame Blocking
Diagram alir frame blocking ditunjukkan pada Gambar 3.8.
Tidak Tidak
Tidak
Ya Ya
Ya Tidak
Tidak
Ya Ya
Gambar 3.8. Diagram Alir Frame Blocking
Setelah proses normalisasi, maka proses selanjutnya yaitu frame blocking. Panjang frame yang diberikan yaitu 16, 32, 64, 128, 256, dan 512. Panjang frame yang digunakan
START
Masukan: Hasil Normalisasi
END Mengambil Data
Sepanjang Nilai Frame Frame
= 16 Frame
= 32 Frame
= 64
Keluaran: Hasil Frame Blocking
di GUI Frame
= 128 Frame
= 256 Frame
512 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
sangat mempengaruhi keberhasilan dalam analisa spektral. Di satu sisi ukuran dalam frame harus sepanjang mungkin untuk dapat menunjukkan resolusi frekuensi yang baik. Tetapi di
sisi lain ukuran frame juga harus cukup pendek untuk dapat resolusi waktu yang baik. Dalam proses ini, data yang diambil mulai dari sinyal yang paling kiri dan akan diambil sepanjang
nilai frame yang sudah diberikan, sehingga dapat memudahkan dalam perhitungan dan analisa sinyal. Data yang diambil dapat mewakili data terekam. Data yang diambil tersebut
merupakan keluaran untuk proses frame blocking.
3.4.4. Windowing
Diagram alir windowing ditunjukkan pada Gambar 3.9.
Gambar 3.9. Diagram Alir Windowing
Suara yang dipotong-potong menjadi beberapa frame membuat data suara menjadi discontinue, hal ini mengakibatkan kesalahan data proses Fourier transform. Fungsinya
windowing untuk mengurangi efek diskontinuitas tersebut saat sinyal ditransformasikan ke domain frekuensi. Proses ini menggunakan fungsi hamming yang ada di program Matlab.
Hamming window membuat hasil windowing akan lebih halus dalam menghilangkan efek diskontinuitas, untuk mendapatkan hasil untuk proses windowing, maka hasil frame blocking
START
Masukan: Hasil Frame Blocking
Hasil Frame Blocking dikalikan dengan Hamming Window
END Keluaran: Hasil
Windowing PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dikalikan dengan hamming window. Fungsi window yang paling sering digunakan dalam aplikasi voice recognition adalah hamming window. Hamming Window mempunyai side
lobe yang paling kecil dan main lobe yang paling besar sehingga hasil windowing akan lebih halus dalam menghilangkan efek diskontinuitas. Berdasarkan persamaan 2.3, hamming
window adalah sebuah sebuah vektor dengan jumlah sebanyak n. Nilai n akan disesuaikan dengan banyaknya elemen pada frame sehingga banyaknya elemen pada hamming window
akan sama dengan banyaknya elemen pada frame. Hal tersebut akan menghilangkan efek diskontinuitas pada proses Fourier transform ini.
3.4.5. FFT dan Spektrum Frekuensi
Diagram alir FFT dan spektrum frekuensi ditunjukkan pada Gambar 3.10.
Gambar 3.10. Diagram Alir FFT dan Spektrum Frekuensi START
Masukan: Hasil Windowing
Menghitung Nilai FFT
END Penentuan
Spektrum
Keluaran: Spektrum Frekuensi
Output di GUI “Hasil FFT”
Dalam proses ini, perhitungan dengan FFT digunakan untuk membangkitkan spektrum frekuensi. Dalam proses perhitungan FFT tersebut menggunakan fungsi FFT yang
ada di program Matlab. Setelah mendapatkan nilai FFT, proses selanjutnya adalah mencari spektrum frekuensi, tujuannya untuk mendapatkan keluaran spektrum frekuensi. Sebelum
mendapatkan keluaran spektrum frekuensi, ada juga proses yang harus dilewati yaitu proses penentuan spektrum. Proses ini akan diproses setelah menghitung nilai FFT, dan untuk
menentukan spektrum dalam proses tersebut dengan cara yaitu ambil separuh bagian kiri dari FFT. Proses tersebut adalah salah satu cara untuk mengubah sinyal dari domain waktu
ke domain frekuensi. Berdasarkan persamaan 2.4, FFT merupakan pengembangan dari komputasi dengan menggunakan DFT untuk mengubah sinyal dari domain waktu ke domain
frekuensi, dan FFT dapat menghitung DFT dengan cepat dan efisien untuk membangkitkan spektrum frekuensi.
3.4.6. Harmonic Product Spectrum HPS
Diagram alir Harmonic Product Spectrum HPS ditunjukkan pada Gambar 3.11.
Gambar 3.11. Diagram Alir Harmonic Product Spectrum
Proses HPS ini dilakukan setelah mencari spektrum frekuensi, pada tahap ini sinyal keluaran dari hasil perhitungan FFT yang sudah membangkitkan spektrum frekuensi tersebut
START
Masukan: Spektrum Frekuensi
Perkalian Spektrum Frekuensi Menggunakan
Harmonic Product Spectrum
END Keluaran: Hasil Perkalian
Spektrum Frekuensi Menggunakan Harmonic
Product Spectrum
B B
Output di GUI “Hasil HPS”
akan diproses berdasarkan algoritma HPS, dan dengan cara dikalikan nilai hasil spektrum yang ada, hasilnya akan membentuk puncak yang jelas pada frekuensi fundamental, artinya
untuk mendapatkan hasil sinyal yang bebas dari harmonik. Berdasarkan persamaan 2.5, HPS merupakan suatu metode yang berfungsi untuk melihat frekuensi standar yang terdapat
pada sinyal masukan. Puncak dalam spektrum merupakan kelipatan harmonik dari frekuensi fundamental, oleh karena itu, dikompresi dengan bilangan bulat dan menambahkan hasil
frekuensi terkompresi dari spektrum akan memberikan puncak tertinggi pada semua harmonik. Hasil akhir dari Harmonic Product Spectrum ini diteruskan ke dalam proses
penentuan frekuensi.
3.4.7. Penentuan Frekuensi
Diagram alir penentuan frekuensi ditunjukkan pada Gambar 3.12.
Gambar 3.12. Diagram Alir Penentuan Frekuensi
Dengan hasil perkalian spektrum frekuensi menggunakan HPS, sudah bisa menentukan hasil keluaran nilai frekuensi pada nada masukan. Hasil dari perkalian frekuensi
yang didapatkan dijadikan hasil untuk menentukan range nada yang mana dari hasil frekuensi yang didapatkan dalam proses penentuan frekuensi ini, dari frekuensi tersebut,
hasil keluaran dapat diketahui apakah masih kurang, sudah pas, atau sudah lebih dari nada standar pada masing-masing senar gitar bass yang sedang dilakukan tuning.
START
Masukan: Hasil Perkalian Spektrum Frekuensi
Menggunakan Harmonic Product Spectrum
Menentukan Nilai Frekuensi END
Keluaran: Nilai Frekuensi
C C
Output di GUI “Frekuensi Hz”
3.4.8. Look Up Table
Dalam perancangan tuner gitar bass elektrik ini, menggunakan look up table pada proses penentuan nadanya, untuk menentukan frekuensi pada look up table, penulis memakai
frekuensi yang sudah ditentukan pada nada standar gitar bass elektrik sesuai standar internasional yang terdapat pada Tabel 2.1. Pengambilan nada gitar bass dilakukan melalui
tahap perekaman. Setalah proses perekaman maka akan melalui preprocessing yang terdiri dari proses normalisasi, frame blocking, dan windowing. Setelah itu, menghitung dengan
FFT dan penentuan spektrum setelah itu dilakukan proses HPS, sehingga didapatkan plot Harmonic Product Spectrum. Prosesnya ditunjukkan pada Gambar 3.13.
Gambar 3.13. Diagram Alir Proses Penentuan Frekuensi Akhir untuk Look Up Table START
Keluaran Fekuensi Masukan: Suara Gitar Bass
Perekaman
Preprocessing
FFT dan Spektrum Frekuensi
Harmonic Product Spectrum
Penentuan Frekuensi PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.4.9. Penentuan Teks Nada Standar
Diagram alir penentuan teks nada standar ditunjukkan pada Gambar 3.14.
Tidak Tidak
Tidak
Ya Ya
Ya
Tidak Tidak
Ya Ya
Ya
Tidak Tidak
Ya Ya
Ya
Gambar 3.14. Diagram Alir Proses Penentuan Teks Nada Standar START
Masukan: Nilai Frekuensi
Senar 1 Senar 2
Senar 3
frek98
END D
frek73 D
frek73 E
F
G H
Senar 4
Kurang Pas
Lebih
Kurang Pas
Lebih frek=98
frek98
frek=73 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tidak Tidak
Ya Ya
Ya
Tidak Tidak
Ya Ya
Ya
Gambar 3.14. Lanjutan Diagram Alir Proses Penentuan Teks Nada Standar
Data masukan berupa frekuensi dari masing-masing senar gitar bass yang terdapat setelah melewati beberapa proses yang ada di atas. Setelah mendapatkan frekuensi tersebut,
maka akan dibandingkan dengan frekuensi masukan pada look up table yang sudah diatur sesuai frekuensi standar gitar bass yang terdapat pada Tabel 2.1. Jika frekuensi yang didapat
sesuai dengan frekuensi standarnya, maka di situlah akan mendapatkan nada standar pada senar yang dilakukan tuning. Singkatnya yaitu setelah mengetahui nilai frekuensinya, maka
hasil keluaran teks nada standar dari masing-masing senar gitar bass yang dilakukan tuning tersebut dapat diketahui. Penentuan hasilnya dengan menggunakan look up table terlihat
pada Gambar 3.13, dari frekuensi akhir yang didapatkan, maka range frekuensi look up table dapat ditentukan untuk nada standar pada masing-masing senar gitar bass.
E
frek55
G
frek41
H F
Lebih Pas
Kurang
Kurang Pas
Lebih frek=55
frek55
frek=41 frek41
3.4.10. Keluaran Teks
Di bagian akhir ini keluaran akan menampilkan teks nada standar gitar bass sesuai dengan senar yang dipilih untuk melakukan tuning dan akan menampilkan juga status
Kurang, Pas, atau Lebih pada hasil keluarannya. Setelah proses penentuan teks nada selesai, maka akan mendapatkan keluarannya. Proses ini menggunakan call back yang
terdapat pada GUI Matlab dengan inisialisasi sebagai status untuk proses tuning. Berikut ini adalah diagram alir proses untuk menampilkan teks keluaran.
Tidak
Ya
Gambar 3.15. Diagram Alir Proses Menampilkan Teks Keluaran START
Masukan: Indeks Nilai Maksimum
Proses Tuning
END Sudah Tuned?
Status
sethandles.edit,string,status
Output di GUI “NADA” dan
“Status” PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.5. Rancangan Pengujian
Untuk mengetahui performa sistem yang telah dirancang, maka pengujian dilakukan terhadap sistem dengan memainkan tuning gitar bass secara real time. Proses
pengujiannya yaitu menganalisis perbandingan frekuensi yang dihasilkan oleh sistem frekuensi sistem dengan frekuensi standar yang ada di dalam sistem frekuensi standar
sistem. Untuk mengetahui tingkat akurasi nada yang dihasilkan pada senar gitar bass, perlu
dilakukan perbandingan antara frekuensi yang didapat pada sistem dari semua panjang frame blocking yang sudah disebut di bagian sebelumnya dengan frekuensi standar sistem
yang tertera pada Gambar 3.14. Sebelum melakukan pengujian, senar gitar bass harus berada pada posisi tuned. Senar gitar bass dinyatakan sudah tuned kalau keluarannya sudah sesuai
dengan diagram alir proses penentuan teks nada standar sistem yang tertera pada Gambar 3.14. Pengujian dilakukan sebanyak sepuluh kali pada masing-masing senar gitar bass, lalu
dihitung frekuensi rata-ratanya. Frekuensi rata-rata yang didapatkan menggunakan rumus:
3.1
Setelah melewati proses pengambilan dan perhitungan untuk mendapatkan frekuensi rata-rata, pengujian ini sangat membutuhkan akurasi yang tinggi dalam mendeteksi
frekuensi. Hal ini dibutuhkan sebagai catuan dalam memberikan feedback yang efektif. Nilai akurasi yang didapatkan menggunakan rumus [13]:
3.2 Setelah membandingkan frekuensi yang dihasilkan oleh sistem dengan frekuensi
standar sistem, maka didapat persentase akurasi antara frekuensi sistem dengan frekuensi standar sistem pada masing-masing senar gitar bass. Selanjutnya akan dihitung juga rata-
rata akurasi dari setiap panjang frame blocking, lalu dibuat grafik untuk memperlihatkan lebih jelas pengaruh panjang frame blocking terhadap tingkat pengenalan sistem.
Setelah melewati semua proses pengujian yang di atas, performa dari sistem tersebut akan dinyatakan sudah berjalan dengan baik, jika persentase dari tingkat pengenalan
sistem mendekati atau mencapai 100. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
BAB IV HASIL DAN PEMBAHASAN
Bab ini akan membahas mengenai langkah-langkah pada program yang telah dibuat dan program akan diuji terlebih dahulu untuk mengetahui cara kerjanya apakah sudah sesuai
dengan perancangan. Pengujian berguna untuk mengetahui kinerja program tersebut dalam melakukan tuning pada gitar bass. Hasil pengujian berupa data-data, dengan data-data hasil
pengujian menunjukkan program yang telah dirancang dapat berjalan baik atau tidak, dan dari data tersebut dapat dianalisa cara kerjanya. Setelah dianalisa, kesimpulan dapat ditarik
untuk sistem ini.
4.1. Pengujian Program Stem Gitar Bass Menggunakan Harmonic