Bagaimana saya bisa mengubah suara yang digunakan oleh Firefox Reader View (Narrator) di Ubuntu?

13

** cara mengubah suara tampilan pembaca firefox di ubuntu **

Suara default serta semua suara alternatif sangat sulit dipahami.

Saya tidak dapat menemukan dokumentasi tentang bagaimana fitur ini dihubungkan.

VJ Ranga
sumber

Jawaban:

11

Saya berhasil menggunakan festivalsuara sebagai default di Firefox .

masukkan deskripsi gambar di sini

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-dispatchermenggunakan perintah spd-say:

spd-say "Hello. How are you?"

Aktif Ubuntu, suara Texto To Speech (TTS) default yang disertakan speech-dispatcheradalah espeak . Jadi kita mendengar suara yang sama persis ketika kita menggunakan perintah lain ini:

espeak "Hello. How are you?"

Itu terjadi karena spd-sayhanya menggunakan espeaksuara sebagai output. Dan yah, Firefox melakukan hal yang sama, ia menggunakan suara apa pun yang dikonfigurasikan speech-dispatchersebagai 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-sayperintah dan, begitu kita melakukannya, Firefox akan menggunakan yang berbeda TTS voicesebagai default juga. Saya akan menjelaskan proses membuatnya bekerja dengan festivalsuara, 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.confdi 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:

  1. Batalkan komentar pada garis AddModule "festival" "sd_festival" "festival.conf"
  2. Tambahkan baris DefaultModule festival

Kita perlu menjalankan festivalsebagai server untuk menjadikannya speech-dispatchersebagai 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-sayakan menggunakan festivalsuara sebagai output.


informasi tambahan

Saya percaya bahwa prosedur untuk membuat suara baru bekerja Firefoxakan selalu sama:

  1. Hapus komentar modul suara TTS baru yang kami pasang ( /etc/speech-dispatcher/speechd.conf).

  2. Tetapkan baris default baru untuk suara TTS yang kita inginkan ( /etc/speech-dispatcher/speechd.conf).

  3. 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.confini 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 modedi Firefox . Meskipun saya tidak tahu bagaimana melakukannya sekarang, sepertinya ini kemungkinan yang menarik.

Rafael Muynarsk
sumber
6

Suara-suara yang digunakan oleh fungsi narate dari mode pembaca firefox tergantung pada platform Anda menjalankannya. Di Linux, firefox akan digunakan speech-dispatcheruntuk 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-ngatau 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.confdi linux.

Beberapa pengaturan tersedia melalui about:configdialog jika Anda mencari "narate":

masukkan deskripsi gambar di sini

Saya bereksperimen sedikit dengan pengaturan yang berbeda di keduanya, about:configdan 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.

Sebastian Stark
sumber
1

Terima kasih kepada Rafael Muynarsk untuk menjawab karena telah menendang saya. Inilah yang saya lakukan

Instal Ketergantungan

apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
  • festvox-{rablpc16k,kallpc16k,kdlpc16k} adalah bahasa suara untuk bahasa Inggris
  • sox, tanpa itu hanya sebagian teks yang dibaca

Edit konfigurasi

sudo vim /etc/speech-dispatcher/speechd.conf

Nonaktifkan espeakkonfigurasi terkait dan aktifkan festivalsatu

#AddModule "espeak-ng"    "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival"     "sd_festival"  "festival.conf"

#DefaultModule espeak-ng
DefaultModule festival

Mulai festivalserver

Tanpanya, saya hanya mendapatkan beberapa sinonim.

/usr/bin/festival --server

Mulai ulang Firefox

Lalu buka mode tampilan pembaca dan coba.

Édouard Lopez
sumber