Blok Diagram

13
PEMBENTUKAN BASIS DATA UCAPAN DALAM BAHASA INDONESIA DAN PENGKODEANNYA BERDASARKAN LINEAR PREDICTIVE CODING (LPC) Elly Oktarina [email protected] Universitas Gunadarma Jl. Margonda Raya No. 100 Pondok Cina Depok 16424 ABSTRAK Basis data (database) adalah kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di simpanan luar komputer dan digunakan perangkat lunak tertentu untuk memanipulasinya. Pembentukan basis data ucapan ini terdiri dari beberapa proses yaitu perekaman suara per suku kata, simpan suara dalam bentuk .wav, pengkodean menggunakan metode Linear Predictive Coding (LPC), dan simpan ke dalam basis data dalam bentuk .mat. LPC merupakan proses untuk mendapatkan parameter-parameter sinyal suara berupa koefisien-koefisien LPC. Secara umum, LPC di bagi menjadi 3 tahap, tahap pertama adalah pembingkaian sinyal suara, tahap kedua adalah penjendelaan, dan tahap ketiga adalah metode autokorelasi. Basis data ucapan ini berisi suara yang sudah direkam sebanyak 1202 suku kata dalam Bahasa Indonesia. Kata Kunci : LPC, speech recognition. PENDAHULUAN Pengertian basis data (database) adalah kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di simpanan luar komputer dan digunakan perangkat lunak tertentu untuk memanipulasinya. Sebuah mesin database (atau "penyimpanan mesin") adalah komponen perangkat lunak yang mendasari bahwa suatu sistem manajemen database (DBMS) digunakan untuk membuat, mengambil, update dan hapus data dari database. Seseorang mungkin perintah mesin database melalui DBMS itu sendiri antarmuka pengguna, dan kadang-kadang melalui port jaringan.

Transcript of Blok Diagram

Page 1: Blok Diagram

PEMBENTUKAN BASIS DATA UCAPAN DALAM BAHASA

INDONESIA DAN PENGKODEANNYA BERDASARKAN LINEAR

PREDICTIVE CODING (LPC)

Elly Oktarina

[email protected]

Universitas Gunadarma

Jl. Margonda Raya No. 100 Pondok Cina Depok 16424

ABSTRAK

Basis data (database) adalah kumpulan dari data yang saling berhubungan satu

dengan yang lainnya, tersimpan di simpanan luar komputer dan digunakan perangkat lunak

tertentu untuk memanipulasinya. Pembentukan basis data ucapan ini terdiri dari beberapa

proses yaitu perekaman suara per suku kata, simpan suara dalam bentuk .wav, pengkodean

menggunakan metode Linear Predictive Coding (LPC), dan simpan ke dalam basis data

dalam bentuk .mat.

LPC merupakan proses untuk mendapatkan parameter-parameter sinyal suara

berupa koefisien-koefisien LPC. Secara umum, LPC di bagi menjadi 3 tahap, tahap pertama

adalah pembingkaian sinyal suara, tahap kedua adalah penjendelaan, dan tahap ketiga

adalah metode autokorelasi.

Basis data ucapan ini berisi suara yang sudah direkam sebanyak 1202 suku kata

dalam Bahasa Indonesia.

Kata Kunci : LPC, speech recognition.

PENDAHULUAN

Pengertian basis data (database) adalah kumpulan dari data yang saling

berhubungan satu dengan yang lainnya, tersimpan di simpanan luar komputer dan

digunakan perangkat lunak tertentu untuk memanipulasinya. Sebuah mesin database (atau

"penyimpanan mesin") adalah komponen perangkat lunak yang mendasari bahwa suatu

sistem manajemen database (DBMS) digunakan untuk membuat, mengambil, update dan

hapus data dari database. Seseorang mungkin perintah mesin database melalui DBMS itu

sendiri antarmuka pengguna, dan kadang-kadang melalui port jaringan.

Page 2: Blok Diagram

