APLIKASI KONVERSI TEKS MENJADI SUARA

Download Kata kunci: text to speech, teori automata, GoldWave, Delphi ... kalimat yang diinputkan adalah bahasa Indonesia, output yang dihasilkan be...

0 downloads 477 Views 506KB Size
APLIKASI KONVERSI TEKS MENJADI SUARA DENGAN MENGGUNAKAN METODE PENGGAL KATA FINITE STATE AUTOMATA (FSA) Isrokah dan Mohamad Yasin Universitas Negeri Malang e-mail: [email protected]; [email protected] ABSTRAK: Konversi teks menjadi suara (text to speech) merupakan perangkat lunak yang dapat menyuarakan tulisan yang diinputkan oleh pemakai (user). Sistem konversi teks menjadi suara tersusun atas dua sistem yaitu analisa teks dan penghasil suara percakapan. Untuk mewujudkan program konversi teks mejadi suara tersebut, pada penelitian ini memanfaatkan metode penggal kata Finite State Automata. Dengan mengimplementasikan metode Finite State Automata pada Delphi, pada penelitian diperoleh aplikasi konversi teks menjadi suara dengan input dan output bahasa Indonesia. Kata kunci: text to speech, teori automata, GoldWave, Delphi ABSTRACT: text to speech convertion is a software for voicing text that inputed by user. text to speech convertion system’s arrenged into two systems they are natural language processing and digital signal processing. To create text to speech convertion program’s, in this research use spelling word method is Finite State Automata. By implementation of Finite State Automata method into Delphi, was gotten an application of text to speech convertion with input and output Indonesian language. Keyword: text to speech, automata theory, GoldWave, Delphi

Salah satu perkembangan di bidang komputasi yang mengalami penelitian yang lama adalah pensintesa ucapan. Pensintesa ucapan memiliki kinerja untuk menyuarakan tulisan yang diinputkan oleh pemakai (user). sehingga untuk mewujudkan adanya pensintesa ucapan, haruslah terdapat perangkat lunak yang seolah-olah membacakan tulisan kepada pemakai (user). Seiring perkembangannya, pensintesa ucapan dengan input bahasa Inggris telah banyak diciptakan karena mmayoritas perangkat keras telah dibekali dengan bahasa Inggris. Jika kalimat yang diinputkan adalah bahasa Indonesia, output yang dihasilkan berupa bahasa Inggris. Padahal output yang diharapkan berupa bahasa Indonesia. Untuk mewujudkan konversi teks menjadi suara dengan input dan output bahasa Indonesia, diperlukan adanya metode untuk mengonversi kalimat yang diinputkan berdasarkan ketatabahasaan. Dari kalimat yang sesuai dengan ketatabahasaan digunakan untuk menciptakan realisasi fonetik dari setiap fonem yang ada. TATA BAHASA BAKU BAHASA INDONESIA Tata bahasa baku bahasa Indonesia adalah aturan tentang berbagai hal yang berhubungan dengan penulisan bahasa Indonesia. Beberapa istilah dalam tata bahasa baku bahasa Indonesia adalah sebagai berikut. a. Abjad b. Fonem c. Vokal, merupakan puncak dari suku kata. Dalam bahasa Indonesia dikenal enam vokal, yaitu: 1. /i/ yang merupakan vokal tinggi depan, misalkan i pada kata air. 2. /u/ yang merupakan vokal tinggi belakang, misalkan u pada kata udara. 3. /a/ yang merupakan vokal rendah tengah, mialkan a pada kata saya. 4. /o/ yang merupakan vokal sedang belakang, memiliki dua kelompok pengucapan yaitu kelompok “orang”, “obat”, “protes” dan kelompok “bakso”, “soto”, “toko”.

