Lewati ke konten
Yappy Unduh
Bahasa: id

bagian yang tak ditunjukkan siapa pun

Dari tulisan ke ucapan.

Membaca nyaring bukan mengeja: ini soal menafsir. “1492” dibaca “seribu empat ratus sembilan puluh dua”; “Henry VIII” dibaca “Henry kedelapan”, tetapi “Louis XIV” dalam bahasa Prancis dibaca “Louis quatorze”; “EL CID” bukan angka Romawi; FBI dieja huruf demi huruf, NASA tidak. Sebelum satu suku kata pun disintesis, Yappy mengubah teks menjadi naskah baca: partitur atas apa yang benar-benar akan diucapkan.

Pembuat naskah

Cobalah di sini saja: ini Rust yang sama dengan di aplikasi, dikompilasi untuk browser kamu.

Naskah akan muncul di sini, bagian yang diubah diberi garis bawah.

Dua belas keahlian dalam sekali jalan.

Tanggal

“24/5/1533” dibaca utuh, mengikuti urutan dan bentuk kata khas tiap bahasa.

Jam

“14:05” dibaca seperti orang mengatakannya, bukan seperti cara jam membacanya.

Mata uang

“3,50 €” diucapkan “tiga koma lima puluh euro”, dengan bentuk jamak yang semestinya.

Persentase

"7%" dibaca "tujuh persen", dan "0,5%" tidak diubah menjadi "nol koma lima".

Satuan

"230 °C" dibaca "dua ratus tiga puluh derajat Celsius".

Bilangan ordinal

"3.ª" dibaca "tercera", dengan gender dan deklinasinya di bahasa yang memilikinya.

Angka Romawi dengan akal sehat

"Abad XX" dibaca sebagai bilangan kardinal, "Enrique VIII" sebagai bilangan ordinal, dan "EL CID" bukan angka.

Akronim berdasarkan fonotaktik

FBI dieja huruf demi huruf; NASA dibaca sebagai kata. Aturannya ditentukan oleh bunyi, bukan oleh daftar.

Singkatan

"dll.", "hlm.", "abd. ke-19": setiap bahasa punya tabelnya sendiri.

Angka besar

Memakai tata bahasa RBNF dari Unicode CLDR, lengkap dengan gender dan deklinasinya.

31 bahasa

Aturannya sama, tata bahasanya mengikuti tiap bahasa. Tanpa daftar yang ditulis manual.

Irama

Judul mengambil napas setelah diucapkan; daftar menandai ketukannya sendiri. Jeda adalah bagian dari naskah, bukan kebetulan.

Pertanyaan yang sering diajukan

Apa itu tata bahasa RBNF?
RBNF adalah singkatan dari Rule-Based Number Format: aturan yang dipakai Unicode CLDR untuk menjelaskan cara membacakan angka di tiap bahasa. Ini bukan tabel seribu kata, melainkan tata bahasa: karena itu ia tahu bahwa bahasa Spanyol berkata "doscientas páginas" dan bukan "doscientos páginas", bahwa bahasa Rusia mendeklinasikan kata bilangannya, dan bahwa bahasa Prancis menghitung sampai sembilan puluh dengan kelipatan dua puluh. Yappy menafsirkannya dalam Rust murni, tanpa daftar yang ditulis manual.
Mengapa perlu penyusun naskah? Bukankah suaranya saja bisa?
Tidak, dan itu memang disengaja. Model suara Yappy bekerja di tingkat karakter: ia mengucapkan persis teks yang diterimanya. Itu membuatnya cepat dan ringan, tetapi berarti jika yang datang "1492", ia akan mencoba membacanya begitu saja, karakter demi karakter. Pada model seperti ini, normalisasi adalah pengucapan. Penyusun naskah adalah bagian yang mengubah setiap angka, setiap akronim, dan setiap simbol menjadi kata-kata yang akan diucapkan manusia.
Berapa banyak bahasa yang didukung?
31 bahasa yang dikuasai suaranya, masing-masing dengan aturannya sendiri: urutan tanggal, kata penghubung mata uang, bilangan ordinal, singkatan, dan angka Romawi. Abad ke-15 dibaca "siglo quince" dalam bahasa Spanyol dan "fifteenth century" dalam bahasa Inggris; "Louis XIV" dibaca "Louis quatorze", bukan "Louis fourteenth". Dua belas tugas yang sama, tiga puluh satu tata bahasa.
Mengapa karaoke selalu jatuh tepat pada kata yang benar?
Karena skrip bukan sekadar teks yang sudah diubah. Skrip menyimpan peta antara yang tertulis dan yang diucapkan. Ketika suara mengucapkan "seribu empat ratus sembilan puluh dua", skrip tahu bahwa empat kata itu berasal dari empat angka pada "1492", dan garis bawah jatuh tepat di tempatnya tanpa bergeser. Itulah bedanya antara menerangi teks dan menebak-nebaknya.
Ada kata yang diucapkan salah. Bisakah saya memperbaikinya?
Sampai hari ini belum ada kamus pelafalan untuk pengguna. Karena model membaca karakter, jalan pintasnya adalah menulis kata itu sesuai bunyinya di editor, lalu mendengarkannya lagi. Dan jika yang salah adalah pola umum (singkatan, akronim, satuan), ceritakan di issue di GitHub: tabel penyusun skrip bertambah berkat kasus-kasus seperti itu.
Apakah penyusun skrip di halaman ini sama dengan yang ada di aplikasi?
Kodenya sama, dikompilasi ke WebAssembly agar bisa berjalan di browser Anda. Apa yang Anda tulis di sini tidak keluar dari tab Anda. Dan karena seluruh proyek ini terbuka, Anda bisa membaca aturannya satu per satu di repositorinya.

Naskah adalah separuh cerita; separuh lagi untuk didengar.

Dengarkan contoh suara