Suara bisa dibuat database engine untuk pengenalan kata. Dengan aplikasi ini, dapat

secara otomatis melakukan transkripsi suara, sehingga dapat mengurangi biaya tulis dan

memudahkan penyimpanan arsip berupa rekaman suara digital dan teks elektronik dalam

bentuk database. Juga kesenjangan digital antara manusia normal dan yang memiliki

keterbatasan fisik bisa dikurangi. Maka dari itu database sangat penting dibuat, untuk

membandingkan suara dengan database dan diketahui hasil inputan suaranya. Pada mode

diktasi pengguna komputer dapat mengucapkan kata / kalimat yang selanjutnya akan

dikenali oleh komputer dan diubah menjadi data teks. Kemungkinan jumlah kata yang

dapat dikenali dibatasi oleh jumlah kata yang telah terdapat pada database. Keakuratan

pengenalan mode ini bergantung pada pola suara dan aksen pembicara serta pelatihan yang

telah dilakukan. Sedangkan pada mode command and control pengguna komputer

mengucapkan kata/kalimat yang sudah terdefinisi terlebih dahulu pada database dan

selanjutnya akan digunakan untuk menjalankan perintah tertentu pada aplikasi komputer.

Jumlah perintah yang dapat dikenali tergantung dari aplikasi yang telah mendefinisikan

terlebih dahulu pada database jenis-jenis perintah yang dapat dieksekusikan.

Linear Predictive Coding (LPC)

LPC didefinisikan sebagai metode digital untuk encoding sinyal analog di mana

nilai tertentu diperkirakan oleh fungsi linier dari nilai-nilai masa lalu sinyal. Ini pertama

kali diusulkan sebagai metode untuk pengkodean suara manusia oleh Amerika Serikat

Departemen Pertahanan di standar federal 1015, yang diterbitkan pada tahun 1984. Suara

manusia diproduksi dalam saluran vokal yang dapat diperkirakan sebagai variabel diameter

tabung. LPC model didasarkan pada pendekatan matematika dari saluran vokal diwakili

oleh tabung dengan diameter yang bervariasi. Pada waktu tertentu, t sampel suara s(t)

direpresentasikan sebagai penjumlahan linear dari p sampel sebelumnya. Aspek yang

paling penting dari LPC adalah linear predictive filter yang memungkinkan nilai sampel

berikutnya akan ditentukan oleh kombinasi linear dari sampel sebelumnya.

Teori LPC yang dipakai dalam analisa suara, telah dipahami dengan baik dalam

beberapa tahun yang lalu. Ada beberapa alasan yang menjadikan teori LPC telah banyak

digunakan dalam sistem pengenalan suara, antara lain: [Rabiner 1993]

Page 3: Blok Diagram

1. LPC membuktikan suatu model yang baik untuk pengenalan suara, yaitu

memberikan parameter model yang tepat untuk sinyal suara, dapat dilihat pada

spektrum koefisien peramalan yang mirip dengan spektrum sinyal aslinya.

2. Perhitungan yang dibutuhkan untuk mencari parameter sinyal suara relatif lebih

singkat dibandingkan dengan metode lainnya.

3. Metode untuk mendapat parameter-parameter sinyal ucapan, seperti jalur forman (

Saluran vokal (tenggorokan dan mulut) membentuk tabung, yang dicirikan oleh

resonansi, yang disebut forman.) dan amplitudo.

Prinsip Dasar LPC

LPC dimulai dengan asumsi bahwa sinyal suara diproduksi oleh dengungan pada

akhir sebuah pita suara. The glotis (ruang antara pita suara) menghasilkan dengungan, yang

dicirikan oleh intensitas (kerasnya suara) dan frekuensi (pitch). Saluran vokal (tenggorokan

dan mulut) bentuk pipa, yang dicirikan oleh resonansi, yang disebut forman.

LPC menganalisis sinyal suara dengan memperkirakan forman, menghapus

pengaruhnya dari sinyal suara, dan memperkirakan intensitas dan frekuensi dari dengungan

