一、关于 SSML
- SSML 是 W3C 的语音接口框架的一部分,通过它可以对语音合成的效果进行定制化。
- 接口传参时需选择 text_type=ssml,所有文本需放在 <speak></speak>标签之内。
- 当前仅支持中文普通话音色 SSML 调用,方言及小语种音色 SSML 调用后续会进行支持。
- 阅读更多关于《火山引擎SSML标记语言》的知识
二、SSML 能力目录
1. 根元素 speak
- 描述:SSML 的根元素,不论使用哪个 SSML 标签,都要有 <speak></speak>。
- 注意事项:
- 可以独立使用,不加其他任何标签时没有特殊合成效果。
- 在每次合成请求中只能有且只有一次出现。
- 一定在需要合成的所有文本(及标点)的最外面。
- 错误示范:一次请求包含 2 个及以上的 <speak></speak> 或 <speak>标签外还有文本内容都是错误的。
2. 韵律停顿 break
- 描述:用于在文本中插入停顿,可以自定义停顿的时间长度。
- 属性:
- strength:可选值有 “x-weak”, “weak”, “medium”, “strong”, “x-strong”,按照预设等级调整停顿时长。
- time:具体停顿时长,秒的绝对值,上限 10s,可以精确到小数点后 1 位。
- 注意事项:
- strength 和 time 不能同时指定。
- 当 <break time=”0s”></break>时,默认按照句号节奏停顿,如不需停顿,请删去该标签。
- 标签中间不能添加文本。
3. 指定词语结构 word
- 描述:用于说明词语结构,使指定的词组不被拆分,只能加在中文上。
- 注意事项:<word></word>内不支持数字、非中文语种。
4. 音频拼接 audio
- 描述:将 TTS 合成的语音与外部的音频文件进行拼接,拼接后作为一段完整音频返回。
- 属性:
- src:外部音频的 url 地址,必须是 http 或 https 协议,仅支持 mp3 格式,文件大小不超过 10M。音频越大,下载延迟越高。
- 注意事项:标签中间不能添加文本。
5. 调整语速、语调、音量
- 句级别变速、变调、变音量:
- 描述:支持请求中局部文字的变速、变调、变音量,所有音色均支持。
- 属性:speed(改变速度,区间 0.5 – 2.0,精度小数点后一位)、volume(改变音量,区间 0.5 – 2.0,精度小数点后一位)、pitch(改变音调,区间 0.5 – 2.0,精度小数点后一位),三者必须有一。
- <英语>语调、重音、停顿时长控制:
- 描述:<tobi>用于指定英文音高重音、短语重音和边界调,只适用于英文音色。
- 属性:phrase_accent(L-或 H-,短语重音,控制单词的语调上扬、下降)、boundary_tone(L%或 H%,边界调,控制单词的停顿时长,必须配合 phrase_accent 一起使用)、accent_type(L或 H,音高重音,控制句子中的重音出现在哪个单词上)。
- 注意事项:参数 phrase_accent 和 accent_type 二者至少要有一个;当需要参数 boundary_tone 时,必须提供参数 phrase_accent;<tobi>标签内有且只能有一个单词。
6. 指定字词发音 phoneme
- py 指定中文发音:
- 描述:为标签内的文本指定发音,只能加在中文上。
- 属性:alphabet = py 代表拼音,ph 用于指定拼音,多个拼音用空格分割,1 – 4 分别对应汉语四个声调,5 对应轻声,标签指定的拼音个数必须与标签内中文字数相等。
- 注意事项:标签内不能有标点符号、空格等非汉字内容,拼音的 ü 需要写成 v,如果词语连读发音控制不明显,可增加 <break>标签,但 <phoneme>标签内不能嵌套 <break>,需要每个字单独使用 <phoneme>。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END