1. PENDAHULUAN
Kemampuan baca dan menulis merupakan
tonggak besar pencapaian peradaban umat
manusia yang menandakan peralihan dari masa
prasejarah ke masa modern. Begitu pentingnya
peran tulisan di kehidupan sehari-hari manusia
dari komunikasi, perdagangan,
pendidikan,
hiburan dan lain-lain.
Namun
setelah
beribu-rabu
tahun
ditemukannya tulisan pertama, angka buta huruf
di dunia masih cukup tinggi, khususnya di
Indonesia. Menurut data Kementerian Pendidikan
Indonesia, angka buta huruf Indonesia mencapai
8.5 juta jiwa, 5.1 juta diantaranya adalah
perempuan, tentunya angka ini akan lebih besar
jika dibandingkan dengan kondisi nyata di
lapangan.
Pemerataan pendidikan yang didalamnya
tercakup kemampuan baca dan menulis telah
menjadi agenda bersama PBB melalui Millenium
Development Goals. Berbagai pihak tentunya
diharapkan turut ambil bagian dalam misi
bersama ini.
Melihat nilai urgenitasnya yang begitu tinggi
tentunya menjadi salah satu pendorong utama
untuk membuat sebuah solusi untuk memberantas
buta huruf khususnya di Indonesia. Salah satunya
dengan pembuatan sebuah aplikasi untuk
membantu mengeja kata-kata dalam bahasa
Indonesia.
Dalam tugas akhir ini, akan dibangun sebuah
aplikasi yang mampu memproses gambar yang
ditangkap melalui kamera dan memprosesnya
menjadi pelafalan dan ejaan dalam bahasa
Indonesia.
2. DASAR TEORI
2.1 Bahasa Indonesia
Bahasa Indonesia merupakan bahasa resmi
Indonesia sekaligus sebagai bahasa persatuan.
Penggunaannya sendiri sebagai bahasa resmi
ditetapkan pada tanggal 18 Agustus 1945 oleh
PPKI.
Hingga saat ini, Bahasa Indonesia
merupakan bahasa yang hidup, yang terus
menghasilkan kata-kata baru, baik melalui
penciptaan maupun penyerapan dari bahasa
daerah dan bahasa asing.
Meskipun dipahami dan dituturkan oleh
lebih dari 90% warga Indonesia, Bahasa
Indonesia bukanlah bahasa ibu bagi kebanyakan
penuturnya. Sebagian besar warga Indonesia
menggunakan salah satu dari 748 bahasa yang ada
di Indonesia sebagai bahasa ibu. Penutur Bahasa
Indonesia kerap kali menggunakan versi seharihari (kolokial) dan/atau mencampuradukkan
Contoh :
Prak + tik [ prak ] + [ tIk ]
g) Suku kata yang berpola KV, suku ini dibangun
oleh sebuah bunyi semi konsonan sebagai tumpu
suku, dan sebuah bunyi vokal sebagai puncak.
Contoh :
Wa + jah [ wa ] + [ jah ]
h) Suku kata yang berpola KVK, yaitu sebuah
suku yang di bangun oleh bunyi semi konsonan
sebagai tumpu suku, sebuah bunyi vokal sebagai
puncak dan sebuah bunyi konsonan sebagai koda
suku. Hal ini dapat dilihat dalam contoh di bawah
ini.
Contoh :
Wak + tu [ wak ] + [ tu ]
i)
f)
a.
b.
c.
5.
6.
7.
Homograph resolution : Mendeterminasi katakata yang tepat untuk token language yang
ambigu.
Parsing : Menambahkan struktur sintaksis ke
kalimat.
Prosody Prediction : memprediksikan bentuk
prosody dari tiap teks.
Sementara bagian back end berfungsi untuk
mengubah keluaran front end menjadi suara,
bagian ini sering disebut dengan synthesizer.
b.
c.
1.
2.
3.
b.
1.
2.
3.
Concatenative Synthesis
Prinsip kerja utama dari teknik ini adalah
menggabungkan potongan unit suara yang telah
direkam. Terdapat 3 sub tipe Concatenative
Synthesis, yaitu
Unit Selection.
Diphone Synthesis.
Domain-specific Synthesis.
Formant Synthesis
Formnat synthesis tidak menggunakan
rekaman suara pada saat runtime produksi suara.
Melainkan murni disintetis dengan berdasarkan
parameter-parameter yang telah didapatkan saat
training data.
Terdapat beberapa sub tipe , antara lain
Articulory Synthesis.
HMM based Synthesis.
Sinewave Synthesis.
2.6 Hidden Markov Model (HMM) based TTS
Hidden Markov Model (HMM) adalah sebuah
finite state machine yang mengenerate sequence
waktu pengamatan diskrit. Pada unit waktu (misal
frame), HMM mengubah state tergantung
distribusi probabilitas transisi state, dan lalu
menghasilkan pengamatan Ot pada waktu t
tergantung kepada keluaran distribusi probabilitas
pada current state. Sehingga, HMM merupakan
sebuah stochastic random process model.
(Masuko, 2002)
Sebuah N-state HMM didefinisikan sebagai
state
transition
probability
distribution
output
probability
probability distribution
={ i }i=1 . Untuk
2.
Sumber Citra
Masukan dari sistem berupa citra teks yang
ditangkap melalui kamera handset Android
pengguna yang selanjutnya akan diolah.
Database Suara
Komponen ini mengandung parameterparameter yang diperlukan unuk sintetis suara
menggunakan HMM text to speech. Database
suara didapatkan sebagai hasil pada fase training
HMM.
3.
Android Device
Sistem berjalan pada handset
yang
menggunakan sistem operasi Android. Pada tugas
akhir ini, penulis membangun sistem pada sebuah
handset IMO S78 dengan RAM 512 MB serta
CPU ARM v7 1 GHz Single Core pada sistem
operasi Android 2.3.6
Static
Character
Classiefier
Teks
Adaptive
classifier
a.
Suara ejaan
Gambar teks
3.2.1
1.
2.
3.
b.
`Pengenalan Teks
Proses ini memanfaatkan Google Tesseract
API sebagai engine proses pengenalan teks.
Engine ini berjalan secara native pada platform
Android dengan menggunakan bantuan teknologi
Java Native Interface (JNI) untuk berkomunikasi
dengan layer Java di atasnya
citra
Line &
word
finding
c.
d.
Adaptive Classifier
Sama seperti static classifier, adaptive
classifier juga menggunakan approksimasi
poligonal. Namun bedanya, adaptive classifier
menggunakan data training dari keluaran static
classifier. Serta menggunakan normalisasi
baseline, sehingga lebih mampu dalam
membedakan pola pencetakan teks seperti
superscript, sub script ataupun lowercase. Luaran
dari tahap ini menjadi hasil akhir dari subsitem
OCR.
Keluaran dari sistem adalah berupa teks raw
yang masih perlu diproses sebelum disintetis oleh
sub sistem HMM text to speech.
3.2.2
selesai
Text filtering
Filtering angka
& simbol
3.
blok
lain
sesuai
dengan
tingkatnya
(ribu,juta,milyar).
Pemisahan suku kata
Teks hasil tahap sebelumnya telah siap untuk
disintetis, namun karena dalam sistem ini akan
memunculkan pengejaan maka diperlukan sebuah
proses untuk memisahkan ejaan suku kata dari
tiap kata-kata yang dihasilkan.
Proses pemecahan suku kata yang penulis
terapkan menggunakan metode finite state
automata (FSA), dimana terdapat tiga buah FSA
yang masing masing berfungsi untuk mengenali
suku kata dengan pola-pola tertentu.
Tahap awal dari proses ini adalah memecah
kalimat menjadi kata-kata. Secara umum pada
kasus bahasa Indonesia (dan bahasa dengan abjad
latin lainnya), pemisahan kata dari tiap kalimat
cukup berdasarkan tanda spasi ( )
Tahap selanjutnya adalah tahap fsa tingkat 1.
Pada tahap ini dilakukan pengelompokkan suku
kata. Sehingga akan dikenali suku kata dengan
pol v, k, dan kv. Sebagai contoh kata anda akan
dipisah kan menjadi [a,n,,da]. Adapun
sistem dimodelkan berdasarkan model finite state
automota yang diajukan oleh Basuki Thomas
(Thomas,
2000)
dengan
beberapa
pennyederhanaan
dan
penyesuain.
Penyederhanaan yang dilakukan adalah dengan
memfilter konsonan dengan dua karakter seperti
ny,ng,sy,kh, gr menjadi simbol pengganti pada
tahap sebelumnya. Model FSA yang penulis
pakai adalah sebagai berikut.
Pemisahan
suku kata
2.
Text Filtering
Pada tahap ini dilakukan proses filtering
terhadap teks hasil OCR, pemfilteran dilakukan
untuk menghilangkan karakter tidak standar
seperti misal , , yang muncul karena adanya
noise pada proses pengambilan gambar. Karakter
yang bukan termasuk alfabet a s.d. z dan angka 0
s.d. 9 akan dihilangkan. Hal ini dilakukan karena
keterbatasan pada proses sintetis suara.
Filtering angka
Angka termasuk bahasa tidak natural, perlu
adanya pemetaan antara angka dengan
pengucapannya. Angka juga mempunyai bentukbentuk khusus seperti mata uang (currency),
nomor telepon, penanggalan, bilangan biasa dll.
Oleh karena itu diperlukan perlakuan khusus
terhadap angka.
Secara umum proses dalam bagian ini adalah
sebagai
berikut,
pertama-tama
angka
dikelompokkan menjadi blok-blok dengan
panjang tiga karakter. Kemudian blok-blok ini
dipetakan menjadi pelafalannya. Kemudian tiap
blok akan kembali disambungkan dengan blok-
Flite+hts_engine 1.00
Flite 1.3
HTS engine API 1.02
Database hts_voice_cmu_us_arctic_slt 1.01
Secara umum proses dalam blok ini adalah
sebagai berikut.
a.
Gambar 3.6 Diagram Transisi FSA 2
Output dari FSA 2 akan menjadi masukan
bagi FSA 3. Pada tahap ini suku kata dengan pola
VKK, KVKK dan KKVKK akan dapat dikenali.
Adapun model FSA yang digunakan pada tahap
ini adalah sebagai berikut.
b.
c.
3.2.3
d.
e.
Inisialisasi engine
Pada tahap ini, sebuah instance engine HMM
diinisialisasi terlebih dahulu sebelum digunakan
dalam proses sintetis. Pada proses inisialisasi ini
disertakan parameter-parameter umu yang akan
digunakan untuk proses sintetis, diantaranya
adalah sampling rate, ukuran buffer audio,
threshold MSD, log gain serta bobot untuk
koefisien mel-cepstral dan F0.
Load database voice
Pada tahap ini, engine yang telah diinisialisai
diperintah untuk memuat database voice yang
akan digunakan pada proses sintetis. Database ini
nantinya akan menjadi acuan proses HMM pada
saat sintetis.
Database voice ini merupakan hasil training
HMM dari database cmu_artic_us yang dilatih
menggunakan HTK. Database ini berupa decision
tree serta fungsi kepadatan probabilitas
(probability density function/PDF) masing
masing dari durasi, mel-cepstrall koefisien dan
F0.
Konversi teks ke sekuens label
Proses konversi ini dilakukan dengan
menggunakan pustaka Flite. Flite mengubah teks
masukan menjadi rangkaian label. Yang dimaksud
dengan label disini adalah representasi tiap fonem
yang terkandung dalam sebuah teks.
Proses ini masih menggunakan data leksikon
dan fonem dalam bahasa inggris agar sesuai
dengan database voice yang masih dalam bahasa
inggris juga. Hal ini menyebabkan terdapat
beberapa fonem/difon dalam bahasa indonesia
yang tidak dapat diproduksi oleh sistem. Misal
fonem e (sepert pada setelah).
HMM generation
Pada tahap ini, akan dibentuk sebuah
rangkaian HMM berdasarkan rangkain label yang
diproduksi tahap sebelumnya. Rangkain HMM
yang dihasilkan berasal dari database yang pada
tahap sebelumnya telah di load. Proses ini
dilakukan secara internal oleh pustaka
HTS_engine.
Generate state duration, mel cepstral coefficient
and F0 based on HMM
Dari rangkaian HMM yang dibentuk akan
dideterminasi state duration, koefisien mel-
f.
1.
2.
3.
4.
5.
1.
2.
3.
4.
3.4.2
1.
2.
3.
4.
5.
Handset
Xperia Go
Imo s78
Galaxy Ace
Device
Xperia Go
Galaxy Ace
Imo s78
Handset
Imo S78
Samsung Galaxy Ace
Sony Xperia P
Resolusi Kamera
3.2 MP
5 MP
5 MP
Akurasi
46 %
70 %
93 %
Image yang dipakai adalah hasil cetakan katakata harapan dengan font Calibri ukuran 28 pt.
Pengujian dilakukan pada hasil cetak dengan
kondisi pencahayaan yang cukup.
Hasil pengujian adalah sebagai berikut
Tabel 4.2 Hasil uji akurasi OCR
Device
Imo s78
Xperia GO
Galaxy Ace
1.
2.
3.
Imo s78
Galaxy
1777000 3270000
5008167
Galaxy
Mini
2282611 5440555
5642056
Device
Ace
Device
Imo s78
333
Galaxy
2.
3.
1. perubahan
perubahan menyeluruh
perubahan menyeluruh masyarakat
1074314
1881889
2771500
2629000 4525944
7077445
Ace
Galaxy
Mini
Nama
Angga
Ajika
Salsabila
Zahra
Tiara Martiyas
Agisna
Chelsiliya
Fina
Anugraeni
Dera
Sandi
Ian
Kelas
6
5
6
6
4
6
5
4
4
4
S angat Baik
Baik
Cukup
Kurang
S angat Kurang
30%
10%
60%
0%
0%
5.1 Kesimpulan
Dari hasil implemntasi dan pengujian, penulis
dapat menarik kesimpulan bahwa
1.
2.
3.
S angat Baik
5.2 Saran
Tugas akhir ini jauh dari sempurna, masih banyak
bagian yang bisa dikembangkan. Antara lain
adalah
Baik
Cukup
Kurang
S angat Kurang
1.
2.
Ya
Tidak
100%
0%
Daftar Pustaka