TEXT TO SPEECH
9 TEXT TO SPEECH
Overview
Antarmuka modern telah berkembang sangat pesat. Hal ini didukung oleh disiplin ilmu di bidang ilmu komputer khususnya pengolahan bahasa alami. Salah satu teknologi pada pengolahan bahasa alami adalah Text To Speech. Melalui bab ini akan dibahas prinsip kerja Text To Speech dan bagaimana membuat aplikasi Text To Speech secara sederhana.
Tujuan
1. Siswa memahami prinsip kerja Text To Speech.
2. Siswa dapat merancang aplikasi yang menggunakan teknologi Text To Speech.
3. Siswa dapat mengimplentasikan aplikasi yang memiliki fitur Text To Speech.
Text to Speech 167
Perkembangan teknologi untuk membuat ucapan manusia atau yang sering disebut sebagai teknologi pensitesa ucapan, telah mengalami perbaikan dari masa ke masa. Perkembangan ini dapat dibagi menjadi tiga generasi. Generasi pertama adalah sebelum tahun 1930. Pada masa ini penelitian- penelitian lebih banyak ditujukan untuk memahami karakteristik sinyal ucapan serta pengembangan pensintesa ucapan berbasis mekanik atau elektromekanik. Geenerasi kedia dimulai sejak tahun 1930-an sampai dengan ditemukannya komputer digital. Masa ini ditandai dengan pengembangan berbagai alat pensintesa ucapan menggunakan teknologi elektronik analog. Generasi ketiga dimulai sejak ditemukannya komputer digital hingga sekarang. Pada masa ini, sintesa ucapan dilakukan menggunakan pendekatan-pendekatan pemrosesan sinyal digital.
Generasi Pertama
Penelitian tentang ucapan dimulai dengan penelitian-penelitian untuk melakukan pemahaman tentang sinyal ucapan. Berikut ini perkembagannya.
Tahun 1779: Imperial Academy of St. Petersburg menyelenggarakan suatu kompetisi dengan tujuan untuk mengetahui hal-hal berikut.
1. “What is the nature and character of the sounds of the vowels a,
e, i, o, u that make them different from one another ?”
2. “Can an instrument be constructed like the vox humana pipes of an organ, which shall accurate express the sounds of the vowels ?”
Seorang peneliti dari Rusia yang bernama Christian Gottlieb Kratzenstein memenangkan kompetisi tersebut dengan membuat satu set resonator akustik yang mensimulasikan mulut manusia. Resonator Kratzenstein terdiri dari 5 bentuk tabung, masing-masing untuk mensimulasikan satu bunyi vokal.
Resonator Kratzenstein Tahun 1892: Robert Willis mengubah sintesa Kratzenstein menjadi sebuah tabung tunggal yang dapat diatur panjangnya.
Gambar 2. Model Kedua Pensintesa Ucapan Buatan Wolfgang von Kempelen Di Perancis, pada waktu yang hampir bersamaan dengan von Kempelen, Abbe‟ Mical mengembangkan mesin lain yang dikenal sebagai “two talking head”.
Hermann Helmholtz, seorang perintis peneliti akustik, pada pertengahan abad ke-19 membuat perangkat elektro-mekanik yang terdiri dari sejumlah garpu yang dapat ditala, kumparan elektrik, dan sejumlah resonator yang dapat mensintesa suara komposit yang sangat mirip suara vokal manusia. Perangkat ini mungkin tidak memperlihatkan hubungan langsung dengan berbagai penemuan alat-alat lainnya yang berhubungan dengan aplikasi suara, tetapi keberadaan mesin tersebut memberikan ilham bagi Alexander Graham Bell yang menghasilkan beberapa penemuan di bidang aplikasi mesin yang berhubungan dengan suara manusia.
Text to Speech 169
Gambar 4. Versi Wheatstone dari Model Ketiga Pensintesa Ucapan Buatan Wolfgang von Kempelen [Pel93]
Tahun 1863: Alexander Graham Bell dan dua saudaranya (Melly dan Ted) pernah melakukan pengembangan mesin yang dapat menirukan ucapanucapan manusia. Namun pada akhirnya Bell justru menemukan telepon.
Generasi Kedua
Tahun 1930: para peneliti mulai menggunakan model elektrik untuk analisis dan menirukan ucapan uaitu VODER. Gambar 6 memperlihatkan blok diagram VODER serta ekivalensinya dengan alat-alat ucap manusia. Suara bersumber dari dua buah sumber bunyi, yaitu : noise dan osilator. Sumber noise disediakan untuk mensintesa ucapan yang menyerupai noise, sedangkan osilator untuk ucapan lainnya. Frekuensi osilator dikendalikan oleh pedal. Frekuensi yang dihasilkan akan menentukan pitch dari bagian ucapan yang dihasilkan. Sumber yang dihasilkan akan dilewatkan pada sepuluh bandpass filter yang dihubungkan secara paralel dan masing-masing frekuensinya dapat diatur. Tiga pengatur lainnya disediakan untuk mengatur proses transien, yaitu untuk reproduksi konsonan stop, yaitu t, d, p, b, k, g.
170
Generasi Ketiga
Tahun 1960-an: Teknik analisis dan sintesa ucapan terbagi menjadi dua paradigma. Pendekatan pertama disebut articulatory synthesis. Dalam pendekatan ini, mekanisme produksi ucapan dimodelkan secara fisiologi dengan cukup rinci. Pendekatan kedua adalah terminal-analogue synthesis. Pada pendekatan kedua ini, ucapan dimodelkan dengan model apapun.
Text to Speech 171
Tahu 1990: Dennis Klatt pada mengembangkan Synthesizer bebasis komputer digital yang sudah dirancang oleh Klatt pada seja tahun 1980.
9.2 Text To Speech
Text To Speech (TTS) adalah suatu sistem yang dapat mengubah teks atau bahasa tulisan dalam suatu bahasa menjadi ucapan atau bahasa lisan dalam bahasa yang sama[3]. Prinsip Sistem TTS dapat dibagi menjadi dua yaitu:
Konverter Teks ke Fonem (Text to Phoneme) Konverter Teks ke Fonem berfungsi mengubah kalimat masukan dalam suatu bahasa tertentu yang berbentuk teks menjadi rangkaian kode-kode bunyi yang biasanya direpresentasikan dengan kode fonem, durasi serta pitch-nya. Bagian ini bersifat sangat language dependant. Untuk suatu bahasa baru, bagian ini harus dikembangkan secara lengkap khusus untuk bahasa tersebut.
Konverter Fonem to Ucapan (Phoneme to Speech). 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 ingin diucapkan. Ada beberapa alternatif teknik yang dapat digunakan untuk implementasi bagian ini. Dua teknik yang banyak digunakan adalah
- formant synthesizer Formant synthesizer bekerja berdasarkan suatu model matematis yang akan melakukan komputasi untuk menghasilkan sinyal ucapan yang diinginkan. Synthesizer jenis ini telah lama digunakan pada berbagai aplikasi. Walaupun dapat menghasilkan ucapan dengan tingkat kemudahan interpretasi yang baik, synthesizer ini tidak dapat menghasilkan ucapan dengan tingkat kealamian yang tinggi.
- diphone concatenation Synthesizer yang menggunakan teknik diphone concatenation bekerja dengan cara menggabung-gabungkan segmen-segmen bunyi yang telah direkam sebelumnya. Setiap segmen berupa diphone (gabungan dua buah fonem). Synthesizer jenis ini dapat
9.3 Diphone Concatenation
Pembentukan ucapan pada pensintesa ucapan menggunakan metoda diphone concatenation pada prinsipnya dilakukan dengan cara menyusun sejumlah diphone yang bersesuaian sehingga diperoleh ucapan yang diinginkan. Sebagai contoh, pada gambar diperlihatkan pembentukan kata atau ucapan “komputer” yang disusun dari diphone-diphone /_k/, /ko/, /om/ dan seterusnya.
Gambar. Pembentukan Ucapan “komputer” dari Diphone-Diphone nya
Supaya pensitesa ucapan dapat mengucapkan semua kemungkinan kata atau kalimat yang ada dalam suatu bahasa, sehingga sistem tersebut harus didukung oleh diphone database yang terdiri dari semua kombinasi diphone yang ada dalam bahasa tersebut.
Diphone concatenation engine atau unit pemroses diphone akan menerima masukan berupa daftar fonem yang ingin diucapkan, masing-masing disertai oleh durasi pengucapannya, serta pitch atau frekuensinya. Berdasarkan daftar
Text to Speech 173 Text to Speech 173
Gambar. Pembentukan Ucapan “komputer” dari Diphone-Diphone nya
Sejumlah teknik untuk pemrosesan diphone telah dikembangkan oleh berbagai pihak, diantaranya adalah autoregressive (AR), Glottal AR, hybrid harmonic/stocastic, time domain PSOLA (TD-PSOLA), multiband resynthesis-PSOLA (MBR-PSOLA), serta Linear Prediction-PSOLA (LP- PSOLA) [Dut97].
Source : http://teknologibahasa.wordpress.com/2008/03/14/sintesa-ucapan-dengan- teknik-diphone-concatenation/
9.4 TTS Bahasa Indonesia
Pada saat ini telah ada TTS bahasa Indonesia yang dikenal dengan nama IndoTTS yang dikembangkan oleh Arry Akhmad Arman dosen Departemen Elektro Institut Teknologi Bandung (ITB)[2].
Diphone adalah dua fonem berurutan. Dari 35 fonem akan tercipta 1.296 diphone yang di dalamnya sudah termasuk diphone "silence" untuk awal dan akhir kata. Unit terkecil bentuk tulisan adalah huruf, sedangkan unit terkecil bentuk lisan adalah fonem. Fonem tidak identik dengan huruf, contohnya gabungan huruf "n" dan "g" akan menjadi fonem "ng". Karena hasil akhir TTS adalah berupa ucapan, maka yang menjadi fokus di dalam pengembangannya adalah fonem, bukan huruf. Di dalam bahasa Indonesia, fonem yang ada berjumlah 35 buah[2].
Setelah diphone database tersedia, maka IndoTTS siap bekerja. Rangkaian huruf yang dimasukkan akan diubah menjadi rangkaian fonem lengkap dengan durasi dan frekuensinya. Data-data tersebut kemudian diumpankan ke modul Mbrola, yaitu metode speech synthesizer (penyusunan ucapan) dengan menggunakan metode diphone produk Belgia, yang kemudian akan menyambung diphone sesuai dengan database yang disediakan serta
Text to Speech 175
Konfigurasi sistem IndoTTS ditunjukkan pada Gambar 2.1 berikut ini[2].
Gambar 2.1 Konfigurasi Sistem IndoTTS[2]
IndoTTS juga dapat digabungkan dengan program lain yang berbahasa Borland Delphi, Visual Basic atau C++ dengan memanfaatkan System Development Kit (SDK) yang tersedia sehingga menghasilkan program aplikasi baru. Diagram pengembangannya adalah sebagai berikut[2].
Gambar 2.2 Diagram Pengembangan Aplikasi Menggunakan IndoTTS[2]
Untuk membangun aplikasi yang menggunakan TTS sangatlah mudah. Dr Ary Akhmad Arman telah membuat library yang dapa dipergunakan secara bebas sepanjang tidak untuk komersial.
Libary Indo TTS dapat di downlad di.....
Untuk menggunakan library ini sangatlah mudah. Langkah pertama adalah menginstall MBROLA terlebih dahulu. Installer ini dapat didownload secara bebas di internet.
Selanjutnya saat membuat program yang menggunakan modul TTS. Cukup memanggil library IndoTTS. Sebagai contoh pada pemrograman Delphi cukup menambahkan deklarasai seperti pada potongan berikut.
unit Unit1; //Unit 1 merupakan implementasi dari Form 1 pada Project1
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ITTS_DLL_Interface , ExtCtrls, Qt; //Nama library yang digunakan pada unit ini
type TForm1 = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; Memo1: TMemo; BitBtn7: TBitBtn; Image1: TImage; Label1: TLabel;
//..... dan seterusnya
Pada deklarasi tersebut, program memanggil library IndoTTS dengan menyertakan ITTS_DLL_Interface. Dengan menggunakan library ini,
pemrogram terbebas dari kerumitan pemrosesan TTS itu sendiri. Namun Text to Speech 177 pemrogram terbebas dari kerumitan pemrosesan TTS itu sendiri. Namun Text to Speech 177
procedure TForm1.BitBtn1Click(Sender: TObject); { I.S. : Button1 di klik, IndoTTS siap membacakan Teks.
Terdapat File yang siap di-load untuk mengisi Memo1 F.S. : IndoTTS membacakan teks yang berada pada Memo1 } begin
Memo1.Visible:=True; BitBtn7.Visible:=True; Memo1.Lines.LoadFromFile('pol.txt'); IndoTTS_Say(PChar(Memo1.Text));
end;
Pada Prosedur di atas, parameter teks di ambil dari teks yang berada pada Memo1. Ketika BitBtn1 diklik. Maka IndoTTS akan mulai membacakan teks yang berada pada Memo1.
procedure TForm1.BitBtn1Enter(Sender: TObject); { I.S. : Button1 di aktif, IndoTTS siap membacakan Teks F.S. : IndoTTS membacakan teks yang berada pada parameter
IndoTTS_Say. } begin
IndoTTS_Say('Berita Politik'); end;
Pada Prosedur di atas, parameter teks di ambil dari teks yang diberikan secara langsung. Teks dalam parameter tersebut akan secara langsung dibaca oleh IndoTTS dan terdap at output suara ucapan “Berita Politik ” ketika BitBtn1 aktif.
procedure TForm1.BitBtn7Click(Sender: TObject); { I.S. : IndoTTS sedang aktif memabacakan Teks. F.S. : IndoTTS menghentikan pembacaan Teks. } begin
IndoTTS_SpeakOFF; end;
Text to Speech 179
Rangkuman
1. Sejarah TTS dapat dikategorikan menjadi tiga generasi
2. Generasi pertama difokuskan kepada alat yang dapat mengahsilkan suara manusia secara mekanik
3. Generasi pertama difokuskan kepada alat yang dapat mengahsilkan suara manusia secara elektrik
4. Generasi pertama difokuskan kepada alat yang dapat mengahsilkan suara manusia secara digital dengan salah satu paradigma yang berkembang adalah pemodelan sinyal ucapan
5. Text To Speech (TTS) adalah suatu sistem yang dapat mengubah teks atau bahasa tulisan dalam suatu bahasa menjadi ucapan atau bahasa lisan dalam bahasa yang sama.
6. Prinsip Sistem TTS dapat dibagi menjadi dua yaitu: Konverter Teks ke Fonem dan Konverter Fonem to Ucapan
7. Konverter Teks ke Fonem berfungsi mengubah kalimat masukan dalam suatu bahasa tertentu yang berbentuk teks menjadi rangkaian kode-kode bunyi yang biasanya direpresentasikan dengan kode fonem, durasi serta pitch-nya.
8. Konverter Fonem ke Ucapan akan menerima masukan berupa kode- kode fonem serta pitch dan durasi yang dihasilkan oleh bagian sebelumnya.
9. Formant synthesizer bekerja berdasarkan suatu model matematis yang akan melakukan komputasi untuk menghasilkan sinyal ucapan yang diinginkan.
10. Synthesizer yang menggunakan teknik diphone concatenation bekerja dengan cara menggabung-gabungkan segmen-segmen bunyi yang telah direkam sebelumnya.
Kuis Benar Salah
1. Pekembangan pensintesa ucapan sudah berkembang sejak ratusan tahun silam.
2. Pengolahan sintesa ucapan secara digital sudah berkembang sejak tahun 1779.
3. Resonator Kratzenstein merupaka pensintesa ucapan yang pertama.
4. Resonator Kratzenstein diperkenalkan pada perlombaan di Imperial Academy of St. Petersburg.
5. Voder merupapakan pensintesa ucapan pada generasi kedua.
6. Pada articulatory synthesis, mekanisme produksi ucapan dimodelkan secara fisiologi dengan cukup rinci.
7. Pada terminal-analogue synthesis, ucapan dimodelkan dengan model apapun.
8. Dennis Klatt memperkenalkan pensintesa ucapan berbasis digital.
9. TTS bahasa indonesia menggunakan diphone database Belgia
10. Diphone database bahasa Indoensia dibuat pertama kali oleh Arry Akhmad Arman.
Text to Speech 181
Pilihan Ganda
1. Perkembangan pensintesa ucapan pertama kali dimulai dari penemuan ________
A. Arry Akhmad Arman
D Wolfgang von Kempelen
B. Alexander Graham Bell
E. Kratzenstein
C. Dennis Klatt
2. Berikut ini adalah model pensintesa ucapan dari ______
A. Hermann Helmholtz
D. Wolfgang von Kempelen
B. Alexander Graham Bell
E. Kratzenstein
C. Dennis Klatt
3. Berikut ini adalah model pensintesa ucapan dari ______
A. Hermann Helmholtz
D. Wolfgang von Kempelen
B. Alexander Graham Bell
E. Kratzenstein
C. Dennis Klatt
4. Berikut ini adalah model pensintesa ucapan dari ______
A. Hermann Helmholtz
D. Wolfgang von Kempelen
B. Alexander Graham Bell
E. Kratzenstein
C. Dennis Klatt
5. Berikut ini adalah model pensintesa ucapan dari ______
Text to Speech 183
A. Hermann Helmholtz
D. Wolfgang von
B. Alexander Graham Bell Kempelen
C. Dennis Klatt
E. Kratzenstein
6 Text To Speech dengan diphone database Bahasa Indonesia pertama kali dikembangkan oleh _____
A. Arry Akhmad Arman
D. Wolfgang von
B. Alexander Graham Bell Kempelen
C. Dennis Klatt
E. Kratzenstein
1. Konverter Teks ke Fonem berfungsi mengubah kalimat masukan
7. dalam suatu bahasa tertentu yang berbentuk teks menjadi rangkaian kode-kode bunyi yang biasanya direpresentasikan dengan kode fonem, durasi serta pitch-nya.
2. Konverter Fonem ke Ucapan akan menerima masukan berupa kode-kode fonem serta pitch dan durasi yang dihasilkan oleh bagian sebelumnya.
3. Formant synthesizer bekerja berdasarkan suatu model matematis yang akan melakukan komputasi untuk menghasilkan sinyal ucapan yang diinginkan.
4. Synthesizer yang menggunakan teknik diphone concatenation bekerja dengan cara menggabung-gabungkan segmen-segmen bunyi yang telah direkam sebelumnya.
Pernyataan yang benar tentang konsep TTS adalah ______
8. Untuk mereprenstasikan kode fonem frase “kancingnya lepas” seperti pada kalimat “Kancingnya lepas satu buah” adalah ____
A k/a/n/c/i/n/g/n/y/a/_/l/e/p/a/s
B k/a/n/c/i/ng/ny/a/_/l/e/p/a/s
C k/V/n/tS/i/N/nY/a/_/l/@/p/V/s
D k/V/n/tS/i/N/nY/a/_/l/e/p/V/s
E k/V/n/tS/i/nG/nY/a/_/l/@/p/V/s
9 Untuk membacakan teks pada IndoTTS digunakan perintah _____
A IndoTTSSay()
D IndoTTS_Speak()
B IndoTTS_Begin()
E IndoTTS_Say()
C IndoTTS_Start()
10 Untuk menghentikan pembacaan teks pada IndoTTS digunakan perintah ______
A IndoTTS_Stop
D IndoTTS_SpeakOFF
B IndoTTS_Silent
E IndoTTS_SpeakStop
C IndoTTS_Off
Text to Speech 185
Latihan
1. Jelaskan dengan singkat sejarah perkembangan pensintesa ucapan?
2. Apa yang dimaksud dengan Fonem?
3. Apa yang dimaksud dengan Konverter Teks ke Fonem?
4. Apa yang dimaksud dengan Konverter Fonem to Ucapan?
5. Apa yang dimaksud dengan formant synthesizer?
6. Apa yang dimaksud dengan diphone concatenation?
7. Siapakah yang mengembangkan IndoTTS pertama kali?
8. Jelaskan cara kerja Indo TTS!
9. Representasikan teks berikut menjadi kedalam fonem!
a. Penjelasannya sangat menyebalkan
b. Cara mereduksi persamaan linier
c. Bunganya memerah disiang hari
10. Sebutkan fungsi-fungsi dasar yang dapt dipanggil dari IndoTTS dan jelaskan fungsinya!
Project
Buatlah sebuah aplikasi yang memanfaatkan IndoTTS. Delivery dari project ini adalah:
1. sebuah CD yang berisi
a. Program executable
b. Laporan Project yang berkaitan dengan :