• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN SISTEM

3.4 Analisis Pengenalan Suara

Dalam pemrosesan sistem pengenalan suara ada beberapa tahap yang harus dilakukan yaitu yang pertama adalah tahap akuisisi data, kemudian tahap ekstraksi ciri sinyal suara, dan yang terakhir adalah tahap pengenalan kata dengan membandingkan data uji dengan data yang telah dilatih dan tersimpan dalam database.

3.4.1 Akuisisi Data

Ada dua jenis data yang terdapat dalam sistem pengenalan suara yaitu data latih dan data uji. Data latih adalah berupa sinyal suara yang direkam yang berisi kata-kata yang akan dikenali dan dilatih sebagai data pembanding untuk dibandingkan dengan data uji. Data uji adalah berupa sinyal suara yang diucapkan oleh pengguna untuk dikenali oleh sistem pengenalan suara yang sesuai dengan kata yang telah dilatih. Data latih dan data uji yang digunakan dalam aplikasi ini menggunakan frekuensi sampling 16.000 Khz dan 16 bits/sample dan 1 chanel mono.

Pengambilan data latih dilakukan dengan merekam suara 5 orang yang terdiri dari 4 orang pria dan 1 orang wanita yang akan dilatih dan disimpan dalam database. Kata yang akan direkam adalah kata yang digunakan untuk menggerakkan balok dalam permainan tetris yaitu kata kiri, kanan dan putar. Masing-masing kata akan direkam sebanyak 20 kali oleh tiap orang. Jadi akan terdapat 100 data latih untuk kata kiri, 100 data latih untuk kata kanan dan 100 data untuk kata putar. Sehingga total data latih yang akan direkam adalah 100 x 3 sama dengan 300 data latih.

Data uji akan diperoleh selama permainan tetris berlangsung. Pengguna game tetris akan mengucapkan kata secara real-time secara terus menerus dengan menekan sebuah tombol dan sistem akan mengenali suara yang diucapkan dengan membandingkan data uji dengan data yang telah dilatih sebelumnya. Apabila setelah dilakukan proses pengenalan suara data uji sesuai dengan dengan data yang dilatih maka gerak balok tetris akan bergerak sesuai dengan hasil pengenalan suara.

3.4.2 Ekstraksi Fitur Sinyal Suara Dengan MFCC

Setiap sinyal suara memiliki sifat karakteristik yang berbeda antara satau kata dengan kata yang lain. Karakteristik ciri sebuah sinyal suara sangat diperlukan untuk dapat mengenali dan membedakan satu kata dengan kata yang lain. Untuk mendapatkan ciri dari suatu sinyal suara kita perlu mengekstrak fitur yang terdapat pada tiap sinyal suara. Ada beberapa metode yang dilakukan untuk dapat mengekstrak fitur sinyal suara dan salah satu metode yang baik adalah metode MFCC (Mel-frequency Cepstral Coefficient).

Metode MFCC (Mel-Frequency Cepstral coefficient) akan mengkonversi sinyal suara ke dalam beberapa vektor data yang berguna dalam pengenalan suara. MFCC sendiri terdapat tujuh tahapan yaitu

a. Pre Emphasize

Pre-emphasis memproses pengiriman sinyal melaui filter yang menekankan terhadap frekuensi tinggi. Proses Pre-emphasis akan meningkatkan sinyal pada frekuensi tinggi.

[ ] [ ] [ ] (3.1)

b. Frame Blocking

Tahap ini untuk memisahkan sampel yang telah diperoleh dari analog to digital conversion (ADC) menjadi beberapa frame dengan panjang sekitar 20-30 ms. Sinyal suara dibagi menjadi beberapa frame sebanyak N sampel. Frame yang bersebelahan dipisahkan sebesar M (M<N) nilai normal yang biasa digunakan adalah M=128 dan N=256.

c. Windowing

Tahap windowing dilakukan untuk meminimalkan diskontinuitas pada bagian awal dan akhir sinyal dan mengintegrasikan garis-garis frekuensi terdekat. Proses window dilakukan pada setiap bagian sinyal yang telah dibuat pada proses framing.

(3.2)

d. Fast Fourier Transform

Pada tahap ini dilakukan transformasi fast fourier pada masing-masing frame yang telah dilakukan proses windowing. Transformasi fast fourier dilakukan untuk mengubah domain waktu ke domain frekuensi.

(3.3)

e. Mel Frequency Warping

Jangkauan frekuensi dalam spectrum FFT sangat lebar. Sinyal suara juga tidak mengikuti skala linear. Maka filter kemiringan menurut skala Mel akan diaplikasikan. Rangkaian filter segitiga yang digunakan untuk menghitung jumlah berat dari filter komponen spectral sehingga hasil dari proses mendekati skala Mel. Setiap ketinggian filter frequency response adalah bentuk segitiga dan setara pada penggabungan pusat frekuensi dan penurunan secara linear menuju nol pada pusat frekuensi dari dua filter bersebelahan. Setelah itu untuk menghiting Mel dari frekuensi f dalam Hz digunakan persamaan :

f. Discrete Cosine Transform

Setelah masing-masing frame melalui filter mel dilakukan tahap selanjutnya yaitu mentransformasikan dengan menggunakan Discrete Cosine Transform. Transformasi ini bertujuan untuk merubah domain frekuensi kembali menjadi domain waktu. Hasil dari konversi inilah yang disebut sebagai Mel Frequency Cepstrum Coefficient (MFCC). Kumpulan dari koefisien ini disebut sebagai vector akustik (acoustic vector) yang akan digunakan sebagai nilai yang mewakili sinyal suara.

