Jawaban:
Saya berhasil menggunakan festival
suara sebagai default di Firefox .
Untuk melakukan itu, kita perlu mengubah beberapa konfigurasi pada file /etc/speech-dispatcher/speechd.conf
. Tapi pertama-tama, saya perlu menjelaskan ide dasar tentang cara kerjanya. Kita selalu dapat melihat suara apa yang digunakan sebagai standar dengan speech-dispatcher
menggunakan perintah spd-say
:
spd-say "Hello. How are you?"
Aktif Ubuntu
, suara Texto To Speech (TTS) default yang disertakan speech-dispatcher
adalah espeak . Jadi kita mendengar suara yang sama persis ketika kita menggunakan perintah lain ini:
espeak "Hello. How are you?"
Itu terjadi karena spd-say
hanya menggunakan espeak
suara sebagai output. Dan yah, Firefox melakukan hal yang sama, ia menggunakan suara apa pun yang dikonfigurasikan speech-dispatcher
sebagai output untuk membaca halaman web dalam mode tampilan pembaca ( Ctrl+Alt+R
).
Jadi, apa yang perlu kita lakukan di sini adalah untuk mengubah suara yang datang sebagai output dalam spd-say
perintah dan, begitu kita melakukannya, Firefox akan menggunakan yang berbeda TTS voice
sebagai default juga. Saya akan menjelaskan proses membuatnya bekerja dengan festival
suara, tapi saya percaya prosedurnya sama jika Anda ingin menjalankan yang berbeda TTS voice
. Pertama, kita perlu menginstal festival :
sudo apt-get install festival
Kami dapat menguji suaranya di baris perintah dengan mengetik:
echo "Hello. How are you?" | festival --tts
Sekarang kita perlu mengubah file speechd.conf
. Jadi kita mengetik sudo vi /etc/speech-dispatcher/speechd.conf
di terminal dan sekitar baris 205 kita akan melihat bagian konfigurasi yang dikomentari berikut:
#AddModule "espeak" "sd_espeak" "espeak.conf"
AddModule "festival" "sd_festival" "festival.conf"
#AddModule "flite" "sd_flite" "flite.conf"
#AddModule "ivona" "sd_ivona" "ivona.conf"
#AddModule "pico" "sd_pico" "pico.conf"
#AddModule "espeak-generic" "sd_generic" "espeak-generic.conf"
#AddModule "espeak-mbrola-generic" "sd_generic" "espeak-mbrola-generic.conf"
#AddModule "swift-generic" "sd_generic" "swift-generic.conf"
#AddModule "epos-generic" "sd_generic" "epos-generic.conf"
#AddModule "dtk-generic" "sd_generic" "dtk-generic.conf"
#AddModule "pico-generic" "sd_generic" "pico-generic.conf"
#AddModule "ibmtts" "sd_ibmtts" "ibmtts.conf"
#AddModule "cicero" "sd_cicero" "cicero.conf"
# DO NOT REMOVE the following line unless you have
# a specific reason -- this is the fallback output module
# that is only used when no other modules are in use
#AddModule "dummy" "sd_dummy" ""
# The output module testing doesn't actually connect to anything. It
# outputs the requested commands to standard output and reads
# responses from stdandard input. This way, Speech Dispatcher's
# communication with output modules can be tested easily.
# AddModule "testing"
# The DefaultModule selects which output module is the default. You
# must use one of the names of the modules loaded with AddModule.
#DefaultModule espeak
DefaultModule festival
Ini perlu untuk membuat dua perubahan di sini:
AddModule "festival" "sd_festival" "festival.conf"
DefaultModule festival
Kita perlu menjalankan festival
sebagai server untuk menjadikannya speech-dispatcher
sebagai default. Kita bisa melakukannya dengan menambahkan baris berikut di akhir file yang terbuka ketika kita menggunakan perintah sudo crontab -e
:
@reboot /usr/bin/festival --server
Sekarang sudah selesai !! Setelah reboot sistem Firefox dan spd-say
akan menggunakan festival
suara sebagai output.
Saya percaya bahwa prosedur untuk membuat suara baru bekerja Firefox
akan selalu sama:
Hapus komentar modul suara TTS baru yang kami pasang ( /etc/speech-dispatcher/speechd.conf
).
Tetapkan baris default baru untuk suara TTS yang kita inginkan ( /etc/speech-dispatcher/speechd.conf
).
Jalankan server pada port yang ditentukan pada file di dalam folder /etc/speech-dispatcher/modules/
.
Yang menarik perhatian saya adalah ada modul untuk suara-suara Ivona di sana. Ivona adalah produk eksklusif dan hari ini satu-satunya cara untuk menggunakannya (sejauh yang saya tahu) adalah sebagai layanan pay-as-you-go on AWS
, tapi suara yang benar-benar baik dan mereka terdengar sangat alami.
File /etc/speech-dispatcher/modules/ivona.conf
ini dikonfigurasi untuk mendengarkan server di port 9123. Saya pikir mungkin ada cara untuk menjalankan server lokal yang mendapatkan suara Ivona menggunakan AWS APIs
(saya tidak yakin, tapi mungkin menggunakan bagian dari aplikasi Node.js ini itu sudah dikembangkan) ... Dan jika itu mungkin, itu berarti juga dimungkinkan untuk menjalankan Ivona di Ubuntu sebagai suara default sistem dan akibatnya menggunakannya dengan reader view mode
di Firefox . Meskipun saya tidak tahu bagaimana melakukannya sekarang, sepertinya ini kemungkinan yang menarik.
Suara-suara yang digunakan oleh fungsi narate dari mode pembaca firefox tergantung pada platform Anda menjalankannya. Di Linux, firefox akan digunakan speech-dispatcher
untuk merender teks menjadi ucapan buatan.
Jadi, apa pun yang Anda konfigurasikan di pengaturan speech-dispatcher Anda ( /etc/speech-dispatcher/speechd.conf
) harus diambil dan digunakan oleh firefox. Ada berbagai mesin dan suara yang tersedia untuk speech-dispatcher, beberapa di antaranya dapat diinstal melalui paket Ubuntu, misalnya speech-dispatcher-espeak-ng
atau speech-dispatcher-festival
.
Ada dukungan terbatas untuk memilih suara / bahasa dari dalam GUI pembaca firefox, tetapi sebagian besar pengaturan harus dibuat di sisi OS, yaitu speechd.conf
di linux.
Beberapa pengaturan tersedia melalui about:config
dialog jika Anda mencari "narate":
Saya bereksperimen sedikit dengan pengaturan yang berbeda di keduanya, about:config
dan speechd.conf
, tetapi tidak bisa mendapatkan apa pun untuk bekerja tetapi default yang datang dengan Ubuntu. Perasaan yang saya dapatkan adalah bahwa antarmuka antara firefox dan speech-dispatcher tidak terlalu stabil, tapi mungkin Anda lebih beruntung bereksperimen.
Orang ini: https://bbs.archlinux.org/viewtopic.php?id=217411 tampaknya lebih sukses di Archlinux mengonfigurasi hal-hal untuk menggunakan festival sebagai hasil. Saya mencoba mereproduksi ini di Ubuntu 18.04 tetapi tidak pernah bisa menjalankan firefox dengannya.
Terima kasih kepada Rafael Muynarsk untuk menjawab karena telah menendang saya. Inilah yang saya lakukan
apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
festvox-{rablpc16k,kallpc16k,kdlpc16k}
adalah bahasa suara untuk bahasa Inggrissox
, tanpa itu hanya sebagian teks yang dibacasudo vim /etc/speech-dispatcher/speechd.conf
Nonaktifkan espeak
konfigurasi terkait dan aktifkan festival
satu
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
festival
serverTanpanya, saya hanya mendapatkan beberapa sinonim.
/usr/bin/festival --server
Lalu buka mode tampilan pembaca dan coba.