5. /e/ yang merupakan vokal sedang depan, memiliki dua kelompok pengucapan, yaitu kelompok “sore”, “kare” dan kelompok “perak”, “remeh”, “ejaan”. e yang merupakan vokal sedang tengah. Contoh “emas”, “bandeng”, “tipe”. d. Diftong e. Gugus konsonan f. Suku kata Untuk pengklasifikasian suku kata bahasa Indonesia terdapat beberapa pola umum yaitu: 1. V misalnya pada kata: a-ku, a-lam, u-sap, o-rang, dan sebagainya. 2. VK misalnya pada kata: an-da, am-bang, in-dah, un-tuk, or-gan, dan sebagainya. 3. KV misalnya pada kata: ka-sur, gu-ling, li-ur, ko-lam, ke-las, dan lain sebagainya. 4. KVK misalnya pada kata: ka-sur, ban-tal, a-sik, ba-tok, ka-len-der, dan lain sebagainya. 5. KKV misalnya pada kata: pro-yek, pra-ju-rit, pri-ma-do-na, swa-da-ya, dan lain sebagainya. 6. KKVK misalnya pada kata: prak-tek, truk, trak-tor, dan lain sebagainya. 7. VKK misalnya pada kata: ins-tru-men, eks-po-nen, ons, dan lain sebagainya. 8. KVKK misalnya pada kata: am-bang, kam-pung, ba-yang, sa-yang, dan lain sebagainya. 9. KKVKK misalnya pada kata: kom-pleks dan lain sebagainya. 10. KKKV misalnya pada kata: stra-te-gi dan lain sebagainya. 11. KKKVK misalnya pada kata: struk-tur dan lain sebagainya. Karena terdapat bermacam-macam cara dalam pemenggalan kata, maka untuk mempermudah dalam mengingat-ingatnya maka dikelompokkan menjadi: a. Pemenggalan kata pada kata dasar  Jika di tengah kata ada vokal yang berurutan, pemenggalan itu dilakukan diantara kedua huruf vokal.  Jika di tengah kata terdapat konsonan diantara dua vokal, termasuk gabungan huruf konsonan diantara dua huruf vokal.  Jika di tengah kata terdapat dua huruf konsonan yang berurutan, pemenggalan dilakukan diantara kedua huruf konsonan.  Jika di tengah kata terdapat tiga huruf konsonan atau lebih, pemenggalan dilakukan diantara huruf konsonan pertama dan kedua. Misalnya b. Imbuhan akhiran dan imbuhan awalan, termasuk awalan yang mengalami perubahan bentuk serta partikel yang biasanya ditulis serangkai dengan kata dasarnya, dapat dipenggal pada pergantian baris. TEKNOLOGI TEXT TO SPEECH Menurut Arry Akhmad A (2003: 1) sistem text to speech pada prinsipnya terdiri dari dua sub sistem yaitu bagian konverter teks ke fonem dan bagian konverter fonem ke ucapan. Bagian konverter teks ke fonem berfungsi untuk mengubah kalimat masukan dalam suatu bahasa tertentu yang berbentuk teks menjadi rangkaian kode-kode bunyi yang biasanya direpresentasikan dengan kode fonem, durasi serta pitchnya. Bagian konverter fonem ke ucapan akan menerima masukan berupa kode-kode fonem serta pitch dan durasi yang dihasilkan oleh bagian sebelumnya. Berdasarkan kode-kode tersebut, bagian konverter fonem ke ucapan akan menghasilkan bunyi atau sinyal ucapan yang sesuai dengan kalimat yang diucapkan. Ada beberapa alternatif teknik yang digunakan untuk implementasi bagian ini. dua teknik yang digunakan adalah formant synthesizer dan diphone concatenation. FINITE STATE AUTOMATA (FSA) Menurut Thomas Anung Basuki FSA merupakan salah satu mesin pengenal pada bahasa kelas sederhana. Oleh karena itu, dalam pemenggalan suku kata dapat menggunakan metode

