Suara yang direkomendasikan untuk Web Speech API
Repositori ini adalah bagian dari proyek yang lebih besar, yang dimaksudkan untuk mengidentifikasi praktik terbaik untuk mengimplementasikan fitur baca dengan lantang di aplikasi membaca.
Dengan ratusan suara yang tersedia secara default di berbagai browser dan OS, mungkin sulit bagi pengembang untuk menyediakan default yang masuk akal dan daftar suara yang dikurasi.
Dengan fokus pada pemilihan suara, tujuan proyek ini adalah mendokumentasikan suara berkualitas lebih tinggi yang tersedia di berbagai platform dan menyediakan cara mudah untuk menerapkan rekomendasi ini menggunakan file konfigurasi JSON.
Kasus penggunaan
- Memberikan suara default terbaik per bahasa
- Menampilkan daftar suara yang diurutkan, berdasarkan kualitas
- Menampilkan nama suara yang mudah digunakan
- Memfilter suara yang direkomendasikan berdasarkan jenis kelamin dan usia (dewasa vs anak-anak)
- Memfilter suara-suara baru dan berkualitas rendah
- Pratinjau suara dengan ucapan tes
Demo
Demo langsung berdasarkan proyek Readium Speech tersedia.
Demo ini menerapkan praktik terbaik untuk pemilihan suara dan data dari repositori ini.
Daftar bahasa yang didukung
Tujuan dari proyek ini adalah untuk mendukung 43 bahasa yang tersedia di Windows dan macOS.
Saat ini, mencakup 43 bahasa:
- Arab (Aljazair, Bahrain, Mesir, Irak, Yordania, Kuwait, Lebanon, Libya, Maroko, Oman, Qatar, Arab Saudi, Suriah, Tunisia, Uni Emirat Arab, Yaman)
- Basque
- Bengali (India dan Bangladesh)
- Bhojpuri
- Bulgaria
- Katalan
- Cina:
- Mandarin Cina (Tiongkok Daratan, Taiwan)
- Wu Cina (alias "Shanghai")
- Bahasa Cina Yue (alias "Bahasa Kanton")
- Kroasia
- Ceko
- Denmark
- Belanda (Belanda dan Belgia)
- Bahasa Inggris (Amerika Serikat, Inggris Raya, Australia, Kanada, Hong Kong, India, Irlandia, Kenya, Selandia Baru, Nigeria, Skotlandia, Singapura, Afrika Selatan, dan Tanzania)
- Finlandia
- Prancis (Prancis, Kanada, Belgia, dan Swiss)
- Galisia
- Jerman (Jerman, Austria dan Swiss)
- Orang yunani
- Ibrani
- Hindi
- Hongaria
- Indonesia
- Italia
- Jepang
- Kannada
- Korea
- Melayu
- Marathi
- Norwegia
- Persia
- Polandia
- Portugis (Portugal dan Brasil)
- Rumania
- Rusia
- bahasa Slowakia
- Slovenia
- Spanyol (Spanyol, Argentina, Bolivia, Chili, Kolombia, Kosta Rika, Kuba, Republik Dominika, Ekuador, El Salvador, Guinea Ekuatorial, Guatemala, Honduras, Meksiko, Nikaragua, Panama, Paraguay, Peru, Puerto Riko, Amerika Serikat, Uruguay, dan Venezuela)
- Swedia
- Tamil (India, Sri Lanka, Malaysia dan Singapura)
- Telugu
- Thai
- Turki
- Ukraina
- Vietnam
Daftar suara yang akan disaring
Di sisi lain spektrum, proyek ini juga mengidentifikasi sejumlah suara yang harus disaring dari komponen pemilih suara.
Beberapa di antaranya berbahaya bagi pengalaman membaca secara keseluruhan, sementara yang lain memiliki kualitas yang sangat rendah pada platform yang menyediakan opsi bawaan yang lebih baik.
- Suara baru (perangkat Apple)
- Suara berkualitas sangat rendah (perangkat Apple dan Chrome OS)
Prinsip panduan
- Setiap daftar suara diurutkan dan dimaksudkan untuk memberikan pengalaman mendengarkan yang optimal di semua browser/OS/bahasa yang dicakup oleh proyek ini.
- Namun setiap daftar juga menyertakan opsi default, untuk memastikan bahwa selalu ada sesuatu yang dapat diandalkan untuk dijadikan sandaran.
- Dengan mengingat dua tujuan ini, suara dengan kualitas lebih tinggi dicantumkan di bagian atas daftar, sedangkan suara dengan kualitas lebih rendah atau suara khusus dicantumkan di bagian bawah.
- Jumlah suara mungkin terlihat sangat banyak (110+ suara dalam bahasa Inggris saja) namun dalam praktiknya, hanya beberapa di antaranya yang akan tersedia bagi pengguna di setiap perangkat mereka.
- Nama suara yang dikembalikan oleh Web Speech API sulit digunakan, itulah alasan mengapa daftar ini menyediakan nama alternatif yang biasanya menyertakan nama depan (atau jenis kelamin) beserta wilayah yang terkait dengan suara tersebut.
- Kapan pun memungkinkan, saya akan selalu mencoba memasukkan perpaduan yang baik antara opsi berkualitas tinggi dan default untuk kedua jenis kelamin.
- Namun daftar tersebut harus diprioritaskan, karena suara perempuan saat ini berada di atas suara laki-laki. Karena gender yang terkait dengan setiap suara telah didokumentasikan, hal ini memungkinkan pelaksana untuk memprioritaskan ulang/menyaring daftar tersebut berdasarkan kriteria ini.
- Varian regional juga dikelompokkan bersama dalam satu daftar, bukan sengaja dipisahkan dalam filenya sendiri. Pada beberapa perangkat, hanya dua atau tiga suara yang tersedia dan memisahkan varian regional tidak masuk akal.
- Namun varian regional harus diprioritaskan dalam daftar. Untuk saat ini, wilayah dengan pilihan suara terbaik tercantum di atas, namun sangat disarankan bagi pelaksana untuk mempertimbangkan preferensi wilayah pengguna.
Sintaksis
Skema JSON tersedia untuk validasi atau kontributor potensial yang tertarik membuka PR untuk bahasa baru atau penambahan suara.
Label
label
diperlukan untuk setiap suara yang direkomendasikan dan memberikan label yang ramah manusia untuk setiap suara.
String ini dilokalkan untuk bahasa target dan biasanya berisi informasi berikut:
- Nama depan (jika tersedia)
- Jenis Kelamin (bila nama depan tidak ada)
- Negara/wilayah
Contoh 1: Suara Microsoft Natural
Meskipun nama-nama yang didokumentasikan oleh Microsoft karena suara aslinya mudah dimengerti, nama-nama tersebut cenderung sangat panjang dan semuanya dilokalkan dalam bahasa Inggris.
{
"label" : " Isabella (Italia) " ,
"name" : " Microsoft Isabella Online (Natural) - Italian (Italy) " ,
"language" : " it-IT "
}
Contoh 2: Suara Chrome OS
Chrome OS menyediakan sejumlah suara berkualitas tinggi melalui subsistem Android-nya, namun mereka hadir dengan beberapa nama terburuk bagi pengguna akhir.
{
"label" : " Female voice 1 (US) " ,
"name" : " Android Speech Recognition and Synthesis from Google en-us-x-tpc-network " ,
"language" : " en-US "
}
Nama
name
diperlukan untuk setiap suara yang direkomendasikan dan digunakan sebagai pengenal utama untuk suara-suara dalam proyek ini.
Sebagian besar nama stabil di seluruh browser, yang berarti untuk sebagian besar suara, satu string saja sudah cukup.
Namun sayangnya ada beberapa yang berbeda: suara Android, iOS, iPadOS, dan macOS.
Untuk suara-suara tersebut, setidaknya sebagian dari string sering kali dilokalkan, penamaan mungkin tidak konsisten di seluruh browser dan dapat berubah bergantung pada jumlah varian yang diinstal.
Oleh karena itu, setiap daftar juga dapat berisi properti berikut:
-
altNames
dengan serangkaian string alternatif untuk suara tertentu - dan
localizedName
yang mengidentifikasi pola string yang digunakan untuk melokalisasi suara-suara ini
Contoh 3: Versi alternatif dari suara bawaan Apple
{
"label" : " Samantha (US) " ,
"name" : " Samantha " ,
"localizedName" : " apple " ,
"altNames" : [
" Samantha (Enhanced) " ,
" Samantha (English (United States)) "
],
"language" : " en-US "
}
Bahasa
language
diperlukan untuk setiap suara yang direkomendasikan.
Ini berisi tag bahasa BCP 47 dengan kode bahasa dua huruf dengan huruf kecil diikuti dengan kode negara dua huruf dengan huruf besar.
Kode bahasa dan negara dipisahkan menggunakan tanda hubung (-).
Beberapa suara juga mampu menangani bahasa lain, misalnya suara Spanyol untuk Amerika Serikat mungkin juga mampu menangani bahasa Inggris.
Oleh karena itu, properti additionalLanguages
juga tersedia meskipun saat ini cukup jarang digunakan.
Ini berisi daftar bahasa yang hanya menggunakan kode dua huruf, tanpa sub-tag.
Beberapa suara baru dari Microsoft juga mampu menghasilkan keluaran multibahasa. Peralihan bahasa tidak didukung di tengah kalimat, namun keluarannya tampaknya mampu mendeteksi bahasa setiap kalimat secara otomatis dan mengadopsinya sendiri.
Untuk mendukung hal ini, output mungkin secara otomatis beralih ke suara yang berbeda dalam prosesnya.
Suara-suara ini diidentifikasi menggunakan boolean multiLingual
.
Contoh 4: Suara dengan keluaran multibahasa
{
"label" : " Emma (US) " ,
"name" : " Microsoft EmmaMultilingual Online (Natural) - English (United States) " ,
"language" : " en-US " ,
"multiLingual" : true
}
Contoh 5: Suara yang mampu menangani bahasa sekunder
{
"label" : " Sylvie (Canada) " ,
"name" : " Microsoft Sylvie Online (Natural) - French (Canada) " ,
"language" : " fr-CA " ,
"otherLanguages" : [
" en "
]
}
Suara gender dan anak-anak
gender
adalah properti opsional untuk setiap suara, yang mendokumentasikan gender yang terkait dengan setiap suara.
Nilai-nilai berikut ini didukung: female
, male
atau neutral
.
children
juga bersifat opsional dan mengidentifikasi suara anak-anak menggunakan boolean.
Contoh 6: Suara anak perempuan
{
"label" : " Ana (US) " ,
"name" : " Microsoft Ana Online (Natural) - English (United States) " ,
"language" : " en-US " ,
"gender" : " female " ,
"children" : true
}
Kualitas
quality
adalah properti opsional untuk setiap suara, yang mendokumentasikan kualitas berbagai varian suara.
Nilai-nilai berikut ini didukung:
- sangat tinggi
- Kualitas sintesis ucapan yang sangat tinggi dan hampir tidak dapat dibedakan oleh manusia
- tinggi
- Sintesis ucapan berkualitas tinggi dan mirip manusia
- normal
- Kualitas sintesis ucapan normal
- rendah
- Kualitas sintesis ucapan yang rendah dan tidak seperti manusia
- sangat rendah
- Sangat rendah, namun kualitas sintesis ucapannya masih dapat dipahami
Contoh 7: Suara Apple tersedia dalam tiga varian kualitas
{
"label" : " Ava (US) " ,
"name" : " Ava " ,
"note" : " This voice can be installed on all Apple devices and offers three variants. Like all voices that can be installed on Apple devices, it suffers from inconsistent naming due to localization. " ,
"altNames" : [
" Ava (Premium) " ,
" Ava (Enhanced) " ,
" Ava (English (United States)) " ,
],
"language" : " en-US " ,
"gender" : " female " ,
"quality" : [
" low " ,
" normal " ,
" high "
],
"rate" : 1 ,
"pitch" : 1 ,
"os" : [
" macOS " ,
" iOS " ,
" iPadOS "
]
}
OS dan peramban
os
dan browser
adalah properti opsional. Mereka digunakan untuk menunjukkan sistem operasi dan browser mana yang menyediakan suara.
Kedua properti ini dimaksudkan untuk ditafsirkan secara terpisah dan bukan sebagai kombinasi.
Contoh 8: Suara Microsoft tersedia di Edge dan Windows
{
"label" : " Denise (France) " ,
"name" : " Microsoft Denise Online (Natural) - French (France) " ,
"note" : " This voice is preloaded in Edge on desktop. In other browsers, it requires the user to run Windows 11 and install the voice pack. " ,
"language" : " fr-FR " ,
"gender" : " female " ,
"os" : [
" Windows "
],
"browser" : [
" Edge "
]
}
Selain itu, preloaded
menunjukkan jika suara tersebut telah dimuat sebelumnya di semua OS dan browser yang telah diidentifikasi.
Dengan pendekatan saat ini, tidak mungkin untuk menunjukkan bahwa suara tersedia di Chrome dan Windows, namun memerlukan pengunduhan di Windows misalnya.
Contoh 9: Suara Google dimuat di Chrome Desktop
{
"label" : " Google female voice (UK) " ,
"name" : " Google UK English Female " ,
"language" : " en-GB " ,
"gender" : " female " ,
"browser" : [
" ChromeDesktop "
],
"preloaded" : true
}
Kecepatan dan nada bicara
Saat menggunakan Web Speech API, SpeechSynthesisUtterance
mendukung nilai opsional untuk:
-
rate
untuk mengontrol kecepatan bicara - dan
pitch
untuk mengontrol nada
Setiap suara yang didokumentasikan dalam repo ini mendukung properti opsional berikut:
-
pitchControl
adalah boolean yang defaultnya adalah true
dan menunjukkan apakah suatu suara dapat dikontrol nadanya -
rate
adalah bilangan bulat antara 0,1 dan 10 yang defaultnya adalah 1 dan memberikan kecepatan bicara default yang direkomendasikan untuk setiap suara -
pitch
adalah bilangan bulat antara 0 dan 2 yang defaultnya adalah 1 dan memberikan nada default yang direkomendasikan untuk setiap suara
Contoh 10: Microsoft voice yang nadanya tidak dapat disesuaikan
{
"label" : " Ana (US) " ,
"name" : " Microsoft Ana Online (Natural) - English (United States) " ,
"language" : " en-US " ,
"gender" : " female " ,
"pitchControl" : false
}
Contoh 11: Google voice dengan tingkat nada dan kecepatan yang direkomendasikan
{
"label" : " Voix Google féminine (France) " ,
"name" : " Google français " ,
"language" : " fr-FR " ,
"gender" : " female " ,
"rate" : 1 ,
"pitch" : 0.8
}
Catatan tambahan
Melalui pekerjaan yang dilakukan untuk mendokumentasikan daftar suara yang direkomendasikan, saya juga akhirnya menguji berbagai browser/OS untuk melihat bagaimana perilakunya. Bagian ini dimaksudkan untuk merangkum beberapa informasi ini.
Label khusus juga tersedia untuk melacak masalah eksternal yang dilaporkan ke Apple, Google, Microsoft, atau Mozilla.
Umum
- Web Speech API mengembalikan kolom berikut melalui metode
getVoices()
: name
, voiceURI
, lang
, localService
dan default
. - Meskipun secara teori
voiceURI
seharusnya menjadi cara paling konsisten untuk mengidentifikasi suara, dalam praktiknya hal ini jauh dari kenyataan. Kebanyakan browser menggunakan nilai yang sama dengan name
untuk voiceURI
dan tidak menerapkan keunikan. - Seperti yang akan kita lihat di catatan untuk browser/OS tertentu,
name
juga diterapkan secara tidak konsisten dan dapat mengembalikan nilai berbeda untuk suara yang sama di perangkat yang sama. -
localService
menunjukkan apakah suatu suara tersedia untuk penggunaan offline dan tampaknya berfungsi seperti yang diharapkan, itulah sebabnya daftar suara yang direkomendasikan saat ini tidak berisi informasi tersebut. -
lang
tampaknya paling dapat diandalkan di seluruh implementasi, mengembalikan bahasa menggunakan tag bahasa BCP 47, dengan bahasa utama dalam huruf kecil dan subtag dalam huruf besar ( pt-BR
). - Sayangnya ada beberapa outlier:
- Di Android, Samsung dan Chrome menggunakan garis bawah sebagai pemisah:
en_us
(masalah terkait) - Sementara Firefox di Android menjadi lebih kreatif, menggunakan tiga kode huruf untuk bahasa dan menambahkan string tambahan di akhir:
eng-US-f000
(masalah terkait)
-
default
dimaksudkan untuk menunjukkan apakah suatu suara adalah suara default untuk bahasa aplikasi saat ini. Secara teori, hal ini seharusnya sangat berguna, namun dalam praktiknya sangat sulit digunakan karena ketidakkonsistenan di seluruh implementasi, konteks yang terbatas (default sistem vs default pengguna) dan kurangnya kemampuan untuk menyetel suara default per bahasa. - Selain penggunaan
default
, pelaksana juga harus selalu mempertimbangkan untuk menggunakan header HTTP Accept-Language
, karena header ini berisi daftar urutan bahasa/wilayah pilihan untuk pengguna tertentu.
Android
- Untuk saat ini, kami hanya membahas pengujian dan dokumentasi pada Android versi vanilla, yang tersedia di perangkat Google Pixel. Daftar suara yang tersedia mungkin sangat bervariasi berdasarkan OEM, perangkat, dan versi Android.
- Karena sifat Android, mendokumentasikan semua variasi ini akan sangat sulit. Upaya lebih lanjut akan dilakukan di versi masa depan proyek ini melalui penggunaan perangkat farm (masalah terkait).
- Di versi terbaru Android vanilla, terdapat banyak pilihan suara berkualitas tinggi yang mencakup berbagai bahasa/wilayah (67 per April 2024).
- Untuk menggunakan suara-suara ini, pengguna perlu masuk cukup jauh ke dalam pengaturan sistem untuk mengunduhnya (hanya bahasa sistem Anda dan beberapa bahasa paling populer yang dimuat secara default) atau memilih suara pilihan mereka per bahasa/wilayah.
- Sayangnya, Chrome di Android tidak menampilkan daftar suara yang tersedia bagi pengguna, melainkan menampilkan daftar bahasa/wilayah tanpa filter (masalah terkait).
- Lebih buruk lagi, semua suara dan wilayah ini dilokalisasi dengan lokal sistem.
- Hal ini berarti bahwa bahkan bahasa dan wilayah yang memerlukan instalasi paket suara akan muncul dalam daftar yang dihasilkan oleh Web Speech API (masalah terkait).
- Jika pengguna memilih bahasa/wilayah yang paket suaranya perlu diunduh, Chrome akan menggunakan suara bahasa Inggris secara default (masalah terkait).
- Bahkan ketika paket suara telah diinstal, pengguna mungkin perlu memilih suara default untuk setiap wilayah sebelum bahasa/wilayah dapat digunakan.
- Dengan pendekatan pemilihan suara yang buruk ini, Chrome di Android juga tidak menunjukkan bahasa/wilayah pilihan pengguna menggunakan
default
(masalah terkait).
Chrome Desktop
- Di desktop, Chrome sudah dimuat sebelumnya dengan 19 pilihan suara berkualitas tinggi dalam 15 bahasa.
- Semua suara ini memerlukan akses online untuk menggunakannya, tanpa perlu menggunakan varian offline dengan kualitas lebih rendah.
- Sayangnya, suara-suara ini juga diganggu oleh bug jika ucapan apa pun yang dibaca oleh Web Speech API memerlukan waktu lebih dari 14 detik (masalah terkait) dan tidak menampilkan peristiwa batas (masalah terkait).
- Dalam kondisi saat ini, suara-suara Google ini diprioritaskan lebih rendah dibandingkan suara-suara Microsoft/Apple dalam daftar suara-suara yang direkomendasikan.
- Secara keseluruhan, sangat disayangkan bahwa Chrome Desktop tertinggal jauh dibandingkan Android dan Chrome OS dalam hal rentang suara dan bahasa yang didukung secara default (masalah terkait).
Chrome OS
- Chrome OS hadir dengan empat rangkaian suara: suara Chrome OS, suara Android (50+ bahasa), suara Natural, dan suara eSpeak (38 bahasa).
- Secara default, Chrome OS mendownload suara Chrome OS untuk bahasa sistem Anda, sedangkan suara Android dan eSpeak tersedia untuk semua bahasa.
- Google juga secara bertahap menambahkan dukungan untuk suara Alami, yang pada dasarnya merupakan varian suara Android dengan kualitas lebih tinggi dengan manfaat tambahan untuk bekerja secara offline. Suara alami mengharuskan pengguna membuka pengaturan sistem untuk menginstalnya.
- Chrome OS memiliki kecenderungan yang disayangkan untuk mencopot pemasangan paket suara setiap kali pembaruan Chrome OS baru dipasang, dan hal ini sangat sering terjadi.
- Sebagian besar suara Android menawarkan varian offline dan online dan kualitasnya setara dengan apa yang ditawarkan Apple dalam hal suara yang dapat diunduh.
- Suara-suara Android ini memiliki beberapa nama terburuk di platform/browser mana pun, sehingga sulit digunakan tanpa pelabelan ulang yang ditawarkan oleh proyek ini.
- Suara Android juga mengalami masalah latensi dan/atau ketersediaan. Dalam beberapa kasus, mungkin diperlukan waktu hingga satu menit agar ucapan pertama dibacakan.
- Suara Chrome berada satu langkah di bawah suara Android, tetapi mereka menawarkan pilihan yang layak untuk bahasa yang paling umum.
- Suara eSpeak harus dihindari dengan cara apa pun karena kualitasnya yang sangat rendah dan telah didokumentasikan secara terpisah untuk menyaringnya.
Tepian
- Di desktop, Edge menyediakan pilihan suara berkualitas tinggi terbaik dengan lebih dari 250 suara yang dimuat sebelumnya dalam 75 bahasa (per April 2024).
- Semua suara yang disebut "alami" ini mengandalkan Machine Learning (ML) dan oleh karena itu memerlukan akses online untuk menggunakannya.
- Sejumlah kecil dari suara-suara tersebut juga bersifat multibahasa dan tampaknya mampu mendeteksi bahasa suatu kalimat dan beradaptasi sesuai dengan itu. Sayangnya, hal ini tidak berfungsi dengan baik bila ada peralihan bahasa di tengah kalimat.
- Setidaknya di macOS, ada bug aneh di mana Edge awalnya hanya menampilkan 18 suara alami, tetapi ini meluas hingga 250+ setelah Web Speech API digunakan untuk mengeluarkan ucapan.
- Ada juga masalah tambahan yang harus diperhatikan oleh pelaksana saat menggunakan suara ini: suara tersebut tidak mendukung penyesuaian nada (masalah terkait) dan sejumlah karakter harus di-escape untuk menghindari masalah pemutaran (masalah terkait).
- Di perangkat seluler, Edge tidak begitu menarik:
- Ini benar-benar tidak dapat digunakan di Android karena mengembalikan daftar suara kosong, sehingga tidak mungkin digunakan dengan Web Speech API (masalah terkait).
- Di iOS/iPadOS, semua browser saat ini terpaksa menggunakan Safari sebagai mesinnya, yang berarti Edge berperilaku persis seperti Safari Mobile.
Firefox
- Di desktop, Firefox tampak cukup mudah dalam hal pemilihan suara.
- Tidak seperti Chrome dan Edge, Firefox tidak hadir dengan suara bawaannya sendiri.
- Firefox memiliki pendekatan berbeda untuk
voiceURI
di mana setiap suara benar-benar diidentifikasi oleh URN unik. - Karena ini unik untuk Firefox, file JSON saat ini belum mendokumentasikan URI ini, namun ini mungkin merupakan tambahan di masa mendatang.
- Di macOS, Firefox memerlukan reboot sistem secara penuh agar suara baru dapat muncul di daftar.
iOS dan iPadOS
- Kedua OS hadir dengan rangkaian suara bawaan dan suara yang dapat diunduh yang sama dibandingkan macOS. Baca bagian macOS di bawah untuk informasi tambahan mengenai suara yang tersedia.
- Untuk alasan yang tidak diketahui, beberapa suara yang dimuat sebelumnya juga dicantumkan dua kali tetapi memberikan keluaran audio yang sama.
- Semua browser harus berjalan pada tampilan web sistem yang berarti browser tersebut hanyalah shell di atas Safari Mobile dan bukan browser yang benar-benar berbeda.
- Situasi ini dapat berubah karena Undang-Undang Pasar Digital di Eropa yang memaksa Apple untuk mengubah kebijakannya mengenai browser dan tampilan web pihak ketiga.
macOS
- macOS menyediakan daftar lengkap suara dalam 45 bahasa, baik yang dimuat sebelumnya maupun dapat diunduh.
- Suara-suara ini dapat memiliki hingga tiga varian berbeda, berdasarkan kualitas keluaran (dan ukuran unduhan).
- Suara dengan kualitas tertinggi mungkin tersedia untuk Siri, namun sayangnya tidak tersedia melalui Web Speech API (masalah terkait).
- Di sisi lain, Apple mempunyai ide yang disayangkan untuk memuat terlebih dahulu sejumlah besar suara berkualitas rendah dan aneh seperti paket suara Eloquence (8 suara) dan Efek (15 suara).
- Keberadaan suara-suara ini saja merupakan alasan bagus untuk memfilter suara-suara yang tersedia untuk pengguna macOS dan menyorot suara-suara yang direkomendasikan di repo ini.
- Tidak seperti platform/OS lainnya, macOS memutuskan untuk melokalkan nama suara. Hal ini tidak akan menjadi masalah jika
voiceURI
dapat digunakan sebagai pengidentifikasi suara yang andal, namun bukan itu masalahnya (masalah terkait). - Dalam kondisi saat ini, repo ini hanya mendokumentasikan pelokalan untuk bahasa yang didukung secara resmi dan bukan 45 bahasa yang didukung oleh mesin macOS TTS.
Safari
- Baik atau buruk, perilaku Safari sebagian besar konsisten antara versi desktop dan selulernya.
- Suara yang dapat diunduh tidak muncul dalam daftar yang dikembalikan oleh Web Speech API (masalah terkait).
- Lebih buruk lagi, saat memasang varian suara bawaan dengan kualitas lebih tinggi, suara-suara tersebut hilang di Safari, yang berarti seluruh bahasa bisa hilang sepenuhnya.
- Semua suara kembali
true
sebagai default
di Safari, sehingga tidak mungkin untuk mendeteksi dan memilih default sistem/pengguna (masalah terkait).
jendela
- Microsoft menyediakan halaman yang sangat membantu, mencantumkan semua suara yang tersedia di Windows 10 dan 11 dengan total 98 suara dalam 36 bahasa.
- Suara alami memberikan pengalaman yang jauh lebih baik tetapi memerlukan versi Windows 11 terbaru dan perlu diunduh (dengan keuntungan tambahan karena suara tersebut juga berfungsi offline).
- Microsoft lambat dalam menambahkan suara alami ini ke Windows 11 secara keseluruhan. Hingga saat ini, hanya suara AS (3 suara) yang tersedia. Daftarnya sekarang sedikit lebih panjang (23 suara dalam 8 bahasa) namun masih tertinggal jauh dari apa yang mereka tawarkan melalui Edge (250+ suara dalam 75 bahasa).
- Sayangnya, suara-suara berkualitas tinggi ini tidak terdaftar dengan benar di Chrome atau Firefox saat ini (masalah terkait). Mereka hanya muncul di Edge, di mana mereka sudah dimuat sebelumnya tetapi hanya untuk penggunaan online.