Speaker recognition yang
merupakan pengenalan identitas yang diklaim oleh seseorang dari suaranya
(ciri khusus dapat berupa intonasi suara, tingkat kedalaman suara, dan
sebagainya). Implementasi speech recognition misalnya perintah suara
untuk menjalankan aplikasi komputer. Speech
Recognition juga merupakan sistem yang digunakan untuk
mengenali perintah kata dari suara manusia dan kemudian diterjemahkan
menjadi suatu data yang dimengerti oleh komputer. Pada saat ini, sistem
ini digunakan untuk menggantikan peranan input dari keyboard dan mouse.
Keuntungan dari sistem ini adalah pada kecepatan dan kemudahan dalam
penggunaannya. Kata – kata yang ditangkap dan dikenali bisa jadi sebagai
hasil akhir, untuk sebuah aplikasi seperti command & control,
penginputan data, dan persiapan dokumen. Parameter yang dibandingkan
ialah tingkat penekanan suara yang kemudian akan dicocokkan dengan
template database yang tersedia. Sedangkan sistem pengenalan suara
berdasarkan orang yang berbicara dinamakan speaker recognition. Pada
makalah ini hanya akan dibahas mengenai speech recognition karena
kompleksitas algoritma yang diimplementasikan lebih sederhana daripada
speaker recognition. Algoritma yang akan diimplementasikan pada bahasan
mengenai proses speech recognition ini adalah algoritma FFT (Fast
Fourier Transform), yaitu algoritma yang cukup efisien dalam pemrosesan
sinyal digital (dalam hal ini suara) dalam bentuk diskrit. Algoritma ini
mengimplementasikan algoritma Divide and Conquer untuk pemrosesannya.
Konsep utama algoritma ini adalah mengubah sinyal suara yang berbasis
waktu menjadi berbasis frekuensi dengan membagi masalah menjadi beberapa
upa masalah yang lebih kecil. Kemudian, setiap upa masalah diselesaikan
dengan cara melakukan pencocokan pola digital suara.
- Skema Utama dan Algoritma Speech Recognition
Untuk
mengubah percakapan menjadi teks on-screen atau perintah tertentu,
komputer melakukan beberapa langkah yang kompleks. Ketika berbicara,
Anda mengeluarkan getaran di udara. Kemudian, analog-to-digital
converter (ADC) yang ada di soundcard menerjemahkan gelombang analog ini
menjadi data digital yang dapat dimengerti oleh komputer. Untuk
melakukan hal tersebut, sistem Speech Recognition melakukan sampling
atau digitizing suara dengan cara mengambil ukuran yang paling pas dari
gelombang. Sistem menyaring suara yang telah didigitalkan tersebut dan
membuang gangguan (noise), dan kadang-kadang memisahkannya ke dalam pita
frekuensi yang berbeda. Frekuensi adalah panjang gelombang suara, yang
terdengar oleh telinga manusia sebagai tinggi nada (pitch) yang berbeda.
Sistem
ini juga menormalkan suara, atau mengaturnya ke dalam tingkat volume
yang tetap, terkadang juga mendatarkan suara. Manusia tidak berbicara
dalam kecepatan yang sama sehingga suara harus diatur dengan kecepatan
yang sama dengan sampel-sampel template suara yang tersimpan dalam
komputer. Langkah selanjutnya adalah memecah sinyal menjadi
bagian-bagian kecil, dengan durasi seperseratus detik, atau bahkan
seperseribu pada kasus bunyi-bunyi konsonan atau mati. Konsonan
memberhentikan produksi suara dengan menghalangi aliran gelombang pada
bidang vokal, seperti “p” atau “t”.
Program di komputer
kemudian mencocokkan bagian-bagian kecil ini dengan fonem yang dikenal
dalam bahasa tertentu. Fonem adalah elemen terkecil dalam sebuah bahasa,
merepresentasikan suara yang kita hasilkan, dan merangkainya ke dalam
bentuk ujaran yang memiliki makna. Tahap berikutnya kelihatan sederhana,
tapi pada dasarnya merupakan proses yang paling susah diselesaikan,
sekaligus merupakan inti dari sebagian besar penelitian di bidang Speech
Recognition. Komputer memeriksa fonem-fonem dalam konteks (hubungan)
dengan fonem-fonem lain yang menyertainya. Komputer menjalankan alur
(plot) melalui sebuah model statistika yang kompleks, dan
membandingkannya dengan koleksi kata, frase, dan kalimat yang telah
dikenal. Program Speech Recognition selanjutnya menentukan apa yang
mungkin dikatakan oleh pengguna, dan juga mengetikkannya sebagai teks
atau mengeluarkannya sebagai perintah pada komputer.
Terdapat 4 langkah utama dalam sistem pengenalan suara:
• Penerimaan data input
• Ekstraksi, yaitu penyimpanan data masukan sekaligus pembuatan database untuk template.
•
Pembandingan / pencocokan, yaitu tahap pencocokan data baru dengan data
suara (pencocokan tata bahasa) pada template atau database.
• Validasi identitas pengguna.
Gambar 1. Skema Speech Recognition
Secara
umum, speech recognizer memproses sinyal suara yang masuk dan
menyimpannya dalam bentuk digital. Hasit proses digitalisasi tersebut
kemudian dikonversi dalam bentuk spektrum suara yang akan dianalisa
dengan membandingkannya dengan template suara pada database sistem.
Gambar 2. Spektrum Suara
Sebelumnya,
data suara masukan dipilah-pilah dan diproses satu per satu berdasarkan
urutannya. Pemilahan ini dilakukan agar proses analisis dapat dilakukan
secara paralel. Proses yang pertama kali dilakukan ialah memproses
gelombang kontinu spektrum suara ke dalam bentuk diskrit. Langkah
berikutnya ialah proses kalkulasi yang dibagi menjadi dua bagian :
• Transformasi gelombang diskrit menjadi array data.
• Untuk masing-masing elemen pada aiTay data, hitung "ketinggian" gelombang (frekuensi).
Objek permasaiahan yang akan dibagi adalah masukan berukuran n, berupa data diskrit gelombang suara.
Ketika
mengkonversi gelombang suara ke dalam bentuk diskrit, gelombang
diperlebar dengan cara memperinci berdasarkan waktu. Hal ini dilakukan
agar proses algontma seianjutnya (pencocokan) lebih mudah diiakukan.
Namun, efek buruknya ialah array of array data yang terbentuk akan lebih
banyak.
Gambar 3. Contoh Hasit Konversi Sinyal Diskrit
Dari
tiap elemen array data tersebut, dikonversi ke dalam bentuk bilangan
biner. Data biner tersebut yang nantinya akan dibandingkan dengan
template data suara.
Proses divide and conquer :
• Pilih
sebuah angkaN, dimana N merupakan bilangan bulat kelipatan 2.Bilangan
ini berfungsi untuk menghitung jumlah elemen transformasi FFT.
•
Bagi dua data diskrit secara (dengan menerapkan algoritma divide and
conquer) menjadi data diskrit yang lebih kecii berukuran N = N,.N2.
• Objek data dimasukkan ke dalam table (sebagai elemen tabel).
•
Untuk setiap eiemen data, dicocokkan dengan data pada template (pada
data template juga dilakukan pemrosesan digitaiisasi menjadi data
diskrit, dengan cara yang sama dengan proses digitaiisasi data masukan
bam yang ingin dicocokkan).
• Setiap upa masalah disatukan
kembali dan dianalisis secara keseluruhan, kecocokan dari segi tata
bahasa dan apakah data yang diucapkan sesuai dengan kata yang tersedia
pada template data.
• Verifikasi data. Jika sesuai, proses iebih lanjut, sesuai dengan aplikasi yang mengimplementasikan algoritma ini.
repost dari
http://dee-x-cisadane.webs.com/apps/blog/show/10345884-speech-recognition