Bagaimana Cara Kerja Text to Speech? Dari Ejaan ke Suara
Summary
Bagaimana cara kerja text to speech? Perangkat lunak lebih dulu menormalkan teks dengan mengubah angka dan singkatan menjadi kata. Tahap pengucapan memetakan kata ke fonem, lalu model prosodi memperkirakan nada, durasi, dan penekanan. Vocoder neural kemudian mengubah rencana itu menjadi gelombang audio. Kegagalan biasanya berasal dari tahap awal, seperti nama atau angka, bukan dari suaranya sendiri.
Bagaimana cara kerja text to speech? Dalam tiga langkah. Pertama, perangkat lunak membersihkan teks Anda dan memutuskan bagaimana setiap kata harus diucapkan. Kedua, sebuah model neural memperkirakan ritme, nada, dan waktu kalimat sebagai spektrogram. Ketiga, vocoder mengubah spektrogram itu menjadi gelombang audio yang bisa didengar. Seluruh rangkaian ini berjalan dalam beberapa detik untuk artikel 1,000 kata, itulah sebabnya Anda bisa menempelkan tautan lalu menekan putar.
Apa yang sebenarnya terjadi antara halaman dan telinga Anda?
Bayangkan sebuah estafet dengan empat pelari. Teks masuk. Teks yang sudah dinormalisasi diserahkan ke tahap pengucapan. Pengucapan diserahkan ke tahap prosodi. Prosodi diserahkan ke pembuat gelombang. Audio keluar.
Setiap mesin modern, dari suara di menu aksesibilitas ponsel Anda sampai narator di dalam aplikasi baca, mengikuti versi estafet ini. Beberapa sistem baru menggabungkan dua atau tiga pelari ke dalam satu jaringan, tetapi tugasnya tetap ada. Hanya saja dikerjakan di dalam satu model.
MASUKAN → "Dr. Voss membayar $4.50 pada 5/21."
TAHAP 1 → "Dokter Voss membayar empat dolar lima puluh sen pada dua puluh satu Mei."
TAHAP 2 → /ˈdɑːktɚ vɔs .../
TAHAP 3 → nada, durasi, energi untuk setiap fonem
TAHAP 4 → gelombang, 22,050 sampai 48,000 sampel per detikItulah seluruh triknya. Sisa tulisan ini membahas apa yang dikerjakan setiap pelari, di mana masing-masing gagal, dan apa yang bisa Anda dengar ketika itu terjadi.
Mengapa langkah pertama, normalisasi teks, begitu penting?
Karena teks tertulis belum tentu bisa diucapkan. Sebuah halaman penuh angka, tanggal, singkatan, simbol mata uang, URL, penanda catatan kaki, dan emoji. Tidak satu pun dari itu punya cara baca yang jelas.
Normalisasi teks memperluas semuanya. "5/21/24" menjadi "dua puluh satu Mei, dua ribu dua puluh empat". "$4.50" menjadi "empat dolar lima puluh sen". "St." menjadi "Street" atau "Saint", tergantung kata di sekitarnya. Mesin lama melakukan ini dengan aturan yang ditulis tangan. Mesin yang lebih baru mencampur aturan dengan model kecil yang dipelajari untuk kasus yang ambigu.
Di sinilah artikel sering keliru dengan cara yang langsung terasa. Nama produk seperti "iPhone 15 Pro Max" yang dibaca "lima belas" dibandingkan "satu lima" mengubah makna kalimat. Kutipan seperti "[12]" yang dibacakan di tengah paragraf memutus alur pikiran. Alat article-to-audio yang baik menghapus penanda catatan kaki, melewati teks navigasi, dan memutuskan apa yang dilakukan dengan tabel sebelum suara mulai berbicara.
Pada bacaan panjang, perbedaannya terdengar dalam menit pertama. Jika narator tersandung pada sebuah angka, yang gagal adalah tahap depannya, bukan suaranya.

