1
PENGEMBANGAN PERANGKAT LUNAK BERBASIS SUARA UCAPAN UNTUK MEMBUKA DAN MENCETAK DOKUMEN Abd Wahab, Drs. Nurul Hidayat, M.Kom Jurusan Matematika, FMIPA, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 E-mail:nurul
[email protected]\ nurul
[email protected]
Teknologi pengenalan suara ucapan, memungkinkan suatu perangkat dapat mengenali dan memahami kata-kata yang diucapkan seseorang. Melalui pencocokkan sinyal suara dengan suatu pola tertentu yang tersimpan dalam bobot hasil training, sinyal suara dapat dikenali. Setelah itu perangkat akan menjalankan perintah sesuai dengan kata yang diucapkan. Hal ini bisa membantu seseorang dalam mengoperasikan komputer. Oleh karena itu, dalam tugas akhir ini dikembangkan suatu perangkat lunak berbasis sistem pengenal suara ucapan untuk membuka dan mencetak dokumen yang mengaplikasikan metode Estimasi Trispektrum dalam tahap pre-procesing, kuantisasi Modified sa Randomized Local Search (MSA-RLS) pada proses klasterisasi dan Self Organizing Maps beserta Learning Vektor Quantization untuk proses klasifikasi. Dengan sekali klik untuk memulai proses perekaman suara, seseorang dapat membuka dan mencetak dokumen yang ia harapkan. Dari empat jenis suara yang diuji coba, sistem mampu membuka atau mencetak dokumen dengan akurasi mencapai 70%. Kata Kunci: Estimasi Trispektrum, Learning Vektor Quantization, Self Organizing Maps. 1. PENDAHULUAN Kemajuan ilmu pengetahuan dan teknologi saat ini telah berkembang pesat dan memberikan dampak yang besar bagi kehidupan umat manusia [7]. Banyak pekerjaan manusia tergantikan oleh mesin yang dapat berjalan hanya dengan memberikan isyarat perintah sederhana [8]. Berbagai mesin dan perangkat lunak berkembang dengan pesat sehingga banyak perangkat lunak yang membantu manusia dalam mendesain, menggambar, menulis dan lainnya. Pada umumnya, perangkat lunak tersebut dikontrol melalui keyboard atau mouse agar dapat dioperasikan dengan mudah. Akhir-akhir ini banyak produk yang menawarkan komputer dengan kontrol sentuhan pada layar, namun hal itu masih membutuhkan ketrampilan. Biometrika merupakan cabang dari matematika terapan yang membahas tentang identifikasi individu berdasarkan ciri-ciri biologis yang bersifat unik [4]. Ciri-ciri tersebut tidak mudah dikenali oleh komputer sehingga perlu dicari suatu metode yang tepat untuk menggali informasi
dari ciri-ciri tersebut [4]. Salah satu ciri khusus biometrika yang berkembang dan dapat membantu manusia untuk melakukan aktifitasnya adalah melalui suara ucapan. Suara ucapan merupakan alat komunikasi alami yang dapat dilakukan manusia pada umumnya. Untuk mempermudah manusia dalam mengopersikan komputer, dibuat sebuah perangkat lunak yang dapat dikontrol melalui suara ucapan. Dalam membangun Sistem Pengenalan Suara Ucapan (SPSU), secara umum terdapat empat tahapan yang harus dilakukan [1], yaitu akuisisi data suara, estimasi sinyal suara, ekstraksi ciri, serta klasifikasi sinyal suara. Data sinyal suara diperoleh dengan bantuan alat perekam seperti mikrofon kemudian diubah menjadi sinyal digital dengan bantuan sound card pada Personal Computer (PC). Namun, sinyal tersebut belum bisa digunakan untuk proses pengenalan karena belum menunjukkan pola atau karakteristik dari sinyal tersebut. Oleh itu, perlu dilakukan pra-pengolahan untuk mendapatkan karakteristik dari data sinyal suara tersebut. Salah satu metode yang dapat digunakan untuk pra-pengolahan sinyal suara adalah proses estimasi. Pada umumnya sinyal suara dari hasil proses estimasi memiliki ukuran data yang cukup besar untuk diolah [9]. Hal itu berpengaruh terhadap lamanya proses klasifikasi, untuk memperkecil besarnya data yang diproses, maka sinyal perlu dikompres dan diklasterisasi sehingga didapatkan kelompokkelompok yang mewakili masing-masing sinyal suara. Hasil dari klasterisasi itulah yang akan digunakan sebagai input dalam proses klasifikasi sinyal. Pada tugas akhir ini, akan dikembangkan perangkat lunak berbasis sistem pengenalan suara ucapan untuk membuka dan mencetak dokumen. 2. TINJAUAN PUSTAKA 2.1. Studi Penelitian Pada tahun 1994, Kurimo telah melakukan penelitian pengenalan phoneme dan dari data yang diperoleh menunjukkan bahwa dari penggunaan metode SOM+LVQ pada training diperoleh hasil pengenalan yang lebih baik jika dibandingkan menggunakan metode LVQ, atau SOM [5]. Tahun 2006, Yun dan Bao, menyimpulkan dalam penelitiannya bahwa metode SOM + LVQ mampu mengklasifikasi si-
2 nyal suara dengan bagus [6]. Pada tahun yang sama, Amin juga mengembangkan sistem pengenalan suara yang menggunakan estimasi trispektrum pada proses akuisisi sinyal suara, kuantisasi MSA-RLS untuk klasterisasi, dan jaringan LVQ untuk klasifikasi, komputasi yang dilakukan cukup bagus dengan pengenalan mencapai 81% [1], namun visualisasinya kurang lengkap. Lalu pada tahun 2007, Riduwan telah melakukan penelitian mengenai akuisisi sinyal suara menggunakan estimasi trispektrum. Dalam penelitiannya, ia menyimpulkan bahwa penggunaan estimasi trispektrum pada pre-processing menghasilkan pengenalan yang lebih baik dibandingkan bispektrum [9]. Mengingat jumlah data hasil estimasi trispektrum masih cukup besar sehingga butuh metode yang dapat mengkompresi data tanpa menghilangkan kualitas dan fungsi data tersebut, sehingga pada tahun 2008 Agus mengembangkan sistem pengenalan suara ucapan dengan membandingkan tiga metode klasterisasi yaitu MSA-RLS, RLS standar dan fuzzy clustering pada proses klasterisasinya. Hasil dari penelitian tersebut disimpulkan secara umum bahwa klasterisasi MSA-RLS menghasilkan pengenalan yang lebih baik [4].
random sistem dalam membandingkan codebook yang baru. MSA-RLS memiliki perbedaan dalam penentuan pusat klaster bila dibanginkan dengan RLS standar. Proses kerja dari metode RLS standar dan MSA-RLS didasarkan pada jarak kuadrat dan jarak Euclid antar data [4]. Klaster dari masing-masing partisi dapat diperbaiki nilainya berdasarkan centroid condition berikut P p =j xi cj = P i , j = 1, 2, ..., M (1) pi =j 1 Perumusan ini menentukan nilai klester berdasarkan nilai rata-rata(mean) dari data objek dalam partisi yang bersesuaian. Algoritma dari metode MSA-RLS adalah sebagai berikut: 1.
2.
2.2. Landasan Teori 2.2.1. Estimasi Trispektrum Estimasi trispektrum merupakan proses estimasi sinyal suara yang didasarkan pada korelasi tiga parameter frekuensi yaitu f1 , f2 dan f3 . Daerah estimasi trispektrum merupakan ruang tiga dimensi yang dibentuk oleh vektor frekuensi f1 , f2 dan f3 . Pada setiap koordinat (f1 , f2 , f3 ) tersebut terdapat nilai trispektrumnya, sehingga hasil estimasi Trispektrum dapat dikatakan berada dalam ruang empat dimensi. Hasil estimasi trispektrum tersebut berupa magnitude dan fase yang merupakan hasil transformasi dari hasil estimasi trispektrum itu sendiri yang berbentuk kompleks dalam koordinat kartesius, kedalam koordinat kutub yang berbentuk besaran magnitude dan fase. 2.2.2. Modified sa Randomized Local Search Kuantisasi vektor merupakan salah satu teknik untuk mengeksploitasi struktur terpendam dalam vektor masukan yang bertujuan untuk mengkompresi data. Untuk memperoleh tujuan tersebut maka vektor masukan dapat dibagi pada daerah yang berbeda-beda, dan setiap daerah tersebut ditentukan vektor perwakilannya. Kumpulan dari vektor-vektor perwakilan disebut codebook dan anggota-anggotanya disebut codeword. Modified sa Randomized Local Search (MSA-RLS) merupakan salah satu dari dua bentuk metode kuantisasi vektor Randomized Local Search (RLS). Metode RLS menitik beratkan pada pencarian codebook secara random dengan membandingkan jarak yang lebih kecil dibandingkan dengan jarak yang lama, metode ini mengandalkan proses
3.
Inisialisasi klaster representatif: a. cari nilai maksimum dan minimum dari data objek max <--- max(X) , min <--- min(X) b. Hitung nilai kenaikan (Step) step <--- (max min)/M c. Inisialisasi nilai awal klaster berdasarkan nilai kenaikan c_{i} min ; i = 1 c_{i} c_{i-1} + step ; i = 2 to M Tentukan indeks klaster untuk setiap anggota data objek sehingga membentuk partisi optimal P <---OptimalPartition(C) Set Status iterasi dengan nilai false Ulangi langkah berikut jika status bernilai false a. Hitung nilai klaster swap dengan mengambil nilai centroid dari data objek berdasarkan indeks klasternya CNew <--- CalculateNewCluster(P,C) (lihat persamaan 1.) b. Repartisi ulang data objek berdasarkan nilai klaster swap yang telah terbentuk. PNew <--- OptimalPartition(CNew) c. Hitung jumlah jarak kuadrat antara data objek dengan klaster representatif dan klaster swap. Jika jumlah jarak kuadrat klaster swap lebih kecil, maka set klaster representatif dengan klaster swap berikut indeks klasternya, tetapi jika jumlah jarak kuadrat klaster swap lebih besar maka set nilai status dengan true. IF f(X, PNew, CNew ) < f (X, P, C) THEN P <--- PNew C <--- CNew ELSE Status true END IF
2.2.3. Learning Vektor Quantization (LVQ) Learning Vektor Quantization adalah suatu metode untuk melakukan pembelajaran pada lapisan-lapisan kompetitif yang terwarisi. Suatu lapisan kompetitif akan belajar secara otomatis untuk melakukan klasifikasi terhadap vektorvektor input yang diberikan. Algoritma dari pembelajaran LVQ adalah sebagai berikut [3]
3 Step 0: Inisialisasi vektor reverensi Inisialisasi learning rate alpha Step 1: bila kondisi STOP belum terpenuhi, kerjakan Step 2-6 Step 2: Untuk setiap vektor training x, kerjakan Step 3-4 Step 3: Dapatkan j sedemikian hingga |x-wj| minimum Step 4: Update Wj sebagai berikut: Jika T=Cj maka Wj(baru)= Wj(lama)+alpha(x-Wj(lama)) Jika T != Cj maka Wj(baru)= Wj(lama)-alpha(x-Wj(lama)) Step 5 Reduksi learning rate(alpha) Step 6 Tes kondisi STOP - dengan membatasi jumlah iterasi - setelah alpha mencapai nilai toleransi
3. PEMBAHASAN DAN HASIL PENELITIAN 3.1. Rancangan Sistem Rancangan sistem pengenalan suara ucapan, dapat dilihat pada gambar 1 berikut.
Keterangan: x T Wj
: : :
kx − wjk
:
vektor training (x1 , x2 , ..., xn ) target untuk vektor training kategori atau kelas hasil komputasi oleh output unit j jarak Euclid antara vektor input dengan (vektor bobot) unit output ke j
2.2.4. Self Organizing Map (SOM) Jaringan Kohonen SOM (Self-Organizing Map) merupakan salah satu model jaringan syaraf yang menggunakan metode pembelajaran unsupervised [3]. Jaringan Kohonen SOM terdiri dari dua lapisan (layer), yaitu lapisan input dan lapisan output. Setiap neuron dalam lapisan input terhubung dengan setiap neuron pada lapisan output. Setiap neuron dalam lapisan output merepresentasikan kelas dari input yang diberikan. Berikut ini adalah tahapan dalam algoritma pembelajaran JST Self Organizing Map (SOM)[3]. 0: Inisialisasi pembobotan Wij. Men-set learning rate(alpha), dan radius tetangga(R) 1: Apabila kondisi selesai belum terpenuhi, lakukan langkah 2-8 2: Untuk tiap vektor input xi, i ={1,...,n}, lakukan langkah 3-5 3: Untuk tiap j, (j =1,...m), hitung jarak Euclidean kuadrat D(j)= sum(Wij-xi)ˆ2 , untuk i
Keterangan: x R XI W0j Yj
: : : : :
vektor training (x1 , x2 , ..., xn ) radius neighborhood neuron/ node input bias pada neuron output ke j neuron/ node output ke j
Gambar 1: Rancangan sistem Keterangan: 1. Training Training merupakan proses pembelajaran sistem terhadap jenis-jenis suara yang digunakan, yang menghasilkan bobot klasifikasi 2. Testing Testing merupakan proses pencocokan sinyal suara yang diterima dengan refernsi yang ada. Hasil testing berupa sebuah kata yang selanjutnya digunakan untuk membuka atau mencetak dokumen. 3.2. Ekstraksi Ciri Ekstraksi fitur suara bertujuan untuk mengurangi jumlah data pada sinyal suara agar mempermudah pemprosesan pada klasifikasi dengan tetap mempertahankan nilai atau fitur tertentu yang membedakan pola suara input. 3.2.1. Estimasi Sinyal Suara Karakteristik dari setiap sinyal suara ditentukan dengan menggunakan estimasi trispektrum. Hasil estimasi trispektrum berupa magnitude yang berada pada setiap koordinat (f1 , f2 , f3 ). 3.2.2. Kompresi Data Pada umumnya ukuran data hasil estimasi trispektrum relatif besar. Kuantisasi MSA-RLS ditujukan untuk mengkompresi data tanpa menghilangkan karakteristiknya. 3.3. Klasifikasi Data sinyal suara yang diklasifikasi berupa data hasil ekstraksi ciri yang memiliki ukuran sama. Adapun bagan proses klasifikasi dapat dilihat pada 2.
4 yang berada pada tab estimasi, file yang akan diestimasi dapat dipilih. Dari ujicoba yang dilakukan, perangkat lunak mampu mengestimasi 20 file dengan menggunakan chunk = 256 dan menyimpan hasilnya pada file (*-256.tmg) dalam waktu 1,758 detik. Gambar 2: Proses klasifikasi 3.4.3. Uji Coba Proses Klasterisasi Secara berurutan, penentuan himpunan cumulative distance dilakukan saat terjadi proses klasifikasi. 3.3.1. Himpunan Cumulative Distance Dari hasil klasifikasi, diperoleh bobot-bobot yang merupakan representasi dari data input klaster, bobot-bobot inilah yang akan digunakan dalam proses testing sebagai data referensi. Pada saat proses training dijalankan, data suara yang sudah diestimasi terlebih dahulu diklasterisasi. Mengingat waktu yang dibutuhkan untuk proses klaster cukup lama maka pada proses testing, data input yang diberikan harus dihindarkan dari proses klaster untuk mempersingkat waktu testing. Namun yang menjadi permasalahan, jika data yang diberikan tidak dikenakan proses klaster, maka ukuran data input pada saat testing tidak akan sama dengan ukuran data input pada saat klasifikasi (training). Hal ini menyebabkan bobot yang dihasilkan pada saat proses klasifikasi tidak dapat digunakan sebagaimana mestinya, sesuai dengan metode pada learning vektor quantization standar. Untuk mengatasi hal tersebut, maka digunakan metode pembentukan himpunan cumulative distance. Konsep metode ini adalah membentuk kumpulan jarak kumulatif dari data input(data estimasi) terhadap bobot hasil klasifikasi sesuai dengan data klaster dari data input itu sendiri, sehingga secara tidak langsung pola jarak kumulatif akan terbentuk dari data input terhadap data bobot hasil klasifikasi.
3.4. Uji Coba Perangkat Lunak 3.4.1. Uji coba perekaman Pada uji coba ini data sinyal suara direkam dengan memanfaatkan menu Perekaman, dimana sebuah microphone telah terhubung ke PC. Untuk tiap-tiap kata direkam dengan durasi yang sama yaitu 1 detik. Kata-kata yang direkam adalah ”Artikel”, ”Data”, ”Buku”, ”Skripsi”, tiap kata direkam sebanyak 5 kali untuk dijadikan sebagai referensi pada proses estimasi. Dari ujicoba yang dilakukan, perangkat lunak mampu merekam sinyal suara sebanyak 20 file yang disimpan dalam file (*.rec). 3.4.2. Uji Coba Pra-proses Estimasi Pada uji coba ini data sinyal suara yang telah direkam dan disimpan dalam file (*.rec). Melalui tombol browse
Pada uji coba ini data sinyal suara yang telah ditranformasikan dalam bentuk magnitude dan tersimpan dalam file (*.tmg) diklaster. Dengan demikian dapat diperoleh data magnitude dari masing-masing kelompok klaster sehingga diperoleh data yang lebih sedikit untuk dikenai proses klasifikasi. Dari ujicoba yang dilakukan, perangkat lunak mampu melakukan klasterisasi pada 20 data dalam waktu 1,617 detik. 3.4.4. Uji Coba Proses Klasifikasi Proses klasifikasi akan berjalan jika alamat data klasterisasi dan data estimasi bersesuaian, hal ini dikarenakan adanya proses penentuan himpunan cumulative distance yang mengikuti proses klasifikasi. Uji coba dilakukan dengan mengambil masing-masing 20 data estimasi dan klasterisasi. Dari ujicoba yang dilakukan, perangkat lunak mampu mengklasifikasikan 20 data menjadi 4 target kelas. Hasil dari proses klasifikasi berupa nilai bobot yang tersimpan pada file (*.bkls) dan himpunan cumulative distance yang tersimpan pada file (*.rkls). Proses ini berjalan dalam waktu 1,740 detik. 3.4.5. Uji Coba Membuka atau Mencetak Dokumen Pada uji coba ini data hasil klasifikasi dijadikan sebagai referensi untuk melakukan testing, uji coba dapat dilakukan secara real time atau manual dengan menginputkan data magnitude. Hasil dari pengenalan suara yang diucapkan selanjutnya digunakan untuk membuka atau mencetak dokumen. Dari 4 kata yang diujicobakan, ucapan ”Artikel” dapat dikenali sistem sebanyak 67%, ucapan ”Buku” dikenali sebanyak 63%, ucapan ”Data” dikenali sebanyak 80% dan ucapan ”Skripsi” dikenali sebanyak 70% untuk 30 kali uji coba pada masing-masing kata. 4. KESIMPULAN Berdasarkan analisis terhadap hasil pengujian perangkat lunak untuk membuka dan mencetak dokumen berbasis suara ucapan, maka dapat diambil beberapa kesimpulan sebagai berikut: 1. Rancangan sistem pengenalan suara ucapan yang dapat digunakan untuk membuka dan mencetak dokumen meliputi proses training yang terdiri dari proses estimasi trispektrum, klasterisasi MSA-RLS, dan
5 klasifikasi SOM+LVQ dan proses testing yaitu: estimasi trispektrum, testing JST-LVQ dan dilanjutkan dengan proses membuka dan mencetak dokumen. 2. Rancangan sistem dapat diimplementasikan menjadi perangkat lunak yang user friendly serta dapat membuka dan mencetak dokumen hanya dengan diawali satu klik untuk memulai perekaman. 3. Presentase tingkat keberhasilan sistem dalam membuka atau mencetak dokumen dapat mencapai 70% untuk empat jenis kata.
DAFTAR PUSTAKA [1] Amin, M.S. 2006. Pengelompokan Ciri dan Klasifikasi Sinyal Suara Menggunakan Metode Kuantisasi Vektor MSA-RLS dan Jaringan Syaraf Tiruan LVQ. Surabaya: Jurusan Matematika, Institut Teknologi Sepuluh Nopember. [2] Eliyani. 2005. Pengantar Jaringan Saraf Tiruan. http:\\ trirezqiariantoro.files.wordpress.com\2007 \ 05\ jaringan syaraf tiruan.pdf (diakses tanggal 19 Oktober 2012). [3] Fausett, L. 1994. Fundamentals of Neural Networks: Architectures, Algorithms, and Applications. Prentice Hall International, Inc. [4] Jumadi, A. 2008. Perbandingan Antara Metode Klasterisasi Rls Dan Fuzzy Clustering Pada Sistem Pengenalan Individu Berbasis Suara Ucapan. Surabaya: Jurusan Matematika, Institut Teknologi Sepuluh Nopember. [5] Kurimo, M. 1994. Hybrid training method for tied mixture density hidden Markov models using Learning Vector Quantization and Viterbi. Helsinki: Helsinki University of Technology. [6] Liu,Y dan Bao, C. ”A New Voice Activity Detection Algorithm Based On SOM & LVQ”. Beijing: School of Electronic Information & Control Engineering Beijing University of Technology. Hal 43-45, 2006. [7] Maharsi, S. ”Pengaruh Perkembangan Teknologi Informasi Terhadap Bidang Akuntansi Manajemen”. Surabaya: Universitas Kristen Petra. Vol. 2, No. 2, Hal 127 - 137, 2000. [8] Nurhayati. 2004. Perbandingan Sistem Biaya Tradisional dengan Sistem Biaya ABC. Sumatra Utara: Jurusan Teknik Industri, Universitas Sumatera Utara. [9] Ramdani, R. 2009. Kendali Gerak Interaktif Robot Mobil Berbasis Suara Ucapan. Surabaya: Jurusan Matematika, Institut Teknologi Sepuluh Nopember.