如何在Ubuntu中更改Firefox Reader View(旁白)的声音?


13

**如何在Ubuntu中更改Firefox阅读器查看声音**

默认声音以及所有其他声音很难理解。

我找不到有关如何连接此功能的任何文档。

Answers:


11

我设法将festival语音作为Firefox的默认设置。

在此处输入图片说明

为此,我们需要在file上更改一些配置/etc/speech-dispatcher/speechd.conf。但是首先,我需要解释其工作原理。通过speech-dispatcher使用以下命令,我们始终可以看到默认的声音是什么spd-say

spd-say "Hello. How are you?"

开启时Ubuntu,随附的默认Texto To Speech(TTS)语音speech-dispatcherespeak。因此,当使用此其他命令时,我们会听到完全相同的声音:

espeak "Hello. How are you?"

发生这种情况是因为spd-say仅使用espeak声音作为输出。而且,Firefox也是一样,它使用配置speech-dispatcher为输出的任何语音在阅读器查看模式Ctrl+Alt+R阅读网页。

因此,我们在这里需要做的是更改spd-say命令中输出的声音,一旦完成,Firefox也将使用其他TTS voice默认值。我将描述使其与festival声音配合使用的过程,但是如果您要运行其他方法,我相信该过程是相同的TTS voice。首先,我们需要安装Festival

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

现在完成了!!重新启动后系统的Firefoxspd-say将要使用的festival声音作为输出。


附加信息

我相信,使新的声音发挥作用的过程Firefox将始终相同:

  1. 取消注释我们已安装(/etc/speech-dispatcher/speechd.conf)的新TTS语音的模块。

  2. 为我们想要的TTS语音设置新的默认线路(/etc/speech-dispatcher/speechd.conf)。

  3. 在文件夹内文件上指定的端口上运行服务器/etc/speech-dispatcher/modules/

引起我注意的是,那里有一个用于Ivona声音的模块。伊沃娜是一个专有的产品,今天用它(据我所知)的唯一途径是作为一个随收随付你去服务AWS,但它的声音是非常好,他们的声音很自然。

该文件/etc/speech-dispatcher/modules/ivona.conf被配置为侦听端口9123上的服务器。我认为也许有一种方法可以运行本地服务器来使用我的Ivona声音AWS APIs(我不确定,但也许使用了 Node.js应用程序的一部分)(这已经开发了)...如果可能的话,这意味着也有可能在Ubuntu运行Ivona作为系统的默认语音,并因此reader view modeFirefox上使用它。尽管我现在不知道该怎么做,但这似乎是一种有趣的可能性。


6

firefox阅读器模式的旁白功能使用的声音取决于您在其上运行的平台。在Linux上,firefox将用于speech-dispatcher将文本呈现为人工语音。

因此,在/etc/speech-dispatcher/speechd.conffirefox中应该使用语音分配器设置()中配置的任何内容。有多种引擎和语音可用于语音调度程序,其中一些可以通过Ubuntu软件包(例如speech-dispatcher-espeak-ng或)安装speech-dispatcher-festival

从firefox阅读器GUI中选择语音/语言的支持有限,但是大多数设置必须speechd.conf在Linux 上的OS端进行。

about:config如果您搜索“旁白”,则可以通过对话框使用某些设置:

在此处输入图片说明

我在about:config和中都使用了不同的设置进行了相当多的实验speechd.conf,但是除了Ubuntu附带的默认设置之外,其他都无法正常工作。我的感觉是,firefox和语音分派器之间的接口不是很稳定,但是也许您更幸运地进行了实验。

这个家伙:https : //bbs.archlinux.org/viewtopic.php?id=217411似乎在Archlinux上配置东西以使用Festival作为输出方面取得了更大的成功。我试图在Ubuntu 18.04上重现它,但无法让Firefox与它一起运行。


1

感谢Rafael Muynarsk对我的启动给予答复。这是我所做的

安装依赖项

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

然后进入阅读器查看模式并尝试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.