现在语音合成标记语言text
(SSML)的属性设置为SpeechSynthesisUtterance
例如铬或者火狐网络浏览器在 *nix 上无法解析 SSML,如音频输出所示speechSynthesis.speak()
称呼。
当 Chromium 启动时--enable-speech-dispatcher
标志speech-dispatcher
自动启动man speech-dispatcher
DESCRIPTION
speech-dispatcher is a server process that is responsible for trans‐
forming requests for text-to-speech output into actual speech hearable
in the speakers. It arbitrates concurrent speech requests based on mes‐
sage priorities, and abstracts different speech synthesizers. Client
programs, like screen readers or navigation software, send speech
requests to speech-dispatcher using TCP protocol (with the help of
client libraries). speech-dispatcher is usually started automatically
by client libraries (i.e. autospawn), so you only need to run it manu‐
ally if testing/debugging, or when in other explicit need for a special
setup.
如任务管理器中反映的那样
speech-dispatcher --spawn-communication-method unix_socket --socket-path /run/user/1000/speech-dispatcher/speechd.sock
跑步
spd-conf -u
在speech-dispatcher
其中创建用户配置文件~/.config
espeak
设置为默认模块
DefaultModule espeak
espeak
有一个m
选择
-m Interpret SSML markup, and ignore other < > tags
不完全确定是否在调用spd-say
时不被调用window.speechSynthesis.speak()
;spd-say
有一个x
选项可以实现与上述相同的结果man spd-say
-x, --ssml Set SSML mode on (default: off)
这speech-dispatcher
文档指出,用户配置文件可用于设置特定客户端的参数
4.1.6 参数设置命令
可以使用以下参数设置命令。对于配置和历史客户端,还有用于设置其他连接和所有连接的值的函数。它们在下面单独列出。
C API 函数:
int spd_set_data_mode(SPDConnection *connection, SPDDataMode mode)
设置语音调度程序数据模式。目前支持纯文本和 SSML。如果您想使用索引标记或在文本中包含语音参数的变化,SSML 特别有用。mode 是请求的数据模式:
SPD_DATA_TEXT
或SPD_DATA_SSML
。
要求:
使用所调用的本机程序的现有功能解析在text
属性处设置的 SSML ,以将文本转换为语音。SpeechSynthesisUtterance
speech-dispatcher
问题:
如何为客户端 Chromium(unix 套接字连接)设置和命令的默认选项,如果可能的话,还有 Firefox,何时-x
被spd-say
浏览-m
器调用?espeak
~/.config/speech-dispatcher/speechd.conf
window.speechSynthesis.speak()