BAB 3 PERANCANGAN SISTEM PENGENAL SUARA
3.1
Perangkat Keras yang Digunakan Untuk menunjang perancangan sistem pengenalan suara, maka digunakan perangkat keras ( Hardware ) dengan spesifikasi sebagai berikut :
3.2
-
Prosesor Atlon XP 1600+
-
Memory DDR 512 MB
-
Monitor Samsung SyncMaster 551v 15”
-
Disk Drive ST340016A ( 40GB, 7200 RPM, Ultra-ATA/100 )
-
Multimedia Audio Adapter ( On Board ) C-Media CMI8738/C3DX
-
Speaker Altec Lansing AVS 500
-
Headset
-
Motor Stepper
Perancangan Sistem Sistem pengaman pintu ini dilakukan dengan bantuan pengenal suara menggunakan transormasi wavelet packet dan jaringan syaraf tiruan yang lebih dikenal sebagai Neural Network. Pintu hanya dapat dibuka dengan menggunakan input suara, hal yang pertama kali dilakukan adalah membuat data suara yang dilatih dengan jaringan syaraf tiruan agar input suara dapat dikenali oleh sistem dan dapat menggerakkan motor yang telah dihubungkan ke pintu sehingga pintu pun akan terbuka. Oleh karena itu perlu disiapkan data suara untuk membuka 31
32 pintu, data tersebut dapat didapat dengan cara merekam suara melalui microphone yang telah dihubungkan dengan sound card. Kemudian dalam sound card terjadi proses perubahan sinyal suara yang direkam yaitu dari sinyal analog menjadi sinyal digital. Suara yang direkam tersebut akan disimpan dalam format WAV. Setelah proses perekaman selesai, data WAV tersebut diolah lagi agar dapat digunakan pada proses transformasi wavelet yang kemudian digunakan dalam pelatihan Neural Network dengan metode BackPropagation. Untuk lebih jelasnya proses tersebut dapat dilihat dari diagram berikut :
Gambar 3.1 Perancangan Sistem Pengenalan Suara
33
Gambar 3.2 Perancangan Struktur Sistem Pada gambar 3.2 perancangan struktur sistem menunjukkan bahwa sistem pengenalan suara memiliki tiga komponen utama, yaitu antarmuka pengguna, modul transformasi, dan jaringan syaraf tiruan, sedangkan basis data suara merupakan komponen pendukung. Komponen antarmuka pengguna berfungsi sebagai sarana interaksi antara pengguna dengan sistem. Dalam komponen tersebut pengguna dapat melakukan proses login dengan memasukkan ID dan memberikan suara untuk dikenali. Modul transformasi berfungsi untuk mengubah sinyal suara asli yang diperoleh dari pengguna ke dalam bentuk pola suara yang merupakan hasil ekstraksi fitur suara, sedangkan jaringan syaraf tiruan digunakan untuk melakukan identifikasi pola suara. Pada umumnya perancangan sistem pengenalan suara ini dibagi ke dalam dua tahap, yaitu proses pendaftaran suara dan proses pengenalan pola suara.
34
Gambar 3.3 Flowchart Proses Pendaftaran Suara
35
Gambar 3.4 Flowchart Proses Pengenalan Pola Suara
36 3.3
Pengambilan Data Suara melalui Sound Card Pengambilan data suara dilakukan dengan cara mengambil input suara melalui microphone yang telah dihubungkan dengan jack mic pada sound card. Kemudian pada sound card terjadi perubahan dari sinyal input yang diterima yaitu sinyal analog menjadi sinyal digital. Perekaman data input suara ini menggunakan program Visual Basic, input suara yang diambil adalah 8 bit mono dengan frekuensi 11 kHz, input suara ini kemudian disimpan dalam file temp000.wav. Setelah perekaman suara telah selesai, maka akan dilakukan downsampling untuk mencari data sample yang akan digunakan dalam transformasi wavelet. Proses downsampling bertujuan untuk mengambil sebagian data dari sampel agar data yang di proses tidak terlalu banyak.
3.4
Transformasi Wavelet Transformasi wavelet dapat menangkap perbedaan dalam isi informasi, dengan mengukur variasi antara resolusi yang berbeda dari analisa sinyal. Karena itu perubahan yang tiba – tiba dapat secara efisien dideteksi oleh transformasi wavelet. Dalam transformasi wavelet ini juga akan dilakukan filtering sinyal, yaitu high pass filter dan low pass filter. Filtering digunakan untuk mencari data sample yang akan digunakan untuk mencari kekuatan band. Dalam penelitian ini transformasi wavelet akan menggunakan 3 level, dan masing – masing level dilakukan transformasi untuk Low Pass dan High Pass. Pada level pertama dihasilkan band L dan H, kemudian pada level ke 2 dan ke 3 masing- masing band tersebut ditransformasi kembali untuk menghasilkan band L dan H.
37 Level 3: | L | H | L | H | L | H | L | H | --------------------------------Level 2: | L | H | L | H | --------------------------------Level 1: | L | H | --------------------------------Original Signal --------------------------------Gambar 3.5 Ilustrasi 3 Level Transformasi Wavelet
Gambar 3.6 Analisis Sinyal dengan Transformasi Wavelet Jumlah sampel yang relatif banyak pada setiap band tidak memungkinkan digunakan untuk input JST, karena akan membutuhkan jumlah neuron yang banyak pula. Keadaan tersebut dapat menyebabkan proses JST tidak efisien dan menghabiskan sumber daya sistem. Hal ini menyebabkan sinyal tersebut belum dapat digunakan sebagai input JST untuk pengenalan pola. Oleh karena itu perlu dilakukan kalkulasi entropi pada setiap band, sehingga didapat nilai tunggal pada setiap band. Setelah kalkulasi entropi selesai dilakukan, maka akan dilanjutkan dengan normalisasi kekuatan fitur. Proses tersebut dilakukan dengan merelatifkan nilai setidap band dengan nilai terbesar. Sehingga hasil yang didapat adalah antara nilai 0 hingga 1. Untuk mencari kekuatan band, digunakan rumus berikut :
38 n
H = − K ∑ pi log pi i =1
dimana : |H|
= Entropi
K
= Konstanta operasi
P(i)
= Probabilitas keadaan ke-i
Nilai probabilitas tersebut akan mengalami perubahan variabel menjadi nilai aktual sample ke-i yang dikuadratkan dengan tujuan untuk menghilangkan negatif. Hasil nilai H pada tiap – tiap band pada level 3 kemudian direlatifkan kepada nilai yang terbesar sehingga range nilai yang didapat pada 0 hingga 1.
Gambar 3.7 Grafik Entropi
39 . Start B Inisialisasi Koefisien Looping sebanyak jumlah band
Baca Data Suara
A
Looping sebanyak jumlah level
Memenuhi Kondisi ?
T
Y T
Memenuhi Kondisi ?
Menghitung pertambahan sampel tiap band
Normalisasi fitur
Y End Menghitung jumlah pasangan band LH
Menentukan offset array data
Menghitung pertambahan sampel tiap band
Kalkulasi Entropi tiap band
Looping sebanyak jumlah pasangan band LH
B
T
Memenuhi Kondisi ?
Y Menentukan offset array data
Menyalin data ke variabel penampung hasil transformasi
Menghitung jumlah pasangan band LH
LowPass filtering
A
HighPass filtering
Gambar 3.8 Flowchart Proses Transformasi
40 3.5
Perancangan Jaringan Syaraf Tiruan
Jaringan syaraf tiruan untuk pengenalan suara ini menggunakan 3 lapisan layer dengan 7-5-3 ( 7 neuron pada lapisan input, 5 neuron pada lapisan tersembunyi, 3 neuron pada lapisan ouput ) dengan metode Backpropagation.. Untuk proses pengenalan suara dengan jaringan syaraf tiruan perlu disiapkan data sebagai bahan untuk perbandingan dengan input suara, data tersebut dibuat dengan cara membuat account, dan setiap pembuatan account harus melakukan proses pelatihan jaringan syaraf tiruan untuk mencari bobot input dan output. Bobot tersebut akan disimpan dalam file vJST.dat dan wJST.dat. File vJST.dat berisi bobot koneksi neuron input, sedangkan file wJST.dat berisi bobot koneksi neuron tersembunyi. Sebagai contoh dari file vJST.dat adalah sebagai berikut : v01=0.694294905954708 v02=0.233262308750761 v03=-0.16965796917398 v04=-2.56070134228633 v05=1.09033909669637 Contoh dari file wJST.dat adalah sebagai berikut : w01=-0.479569612572697 w02=1.47124773870344 w03=0.600080498577756 Pada proses pengujian jaringan syaraf tiruan akan dilihat pada hasil perbandingan jaringan syaraf tiruan dari input suara dengan data dari account yang telah dibuat. Dari perbandingan tersebut akan dapat dilihat jika data dari input suara mendekati atau sama dengan data pada account yang telah dibuat,
41 maka input suara tersebut akan dikenali ( identified ) dan pintu akan terbuka. Contoh perbedaan data tersebut dapat dilihat dari bagian difference dalam gambar berikut :
Gambar 3.9 Perbandingan Input Suara dengan Data Account
Input Layer of Source nodes
Layer of hidden neurons
Layer of output neurons
Gambar 3.10 Arsitektur Jaringan Syaraf Tiruan Sistem Pengenalan Suara
42
Gambar 3.11 Flowchart Proses Pelatihan JST
Gambar 3.12 Flowchart Proses Pengenalan Pola
43
Gambar 3.13 Flowchart Proses Feed Forward
44
Start
Operasi sebanyak neuron output A
Memenuhi kondisi ?
T
Operasi sebanyak jumlah neuron tersembunyi
Y Memenuhi kondisi ?
Target JST bersesuaian
T
B
Y Menghitung informasi kesalahan output dari target
Menjumlahkan perkalian target dengan bobot koneksi ke lapisan output bersesuaian
Menghitung koreksi bobot & bias
Menghitung informasi kesalahan output dari target
Menghitung koreksi bobot & bias
B
A
C Operasi sebanyak neuron output Operasi sebanyak jumlah neuron tersembunyi Memenuhi kondisi ?
Y Memperbaiki bobot & bias
T
Memenuhi kondisi ?
T
End
Y Memperbaiki bobot & bias
Gambar 3.14 Flowchart Proses Propagasi Balik
C
45 3.6
Cara Kerja Sistem
Cara kerja sistem pengenal suara akan ditunjukkan dalam bentuk DFD ( Data Flow Diagram ). DFD digunakan untuk menggambarkan proses dan aliran data yang terjadi dalam sistem. Perancangan DFD dilakukan mulai dari konteks sistem sampai dengan proses komparasi. Suara, ID
Pengguna Penerimaan, Penolakan, Grafik fitur
0 Sistem Autentikasi Berbasis Suara
Info Account
Admin
Perintah, Info Account
Gambar 3.15 DFD Konteks Sistem Pengenalan Suara
Gambar 3.16 DFD Sistem Autentikasi
46
Penerimaan, penolakan, grafik fitur
Suara
1.1 Perekaman
1.3 Tampilan
Penerimaan, penolakan, grafik fitur, Info Account
Perintah, Info Account
Sinyal suara ID Perintah, Info Account Info Account
Info Account
Penerimaan , Penolakan 1.2 Antarmuka Aplikasi
ID Perintah JST Entropi untuk Grafik Fitur
Sinyal suara diskrit
Gambar 3.17 DFD Proses Antarmuka Pengguna
Gambar 3.18 DFD Proses Manajemen Account
47
Gambar 3.19 DFD Proses Pengolahan Sinyal
Gambar 3.20 DFD Proses Operasi JST
Gambar 3.21 DFD Proses Komparasi
48 3.7
Perancangan Perangkat Keras
Perancangan sistem pengenalan suara menggunakan program microsoft visual basic untuk pendaftaran dan pengenalan suara. Hasil pengenalan suara tersebut akan menjadi input pada sistem perangkat keras. Perangkat keras yang dimaksud adalah driver motor stepper yang akan dihubungkan melalui parallel port. Jika hasil input suara sesuai dengan data account maka stepper motor akan menggerakkan pintu.
Gambar 3.22 Blok Diagram Sistem
Gambar 3.23 Rancangan Hardware
49
Gambar 3.24 Rangkaian Driver Motor Stepper Semua kaki kolektor pada transistor dihubungkan pada Vcc sehingga keluaran pada driver (A,B,C,D) berlogic High saat input dari D0-D3 berlogic Low. Pada saat salah satu input dari D0-D3 High, maka keluaran dari driver untuk salah satu port yang terhubung dengan input yang berlogic High tersebut akan mengeluarkan logic Low.
50 Ada beberapa macam motor stepper. Hal ini dibedakan menjadi dua kategori besar yaitu: permanent magnet dan variable reluctance. Tipe permanent magnet terbagi menjadi dua motor stepper yaitu unipolar stepper motor dan bipolar stepper motor. Perancangan alat dalam pengenalan suara ini menggunakan unipolar stepper motor. Unipolar stepper motor sangat mudah untuk dikontrol. Dengan rangkaian counter ‘-n’ yang sedehana dapat mengontrol putaran dari motor stepper dengan urutan yang benar. Unipolar stepper motor mempunyai karakteristik khusus yaitu berupa lilitan center-tapped dan 1 lilitan sebagai common. Lilitan common akan mencatu tegangan pada center-tapped dan sebagai ground adalah rangkaian driver nya. Unipolar stepper motor dapat dikenali dengan mengetahui adanya lilitan center-tapped. Jumlah phase dari motor stepper adalah dua kali dari jumlah coil nya. Biasanya pada unipolar stepper motor terdapat dua buah coil.
Gambar 3.25 Susunan Coil Unipolar Motor Stepper
51 Tabel 3.1 Pola 1-phase Putaran Unipolar Motor Stepper
Pada prinsipnya ada dua macam cara kerja unipolar stepper motor, yaitu full-step dan half-step. Penelitian ini menggunakan prinsip cara kerja full-step dalam menggerakkan stepper motor. Tabel 3.2 Pemberian Tegangan untuk Bekerja Fullstep
Pada fullstep, suatu titik pada sebuah kutub magnet di rotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step ke 4. berikutnya dapat diberikan lagi mulai dari step 1. Setiap step, rotor bergerak searah atau berlawanan dengan jarum jam sebesar spesifikasi derajat per step dari mtor stepper. Setiap step hanya menarik sebuah kutub saja. Tegangan ‘1’ adalah menunjukkan logika dalam level Transistor Transistor Logic (TTL). Besar tegangan sesungguhnya diatur dengan spesifikasi stepper motor yang dipakai. Misalnya dengan menggunakan buffer.