Bagaimana sistem tahu cara melafalkan setiap kata?
Ejaan bahasa Inggris adalah panduan yang buruk untuk bunyi. "Though", "through", "tough", dan "thought" berbagi hampir semua hurufnya, tetapi hampir tidak ada bunyi yang sama. Maka mesin membutuhkan tahap pengucapan, yang biasanya disebut konversi grafem ke fonem, atau G2P.
Fonem adalah unit bunyi terkecil yang membedakan satu kata dari kata lain. Bahasa Inggris memakai sekitar 40 fonem. Langkah G2P memetakan huruf ke fonem dengan dua cara. Kamus pengucapan menangani kata umum dan pengecualian yang sudah dikenal. Model yang dipelajari menebak sisanya, misalnya nama keluarga yang belum pernah dilihatnya.
Lalu muncul bagian yang sulit, yaitu homograf. "Read" dalam "I read it yesterday" dan "I read every morning" menulis ejaan yang sama, tetapi bunyinya berbeda. "Bass" sebagai ikan dan "bass" sebagai alat musik juga begitu. Model harus melihat kalimat di sekitar kata itu, itulah sebabnya mesin modern memakai jaringan yang sadar konteks, bukan pencarian sederhana.
Bagian yang masih gagal:
Nama diri, terutama nama non-Inggris, dalam artikel yang sebagian besar berbahasa Inggris.
Istilah teknis dan akronim, ketika "SQL" bisa terbaca sebagai "sequel" atau "S-Q-L".
Nama merek yang sengaja melanggar aturan ejaan.
Sebagian besar mesin memungkinkan Anda menambahkan pengucapan khusus. Sedikit pembaca yang pernah melakukannya. Jika satu kata terus membuat narator tersandung, pengaturan itu layak dicari.
Dari mana ritme dan intonasi berasal?
Tahap inilah yang membedakan suara datar dari suara yang bisa Anda dengarkan selama empat puluh menit. Disebut prosodi: tekanan, tempo, jeda, dan gerak nada di sepanjang kalimat.
Manusia melakukannya tanpa berpikir. Kita menaikkan nada di akhir pertanyaan, melambat sebelum koma, dan menekan kata yang membawa inti pesan. Model TTS harus memperkirakan semua itu hanya dari teks. Untuk setiap fonem, ia memperkirakan tiga angka: berapa lama bunyi itu berlangsung, seberapa tinggi nadanya, dan seberapa besar energinya. Ia memakai kata-kata di sekitarnya, tanda baca, dan posisi setiap bunyi dalam suku kata, kata, serta frasa.
Tanda baca adalah sinyal terkuat yang diterima model. Koma memberi jeda pendek, titik memberi jeda lebih panjang, dan pergantian paragraf memberi jeda yang lebih panjang lagi. Itu sebabnya artikel yang diformat buruk, tanpa pergantian paragraf atau dengan kutipan bersarang yang berantakan, terdengar terburu-buru, meskipun dibacakan dengan suara yang bagus.
Ada satu angka yang layak diingat. Narator tipikal berbicara sekitar 150 kata per menit. Esai 3,000 kata karena itu kira-kira 20 menit audio. Kebanyakan aplikasi memungkinkan pemutaran 1.5x atau 2x, yang membuat esai yang sama menjadi 13 atau 10 menit. Kualitas prosodi menentukan apakah 1.5x tetap nyaman didengar atau berubah menjadi gumaman.
Apa itu vocoder, dan mengapa Anda membutuhkannya?
Setelah perencanaan prosodi, model punya rencana tetapi belum ada suara. Dalam kebanyakan sistem neural, rencana itu berbentuk mel-spektrogram: gambaran bagaimana energi tersebar di berbagai frekuensi dari waktu ke waktu, biasanya pada sekitar 80 frame per detik.
Spektrogram bukan audio. Ia membuang detail fase halus yang membuat gelombang menjadi gelombang. Maka model kedua, vocoder, harus merekonstruksi gelombang yang cocok dengannya. Artinya menghasilkan puluhan ribu sampel audio setiap detik, masing-masing berupa angka yang menggambarkan tekanan udara pada saat itu.
WaveNet, yang dipublikasikan DeepMind pada 2016, adalah model yang membuat vocoder neural terkenal. Ia menghasilkan audio mentah satu sampel demi satu dan terdengar jauh lebih alami daripada apa pun sebelumnya. Namun ia lambat. Vocoder berikutnya seperti HiFi-GAN menghasilkan audio secara paralel dan berjalan jauh lebih cepat daripada waktu nyata, yang membuat pemutaran instan di ponsel menjadi mungkin.
Beberapa sistem melewati langkah tengah. VITS, yang dijelaskan dalam makalah 2021 ini, melatih satu jaringan untuk langsung dari fonem ke gelombang. Lebih sedikit serah terima berarti lebih sedikit tempat bagi kesalahan untuk menumpuk.
Bagaimana kita sampai di sini dari mainan bicara tahun 1980-an?
Sintesis suara tidak dimulai dengan jaringan neural. Ia melewati tiga era, dan sisa dari dua era pertama masih bisa Anda dengar di pembaca layar yang lebih lama.

