9. Keluaran Teks
Dari penentuan nada, maka dapat diketahui nada apa yang dimainkan. Keluarannya adalah berupa teks nada.
3.1.5 Keluaran : Teks
Keluaran akhir untuk pengenalan nada ini berupa teks nada yang dikenali dan teks “ERROR” jika nada tidak dikenali.
3.2. Look Up Table
Dalam perancangan pengenalan nada alat musik belira ini, menggunakan look up table
pada proses penentuan nadanya. Untuk menentukan frekuensi pada look up table, penulis harus mencari frekuensi tengahnya terlebih dahulu kemudian menentukan range
frekuensi yang digunakan. Untuk memperoleh frekuensi tengah tersebut, penulis mengambil 3 sampel untuk masing-masing nada yang akan dikenali
“
, ,
, 1, 2, 3, 4, 5, 6, 7,
, ,
, ,
,
“ kemudian menentukan nilai rata-ratanya. Nilai rata-rata tersebut yang digunakan sebagai frekuensi tengah penentu range pada look up table. Pengambilan nada
dilakukan melalui tahap perekaman. Setelah proses perekaman maka akan melalui preprocessing
yang terdiri dari proses normalisasi awal, pemotongan sinyal, frame blocking
, normalisasi akhir, dan windowing. Setelah itu, menghitung dengan DFT dan penentuan spektrum sehingga didapatkan plot spektrum frekuensi. Prosesnya ditunjukkan
pada gambar berikut:
Gambar 3.3 Proses Penentuan Frekuensi Tengah untuk Look Up Table
3.3. Nada Uji
Proses ini bertujuan untuk pencuplikan gelombang suara yang akan menghasilkan gelombang diskret termodulasi pulsa. Fungsi dari nada uji ialah untuk menjalankan
program pengenalan suara nada belira secara offline atau belum real-time. Selain itu, nada uji juga digunakan untuk mencari frekuensi tengah look up table. Berikut gambar blok
diagram proses pengambilan nada uji:
Gambar 3.4 Diagram Blok Proses Pengambilan Nada Uji
3.4. Perancangan Tampilan Program GUI MATLAB
Gambar 3.5 Tampilan Proses pada GUI MATLAB Rekam
Selesai Bar Hasil Rekam
Bar Spektrum Frekuensi Tampilan Teks
Nada Pilihan Nilai Frame
Tabel 3.1 Keterangan Tampilan Utama Sistem
3.5. Perancangan Alur Program
Gambar 3.6 Diagram Alir Sistem Pengenalan Nada Belira Nama
Keterangan
Pilihan Nilai Frame Untuk memilih nilai frame blocking
Rekam Untuk memulai program
Selesai Untuk mengakhiri program
Plot Hasil Rekam Untuk menampilkan grafik hasil rekam
Plot Spektrum Frekuensi Untuk menampilkan grafik spektrum
frekuensi Tampilan Teks Nada
Untuk menampilkan teks nada belira sesuai nada yang dimainkan
Pada sistem pengenalan nada ini terdapat proses-proses yang perlu dilakukan. Bermula dari perekaman hingga hasil akhir yang akan memberikan tampilan teks untuk
nada yang dimainkan.
3.5.1 Rekam
Gambar 3.7 Diagram Alir Sub Rutin Rekam Pada proses perekaman, proses pertama akan melewati sampling yang tujuannya untuk
merekam nada belira dengan nilai frekuensi sampling yang telah ditentukan yaitu 10000 Hz
. Nilai untuk frekuensi sampling didapatkan berdasarkan rumus 2.1. Jadi semua sampel nada yang diambil dalam proses perekaman, melalui proses sampling terlebih
dahulu sebelum masuk ke tahap selanjutnya. Hasil keluaran untuk proses perekaman dalam bentuk wav.
Berikut ini merupakan cara untuk sampling nada: 1.
Menentukan panjang durasi perekaman yaitu 1,5 detik [L31]. 2.
Menentukan frekuensi sampling yaitu 10000 Hz [L19]. 3.
Menentukan jumlah sample dengan mengalikan panjang durasi perekaman dengan frekuensi sampling.
4. Merekam suara masukan dengan perintah wavrecord.
5. Menyimpan hasil rekaman dengan perintah wavwrite.
6. Menampilkan sinyal hasil rekaman dengan perintah plot.
3.5.2 Normalisasi Awal
Gambar 3.8 Diagram Alir Normalisasi Awal Tujuan dari proses normalisasi awal adalah untuk menyetarakan amplitudo dari data sinyal
nada terekam sehingga dapat terbentuk pada skala yang sama agar kuat atau lemahnya suara nada yang dimainkan tidak terlalu memengaruhi proses pengenalan. Dalam proses
normalisasi ini, nilai-nilai data masukan nada terekam dibagikan dengan nilai absolut maksimal dari data itu sendiri sehingga didapatkan sinyal yang ternormalisasi untuk nada
terekam. Rumus untuk membagi data dapat dilihat pada persamaan 2.2.
3.5.3 Pemotongan Awal
Gambar 3.9 Diagram Alir Pemotongan Awal
Proses pemotongan awal adalah pemotongan sinyal awal yang tidak digunakan yang terdapat di sisi kiri atau bagian awal dari sinyal yaitu bagian silence dan bagian
transisi. Tujuan dari proses pemotongan bagian silence adalah untuk menghilangkan bagian yang tidak termasuk bagian dari sinyal nada, dan tujuan pemotongan bagian transisi
adalah untuk mendapatkan sinyal yang benar-benar suara nada alat musik belira. Proses pemotongan pertama pada bagian silence, pada proses ini akan memotong sinyal suara
yang terekam sebelum sinyal suara nada belira. Pemotongan kedua yaitu pada bagian transisi. Pemotongan ini dilakukan dengan menghilangkan ¼ bagian dari sinyal yang
terdapat di bagian awal bagian transisi setelah pemotongan bagian silence. Setelah melalui 2 dua kali proses pemotongan, maka didapatkan keluaran untuk hasil
pemotongan awal. Berikut ini merupakan cara pemotongan sinyal bagian silence dan pemotongan bagian
transisi: 1.
Menentukan nilai yang digunakan sebagai batas potong yaitu 0,3 [2]. 2.
Mencari bagian sinyal yang 0,3 dan -0,3. Sinyal yang dicari tersebut diinisialisasi sebagai b1.
3. Sinyal yang tidak termasuk b1 adalah sinyal silence sehingga sinyal tersebut
dihilangkan. 4.
Pemotongan sinyal transisi dengan mengalikan jumlah data sinyal dengan 0,25. Hasil perkalian tersebut diinisialisasi sebagai bts.
5. Menghilangkan data sinyal mulai dari indeks 1 sampai dengan indeks bts.
3.5.4 Frame Blocking
Gambar 3.10 Diagram Alir Frame Blocking Setelah proses pemotongan, maka proses selanjutnya yaitu frame blocking. Nilai
frame dipilih oleh user. Pilihan nilai-nilai frame blocking yang diberikan yaitu 64, 128,
256, 512, dan 1024. Nilai-nilai tersebut ditentukan sendiri secara objektif dan nilai-nilai tersebut juga telah digunakan pada penelitian-penelitian sebelumnya [2]. Dalam proses ini,
data yang diambil mulai dari sinyal yang paling kiri dan akan diambil sepanjang nilai frame
yang telah dipilih oleh user 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.5.5 Normalisasi Akhir
Gambar 3.11 Diagram Alir Normalisasi Akhir Masukan dari normalisasi akhir adalah sinyal hasil frame blocking. Pada proses
frame blocking sinyalnya tidak maksimal sehingga dibutuhkan normalisasi akhir untuk
menyetarakan amplitudo menjadi maksimum. Pada proses normalisasi akhir, data masukan hasil frame blocking dibagi dengan nilai absolut maksimal dari data hasil frame blocking
tersebut. Hasil pembagiannya merupakan keluaran untuk proses normalisasi akhir.
3.5.6 Windowing
Gambar 3.12 Diagram Alir Windowing Windowing
berfungsi untuk mengurangi efek diskontinuitas saat sinyal ditransformasikan ke domain frekuensi. Proses ini menggunakan hamming window.
Penggunaan hamming window membuat hasil windowing akan lebih halus dalam menghilangkan efek diskontinuitas. Dalam prosesnya, masukan yaitu hasil normalisasi
akhir dikalikan dengan windowing hamming sehingga didapatkan hasil untuk proses windowing
. Rumus windowing hamming dapat dilihat pada persamaan 2.4.
3.5.7 DFT dan Spektrum Frekuensi
Gambar 3.13 Diagram Alir DFT dan Spektrum Frekuensi Proses selanjutnya adalah mencari spektrum frekuensi. Dalam proses ini, perhitungan
dengan DFT digunakan untuk membangkitkan spektrum frekuensi sehingga didapatkan keluaran spektrum frekuensi. Pada proses ini, untuk frekuensi yang nilainya 0-100 Hz
dianggap tidak termasuk frekuensi belira. Berikut ini merupakan cara untuk membangkitkan spektrum frekuensi dengan
menggunakan DFT : 1.
Mencari panjang data sinyal. 2.
Menambahkan angka 0 pada data agar jumlah data sama dengan jumlah frekuensi sampling
. 3.
Menghitung data dengan fungsi DFT pada lampiran [L39]. 4.
Hasil perhitungan dikalikan dengan konjugat untuk mendapatkan nilai real. 5.
Hasil perkalian indeks 1 sampai setengah dari frekuensi sampling adalah sumbu tegak pada spektrum kemudian hasilnya ditampilkan dengan perintah bar sehingga
terlihat sinyal spektrum frekuensi.
3.5.8 Pencarian Maksimum Lokal
Gambar 3.14 Diagram Alir Pencarian Maksimum Lokal Proses pencarian maksimum lokal adalah mencari nilai-nilai maksimum lokal
setelah mendapatkan spektrum frekuensinya. Tujuan dari proses ini adalah untuk menganalisis spektrum dengan nilai-nilai dari maksimum lokal tersebut agar diketahui
nada yang dimainkan termasuk nada belira atau bukan. Berikut ini merupakan cara untuk mencari nilai-nilai maksimum lokal :
1. Mencari panjang data spektrum.
2. Menolkan semua data dengan perintah zeros.
3. Mencari nilai-nilai tertinggi dengan proses looping. Dalam proses looping, angka
yang lebih besar dari angka sebelumnya dan sesudahnya adalah angka yang diambil sebagai nilai maksimum lokal.
4. Mengisi data yang dinolkan tadi dengan nilai-nilai yang didapatkan dalam proses
looping sehingga didapatkan seluruh nilai-nilai maksimum lokal.
3.5.9 Sorting Turun
Gambar 3.15 Diagram Alir Sorting Turun Proses ini adalah untuk mengurutkan ke bawah nilai-nilai maksimum lokal sehingga dapat
lebih mudah untuk proses selanjutnya. Mengurutkan kebawah berarti mengurutkan dari nilai yang tertinggi ke nilai yang terendah. Keluaran dari proses ini adalah nilai-nilai
maksimum lokal yang telah diurutkan dari nilai tertinggi ke nilai yang terendah dan indeks dari nilai-nilai tersebut merupakan frekuensinya.
Berikut ini adalah cara mengurutkan kebawah nilai-nilai maksimum lokal: 1.
Nilai-nilai maksimum lokal diurutkan kebawah dengan perintah „descend’ tetapi urutan indeksnya tidak berubah.
2. Setelah diurutkan, data kemudian diambil dari urutan 1 sampai dengan 5. Indeks
data tersebut adalah frekuensinya.
3.5.10 Perhitungan Harmonis
Gambar 3.16 Diagram Alir Perhitungan Harmonis Proses selanjutnya adalah perhitungan harmonis. Dalam proses ini membagikan
nilai maksimum lokal urutan 2 dan urutan 1 yang telah melalui proses sorting. Dari hasil pembagian dapat diketahui nada tersebut merupakan nada belira atau bukan. Jika nilai hasil
pembagiannya 0,07 maka nada masukan yang dimainkan merupakan nada alat musik belira, selanjutnya akan diproses untuk menentukan frekuensinya. Jika nilai
perbandingannya 0,07 maka proses akan berhenti dan teks hasil keluarannya adalah „error‟, karena bukan merupakan nada alat musik belira. Nilai 0,07 ditentukan dengan
melihat hasil pembagian maksimum lokal pada penelitian yang dilakukan oleh penulis saat mencoba perancangan sistem secara tidak real-time pada lampiran [L28].
3.5.11 Penentuan Frekuensi
Gambar 3.17 Diagram Alir Penentuan Frekuensi Jika nada yang dimainkan merupakan nada belira maka proses selanjutnya adalah
menentukan frekuensi dari nada tersebut. Cara menentukan nilai frekuensi adalah dari hasil proses sorting turun. Indeks nilai maksimum lokal yang ada pada urutan pertama
merupakan frekuensi nada. Dari frekuensi tersebut, dapat ditentukan hasil keluaran teks untuk nada belira. Hasil keluarannya ditentukan berdasarkan diagram alir berikut :
3.5.12 Penentuan Teks Nada
Gambar 3.18 Diagram Alir Proses Penentuan Teks Nada
Setelah mengetahui nilai frekuensinya, maka dapat diketahui hasil keluaran teks dari nada belira yang dimainkan tersebut. Penentuan hasilnya dengan menggunakan look up table.
Frekuensi tengah untuk look up table diperoleh melalui proses pada Gambar 3.3 dan hasilnya pada lampiran [L8]. Dari frekuensi tengah tersebut, dapat ditentukan range
frekuensi look up table untuk masing-masing nada.
Tabel 3.2 Frekuensi Look Up Table untuk Penentuan Nada
No. Nada Belira
Frekuensi
1. Sol Rendah
776 ≤ frekuensi ≤ 796
2. La Rendah
87 1≤ frekuensi ≤ 891
3. Sol Rendah
979 ≤ frekuensi ≤ 999
4. 1 Do
1038 ≤ frekuensi ≤ 1058
5. 2 Re
1165 ≤ frekuensi ≤ 1185
6. 3 Mi
1310 ≤ frekuensi ≤ 1330
7. 4 Fa
1391 ≤ frekuensi ≤ 1411
8. 5 Sol
1561 ≤ frekuensi ≤ 1581
9. 6 La
1752 ≤ frekuensi ≤ 1772
10. 7 Si
1971 ≤ frekuensi ≤ 1991
11. Do Tinggi
2044 ≤ frekuensi ≤ 2064
12. Re Tinggi
2323 ≤ frekuensi ≤ 2343
13. Mi Tinggi
2594 ≤ frekuensi ≤ 2614
14. Fa Tinggi
2767 ≤ frekuensi ≤ 2787
15. Sol Tinggi
3070 ≤ frekuensi ≤ 3090
16. La Tinggi
3535 ≤ frekuensi ≤ 3555
3.5.13 Keluaran Teks
Setelah selesai proses penentuan teks nada maka didapatkan keluarannya yaitu teks nada belira sesuai nada yang dimainkan.
34
BAB IV HASIL DAN PEMBAHASAN