微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SSML-是否可以删除自动暂停休息时间?

如何解决SSML-是否可以删除自动暂停休息时间?

我正在尝试删除综合处理器添加自动中断,以创建没有任何“语言暂停”的语音文件

我正在将Microsoft的语音合成引擎与C#中的SpeechSynthesizer类一起使用。

这是我得到的输出,“这是为什么发生自动中断的一个示例?”用<speak>包裹在SpeechSynthesizer标记中:

https://clyp.it/4nofhh3n

这是我想要的输出(通过使用Oddcast's TTS Demo实现):

https://clyp.it/m55wt14u

我已通读w3.org's SSML documentation多次,在3.2.3 - break element点,请注意以下几点:

If the element is not present between tokens,the synthesis processor is expected to automatically determine a break based on the linguistic context. In practice,the break element is most often used to override the typical automatic behavior of a synthesis processor.

这是我目前的声音表现。我想以某种方式覆盖/关闭功能,并使语音完全不间断。我尝试过将一个<break>strength="none"属性time="0ms"元素放置在自动中断发生的单词之间,就像他们在上面写的那样覆盖它,以及各种不同的东西,例如包装<s>标签等中的整个文本字符串,无济于事。

我也不能只删除后处理中的中断,因为添加自动中断后,语音在所讲单词上的音调有所不同。

我已经阅读了几个不同的SSML文档,尽管它们的措辞与w3文档相比常常有所不同,但是却没有解释如何具体覆盖自动中断,这是我的问题。

解决方法

在我的experimenting with SpeechSynthesizer中,如果您将50ms的间隔放在末尾,则它会尊重它-如果小于此间隔,它将被忽略。 但是,它将始终将<speak>包装的内容视为其自己的子句,因此将其说成是句子/从句,而不是像第二个示例那样带有韵律。您需要将所有文本发送到单个<speak>元素(和语音)中,以将其视为单个语言。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。