Perancangan Perangkat Lunak Pembuka Program Aplikasi Komputer Melalui Pengenalan Suara.

Perancangan Perangkat Lunak Pembuka Program Aplikasi Komputer
melalui Pengenalan Suara
Anugrah Endy/0322028
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha
Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
Email: anugrah_endy@hotmail.com

ABSTRAK

Suara merupakan alat komunikasi yang esensial bagi manusia. Sistem
pengenalan suara dapat diterapkan dalam berbagai bidang, seperti militer, telepon
selular dsb. Sistem pengenalan yang dibuat dalam Tugas Akhir ini adalah
memanfaatkan suara sebagai alat untuk membuka aplikasi komputer dengan
menggunakan metode LPC (Linear Predictive Coding) sebagai pengolahan sinyal
dan pengenalan suara digunakan metoda DTW (Dynamic Time Warping). Program
dirancang dengan menggunakan MATLAB 7.
Hasil pengujian dari realisasi perangkat lunak pembuka aplikasi komputer
melalui pengenalan suara didapatkan rata-rata persentase keberhasilan sistem
dalam mengenali kata untuk menjalankan panggilan aplikasi yang sesuai dengan
referensi yang ditentukan adalah 64,44 % dan untuk menjalankan panggilan
aplikasi yang tidak sesuai dengan referensi yang ditentukan adalah 29,10 %.


Kata kunci : pengenalan suara, LPC, DTW.

i

Designing of Voice Recognition for Computer Application Starter
Anugrah Endy / 0322028
Department of Electrical Engineering, Christian Maranatha University
Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
Email: anugrah_endy@hotmail.com

ABSTRACT

Sound is an essential communication instrument to human. Speech Recognition
system is applicable to various areas; such as military, cell phone etc. The
Recognition System developed in this Final Assignment uses sound as an
instrument to open computer application by using LPC (Linear Predictive Coding)
method to process sound signal and DTW (Dynamic Time Warping) to recognize
voice. This program is built using MATLAB 7.
The result of this computer application viewer software implementation

showed that the success average result of systems ability to recognize voice in
executing application according to particular reference is 64,44% and to
unaccording to particular reference is 29,10 %

Keyword : Speech Recognition. LPC, DTW

i

BAB I
PENDAHULUAN

1.1. Latar Belakang
Suara merupakan modal yang dimiliki oleh manusia untuk dapat
mengkomunikasikan maksud dan tujuan dalam kehidupannya. Berbagai hal dapat
dilakukan hanya dengan mengeluarkan suara, misalnya memberikan perintah
kepada sesamanya. Dengan mudahnya manusia dapat mengerti apa yang
diucapkan oleh manusia yang lain tanpa mengalami kesulitan sedikitpun. GUI
(Graphical User Interface) telah menjadi pilihan utama pada pengembangan
aplikasi komputer pada umumnya. Interaksi GUI melalui keyboard dan mouse
menjadi bagian keseharian pengguna komputer. Dalam perkembangannya

penggunaan suara digunakan juga untuk interaksi dengan komputer melalui GUI.
Pada tugas akhir ini dibuat suatu perangkat lunak yang memanfaatkan teknologi
pengenalan suara yang digunakan sebagai perintah untuk membuka aplikasi
komputer

1.2. Identifikasi Masalah
Bagaimana merancang perangkat lunak pembuka aplikasi program komputer
berbasis pengenalan suara ?

1.3. Maksud dan Tujuan
Merancang perangkat lunak agar sinyal suara dapat dikenal sebagai perintah
untuk membuka suatu aplikasi pada komputer.

1.4. Pembatasan Masalah


Aplikasi komputer yang dapat diakses bersifat command yang berekstensi .exe
.com atau .bat




Data suara dalam database berasal dari suara satu orang yang sama



Hanya bisa mengakses satu aplikasi dalam waktu yang sama

1



Program dibuat dengan Matlab 7.0



