如何在使用SSML讲话时跳过某些部分的文本

时间:2009-02-03 20:29:07

标签: text-to-speech ssml

是否有一些SSML标签等,用于从说话中删除特定的文本行。是的,我知道在将其发送到语音合成器之前,我可以使用字符串函数删除它。但我的问题是,有没有办法标记或标记一些文本,以便它不会播放。我正在为这个问题寻找一些基于XML的解决方案。

4 个答案:

答案 0 :(得分:3)

有很多方法,你应该澄清你想要完成的事情。

也许其中一个会帮助你:

   1. standard XML comment <!-- -->
   2. <sub alias=" "> your text </sub>
   3. <audio src='short_silence.wav'> your text </audio>
   4. <prosody volume='silent'> your text </prosody>

答案 1 :(得分:1)

我想知道XML评论是否是您尝试完成的有效解决方案:

<!-- <say-as interpret-as="telephone" format="39">+39.347.7577577</say-as> -->

或者:

<say-as interpret-as="telephone" format="39"><!-- +39.347.7577577 --></say-as>

希望这有帮助。

答案 2 :(得分:1)

快速查看SSML Documentation from W3C,我找到了prosody元素。

看起来您可以通过将音量设置为0并将持续时间设置为非常小的值来跳过该部分。

将音量设置为零应该会抑制音频输出,但可能需要花费相同的时间来“读取”该部分,就好像它被大声读出一样。如果你也设置了持续时间,你应该能够基本上“跳过”该部分(快速阅读它)。

你必须试验看它是否有效。

答案 3 :(得分:0)

使用元标记可能会提供一些解决方案。

<speak>This is spoken <meta  content="this is not spoken"/> </speak>