FAKULTAS TEKNOLOGI DAN INFORMATIKA
INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA 2016
IDENTIFIKASI SUARA MANUSIA BERDASARKAN JENIS KELAMIN MENGGUNAKAN EKSTRAKSI CIRI SHORT TIME
FOURIER TRANSFORM
TUGAS AKHIR
Program Studi S1 Sistem Komputer
Oleh:
ix
1.1. Latar Belakang Masalah ... 1
1.2. Rumusan Masalah ... 3
1.3. Batasan Masalah ... 4
1.4. Tujuan ... 4
1.5. Sistematika Penulisan ... 5
x
2.4.2. Arsitektur Model Backpropagation ... 12
BAB III METODE PENELITIAN... 22
3.1 Model Penelitian ... 22
3.1.1. Suara manusia ... 22
3.1.2. Perekaman Suara ... 23
3.1.3. Hasil Rekaman ... 24
3.1.4. Ekstraksi Ciri ... 27
3.1.5. Pengujian ... 32
BAB IV HASIL DAN PEMBAHASAN ... 39
4.1. Pengujian Perangkat Lunak ... 39
4.2. Proses Edit File Rekaman... 39
4.3. Ekstraksi Ciri Short Time Fourier Transform ... 46
4.4. Pelatihan dan pengujian backpropagation ... 78
BAB V PENUTUP ... 89
5.1. Kesimpulan ... 89
5.2. Saran ... 89
DAFTAR PUSTAKA ... 90
1
PENDAHULUAN
1.1.LATAR BELAKANG MASALAH
Suara adalah suatu alat komunikasi paling utama yang dimiliki oleh manusia. Dengan suara, manusia dapat berkomunikasi dengan manusia lainnya. Melalui suara, manusia juga dapat melakukan banyak hal, diantaranya bernyanyi, menangis, berteriak, tertawa, atau mengekspresikan emosi lainnya. Suara manusia pun dapat berkembang atau berubah seiring pertumbuhan usia. Karena suara manusia satu dengan manusia lainnya berbeda-beda intonasi dan nadanya, maka melalui suara dapat diketahui usia maupun jenis kelamin seseorang.
Saat ini pengembangan teknologi yang begitu pesat memungkinkan suatu perangkat atau alat untuk dapat mengenali suara manusia. Pengenalan suara dalam istilah bahasa Inggrisnya, Automatic Speech Recognition (ASR) adalah suatu pengembangan teknik dan sistem yang memungkinkan komputer untuk menerima masukan berupa kata yang diucapkan (Kawengian, 2013).
2
pelatihan yang terjadi pada tahap ini yaitu suara di input terlebih dahulu yang kemudian di transformasikan frekuensi ke dalam sinyal digital menggunakan
Discreate Fourier Transform (DFT) dengan tujuan untuk mendapatkan nilai
energi setiap gender. Sedangkan pada proses pengujian, suara di input terlebih dahulu kemudian ditransformasikan frekuesi ke sinyal digital menggunakan
Discreate Fourier Transform (DFT) kemudian mencocokkan nilai energi yang
sudah tersimpan terlebih dahulu didalam sistem. Tingkat keberhasilan program ini berdasarkan dari 10 sampel (5 laki-laki dan 5 perempuan) yang telah di uji coba mencapai 70% atau 7 sampel yang berhasil diidentifikasi dan 30% atau 3 sampel yang tidak berhasil diidentifikasi.
Pada penelitian lain, Kawengian dkk (2013) telah melakukan pengujian pengenalan suara sistem voice recognition pada Rancang Bangun Alat Pengendali Elektronik Universal yang menggunakan metode Fast Fourier Transform (FFT) dengan keakurasian nilai mencapai 75%. Sistem ini hanya dapat dikendalikan oleh satu orang, sehingga dalam pengujian terhadap orang lain sinyal tidak dapat terdeteksi karena setiap suara manusia memiliki karakteristik suara yang berbeda-beda.
sinyal masukan dalam rentang waktu dan frekuensi dengan menggunakan fungsi window. STFT sendiri sudah pernah digunakan untuk penelitian Estimasi Sinyal Gamelan Menggunakan Kalman Filter untuk transkripsi oleh Tulus Hayadi, dkk (2013) dan juga Karakterisasi Aroma Kopi Menggunakan Short Time Fourier
Transform oleh Roza Susanti, dkk (2012).
Setelah melakukan ekstraksi ciri suara manusia, maka hasil dari ekstraksi ciri tersebut akan digunakan untuk mengidentifikasi jenis kelamin dari suara tersebut menggunakan jaringan saraf tiruan backpropagation. Backpropagation menurut F.Suhandi (2009) merupakan sebuah metode sistematik pada jaringan saraf tiruan dengan
menggunakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh
metode jaringan saraf tiruan dengan banyak layar lapisan untuk mengubah bobot-bobot
yang ada pada lapisan tersembunyinya. Backpropagation adalah pelatihan jenis terkontrol
dimana menggunakan pola penyesuaian bobot untuk mencapai nilai kesalahan yang
minimum antara keluaran hasil prediksi dengan keluaran yang nyata.
Harapannya dengan mengekstraksi ciri menggunakan STFT dan kemudian menggunakan hasil ekstraksi ciri tersebut pada backpropagation, maka dapat diidentifikasi perbedaan karakteristik antara suara laki-laki dan perempuan dengan tingkat keberhasilan yang lebih baik dari penelitian sebelumnya. Nantinya hasil dari penelitian ini juga dapat digunakan untuk penelitian-penelitian voice
recognition selanjutnya.
1.2.RUMUSAN MASALAH
4
1. Bagaimana mengubah data suara menjadi sinyal dan melakukan ekstraksi ciri yang ada pada sinyal suara laki-laki dan perempuan dengan menggunakan metode STFT?
2. Bagaimana mengidentifikasi hasil ekstraksi ciri STFT pada sinyal suara laki-laki dan perempuan menggunakan jaringan saraf tiruan backpropagation?
1.3.BATASAN MASALAH
Untuk menghindari pembahasan yang lebih luas terkait dengan analisa suara berdasarkan jenis kelamin, terdapat beberapa batasan masalah antara lain:
1. Suara yang dianalisa adalah suara normal (tidak serak).
2. Sampel suara yang digunakan adalah suara manusia berusia 17-30 tahun. 3. Suara yang dianalisa adalah saat pengucapan huruf vokal (a, i, u, e, o). 4. Huruf vokal diucapkan dengan nada dasar suara masing-masing. 5. Data yang digunakan adalah file suara berformat (.wav).
6. Perekaman suara dilakukan di ruangan dalam keadaan sepi. 7. Rekaman suara berdurasi maksimal 3 detik.
8. File suara diubah / dipotong secara manual sebelum dianalisa untuk menghilangkan perekaman kosong atau perekaman tanpa suara.
9. Intonasi dan volume suara pada saat perekaman tidak boleh berubah-ubah / harus seragam.
1.4.TUJUAN
Berdasarkan rumusan masalah yang diuraikan diatas, maka tujuan penelitian ini adalah sebagai berikut :
2. Mengidentifikasi hasil ekstraksi ciri STFT pada sinyal suara laki-laki dan perempuan menggunakan Jaringan Saraf Tiruan Backpropagation.
1.5.SISTEMATIKA PENULISAN
Penulisan penelitian ini ditulis dengan sistematika penulisan sebagai berikut: BAB I : PENDAHULUAN
Berisi Latar Belakang Masalah, Perumusan Masalah, Batasan Masalah, Tujuan, serta Sistematika Penulisan.
BAB II : LANDASAN TEORI
Pada bab ini dibahas teori yang behubungan dengan teori penunjang, dimana dalam teori penunjang ini meliputi suara manusia, tipe suara manusia, short time fourier transform, dan jaringan saraf tiruan backpropagation.
BAB III : METODE PENELITIAN
Pada bab ini akan dibahas mengenai tahap-tahap yang dilakukan pada penelitian ini, yaitu suara manusia yang akan digunakan, cara mengambil atau merekam sinyal suara manusia, cara mengubah sinyal suara tersebut untuk menghilangkan suara yang tidak ikut terekam, cara melakukan ekstraksi ciri menggunakan metode STFT, dan cara melakukan identifikasi suara manusia berdasarkan jenis kelamin hasil ekstraksi ciri STFT menggunakan metode backpropagation.
BAB IV : HASIL DAN PEMBAHASAN
6
time fourier transform. Kemudian hasil dan proses pengujian
menggunakan jaringan saraf tiruan untuk mengidentifikasi dan mengklasifikasikan suara sehingga dapat diketahui perbedaan antara suara laki-laki dan perempuan.
BAB V : PENUTUP
7
LANDASAN TEORI
2.1.Suara Manusia
Menurut Inung Wijayanto (2013), produksi suara manusia memerlukan tiga elemen, yaitu sumber daya, sumber suara dan pemodifikasi suara. Ini adalah dasar dari teori source-filter pada produksi sinyal bicara. Sumber daya pada sinyal suara normal dihasilkan dari gerakan kompresi otot paru-paru. Sumber suara, selama sinyal voiced dan unvoiced, merupakan hasil dari getaran masing-masing pita suara. Pemodifikasi suara adalah artikulator, yang merubah bentuk vocal tract sehingga karakteristik frekuensi rongga akustik melewati apa yang dilalui suara.
Tiga kontrol utama pada produksi suara adalah paru-paru (sumber daya), posisi pita suara (sumber suara), dan bentuk vocal tract (pemodifikasi suara).
Vocal tract terdiri dari pharynx (koneksi antara esophagus dengan mulut) dan
mulut. Nasal tract mulai dari bagian belakang langit-langit dan berakhir pada
8
Sumber: (Wijayanto, 2013) Gambar 2.1. Diagram Blok Produksi Suara Manusia
Gambar 2.1. memperlihatkan model sistem produksi ucapan manusia yang disederhanakan. Pembentukan ucapan dimulai dengan adanya hembusan udara yang dihasilkan oleh paru-paru. Cara kerjanya serupa seperti piston atau pompa yang ditekan untuk menghasilkan tekanan udara. Pada saat vocal cords berada dalam keadaan tegang, aliran udara akan menyebabkan terjadinya vibrasi pada
vocal cords dan menghasilkan bunyi ucapan yang disebut voiced sound. Pada saat
vocal cord berada dalam keadaan lemas, aliran udara akan melalui daerah yang
sempit pada vocal tract dan menyebabkan terjadinya turbulensi, sehingga menghasilkan suara yang dikenal dengan unvoiced sound (Inung Wijayanto dkk, 2013).
2.2.Tipe Suara Manusia
tertentu. Ada banyak perbedaan tipe suara berdasarkan berbagai macam sistem klasifikasi. Tabel 2.1. menjelaskan tentang jangkauan vokal sesuai dengan tipe suara dan representasinya dalam frekuensi berdasarkan scientific pitch notation:
Tabel 2.1. Jangkauan Frekuensi Tiap Tipe Suara.
Gender Tipe Suara Range Tabel 2.1. menunjukkan jangkauan frekuensi tiap tipe suara manusia menurut Wijayanto (2013). Suara pria terdiri dari tipe Tenor, Bariton, dan Bass, sedangkan pada wanita terdiri dari Soprano, Mezzo-Soprano, dan Alto. Adapun range vokal antara suara pria dan wanita berbeda satu oktaf, sehingga wanita dapat menjangkau suara yang tinggi.
Frekuensi fundamental yang terdapat pada tabel 2.1. adalah frekuensi dasar manusia, sedangkan frekuensi range vokal adalah frekuensi saat manusia berbicara.
2.3.Short Time Fourier Transform (STFT)
Menurut Tulus Hayadi (2013), STFT (Short Time Fourier Transform) merupakan metode transformasi yang mengembangkan metode Fourier
Transform dengan kelebihan pada kemampuan untuk mentransformasi
10
signal menjadi suatu representasi stationary sinyal dengan memasukkan suatu
window function. Dalam hal ini, sinyal yang ada dibagi menjadi beberapa segmen
dimana segmen yang didapatkan, diasumsikan terdiri dari stationary signal. Adapun rumus yang digunakan dapat dilihat pada persamaan:
(2.1)
Perlu diperhatikan di sini bahwa x[n] adalah sinyal dengan domain waktu dan STFT{x[n]} adalah sinyal dengan domain frekuensi dan waktu. Karena itu, berbeda dengan Fourier Transform, STFT merupakan metode transformasi menghasilkan Time-Frequency Representation (TFR) dari sinyal. Di sini, w[n] adalah window function yang dapat mengambil bentuk distribusi normal dengan rumus berikut ini:
(2.2)
(2.3)
Pada rumus 2.3., τ menunjukkan range dalam waktu ω adalah range dalam
frekuensi. Sehingga spektrogram adalah sebuah grafik yang merepresentasikan sinyal ke dalam domain waktu dan frekuensi. Permasalahan yang muncul di sini adalah bahwa STFT menggunakan kernel window pada suatu interval waktu tertentu. Berbeda dengan Fourier Transform yang menggunakan kernel
sepanjang waktu, sehingga tidak ada permasalahan dalam hal resolusi frekuensi. Kalau STFT memilih window dengan lebar infinity, maka metode ini tidak akan ada bedanya dengan Fourier Transform. Dari ulasan yang singkat ini dapat diambil kesimpulan seperti pada gambar 2.2.:
• Window sempit: mempunyai resolusi waktu yang bagus, tetapi resolusi
frekuensi yang tidak bagus
• Window lebar: mempunyai resolusi frekuensi yang bagus, tetapi resolusi
waktu yang tidak bagus
12
2.4.Jaringan Saraf Tiruan Backpropagation 2.4.1.Pengertian
Perambatan galat mundur (Backpropagation) menurut Kiki (2004) adalah sebuah metode sistematik untuk pelatihan multilayer jaringan saraf tiruan. Metode ini memiliki dasar matematis yang kuat, obyektif dan algoritma ini mendapatkan bentuk persamaan dan nilai koefisien dalam formula dengan meminimalkan jumlah kuadrat galat error melalui model yang dikembangkan (training set).
1. Dimulai dengan lapisan masukan, hitung keluaran dari setiap elemen pemroses melalui lapisan luar.
2. Hitung kesalahan pada lapisan luar yang merupakan selisih antara data aktual dan target.
3. Transformasikan kesalahan tersebut pada kesalahan yang sesuai di sisi masukan elemen pemroses.
4. Propagasi balik kesalahan-kesalahan ini pada keluaran setiap elemen pemroses ke kesalahan yang terdapat pada masukan. Ulangi proses ini sampai masukan tercapai.
5. Ubah seluruh bobot dengan menggunakan kesalahan pada sisi masukan elemen dan luaran elemen pemroses yang terhubung.
2.4.2.Arsitektur Model Backpropagation Fungsi Aktivasi menurut Jong J.S:
Syarat fungsi aktivasi yang dapat dipakai adalah kontinu, terdeferensial dengan mudah dan merupakan fungsi yang tidak turun
- sigmoid biner yang memiliki range (0,1)
Grafik fungsinya:
f(x) = 1/(1 + e-x) dengan turunan f’(x) = f(x)(1 – f(x)) ....(2.4)
Sumber: (Jong, 2005) Gambar 2.3. Grafik fungsi aktivasi sigmoid biner
- Fungsi sigmoid bipolar dengan range (1, -1) Grafik fungsinya:
f(x) = 2/(1 + e-x)-1 , f’(x) = (1+f(x))(1-f(x))/2 ...(2.5)
Sumber: (Jong, 2005) Gambar 2.4. Grafik fungsi aktivasi sigmoid bipolar
Adapun pelatihan standar backpropagation menurut Jong, J.S. yang terdapat pada gambar 2.5. adalah:
- Meliputi 3 fase, maju, mundur, dan modifikasi bobot
- Fase I Propagasi maju, sinyal masukan(xi) dikalikan dengan bobot garis(w),
kemudian dipropagasikan ke hidden layer menggunakan fungsi aktivasi(f(x)) yang ditentukan. Keluaran dari setiap unit hidden(zj)
14
menggunakan fungsi aktivasi yang ditentukan, demikian seterusnya hingga menghasilkan keluaran jaringan (yk). Berikutnya, keluaran jaringan
dibandingkan dengan target yang harus dicapai (tk). Selisih (tk - yk) adalah
kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi maka iterasi dihentikan, tetapi bila kesalahan masih lebih besar maka bobot setiap garis(w) dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi
- Fase II Propagasi mundur, Berdasarkan kesalahan (tk - yk), dihitung faktor
δk(k=1,2,3,..,m) yang dipakai untuk mendistribusikan kesalahan di unit (yk)
ke semua unit hidden yang terhubung langsung dengan yk. δk juga dipakai
untuk mengubah bobot garis(w) yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor δj di setiap unit di hidden layer sebagai dasar perubahan bobot semua garis yang berasal dari unit
tersembunyi di layar di bawahnya. Demikian seterusnya hingga semua faktor δ di unit hidden yang berhubungan langsung dengan unit masukan
dihitung
- Fase III Perubahan bobot, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δ neuron di layar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas δk yang ada di unit keluaran. Fase tersebut diulang
Sumber: (Jong, 2005) Gambar 2.5. Algoritma backpropagation menurut Jong, J.S.
Backpropagation menurut Wirda Ayu Utari (2010), memiliki beberapa unit yang
ada dalam satu atau lebih layar tersembunyi. Gambar 2.6. adalah arsitektur
backpropagation dengan n buah masukan (ditambah sebuah bias), sebuah layar
16
Sumber: (Utari, 2010) Gambar 2.6. Arsitektur Model Backpropagation menurut W.A. Utari Vji merupakan bobot garis dari unit masukan Xi ke unit layar tersembunyi Zj (Vj0
merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi zj). Wkj merupakan bobot dari unit layar tersembunyi Zj ke unit
keluaran Vk (wk0 merupakan bobot dari bias di layar tersembunyi ke unit
keluaran Zk).
Algoritma backpropagation menggunakan error keluaran untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi yang dapat dideferensiasikan, seperti sigmoid, tansig atau purelin.
a. Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil). b. Tetapkan maksimum epoch (banyaknya iterasi), target error, dan learning
rate (α).
c. Inisialisasi Epoch = 0; MSE = 1; dimana MSE adalah Mean Square Error (rata-rata kuadrat error yang didapatkan tiap iterasi)
d. Kerjakan langkah-langkah berikut selama epoch < maksimum epoch dan (MSE > target error):
1.Epoch = Epoch + 12
2.Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran, kerjakan:
18
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit keluaran).
Tiap-tiap unit keluaran (yk, k=1,2,3,...,m) menjumlahkan unit masukan
dari hidden layer (zi) yang dikalikan dengan nilai bobot garis dari hidden layer menuju output (wjk, j=1,2,3,...n; k=1,2,3,...,p) dengan masukan bias pada hidden layer (b2j, j=1,2,3,...n):
(2.8)
gunakan fungsi aktivasi untuk menghitung sinyal keluarannya: (2.9)
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit keluaran).
Catatan: Langkah (b) dilakukan sebanyak jumlah lapisan tersembunyi.
c. Tiap-tiap unit keluaran (yk, k=1,2,3,...,m) menerima target pola yang
berhubungan dengan pola masukan pembelajaran, hitung informasi errornya (δ2k,k=1,2,3,...n):
(2.10)
(2.11)
kemudian hitung koreksi bobot (∆wjk) (yang nantinya akan digunakan
untuk memperbaiki nilai wjk) dengan mengalikan dengan nilai learning rate (α):
(2.13)
hitung juga koreksi bias (∆b2k) (yang nantinya akan digunakan untuk
memperbaiki nilai b2k):
(2.14)
langkah (d) ini juga dilakukan sebanyak jumlah lapisan tersembunyi, yaitu menghitung informasi error dari suatu lapisan tersembunyi ke lapisan tersembunyi sebelumnya.
d. Tiap-tiap unit tersembunyi (zj, j=1,2,3,...,p) menjumlahkan delta
masukannya (dari unit-unit yang berada pada lapisan di atasnya): (2.15)
kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error (δ1j, j=1,2,3,....n):
(2.16)
20
(2.18)
kemudian hitung koreksi bobot (∆vij) (yang nantinya akan digunakan
untuk memperbaiki nilai (vij):
(2.19)
hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai (∆b1j):
(2.20)
e. Tiap-tiap unit keluaran (Yk, k=1,2,3,...,m) memperbaiki bias dan
bobotnya (j=0,1,2,...,p): (2.21)
(2.22)
Tiap-tiap unit tersembunyi (Zj, j=1,2,3,...,p) memperbaiki bias (b1j)
dan bobotnya (vij) (i=0,1,2,...,n) :
(2.23)
(2.24)
Menghitung nilai rata-rata kuadrat error (E = selisih target nilai dengan keluaran; n = banyak data).
22
BAB III
METODE PENELITIAN
3.1.Model Penelitian
Penelitian yang dilakukan dapat dijelaskan dengan lebih baik melalui blok diagram seperti yang terliat pada Gambar 3.1.
Gambar 3.1. Blok Diagram Penelitian
Berikut adalah keterangan setiap blok dari sistem blok diagram pada Gambar 3.1. 3.1.1 Suara manusia.
Pada blok ini, suara manusia yang direkam adalah saat pengucapan huruf vokal (a, e, i, o, u) dan individu tersebut berusia 17-30 tahun. Kondisi pita suara manusia harus dalam keadaan sehat dan tidak serak pada saat pengucapan sehingga suara dapat terdengar dengan jelas. Huruf vokal diucapkan dengan nada datar atau tanpa nada, yaitu nada normal pada saat manusia berbicara, ini untuk memudahkan proses analisa suara tersebut. Begitu juga intonasi dan volume pengucapan huruf harus seragam dari awal perekaman sampai akhir, atau tidak boleh berubah-ubah.
3.1.2 Perekaman Suara
Suara direkam menggunakan tablet smartphone berbasis Android dengan aplikasi Smart Voice Recorder buatan SmartMob yang bisa diunduh secara gratis melalui Google Play Store. Aplikasi ini memiliki fitur Skip Silence,
microphone gain calibration tool, wave/pcm encoding with adjustable sample
rate (8-44 kHz), dan beberapa fitur lainnya.
Sumber: Google Play Store Gambar 3.2. Tampilan Aplikasi Smart Voice Recorder
Supaya kualitas suara lebih baik maka smartphone dapat dikoneksikan dengan
earphone, headset, ataupun microphone (semua menggunakan 3.5mm
24
Gambar 3.3. Contoh 3.5mm 4-conductor TRRS phone connector
Situasi perekaman adalah di ruangan sepi dan bebas noise untuk menghindari adanya suara-suara yang tidak diinginkan. Waktu maksimal untuk merekam suara adalah 3 detik.
3.1.3 Hasil Rekaman
Suara yang direkam adalah saat pengucapan 5 huruf vokal (a, e, i, o, u) dimana satu huruf adalah satu file rekaman. File rekaman menggunakan format (.wav) dan sample rate 44100 Hz. Masing masing huruf direkam dengan waktu maksimal 3 detik.
File tersebut kemudian diubah atau dipotong secara manual menggunakan
perangkat lunak Adobe Audition untuk menghilangkan rekaman kosong.
Gambar 3.5. Tampilan software Adobe Audition 2014
Gambar 3.6. Contoh tampilan sinyal suara pria “a” dalam domain waktu.
26
waktu tertentu sehingga terdapat waktu jeda. Untuk mendapatkan sinyal yang diinginkan, maka perlu dilakukan cropping atau menghilangkan waktu jeda tersebut atau bagian sinyal yang tidak perlu (dalam hal ini suara hembusan nafas maupun noise lainnya). Seperti terlihat pada gambar 3.7.
Gambar 3.7. Bagian-bagian sinyal yang akan dipotong.
Contohnya pada hasil rekaman ini, sinyal suara manusia baru terbentuk saat 0.653 s dan berakhir pada 1.480 s, sehingga sinyal suara yang diambil adalah sinyal pada rentang 0.653 s dan 1.480 s, seperti ditunjukkan pada gambar 3.8. Dengan demikian waktu keseluruhan sinyal suara adalah 0.827 s seperti terlihat pada gambar.
Gambar 3.8. Contoh bentuk sinyal suara setelah cropping
Setelah proses diatas, maka sinyal hasil crop tersebut disimpan menjadi file berformat (.wav) dengan sample type 44100 Hz Mono, 16-bit. Panjang waktu rekaman setelah crop hanya dibatasi sampai 1 detik. Sehingga untuk satu orang memiliki 5 file berformat (.wav).
3.1.4 Ekstraksi Ciri
28
Gambar 3.9. Diagram alir proses ekstraksi ciri STFT
File suara yang telah di-crop berformat (.wav) akan di masukkan ke dalam
matlab untuk diekstraksi dengan perintah
[x,fs]=audioread(‘file_location’), sehingga dari file tersebut dapat
diperoleh nilai waktu (x), dan sample rate (fs). Dari nilai x tersebut kemudian diketahui panjang dari sinyal rekaman tersebut (xlen = length(x)). Langkah selanjutnya adalah menentukan nilai parameter untuk input fungsi STFT, yaitu window length, hop size, dan fft points.
wlen = 2048; Panjang window
h = wlen/4; Jumlah sampel antara masing-masing window
nfft = 2*wlen; Banyaknya poin FFT.
resolusi waktu yang bagus. Resolusi frekuensi yang bagus adalah resolusi dengan jarak antar window yang lebar, artinya range frekuensi semakin kecil dan memberikan nilai yang semakin akurat. Namun dengan lebarnya window, maka resolusi waktu pun menjadi tidak bagus. Untuk lebih jelasnya dapat dilihat pada pembahasan di bab sebelumnya. Oleh karena itu diperlukan nilai dari window length yang dapat mengoptimalkan range dari kedua resolusi.
Adapun jenis window yang digunakan pada penelitian ini adalah Hann atau Hanning window dimana nilai koefisiennya bisa didapatkan dengan rumus berikut.
(1).
� = ( − cos (� − ))�
atau (2).
� = � 2 � � −
Dimana n = jumlah sampel pada sinyal, dan N adalah panjang window.
30
Hann window atau juga disebut jendela kosinus yang ditinggikan biasanya
dipakai sebagai fungsi window dalam pemrosesan sinyal digital untuk menjalankan transformasi fourier dimana ujung dari kosinus menyentuh nilai nol, sehingga side-lobe berada pada 18 dB per oktaf. Adapun keunggulan dari
hann window adalah sangat rendahnya artifak distorsi atau aliasing dan
lebarnya main-lobe (lobe dimana di terdapat energi maksimal).
Pada aplikasi Matlab, fungsi hann window dapat ditulis dengan sintaks
w = hann(L), dimana L adalah panjang dari window tersebut.
Berikut adalah contoh visualisasi 64-point hann window pada Matlab dengan menggunakan Window Visualisation Tool. Dengan sintaks sebagai berikut: L = 64; wvtool(hann(L))
Gambar 3.11. Visualisasi 64-point hann window pada Matlab
sebuah grafik yang memberikan informasi tentang perubahan gelombang dalam rentang waktu, frekuensi, dan intensitas amplitudo. Intensitas amplitudo pada suatu frekuensi dan pada suatu waktu (waktu, frekuensi) di dalam spektrogram dinyatakan dengan nilai warna tertentu (grayscale atau RGB). Spektrogram pada Matlab pada umumnya dapat dibuat dengan sintaks
s=spectrogram(x,window,noverlap,nfft).
Gambar 3.12. Contoh grafik spektrogram pada Matlab
32
Gambar 3.12. dan gambar 3.13. mencontohkan bentuk spektrogram pada umumnya dimana sumbu x merepresentasikan waktu, sumbu y merepresentasikan frekuensi, dan intensitas amplitudo atau energi (umumnya dalam dB) dinyatakan dalam spektrum warna tertentu. Pada spektrogram, panjang window dapat mempengaruhi intensitas warna dan resolusi dari waktu dan frekuensi.
Setelah menghasilkan spektrogram, berikutnya akan diambil nilai STFT, nilai frekuensi dan waktu pada saat energi terbesar, dan nilai rata-rata energi dari sebuah sinyal suara untuk kemudian akan dilatih dan diuji menggunakan jaringan saraf tiruan backpropagation. Keempat nilai tersebut digunakan karena metode STFT menghasilkan suatu nilai waktu dan frekuensi, dan juga amplitude. Nilai STFT adalah suatu bilangan kompleks yang terdiri dari bilangan real dan imaginer yang merepresentasikan suatu nilai dalam domain waktu dan frekuensi. Agar nilai kompleks tersebut dapat dihitung, maka nilai tersebut diabsolutkan dengan rumus = √ � 2+ � �� � 2.
Dan nilai amplitudo/magnitude adalah nilai yang menunjukkan kekuatan sinyal dalam desibel (dB). Nilai awal dari amplitudo adalah berupa tegangan (volt), dan untuk mengubahnya kedalam bentuk desibel digunakan rumus 20*log10(amplitudo).
3.1.5 Pengujian
Pengujian yang dilakukan adalah menggunakan metode jaringan saraf tiruan backpropagation dengan input nilai STFT, nilai frekuensi dan waktu saat amplitude tertinggi, dan nilai rata-rata amplitudo pada sebuah sinyal suara.
responden adalah sebanyak 30 (laki-laki 15, perempuan 15) seperti terlihat pada gambar 3.14.
Arsitektur backpropagation yang akan dibuat adalah sebagai berikut:
Gambar 3.14. Arsitektur backpropagation pada penelitian ini
Pada gambar 3.14. Nilai X1, X2, X3, X4, adalah nilai untuk fitur suara “a” pada data responden pertama, kemudian X5, X6, X7, X8, adalah nilai fitur
suara “e” pada data responden pertama demikian seterusnya untuk huruf vokal
i, o, dan u. Variabel j adalah banyaknya data pelatihan pada backpropagation dimana pada tabel 3.1. menunjukkan data pelatihan pada backpropagation dan nilai target yang ingin dicapai pada pelatihan ini.
Tabel 3.1. Data pelatihan backpropagation dan nilai target yang ingin dicapai Data
34
6 Data pelatihan responden perempuan 6 1 7 Data pelatihan responden perempuan 7 1 8 Data pelatihan responden perempuan 8 1 9 Data pelatihan responden perempuan 9 1 10 Data pelatihan responden perempuan 10 1 11 Data pelatihan responden perempuan 11 1 12 Data pelatihan responden perempuan 12 1 13 Data pelatihan responden perempuan 13 1 14 Data pelatihan responden perempuan 14 1 15 Data pelatihan responden perempuan 15 1 16 Data pelatihan responden laki-laki 1 0 17 Data pelatihan responden laki-laki 2 0 18 Data pelatihan responden laki-laki 3 0 19 Data pelatihan responden laki-laki 4 0 20 Data pelatihan responden laki-laki 5 0 21 Data pelatihan responden laki-laki 6 0 22 Data pelatihan responden laki-laki 7 0 23 Data pelatihan responden laki-laki 8 0 24 Data pelatihan responden laki-laki 9 0 25 Data pelatihan responden laki-laki 10 0 26 Data pelatihan responden laki-laki 11 0 27 Data pelatihan responden laki-laki 12 0 28 Data pelatihan responden laki-laki 13 0 29 Data pelatihan responden laki-laki 14 0 30 Data pelatihan responden laki-laki 15 0
Pada tabel 3.1., nilai 1 dalam penelitian ini adalah nilai permisalan yang menandakan data perempuan dan nilai 0 adalah data laki-laki.
Masing-masing data responden mempunyai 20 fitur suara yaitu 4 fitur suara pada masing masing huruf vokal, seperti pada tabel 3.2. yang menunjukkan nilai
Tabel 3.2. Keterangan dari nilai neuron input backpropagation Neuron Input Keterangan
X1 STFT_value "a"
X2 Rata-rata Amplitudo "a" X3 Waktu "a"
X4 Frekuensi "a" X5 STFT_value “e”
X6 Rata-rata Amplitudo "e" X7 Waktu "e"
X8 Frekuensi "e" X9 STFT_value "i"
X10 Rata-rata Amplitudo "i" X11 Waktu "i"
X12 Frekuensi "i" X13 STFT_value "o"
X14 Rata-rata Amplitudo "o" X15 Waktu "o"
X16 Frekuensi "o" X17 STFT_value "u"
X18 Rata-rata Amplitudo "u" X19 Waktu "u"
X20 Frekuensi "u"
36
Nilai awal bobot B1, B2, B3, dan nilai W pada masing masing layer adalah nilai random dari -1 sampai 1. Nilai target adalah nilai 1 sebanyak 15 (untuk input perempuan), dan nilai 0 sebanyak 15 (untuk input laki-laki).
Output dari gambar 3.14. adalah sebuah nilai antara 0 sampai 1. Nilai tersebut
kemudian di threshold untuk membatasi data pelatihan suara perempuan atau data pelatihan suara laki-laki. Nilai yang lebih besar atau sama dengan 0.5 (>=0.5) akan dianggap sebagai perempuan, dan nilai yang lebih kecil dari 0.5 akan dianggap sebagai laki-laki (<0.5).
Pada gambar 3.14., setiap input Xnj dan bias B1 akan dikalikan dengan Wi pada layer input, dan kemudian hasilnya akan menjadi input bagi masing-masing neuron Zi, begitu juga dengan bias; dan diulang sebanyak jumlah data pelatihan (30). Kemudian hasil inputan pada Zi akan diaktivasi dengan fungsi
sigmoid biner untuk menghasilkan nilai antara 0 sampai 1.
Setelah masing-masing neuron diaktivasi, maka output dari Zi akan menjadi input ZZi. Untuk melanjutkan perhitungan ke hidden layer 2, dan
output, maka output dari Zi dan juga bias B2 dikalikan pada W pada hidden
layer 1 untuk dimasukkan pada hidden layer 2 (ZZi). Masukkan dari Hidden
layer 1 (Zi) nantinya akan diaktivasi dahulu sebelum menjadi input ZZi. Input
pada ZZi nantinya akan digunakan untuk menghitung nilai keluaran pada alur maju dengan cara mengalikan ZZi dan bias B3 dengan bobot Wi pada hidden
layer 2. Hasil dari perkalian ini akan menghasilkan nilai output Y yang
nilainya akan diaktivasi untuk perhitungan alur mundur.
bobot dan bobot bias dan mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor error di setiap unit di hidden layer sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer di bawahnya. Demikian seterusnya hingga semua faktor error di unit hidden yang berhubungan langsung dengan unit masukan dihitung. Umumnya kondisi penghentian yang dipakai adalah jumlah iterasi atau kesalahan. Toleransi kesalahan yang digunakan di penelitian ini adalah 0.01.
Nilai learning rate (α) adalah adalah laju pembelajaran, semakin besar
learning rate akan berpengaruh pada semakin besarnya langkah pembelajaran. Sehingga dalam penelitian ini, learning rate yang digunakan adalah 0.1
Gambar 3.15. Diagram alir proses backpropagation
38
39
HASIL DAN PEMBAHASAN
4.1.Pengujian Perangkat Lunak
Dalam mengetahui perangkat lunak yang dibuat bisa sesuai dengan metode yang dipakai maka dilakukan pengujian terhadap masin-masing komponen perangkat. Alat dan bahan yang digunakan sebelum pengujian:
1. Personal Computer (PC) / Laptop.
2. Smartphone berbasis Android.
3. Software Adobe Audition 2014.
4. Software Matlab 2013.
5. Microsoft Excel 2016.
6. Aplikasi Android Smart Voice Recorder. 4.2.Proses Rekaman dan Edit File Rekaman
Setelah suara direkam menggunakan smartphone, maka file hasil rekaman tersebut diedit atau dipotong secara manual menggunakan perangkat lunak Adobe
Audition untuk menghilangkan rekaman kosong.
40
terlihat pada tabel 4.1. begitu juga pada responden laki-laki kedua dan huruf vokal lainnya (e, i, o, u):
Tabel 4.1. File rekaman sinyal suara “a” laki-laki
Nama
Tabel 4.2. File rekaman sinyal suara “e” laki-laki
e_9 1.857 0.371 0.879 0.507
Tabel 4.3. File rekaman sinyal suara “i” laki-laki
Nama
Tabel 4.4. File rekaman sinyal suara “o” laki-laki
42
Tabel 4.5. File rekaman sinyal suara “u” laki-laki
Dapat dilihat pada tabel 4.1. – 4.5. bahwa waktu file rekaman suara laki-laki setelah dipotong tidak boleh melebihi 1 detik. Begitu juga pada file rekaman suara perempuan seperti terdapat pada tabel 4.6. – tabel 4.10.
Berikut adalah tabel waktu rekaman pada perempuan:
Tabel 4.6. File rekaman sinyal suara “a” perempuan
Nama
Tabel 4.7. File rekaman sinyal suara “e” perempuan
44
Tabel 4.8. File rekaman sinyal suara “i” perempuan
Tabel 4.9. File rekaman sinyal suara “o” perempuan
Tabel 4.10. File rekaman sinyal suara “u” perempuan.
46
u_12 1.398 0.590 1.190 0.600
u_13 1.201 0.145 0.899 0.754
u_14 2.000 0.516 1.510 0.993
u_15 1.471 0.276 0.900 0.623
4.3.Ekstraksi Ciri Short Time Fourier Transform
Setelah dipotong, maka file suara tersebut akan diekstraksi fiturnya menggunakan metode short time fourier transform (STFT). Nilai-nilai yang diekstraksi pada penelitian ini adalah nilai STFT, nilai rata-rata amplitudo pada sebuah sinyal, nilai frekuensi dan nilai waktu saat amplitudo tertinggi. Keempat nilai tersebut digunakan karena metode STFT menghasilkan suatu nilai waktu dan frekuensi, dan juga amplitudo.
Keempat nilai tersebut digunakan karena metode STFT menghasilkan suatu nilai waktu dan frekuensi, dan juga amplitude. Nilai STFT adalah suatu bilangan kompleks yang terdiri dari bilangan real dan imaginer yang merepresentasikan suatu nilai dalam domain waktu dan frekuensi. Agar nilai kompleks tersebut dapat dihitung, maka nilai tersebut diabsolutkan dengan rumus
. Dan nilai amplitudo/magnitude adalah nilai yang menunjukkan kekuatan sinyal hasil keluaran dari mikropon yaitu pengukur atau penunjuk tingkat kebisingan suara atau sound pressure level, biasanya dalam satuan desibel (dB).
masing-masing berjumlah 15, dan suara perempuan saat mengucapkan a, e, i, o, u, masing-masing berjumlah 15.
Gambar 4.1. adalah spektrogram sinyal suara yang diambil dari tiga orang responden laki-laki pada saat mengucapkan huruf a, e, i, o, u, dengan menggunakan fungsi windows hann dengan panjang windows 2048.
Gambar 4.1. Spektrogram sinyal suara salah satu responden laki-laki saat pengucapan huruf “a”
48
Gambar 4.1 menunjukkan representasi sinyal dalam domain waktu pada sumbu x dan domain frekeuensi pada sumbu y. Sedangkan untuk kekuatan sinyal atau magnitude/amplitudo direpresentasikan dalam domain warna dimana warna merah adalah amplitudo tertinggi dan warna biru adalah amplitudo yang rendah. Adapun amplitudo adalah suatu matriks yang berisi nilai – nilai amplitudo dalam domain frekuensi dan waktu. Seperti contoh pada tabel 4.11.
Tabel 4.11. Contoh Matriks amplitudo sinyal suara salah satu responden laki-laki saat pengucapan huruf “a” dalam desibel (dB)
Waktu (s)
Gambar 4.3. Letak amplitudo tertinggi pada spektrogram sinyal suara laki-laki
Gambar 4.4. Letak amplitudo tertinggi pada spektrogram sinyal suara perempuan Gambar 4.2. menunjukkan lokasi amplitudo tinggi pada spektrogram sinyal suara laki-laki, dan gambar 4.3 menunjukkan lokasi amplitudo tertinggi pada spektrogram sinyal suara perempuan, dimana untuk spektrogram perempuan
range frekuensi untuk amplitudo tertinggi lebih besar. Untuk mengetahui dimana
50
beberapa warna terlihat sama, sehingga cara untuk mengetahui letaknya adalah dengan menganalisa matriks amplitudo pada tabel 4.11.
Pada aplikasi Matlab, menentukan letak elemen tertinggi pada suatu matriks adalah dengan sintaks sebagai berikut.
dBSA(:); amplitudo tertinggi berada di elemen keberapa, maka digunakan sintaks [SA_value,indexSA_no] = max(dBSA(:));
[SAI_row, SAI_col] = ind2sub(size(dBSA),indexSA_no);
sa_Value = max(max(dBSA));
Gambar 4.5. Letak amplitudo tertinggi pada sinyal suara laki-laki
Gambar 4.6. Letak amplitudo tertinggi pada sinyal suara perempuan
52
waktu 0.0580 s dan saat frekuensi 979.7607 Hz seperti teletak pada lingkaran hitam dalam gambar 4.6.
Nilai STFT adalah suatu bilangan kompleks hasil perhitungan transformasi
fourier yang dikalikan dengan fungsi window, yang merepresentasikan suatu nilai
dalam domain waktu dan frekuensi. Pada Matlab, hasil perhitungan dapat dicari dengan sintaks X = fft(xw, nfft);
dimana xw = x(indx+1:indx+wlen).*win;.
xw adalah perhitungan nilai sampel pada sinyal suara sebanyak panjang
window yang digunakan dan kemudian dikalikan dengan fungsi window (win).
54
Gambar 4.7. dan gambar 4.8. menunjukkan panjang window yang berbeda beda. Perbedaan pada tiap spektrogram tersebut adalah jumlah matriks yang merepresentasikan waktu dan frekuensi dalam kolom dan baris. Seperti tercantum dalam tabel 4.12.
Tabel 4.12. ukuran matriks pada panjang window yang berbeda
Panjang window Ukuran Matriks
512 513xn
1024 1025xn
2048 2049xn
4096 4096xn
Karena jangkauan range frekuensi pada penelitian ini sangat besar yaitu dari 0 Hz sampai 22050 Hz, namun jangkauan range waktu yang kecil yaitu antara 0 s – 1 s, maka, digunakanlah panjang window 2048 pada tabel 4.14. untuk mengoptimalkan jangkauan range frekuensi dan waktu. 2049 adalah range untuk frekuensi dan n adalah range untuk waktu. Adapun nilai n bervariasi tergantung dengan panjangnya waktu pada data rekaman.
Nilai STFT adalah suatu nilai berupa bilangan kompleks seperti terlihat pada tabel 4.13.
Tabel 4.13. Contoh sebagian nilai STFT dalam bilangan kompleks
56
Sebuah bilangan kompleks terdiri dari bilangan riil dan bilangan imajiner. Untuk menghitung bilangan kompleks pada tabel 4.15., maka bilangan tersebut harus diabsolutkan terlebih dahulu dengan menggunakan rumus
, sehingga dari hasil tersebut didapatkan bilangan absolut seperti pada tabel 4.14.
Tabel 4.14. Nilai STFT yang sudah diabsolutkan
index 1 2
Pada aplikasi Matlab, menentukan letak elemen tertinggi pada suatu matriks adalah dengan sintaks sebagai berikut. Contoh dalam hal ini adalah menggunakan salah satu data rekaman suara laki-laki saat pengucapan huruf “a”.
stft(:);
[stft_value,index_no] = max(stft(:));
[I_row, I_col] = ind2sub(size(stft),index_no);
stft adalah matriks STFT yang berukuran (2049 x n), dimana pada penelitian ini, dalam Matlab, semua elemen dapat diakses dengan membuat sintaks stft(:);. Untuk mencari letak nilai stft tertinggi berada di elemen keberapa, maka digunakan sintaks [stft_value,index_no] = max(stft(:));
[I_row, I_col] = ind2sub(size(stft),index_no);
STFT_Value = abs(max(max(stft)));
I_row dan I_col adalah lokasi nilai STFT tertinggi, dan STFT_Value adalah nilai STFT tertinggi, sehingga nilai yang didapatkan adalah 103.5701. Ukuran matriks STFT sama dengan ukuran matriks amplitudo yaitu 2049x68 karena nilai STFT adalah suatu nilai yang merepresentasikan waktu dan frekuensi, dan amplitudo adalah kekuatan sinyal dalam domain waktu dan frekuensi.
58
60
62
Gambar 4.13. Spektrogram sinyal suara ketiga responden laki-laki saat pengucapan huruf “u”
Gambar 4.14 – gambar 4.18. adalah spektrogram sinyal suara yang diambil dari tiga orang responden perempuan pada saat mengucapkan huruf a, e, i, o, u.
64
66
Gambar 4.18. Spektrogram sinyal suara ketiga responden perempuan saat pengucapan huruf “u”
68
frekuensi yang lebih rendah dari suara wanita. Hal ini dikarenakan Karena pada umumnya suara perempuan lebih tinggi 1-2 oktaf dari suara laki-laki.
Nilai STFT_value, amplitudo tertinggi, waktu saat amplitudo tertinggi, dan frekuensi saat amplitudo tertinggi kemudian dikelompokkan ke dalam tabel.
Tabel 4.15. Hasil ekstraksi fitur sinyal suara “a” pada laki-laki
Nama
Tabel 4.16. Hasil ekstraksi fitur sinyal suara “a” pada perempuan
a3 247.8205 -6.3027 0.0697 968.9941 STFT. Terdapat perbedaan pada suara laki-laki dan suara perempuan dimana pada suara perempuan nilai frekuensi lebih tinggi dari suara laki-laki. Jika merujuk pada tabel 2.1. di BAB II, maka dapat dilihat bahwa nilai frekuensi yang didapat dari hasil STFT mendekati dari frekuensi range vokal pada tabel 2.1. Terdapat perbedaan antara nilai frekuensi STFT lebih besar dari frekuensi range vokal tersebut. Hal ini disebabkan karena volume suara yang besar saat perekaman suara sehingga menyebabkan frekuensi yang besar juga.
70
Nilai–nilai pada tabel 4.15. dan 4.16. masih merupakan nilai yang tidak seragam. Contohnya adalah jarak antara nilai waktu yang kecil dan nilai frekuensi yang besar. Perbedaan ini membuat nilai tersebut tidak bisa dijadikan input pada
backpropagation. Sehingga nilai–nilai tersebut harus diseragamkan terlebih dahulu atau dinormalisasikan menjadi sebuah bilangan antara 0 dan 1. Adapun contoh membuat rumus normalisasi pada Matlab adalah
normSA = dBSA - min(dBSA(:));
normSA = normSA ./ max(normSA(:));
Nilai normSA adalah suatu matriks yang berisi hasil normalisasi. Dan nilai dBSA adalah suatu matriks yang belum ternormalisasi. Nilai tersebut akan dikurangi dengan nilai yang lebih kecil antara elemen ke i baru, dengan elemen sebelumnya. Sehingga nilai normSA akan terus diperbaharui selama belum mencapai elemen terakhir pada matriks. Nilai setiap elemen pada matriks normSA yang telah diperbaharui kemudian akan dibagi dengan sebuah nilai dari elemen terbesar yang ada matriks tersebut. Sehingga didapatkanlah sebuah matriks baru hasil ternormalisasi.
nilai yang sudah dinormalisasi untuk mendapatkan nilai yang berbeda setiap rekaman sinyal suara.
Contohnya nilai STFT pada salah satu sinyal suara rekaman responden laki-laki saat pengucapan huruf “a” seperti pada tabel 4.16. Nilai dari matriks STFT untuk satu data rekaman suara pengucapan yang sudah ternormalisasi tersebut akan dirata-rata. Sehingga nilai rata-rata STFT untuk satu data rekaman suara salah satu responden laki-laki saat pengucapan huruf “a” adalah 0.0061
Untuk nilai amplitudo juga mengalami proses normalisasi karena nilai dari matriks amplitudo masih bernilai negatif seperti pada tabel 4.15 dan tabel 4.16. Namun saat dilakukan normalisasi, nilai amplitudo terbesar selalu bernilai 1, sehingga nilai hasil normalisasi amplitudo akan dirata-rata. Adapun nilai yang dirata-rata adalah nilai pada matriks amplitudo pada tiap data rekaman sinyal suara.
Setelah proses normalisasi, maka nilai-nilai yang ada pada matriks tersebut akan dirata-rata. Nilai rata-rata yang didapatkan pada matriks amplitudo yang sudah ternormalisasi dari sinyal suara salah satu responden laki-laki saat pengucapan huruf “a” adalah 0.4819.
Agar semua nilai seragam, maka nilai waktu pun harus dinormalisasi juga. Adapun nilai waktu dan frekuensi yang digunakan adalah tetap pada nilai waktu dan frekuensi saat amplitudo tertinggi, namun nilai waktu dan frekuensi tersebut adalah nilai yang sudah ternormalisasi.
72
sampai tabel 4.21. untuk suara laki-laki, dan tabel 4.22. sampai tabel 4.26. untuk suara perempuan
Tabel 4.17. Hasil ekstraksi ciri sinyal suara “a” pada laki-laki yang sudah dinormalisasi
e7 0.0057 0.4974 0.2571 0.0210
74
Tabel 4.20. Hasil ekstraksi ciri sinyal suara “o” pada laki-laki yang sudah dinormalisasi
u10 0.0042 0.5202 0.8302 0.0156
Berdasarkan tabel 4.17. – tabel 4.21. nilai-nilai yang ada sudah menjadi seragam, yaitu berkisar antara 0 sampai 1.
Tabel 4.22. sampai tabel 4.26. adalah hasil ekstraksi ciri sinyal suara pada perempuan:
76
Tabel 4.23. Hasil ekstraksi ciri sinyal suara “e” pada perempuan yang sudah dinormalisasi
i10 0.0079 0.5345 0.8289 0.0098
Tabel 4.25. Hasil ekstraksi ciri sinyal suara “o” pada perempuan yang sudah dinormalisasi
78 nilai masukan untuk data pelatihan pada jaringan saraf tiruan backpropagation. 4.4.Pelatihan dan pengujian backpropagation
79
Tabel 4.27. Neuron input pada backpropagation
Huruf vokal
a e i o u
Neuron
Input X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20
Nilai Nilai
STFT Amplitudo Waktu Frekuensi Nilai
STFT Amplitudo Waktu Frekuensi Nilai
STFT Amplitudo Waktu Frekuensi Nilai
STFT Amplitudo Waktu Frekuensi Nilai
STFT Amplitudo Waktu Frekuensi
80
Tabel 4.31. menunjukkan arsitektur pada backpropagation seperti yang telah dimodelkan pada BAB III. Dimana neuron input untuk X1 – X4 adalah nilai untuk huruf “a”, X5 – X8 adalah nilai untuk huruf “e”, X9 – X12 adalah nilai untuk huruf “i”, X13 – X16 adalah nilai untuk huruf “o”, dan X17 – X20 adalah nilai untuk huruf “u”.
Kemudian nilai untuk X1 adalah nilai STFT yang ternormalisasi untuk huruf “a”, X2 adalah nilai amplitudo ternormalisasi untuk huruf “a”, X3 adalah nilai
waktu ternormalisasi saat amplitudo tertinggi untuk huruf “a”, dan X4 adalah
frekuensi ternormalisasi saat amplitudo tertinggi untuk huruf “a”. Demikian
seterusnya untuk X5 – X20 dengan huruf vokal yang berbeda.
dimana trainInp adalah data latih yaitu data hasil ekstraksi ciri STFT, dan trainOut adalah data target.
Pelatihan ini bertujuan untuk mencari bobot optimal yang akan digunakan pada pengujian backpropagation, sehingga jaringan saraf tiruan dapat mengenali dan membedakan antara data perempuan dan laki-laki. Pelatihan antara perempuan dan laki-laki tidak dipisah, atau tidak mencari dua bobot optimal, yaitu bobot optimal untuk data perempuan, dan bobot optimal untuk data laki-laki. Hal ini dikarenakan urutan data untuk pengujian adalah urutan acak dari data perempuan dan laki-laki. Maka data yang dilatih adalah data dari perempuan sampai data laki-laki sehingga terbentuklah satu nilai bobot optimal yang bisa digunakan untuk kedua jenis kelamin suara tersebut.
Kecepatan pembelajaran data (learning rate) yang dipakai adalah 0.1. dan banyaknya perulangan (iterasi) adalah sebanyak 10000. Adapun penggunaan nilai
learning rate 0.1 adalah agar jaringan dapat mencari error secara akurat, dan
waktu yang dibutuhkan untuk pembelajaran menjadi lebih cepat. Jika dibandingakan dengan nilai learning rate 0.01, maka pencarian error akan lebih teliti, namun juga dibutuhkan waktu yang sangat lama untuk pembelajaran/pelatihan.
Jumlah iterasi juga menentukan nilai error yang dihasilkan. Semakin besar iterasi, maka semakin kecil juga nilai error yang dihasilkan. Kemudian jumlah neuron pada tiap hidden layer adalah sebanyak 150 layer pada hidden layer 1, dan 150 layer pada hidden layer 2. Jumlah tersebut didapatkan dari hasil trial and
error dikarenakan nilai bobot awal yang digunakan adalah nilai acak yang
82
awal akan berubah dan tidak sama dengan nilai bobot awal pada pelatihan sebelumnya. Cara trial and error disini adalah untuk mencari bobot optimal yang ada pada setiap hidden layer untuk dapat mengenali jenis kelamin dari suara yang dimasukkan. Tabel 4.32. menunjukkan hasil percobaan untuk mencari nilai error terkecil dengan mengubah jumlah neuron pada hidden layer dan banyaknya iterasi.
Tabel 4.28. Hasil trial and error untuk mencari nilai kuadrat galat error terkecil
Tabel 4.28. menunjukkan bahwa nilai mse yang didapatkan berpengaruh dari banyaknya iterasi dan jumlah neuron pada masing masing hidden layer. Seperti contoh saat banyaknya iterasi adalah 1000 dan jumlah neuron hidden layer 1 dan
hidden layer 2 masing-masing adalah 20, nilai mse masih cukup besar yaitu
0.4369 dibandingkan dengan toleransi error yang digunakan adalah 0.01. sehingga jumlah neuron hidden layer dan banyaknya iterasi yang digunakan pada penelitain ini dengan adalah 150 neuron hidden layer 1, 150 neuron hidden layer 2, dan banyaknya iterasi adalah 10000 dengan nilai learning rate adalah 0.1, dan mse sebesar 0.0107.
Program akan terus melatih data, hingga error yang terjadi pada tiap iterasi kurang dari atau sama dengan toleransi error (threshold), atau selama banyaknya iterasi.
Gambar 4.19. adalah grafik dari mean square error pada percobaan iterasi sebanyak 10000, jumlah neuron pada masing-masing hidden layer adalah 150 dan nilai learning rate adalah 0.1.
84
Pada gambar 4.19. dapat terlihat bahwa sistem akan berusaha meminimalkan nilai
mean square error yang dihasilkan pada setiap iterasi. Error sudah mencapai
dibawah 0.1 saat iterasi ke 1000 dan seterusnya. Saat error sudah sama dengan nilai threshold, dalam hal ini dibatasi sampai 0.01, atau jumlah iterasi sudah terpenuhi, maka bobot terakhir yang dipakai untuk pelatihan akan disimpan kedalam file (.mat) untuk nantinya akan digunakan dalam pengujian.
Setelah itu, bobot yang sudah tersimpan dalam file (.mat) akan digunakan untuk dijadikan bobot pada program pengujian. Program pengujian pada
backpropagation hanya sampai alur maju (tidak menjalankan alur mundur),
dengan nilai bobot yang sudah disimpan saat pelatihan.
Tabel 4.29 adalah hasil pengujian dari data training (pelatihan).
Tabel 4.29. Persentase keberhasilan pengenalan pada data training
Jenis
Jumlah persentase total 100%
0 2 4 6 8 10 12 14 16
Laki-laki Perempuan
Banyak data pelatihan
Banyak data yang berhasil dikenali
86
Gambar 4.21. Hasil keluaran program pengujian data training.
Dengan nilai bobot optimal yang sudah tersimpan tadi, maka akan diuji sebuah data baru dengan harapannya, data tersebut dapat langsung diidentifikasi jenis kelaminnya. Perlu diketahui bahwa pada pengujian, algoritma
backpropagation cukup hanya dilakukan proses feed forward, sehingga nilai yang
dikeluarkan langsung diidentifikasi.
Tabel 4.30 menunjukkan persentase keberhasilan pengenalan pada data baru Tabel 4.30. Persentase keberhasilan pengenalan pada data baru
Jenis
Jumlah persentase total 86%
88
Gambar 4.22. Grafik persentase keberhasilan pengenalan pada salah satu data baru.
Gambar 4.22. dan tabel 4.30. menunjukkan bahwa presentase pengujian 14 data baru yang belum pernah dilatih, yaitu sebanyak 7 data laki-laki dan 7 data perempuan. Terjadi kesalahan pengenalan satu data training pada masing-masing data uji laki-laki dan perempuan, sehingga yang berhasil dikenali adalah 6 data laki-laki dan 6 data perempuan dengan tingkat keberhasilan masing-masing adalah 86%.
89
BAB V
PENUTUP
5.1.Kesimpulan
Berdasarkan penelitian yang telah dilakukan pada perangkat lunak untuk pengambilan fitur suara manusia, maka dapat diambil kesimpulan sebagai berikut: 1. Ekstraksi ciri yang dilakukan pada suara manusia menggunakan metode short
time fourier transform, bertujuan untuk mengambil fitur suara yang terdapat
pada suara manusia. Yaitu STFT value, rata-rata amplitudo, besaran waktu (sekon) dan frekuensi (Hz) saat amplitudo tertinggi.
2. Data yang didapatkan dari ekstraksi short time fourier transform (STFT) dinormalisasikan terlebih dahulu, kemudian dilatihkan ke backpropagation hingga mendapatkan bobot yang optimal agar nantinya backpropagation dapat mengidentifikasikan suara manusia berdasarkan jenis kelamin dengan benar.
3.
Dari hasil identifikasi yang sudah dilakukan, persentase keberhasilan pengujian pengenalan data suara baru pada laki-laki adalah sebesar 86%, dan pada perempuan adalah sebesar 86%.5.2.Saran
Beberapa saran yang diberikan untuk penelitian ini adalah sebagai berikut: 1. Dapat dikembangkan dengan menggunakan metode ekstraksi ciri yang lain
selain metode STFT, maupun metode JST yang lainnya.
90
DAFTAR PUSTAKA
F.Suhandi Krisna, 2009, Prediksi Harga Saham dengan Pendekatan Artificial
Neural Network menggunakan Algoritma Backpropagation.
Gultom, Junelia. 2012. Deteksi Nada Pada Saksofon Menggunakan Algoritma
Short Time Fourier Transform (STFT) Dan Jaringan Saraf Tiruan (JST).
Fakultas Elektro Dan Komunikasi Institut Teknologi Telkom Bandung. Hayadi, Tulus., Suprapto, Yoyon K., Sumpeno, Surya. 2012. Estimasi Sinyal
Gamelan Menggunakan Kalman Filter untuk transkripsi. Jurusan Teknik
Elektro FTI – ITS.
Jong, J.S., 2005. Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan
Matlab. Yogyakarta, Andi
Kawengian, Riane., Wuwung, Janny O., Sugiarso, Brave A., Lumenta, Arie S.M. 2013. Rancang Bangun Alat Pengendali Elektronik Universal Menggunakan
Suara Manusia. Jurusan Teknik Elektro-FT, UNSRAT, Manado.
Kiki., Kusumadewi, Sri. 2004. Analisis Jaringan Saraf Tiruan dengan Metode
Backpropagation Untuk Mendeteksi Gangguan Psikologi. Universitas Islam
Indonesia.
Safriadi., Risawandi. 2014. Identifikasi Gender Melalui Suara Menggunakan
Metode Discrete Fourier Transform (DFT). Jurusan Teknik Informatika, Universitas Sumatra Utara. SNITI, ISBN : 979-458-757-5.
Wijayanto, Inung., Dwifebrianti, Reni. 2013. Jenis Tipe Jangkauan Suara Pada
91