Menggunakan metoda Linear Predictive Coding (LPC) untuk pengolahan
suara dan metoda Dynamic Time Warping (DTW) untuk pengenalan suara

1.5. Sistematika Penulisan
Agar dalam penulisan laporan Tugas Akhir ini lebih terarah dan teratur

serta terstruktur maka akan dibagi dalam :
BAB I

PENDAHULUAN
Berisi latar belakang, identifikasi masalah, maksud dan tujuan,
pembatasan masalah, dan sistematika penulisan.

BAB II

LANDASAN TEORI
Berisi tentang teori-teori yang menunjang dalam pembuatan
aplikasi dalam tugas akhir ini, yaitu ulasan mengenai pengertian
pengolahan suara, pengenalan suara serta matlab.

BAB III

PERANCANGAN
Bab ini berisi baris-baris program yang digunakan untuk membuat
program, penjelasan program serta flowchart program pengolahan
citra.


BAB IV

DATA PENGAMATAN DAN ANALISA
Berisi gambar yang akan diuji, tampilan hasil percobaan dan hasil
survey yang dilakukan.

BAB V

KESIMPULAN DAN SARAN
Berisi kesimpulan dan saran.

2

Perancangan Perangkat Lunak Pembuka Program
Aplikasi Komputer melalui Pengenalan Suara
Designing of Voice Recognition for Computer Application
Starter
Laporan Tugas Akhir
Diajukan Untuk Memenuhi Persyaratan Program Studi Strata Satu (S1)

Jurusan Teknik Elektro - Fakultas Teknik
Universitas Kristen Maranatha
Bandung

Disusun Oleh :

Nama

: Anugrah Endy

NRP

: 0322028

JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS KRISTEN MARANATHA
BANDUNG
2007


DAFTAR GAMBAR

Halaman
Gambar 2.1 Bentuk sinyal sinus ............................................................................ 3
Gambar 2.2 Bentuk sinyal sinus yang telah di sampling ....................................... 3
Gambar 2.3 Bentuk sinyal yang di frame blocking ................................................ 5
Gambar 2.4 Sinyal sinus murni .............................................................................. 5
Gambar 2.5 Sinyal sinus yang telah di window ..................................................... 6
Gambar 2.6 Tampilan utama Matlab .................................................................... 14
Gambar 2.7 Contoh M-File .................................................................................. 16
Gambar 2.8 Diagram Pemrograman Berbasis Objek............................................ 17
Gambar 3.1 Diagram alir keseluruhan ................................................................. 20
Gambar 3.2 Diagram alir Linear Predictive Coding .. .......................................... 21
Gambar 3.3 Diagram alir Dynamic Time Warping ............................................. 23
Gambar 3.4 Diagram alir Perbandingan Hasil . .................................................... 24
Gambar 3.5 Tampilan Program ........................................................................... 26
Gambar 4.1 Tampilan Program pada saat melakukan pengujian ......................... 27

ix


DAFTAR ISI

Halaman
LEMBAR PENGESAHAN
PERNYATAAN ORISINALITAS LAPORAN
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
ABSTRAK
ABSTRACT

...................................................................................................... i
................................................................................................... ii

KATA PENGANTAR.......................................................................................... iii
DAFTAR ISI

..................................................................................................... v

DAFTAR GAMBAR............................................................................................ ix
DAFTAR TABEL ................................................................................................. x


BAB I PENDAHULUAN...................................................................................... 1
1.1 Latar Belakang................................................................................... 1
1.2 Identifikasi Masalah .......................................................................... 1
1.3 Maksud dan Tujuan ........................................................................... 1
1.4 Pembatasan Masalah.......................................................................... 1
1.5 Sistematika Penulisan ......................................................................... 2

v

