文本转语音:微软语音合成标记语言 (SSML) 文本结构和事件

news/2024/11/15 5:48:37/

​ SSML 的语音服务实现基于万维网联合会的语音合成标记语言版本 1.0。 ​ 语音服务支持的元素可能与 W3C 标准不同。

每个 SSML 文档是使用 SSML 元素(或标记)创建的。 这些元素用于调整语音、风格、音节、韵律、音量等。

下面是 SSML 文档的基本结构和语法的子集:

<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: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-as 和 sub
  • bookmark:此元素不能包含文本或任何其他元素。
  • break:此元素不能包含文本或任何其他元素。
  • emphasis:此元素可包含文本和以下元素:audiobreakemphasislangphonemeprosodysay-as 和 sub
  • lang:此元素可包含除 mstts:backgroundaudiovoice 和 speak 以外的所有其他元素。
  • lexicon:此元素不能包含文本或任何其他元素。
  • math:此元素只能包含文本和 MathML 元素。
  • mstts:audioduration:此元素不能包含文本或任何其他元素。
  • mstts:backgroundaudio:此元素不能包含文本或任何其他元素。
  • mstts:express-as:此元素可包含文本和以下元素:audiobreakemphasislangphonemeprosodysay-as 和 sub
  • mstts:silence:此元素不能包含文本或任何其他元素。
  • mstts:viseme:此元素不能包含文本或任何其他元素。
  • p:此元素可包含文本和以下元素:audiobreakphonemeprosodysay-assubmstts:express-as 和 s
  • phoneme:此元素只能包含文本,不能包含任何其他元素。
  • prosody:此元素可包含文本和以下元素:audiobreakpphonemeprosodysay-assub 和 s
  • s:此元素可包含文本和以下元素:audiobreakphonemeprosodysay-asmstts:express-as 和 sub
  • say-as:此元素只能包含文本,不能包含任何其他元素。
  • sub:此元素只能包含文本,不能包含任何其他元素。
  • speak:SSML 文档的根元素。 此元素可包含以下元素:mstts:backgroundaudio 和 voice
  • voice:此元素可包含除 mstts:backgroundaudio 和 speak 以外的所有其他元素。

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

添加停顿

使用 break 元素替代单词之间的默认中断或暂停行为。 可以使用它来添加语音服务以其他方式自动插入的暂停。下表描述了 break 元素的属性用法。

 

属性说明必需还是可选
strength使用以下值之一指定暂停的相对持续时间:
  • x-weak
  • weak
  • medium(默认值)
  • strong
  • x-strong
可选
time暂停的绝对持续时间,以秒为单位(例如 2s)或以毫秒为单位(例如 500ms)。 有效值的范围为 0 到 5000 毫秒。 如果设置的值大于支持的最大值,则服务将使用 5000ms。 如果设置了 time 属性,则会忽略 strength 属性。可选

下面是有关该 strength 属性的更多详细信息。

Strength相对持续时间
x-weak250 毫秒
weak500 毫秒
中型750 毫秒
1,000 毫秒
x-strong1,250 毫秒

http://www.ppmy.cn/news/1243133.html

相关文章

【深度学习实验】图像处理(二):PIL 和 PyTorch(transforms)中的图像处理与随机图片增强

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入需要的工具包1. PIL图像处理a. 生成绿色和蓝色图像b. 缩放和合成图像c 在合成图像上添加文字d. 展示并保存图像 2. PIL随机图像增强a. 定义随机图像增强函数b. 实验结果展示 3. PyTorch&…

编程语言发展史:Ruby语言的发展和应用

介绍 Ruby是一种高级编程语言&#xff0c;最初由日本的松本行弘开发。它在20世纪90年代初首次发布&#xff0c;并在2000年代初开始变得流行。 Ruby是一种动态、面向对象的语言&#xff0c;具有简单、易于学习和使用的语法&#xff0c;因此被广泛应用于Web开发、数据分析、游戏…

2023年03月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 计算“2+4+8+……+128”,用变量n表示每项,根据变化规律,变量n的赋值用下列哪个最合适?( ) A: B: C: D: 答案:D

qt5.15.2及6.0以上版本安装

文章目录 下载在线安装器安装打开软件 下载在线安装器 因为从qt5.15开始不支持离线下载安装了&#xff0c;只能通过在线安装的方式进行安装。 下载在线安装下载器&#xff1a; 这个在线安装下载器网上也都是可以找到。 这里是其放到网盘上的下载地址&#xff1a; 链接&#x…

【超强笔记软件】Obsidian如何实现免费无限流量无套路云同步?

【超强笔记软件】Obsidian如何实现免费无限流量无套路云同步&#xff1f; 文章目录 【超强笔记软件】Obsidian如何实现免费无限流量无套路云同步&#xff1f;一、简介软件特色演示&#xff1a; 二、使用免费群晖虚拟机搭建群晖Synology Drive服务&#xff0c;实现局域网同步1 安…

详细解答T-SNE程序中from sklearn.manifold import TSNE的数据设置,包括输入数据,绘制颜色的参数设置,代码复制可用!!

文章目录 前言——TSNE是t-Distributed Stochastic Neighbor Embedding的缩写1、可运行的T-SNE程序2. 实验结果3、针对上述程序我们详细分析T-SNE的使用方法3.1 加载数据3.2 TSNE降维3.3 绘制点3.4 关于颜色设置&#xff0c;颜色使用的标签数据的说明cy 总结 前言——TSNE是t-D…

[ruby on rails] array、jsonb字段

一、jsonb # 新增 add_column :shi_tis, :setting, :jsonb, default: {}# string转jsonb def changechange_column :users, :setting, :jsonb, using: setting::jsonb, default: {} end# 加索引 add_index :users, :setting, using: :gin # 这样就为setting jsonb字段创建了一…

枚举的第一行

2023年11月26日 问题: 好奇enum的所声明的枚举类的第一行是什么 从java技术卷1中第五章5.6中,了解是枚举类的实例 验证 错误信息: 解释: 此时只有有参构造 在这个枚举类里不能使用空,大概意思是说不能使用空参创建实例 校验 在原有的基础上创建一个无参构造 结果:不再报错,第…