我注意到,每当我在命令行中尝试 spd-say 时,它总是在启动后不久停止,并且不会完成我告诉它说的内容。
例如,
spd-say "moo moo farms are the best cow farms ever. They say moo, they don't pollute the earth, and they give milk. Visit moo moo farms today for only twelve easy payments of seventeen ninety five weekly!"
只会说moo moo farms are the best cow farms. They say moo, they don't pollute the earth, and they gi
;然后它就切断了。
谁能告诉我这是怎么回事?我在 Aspire 5610Z 上使用 Linux Mint 19.0,在 Optiplex 755 上使用 Linux Ubuntu 18.04。
答案1
原因是 spd-say
在完成完整的文本到语音输出之前超时并退出。
等到spd-say
读完整篇文章后--wait
,请在其后添加选项。如下所示:
spd-say --wait "moo moo farms are the best cow farms ever. They say moo, they don't pollute the earth, and they give milk. Visit moo moo farms today for only twelve easy payments of seventeen ninety five weekly!"
解释 - 根据要求乔舒亚·米勒:
spd-say
向 发送文本转语音输出请求speech-dispatcher
。请阅读这里。
但是,如果文本太长,spd-say
就会提前退出...因此需要这个--wait
选项。
其他应用程序(包括您的 JAVA 应用程序)可能会直接向 发送文本转语音输出请求speech-dispatcher
。请阅读(描述)部分这里。
答案2
如果文本太长,可以将内容放在文件中 spd-say "$(cat fileName)"