tersisa. Proses menghapus forman disebut invers penyaringan, dan sinyal sisa disebut

residu.

LPC mensintesis sinyal suara dengan membalik proses : menggunakan residu untuk

menciptakan sumber sinyal, menggunakan forman untuk membuat penyaring, dan

menjalankan sumber sinyal melalui filter, sehingga menghasilkan pengaruh pada suara.

Karena sinyal suara yang bervariasi dengan waktu, proses ini dilakukan pada potongan

pendek dari sinyal suara, yang disebut frame. Biasanya 30-50 frame per detik

memperlihatkan suara yang jelas dengan kompresi yang baik.

Proses LPC

LPC membuktikan suatu model yang baik untuk pengenalan suara, yaitu

memberikan parameter model yang tepat untuk sinyal suara. Blok diagram dari LPC seperti

Gambar 1.

Page 4: Blok Diagram

Gambar 1. Blok Diagram Analisis LPC

Langkah-langkah dari pemrosesan sinyal dengan LPC sebagai berikut :

1. Pemilihan Bingkai

Pada tahap ini sinyal ucapan dikelompokkan ke dalam bingkai-bingkai

dengan ukuran masing-masing bingkai sebesar N data. Bingkai ini berurutan

dengan pemisahan antara kedua bingkai sebesar M data. Biasanya M = 1/3

N. Blok pemilihan bingkai dari sinyal suara dapat dilihat pada Gambar 2.

Gambar 2. Blok pemilihan bingkai dari sinyal suara

2. Penjendelaan

Setiap frame kemudian dijendelakan (proses windowing) untuk

meminimalkan diskontinuitas sinyal pada awal dan akhir bingkai. Jendela

yang biasa digunakan untuk metode autokorelasi LPC adalah jendela

Hamming dengan bentuk:

w nn

N( ) , , cos= −

0 54 0 46

2

1

π , 0 1≤ ≤ −n N (1)

3. Analisis Autokolerasi

Pada tahap ini masing-masing frame yang telah di windowing

diautokorelasikan dengan nilai autokorelasi yang tertinggi adalah orde dari

analisa LPC, biasanya orde LPC tersebut 8 sampai 16.

Pemilihan

Bingkai

Windowing Metode

Autokolerasi Sinyal

ucapan Koefisien

LPC

Page 5: Blok Diagram

r m x n x n ml l ln

N m

( ) ~ ( )~ ( )= +

=

− −

∑0

1

(2)

Perencanaan

Dalam pembuatan perangkat lunak ini, penulis melakukan serangkaian kegiatan

berupa langkah-langkah penelitian, seperti yang tertera di bawah ini:

- Merekam suara per-suku kata.

- Simpan dalam bentuk .wav

- Pengkodean dengan LPC.

- Simpan ke dalam basis data dalam bentuk .mat

Problem

Mendapatkan basis data suara yang berupa koefisien-koefisien LPC dalam bentuk .mat

Solusi

Berikut ini merupakan tahapan-tahapan solusi :

Melakukan Perekaman Data Suara

Proses rekaman ini diambil menggunakan alat rekam mikrofon dengan bantuan

software Pro Tools 8. Setiap suara mempunyai waktu rekam yang berbeda satu sama lain,

tergantung pengucapan tiap suku kata. Misal pada suku kata ba, bi, bu, be, bo, tiap suku

kata membutuhkan waktu rekam 1 detik.

Setelah suara direkam akan secara otomatis tersimpan dalam folder yang telah

dibuat sebelumnya. Suara yang kita rekam tadi, kita buka kembali dengan menggunakan

Matlab untuk di LPC. Waktu yang dibutuhkan untuk merekam suara 1 suku kata hingga

tersimpan dalam database kira-kira 3 menit 29 detik. Jumlah suku kata yang direkam adalah

1202 suku kata, jadi waktu yang dibutuhkan untuk memproses 1202 suku kata adalah 1202

dikali 3 menit 29 detik sama dengan 69.78 jam.

