VJ *_*nga 21 firefox text-to-speech
默认语音以及所有替代语音都很难理解。
我找不到有关此功能如何连接的任何文档。
Raf*_*rsk 20
我设法festival在Firefox 上默认使用语音。
为此,我们需要更改文件/etc/speech-dispatcher/speechd.conf. 但首先,我需要解释它是如何工作的基本思想。我们总是可以speech-dispatcher使用以下命令查看默认使用的语音是什么spd-say:
spd-say "Hello. How are you?"
Run Code Online (Sandbox Code Playgroud)
在 上Ubuntu,随附的默认文本到语音 (TTS) 语音speech-dispatcher是espeak。因此,当我们使用另一个命令时,我们会听到完全相同的声音:
espeak "Hello. How are you?"
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为spd-say只是使用espeak声音作为输出。好吧,Firefox 也是如此,它使用任何配置的语音speech-dispatcher作为输出,以阅读器视图模式( Ctrl+Alt+R)阅读网页。
所以,我们在这里需要做的是改变spd-say命令中输出的声音,一旦我们这样做,Firefox也将使用不同的TTS voice默认值。我将描述使其与festival声音一起工作的过程,但我相信如果您想运行不同的TTS voice. 首先,我们需要安装节日:
sudo apt-get install festival speech-dispatcher-festival
Run Code Online (Sandbox Code Playgroud)
我们可以在命令行中输入以下命令来测试它的声音:
echo "Hello. How are you?" | festival --tts
Run Code Online (Sandbox Code Playgroud)
现在我们需要更改文件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
Run Code Online (Sandbox Code Playgroud)
这里有必要做两个改变:
AddModule "festival" "sd_festival" "festival.conf"DefaultModule festival我们需要festival作为服务器运行才能speech-dispatcher默认使用它。我们可以通过在使用命令时打开的文件末尾添加以下行来实现sudo crontab -e:
@reboot /usr/bin/festival --server
Run Code Online (Sandbox Code Playgroud)
现在完成了!!重新启动系统Firefox 后,spd-say将使用festival语音作为输出。
我相信让新声音起作用的程序Firefox将始终相同:
取消对我们安装的新 TTS 语音模块的注释 ( /etc/speech-dispatcher/speechd.conf)。
为我们想要的 TTS 语音设置一个新的默认行 ( /etc/speech-dispatcher/speechd.conf)。
在文件夹内文件上指定的端口上运行服务器/etc/speech-dispatcher/modules/。
引起我注意的是那里有一个用于Ivona声音的模块。伊沃娜是一个专有的产品,今天用它(据我所知)的唯一途径是作为一个随收随付你去服务的AWS,但它的声音是非常好,他们的声音很自然。
该文件/etc/speech-dispatcher/modules/ivona.conf配置为侦听端口 9123 上的服务器。我想也许有一种方法可以运行本地服务器,使用我的AWS APIs(我不确定,但可能使用此Node.js 应用程序的一部分来获取 Ivona 声音这已经开发了)......如果可能的话,这意味着也可以在 Ubuntu上运行 Ivona作为系统的默认语音,并因此reader view mode在Firefox上使用它。虽然我现在不知道该怎么做,但看起来是一个有趣的可能性。
firefox 阅读器模式的叙述功能使用的声音取决于您运行它的平台。在 Linux 上,firefox 将用于speech-dispatcher将文本渲染为人工语音。
因此,您在语音调度程序设置 ( /etc/speech-dispatcher/speechd.conf) 中配置的任何内容都应该被 firefox 接收和使用。语音调度程序有各种可用的引擎和语音,其中一些可以通过 Ubuntu 软件包安装,例如speech-dispatcher-espeak-ng或speech-dispatcher-festival.
从 firefox 阅读器 GUI 中选择语音/语言的支持有限,但大多数设置必须在操作系统端进行,即speechd.conf在 linux 上。
about:config如果您搜索“叙述”,则可以通过对话框使用某些设置:
我在about:config和中对不同的设置进行了大量试验speechd.conf,但除了 Ubuntu 附带的默认设置外,其他任何东西都无法正常工作。我得到的感觉是firefox和speech-dispatcher之间的接口不是很稳定,但也许你更幸运地尝试。
这家伙:https : //bbs.archlinux.org/viewtopic.php?id=217411 似乎在 Archlinux 配置事物以使用节日作为输出方面取得了更大的成功。我试图在 Ubuntu 18.04 上重现这个,但永远无法让 Firefox 运行它。
感谢Rafael Muynarsk的回答,让我启动。这是我所做的
apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
Run Code Online (Sandbox Code Playgroud)
festvox-{rablpc16k,kallpc16k,kdlpc16k}是英语的语音语言sox,没有它,只有阅读到的文本的某些部分sudo vim /etc/speech-dispatcher/speechd.conf
Run Code Online (Sandbox Code Playgroud)
禁用espeak相关配置并启用festival一项
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
Run Code Online (Sandbox Code Playgroud)
festival服务器没有它我只能得到一些句子。
/usr/bin/festival --server
Run Code Online (Sandbox Code Playgroud)
然后进入读者查看模式并尝试一下。
| 归档时间: |
|
| 查看次数: |
13882 次 |
| 最近记录: |