实时语音合成

最近更新时间:2020-11-11 17:32:36

1. 接口描述

接口请求域名:tts.cloud.tencent.com/stream

接口请求频率限制:20次/每秒。

接口请求协议:HTTPS

腾讯云语音合成技术(TTS)可以将任意文本转化为语音,实现让机器和应用张口说话。
腾讯 TTS 技术可以应用到很多场景,例如,在小说 App 完成有声阅读,移动 App 语音播报新闻;智能设备语音提醒;车载导航语音合成的个性化语音播报等等。

2. 输入参数

请求方式 只支持 Post 请求

参数名称 必选 类型 描述
Action String 本接口取值:TextToStreamAudio
AppId Integer 账号 AppId
SecretId String 官网 SecretId
Timestamp Integer 当前 UNIX 时间戳,可记录发起 API 请求的时间。例如1529223702,如果与当前时间相差过大,会引起签名过期错误。
Expired Integer 签名的有效期,是一个符合 UNIX Epoch 时间戳规范的数值,单位为秒;Expired 必须大于 Timestamp 且 Expired-Timestamp 小于90天。
Text String 合成语音的源文本。中文最大支持600个汉字(全角标点符号算一个汉字),英文最大支持1800个字母(半角标点符号算一个字母)。
SessionId String 一次请求对应一个 SessionId,会原样返回,建议传入类似于 uuid 的字符串防止重复。
ModelType Integer 模型类型,1:默认模型
Volume Float 音量大小,范围:[0,10],分别对应11个等级的音量,默认值为0,代表正常音量。没有静音选项。
输入除以上整数之外的其他参数不生效,按默认值处理。
Speed Float 语速,范围:[-2,2],分别对应不同语速:
-2代表0.6倍
-1代表0.8倍
0代表1.0倍(默认)
1代表1.2倍
2代表1.5倍
若需要更细化的语速档次,可以保留小数点一位,如-1.1 0.5 1.7等
ProjectId Integer 项目 ID,用户自定义,默认为0。
VoiceType Integer 普通音色:
0-云小宁,亲和女声(默认)
1-云小奇,亲和男声
2-云小晚,成熟男声
4-云小叶,温暖女声
5-云小欣,情感女声
6-云小龙,情感男声
7-云小曼,客服女声
1001-智瑜,情感女声
1002-智聆,通用女声
1003-智美,客服女声
1050-WeJack,英文男声
1051-WeRose,英文女声
精品音色:
精品音色拟真度更高,价格不同于普通音色,查看购买指南
101001-智瑜,情感女声(精品)
101002-智聆,通用女声(精品)
101003-智美,客服女声(精品)
101004-智云,通用男声
101005-智莉,通用女声
101006-智言,助手女声
101007-智娜,客服女声
101008-智琪,客服女声
101009-智芸,知性女声
101010-智华,通用男声
101050-WeJack,英文男声(精品)
101051-WeRose,英文女声(精品)
102000-贝蕾,客服女声
102001-贝果,客服女声
102002-贝紫,粤语女声
102003-贝雪,新闻女声
PrimaryLanguage Integer 主语言类型:
1:中文(默认)
2:英文
SampleRate Integer 音频采样率:
16000:16k(默认)
8000:8k
Codec String 返回音频格式:
opus:返回多段含 opus 压缩分片音频(默认)。
pcm:返回二进制 pcm 音频。

Header 格式:

{
    "Content-Type":"application/json",
    "Authorization":"HRCKlbwPhWtVvfGn914qE5O1rwc="
}
注意:

Authorization 字段值为 V1鉴权生成的 Signature (无需 urlencode)的值,鉴权只支持官网 V1鉴权,不支持 V3鉴权!

鉴权说明请参考官方统一 V1鉴权文档
例子中域名和参数需更换成本接口的域名和参数,如:

GET 替换成 POST  
cvm.tencentcloudapi.com/ 替换成  tts.cloud.tencent.com/stream  
Action=DescribeInstances 替换成 Action=TextToStreamAudio
其他参数参考 Action 的替换方式  

Body 格式
请求体为 json 格式的请求参数

注意:

V1鉴权生成的 Signature 字段不需要放在 body 里,放在 Header 的 Authorization 中。

{
   "Action" : "TextToStreamAudio",
   "AppId" : 1300466766,
   "Codec" : "pcm",
   "Expired" : 1577090359,
   "ModelType" : 1,
   "PrimaryLanguage" : 1,
   "ProjectId" : 0,
   "SampleRate" : 16000,
   "SecretId" : "AKIDf9JEuLiXPEuSlssPkLm3IJ5cM5q*****",
   "SessionId" : "123",
   "Speed" : 1,
   "Text" : "腾讯云语音合成欢迎您。",
   "Timestamp" : 1577003959,
   "VoiceType" : 0,
   "Volume" : 5
}

3. 输出参数

协议说明:使用 HTTP Chunk 协议,一次 HTTP 请求内按序返回多段分片直到音频结束。

Opus

Codec 参数为 opus 返回,默认返回。返回多个语音分片,分片大小不一,单个分片格式说明如下:

标识头“opus”H
(4字节字符串)
分片序号 S
(4字节二进制数据)
分片音频长度 L
(4字节二进制数据)
分片音频 D
(长度为分片音频长度 L)
标识新的分片的开始 序号从0开始,-1结束 按分片音频长度读取音频数据 base64后的 Opus 压缩音频

其中最后一片音频(序号 S = -1)数据固定为“AAAA”,该段数据无效。

Pcm

Codec 参数为 pcm 返回,同等条件下返回数据量约为 Opus 格式的 10 倍。
返回格式:二进制
返回内容:pcm 音频流

4. SDK 文档

C++ SDK
Java SDK
Python SDK
PHP SDK