## Aplikasi Tuner Alat Musik Sasando Real-Time Menggunakan Teknik Fast Fourier Transform (FFT) dan Harmonic Product Spectrum (HPS)
Amin A. Maggang 1 , Sarlince O. Manu 2 , Molina O. Odja 3
1,2,3 Jurusan Teknik Elektro, Fakultas Sains dan Teknik, ,Universitas Nusa Cendana
1) Email:  amin_maggang@staf.undana.ac.id
2) Email: Sarlince_manu@staf.undana.ac.id
3) Email: Molina.odja@staf.undana.ac.id

## ABSTRAK
Tujuan dari penelitian ini adalah untuk mendesain suatu aplikasi tuner sasando yang memiliki tingkat akurasi yang tinggi  dalam  mendeteksi  frekuensi  fundamental  dari  jenis  sasando  32  senar  menggunakan  Algoritma  Fast  Fourier Transform  (FFT)  dan  Harmonic  Product  Spectrum  (HPS).  Tingkat  akurasi  yang  tinggi  ditentukan  dari  resolusi frekuensi yang tinggi. Menurut Lourde, M (2009), kemampuan telinga manusia untuk membedakan bunyi adalah pada resolusi 0.5 Hz. Manusia tidak mampu membedakan bunyi jika resolusi atau selisih  dua frekuensi yang berdekatan lebih kecil dari 0.5 Hz. Oleh karena itu, aplikasi yang didesain harus mampu memberikan resolusi 0.5 Hz. Berdasarkan hasil simulasi, Aplikasi Tuner sasando yang telah dibangun mampu memberikan  output resolusi 0.5 Hz. Selain itu, aplikasi  yang  dibangun  juga  dapat  menampilkan  spektrum  frekuensi  dan  mampu  memberikan  informasi  apabila frekuensi  dari  senar  yang  sedang  dituning  sudah  tepat  pada  frekuensi  fundamentalnya.  Tidak  hanya  itu,  apabila frekuensinya masih kurang atau sudah melewati frekuensi dasarnya, maka akan ditampilkan juga pada outputnya.
Kata Kunci: Tuner Sasando, Fast Fourier Transform (FFT), Harmonic Product Spectrum (HPS)

## 1. PENDAHULUAN
Sasando merupakan suatu alat musik tradisional yang berasal dari pulau Rote, salah satu kabupaten di propinsi  Nusa  Tenggara  Timur.  Alat  musik  ini merupakan  jenis  alat  musik  petik  seperti  gitar  atau kecapi. Sama seperti gitar, sasando juga memiliki jenis akustik  dan  listrik.  Perbedaan  yang  mencolok  antara sasando  dan  alat  musik  yang  menggunakan  senar lainnya adalah pada resonatornya. Sansando menggunakan daun lontar sedangkan alat musik petik lainnya menggunakan kayu sebagai resonator. Dilihat dari  jumlah  senar,  sasando  memiliki  jumlah  senar yang lebih banyak dari gitar. Sasando memiliki 28, 32, 40  bahkan  45  senar.  Jumlah  senar  yang  banyak memperlebar rentang oktaf dari sasando.
Namun  dengan  semakin  banyaknya  senar, seorang  pemain  sasando  harus  mampu  untuk melakukan  stem  senar  yang  tepat  susai  dengan frekuensi pada setiap senarnya. Hal ini tentunya akan sangat  sulit  bagi  seorang  pemula  yang  ingin  belajar memainkan alat  musik ini.  Selain  itu  satu  jenis  stem hanya  dapat  digunakan  untuk  memainkan  dua  nada dasar. Untuk dapat bermain dari nada dasar yang lain harus dilakukan penyeteman ulang untuk medapatkan susunan  nada  yang  sesuai  dengan  nada  dasar  yang ingin  digunakan  (edonsasando,  2011).  Nada  dasar yang dapat dimainkan pada sasando yaitu nada C, D, F,  dan  G.  Untuk  dapat  melakukan  stem  sasando, diperlukan  kemampuan  mendengar  yang  tinggi  dan hal ini tentunya bisa dilakukan oleh orang yang sudah berpengalaman menggunakan alat musik tersebut.
Oleh karena itu, pada penelitian ini penulis akan merancang suatu aplikasi Tuner untuk menolong
orang yang masih awam dalam menyetem senar sasando.  Jenis  tuner  yang  selama  ini  sudah  dibuat adalah  hanya  untuk  gitar  dan  piano.  Sampai  saat  ini belum  ada  peneliti  yang  mencoba  untuk  mendesain suatu algoritma khusus untuk  melakukan tuning senar pada sasando.
Algoritma yang akan dibuat untuk aplikasi tuner sasando diambil dari teknik sinyal prosesing yaitu FFT dan  HPS.  Kedua  teknik  ini  sudah  banyak  digunakan dalam  bidang  penelitian  pengenalan  kord.  Selain  itu implementasi  kedua  algoritma  paling  banyak dilakukan pada software MATLAB. Oleh karena itu, MATLAB juga digunakan pada penelitian ini sebagai software untuk membangun aplikasi Tuner Sasando.