Page 6: Blok Diagram

Gambar 3. Tampilan ucapan suku kata “ba” pada Matlab

Gambar 4. Tampilan ucapan suku kata “bi” pada Matlab

Gambar 5. Tampilan ucapan suku kata “bu” pada Matlab

Gambar 6. Tampilan ucapan suku kata “be” pada Matlab

Gambar 7. Tampilan ucapan suku kata “bo” pada Matlab

Page 7: Blok Diagram

Pengkodean dengan LPC

Secara umum, LPC di bagi menjadi 3 tahap, tahap pertama adalah pembingkaian

sinyal suara, tahap kedua adalah penjendelaan, dan tahap ketiga adalah metode

autokorelasi. Blok diagram LPC dapat dilihat pada gambar 8.

Gambar 8. Blok Diagram Analisis LPC

LPC digunakan untuk mendapatkan koefisien-koefisien LPC dan disimpan dalam

basis data. Hasil LPC ini dapat dilihat pada gambar 9 sampai gambar 13.

Gambar 9. Tampilan suku kata “ba” hasil analisis LPC pada matlab

Gambar 10. Tampilan suku kata “bi” hasil analisis LPC pada matlab

Gambar 11. Tampilan suku kata “bu” hasil analisis LPC pada matlab

Pemilihan

Bingkai

Windowing Metode

Autokolerasi Sinyal

ucapan Koefisien

LPC

Page 8: Blok Diagram

Gambar 12. Tampilan suku kata “be” hasil analisis LPC pada matlab

Gambar 13. Tampilan suku kata “bo” hasil analisis LPC pada matlab

Dari hasil LPC pada gambar di atas dapat dilihat bahwa LPC menganalisis sinyal

suara dengan memperkirakan forman, menghapus pengaruhnya dari sinyal suara, dan

memperkirakan intensitas dan frekuensi dari dengungan tersisa. Proses menghapus forman

disebut invers penyaringan, dan sinyal sisa disebut residu. Maka dari itu gelombang suara

asli dengan hasil LPC lebih besar daripada gelombang suara hasil LPC.

Uji Coba Aplikasi

Uji coba aplikasi ini dilakukan terhadap ucapan suku kata “ba.wav”, “bi.wav”,

“bu.wav”, “be.wav”, “bo.wav”. Output dari suara tersebut dapat dilihat pada gambar 15.

Setelah proses LPC selesai, hasil suara yang telah di LPC akan secara otomatis tersimpan

ke dalam database dalam bentuk file dengan nama “ba.wav-lpc.mat”.

Page 9: Blok Diagram

Gambar 14. Tampilan awal program

Gambar 15. Output dari suara “ba” yang dianalisis oleh LPC

Pembahasan

Dari hasil uji coba program diatas, dapat disimpulkan bahwa aplikasi yang telah

dibuat berjalan sesuai dengan rancangan dan aplikasi berhasil melakukan analisis suara

dengan baik karena setiap sinyal suara dengan ucapan suku kata ba, bi, bu, be, bo yang di

Page 10: Blok Diagram

uji coba dapat menghasilkan koefisien-koefisien LPC. Hasil koefisien-koefisien LPC dapat

dilihat dibawah ini.

Hasil koefisien LPC

Hasil koefisian LPC ini didapat dari pemrosesan sinyal tahap Windowing dengan

bentuk w nn

N( ) , , cos= −

0 54 0 46

2

1

π0 1≤ ≤ −n N , dan tahap Analisis Autokorelasi

dengan bentuk r m x n x n ml l ln

N m

( ) ~ ( )~ ( )= +

=

− −

∑0

1

. Dengan M menunjukkan orde LPC dan N

panjang bingkai. Maka didapat angka-angka koefisien LPC yang dihitung dari nilai

amplitudo suara tersebut.

Koefisien LPC suku kata ba.mat

Di bawah ini merupakan koefisien LPC dari suku kata ba.mat yang diperoleh dari