Finite State Automata (FSA). Finite State Automata (FSA) yang digunakan dirancang menjadi tiga tingkatan. Pada tingkat pertama yang akan dikenali adalah pola-pola: V, K, atau VK. Hasil pengenalan FSA tingkat pertama akan menjadi masukan pada tingkat berikutnya. Pada tingkatan kedua FSA akan mengenali suku kata dengan pola V, VK, KV, KVK, KKV, KKVK, KKKV, KKKVK. Pada hasil tingkatan kedua, terlihat bahwa pola suku kata VKK, KVKK, dan KKVKK belum bisa dikenali. Oleh karena itu, diperlukan FSA tingkatan ketiga agar dapat mengenalinya. Berikut merupakan diagram FSA untuk mengenali bahasa regular. Keterangan: q0 = status awal

q1 = status awal q2 = mengenali vokal q3 , q4 , q5 , q7 = mengenali konsonan q6 = mengenali konsonan yang terdiri dari 2 huruf q8 = mengenali konsonan - vokal

Gambar 1. Diagram transisi FSA tingkatan pertama

Hasil pada FSA tingkatan pertama dapat menjadi masukan pada transisi FSA tingkatan kedua. Keterangan: q1 = mengenali blank/spasi

q2 = mengenali V q3 = mengenali VK q4 = mengenali K q5 = mengenali KKV atau KKKV q6 = mengenali KKVK atau KKKVK q7 = mengenali KV q8 = mengenali KVK Gambar 2. Diagram transisi FSA tingkatan kedua

Hasil pada FSA tingkatan kedua dapat menjadi masukan pada FSA tingkatan ketiga. Keterangan: q1 = mengenali blank/spasi

q2 = mengenali VK q3 = mengenali VKK q4 = mengenali KVK q5 = mengenali KVKK q6 = mengenali KKVK q7 = mengenali KKVKK q8 = mengenali V q9 = mengenali KV q10 = mengenali KVV q11 = mengenali KKV/KKKV q12 = mengenali KKVV/KKKVV Gambar 3. Diagram transisi FSA tingkatan ketiga

GOLDWAVE Menurut Strombon (2007:4) goldwave adalah suatu perangkat lunak audio editor yang cukup handal. Selain itu, goldwave dapat mengedit audio dari hal yang paling sederhana seperti merekam sampai mengedit hal yang sangat kompleks seperti audio processing. Fitur-fitur yang disediakan oleh GoldWave adalah sebagai berikut.  Mendukung hampir semua jenis format audio  Dapat memproses berapapun banyaknya audio yang diinginkan dengan batch processing  Dapat merekam audio dari source apapun yang mendukung kinerja PC  Dilengkapi dengan perintah dasar audio editing seperti cut, copy, trim, paste, replace, overwrite, dan lain-lain.  Dilengkapi dengan puluh an audio efek variasi  Dapat mengatur equalizer sesuai yang diinginkan  Dapat mengcopy audio langsung dari CD  Dapat menganalisa audio berdasarkan frekuensi dan amplitude visualnya HASIL Aplikasi program konversi teks menjadi suara menghasilkan tabel sebagai berikut.

Gambar 14. Form awal program

Keterangan: 1. Memo box Input kalimat tempat pemakai (user) menginputkan kalimatnya.

2. Button Verifikasi, tombol yang digunakan untuk menormalkan input dari simbol. Setelah Verifikasi ditekan, tampilan form berubah menjadi gambar berikut.

Gambar 15. Tampilan setelah verifikasi ditekan

A merupakan tempat hasil pemenggalan kata. 3. Button Hapus, tombol yang digunakan untuk menghapus tulisan yang terdapat pada Input kalimat. Jika Hapus ditekan, maka tampilan kembali seperti Gambar 11. 4. Button Suarakan, tombol yang digunakan untuk menyuarakan hasil pemenggalan kata. 5. Button Keluar, tombol yang digunakan untuk keluar dari program yang sedang dijalankan. Hasil uji coba beberapa kata disajikan pada tabel berikut. No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Teks Kamar Anak Ikat Enak Emak Orang Saya Kurma Sisir Sardo Telegram Indra Ultra Influenza Saat Ikrar Ikhlas Makhluk Instrumen Instruktur Barang Bangga Angkasa Anggaran Kompleks Pertanggungjawaban Aula Harimau Universitas Malang Mengukur Foto-grafi Penyiksaan