(3.5)

3.4.3 Klasifikasi Dan Pengenalan Suara

Setelah mendapatkan nilai koefisien ekstraksi ciri dari sinyal suara maka akan dapat dilakukan pengklasifikasian dan pengenalan sinyal suara tersebut. Metode yang digunakan adalah penggabungan metode Vector Quantization (VQ) dan Hidden Markov Model (HMM).

Ekstraksi ciri dengan metode MFCC yang digunakan pada sistem ini akan menghasilkan 12 koefisien MFCC yang berupa bilangan vektor pada tiap frame sinyal suara. Vektor tersebut akan diklasifikasi dan dikuantisasi dengan metode vector quantization.

Dengan metode vector quantization hasil dari ekstraksi sinyal suara akan dikuantisasi membentuk codebook yang terdiri dari kumpulan centroid yang diurutkan sesuai dengan ciri dan karakteristiknya.

Setelah hasil ekstraksi suara tersebut sudah terkuantisasi dan terurut, maka tahap selanjutnya adalah membuat pemodelan Hidden Markov untuk dapat mengenali sinyal suara tersebut.

Didalam proses pengenalan suara terdapat dua tahap proses pengenalan suara yaitu tahap pelatihan serta membuat file database dan tahap verifikasi yaitu pengujian sinyal suara baru yang akan dikenali dengan cara membandingkan dengan data latih yang telah disimpan dalam file database.

a. Tahap Pelatihan (Training)

Dalam tahap ini akan melatih data sinyal suara yang akan dijadikan sampel dan akan menyimpan file tersebut ke dalam database. Langkah pertama yang dilakukan adalah membuat data latih yaitu dengan cara merekam sinyal suara berdasarkan kata yang akan dikenali. Pada sistem ini kata yang akan dikenali terdiri atas tiga kata yaitu kata kiri, kanan dan putar.

Tujuan dari tahap training ini adalah agar system dapat mengenali informasi karakteristik suara dari tiap kata. Karakteristik ini berupa 12 koefisien yang berasal dari proses feature extraction, diolah sehingga didapatkan suatu nilai yang mewakili karakteristik suara dari masing-masing kata. Hasil dari tahap feature extraction yang berupa 12 koefisien yang merupakan nilai dari MFCC sinyal suara masing-masing kata dan dikuantisasi dengan vector quantization akan dimasukkan sebagai input pemodelan hidden markov model.

Setelah didapatkan model HMM λ = (A,B,π) maka model HMM tersebut akan dievaluasi menggunakan algoritma forward untuk mendapatkan nilai probabilitas Pt (O|λ) yang akan disimpan ke dalam file database sebagai referensi dari suara masing-masing kata.

b. Tahap Verifikasi

Tahap verifikasi adalah tahap untuk menguji sistem pengenalan suara apakah sistem sudah mampu mengenali sebuah kata dari sebuah sinyal suara. Tahap dari proses verifikasi adalah merekam suara sebagi input data uji, pre-proccesing, feature extraction, vector quantization, dan membandingkan data dengan referensi database yang telah disimpan dengan metode hidden markov model.

Dengan metode hidden markov model proses yang dilakukan adalah menghitung nilai probabilitas tertinggi dari data uji yang dibandingkan dengan data referensi kata yang telah dilatih dan disimpan sebagai database.

3.5 Analisis Permainan Tetris

Tetris adalah permainan satu pemain pemain yang dimainkan di papan permainan yang berbentuk persegi panjang dan berukuran 10 x 20 unit sel kosong. Balok-balok tetris berjatuhan ke area permainan dalam waktu konstan.

Balok Tetris selalu terdiri dari 4 balok kecil yang membentuk tujuh macam rupa yang unik (berbeda satu sama lain).

Pemain dapat mengontrol balok tetris yang jatuh dengan menggerakkan balok ke kiri atau ke kanan. Pemain juga dapat memutar balok 90o searah jarum jam (mengubah bentuk balok).

Tujuan permainan ini adalah untuk mengarahkan balok yang jatuh ke arah susunan tumpukan balok-balok yang telah jatuh sebelumnya. Sehingga balok-balok tersebut dapat tersusun membentuk baris penuh. Setiap baris yang penuh akan dihilangkan dari tumpukan dan tumpukan yang di atasnya akan jatuh sesuai jumlah baris yang hilang. Jika susunan tumpukan balok mencapai garis batas atas, maka permainan berakhir.

Poin diberikan apabila pemain dapat menyusun balok tetris agar memenuhi atau membersihkan tiap baris papan permainan tetris. Tiap satu baris yang dipenuhi atau dibersihkan pemain akan mendapatkan 100 poin. Setelah permainan berakhir, poin yang dikumpulkan akan di cek dengan poin tertinggi yang dikumpulkan dalam permainan sebelumnya. Apabila poinnya tidak lebih tinggi, maka akan dihapus. Dan apabila poinnya lebih tinggi, akan disimpan sebagai poin tertinggi.

3.5.1 Perancangan Permainan Tetris

Pada game tetris, terdapat blok-blok yang akan kita susun secara horizontal ataupun vertical. Blok-blok tersebut dinamakan dengan grid. Jumlah tiap baris grid dalam permainan tetris yang akan dibuat adalah 20. Grid tersebut pada permainan tetris akan dibuat dengan menggunakan matriks berdimensi 2.

Dokumen terkait