2024-06-05
藏龙卧虎
00
请注意,本文编写于 187 天前,最后修改于 187 天前,其中某些信息可能已经过时。

目录

这是个人常用的SSML模板
Azure文档示例
示例
说明
特殊符号
主动停顿

这是个人常用的SSML模板

xml
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" xml:lang="zh-CN"> <voice name="{voice_model}" rate="{voice_speed}"> <!-- 动态赋值音频模型 和 语速 --> <mstts:silence type="Leading" value="1000ms"/> <!-- # 文本开头的附加静音 --> <mstts:silence type="Tailing" value="1000ms"/> <!-- # 文本末尾的静音 --> <mstts:silence type="Sentenceboundary" value="1000ms"/> <!-- # 在两个句子之间添加 1000 毫秒的静音 --> <mstts:silence type="Comma" value="300ms"/> <!-- # 逗号处添加 300 毫秒的静音 --> <mstts:silence type="Semicolon" value="500ms"/> <!-- # 分号处添加 500 毫秒的静音 --> <mstts:silence type="Enumerationcomma" value="300ms"/> <!-- # 枚举逗号处添加 300 毫秒的静音 --> <mstts:express-as style="sad" styledegree="2"> <!-- 情感、风格使用示例 --> 快走吧,路上一定要注意安全,早去早回。 </mstts:express-as> <break time="1s" /> <!-- # 开头默认停顿1秒 --> {voice_text} <!-- 动态赋值要转换的文本 --> </voice> </speak>

Azure文档示例

这里记录Azure官方给出的文档示例及相关说明。官方文档链接:SSML文档

示例

xml
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="string"> <mstts:backgroundaudio src="string" volume="string" fadein="string" fadeout="string"/> <voice name="string" effect="string"> <audio src="string"></audio> <bookmark mark="string"/> <break strength="string" time="string" /> <emphasis level="value"></emphasis> <lang xml:lang="string"></lang> <lexicon uri="string"/> <math xmlns="http://www.w3.org/1998/Math/MathML"></math> <mstts:audioduration value="string"/> <mstts:ttsembedding speakerProfileId="string"></mstts:ttsembedding> <mstts:express-as style="string" styledegree="value" role="string"></mstts:express-as> <mstts:silence type="string" value="string"/> <mstts:viseme type="string"/> <p></p> <phoneme alphabet="string" ph="string"></phoneme> <prosody pitch="value" contour="value" range="value" rate="value" volume="value"></prosody> <s></s> <say-as interpret-as="string" format="string" detail="string"></say-as> <sub alias="string"></sub> </voice> </speak>

说明

以下列表描述了每个元素中允许的一些内容示例:

  • audio:如果音频文件不可用或不可播放,可在 audio 元素的正文中包含可讲述的纯文本或 SSML 标记。 audio 元素还包含文本和以下元素:audiobreakpsphonemeprosodysay-assub
  • bookmark:此元素不能包含文本或任何其他元素。
  • break:此元素不能包含文本或任何其他元素。
  • emphasis:此元素可包含文本和以下元素:audiobreakemphasislangphonemeprosodysay-assub
  • lang:此元素可包含除 mstts:backgroundaudiovoicespeak 以外的所有其他元素。
  • lexicon:此元素不能包含文本或任何其他元素。
  • math:此元素只能包含文本和 MathML 元素。
  • mstts:audioduration:此元素不能包含文本或任何其他元素。
  • mstts:backgroundaudio:此元素不能包含文本或任何其他元素。
  • mstts:embedding:此元素可包含文本和以下元素:audiobreakemphasislangphonemeprosodysay-assub
  • mstts:express-as:此元素可包含文本和以下元素:audiobreakemphasislangphonemeprosodysay-assub
  • mstts:silence:此元素不能包含文本或任何其他元素。
  • mstts:viseme:此元素不能包含文本或任何其他元素。
  • p:此元素可包含文本和以下元素:audiobreakphonemeprosodysay-assubmstts:express-ass
  • phoneme:此元素只能包含文本,不能包含任何其他元素。
  • prosody:此元素可包含文本和以下元素:audiobreakpphonemeprosodysay-assubs
  • s:此元素可包含文本和以下元素:audiobreakphonemeprosodysay-asmstts:express-assub
  • say-as:此元素只能包含文本,不能包含任何其他元素。
  • sub:此元素只能包含文本,不能包含任何其他元素。
  • speak:SSML 文档的根元素。 此元素可包含以下元素:mstts:backgroundaudiovoice
  • voice:此元素可包含除 mstts:backgroundaudiospeak 以外的所有其他元素。

语音服务可自动适当处理停顿(例如,在句号后面暂停片刻),或者在以问号结尾的句子中使用正确的音调。

特殊符号

若要在 SSML 元素的值或文本中使用字符 &<>,则必须使用实体格式。 具体而言,必须使用 &amp; 而不是 &,使用 &lt; 而不是 <,使用 &gt; 而不是 >。 否则,无法正确分析 SSML。

例如,请指定 green &amp; yellow 而不是 green & yellow。 以下 SSML 按预期进行分析:

xml
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name="en-US-AvaNeural"> My favorite colors are green &amp; yellow. </voice> </speak>

引号、撇号和括号等特殊字符必须经过转义。 有关详细信息,请参阅可扩展标记语言 (XML) 1.0:附录 D

属性值必须用双引号或单引号括起来。 例如,<prosody volume="90"><prosody volume='90'> 是格式正确的有效元素,但无法识别 <prosody volume=90>

主动停顿

使用 break 元素替代单词之间的默认中断或暂停行为。 否则,语音服务会根据文本自动插入暂停。

主动停顿示例:

xml
<break time="1s" />

break 元素可以有两个可选属性:

  • strength:使用以下值之一指定暂停的相对持续时间:x-weakweakmedium(默认值)、strongx-strong
  • time:暂停的绝对持续时间,以秒为单位(例如 2s)或以毫秒为单位(例如 500ms)。 有效值的范围为 05000 毫秒。 如果设置的值大于支持的最大值,则服务将使用 5000ms。 如果设置了 time 属性,则会忽略 strength 属性。
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!