RANCANGAN PROGRAM APLIKASI
PENGENALAN POLA SUARA PADA ABSENSI KARYAWAN
MENGGUNAKAN GAUSSIAN MIXTURE MODEL DAN MABC
Djunaidy Santoso
1; Genbit Yasbil
2; Ashadi Salim
3ABSTRACT
The problem that some companies faced was making the employee attendance be unique, efficient, and suitable, especially from security and cost aspect. Therefore, the speech recognition that applied to employee attendance was suitable to be implemented. The quality of digital speech in this case was a conversation recorded in file wav format, will influence digital communication. More noises existing in the file wav data causes accuracy and time for processing will be more difficult. The implementation of this program to employee attendance of M.R companies showed that this application program was successful by giving the accuracy optimation and data resolution from speech records, with level recognition 58.3%, and accuracy more than 90%.
Keywords: speach recognition, gaussian mixture model, attendance, digital speach signal
ABSTRAK
Masalah yang dihadapi beberapa perusahaan saat ini adalah membuat absensi dengan karakter unik secara efisien dan tepat, terutama ditinjau dari segi keamanan dan biaya. Aplikasi pengenalan suara yang digunakan untuk absensi merupakan aplikasi yang tepat untuk diimplementasikan pada suatu perusahaan. Kualitas suara digital dalam menyampaikan pesan, dalam hal ini berupa rekaman percakapan dalam format file wav akan mempengaruhi kualitas komunikasi digital. Banyaknya bunyi lain selain suara pembicara, yang ikut terekam menjadi noise bagi suara utama. Implementasi program pada absensi karyawan perusahaan PT M.R. menunjukkan bahwa program aplikasi ini berhasil dengan baik, dengan memberikan optimasi ketepatan dan kejelasan data dari suara yang direkam dengan tingkat pengenalan rata-rata 58.3% dan keakuratan lebih dari 90%.
Kata kunci: pengenalan suara, gaussian mixture model, absensi, sinyal suara digital
1
Jurusan Teknik Informatika, FASILKOM, Universitas Bina Nusantara, Kampus Syahdan No. 9, Palmerah, Jakarta Barat 11480
2, 3
PENDAHULUAN
Masalah yang dihadapi beberapa perusahaan saat ini adalah membuat absensi dengan karakter unik secara efisien dan tepat, terutama ditinjau dari segi keamanan dan biaya. Kemajuan teknologi informasi sat ini, baik dari sisi hardware maupun software, telah banyak digunakan dalam analisis digital komunikasi maka aplikasi pengenalan suara yang digunakan untuk absensi merupakan aplikasi yang tepat untuk diimplementasikan pada suatu perusahaan.
Kualitas suara digital dalam menyampaikan pesan ataupun kejelasan kata pembicara adalah penting dan berpengaruh terhadap kualitas pada komunikasi digital. Suara digital yang dimaksud adalah rekaman percakapan dalam format file wav yang digunakan sebagai absensi karyawan suatu perusahaan. Banyaknya bunyi lain, selain suara pembicara yang ikut terekam menjadi noise bagi suara utamanya. Misalnya, suara angin, bunyi klakson, suara orang lain yang berada dekat pembicara, dan bunyi lainnya yang ikut terekam. Semakin banyak noise yang terdapat pada data wav maka ketepatan dan waktu pemrosesannya semakin terhambat.
Program aplikasi ini dibuat untuk mengurangi noise yang terekam dalam bentuk file wav. dan mengekstrak klasifikasi data wav yang digunakan sebagai master file wav. untuk pengenalan suara digital dan pada proses perekaman langsung pengenalan suara. Untuk menghilangkan noise pada suara digital, dilakukan dengan dua tahap. Pertama, pemisahan suara utama dengan noise. Kedua, dilakukan sampling dari suara utama. Dengan menggabungkan gaussian mixture model, teknik sampling fundamental frekuensi MABC (Moving Average and Band-Limitation IN Cepstrum), diharapkan program aplikasi ini dapat memberikan optimasi ketepatan dan kejelasan data dari suara yang direkam.
Kelemahan metode pengenalan menggunakan klasifikasi probabilitas dari data suara, seperti menggunakan Gaussian mixture model adalah apabila data yang akan dikenali terdapat noise. Jenis noise yang paling sukar untuk dikenali maupun dihilangkan adalah ‘white noise’, yaitu noise dasar yang terdapat pada perekaman karena adanya kontak listrik digital pada hardware dan koneksi alat yang kurang baik. Pengenalan objek dengan memanfaatkan objek suara manusia memiliki kelemahan utama, selain kondisi saat perekaman, juga karena kondisi suara dari objek tersebut yang sering berubah, seperti intonasi, nada suara, dan volume suara seseorang yang tidak konstan. Namun, hal itu dapat diatasi dengan metode MABC yang mengambil frekuensi dasar dengan mendekati persamaan tersebut.
Perancangan program aplikasi untuk menghilangkan noise suara digital ini dibatasi dalam ruang lingkup seperti berikut: Jenis data file Audio yang diedit adalah dalam format Windows Wave form 16–bit stereo 44.1 Khz, WAV (windows audio format), serta hanya menerapkan Gaussian mixture model dan proses sampling fundamental frequency dengan MABC(Moving Average and Band-limitation in Cepstrum method). Pada rancangan ini, file data audio yang dapat diolah dan disimpan berupa format file wav. Program dibuat dengan bahasa pemrograman Borland Delphi 6.0, Matlab V.7 R.13, dan sistem database SQL Server 2000.
GAUSSIANN MIXTURE MODEL (GMM)
Gaussian mixture model adalah suatu himpunan komponen model fungsi kerapatan yang dapat menghitung dan melacak ruas suatu model spektrum. Mixture model juga merupakan metode yang efektif untuk perubahan dari model yang bergerak lambat karena merupakan semi parameter
GMM juga merupakan model statistik dari distibusi probabilitas yang didapatkan dari nilai bobot setiap distribusi Gaussian sehingga GMM merupakan metode yang sangat tepat untuk perhitungan, baik dengan parameter maupun tidak. Bila model telah dihasilkan, syarat peluang dapat dihitung dan GMM juga dapat ditampilkan sebagai bentuk fungsi hubungan dasar network, seperti berikut ini (Paalanen, et. al., 2005).
Generative model:
Dengan nilai distribusi D dimensi dari variabel acak :
Keterangan:
x = nilai posisi x ; y = Y fungsi x exp[n] = en ; D = dimensi matrik
∑ = matrik kovarians ; μ = vektor rata-rata
T = jumlah komponen
Kemungkinan untuk (y1,…,yn) adalah sebagai berikut.
Estimasi:
Nilai yang diharapkan: Nilai maksimum:
Sampling Fundamental Frekuensi dengan MABC
Fundamental frequency F0 merupakan parameter dasar dalam ilmu akustik, khususnya pada teknologi pengolahan sinyal suara (Fryantoni, 2004). Seperti pada speech recognition maupun speech synthesis, fundamental frequency merupakan salah satu parameter penting, di samping parameter lainnya yang memberikan informasi mengenai suatu domain frekuensi (Dubnov, et. al., 2003).
Proses sampling dengan cara Moving Average and Band-limitation in Cepstrum method (MABC) ini akan menghilangkan masalah tidak teraturnya nilai pada domain frequency tinggi yang sering terjadi. Selain itu, pada penelitian speech synthesis, fundamental frequency juga berperan sebagai parameter yang dapat meningkatkan kealamian suara, dengan melakukan pengontrolan hubungan penerimaan irama suara ke dalam suatu kalimat.
Algoritma Proses Sampling Fundamental Frequency MABC
Algoritma proses sampling fundamental frequency menggunakan MABC, ditunjukkan pada Gambar 1. Dari gambar 1, pertama-tama dilakukan proses time window dan diferensial orde pertama. Lalu, dengan fourier transform dapat ditentukan inverse power spectral.(Fryantoni, 2004). Dengan inverse fourier transform pada diferensial log power spectral, dapat ditentukan cepstrum yang merupakan plot atau garis pergerakan tingkat kuasa frekuensi signal, dan dari salah satu bagian high frequency pada cepstrum yang didapat, ditentukan pick-nya, guna menghitung fundamental frequency.
Analisis Database
Program Database yang digunakan adalah SQL server 2000, dengan metode client-server yang terintegrasi dengan component ADO pada Delphi. Pada program aplikasi ini, dibutuhkan 3 tabel pada database, yaitu tabel karywan, tabel sound, dan tabel absen, seperti pada Gambar 1 (Alam, 2005).
Gambar 1 Algoritma Proses Sampling Fundamental Frequncy MABC Tabel Karyawan
Dengan atribut ‘id’ sebagai field nomor induk dari karyawan, ‘nama’ sebagai field nama lengkap karyawan, ‘Alamat, dan ‘Tgl_lahir’ (Tabel 1).
Tabel 1 Database Karyawan Attribut Tipe Ukuran
ID Nchar 6 Nama Varchar 16
Tabel Sound
Dengan atribut ‘id’ sebagai field nomor induk dari karyawan, ‘rec1’,’rec2’,dan ‘rec’3’ sebagai field bulan rekaman 0=belum 1=sudah (Tabel 2).
Tabel 2 Database Sound
Attribut Tipe Ukuran
ID Nchar 1 Rec1 Bit 1 Rec2 Bit 1 Rec3 bit 1
Tabel Absen
Dengan atribut ‘tgl’ sebagai field tanggal absensi, ‘id’ sebagai field nomor induk karyawan, ‘masuk’ field text data jam absensi masuk, dan ‘keluar’ field text data jam absensi keluar (Tabel 3 dan Gambar 2).
Tabel 3 Database Absen
Attribut Tipe Ukuran
Tgl datetime 8 ID Nchar 6 Masuk Smalldatetime 4
keluar Smalldatetime 4
Proses algoritma staddling yang digunakan, seperti yang ditunjukan pada Gambar 3.
Gambar 3 Flowchart Algoritma Staddling
Pada show_result Gambar 4, bila hasil pengenalan MABC telah mencapai 80% ke atas maka suara dapat diterima. Bila suara setelah dilakukan proses GMM masih tidak mencukupi 30% maka suara ditolak, artinya tidak dikenali. Hal itu dapat ditunjukkan pada Gambar 4 (Kamarainen, et. al., 2003).
Start
Menu Utama
End
Database Sound Absen
View Absen Add Del
Tabel Absen Add Database Delete Record Database Karyawan Update Database Karyawan Exit Add Database
save Cancel (return 0) Record Analisa Wave matlab absensi.m Status Pengenalan Suara Exit Exit Temp.wav Update Database Absen Memo Status Play
Play .wav Add Sound
Record Update Database Sound save Add Database Save .wav record Cancel (return 0) Add Sound Delete Delete .wav Exit Exit
Gambar 4 Algoritma Proses Pengenalan Suara
HASIL RANCANGAN PROGRAM
Sarana yang dibutuhkan untuk mengoperasikan program aplikasi absensi suara ini dapat dibagi menjadi dua kelompok. Pertama, spesifikasi kebutuhan perangkat keras. Spesifikasi minimum perangkat keras untuk client SQL dan absensi adalah sebagai berikut: Processor minimum pentium III, AMD Athlon; Memory dengan kapasitas 256 MB, Monitor SVGA, Mouse dan Keyboard; Harddisk dengan free space 400 MB, Video Card 1 MB, Sound Card, Lan Card Ti & Microphone.
Kedua, spesifikasi kebutuhan perangkat lunak. Untuk mengoperasikan aplikasi pengenal suara dan pemisah noise yang telah dibuat, diperlukan perangkat lunak yang mendukung agar aplikasi ini berjalan dengan optimal. Spesifikasi minimum perangkat lunak yang dibutuhkan untuk aplikasi ini adalah sebagai berikut: Sistem operasi Microsoft Windows 9x, XP atau NT Server; SQL Server 2000; Perangkat lunak program aplikasi ‘pemisah noise dan absensi’ dengan ukuran 60 MB diutamakan modul database; Matlab Runtime v.7 r.13.
Evaluasi Program Apikasi
Evaluasi program aplikasi ini dilakukan dengan dua cara, yaitu run and trial proses kalkulasi probabilitas pengenalan suara setelah pemisahan noise dengan Matlab, dan percobaan penggunaan program aplikasi secara keseluruhan pada karyawan perusahaan PT M.R.
Evaluasi Proses Kalkulasi
Pada evaluasi proses kalkulasi, dilakukan eksperimen dengan file m pada matlab yang telah dibuat, untuk mengetahui berapa besar persentase dari hasil pengenalan suara yang tepat, dan berapa besar tingkat intensitas pengenalannya. Untuk itu, dilakukan pengumpulan sampel suara pada file wav.
dengan format 16–bit stereo 44.1 KBps. Dengan 4 sumber objek yang masing-masing direkam sebanyak tiga kali sehingga didapatkan file wav. sejumlah 12 file dengan rata-rata durasi sampling yang diambil berkisar antara 2.75 detik sampai 3 detik.
Data sampling tersebut diklasifikasikan menurut sumber sampel sebanyak 4 klasifikasi yang diberi nama A ,B ,C, dan D sehingga didapatkan 12 sampel, yaitu {A1, A2, A3, B1, B2, B3, C1, C2, C3, D1, D2, D3}. Setelah data sampel tersedia, dilakukan sampling dengan metode MABC. Setelah proses MABC, setiap data menjadi 50 array yang berisi tingkat intensitas frekuensi dan nilai yang dibutuhkan untuk per satu gelombang yang disebut power frekuensi. Dipilih setiap class dengan nomor 1 sebagai master file wave, dengan GMM matlab unit ‘gmmbcreate.m’ untuk mencari komponen bobot dari array dan fungsi GMM-nya (Gambar 5).
Gambar 5 Algoritma GMM
Nilai gmmclass digunakan untuk menentukan tingkat ketepatan probabilitas per layer dari sampel suara yang ada dengan nomor 2 dan 3 dengan ‘gmmb_classify.m’. Algoritma GMM ini mampu menentukan derajat dan posisi dari data yang tidak sesuai dengan data master wave. Data yang tidak sesuai dihapus dengan cara mengembalikan array pada nilai awal yang berarti nol. Pada tahap inilah, jika ingin dilakukan pengembalian data wave ke file suara maka posisi yang kosong harus digantikan dengan posisi dari file master sehingga tidak ada jedah suara senyap pada file suara (Gambar 6).
Gambar 6 Plot Penyebaran Data (yang Dilingkar adalah yang Tidak Sesuai)
Data Array yang telah dipisahkan noise-nya, dicocokkan dengan file master untuk mengetahui besarnya tingkat pengenalan suara, hasilnya dapat dilihat pada Tabel 4.
Tabel 4 Hasil Evaluasi Pengenalan Suara
Dari Tabel 4, terlihat hasil proses pengenalan suara yang dilakukan dengan 4 jenis objek dan 3 sampel per objek. Setelah dilakukan 16 kali proses pengenalan, dapat dilihat untuk pengenalan suara dengan objek yang sama (A2 dan A3 dengan A1; B2 dan B3 dengan B1; C2dan C3 dengan C1; D2 dan D3 dengan D1) rata-rata sebesar 58.3% dan akurasi pengenalan suara lebih dari 90%.
PENUTUP
Dari analisis terhadap hasil program aplikasi, dapat diambil beberapa simpulan sebagai berikut. Adanya noise pada file wav. yang direkam mempengaruhi besarnya persentase pengenalan suara sehinga semakin banyak noise yang ada maka semakin berkurang tingkat pengenalannya. Di sisi lain, setiap perekaman maupun pengubahan dari data yang terkontaminasi noise, membutuhkan data dasar yang dijadikan sebagai pedoman untuk mengklasifikasikan data dan memprosesnya. Pemisahan maupun penghilangan noise dari data dapat berpeluang besar untuk menciptakan noise baru yang berpotensi lebih kecil maupun lebih besar terdapat dalam data.
Adapun dengan pemisahan noise, nilai data yang terdapat pada record tempat noise berada dapat dinormalisasikan. Namun, pada pengenalan suara tetap akan berkurang tingkat akurasinya karena hilangnya nilai node kontinu pada record. Pada percobaan dan analisis pada evaluasi proses kalkulasi, rata-rata didapatkan pengenalan suara pada tingkat persentase 58.3% yang mungkin disebabkan oleh hal tersebut, walaupun tidak sampai 80% namun pengenalan suara dapat dikatakan berhasil dengan akurasi lebih dari 90%.
A2 A3 B2 B3 C2 C3 D2 D3
A1 0.5149 0.5576 0.3314 0.4384 0.2901 0.2295 0.3517 0.2951 B1 0.3845 0.3167 0.4602 0.5133 0.3115 0.2861 0.3820 0.3945 C1 0.2901 0.2261 0.2107 0.2189 0.4885 0.6133 0.3122 0.3512 D1 0.3360 0.3127 0.4401 0.4868 0.3819 0.3946 0.7354 0.7819
DAFTAR PUSTAKA
Alam, Agus J. 2005. Pemrograman Database Borland Delphi dalam SQL Server 7.0 & 2005. Jakarta: PT Elex Media Komputindo.
Dubnov, Sholomo and Adiel Ben-Shalom. 2003. Review of ICA and HOS Methods for Retrieval of Natural Sounds and Sound Effects. Nara, Japan. April 2003. 4th International Symposium on Independent Component Analysis and Blind Signal Separation (ICA2003).
http://music.ucsd.edu/~sdubnov/Papers/ReviewICA03.pdf
Fryantoni, Driszal. 2004. “Proses Sampling Fundamental Frequency dengan MABC.” Diakses dari http://www.informatika.lipi.go.id/jurnal/proses-sampling-fundamental-frequency-dengan-mabc/ Kämäräinen, Joni dan Pekka Paalanen. 2003. “GMMBAYES - Bayesian Classifier and Gaussian
Mixture Model ToolBox.” Lappeenranta University of Technology. Diakses dari http://www.it.lut.fi/project/gmmbayes/
Paalanen, P., J.K. Kamarainen, J. Ilonen, and H. Kälviäinen, 2005. “Feature Representation and Discrimination Based on Gaussian Mixture Model Probability Densities - Practices and Algorithms.” Research Report 95, Lappeenranta University of Technology, Department of Information Technology, Diakses dari