关于火山引擎语音合成SSML标记语言使用指南-砝码网

关于火山引擎语音合成SSML标记语言使用指南

一、关于 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
喜欢就支持一下吧
点赞7 分享