我使用 espeak 在纯文本文件中说出一些文本。但是,文件中的某些单词使用星号强调(“您是说*绿色*豆吗?”),espeak 会按字面意思读出它们(“您是说星号绿色星豆吗?”)。
我应该用什么替换星号,以便 espeak 正确阅读它们?
Espeak 支持语音合成标记语言 (SSML),您可以将这些标签放在纯文本文件的中间(即您不需要将整个内容转换为正确的 SSML)。您正在寻找的标签可能是<emphasis level="...">。此处列出了其他可能的标签:http : //espeak.sourceforge.net/ssml.html
默认情况下,Espeak 不会使用它们,您需要传递-m标志。例如,您可以使用espeak -m -f your_file.txt
该文档相当简洁,因此您可能必须深入研究源代码才能找到可能值之类的内容。(我会写更好的文档,但是有九年前未合并的补丁并且源存储库不可用,因此该项目似乎完全死了。)可以在此处找到强调标记(和其他一些标记)的可能值GitHub。他们是:
例如:Did you mean the <emphasis level="strong">green</emphasis> beans?请注意,如果没有引号,它将无法工作(而<emphasis level=strong>在 HTML 中可以工作,在 SSML/espeak 中没有引号则无法工作)。
或者,espeak 可以通过使用-k标志以不同的方式读取全大写单词:如果您使用命令espeak -k20 -f your_file.txt,您会注意到它会更改“全大写”中单词的音高。这两个选项不混合,因此您不能通过使用这两个选项来强调和改变音高。
但是,在 SSML 中,您可以混合它们:Did you mean the <emphasis level="strong"><prosody pitch="75">green</prosody></emphasis> beans?将以强调和更高的音调阅读。
| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |