Wednesday, June 20, 2007

Pembuatan Software Pembuka Program Aplikasi Komputer Berbasis Pengenalan Suara

Nia Saurina-5106201811

Abstrak
Teknologi wicara adalah salah satu teknologi aplikasi yang telah ditemukan beberapa tahun lalu. Salah satunya adalah speaker recognition yang merupakan suatu proses yang sering disebut dengan verifikasi pengucap. Yang berarti mengenali suara dengan cara membandingkan dengan suara standar. Dengan mekanisme kerja pangambilan contoh-contoh suara. Contoh-contoh suara pada speaker verification akan diproses dengan menggunakan metode window hamming dan fast fourier transform (fft). Kemudian setelah itu diproses pada filter bank. Contoh-contoh suara yang telah diproses tersebut akan mengisi data base dari feature-feature program aplikasi. Pada saat ada suara lain yang masuk, akan dicocokkan dengan contoh-contoh suara yang telah ada pada data base dan akan dicari nilai error terkecilnya. Hasil perbandingan suara baru dengan suara contoh dengan nilai error terkecil diasumsikan sama.
Banyak sekali teknologi saat ini yang memanfaatkan teknologi dalam bidang suara, salah satunya adalah robot. Dimana gerakan-gerakan robot diatur dengan suara manusia. Namun banyak persoalan yang terjadi ketika suara dimanfaatkan oleh sebuah sistem karena setiap orang memiliki ciri suara yang berbeda-beda. Suara merupakan modal utama yang dimiliki manusia untuk berkomunikasi dengan orang lain.
Dengan suara manusia dapat memberikan informasi maupun perintah. Salah satu teknologi yang memanfaatkan suara adalah proses login atau password. Dimana mengatasi hal tersebut digunakan proses pengenalan suara yang dikeluarkan oleh manusia.
Pada penelitian yang telah dilakukan oleh Yesika Eka Kartikasari, dibuat sebuah sistem atau software yang memanfaatkan teknologi pengenalan suara (speech Recognition). Sistem ini diharapkan akan mengenali dari speaker dan kemudian hasil dari pengenalan suara tersebut digunakan sebagai perintah untuk membuka aplikasi komputer.
Masalah
Dalam software ini memiliki kesulitan dalam pengambilan data input yang merupakan sinyal suara dengan menggunakan software tcl/tk dan menjadikannya sebagai data standart dalam database. Selain itu bagaimana proses matching sinyal yang masuk dengan sinyal yang ada pada database sehingga sinyal independent bisa dikenali sebagai perintah untuk membuka program aplikasi

Kebutuhan
1. Bahasa pemrograman yang digunakan adalah bahasa C/Tcl/Snack2.2 pada Windows
2. Sistem hanya bisa diakses oleh orang-orang dengan dialek yang umum (dalam hal ini adalah
Jawa)
3. Objek perekam berusia antara 20 thn – 21 thn.
4. Software yang bisa dihubungkan dengan software ini adalah software yang bisa diakses
hanya yang tersimpan dalam database, dalam hal ini adalah microsoft word, excel, explorer,
power point, dan notepad.

Pemodelan Dalam Rekayasa Perangkat Lunak
Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam suatu rekayasa dalam perangkat lunak sebenarnya masih memungkinkan tanpa melakukan suatu pemodelan. Hal itu tidak dapat lagi dilakukan dalam suatu industri perangkat lunak. Pemodelan delam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.
1. Proses
Proses memiliki atribut dan karakteristik seperti :
· Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana kemudahan definisi proses itu dimengerti. Dengan menggunakan software ini, maka suara yang digunakan sebagai masukan dapat memberikan instruksi pada komputer.
· Visibility, apakah aktivitas-aktivitas proses mencapai titik akhir dalam hasil yang jelas sehingga kemajuan dari proses tersebut dapat terlihat nyata/jelas. Pengoperasian aplikasi komputer dapat dilakukan dengan menggunakan perintah suara. Keberhasilan sistem dapat ditunjukkan keberhasilan dalam memasukkan perintah suara mengeksekusi aplikasi program pada komputer.
· Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh suatu tool. Dalam proses pembuatan software, beberapa macam software diperlukan, diantaranya yaitu:
1. Perekaman Suara
Pada proses perekaman suara, digunakan software perekaman suara buatan sendiri yang berbasis pada Snack dan Tcl/tk.
2. Proses Front End
Sinyal yang masuk dari hasil perekaman merupakan sinyal yang masih terhubung dengan noise dan masih memiliki tail baik di awal sinyal maupun akhir sinyal dan merupakan sinyal yang bersifat variant time. Pada proses front end ini, sinyal tail-tail dan sinyal-sinyal noise dipotong dan diambil sinyal murninya saja.
3. Proses Frame Blocking
Pada proses ini dilakukan pemotongan sinyal dalam slot-slot tertentu agar dianggap invariant. Pada proyek akhir ini sinyal suara dipotong sepanjang 20 milidetik di setiap pergeseran 10 milidetik. Setiap potongan tersebut disebut frame. Jadi dalam satu frame terdapat 240 sampel dari 12000 sampel yang ada.
4. Proses Windowing
Setelah proses frame blocking, sinyal diproses windowing untuk mengurangi efek diskontinuitas ketika sinyal ditransformasikan ke domain frekuensi. Proses windowing dilakukan tiap-tiap subband yang terdiri 240 data sample dan digeser setiap setengah subband yaitu 120 sample. Karena adanya pergeseran inilah kemungkinan puncak-puncak yang mestinya terambil menjadi terpotong dapat terjadi.
5. FFT (Fast Fourier Tramsform)
Pada proses ini sinyal yang sebelumnya berada dalam domain waktu akan dirubah dalam domain frekuensi. Setiap sinyal yang berasal dari alam merupakan sinyal analog yang bila diolah harus dirubah dalam bentuk sinyal digital. Dan pengolahan dalam digital merupakan pengolahan dalam bentuk diskrit. Pada proyek akhir ini sinyal dalam domain waktu akan dirubah dalam domain frekuensi dengan 512 titik. Karena hasil yang diperoleh berupa hasil dari fungsi konvolusi maka hanya akan diambil 256 titik saja yang akan diolah dalam proses selanjutnya. Sedangkan 256 sisanya tidak dipergunakan karena berupa pencerminan saja.
6. Liftering
Pengujian selanjutnya setelah proses FFT adalah liftering. Sebelum proses liftering dilakukan hasil dari FFT di invers terlebih dahulu. Hasil dari IFFT (Invers Fast Fourier Transform) diliftering dengan cara memprosesnya kembali dengan Fast Fourier Transform (FFT) yang bertujuan untuk mendapatkan hasil yang sebenarnya. Pada liftering ini data yang diambil adalah 16 data saja tiap framenya yang bisa mewakili semua data yang telah terolah dalam FFT.
7. Cepstrum
Cepstrum pada dasarnya sama dengan FFT, hanya saja hasil dari cepstrum harus melewati beberapa proses, seperti yang telah dijelaskan di atas yaitu dari hasil FFT harus di invers dulu untuk mendapatkan nilai lifternya dan untuk mendapatkan nilai cepstrum maka nilai lifter tersebut harus diproses dengan FFT kembali, hasil dari proses FFT kedua inilah yang disebut sebagai nilai cepstrum.
8. Dynamic Time Warping
Pengujian terakhir dari proses pengolahan sinyal wicara adalah membandingkan sinyal hasil cepstrum antara data input dan data standarnya.

· Acceptability, apakah proses yang telah ditentukan dapat diterima dan mampu bertanggung jawab selama pembuatan produk perangkat lunak hal ini bisa diwujudkan pada tahap pemrosesan sinyal suara untuk mendapatkan ciri atau parameter, sehingga didapatkan algoritma sistem yang lebih baik. Selain itu pengambilan sample yang lebih banyak lagi untuk tiap dependent speaker agar bisa didapatkan hasil yang lebih akurat.
· Reliability, apakah proses didesain sedemikian rupa sehingga kesalahan proses dapat dihindari sebelum terjadi kesalahan pada produk. Seperti yang telah dijelaskan sebelumnya, dalam proses perekaman suara digunakan beberapa macam metoda, hal ini digunakan agar perhitungan yang didapatkan akurat sehingga setiap orang memiliki frekuensi sinyal yang berbeda.
· Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang tak diduga. Dalam proses perekaman suara, dibutuhkan beberapa sample suara yang digunakan sebagai percobaan. Apabila dalam pelaksanannya orang yang hendak diambil sample suara tersebut sedang sakit, maka diharapkan suara tersebut masih dapat memberikan instruksi pada komputer.
· Maintainability, dapatkah proses berkembang untuk mengikuti kebutuhan atau perbaikan. Untuk saat ini software baru bisa mengenali beberapa macam instruksi, diharapkan pengembangan software dapat mengenali lebih banyak instruksi yang disimpan dalam database.
· Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi. Diharapkan komputer dapat merespon dengan cepat dalam memproses suara yang diberikan.