Hasil penggal kata Ka-mar A-nak I-kat E-nak E-mak O-rang Sa-ya Kur-ma Si-sir Sar-do Te-le-gram In-dra Ul-tra In-flu-en-za Sa-at I-krar Ikh-las Makh-luk In-stru-men In-struk-tur Ba-rang Bang-ga Ang-ka-sa Ang-ga-ran Kom-pleks Per-tang-gung-ja-wa-ban Au-la Ha-ri-mau U-ni-ver-si-tas Ma-lang Meng-u-kur Fo-to-gra-fi Pe-nyik-sa-an

Hasil suara Ka-mar A-nak I-kat -nak -mak O-rang Sa-ya Kur-ma Si-sir Sar-do Te-le-gram In-dra Ul-tra In-flu-en-za Sa-at I-krar Ikh-las Makh-luk In-stru-men In-struk-tur Ba-rang Bang-ga Ang-ka-sa Ang-ga-ran Kom-pleks Per-tang-gung-ja-wa-ban Au-la Ha-ri-mau U-ni-ver-si-tas Ma-lang Meng-u-kur Fo-to-gra-fi Pe-nyik-sa-an

34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Kompleksitas Saung Saudagar Australia Koifisien Mengikis Perasaan Merasai Menikmati Bau Strategi Teks Suara Selisih Transaksi Permusyawaratan Skripsi

Kom-plek-si-tas Sa-ung Sau-da-gar Aus-tra-li-a Koi-fi-si-en Meng-i-kis Pe-ra-sa-an Me-ra-sai Me-nik-ma-ti BauStra-te-gi TeksSu-a-ra Se-li-sih Tran-sak-si Per-mu-sya-wa-ra-tan Skrip-si

Kom-plek-si-tas Sa-ung Sau-da-gar Aus-tra-li-a Koi-fi-si-en Meng-i-kis Pe-ra-sa-an Me-ra-sai Me-nik-ma-ti BauStra-te-gi TeksSu-a-ra Se-li-sih Tran-sak-si Per-mu-sya-wa-ra-tan Skrip-si

