IDENTIFIKASI PENUTUR MENGGUNAKAN METODE MEL FREQUENCY
CEPSTRAL COEFFICIENTS (MFCC) DAN JARINGAN SYARAF TIRUAN MODEL
MADALINE
Speaker Identification using Mel Frequency Cepstrum Coefficients
(MFCC) and Madaline Neural Network
Shofian Tsaury1, Sudi M. Al Sasongko 2, dan Suthami Ariessaputra3
E-mail : shofian.tsaury@gmail.com, mariyantosas@gmail.com, suthami@unram.ac.id
Abstrak
Pengenalan penutur merupakan salah satu bentuk aplikasi dari pengolahan sinyal digital dengan memanfaatkan pola suara pada manusia. Dengan berkembangnya teknologi tersebut memungkinkan interaksi manusia dengan komputer akan semakin mudah. Terdapat dua tahap dalam proses pengenalan penutur yaitu tahap pengambilan atau ekstraksi ciri suara dan tahap pengenalan pola suara penutur berdasar ciri suara dari masing-masing penutur. Pada tahap ekstraksi suara
digunakan mel frequency cepstrum coefficients (MFCC) dengan koeffisien ciri berjumlah 13. Sedangkan
pada tahap pengenalan pola suara penutur menggunakan jaringan syaraf tiruan (JST) model madaline (many Adaline/ yang merupakan bentuk jamak dari Adaline) untuk membandingkan ciri suara uji dengan ciri suara latih yang sudah diinput sebagai data latih. Hasil yang didapat dari penelitian membuktikan bahwa jaringan syaraf tiruan model madaline tidak disarankan digunakan pada penelitian jenis identifikasi. Hal tersebut didasarkan pada hasil penelitian yang menghasilkan presentase pengenalan
hanya 61% untuk 10 kali pengujian dalam database. Adapun pengujian di luar database berhasil
melakukan penolakan hanya sebesar 14% dan 84% penolakan untuk pengujian diluar database dengan kata yang berbeda dengan data latih.
Kata kunci : MFCC, JST, Madaline, Identifikasi, penutur
Abstract
Speaker recognition is one form of digital signal processing applications by utilizing sound pattern of humans. With the development of these technologies, allowing human interaction with computers will be easier. There are two stages in the process of recognition of the speakers, these are the sound feature extraction stage and recognition speaker's sound patterns stage based on the characteristics of each speaker. At the extraction sound stage, mel frequency cepstrum coefficients (MFCC) is used with the characteristic coefficient of 13. While in the stage of recognition of the speaker's voice using artificial neural network (ANN), model madaline (many Adaline or plural of Adaline model) is used to compare the sound characteristics of the test with the characteristics of training sounds that have been inputted as training data. The results prove that madaline neural network is not recomended for identification research. It is bassed on the esearch results which produce a percentage of introduction of only 61% for the 10 times of testing in the database. While the testing outside the database successfully perform the rejection amounted to only 14% and 84% rejection for testing outside of the database with different words with the training data.
Keyword : MFCC, ANN, Madaline, Identification, Speaker
PENDAHULUAN
Pengenalan suara merupakan proses mengenali identitas dari seorang pemilik suara dengan membandingkan fitur-fitur suara sebagai masukan dengan semua fitur dari setiap penutur di dalam maupun di luar database yang ada. Pengenalan suara dalam beberapa kondisi menjadi hal yang penting dalam interaksi manusia dengan komputer. Salah satu teknologi komputer matematika yang
digunakan untuk mengenali karakteristik suara manusia yang berbeda-beda adalah Fast Fourier
Transform (FFT). FFT sendiri merupakan suatu metode untuk mentranformasikan sinyal kawasan waktu menjadi sinyal kawasan frekuensi kemudian disimpan dalam bentuk digital berupa spektrum sinyal berbasis frekuensi.
Feature extraction.Ekstraksi ciri merupakan proses untuk menentukan satu nilai atau vektor yang dapat dipergunakan sebagai penciri obyek atau individu. Dalam pemrosesan suara, ciri yang biasa
dipergunakan adalah mel frequency cepstrum coefficients (MFCC) yang menghitung koefisien cepstrum
PREPROCESSING
Gambar 1. Blok Diagram Mel Frequency Cepstrum Coefficients (MFCC) (Aditya, 2012)
Jaringan syaraf. Jaringan syaraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut.
Gambar 2. Struktur dasar JST dan Struktur sederhana sebuah neuron
Adaptive Linier Neuron (Adaline). Adaline adalah jaringan yang dapat merespon perubahan lingkungan pada saat beroperasi dengan modifikasi bobot. Bobot dimodifikasi dengan aturan delta yang
disebut dengan least mean square (LMS). Sedangkan Many Adaline (Madaline) merupakan kompulan
dari beberapa jaringan Adaline yang saling terhubung membentuk suatu jaringan.
X1
Gambar 3. Arsitektur Madaline dengan satu hidden layer
METODELOGI PENELITIAN
Identifikasi suara. Identikasi suara dilakukan untuk mengetahui tingkat akurasi pengenalan pola suara
yang dihasilkan oleh pemiliknya. Dengan metode Mel Frequency Cepstrum Coefficient (MFCC)
didapatkan sebuah ciri dari suara yang diucapkan kemudian diidentifikasi dengan metode Jaringan Syaraf Tiruan (JST) model MADALINE.
Mulai
Data Suara
Data Uji Data Latih
Ekstraksi Ciri dengan MFCC
Ekstraksi Ciri dengan MFCC
Rata-rata hasil MFCC terhadap semua frame
Rata-rata hasil MFCC terhadap semua frame
Data Base
Menghitung Tingkat akurasi
pengenalan
Selesai STUDI LITERATUR
MENYIAPKAN ALAT DAN BAHAN
Identifikasi dengan JST MADALINE
Hasil
Gambar 4. Diagram Alir proses penelitian Identifikasi Suara
Perancangan Sistem. Proses perancangan sistem diawali dengan melakukan penelitian dan analisis tentang sistem yang akan dibangun, berikut adalah beberapa proses yang akan dilakukan dalam perancangan system.
Perekaman suara. Perekaman suara digunakan sebagai masukan perintah dilakukan dengan
menggunakan program software Goldwave.
Mikrofon
Laptop (Software Goldwave)
Pilih Keluaran Suara mono dan Sampling rate 16000 Hz
Suara
Data Suara
Gambar 5. Diagram Alir proses perekaman suara
Data Latih dan Data Uji. Perekaman dilakukan sebanyak 25 kali ucapan untuk data dalam database.
Dimana 15 dari 25 data hasil perekaman digunakan sebagai data latih dan pengujian. Sedangkan 10
sebanyak 15 kali dengan rincian 10 kali pengucapan merupakan kalimat yang sama dengan pelatihan dan 5 kali pengucapan dengan kalimat yang berbeda. Kalimat yang diucapkan pada pelatihan adalah
“Laboratorium Telkom” dan dasil dari perekaman tersebut kemudian disimpan dalam bentuk format .wav.
Ekstraksi Ciri (MFCC). ciri sinyal suara pada penelitian ini menggunakan MFCC. Parameter dari MFCC yaitu :
a. Input, yaitu masukan suara yang berasal dari tiap pembicara.
b. Sampling rate, yaitu banyaknya nilai yang diambil dalam satu detik. Dalam penelitian ini
digunakan sampling rate sebesar 16000 Hz.
c. Time frame, yaitu waktu yang diinginkan untuk satu frame (dalam milidetik). Time frame yang digunakan adalah 50 ms.
d. Lap, yaitu overlaping yang terdiri dari N/2 data.
Cepstrum coefficient, yaitu jumlah cepstrum yang diinginkan sebagai output. Cepstrum coefficient yang
digunakan sebanyak 13. Nilai koefisien 13 didapat dari nilai spectrum nilai frekuensi dari data suara
yang dominan.
Tahapan-tahapan MFCC. Berikut adalah tahapan-tahapan dalam MFCC:
a. Frame Blocking
Hasil perekaman suara merupakan sinyal analog yang berada dalam domain waktu yang bersifat variant time. Oleh karena itu sinyal tersebut harus dipotong-potong dalam slot-slot waktu tertentu agar dapat dianggap invariant
Dimana perhitungannya adalah sebagai berikut:
Sampling rate(Fs) = 16000 Hz
Timeframe(Ts) = 50 ms atau 0,05 s
Frame size(N) = 16000 * 0,05
= 800 sample
Overlaping(M) = 800/2 = 400 sample
b. Hammming Window
Sinyal suara yang dipotong-potong menjadi beberapa frame akan menyebabkan kesalahan
data pada proses fourier transform. Hamming Window diperlukan untuk mengurangi efek
diskontinuitas dari proses frame blocking terutama pada ujung awal dan ujung akhir setiap
frame.
c. Fast Fourier Transform
Dalam proses fourier transform terjadi perubahan bentuk sinyal suara masukan dari domain
waktu ke dalam domain frekuensi.
d. Mel Frequency Wrapping
Mel frequency wrapping bertujuan untuk proses penyaringan (filter) dari spektrum setiap frame.
e. Cepstrum
Cepstrum merupakan hasil log mel spectrum dari domain frekuensi dirubah menjadi domain waktu dengan menggunakan DCT dimana menghasilkan matriks yang berukuran jumlah frame * koefisien.
Proses Jaringan Syaraf Tiruan Madaline. Sebelum melakukan proses pelatihan jaringan syaraf tiruan
model Madaline, terlebih dahulu memperhatikan arsitektur jaringan. Arsitektur jaringan dipilih dengan
pendekatan konstruktif, yaitu dengan suatu jaringan Adaline kecil dengan satu atau beberapa hidden
layer. Hidden Layyer tersebut juga didapatkan dari persamaan fungsi aktivasi dan threshold dari Jaringan Syaraf Tiruan model Adaline kemudian mengembangkan jumlah unit tersembunyi serta bobot tambahan sampai didapatkan penyelesaian yang dikehendaki.
Tiap neuron pada lapisan masukan terdiri dari hasil ekstraksi ciri dengan metode MFCC dan ke bobot
yang sudah ditentukan. Jumlah neuron pada lapisan masukan sesuai dengan jumlah variabel yang
dipilih sebagai masukan jaringan dan ditambah satu buah neuron bias. Pada Gambar 6 terlihat bahwa
jumlah neuron lapisan masukan antara 1 sampai dengan 10 sesuai banyaknya penutur yang akan
dijadikan data inputan pada sistem ditambah satu buah neuron bias.
konvergensinya. Bobot awal yang terlalu besar membuat nilai turunan fungsi aktivasi menjadi sangat kecil, hal ini menyebabkan perubahan bobotnya menjadi sangat kecil juga. Ukuran matriks bobot lapisan
input adalah 10 x 13
Gambar 6. Arsitektur JST Madaline untuk pengenalan penutur
Parameter yang harus diatur dalam proses pelatihan jaringan adalah sebagai berikut:
a. Laju pembelajaran (learning rate)
Laju pembelajaran dipilih adalah 0.01 hingga 0.99 selama pelatihan.
b. Goal parameter
Goal parameter adalah target nilai fungsi kinerja, iterasi akan dihentikan apabila nilai fungsi
kinerja kurang dari atau sama dengan kinerja tujuan. c. Iteraksi maksimum
Maksimum iterasi adalah jumlah epoch maksimum yang boleh dilakukan selama proses
pelatihan. Iterasi akan dihentikan apabila jumlah epoch yang sudah dilatihkan melebihi jumlah
maksimum epoch.
Membangun JST MADALINE. JST MADALINE yang merupakan bentuk jamak dari JST ADALINE, sehingga memiliki bentuk fungsi yang sama dalam Matlab sebagai berikut:
net = newlin(PR,S,ID,LR)
Inisialisasi parameter pelatihan yang meliputi laju pembelajaran, momentum, goal, serta jumlah iterasi.
Untuk menginisialisasi parameter – parameter tersebut Matlab menyediakan fungsi sebagai berikut:
% paremeter yg digunakan
net.performFcn = 'mse';
net.trainParam.epochs = 1000; net.trainParam.show = 20;
Menghitung Keluaran ADALINE. Setelah pola masukan diberikan, pengguna dapat menghitung keluaran ADALINE. Perintah MatLab yang dipakai yaitu :
[net_keluaran,Pf,Af,E,tr] = sim(net,P,Pi,Ai,T);
Membangun hidden layer. Hidden layer (z1 dan z2) yang terbentuk pada jaringan Madaline merupakan
nilai fungsi aktivasi (dan threshold) yang terbentuk dari persamaan jaringan Adaline.
Perhitungan Tingkat Pengenalan. Tingkat pengenalan sistem akan dihitung untuk mengevaluasi hasil penelitian. Untuk setiap data yang diuji, akan dilihat apakah data tersebut teridentifikasi dengan benar atau tidak. Persentase tingkat pengenalan dihitung menggunakan rumus sebagai berikut:
Tingkat pengenalan =∑ 𝑠𝑢𝑎𝑟𝑎 𝑏𝑒𝑛𝑎𝑟
PEMBAHASAN
Frame Blocking
Hasil perekaman suara merupakan sinyal analog yang berada dalam domain waktu yang bersifat variant
time. Oleh karena itu sinyal tersebut harus dipotong-potong dalam slot-slot waktu tertentu agar dapat
dianggap invariant
Gambar 7. hasil rekaman suara
Gambar 7 menunjukkan hasil rekaman dengan pengucapan “laboratorium Telkom”, pada frekuensi
sampling 16000 Hz dan mono channel dengan durasi 5 detik.
Gambar 8. Hasil frame blocking
Proses selanjutnya adalah proses frame blocking dimana dalam satu frame berisi 800 sampel dan
antara frame satu dengan frame lainnya saling overlapping sepanjang 400 sampel atau 50% dari
jumlah sampel. Hasil frame blocking ditunjukkan pada gambar 8.
Hamming Window
Gambar 9. Hasil hamming window
Hasil dari proses framing menyebabkan sinyal discontinuitas (terpotong/ tidak terhubung). Tujuan dari
proses windowing adalah untuk mengurangi kesenjangan (discontinuitas) sinyal dari awal hingga akhir
Fast Fourier Transform (FFT)
Gambar 10. Hasil FFT
Setelah proses windowwing selanjutnya adalah proses Fast Fourier Transform (FFT). FFT merupakan
proses yang digunakan untuk mengubah sinyal suara dari domain waktu ke dalam domain frekuensi.
Sinyal yang akan dirubah merupakan sinyal yang telah diproses frame blocking. Hasil dari keluaran FFT
ditunjukkan pada gambar 10.
Mel Frequency Wrapping
Sinyal yang telah melewati proses FFT selanjutnya akan di-filter menggunakan filterbank.
Gambar 11. Filterbank triangular
Skala frekuensi filterbank yaitu sama dengan konsep pendengaran manusia, sehingga skala frekuensi
sering dijadikan parameter ekstraksi dalam suatu pengolahan sinyal suara. Bentuk filterbank triangular ditunjukkan pada gambar 11 dan hasil mel frequency wrapping pada gambar 12.
Gambar 13. Hasil Cepstrum
Cepstrum merupakan proses terakhir dan dilakukan setelah proses filterbank. Cepstrum digunakan
untuk mengkonversi spectrum log mel menjadi cepstrum menggunakan DCT (Discrete Cosine
Transform). Hasil DCT ditunjukkan pada gambar 13.
Pelatihan Jaringan dengan Jaringan Syaraf Tiruan model Madaline
- Mencari jenis training terbaik
Tabel 1. Pelatihan jaringan dengan perubahan jenis training
No Training Keluaran
1 traingdx [2.6 1.5 3 3.8 6.4 4.8 6.09 7.4 8.8
10.4]
2 trainbfg [1.0001 1.9999 2.9999 4.0 5.0 6.0
7.0 8.0 8.9999 9.9999]
3 trainb [NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ]
4 traingdm [2.7 1.47 3.0 3.7 6.5 4.77 6.0 7.4
8.8 10.4]
5 trainbr [2.95 3.59 2.74 2.78 6.6 5 5.26 6.33
8.16 8.77]
6 trainlm [0.99 1.997 2.998 4.003 5.004
6.002 7.003 7.99 8.998 9.99]
7 'trainrp') [2.95 3.59 2.74 2.78 6.6 5 5.26 6.3
8.16 8.77]
Pada tabel 4 dapat diketahui bahwa jenis training terbaik yang dapat digunakan pada pelatihan
Jaringan Syaraf Tiruan model Madaline adalah BFGS Quasi-Newton Backpropagation ('trainbfg'). Pada
training tersebut, didapatkan hasil keluaran yang sesuai dengan target dengan iterasi yang tidak banyak
serta jumlah erroryang sedikit. Pada ‘trainbfg’ tersebut, juga telah dilakukan perubahan learning rate
(lr) dari 0.1 – 0.9, akan tetapi hasilnya tidak terlalu berpengaruh pada proses pelatihan, baik pada hasil
keluaran maupun error yang ditimbulkan.
- Mencari parameter goal terbaik
Tabel 2. Pelatihan jaringan dengan perubahan goal parameter
Goal 1 2 3 4 5 6 7 8 9 10
0.01 0.975 2.058 2.982 3.979 5.027 5.928 7.047 8.000 9.025 10.002 1.004 1.960 2.986 3.987 5.027 5.999 6.994 8.004 9.029 9.991 0.001 1.000 2.000 2.999 4.001 4.999 5.999 6.999 8.000 9.000 9.999 0.996 1.962 2.984 3.993 5.039 5.982 7.042 7.966 9.028 9.994 0.0001 1.000 2.000 3.000 4.000 5.000 6.000 7.000 8.000 9.000 10.000
0.999 2.001 2.999 4.001 4.998 6.000 7.000 8.000 9.000 10.000 0.00001 1.000 1.999 2.999 4.000 5.000 5.999 7.000 7.999 9.000 10.000 1.000 2.000 2.999 4.000 5.000 6.000 6.999 7.999 9.000 9.996
Tabel 5 menunjukkan hasil keluaran setiap pelatihan dengan perubahan goal parameter dari 0,01 –
0.00001. dengan memperhatikan hasil keluaran dari kedua jaringan Adaline pada pelatihan tersebut,
- Hasil perubahan bobot pada pelatihan ke-15
Tabel 3. Hasil perubahan bobot pada pelatihan terakhir
No
Jaringan
Bobot Jaringan ke-1(W1) Bobot Jaringan ke-2
(W2)
Selanjutnya bobot yang tertera pada tabel 6 akan digunakan pada proses pengujian.
Pengujian Jaringan Syaraf Tiruan Model Madaline
a. Pengujian di dalam database
Tabel 4. Pengujian dalam database
Suara Jumlah Ucap
Gambar 14. Grafik tingkat akurasi pengenalan penutur dalam database
Berdasarkan tabel 7 dan gambar 14, diketahui bahwa beberapa suara yang mengandung informasi
senyap (silent) tidak dapat dikenali dengan baik oleh JST Madaline, sehingga didapatkan presentase
pengenalan hanya sebesar 61%.
b. Pengujian di luar database
Tabel 5. Pengujian di luar database
Suara Jumlah
Gambar 15. Grafik tingkat akurasi pengenalan penutur di luar database
Berdasarkan tabel 8 dan gambar dapat diamati bahwa terdapat beberapa suara masih dapat
dikenali dengan baik oleh JST Madaline, sehingga didapatkan presentase penolakan hanya
sebesar 16% saja.
c. Pengujian di luar database dengan kata yang berbeda
Tabel 6. Pengujian di luar database dengan pengucapan yang berbeda
Suara Jumlah PENGENALAN SUARA PENUTUR LUAR
DATABASE
Gambar 16. Grafik tingkat akurasi pengenalan penutur di luar database dengan pengucapan yang berbeda
Tabel 9 dan gambar 16 menunjukkan bahwa pada pengujian dengan pengucapan yang berbeda menunjukkan penolakan yang tidak sempurna, yaitu 84%.
Dari pengujian yang sudah dilakukan, maka dapat dianalisa bahwa jaringan syaraf tiruan model madaline tidak mampu mengenali suara penutur dengan baik secara sempurna. Hal ini terlihat pada
tabel 7dimana pengujian dengan data ciri suara oleh penutur dalam database pelatihan, menghasilkan
beberapa keluaran yang mengenali ciri suara sebagai penutur yang lain.
Pengujian dengan kata yang sama dari luar database pun tidak menghasilkan hasil keluaran yang
baik. Dari 10 kali pengucapan oleh 10 orang, hanya 1 orang saja yang ditolak secara sempurna, sisanya
masih terdapat beberapa ciri suara yang dikenali sebagai pemilik suara atau penutur pada database.
Begitupun ketika pengujian dengan kata yang berbeda yakni “teknik elektro” menghasilkan penolakan
yang tidak sempurna. Meskipun menghasilkan presentase yang cukup baik, tetapi masih terdapat suara yang dikenali. Hal tersebut diakibatkan karena banyaknya data latih yang digunakan pada proses
pelatihan serta masih terbacanya suara yang mengandung senyap (silent) pada saat proses perekaman
suara.
Kesimpulan
1. Pengujian dengan suara penutur yang terdapat pada database didapatkan presentase pengenalan
sebesar 61%. Sedangkan pengujian dengan data uji dengan penutur diluar database hanya
menghasilkan penolakan pengenalan sebesar 14%. Adapun pengujian dengan data uji diluar
database dengan kata yang berbeda menghasilkan penolakan sebesar 86%.
2. Dari hasil pengujian ketahui bahwa Jaringan Syaraf tiruan model madaline tidak cocok digunakan
untuk identifikasi dan lebih cocok digunakan pada jenis penelitian klasifikasi dan prediksi atau peramalan.
Saran
1. Melakukan pengujian secara langsung atau real time.
2. Melakukan praprpoposal untuk mengetahui tingkat keberhasilan dini sebelum melakukan penelitian yang sebenarnya
3. Memproses data suara yang mengandung informasi saja, bukan keseluruhan.
4. Mencoba jaringan syaraf tiruan model madaline pada penelitian model klasifikasi dan prediksi atau peramalan.
DAFTAR PUSTAKA
Aditya, Reza. 2012. Prototype Pengenalan Suara sebagai Penggerak Dinamo Motor Starter pada
Mobil. Fakultas Teknologi Industri Jurusan Teknik Mesin Universitas Gunadarma
Erina. 2017. Identifikasi Suara menggunakan Mel Frequency Cepstrum Coefficients (MFCC) Dan
Jaringan Syaraf Tiruan Backpropagation, Tugas Akhir Jurusan Teknik Elektro Fakultas Teknik Universitas Mataram, NTB.
Ivana, 2010, Pengenalan Ucapan Vokal Bahasa Indonesia dengan Jaringan Syarat Tiruan
Menggunakan Linear Predictive Coding, Tugas Akhir Teknik Elektro Fakultas Teknik Universitas Diponegoro
0% 20% 40% 60% 80% 100%
Erni Hayati Heni Khidir Satria
G R A F I K P E N O L A K A N T E R H A D A P P E N U T U R D I L U A R D A T A B A S E D E N G A N K A T A Y A N G B E R B E D A
Kanata, Bulkis, 2014, Bahan Ajar kuliah Jaringan Syaraf Tiruan, Jurusan Teknik Elektro Fakultas Teknik Universitas Mataram
Puspitasari, Meutia. 2014. Pengenalan Suara Menggunakan Mel Frequency Cepstral Coefficients dan