sinyal suara yang telah dianalisis dengan LPC. Pertama suara di bingkai kemudian setiap

bingkai suara tersebut di-windowing dan dilakukan proses autokorelasi sehingga

menghasilkan koefisien LPC.

Tabel 1.

Hasil koefisien LPC dari suku kata ba.mat

0.000091552734375

0.00009154079016

0.000000056820815

0.000273895161424

0.000213442384569

0.00024316126925

0.000273586226186

-0.000027016183939

0.00012003468914

0.00012343645739

0.000062900623859

-0.000026660706119

0.000234206216057

0.00023532567913

-0.000018326022748

0.000050355482693

0.000011377247173

-0.000018798843179

-0.000049403117284

-0.00006028924545

0.000094863036145

0.00014227941067

0.000015911444338

0.000021231124447

-0.000105752523877

-0.000009993283026

0.000107422418807

-0.000074526253934

-0.000184830004835

-0.000184878238984

-0.000085997127377

-0.000392397189324

-0.00010485818691

-0.000261258170954

-0.00033110476397

-0.000061158586498

0.000119602553648

-0.000167912137696

-0.000268282049354

0.000044164581423

-0.000104735177338

0.00016594242649

0.000110026534544

0.000044002456801

0.000001551735474

-0.000224524534931

-0.000357673656071

-0.000035269623946

0.000017929450551

-0.000279169532329

-0.00008426619399

-0.000347042571818

-0.000199411176042

-0.000289130257384

-0.000249908291014

-0.000263081419733

-0.00029108638265

-0.000249016489861

-0.000081826431447

-0.000076441086464

Page 11: Blok Diagram

-0.000141422111822

0.000108505677266

0.000156669246094

-0.000019033612487

0.000061913737078

-0.00020819953393

-0.000102970445199

-0.000134001380601

-0.000053521351643

-0.000054178833768

-0.000044064522945

0.000029599669414

-0.000037365109706

-0.000005049433221

0.000056202960211

0.000240625389215

0.000076831168263

0.000084293890011

0.00001925203283

0.000080692274006

0.000003208169833

-0.000009167392098

0.000054742910156

-0.000044742743433

-0.000090477316328

-0.000068793894835

0.000067321226884

-0.000023289053349

-0.000134880217551

-0.000172684004187

-0.000058981274375

-0.000050639407466

-0.000060766990566

-0.00012736730534

-0.000111559901367

-0.000207275993693

0.000051222604827

-0.000148210471079

-0.000051797705617

-0.000077659034857

-0.000097690682114

0.000115472620907

-0.00018656947769

-0.00006533899596

-0.000122377386079

-0.000182145894903

-0.000052014081109

-0.000090387027492

-0.000225978593375

-0.000052995684869

-0.000193467489898

-0.000075190039337

-0.00030854790749

-0.000020483335791

-0.000368373959778

-0.000195365594208

-0.000099491783635

0.000042306038151

-0.000039074448876

-0.000194741872589

-0.000167288281323

-0.000200916780638

0.000076465543715

-0.000228350621399

-0.000259060224093

0.000029108092128

0.000022977282178

0.000144438020445

-0.000053255648085

-0.000303668458433

0.000024449277951

-0.000127356747222

0.00005022560859

-0.000257768740604

0.000093858954584

-0.000223594757598

0.000153058950267

-0.000169253844497

-0.000044161387957

-0.000047516316964

0.0001608239196

-0.000230061177454

-0.000358873851959

-0.000046365595823

-0.000216889583211

0.000114578986494

-0.000324462763141

-0.000329194067808

-0.000000403394282

-0.000174518987507

-0.00023497928265

-0.00008313581166

-0.000284463148114

-0.000198767696242

-0.00005117330245

-0.000150174569721

-0.000244624355999

-0.000231660193975

-0.000052594989738

-0.000429727918417

-0.000431120220079

-0.000025979000942

-0.000241326192316

-0.000272177711427

-0.000182657859997

-0.000001637295657

