Pendahuluan
1. Latar
Belakang
Sistem konversi text-to-speech (TTS)
merupakan suatu sistem yang mampu memproduksi sinyal ucapan secara otomatis
melalui transkripsi grafem-ke-fonem untuk kalimat yang diucap kan atau lebih
mudahnya system yang dapat merubah teks menjadi suara. Perbedaan sistem TTS
dengan talking machine biasa adalah keotomatisannya dalam mengucapkan kata-kata
baru. Luasnya aplikasi yang ditawarkan oleh sistem TTS ini, dan berkembangnya
beberapa perangkat/platform, seperti Handphone dan PDA, telah mendorong
diimplementasikannya sistem TTS pada berbagai platform untuk berbagai
keperluan. Dukungan hardware dan software yang memadai memungkinkan sistem TTS
untuk diimplementasikan pada perangkat tersebut. Oleh karena itu TTS
memungkinkan untuk diimplementasikan pada bidang aplikasi yang beragam seperti
aplikasi sms bicara, buku digital, pembaca email otomatis bahkan dapat membaca
teks dalam format pdf.
BAB II Pembahasan
2.1 PDF
2.1.1
Definisi PDF
PDF (Portable Document Format) adalah sebuah
format berkas yang dibuat oleh Adobe System pada tahun 1993 untuk keperluan
pertukaran dokumen digital. Format PDF digunakan untuk merepresentasikan
dokumen dua dimensi yang meliputi teks, huruf, citra dan grafik vektor dua
dimensi. Pada Acrobat 3-D, kemampuan PDF juga meliputi pembacaan dokumen tiga
dimensi. PDF telah menjadi standar ISO pada tanggal 1 Juli 2008 dengan kode ISO
32000-1:2008.
2.1.2
Sejarah PDF
Ketika pertama kali diperkenalkan pada tahun
1993, tingkat penggunaan dokumen berformat PDF relatif rendah. Pada saat itu
perangkat lunak untuk membuat dokumen PDF (Adobe Acrobat) dan perangkat lunak
untuk membacanya (Acrobat Reader, sekarang Adobe Reader) tersedia secara
komersial, tidak didistribusikan gratis.
Versi-versi awal PDF tidak mendukung
fasilitas pranala luar, yang membuatnya kurang terintegrasi dengan World Wide
Web, dan penambahan besar ukuran berkas PDF pada paket data yang dikirimkan
membuatnya lambat untuk diunduh (download) dengan tingkat kecepatan modem pada
saat itu. Penyebab lain kekurangpopuleran PDF pada masa itu disebabkan karena
format berkas PDF harus bersaing dalam tingkat penggunaannya dengan format lain
seperti Envoy, Common Ground Digital Paper, dan PostScript (.ps). PostScript
adalah format yang juga diciptakan oleh Adobe dan sebagian fungsinya
diimplementasikan pada PDF. Laju peningkatan penggunaan dokumen PDF meningkat
dengan pesat setelah Adobe mulai mendistribusikan perangkat lunak Acrobat
Reader secara gratis. Mereka juga membebaskan siapapun untuk menciptakan
aplikasi pembuat maupun pembaca dokumen PDF tanpa perlu membayar royalti kepada
Adobe System selaku pemegang hak paten PDF.
Format dokumen PDF mengkombinasikan tiga
teknologi :
• Sub-set dari pemrograman deskripsi halaman
PostScript untuk menghasilkan tampilan dan grafik
• Sistem penempatan/pemindahan huruf untuk
mengijinkan perpindahan huruf di dalam dokumen
• Sistem penyimpanan terstruktur untuk
menempatkan dan mengkompresi elemen-elemen dokumen ke dalam satu berkas.
2.1.3 Sifat
–Sifat PDF
1. Antarmuka PDF
Antarmuka dokumen PDF pada umumnya tersusun
atas kombinasi teks, grafik vektor, dan grafik raster. Grafik vektor digunakan
untuk menampilkan ilustrasi yang terbentuk dari garis dan kurva, sedangkan
grafik raster digunakan untuk menampilkan foto dan citra. Pada perbaikan format
selanjutnya, dokumen PDF juga mampu mendukung hyperlink, forms, javascript, dan
berbagai kemampuan lain yang dapat didukung dengan melakukan penambahan plugin.
Dokumen PDF versi 1.6 telah memiliki kemampuan untuk menampilkan grafik tiga
dimensi interaktif.
2. Aksesibilitas
Berkas PDF dapat dibuat secara spesifik agar
dapat diakses oleh orang-orang dengan cacat/keterbatasan fisik. Format berkas
PDF dapat dilengkapi dengan label ( tag ) XML, teks ekuivalen, perbesaran
visual teks ( magnifier ), penambahan fasilitas audio/suara, dan sebagainya.
Beberapa perangkat lunak kreator PDF seperti Adobe InDesign dapat secara otomatis
membuat berkas PDF berlabel.
3. Keamanan dan Pembatasan Penggunaan
Berkas PDF dapat disandikan sehingga untuk
dapat membuka atau mengeditnya diperlukan katakunci tertentu. Penyandian berkas
PDF dilakukan dalam dua tingkat, yakni 40-bit dan 128-bit dengan menggunakan
sistem sandi kompleks RC4 dan MD5. Berkas PDF juga dapat diberi pembatasan DRM
untuk membatasi aktivitas penggandaan, penyuntingan, maupun pencetakan berkas
tersebut.
2.2 Definisi Text to Speech
Pada prinsipnya, sistem TTS (Text to Speech)
adalah suatu sistem yang dapat melakukan konversi dari teks menjadi ucapan..
Untuk mempertegas definisi TTS dalam disertasi ini, berikut ini akan ditinjau
beberapa definisi TTS dari beberapa literatur.
Speech FAQ, suatu situs Internet yang
merangkum pendapat dari berbagai universitas, lembaga penelitian dan industri
di bidang aplikasi ucapan, menyatakan bahwa “Speech synthesis programs convert
written input to spoken output by automatically generating synthetic speech.
Speech synthesis is often referred to a Text-to-Speech conversion (TTS)”.
Berdasarkan ketiga sumber tersebut, suatu
sistem TTS dapat didefinisikan sebagai “Sistem yang dapat mengubah suatu teks
menjadi ucapan secara otomatis dengan cara fonetisasi (penyusunan fonem-fonem
untuk membentuk ucapan)”. Sebuah sistem TTS dapat mengucapkan kata apapun, dan
kosa katanya tidak terbatas. Berdasarkan definisi tersebut, maka suatu sistem
IVR tidak dapat dikategorikan sebagai sistem TTS, karena hanya dapat
mengucapkan kata-kata atau kalimat dengan jumlah atau kombinasi yang sangat
terbatas, tidak dapat mengucapkan semua kata atau kalimat. Selain itu, IVR
tidak melakukan fonetisasi.
Fonem murupakan unit ucapan pada database.
Penggunaan fonem memberikan fleksibilitas yang tinggi dengan sistem rule-based.
Tetapi, beberapa fonem yang tidak memiliki target posisi yang tetap, seperti
plosives, akan sulit untuk disintesis. Artikulasi juga harus dirumuskan sebagai
aturan
Durasi, merupakan lama waktu pengucapan untuk setiap fonem, sedangkan pitch merupakan perubahan nilai frekuensidasar pada pengucapan fonem untuk menghasilkan intonasi yang diinginkan.
Pada gambar 1 menggambarkan diagram fungsional text to speech (TTS) secara umum. Proses pada gambar diatas terdiri dari 2 proses yaitu :
Durasi, merupakan lama waktu pengucapan untuk setiap fonem, sedangkan pitch merupakan perubahan nilai frekuensidasar pada pengucapan fonem untuk menghasilkan intonasi yang diinginkan.
Pada gambar 1 menggambarkan diagram fungsional text to speech (TTS) secara umum. Proses pada gambar diatas terdiri dari 2 proses yaitu :
1) Bagian Konverter Teks ke Fonem (Text to
Phoneme).
2) Bagian Konverter Fonem to Ucapan (Phoneme
to Speech).
2.3
Konverter Teks ke Fonem (Text to Phoneme).
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 pitch-nya. Bagian ini bersifat sangat language dependant.
Untuk suatu bahasa baru, bagian ini harus dikembangkan secara lengkap khusus
untuk bahasa tersebut.
Konversi dari teks ke fonem sangat dipengaruhi oleh aturan-aturan yang berlaku dalam suatu bahasa. Pada prinsipnya proses ini melakukan konversi dari simbol-simbol tekstual menjadi simbol-simbol fonetik yang merepresentasikan unit bunyi terkecil dalam suatu bahasa. Setiap bahasa memiliki aturan cara pembacaan dan cara pengucapan teks yang sangat spesifik. Hal ini menyebabkan implementasi unit konverter teks ke fonem menjadi sangat spesifik terhadap suatu bahasa.
Konversi dari teks ke fonem sangat dipengaruhi oleh aturan-aturan yang berlaku dalam suatu bahasa. Pada prinsipnya proses ini melakukan konversi dari simbol-simbol tekstual menjadi simbol-simbol fonetik yang merepresentasikan unit bunyi terkecil dalam suatu bahasa. Setiap bahasa memiliki aturan cara pembacaan dan cara pengucapan teks yang sangat spesifik. Hal ini menyebabkan implementasi unit konverter teks ke fonem menjadi sangat spesifik terhadap suatu bahasa.
Pada proses konversi teks ke fonem
terdiridari beberapa tahap, yaitu normalisasi teks,, konversi setiap fonem
menjadi kode fonem, dan penetapan durasi dan pitch untuk setiap fonem.
Normalisasi teks merupakan suatu proses yang merepresentasikan teks tertulis
menjadi teks yang sesuai dengan pengucapan oleh manusia. Setiap teks hasil
normalisasi dikonversi ke fonem, dan tidak semua huruf sama dengan kode
fonemnya. Sebagai contoh konversi teks ke fonem dapat dilihat pada table
dibawah ini.
Fonem Kode Fonem Contoh Teks converter teks
ke fonem
A V Acara /V/,/c/,/V/,/r/,/V/
I I Inspirasi /I/,/n/,/s/,/p/,/I/,/r/,/V/,/s/,/V/
U U Gugur /g/,/U/,/g/,/U/,/r/
E E Bebek /b/,/E/,/b/,/e/,/k/
Ē @ Dēlapan /d/,/@/,/l/,/V/,/p/,/V/,/n/
NG N Datang /d/,/V/,/t/,/V/,/N/
NY nY Bunyi /b/,/U/,/nY/,/I/
C tS Cacat /tS/,/V/,/tS/,/V/,/t/
Q K Qiyash /K/,/I/,/y/,/V/,/s/,/h/
Y J Yummy /J/,/U/,/m/,/m/,/y/
J dZ Jalan /dZ/,/V/,/l/,/V/,/n/
V f Valas /f/,/V/,/l/,/V/,/s/
[spasi] - Aku makan nasi /V/,/k/,/U/,/
/,/m/,/V/,/k/,/V/,/n/,/ /,/n/,/V/,/s/,/I/
2.4 Konverter Fonem to Ucapan (Phoneme to Speech).
Pada 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 pitch-nya. Bagian ini bersifat sangat language dependant. Untuk
suatu bahasa baru, bagian ini harus dikembangkan secara lengkap khusus untuk bahasa
tersebut.
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 ingin diucapkan. Ada beberapa alternatif teknik yang dapat digunakan untuk
implementasi bagian ini. Dua teknik yang banyak digunakan adalah formant
synthesizer, serta diphone concatenation.
Untuk mendapatkan ucapan yang lebih alami,
ucapan yang dihasilkan harus memiliki intonasi (prosody). Secara kuantisasi,
prosodi adalah perubahan nilai pitch (frekuensi dasar) selama pengucapan kalimat
dilakukan atau pitch sebagai fungsi waktu. Pada prakteknya, informasi pembentuk
prosodi berupa data-data pitch serta durasi pengucapannya untuk setiap fonem
yang dibangkitkan. Nilai-nilai yang dihasilkan diperoleh dari suatu model
prosodi. Prosodi bersifat sangat spesifik untuk setiap bahasa, sehingga model
yang diperlukan untuk membangkitkan data-data prosodi menjadi sangat spesifik
juga untuk suatu bahasa. Beberapa model umum prosodi pernah dikembangkan,
tetapi untuk digunakan pada suatu bahasa masih perlu banyak penyesuaian yang
harus dilakukan.
Konverter fonem ke ucapan berfungsi untuk
membangkitkan sinyal ucapan berdasarkan kode-kode fonem yang dihasilkan dari
proses sebelumnya. Sub sistem ini harus memiliki pustaka setiap unit ucapan
dari suatu bahasa. Pada sistem yang menggunakan teknik diphone concatenation,
sistem harus didukung oleh suatu diphone database yang berisi rekaman
segmen-segmen ucapan yang berupa diphone. Ucapan dalam suatu bahasa dibentuk
dari satu set bunyi yang mungkin berbeda untuk setiap bahasa, oleh karena itu
setiap bahasa harus dilengkapi dengan diphone database yang berbeda.
2.5 Teks To Speech Menggunakan Metode ‘Diphone Concatenation’
2.5 Teks To Speech Menggunakan Metode ‘Diphone Concatenation’
Diphone merupakan unit ucapan yang paling
sering digunakan sebagai unit database. Diphone diberikan untuk memperluas
titik tengah pada kondisi tetap suatu bagian bunyi dengan titik tengah bunyi
yang mengikutinya. Ini dimaksudkan agar pada perangkaian selalu diupayakan
untuk berada pada kondisi yang tetap (steady state), yang mengurangi distorsi pada
titik perangkaian. Keuntungan lainnya, diphone tidak terlalu banyak membutuhkan
formulasi pengaruh co-artikulasi sebagai suatu aturan. Secara prinsip, jumlah
diphone adalah kuadrat dari jumlah fonem beserta alofon-nya, tetapi tidak semua
kombinasi fonem dibutuhkan.
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 menghasilkan bunyi ucapan dengan tingkat kealamian (naturalness) yang
tinggi.
Struktur sistem seperti di atas pada
prinsipnya merupakan konfigurasi tipikal yang digunakan pada berbagai sistem
Text to Speech berbagai bahasa. Namun demikian, pada setiap sub-sistem terdapat
sifat-sifat serta proses-proses yang sangat spesifik dan sangat tergantung dari
bahasanya.
Sebagai contoh, saat pembentukan kata atau ucapan “berlari” yang disusun dari diphone-diphone /_b/,/be/,/er/,/rl/,/la/,/ar/,/ri/,/r_/.
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.
Sebagai contoh, saat pembentukan kata atau ucapan “berlari” yang disusun dari diphone-diphone /_b/,/be/,/er/,/rl/,/la/,/ar/,/ri/,/r_/.
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 fonem yang diterima, unit ini akan menentukan
susunan diphone yang sesuai. Selanjutnya, unit ini akan melakukan smoothing
sambungan antar diphone, melakukan manipulasi durasi pengucapan serta
manipulasi pitch.
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].
Untuk mendapatkan ucapan yang lebih alami, ucapan yang dihasilkan harus memiliki intonasi (prosody). Secara kuantisasi, prosodi adalah perubahan nilai pitch (frekuensi dasar) selama pengucapan kalimat dilakukan atau pitch sebagai fungsi waktu. Pada prakteknya, informasi pembentuk prosodi berupa data-data pitch serta durasi pengucapannya untuk setiap fonem yang dibangkitkan. Nilai-nilai yang dihasilkan diperoleh dari suatu model prosodi. Prosodi bersifat sangat spesifik untuk setiap bahasa, sehingga model yang diperlukan untuk membangkitkan data-data prosodi menjadi sangat spesifik juga untuk suatu bahasa. Beberapa model umum prosodi pernah dikembangkan, tetapi untuk digunakan pada suatu bahasa masih perlu banyak penyesuaian yang harus dilakukan.
Untuk mendapatkan ucapan yang lebih alami, ucapan yang dihasilkan harus memiliki intonasi (prosody). Secara kuantisasi, prosodi adalah perubahan nilai pitch (frekuensi dasar) selama pengucapan kalimat dilakukan atau pitch sebagai fungsi waktu. Pada prakteknya, informasi pembentuk prosodi berupa data-data pitch serta durasi pengucapannya untuk setiap fonem yang dibangkitkan. Nilai-nilai yang dihasilkan diperoleh dari suatu model prosodi. Prosodi bersifat sangat spesifik untuk setiap bahasa, sehingga model yang diperlukan untuk membangkitkan data-data prosodi menjadi sangat spesifik juga untuk suatu bahasa. Beberapa model umum prosodi pernah dikembangkan, tetapi untuk digunakan pada suatu bahasa masih perlu banyak penyesuaian yang harus dilakukan.
2.6 Alur
Aplikasi Pembaca PDF
Alur aplikasi pembaca PDF menggunakan metode
diphone concatenation adalah sebagai berikut :
1. Insert Format PDF ke program
2. Program mengeksekusi format PDF dan
merubahnya ke format TXT (untuk mengeksekusi format tulisan) dengan menggunakan
PDFBox. PDBox yaitu suatu librari di Java yang berguna buat mengkonersi file
PDF menjadi sebuat file teks.
Txt adalah format file yang terdiri dari teks
biasanya berisi format sangat sedikit (ex: tidak ada huruf tebal atau miring).
Definisi yang tepat dari format txt tidak ditentukan, tapi biasanya sesuai
dengan format yang diterima oleh sistem terminal atau editor teks sederhana.
File dengan ekstensi txt mudah dibaca atau dibuka oleh program yang membaca
teks dan dianggap universal (atau platform independen).
Proses perubahan pdf ke txt pada pdfBox
• Pada PDFBox saat proses ekstraksi file pdf
ke file txt pertama kali yaitu menjalankan class PDFStreamEngine, pada class
ini akan menganalisa format PDF dan mengambilnya untuk diproses, sehingga pada
kelas ini dokumen yang bukan berbentuk PDF akan diabaikan dan tidak dieksekusi.
• Setelah pengambilan file PDF maka PDFBox akan mendeteksi awal dan akhir halaman pada format PDF yang akan diekstraksi ke file TXT, pada pendeteksian halaman awal dan akhir format PDF terdapat 2 pilihan yaitu yang pertama menentukan sendiri halamn awal dan akhir, yang kedua secara default akan akan dibaca oleh PDFBox untuk diekstraksi.
• Setelah pengambilan file PDF maka PDFBox akan mendeteksi awal dan akhir halaman pada format PDF yang akan diekstraksi ke file TXT, pada pendeteksian halaman awal dan akhir format PDF terdapat 2 pilihan yaitu yang pertama menentukan sendiri halamn awal dan akhir, yang kedua secara default akan akan dibaca oleh PDFBox untuk diekstraksi.
Contoh : pada file PDF terdapat 5 halaman,
jika secara default maka ekstraksi akan berawal dari halaman pertama dan
berakhirpada halaman ke 5, tetapi jika halaman awal dan akhir ditentukan,
contoh halan 4 dan 5 maka halaman awal adalah 4 dan halaman akhir adalah
halaman 5.
• Mengenali pemisahan kata perkata pada
format PDF (Spasi kata perkata)
Contoh :
SAYA BERLARI PAGI ----------------> SAYA/
/BERLARI/ / PAGI
• Mengelompokkan kata-kata dalam format PDF
berdasarkan kolom, pada pengelompokan ini, pemrosesan dilakukan dari kelompok 1
dan dilanjutkan ke kelompok 2, begitu seterusnya hingga halaman akhir.
• Teks yang telah dikenali pemisahan katanya
dan dikelompokkan berdasarkan kolomnya (teks token) akan diurutkan terlebih
dahulu pada stream yaitu sebuah method yang menampung teks yang telah diproses
(teks token) sebelum dicetak atau ditulis pada format txt.
• Teks token pada stream akan diseragamkan
secara default menjadi tulisan tipis semua
Contoh :
SAYA BERLARI PAGI ------------> SAYA
BERLARI PAGI
• Setelah teks token diseragamkan, maka akan
diduplikasi dan disimpan dalam format txt.
3. Format TXT diproses dengan metode diphone
concatenation terdiri dari 2 tahap yaitu text to fonem dan fonem to speech
menggunakan MBOLA engine.
4. Mengeluarkan output dalam bentuk suara
Tidak ada komentar:
Posting Komentar