BAB II LANDASAN TEORI .............................................................................. 3
2.1 Proses Sampling ................................................................................ 3
2.2 Linear Predictive Coding (LPC) ...................................................... 4
2.3 Teknik Untuk Membandingkan Pola ................................................ 7
2.4 Pengukuran Jarak Antara Dua Pola .................................................. 8
2.5 Normalisasi Waktu ........................................................................... 8
2.6 Pemrograman Dinamik (Dynamic Programming) ........................... 9
2.7 Pembatasan Dalam Normalisasi Waktu ......................................... 10
2.7.1 Pembatasan Titik Awal dan Akhir (Endpoint Constraints).... 10
2.7.2 Kemonotonan (Monotonicity) ................................................ 11
2.7.3 Pembatasan Jalan Lokal (Local Path Constraints) ............... 11

2.7.4 Pembatasan Jalan Keseluruhan (Global Path Constraints) ... 11
2.8 Dynamic Time Warping (DTW) ...................................................... 12
2.9 Matlab ............................................................................................. 12
2.9.1 Lingkup Matlab ....................................................................... 13
2.9.2 Variabel pada Matlab .............................................................. 14
2.9.3 Matriks .................................................................................... 14
2.9.4 Fungsi Matematika lain .......................................................... 15
2.9.5 M-File Editor .......................................................................... 15
2.9.5.1 Aturan dan sifat – sifat

.............................................. 16

2.9.6 Graphic User Interface (GUI) pada Matlab ............................ 17

vi

2.9.6.1 Objek Figure ............................................................... 18
2.9.6.2 Objek Uicontrol .......................................................... 19
2.9.6.3 Properti Callback sebagai Media Interaksi ................. 19

BAB III PERANCANGAN PROGRAM ............................................................ 20
3.1 Linear Predictive Coding (LPC) ..................................................... 21
3.1.2 Program Linear Predictive Coding .......................................... 21
3.2 Dynamic Time Warping ................................................................... 23
3.2.1 Program Dynamic Time Warping ............................................. 24
3.3 Perbandingan Hasil .......................................................................... 24
3.3.1 Program Perbandingan Hasil .................................................... 25
3.4 Perancangan Tampilan Program ...................................................... 26
3.4.1 Fungsi tombol pada Tampilan Program ................................... 26

BAB IV DATA PENGAMATAN DAN ANALISA DATA ............................. 27
4.1 Tampilan Program ............................................................................. 27
4.2 Hasil Pengujian.................................................................................. 28
4.3 Analisa Data ...................................................................................... 29
4.4 Pengujian membuka file berekstensi .com dan .bat .......................... 30

vii

BAB V KESIMPULAN DAN SARAN. ............................................................ 31
5.1 Kesimpulan ....................................................................................... 31
5.2 Saran ................................................................................................. 31

DAFTAR PUSTAKA .......................................................................................... 32
LAMPIRAN A : LISTING PROGRAM
LAMPIRAN B : DATA SURVEY

viii

DAFTAR LAMPIRAN
LAMPIRAN A

A-1

LAMPIRAN B

B-1

x

DAFTAR PUSTAKA
1. Duane Hanselman, Bruce Littlefield, 1998, Mastering MATLAB 5 A
Comprehensive Tutorial And Reference, Prentice Hall, Upper Saddle
River, New Jersey 07458
2. Etter, D. M.,1993, Engineering Problem Solving with MATLAB, Prentice
Hall, Englewood Cliff, New Jersey 07632
3. Lawrence Rabiner, Biing Hwang Juan, “Fundamentals of Speech
Recognition”, Prentice Hall International Inc, 1993
4.

Linfield, G., Penny, J., 1995, Numerical Methods Using MATLAB, Ellis
Horwood