## 2. METODE PENELITIAN
Desain  dan  implementasi  tuner  sasando  pada MATLAB dilakukan sesuai dengan dua diagram alur pada  gambar  3.  Pada  gambar  3.a  menjelaskan bagaimana  pengguna  dapat  melakukan  stem  sasando secara  real-time.  Ketika  sebuah  senar  dipetik, suaranya  akan  diverifikasi  apakah  ia  memiliki frekuensi  fundamental  yang  diinginkan  atau  tidak. Gambar  3.b  merupakan  alur  kerja  aplikasi.  Sinyal input,  dalam  hal  ini  suara  senar  sasando,  direkam dalam  format  .wav  dan  kemuadian  amplitudonya dinormalisasikan.  Setelah  itu  sinyal  tersbut  harus  di blok dalam frame dan dikonvolusikan dengan window Hann  untuk  mencegah  kebocoran  frekuensi  ketika
proses FFT. Output dari proses FFT adalah spectrum frekuensi yang terdiri dari fundamental frekuensi dan harmoniknya. Spektrum ini  yang dimasukan ke dalam algoritma  Harmonic  Product  Spectrum  untuk dikompresi dan kemudian menentukan nilai Frekuensi Fundamental secara otomatis
.

## 3. HASIL DAN PEMBAHASAN

## 4.1  Hasil  Desain  Aplikasi  Tuner  Sasando  pada Matlab
Hasil  yang  diperoleh  dalam  penelitian  adalah  suatu aplikasi  tuner  sasando  yang  telah  berhasil  didesain menggunakan  software  Matlab.  Aplikasi  yang dibangun  dapat  dipakai  untuk  melakukan  tuning sasando  seacara  real-time.  Berikut  merupakan tampilan  Grafik  User  Interface  (GUI)  aplikasi  yang dibangun.

## Gambar 4 Hasil Desain GUI Tuner Sasando
Berdasarkan  gambar  4  terdapat  tiga pushbutton ,  tiga axes , dan tiga p opupmenu , dan empat edit text . Fungsi dari setiap menu dijelaskan sebagai berikut:
a. Pushbutton “START”  untuk  memulai  proses tuning sasando
b. Pushbuton “CLEAR”  untuk  mereset  atau membersihkan  semua  fungsi  pada tuner  sasando menjadi nol.
c. Pushbutton “STOP”  untuk  memberhentikan proses tuning
d. Popupmenu “  PILIH  frekuensi  sampling”  untuk memudahkan  user  memilih  frekuensi  sampling yang diinginkan
e. Popupmenu “Durasi  Rekam”  untuk menentukan waktu rekaman
f. Popupmenu “Pilih  Senar”  untuk  memilih  salah satu senar dari 32 jenis senar
g. Edit text “NADA” untuk menampilkan nada dari jenis  senar  yang  dipilih  pada  popupmenu  “pilih senar”
h. Edit text “FREKUENSI (Hz)” untuk menampilkan  keluaran  frekuensi  yang  sedang dituning i. Edit text “Frek.  Resolusi  (Hz)”  untuk menampilkan  keluaran  resolusi  frekuensi  dari setiap  pemilihan  frekuensi  sampling  dan  durasi rekam j. Axes “Hasil Frame Blocking ” untuk menampilkan sinyal hasil Frame Blocking
k. Axes “FFT” untuk menampilkan spectrum sinyal hasil Fast Fourier Transform
l. Axes “HPS”  untuk  menampilkan  spectrum fundamental  frekuensi  hasil Harmonic  Product Spectrum
Gambar 1.a Proses Tuning
4.2  Penjelasan  coding  program  Tuner  Sasando secara Real Time
Agar  tuner  dapat  melakukan  tuning  secara Real Time maka setiap komponen pada GUI akan diberikan sintaks program tertentu sehingga proses tuning secara Real Time dapat  berjalan  sesuai  dengan  yang diinginkan.  Aplikasi  tuner  secara  real-time  ini  lah yang  akan  digunakan  untuk  pengujian  dan  analisis data.  Berikut  merupakan  tampilan  aplikasi  ketika proses tuning sasando secara real-time.
Gambar 5 Tampilan proses tuning secara real time
a. Pushbutton “START” Ketika pushbutton START  diklik,  sistem  akan mulai untuk merekam bunyi senar sasando yang dibunyikan dan akan diproses lebih lanjut sesuai dengan  tahapan-tahapan  algoritma  tuningnya. Untuk  lebih  jelasnya,  proses  selanjutnya  dan sintaks  programnya  dapat  dijelaskan  sebagai berikut
▪ Proses merekam bunyi senar sasando Sintaks program yang digunakan ditampilkan pada gambar dibawah ini