Sintesis formant dan berbasis aturan. Para insinyur memodelkan saluran suara dengan filter dan menyetel parameternya dengan tangan. Suaranya bisa dipahami, tetapi jelas mekanis. Inilah suara mainan bicara awal dan generasi pertama pembaca layar. Banyak pengguna tunanetra masih menyimpan satu di ponsel pada kecepatan tinggi, karena ia cepat, dapat diprediksi, dan tidak pernah berubah antar rilis.
Sintesis konkatenatif atau unit-selection. Alih-alih memodelkan suara, rekam seorang pembicara manusia selama puluhan jam, potong audionya menjadi unit-unit kecil, lalu sambungkan unit yang tepat saat dijalankan. Hasilnya jauh lebih manusiawi, tetapi sambungannya masih terdengar. Sambungan itu terasa pada kata-kata yang tidak biasa, dan sebuah suara tidak bisa mengubah gaya bicaranya tanpa sesi rekaman baru.
Sintesis neural. Pendekatan hari ini. Model mempelajari seluruh pemetaan dari kumpulan rekaman besar dan menghasilkan audio, alih-alih menyambung potongan. Gaya, kecepatan, dan emosi menjadi bisa dikendalikan. Mengkloning suara dari sampel pendek pun menjadi mungkin. Dan sambungannya sebagian besar hilang.
Satu catatan jujur. Suara neural tidak sempurna. Mereka bisa berhalusinasi sebuah kata, menjatuhkan suku kata, atau meratakan kalimat yang seharusnya mendapat penekanan. Kegagalannya lebih jarang dan lebih aneh dibanding sistem lama, tetapi tetap ada. Untuk dokumen panjang, suara yang sedikit lebih datar tetapi tidak pernah tersendat lebih baik daripada suara yang indah tetapi tersandung di setiap kalimat kelima puluh.
Alat TTS mana yang menunjukkan tahap-tahap ini dalam praktik?
Produk yang berbeda mengambil taruhan yang berbeda pada estafet itu. Berikut beberapa yang layak diketahui, dengan penilaian jujur untuk masing-masing.
Speechify mengandalkan kematangan aplikasi dan pustaka suara yang besar. Kuat di ponsel, dengan impor dari banyak sumber. Jika Anda menginginkan rangkaian integrasi terluas, mulailah dari sini.
NaturalReader adalah nama yang lebih sederhana dan lebih lama di bidang ini. Stabil untuk dokumen dan PDF, dan pilihan yang masuk akal ketika masukan Anda berupa file, bukan artikel web.
ElevenLabs berada di ujung lain. Ini pada dasarnya platform pembuatan suara, dengan prosodi dan kloning yang kuat, dan dibangun untuk menghasilkan audio yang Anda terbitkan, bukan untuk mengantre bacaan.
Voice Dream Reader adalah yang sudah dikenal banyak pembaca dengan low vision. Ia memungkinkan Anda mengganti mesin suara di bawahnya, menyetel pengucapan, dan mengatur kecepatan dalam langkah halus, sehingga pipeline di atas bisa Anda sesuaikan.
Abaikan gagasan bahwa salah satu dari mereka memiliki "suara terbaik". Yang berbeda adalah tahap depannya: cara mereka membersihkan artikel, apa yang mereka lakukan dengan tabel, dan bagaimana mereka menangani esai 5,000 kata dengan kutipan bersarang. Di situlah alur baca berhasil atau diam-diam gagal.

Apa artinya ini untuk cara Anda mendengarkan?
Memahami estafet ini memberi Anda tiga langkah praktis.
Bersihkan masukan. Hapus iklan, banner cookie, dan kekacauan catatan kaki sebelum mengirim artikel ke audio. Mode baca membantu. Tahap depan hanya bisa memperbaiki sejauh itu.
Sesuaikan kecepatan dengan prosodi. Jika sebuah suara terdengar bagus pada 1.0x tetapi pecah pada 1.5x, model durasinya adalah titik lemahnya. Coba suara lain sebelum menyerah pada kecepatan.
Perbaiki kesalahan yang berulang. Jika sebuah nama atau akronim terus keliru, tambahkan pengucapan khusus sekali saja, daripada menanggungnya selama berbulan-bulan.
Juga, uji dengan artikel terburuk Anda, bukan yang terbaik. Posting blog 800 kata yang bersih tidak membuktikan apa pun. Artikel padat 4,000 kata dengan angka, kutipan, dan tabel adalah ujian yang sebenarnya.
Sebelum perjalanan berikutnya, antrekan satu bacaan panjang dan satu yang pendek. Dengarkan dua menit pertama masing-masing pada kecepatan normal, lalu pada 1.5x. Anda akan mendengar tahap-tahap yang baru saja dibahas, dan Anda akan tahu estafet mana yang menjatuhkan tongkatnya.