5. MATLAB User’s Guide, 1989, The Math Works, inc, 13 September 2007.
Rabiner, Lawrence, and Biing-Hwang Juang, 1993, “Fundamentals of
Speech Recognition”.Prentice Hall, New Jersey
5. Orfanidis, Sophocles.J., Optimum Signal Processing. Singapore :
McGraw-Hill Book Co. 1990
6. Pelton, Gordon E, 1993, “Voice Processing”. McGraw-Hill, Inc.,
Singapore
7. http://en.wikipedia.org/wiki/Linear_predictive_coding, 17 Agustus 2007
8. http://en.wikipedia.org/wiki/MATLAB, 3 Agustus 2007
9. http://en.wikipedia.org/wiki/Speech_recognition, 13 Agustus 2007
10. http://www.ee.columbia.edu/~dpwe/resources/matlab/dtw,
2007
11. http://www.mathtools.net/MATLAB, 13 Agustus 2007
12. http://www.mathworks.com, 1 Agustus 2007

32

13

Agustus

LAMPIRAN A
LISTING PROGRAM

program.m

% --------------------------------------------------------------------------------------% Program Aplikasi Pembuka Software berbasis Pengenalan Suara
% Matlab Window Programming
% Oleh : Anugrah Endy (0322028)
% --------------------------------------------------------------------------------------clear all;
clc;

win1=figure(...
'units','points',...
'position',[130 190 400 200],...
'color',[.8 .8 .9],...
'menubar','none',...
'resize','off',...
'numbertitle','off',...
'name','Aplikasi Pembuka Software berbasis Pengenalan Suara');

label1=uicontrol('parent',win1,...
'units','points',...
'position',[30 150 300 30],...
'backgroundcolor',[.8 .8 .9],...
'style','Text',...
'string','Aplikasi Pembuka Software berbasis Pengenalan Suara',...
'fontname','arial',...
'fontsize',12,...
'fontweight','bold',...
'foregroundcolor',[0 0 0]);

frame1=uicontrol('parent',win1,...
'units','points',...

'position',[0 0 500 60],...
'backgroundcolor',[.3 .3 .4],...
'style','Frame');

tomstartrecognition=uicontrol('parent',win1,...
'units','points',...
'position',[200 60 180 30],...
'style','pushbutton',...
'callback','recognition',...
'string','Start Recognition',...
'fontname','arial',...
'fontsize',20);

tomclear=uicontrol('parent',win1,...
'units','points',...
'position',[30 20 80 15],...
'style','pushbutton',...
'string','Clear',...
'fontname','arial',...
'fontsize',10,...
'callback','bersih');

tomtutup=uicontrol('parent',win1,...
'units','points',...
'position',[270 20 80 15],...
'style','pushbutton',...
'string','Tutup',...
'fontname','arial',...
'fontsize',10,...
'callback','close');

recognition.m

%Input masuk
fs = 11025;
x = wavrecord(1*fs,fs,'double');

%lakukan proses Preemphasis ,Frame blocking & windows
xprhm = preham(x, 1);
wx=xprhm;

%menentukan orde LPC
order = 12;

% Metoda autokorelasi LPC
[lpcoefs, errorPow] = lpc(wx, order);

%KOnversi Parameter LPC ke koefisien

% Fit the original LPC model (high-order)
[a,g,e] = lpcfit(wx,20);

% Warp pole-pole
% (warppoles memodifikasi setiap frame - baris pada a - pada waktu sama)
alpha = 0.5;
[bhat, ahat] = warppoles(a, alpha);

% Resynthesize with the new LPC
% (fortunately, bhat is the same for all frames)
dw = filter(bhat(1,:), 1, lpcsynth(ahat, g, e));
Z = dw';

load('newdatabase');
[p l] = size(x);
%Dynamic Time Warping ( DTW)
M = simmx(Z,x);
[p,q,d] = dp(M);
Banding

banding.m

D1=(d(:,1)+d(:,2)+d(:,3)+d(:,4)+d(:,5))/5;
D2=(d(:,6)+d(:,7)+d(:,8)+d(:,9)+d(:,10))/5;
D3=(d(:,11)+d(:,12)+d(:,13)+d(:,14)+d(:,15))/5;
D=[D1 D2 D3];

number = 1;
Temp = abs(D)
min=Temp(:,1);
for i=2:3
if Temp(:,i)