## Gambar 6 Sintaks rekam bunyi senar sasando
Pada  gambar  6  diatas,  tampak  bahwa terdapat  sintaks  while  yang  berfungsi untuk melakukan proses perulangan atau biasa  disebut  dengan looping selama kondisi  ekspresi  terpenuhi.  Proses looping ini  dapat  dihentikan  dengan menggunakan  sintaks  global.  Hasil keluaran  dari  tahapan  ini  berupa  sinyal suara berformat wav. gambar 7 dibawah ini  merupakan  bentuk  sinyal  keluaran nada A4 yang dihasilkan dari tahap ini
Gambar 7 Sinyal Keluaran A4 pada Matlab
▪ Proses Normalisasi Sintaks  program  yang  digunakan  untuk normalisasi adalah sebagai berikut

## Gambar 8 Sintaks program untuk Normalisasi
Proses  awal  yang  akan  dilakukan  oleh sistem  setelah  mendapatkan  masukan sinyal suara sasando, adalah normalisasi. Proses  ini  dilakukan  dengan  membagi data  masukan  (data  sinyal  suara  senar sasando)  dengan  nilai  absolut  data tersebut. Tujuannya adalah untuk membuat  amplitudo  maksimum  dari sinyal selalu sama yaitu satu. Proses ini menghasilkan  sinyal  seperti  gambar berikut
Gambar 9 Sinyal audio setelah

## Normalisasi
▪ Proses Frame Blocking
Sintaks program untuk melakukan frame blocking adalah sebagai berikut
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 10 4 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 x 10 4 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

## Gambar 10 Sintaks program untuk Frame Blocking
Setelah  proses  normalisasi,  proses selanjutnya  adalah Frame  blocking . Proses  ini  bertujuan  untuk  mecuplik sebagian  data  sesuai  panjang  nilai Frame blocking . Panjang frame blocking
bergantung dari durasi rekaman
dikalikan  dengan  frekuensi  sampling.
Keluarannya kemudian akan ditampilkan  pada  kotak axes  1 (Hasil Frame blocking ).

## Gambar 11 Sinyal Audio setelah proses Frame blocking
Sinyal  yang telah  dicuplik  ini memiliki panjang  sama  seperti  pada  frekuensi samplingnya.  Gambar  diatas  diambil dengan  frekuensi  sampling  sebesar 44100  Hz  sehingga  tampak  pada gambar, panjang sinyalnya pada sumbu x dimulai dari nol sampai sekitar 44100.
▪ Proses Windowing Sintaks program yang digunakan ditunjukan pada gambar dibawah ini
Gambar 12 Sintaks program untuk proses windowing
Proses  windowing  dilakukan  setelah melewati proses frame blocking . Tujuan dari windowing adalah untuk menghilangkan diskontinuitas yang diakibatkan oleh proses frame blocking. Tampak pada gambar diatas bahwa jenis window  yang  digunakan  adalah  jenis “hann”.

## Gambar 13 Hann Window
Gambar  13  adalah  jenis hann  window dengan  panjang  window  adalah  8000 titik. Pada proses diatas, sinyal keluaran y2  adalah  hasil  perkalian  antara  sinyal hasil frame  blocking x0 dan window hann .
▪ Proses FFT Sintaks  program  FFT  yang  digunakan adalah sebagai berikut