-0.000153816268549

-0.000236673381831

-0.000079289931772

0.000007167397416

-0.000260464529599

0.000021405002395

0.000007834238595

-0.000211762385744

-0.000233997396835

-0.000229253341505

-0.000157151813274

-0.00020895865747

-0.000547808308471

-0.000309854994306

0.000000068747285

-0.000225520183328

-0.000150222219662

-0.000187567794663

-0.000038122003354

0.000040635235543

-0.000262692063599

-0.000157809935194

0.000092263968845

-0.000236067519921

0.000157023231786

-0.000127781002102

-0.000097603182485

-0.000354610281361

-0.000078041009928

-0.000232191091429

-0.000269539186616

0.000220864901918

-0.000219208833922

0.000125246962729

PENUTUP

Berdasarkan pada hasil pengujian dan analisa terhadap hasil yang didapatkan, maka

dapat diambil kesimpulan yaitu :

1. Suara sudah direkam sebanyak 1202 suku kata dalam Bahasa Indonesia.

Page 12: Blok Diagram

2. Aplikasi ini dapat menyimpan hasil koefisien – koefisien LPC dalam bentuk tabel

ke dalam basis data.

Saran penulis untuk aplikasi ini dalam hal interface yang digunakan sebagai berikut :

1. Agar penerapan aplikasi ini dapat dilakukan secara optimal, sebaiknya sebelum

aplikasi ini digunakan oleh user, sehendaknya diberikan pelatihan mengenai

bagaimana mengoperasikan aplikasi tersebut dalam hal fungsi-fungsi menu yang

terdapat didalam aplikasi, agar kesalahan dalam menggunakan aplikasi ini dapat di

minimalisir sekecil mungkin.

2. Fitur yang tersedia pada aplikasi telah dapat mengatasi permasalahan yang ada pada

sistem lama. Namun demikian, seiring dengan berjalannya waktu dunia teknologi

informasi akan terus meningkat, karena manusia menginginkan efektifitas dan

efisiensi dalam pekerjaannya. Oleh karena itu diperlukan pengembangan yang lebih

lanjut terhadap fitur yang sudah ada.

3. Diharapkan aplikasi ini selanjutnya dapat dikembangkan untuk pengenalan kata.

DAFTAR PUSTAKA

Away, Gunaidi Abdia. 2006. The shortcut of MATLAB programming, Bandung :

Informatika.

Becchetti, Claudio dan Ricotti, Lucio Prina. 1999. Speech Recognition Theory and C++

Implementation. Chichester : John Willey & Sons.

Bradbury, Jeremy. Linear Predictive Coding.

http://my.fit.edu/~vkepuska/ece5525/lpc_paper.pdf

Chou, Wu dan Juang, B. H., 2003. Pattern Recognition in Speech and Language

Processing. Washington DC : CRC PRESS.

Melissa, Gressia. Pencocokan Pola Suara (Speech Recognition) dengan Algoritma FFT

dan DIVIDE and CONQUER.

http://www.informatika.org/~rinaldi/Stmik/20072008/Makalah2008/MakalahIF2251-2008-

077.pdf

Page 13: Blok Diagram

Rabiner, Lawrence. 1989. A Tutuorial on Hidden Markov Model and Selected Application

in Speech Recognition. vol. 77. no. 2. pp. 257-286. IEEE.

Rabiner, Lawrence. 1993. Fundamental of Speech Recognition. New Jersey : Prentice Hall.

Rabiner, Lawrence dan Juang, B. H., 1991. Hidden Markov Models for Speech

Recognition. vol. 33. no. 3. pp. 251-272. TECHNOMETRICS.

Santoso, Tri Budi. dan Miftahul Huda. Topik Lanjutan Pengolah Wicara.

http://www.eepisits.edu/~tribudi/LN_SIP_Prak/rev_01_Speech_prak_6_Matlab.pdf

Sugiharto, Aris. 2006. Pemrograman GUI dengan MATLAB. Yogyakarta : ANDI.