PEMBAHASAN 1. Tahap Perencanaan Pada tahap ini, direncanakan bahwa input, output dan proses dari program ini adalah sebagai berikut.  Input : teks/kalimat  Output : suara  Proses antara input teks dengan mendapatkan output suara membutuhkan proses yang tidak singkat. Proses-proses tersebut sering disebut sebagai tahapan, tahapan-tahapan dapat dilihat pada diagram berikut : Input teks Menghapus simbolsimbol pada input teks Pemenggalan suku kata Output (suara)

 Perekaman suara 2. Tahap Pelaksanaan Tahap pelaksanaan ini merupakan tahap terapan dari perencanaan yang telah dibuat. Pelaksanaan dari proses yang telah direncanakan adalah sebagai berikut.  Menghapus Simbol-Simbol pada Input Teks Simbol-simbol pada input teks terdiri dari (:), (;), (,), (.), (‘), (“), (?), (!), (@), (#), ($), (%), (&), (*), ( ( ), ( ) ), ({), (}), ([), (]), (~), (/). Proses penghapusan simbol-simbol pada teks yang telah diinputkan bertujuan agar terdapat keseragaman antara input teks dengan file suara yang dibuat, sehingga mengurangi kemungkinan ketidakadaan data pada file suara. Pada software Delphi, penghapusan simbol-simbol pada input teks memanfaatkan fungsi delete(input.Text, letak simbol, jumlah simbol).  Pemenggalan Suku Kata Pada proses pemenggalan suku kata ini terdapat dua macam metode yaitu menggunakan metode Finite State Automata (FSA) dan pemenggalan suku kata berdasarkan pola umum bahasa Indonesia. Berdasarkan dua metode tersebut diperoleh perbandingan sebagai berikut :

No Finite State Automata (FSA) Tingkat pertama 1 V* 2 KV** Tingkat kedua 1 V* 2 VK 3 VKK*** 4 KV** 5 KVK 6 KKV 7 KKVK 8 KKKV 9 KKKVK Tingkat ketiga 1 VKK*** 2 KVKK 3 KKVKK

No 1 2 3 4 5 6 7 8 9 10 11

Pola umum bahasa Indonesia V VK KV KVK KKV KKVK VKK KVKK KKVKK KKKV KKKVK

Dari tabel tersebut disimpulkan bahwa metode menggunakan Finite State Automata (FSA) ataupun pola umum bahasa Indonesia memiliki kesamaan dalam pemenggalan suku kata, sehingga jika ketiga tingkatan pada metode Finite State Automata (FSA) digabungkan sama dengan pola umum bahasa Indonesia.  Output Suara Pada proses akhir yaitu output suara, suara yang dihasilkan dari proses rekaman berekstensi .wav. Sehingga dalam aplikasi pada Delphi 7 memanfaatkan sndPlaySound(lpszSoundName:PAnsiChar;uFlags:Cardinal). Selain itu, untuk mendapatkan suku kata-suku kata yang telah dipenggal memanfaatkan fungsi split(const Delimiter:Char; Input:String; const String:TString).  Perekaman Suara File suara pada program aplikasi konversi teks menjadi suara ini diperoleh dari hasil perekaman suara pada GoldWave. Proses pengambilan file suara adalah sebagai berikut. 1. Buka aplikasi GoldWave. 2. Klik rekam pada GoldWave (terletak pada tab control). Perekaman suara dapat berbentuk persuku kata atau kumpulan dari suku kata. 3. Jika perekaman berbentuk kumpulan suku kata, maka langkah selanjutnya adalah pemotongan kumpulan suku kata menjadi persuku kata. Cara pemotongannya adalah blok suku kata yang diinginkan, kemudian klik trim (terdapat pada tab GoldWave). Pada pemotongan suku kata, diusahakan terdapat ruang jeda dari suara suku kata. Hal ini bertujuan agar saat program aplikasi konversi teks menjadi suara dapat terdengar secara keseluruhan. 4. Jika perekaman berbentuk persuku kata, maka dapat diatur ruang jeda dari suara suku kata seperti nomor 3. 5. Klik untuk menyimpan suara persuku kata dengan nama file seperti suara persuku kata. Hal ini bertujuan untuk memudahkan pengambilan suara suku kata berdasarkan penggal kata saat program aplikasi konversi teks menjadi suara dijalankan. 3. Tahap Akhir Setelah melalui tahap perencanaan dan tahap pelaksanaan, pada tahap akhir ini diharapkan semua rekaman suku kata yang berkaitan sudah tersimpan pada saat tahap pelaksanaan. Sehingga untuk mengetahui data suku kata yang belum tersimpan diperlukan pendataan suku kata-suku kata. 4. Perancangan Uji Coba Program Pada tahap perancangan uji coba program ini, dilakukan pengujian untuk menguji ketepatan pemenggalan kata dan kesesuaian suara yang dihasilkan. Uji coba program dilakukan

dengan jumlah teks sebanyak 50 sehingga akan diperoleh hasil uji sebanyak 100 dengan rincian 50 hasil uji penggal kata dan 50 hasil suara. Teks yang dipilih diusahakan mencakup semua kata yang terdapat pada jenis-jenis pemenggalan kata seperti konsonan rangkap ditengah, konsonan lebih dari dua di tengah, vokal rangkap di tengah, gugus konsonan, kata berimbuhan. Berikut merupakan Tabel Rancangan Uji Kata. Tabel 2. Rancangan Uji Kata No

Teks

Hasil penggal kata

Penggal kata EYD

Keterangan

Hasil suara

Hasil penggal kata menunjukkan hasil pemenggalan dari teks yang diinputkan. Hasil suara menunjukkan hasil suara yang sesuai dengan hasil penggal kata dan data yang diinputkan. KESIMPULAN Berdasarkan uraian di atas, diperoleh kesimpulan sebagai berikut. 1. Tahapan – tahapan pada aplikasi konversi teks menjadi suara bahasa Indonesia adalah menginputkan kalimat ke dalam program kemudian program akan menghapus simbol-simbol yang terdapat pada kalimat yang diinputkan, jika kalimat yang diinputkan tidak mengandung simbol tidak dilakukan proses apapun. Setelah proses penghapusan simbol, program akan melakukan pemenggalan suku kata-suku kata dari kalimat hasil proses sebelumnya. Dari hasil pemenggalan suku kata-suku kata kemudian disuarakan sehingga program menghasilkan suara yang sesuai dengan hasil pemenggalan kata. 2. Metode yang digunakan untuk memenggal kata menjadi suku kata pada program aplikasi konversi teks menjadi suara bahasa Indonesia adalah metode Finite State Automata (FSA). Dalam menerapkan metode terebut pada Delphi memanfaatkan beberapa fungsi yaitu:  Insert  Delete  Copy 3. Untuk menyuarakan suku kata-suku kata pada program aplikasi konversi teks menjadi suara bahasa Indonesia memanfaatkan fungsi sndPlaySound(lpszSoundName:PAnsiChar;uFlags:Cardinal). DAFTAR RUJUKAN Arman, Arry Akhmad. 2003. Konversi dari Teks ke Ucapan. (online)(http://indotts.melsa.net.id/Karakteristik Sinyal Ucapan.pdf) diakses pada tanggal 5 September 2012. Arman, Arry Akhmad. 2003. Proses Pembentukan dan Karakteristik Sinyal Ucapan. (online)(http://indotts.melsa.net.id/Karakteristik Sinyal Ucapan.pdf) diakses pada tanggal 5 September 2012. Basuki, Thomas Anung. 2000. Pengenalan Suku Kata Bahasa Indonesia Menggunakan Finite State Automata. Integral vol.5 no.2: hlm.67, (Online), dalam Integral (http://home.unpar.ac.id/integral/Volume/Integral/No5/AnungFinal.pdf) diakses 23 Januari 2013. Dermawan. 2005. Perancangan dan Pembuatan Perangkat Lunak Simple Word Processor with Spell Checker and Word Suggestor (SWPSCWS) dengan Metode Non Deterministic Finite Automata. Skripsi tidak diterbitkan. Surabaya: Universitas Kristen Petra. Divisi Penelitian dan Pengembangan. 2002. Pemrograman Borland Delphi 7 Lengkap dengan Contoh Aplikasi. Penerbit Andi: Yogyakarta.

Hamzah, Amir. 2009. Teori Bahasa dan Otomata, (Online), (http://amir.dosen.akprind.ac.id/files/2012/09/TBO_FULL.pdf), diakses pada tanggal 5 Februari 2013. Hollands, Roy. 1995. Kamus Matematika. Erlangga: Jakarta. Kadir, Abdul. 2007. Pemrograman Database dengan Delphi 7 Menggunakan Access dan ADO. Penerbit Andi : Yogyakarta. Prasetyo, Bambang Eko. 2010. Perbandingan Algoritma Brute Force dan Algoritma Boyer Moore dalam Pencocokan String pada File Teks. Skripsi tidak diterbitkan. Malang: UM. Pusat Bahasa Departemen Pendidikan Nasional. 2008. Kamus Bahasa Indonesia. Pusat Bahasa: Jakarta. Strombon. 2007. GoldWave Manual, (online), (http://www.ahlalhdeeth.com), diakses pada tanggal 27 Maret 2013. Tjiputra, Sudarmono. 2003. Perangkat Lunak Text to Speech dalam Bahasa Indonesia dengan Metode Phoneme Synthesis. Skripsi tidak diterbitkan. Surabaya: Universitas Kristen Petra. Tritoasmoro, Iwan Iwut. ([email protected]). 26 Februari 2013. Text to Speech Bahasa Indonesia dengan Pembangkit Prosodi Menggunakan Metoda Multirate Reccurrent Neural Network. E-mail kepada Isrokah ([email protected]). Waridah, Ernawati. 2008. EYD & Seputar Kebahasa-Indonesiaan. Kawan Pustaka: Jakarta Selatan.