## Gambar 14 Sintaks program untuk proses FFT
Proses  selanjutnya  adalah  transformasi sinyal  menggunakan  teknik  FFT  untuk menghasilkan spektrum dari sinyal hasil windowing. Spektrum yang dibangkitkan inilah yang akan dianalisis untuk mengetahui frekuensi fundamental  dari  senar  yang  sedang dituning. Keluarannya akan ditampilkan pada axes 2 (Hasil FFT). Berikut adalah spektrum frekuensi hasil FFT dari nada A4.
0 1000 2000 3000 4000 5000 6000 7000 8000 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4

## Gambar 15 Spektrum Frekuensi hasil FFT
Tampak  pada  gambar  15  bahwa komponen  frekuensi  yang  muncul adalah  harmonik  dari  nada  dasar  A4 (440 Hz). Spektrum frekuensi fundamental  nada  A4  yang  diberi lingkaran  merah.  Dapat  dilihat  bahwa spektrum  harmonik  secara  keseluruhan memiliki jarak yang sama.
▪ Proses HPS Sintaks  program  yang  dituliskan  untuk HPS adalah sebagai berikut
Gambar 16 Sintaks Program untuk proses HPS
Seperti  ditunjukan  pada  gambar  16, proses HPS adalah proses yang bertujuan  untuk  menganalisa  susunan spektrum  hasil  FFT  dan  menentukan frekuensi  fundamentalnya.  Berdasarkan gambar 20, jumlah downsampling yang dilakukan adalah sebanyak 6 kali. Hasil HPS dapat dilihat pada gambar berikut

## Gambar 17 Spektrum Hasil proses HPS
Gambar  17  adalah  tampilan  hasil algoritma  Harmonic  Product  Spectrum (HPS).  Tampak  bahwa  setelah  proses HPS, Spectrum yang muncul hanya satu frekuensi, yaitu frekuensi fundamentalnya. Dalam hal ini frekuensi nada A4, 440 Hz.
▪ Frekuensi output Untuk  menghasilkan  suatu  keluaran frekuensi  fundamental,  maka  sintaks yang digunkana adalah sebagai berikut

## Gambar 18 Sintaks Program untuk frekuensi Fundamental
Sintaks ini akan menampilkan frekuensi fundamental  yang  diambil  dari  hasil perhitungan HPS, yaitu frekuensi keluaran  yang  memilki  amplitudo tertinggi.  Hasilnya  akan  ditampilkan pada edit  text  1 (Frekuensi  (Hz))  dan berupa string .
▪ Teks Nada keluaran
Untuk menghasilkan output nada keluaran  yang  sesuai  dengan  frekuensi standar, maka digunakan teknik look up table .  Berikut  merupakan  sintaksnya untuk beberapa nada.

## Gambar 19 Sintaks Program untuk Teks Nada Keluaran
Berdasarkan  sintaks  program  pada gambar 19, frekuensi standar keluarannya  akan  ditunjukan  pada edittext2 .  Sedangkan  kata  “Kurang”, “Tepat”, dan “Lebih” akan ditampilkan pada edittext3 .  Kurang  menunjukan bahwa  proses  tuning  yang  sedang dilakukan  belum  mencapai  frekuensi stadarnya. Sebaliknya kata lebih menunjukan  bahwa  frekuensi  yang sedang dituning sudah melebihi frekuensi  standarnya.  Proses  tuning harus  menunjukan  kata  “Tepat”,  yang artinya proses tuning sudah berada pada nada standarnya. Sintaks yang dituliskan di atas akan menampilkan kata “Tepat” apabila  frekuensi  senar  yang  sedang dituning dengan jarak mutlak lebih kecil dari 0.5 Hz.
|𝑥 − 𝑓𝑟𝑒𝑘𝑢𝑒𝑛𝑠𝑖 𝑠𝑡𝑎𝑛𝑑𝑎𝑟𝑑| ≤ 0.5 Hz.
b. Pushbutton “CLEAR”
Untuk menghapus hasil tuning sebelumnya, maka dibuatkan  button  clear  dengan  sintaks  sebagai berikut
Gambar 20 Sintaks program untuk pushbutton CLEAR
Ketika Pushbutton CLEAR  ditekan  maka axes dan edit pada  GUI  akan  dibersihkan  dari  data hasil tuning.
c. Pushbutton “STOP”
Sintaks  yang  digunakan  untuk  memberhentikan proses tuning adalah