2. Aktor
1. Pengguna: kustomer yang hendak menggunakan suara untuk memberikan instruksi pada komputer.
2. Pelanggan : perusahaan yang akan menggunakan software.
3. Analisi Pasar : tim yang bertugas mensurvey kebutuhan pasar
4. Regulasi : manajer yang berhak mengatur kegiatan pembuatan software
5. Rekayasa Software : tim yang berhak mengambil keuntungan dalam pembuatan software, termasuk menggunakan ulang beberapa komponen untuk produk lain.
3. Model Spiral Boehm
Model proses nyata waterfall yang berorientasi dokumen telah diambil sebagai standar umum oleh banyak agen pemerintah dan pembuat perangkat lunak. Jadi, tidak mudah melupakan model tersebut walaupun masih terdapat masalah-masalah yang ditimbulkan dalam model tersebut. Kita membutuhkan sebuah proses yang lebih baik untuk manajemen yang dapat menggunakan semua model umum seperti yang telah kita bicarakan sebelumnya. Model perbaikan tersebut juga harus memenuhi kebutuhan-kebutuhan pembuat perangkat lunak. Pendekatan alternatif diusulkan oleh Boehm (1988). Boehm mengusulkan sebuah model yang secara eksplisit menjelaskan bahwa resiko yang disadari mungkin membentuk dasar model proses umum. Model Boehm berbentuk spiral. Setiap loop mewakili sebuah tahap dari proses perangkat lunak.
Tidak ada tahap yang tetap dalam model ini. Manajemen harus memutuskan bagaimana membentuk proyek kedalam tahap-tahap. Perusahaan biasanya bekerja dengan beberapa model umum dengan tahap tambahan untuk proyek khusus atau ketika masala-masalah ditemukan selama pembuatan proyek.

Setiap loop dibagi dalam 4 sektor
1. Pembuatan tujuan
Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek ditentukan. Rencan rinci manajemen juga ditulis lengkap. Pembuatan strategi-strategi alternatif direncanakan sesuai dengan resiko yang ada.
2. Perkiraan dan pengurangan resiko
Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya. Kemudian diambil langkah-langkah untuk mengurangi resiko. contohnya, jika ada resiko bahwa persyaratan-persyaratan tidak tepat maka sebuah model contoh mungkin dapat dikembangkan.
3. Pengembangan dan validasi
Setelah evaluasi resiko, sebuah model pengembangan untuk sistem dipilih. Misalnya, jika resiko interface pengguna yang dominan maka model pengembangan yang tepat mungkin pengembangan evolusioner dengan menggunakan model contoh (prototipe)
Jika resiko keselamatan yang diutamakan, model pengembangan yang sesuai adalah transformasi formal dan seterusnya. Model waterfall mungkin tepat digunakan jika resiko yang diutamakan adalah integrasi sistem.
4. Perencanaan
Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek dibicarakan kembali dan rencana dibuat untuk tahap selanjutnya. Tidak perlu untuk menggunakan satu model tunggal pada setiap loop spiral bahkan dalam keseluruhan sisten perangkat lunak. Model spiral encompasses model lainnya. Pemodelan digunakan pada salah satu psiral untuk memecahkan masalah kebutuhan. Kemudian dapat diikuti oleh model konvensional, waterfall. Transformasi formal digunakan untuk mengembangkan bagian-bagian sistem yang memiliki persyaratan keselamatan yang tinggi dan pendekatan reuse digunakan untuk pengimplementasian bagian-bagian lain dari sistem data manajemen.Pada implementasinya, model spiral ini juga banyak digunakan, tetapi biasanya dikombinasikan dengan model yang lain. Pemodelan waterfall, yang sangat bagus dalam menentukan millestones dan pemodelan spiral, yang sangat bagus dengan menggunakan prototyping, merupakan kombinasi yang sering dipakai di dalam kontrak-kontrak untuk perangkat lunak dewasa ini.
4 Testing
1. Perekaman Suara Sebagai Sample
Perekaman suara dari 20 orang dengan jenis kelamin yang berbeda yaitu 10 orang wanita dan 10 orang laki-laki dengan kata yang sama. Perekaman tersebut dilakukan secara berulang-ulang dengan kata yang berbeda dari perekaman sebelumnya. Kata-kata yang direkam merupakan feature yang ada pada komputer, dalam hal ini antara lain: Microsoft Word, Excel, Explorer, Power Point, dan Notepad.
2. Pembuatan Database
Pembuatan database dari sinyal-sinyal suara yang telah disimpan sebagai sinyal standart dari software yang akan digunakan yaitu Microsoft Word, Excel, Explorer, Power Point, dan Notepad.
3. Proses Penyesuaian suara (matching voice)
Proses Penyesuaian suara dan pengambilan rata-rata dari masing-masing user pada database sehingga pada saat ada sinyal independent (sinyal baru) yang masuk dapat dicari nilai errornya. Data dengan nilai error terkecil diasumsikan mempunyai tipikal suara yang sama dengan sinyal suara standart dan akan diijinkan untuk melakukan akses pada komputer untuk membuka suatu program aplikasi.

Diambil Dari Tugas Akhir: Yesika Eka Kartikasari – Politeknik Elektronika Negeri Surabaya, DIII Telekomunikasi, 2006

No comments: