Як я можу змінити голос, який використовується Firefox Reader View (Narrator) в Ubuntu?


13

** як змінити голосовий переглядач Firefox в ubuntu **

Голос за замовчуванням, як і всі альтернативні голоси, дуже важко зрозуміти.

Я не можу знайти жодної документації про підключення цієї функції.

Відповіді:


11

Мені вдалося використовувати festivalголос за замовчуванням на Firefox .

введіть тут опис зображення

Для цього нам потрібно змінити деякі конфігурації у файлі /etc/speech-dispatcher/speechd.conf. Але спочатку мені потрібно пояснити основну думку про те, як це працює. Ми завжди можемо бачити, який голос є типовим, який використовується за speech-dispatcherдопомогою команди spd-say:

spd-say "Hello. How are you?"

Увімкнено Ubuntuголос Texto To Speech (TTS) за замовчуванням, який постачається разом, speech-dispatcher- це промовою . Тому ми чуємо абсолютно той самий голос, коли використовуємо цю іншу команду:

espeak "Hello. How are you?"

Це відбувається тому spd-say, що просто використовується espeakголоси як вихід. І добре, Firefox робить те саме, він використовує те, що голос налаштовано в speech-dispatcherякості виводу для читання веб-сторінок у режимі перегляду читача ( Ctrl+Alt+R).

Отже, що нам тут потрібно зробити - це змінити голос, що надходить як вихід у spd-sayкоманді, і, як тільки ми це зробимо, Firefox також буде використовувати інший TTS voiceза замовчуванням. Я збираюся описати процес змусити його працювати festivalголосом, але я вважаю, що процедура однакова, якщо ви хочете запустити іншу TTS voice. Спочатку нам потрібно встановити фестиваль :

sudo apt-get install festival

Ми можемо перевірити його голос у командному рядку, набравши:

echo "Hello. How are you?" | festival --tts

Тепер нам потрібно змінити файл speechd.conf. Тому ми набираємо sudo vi /etc/speech-dispatcher/speechd.confтермінал і навколо лінії 205, ми побачимо наступний фрагмент коментованих конфігурацій:

#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

Тут потрібно внести дві зміни:

  1. Відміняйте рядок AddModule "festival" "sd_festival" "festival.conf"
  2. Додайте рядок DefaultModule festival

Нам потрібно запустити festivalяк сервер, щоб speech-dispatcherвикористовувати його як за замовчуванням. Це можна зробити, додавши наступний рядок у кінці файлу, який відкрито, коли ми використовуємо команду sudo crontab -e:

@reboot /usr/bin/festival --server

Тепер це зроблено !! Після перезавантаження системи Firefox і spd-sayбуде використовувати festivalголос як вихід.


Додаткова інформація

Я вважаю, що процедура змушення нових голосів Firefoxзавжди буде однаковою:

  1. Відключіть модуль нового голосу TTS, який ми встановили ( /etc/speech-dispatcher/speechd.conf).

  2. Встановіть новий рядок за замовчуванням для голосу TTS, який ми хочемо ( /etc/speech-dispatcher/speechd.conf).

  3. Запустіть сервер на порту, вказаному у файлах всередині папки /etc/speech-dispatcher/modules/.

Що на мене звернуло мою увагу, що там є модуль для голосів Івони . Івона є власником продукту, і сьогодні єдиний спосіб використовувати його (наскільки я знаю) - це послуга з оплатоюAWS , але голоси справді хороші, і вони звучать дуже природно.

Файл /etc/speech-dispatcher/modules/ivona.confналаштований на прослуховування сервера на порту 9123. Я думаю, можливо, є спосіб запустити локальний сервер, який отримує голоси Івони за допомогою мого AWS APIs(я не впевнений, але, можливо, використовуючи частину цього додатка Node.js що вже розроблені) ... і якщо це можливо, то це означає , що це також можна запустити Ivona на Ubuntu , як голос за замовчуванням системи і , отже , використовувати його з reader view modeна Firefox . Хоча зараз я не знаю, як це зробити, це виглядає як цікава можливість.


6

Голоси, які використовує функція нарації в режимі зчитування Firefox, залежать від платформи, на якій ви запускаєте її. У Linux, firefox використовуватиме speech-dispatcherдля відтворення тексту до штучної мови.

Отже, все, що ви налаштували в налаштуваннях свого диспетчера ( /etc/speech-dispatcher/speechd.conf), повинне підбирати та використовувати Firefox. Для мовного диспетчера доступні різні двигуни та голоси, деякі з яких можна встановити через пакети Ubuntu, наприклад, speech-dispatcher-espeak-ngабо speech-dispatcher-festival.

Існує обмежена підтримка вибору голосів / мов з інтерфейсу інтерфейсу для читання Firefox, але більшість налаштувань має бути виконано на стороні ОС, що знаходиться speechd.confна Linux.

Деякі налаштування доступні через about:configдіалогове вікно, якщо ви шукаєте "розповідати":

введіть тут опис зображення

Я експериментував зовсім небагато з різними параметрами в обох, about:configі speechd.conf, але не міг нічого працювати , але за замовчуванням , яка поставляється з Ubuntu. Я відчуваю, що інтерфейс між firefox та диспетчером мови не дуже стабільний, але, можливо, вам пощастило експериментувати.

Цей хлопець: https://bbs.archlinux.org/viewtopic.php?id=217411, схоже, мав більший успіх у налаштуванні речей, щоб використовувати фестиваль як вихід. Я намагався відтворити це на Ubuntu 18.04, але ніколи не міг заставити Firefox для запуску з ним.


1

Дякую Рафаелю Муйнарску, який відповів за те, що мене почав . Ось що я зробив

Встановити залежності

apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
  • festvox-{rablpc16k,kallpc16k,kdlpc16k} є голосовими мовами для англійської мови
  • sox, без нього лише якась частина тексту, де читається

Редагувати конфіг

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

Вимкнути espeakконфігурацію, пов’язану з відключенням, і ввімкнути festivalїї

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

#DefaultModule espeak-ng
DefaultModule festival

Запуск festivalсервера

Без нього я отримав лише деякі синтаксиси.

/usr/bin/festival --server

Перезавантажте Firefox

Потім перейдіть до режиму перегляду читання і спробуйте.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.