## Gambar 21 Sintaks program untuk Pushbutton STOP
Dapat  dilihat  bahwa  terdapat  fungsi  global digunakan  untuk  menghentikan  proses  tuning. Hal  ini  karena  pada  awalnya  digunakan  fungsi while untuk melakukan looping sehingga diakhir program harus menggunakan fungsi global untuk menghentikan proses looping tersebut.
d. Popupmenu “Pilih Frek Sampling” Popupmenu ini  digunakan  untuk  memilih  jenis frekuensi sampling yang diinginkan untuk proses tuning.
e. Popupmenu “Pilih durasi”
Popupmenu “pilih  durasi”  ini  berfungsi  untuk memudahkan user dalam memilih durasi rekaman yang  secara  tidak  langsung menentukan resolusi frekuensi  yang  ada  pada  edit  text  “frekuensi resolusi”.
f. Popupmenu “Pilih Senar”
Popupmenu  ini  digunakan  untuk  memilih frekuensi  sampling.  Tujuannya  adalah  untuk memudahkan pengujian dengan frekuensi sampling yang berbeda. Sintaks pada popupmenu ini  sudah  tergabung  dengan look  up  table yang terdapat  berbagai  nada  frekuensi  standar  setiap senar sasando.

## 4. KESIMPULAN
Berdasarkan  hasil  penelitian,  tahap  pembuatan tuner sasando menggunakan software MATLAB telah selesai dilaksanakan. Dari hasil tersebut maka terdapat beberapa  hal  yang  dapat  disimpulkan  dari  aplikasi tuner sasando tersebut.
1. Aplikasi  tuner  yang  dibangun  menggunakan MATLAB  tersebut  mampu  melakukan  tuning sasando secara real-time.
2. Dilihat  dari  sisi input atau  masukan,  pengguna bisa memilih tiga jenis frekuensi sampling, yaitu 8000  Hz,  16000  Hz  dan  44100  Hz.  Selain  itu, Aplikasi  yang  telah  dibangun  dapat  melakukan tuning 32 senar sasando dengan nada dasar yang berbeda.  Dengan  menggunakan  popupmenu,
pengguna  dapat memilih  jenis  senar  yang ingin dituning
3. Dilihat  dari  sisi  ouput,  aplikasi  tersebut  dapat menampilkan Jenis Nada dan frekuensi fundamentalnya pada dua edit text yang berbeda. Lebih dari itu,  aplikasi  tersebut dapat memberikan  informasi  nilai  frekuensi,  apakah “Kurang”, “Tepat”, atau  “Lebih” dari frekuensi standarnya.  Spektrum  frekuensi  hasil  frame blocking,  hasil  FFT  dan  Harmonic  product spectrum juga dapat dilihat secara real time.

## DAFTAR PUSTAKA
Da Costa A. M, “Stem Gitar Bass Menggunakan Harmonic Product
Spectrum” Yogyakarta . 2017.
Edonsasando,    “Petunjuk  Cara  memainkan Sasando”. https://edonsasando.wordpress.com/2011/12/02/petun juk-cara-memainkan-sasando/ . 2011.
Gunawan, Dadang & Juwono, Filbert
Hilman. “Pengolahan  sinyal  digital  dengan pemrograman  matlab”. Yogyakarta:  Graha  Ilmu . 2012.
Ludemen, Lonnie C., “Fundamenatal of Digital Signal Processing”, Canada, John Wiley & Sons, Inc. 1987.
Lay Ipank,  “Sasando”. http://www.buset- online.com/sasando/ . 2016.
M. Soeharto, “Belajar Notasi Balok”, Jakarta: Gramedia . 1978.
N. Siripya dan T. Nagarijan. “Pitch Estimation
Using Harmonic Product Spectrum derived from DCT,” IEEE . 2013. Setiawan, Paramita, dan Setiamanaha, “Brain Stimulating Effects of Acoustic Sasando” Jurnal pendidikan penabur: 22-29. 2009.
S. Wiguna,  “Frequency  Detection  of  Piano Basic Tone  Based  on  Correlation,  Discrete  Cosine Transform,  and  Fast  Fourier  Transform,”  Telkom university. 2009.

## T.G. Permana., “ Identifikasi Akor Gitar
Menggunakan Algoritma Harmonic Product Spectrum,” Telkom Univerity . 2014.
Y. Maulana, ” Implementation of guitar tuner based on Fast Fourier Transform,” Telkom University. 2012.
[1] [ 2 ] [ 4 ] [ 3 ] [ 7 ] [ 8 ] [ 9 ] [ 6 ] [ 5 ]