
# SSML标记语言介绍
本文为您介绍SSML（Speech Synthesis Markup Language）标记语言的功能、标签使用及示例。
#### 概述
SSML 是一种基于 XML 的语音合成标记语言。使用 SSML 可以更加准确、具体地定义合成音频的效果，包括控制断句分词方式、发音、速度、停顿、声调和音量等特征。相比文本输入进行合成，有更好的操作灵活性。
![](https://support.huaweicloud.com/api-sis/public_sys-resources/note_3.0-zh-cn.png)
华为云语音合成服务的SSML实现，基于W3C的语音合成标记语言版本1.1，但并不支持W3C包含的所有的标记类型。目前华小飞，华小美，华小荷，华小叶，华小雪，华小娇，华小康，华小辉，华小坤，华小泉，华小龙，华小蕊，华小闽合成支持 SSML功能。该特性与语言无关。发音人property取值详见[语音合成 - RunTts](https://support.huaweicloud.com/api-sis/sis_03_0111.html)。
- 华小飞（朝气男声）：chinese_huaxiaofei_common，支持8k/16k采样率。
- 华小美（温柔女声）：chinese_huaxiaomei_common，支持8k/16k采样率。
- 华小荷（嘹亮男声）：chinese_huaxiaohe_common，支持8k/16k采样率。
- 华小叶（知性女声）：chinese_huaxiaoye_common，支持8k/16k采样率。
- 华小雪（女童声）：chinese_huaxiaoxue_common，支持8k/16k采样率。
- 华小娇（成熟女声，纯中文）：chinese_huaxiaojiao_common，支持8k/16k采样率。
- 华小辉（男童声）：chinese_huaxiaohui_common，支持8k/16k采样率。
- 华小康（朝气男声）：chinese_huaxiaokang_common，支持8k/16k采样率。
- 华小坤（成熟男声）：chinese_huaxiaokun_common，支持8k/16k采样率。
- 华小泉（朝气男声，纯中文）：chinese_huaxiaoquan_common，支持8k/16k采样率。
- 华小龙（朝气男声）：chinese_huaxiaolong_common，支持16k采样率。
- 华小蕊（知性女声）：chinese_huaxiaorui_common，支持16k采样率。
 
#### 使用方式
语音合成服务支持的SSML标签请参见标签。详情请参考文档下方各标签的介绍和示例。语音合成的SSML功能支持多个 \<say-as\> 标签闭合嵌套于文本之中，如：
```
{
"text": "<speak>文本<break time=\"15ms\"/>本文, <say-as interpret-as=\"money\">15.55 RMB</say-as></speak>"
}
```
将带标签的文本作为text的参数值，上传至语音服务进行调用，以Java SDK为例：
![](https://support.huaweicloud.com/api-sis/zh-cn_image_0000001448776934.png "点击放大")
使用postman调用格式如下：
![](https://support.huaweicloud.com/api-sis/zh-cn_image_0000001449780850.png "点击放大")
#### 标签
1. \<speak\> 描述：SSML文本的根节点
   语法：
   ```
   <speak>这里输入SSML标签的文本</speak>
   ```
   属性：无
   标签关系： \<speak\> 可以包含文本和以下标签：
   - \<break\>
   
   - \<phoneme\>
   
   - \<say-as\>
   
   - \<sub\>
     
2. \<break\> 描述：在任意位置，插入一个静音停顿
   语法：
   ```
   <!-- 空属性 -->
   <break/>
   <!-- 指定长度 -->
   <break time="string"/>
   <!-- 指定长度类 -->
   <break strength="string"/>
   ```
   属性：
   表1标签属性 
   | 属性名称     | 属性类型   | 属性值                                              | 是否必选 | 描述                                                             |
   |:---|:---|:---|:---|:---|
   | time     | String | \[number\]s/\[number\]ms                         | 否    | 以s/ms为单位设置静音持续时间 (如："1s", "500ms")。 最大静音时间为10s。（华小龙，华小蕊不支持该属性） |
   | strength | String | 以下之一：none, x-weak, weak, medium,strong, x-strong | 否    | 定义韵律（none=没有韵律，x-weak=很短，x-strong=很长）                          |
      
   标签关系：\<break\> 是空标签，不能包含任何标签。
   示例：
   ```
   一句话<break/>另外一句话
   一句话<break time="20ms"/>另外一句话
   一句话<break strength="strong"/>另外一句话
   ```
   
3. \<phoneme\> 描述:改变英文单词或中文多音字的发音。
   语法：
   ```
   <phoneme ph="string">这里输入字母</phoneme>
   ```
   属性：
   表2标签属性 
   | 属性名称 | 属性类型   | 属性值 | 是否必选 | 描述             |
   |:---|:---|:---|:---|:---|
   | ph   | String | 拼音  | 是    | Pronunciation。 |
      
   标签关系： \<phoneme\> 可以包含文本，不可以包含其他SSML标签。
   示例：
   ```
   今天<phoneme ph="tian1 qi1">天气</phoneme>很好
   The <phoneme ph="W EH1 DH AH0">weather</phoneme> is very good.
   ```
   
4. \<say-as\> 描述:将文本解释为特定的类型内容，或者控制英文单词逐个字符拼写。
   语法：
   ```
   <say-as interpret-as="string">这里输入字母</say-as>
   ```
   属性：
   表3标签属性 
   | 属性名称        | 属性类型   | 属性值                                                    | 是否必选 | 描述          |
   |:---|:---|:---|:---|:---|
   | iterpret-as | String | 以下之一：money，date, figure，phone,，english，spell；具体含义参考下表。 | 是    | 将内容解释为给定类型。 |
      
   表4iterpret-as类型说明 
   | 类型      | 描述      |
   |:---|:---|
   | money   | 钱       |
   | date    | 日期      |
   | figure  | 数次      |
   | phone   | 电话号码    |
   | english | 英文单词    |
   | spell   | 逐个字母读英文 |
      
   标签关系： 可以包含文本 。
   示例：
   ```
   今天<phoneme ph="tian1 qi1">天气</phoneme>很好
   The <phoneme ph="W EH1 DH AH0">weather</phoneme> is very good.
   ```
   ```
   <say-as interpret-as="money">15.55 RMB</say-as>
   <say-as interpret-as="date">2022/3/8</say-as>
   <say-as interpret-as="figure">175 厘米</say-as>
   <say-as interpret-as="phone">151 12345678</say-as>
   <say-as interpret-as="english">Hello</say-as>
   <say-as interpret-as="spell">Hello</say-as>
   ```
   
5. \<sub\> 描述：用其他词语代替合成文本中的词语。
   语法：
   ```
   <sub alias="string">这里输入字母</sub>
   ```
   属性：
   表5标签属性 
   | 属性名称  | 属性类型   | 属性值 | 是否必选 | 描述           |
   |:---|:---|:---|:---|:---|
   | alias | String | 替代值 | 是    | 将标记的内容替换为此值。 |
      
   标签关系： 可以包含文本 。
   示例：
   ```
   <sub alias="保罗">Paul</sub>是德国人
   ```
   
 
