语音同步合成WebSocket接口
前提条件
- 本接口目前仅支持“华北-北京四”和“华东-上海一”区域使用,且必须提交工单申请开通后才能使用。
- 使用本接口前,需要在MetaStudio控制台服务概览页面,开通“声音合成”的按需计费。
详细操作为:单击“声音合成”卡片中的“去开通”,在弹出的“开通按需计费服务提示”对话框中,勾选同意协议。单击“确定”,开通按需计费。开通后的效果如图1所示。
如需使用第三方声音进行语音合成,请购买出门问问声音套餐。
功能介绍
该接口用于TTS流式合成音频,用于文本转化为语音,并实时返回合成的音频数据。
调用方法
请求参数
参数 |
是否必选 |
参数类型 |
参数位置 |
描述 |
---|---|---|---|---|
X-Auth-Token |
是 |
String |
header |
用户Token。使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取。 响应消息头中X-Subject-Token的值。 |
command |
是 |
String |
body |
指令类型。
|
text |
否 |
String |
body |
待合成语音的文本。 command取值为START时,为必填项。 |
job_id |
否 |
String |
body |
请求标识ID,用于跟踪请求。 建议每次合成请求时,设置不同的值。 |
config |
否 |
body |
配置参数。 command取值为START时,为必填项。 |
参数 |
是否必选 |
参数类型 |
参数位置 |
描述 |
---|---|---|---|---|
voice_asset_id |
是 |
String |
body |
音色ID。 音色ID的获取方式详见获取音色ID。 |
speed |
否 |
integer |
body |
合成音频的语速。 默认值100,最小值50,最大值200。 取值含义如下所示:
|
pitch |
否 |
integer |
body |
合成音频的音高。 默认值100,最小值50,最大值200。 |
volume |
否 |
integer |
body |
合成音频的音量。 默认值140,最小值90,最大值240。 |
sample_rate |
否 |
String |
body |
采样率。 取值如下所示:
|
请求示例
TTS语音合成请求示例,如下所示:
{ "text": "<speak>是唐代诗人白居易创作的一首长篇叙事诗,此诗可分为三大段,从“汉皇重色思倾国”至“惊破霓裳羽衣曲”共三十二句为第一段。汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。</speak>", "command": "START", "job_id": "a74dd97c243**********da7c4359ae4", "config": { "speed": 100, "pitch": 100, "volume": 140, "sample_rate": "auto", "business_type": "xxx", "voice_asset_id": "a74dd97c243**********da7c4359ae4" } }
预加载请求示例,如下所示:
{ "command": "PRELOAD", "config": { "voice_asset_id": "a74dd97c243**********da7c4359ae4" } }
响应参数
参数 |
参数类型 |
参数位置 |
描述 |
---|---|---|---|
error_code |
String |
body |
错误码。 取值如下:
|
error_msg |
String |
body |
错误描述。 |
job_id |
String |
body |
任务ID。 |
is_end |
boolean |
body |
本次请求后续是否还有消息帧。 取值如下:
|
sample_rate |
String |
body |
voice_data中音频的采样率。 取值示例:16000、24000。 |
voice_data |
String |
body |
音频数据,为base64编码的pcm音频流。 pcm格式为16位单声道,采样率见sample_rate字段,默认16000。 |
响应示例
成功响应示例,如下所示:
{ "error_code": "0", "error_msg": "SUCCESS", "job_id": "faf94e21c066**********a733740f8e", "is_end": false, "voice_data": "AgAAAAEAAQACAAEAAQAAAAAAAQACAAEAAwAAAAEAAAABAAEAAAABAAEAAQACAAEAAAAAAAAAAAAAAAEAAwACAAEAAQACAAEAAgABAAIAAAACAAIAAQABAAIAAgABAAIAAgAAAAEAAQABAAIAAAABAAIAAAAAAAIAAAABAAEAAQAAAAEAAwABAAMAAAABAAIAAAAAAAEAAQACAAEAAQAAAAMAAQAAAAAAAQABAAIAAAACAAAAAAAAAAIAAgABAAAAAgABAAMAAQABAAAAAAABAAIAAgABAAIAAwABAAAAAQACAAEAAQABAAAAAgADAAIAAAABAAIAAAAAAAEAAAACAAEAAQAAAAAAAAABAAIAAQABAAEAAAAAAAEAAAABAAEAAAABAAAAAgABAAEAAgACAAEAAQABAAAAAQAAAAIAAQAAAAEAAAABAAEAAQACAAAAAAABAAAAAgACAAEAAgABAAEAAAAAAAEAAQAAAAAAAgAAAAIAAQACAAEAAQAAAAMAAgACAAIAAAABAAEAAQACAAIAAQAAAAAAAAABAAIAAAAAAAEAAgABAAIAAgADAAIAAgABAAEAAgACAAEAAQABAAEAAgADAAEAAAABAAAAAQACAAEAAQACAAIAAQABAAEAAAABAAAAAQABAAAAAQAAAP//AgD//wEAAgABAAMAAAACAAAAAQACAAEAAQACAAEAAgACAAIAAQACAAAAAQAAAAIAAQABAAEAAQAAAAAAAQACAAEAAgAAAAAAAAADAAIAAgACAAIAAQACAAEAAQAAAAAAAQABAAEAAQAAAAEAAQACAAEAAQAAAAEAAAACAAEAAAACAAEAAAABAAIAAAACAAAAAQABAAIAAQABAAAAAQABAAEAAgABAAIAAQACAAIAAgABAAAAAAACAAIAAQABAAIAAQADAAAAAAABAAEAAQAAAAEAAQAAAAIAAQABAAEAAgAAAAIAAQABAAEAAwABAAAAAQAAAAIAAgABAAIAAAAAAAAAAAABAAIAAAABAAEAAQABAAIAAQAAAAEAAQAAAAEAAQACAAEAAgAAAAAAAQABAAAAAgABAAAAAQABAAIAAQAAAAAAAAACAAAAAgABAAEAAQADAAAAAQAAAAEAAQADAAAAAQABAAIAAQADAAAAAQABAAEAAAD//wEAAAAAAAEA//8AAAIAAgABAAEAAgABAAEAAQABAAMAAAAAAAEAAQABAAIAAQACAAEAAQACAAIAAQAAAAEAAgACAAMAAQADAAEAAgABAAEAAAADAAAAAAAAAAMAAgAAAAEAAwAAAAEAAQABAAIAAgABAAIAAgACAAEAAAAAAAMAAQADAAEA////////AAACAAEAAQACAAEAAAABAAEAAgABAAEAAQAAAAIAAQAAAP//AgAAAAEAAgABAAAAAAABAAAAAQABAAEAAgABAAAAAgACAAAAAQAAAAIAAgABAAAAAAACAAEA//8AAAAAAgAAAAEAAAACAP//AAAAAAEAAAABAAIAAgAAAAEAAQABAAAAAAAAAAEAAwAAAP////8BAAAAAQABAAIAAAADAAEAAgABAAEAAgABAAEAAAD//wEAAgD//wEAAgACAAAAAQAAAAEAAwACAAMAAgACAAEAAQABAAMAAQABAAEAAQAAAAIAAQABAAEAAQABAAIAAgAAAAEAAAABAAIAAQAAAAIAAAAAAAEAAQABAAEAAgABAAAAAAABAAAAAAAAAAEAAQABAAEAAAABAAAAAQABAAIAAQAAAAIAAgAAAAAAAwAAAAEAAAABAAEAAQABAAEAAgABAAAAAgABAAAAAAACAAAAAgAAAAAAAAD//wAA//8DAAEAAQABAAAAAAAAAAAAAQADAAEAAQACAAMAAAABAAAAAAAAAAAAAAACAAIAAgABAAEAAAACAAEAAQAAAAAAAAAAAAAA//8AAAIA//8CAAIAAgABAAIAAAABAAAA//////////8BAAAA//8CAAIAAQABAAEAAAAAAAEAAQACAAEAAQABAAIAAAAAAAAAAAABAAMAAQACAAEAAQAAAAEAAQABAAEAAwABAAIAAAABAAEAAgACAAMAAAD+/////v///wAAAQACAAAA//8BAP//AAABAAIAAAABAAIAAQADAAEAAQABAAAAAQABAAIAAgABAAEAAQABAAEAAgABAAEAAgADAAEAAQABAAAAAQAAAAEAAAACAP//AAACAAAAAAACAAMAAgABAAAAAgACAAAAAQAAAAAAAAAAAAEAAQABAAAAAQABAAAAAQAAAAEAAgACAAIAAgD//wEAAAACAAEAAwAAAP//AgABAAMAAgABAAAAAwAAAAAAAAABAAEAAQABAAAA//8CAAEAAAABAAMAAgAAAAAAAAAAAAAAAAD//wEAAwAAAAIAAAABAAEAAgABAAEAAQACAAAAAQAAAAEAAQACAAIAAQABAAEAAAD//wAAAwABAAEAAAAAAAAA///+////AAABAAAAAAAAAAAAAgAAAAAAAwAAAAAAAQACAAEAAQABAAEAAgAAAAAAAAABAAIAAQACAAAAAQACAAEAAAD//wAAAAAAAAIAAAABAAIAAQABAAIAAAAAAAAAAAD///////8AAAIAAQAAAAAAAQAAAAAA////////AgAAAAIAAQABAAEAAgACAAAAAAABAAAAAAAAAAMA//8AAAAAAgAAAAAAAQACAAIAAAAAAAEAAwD/////AgABAAEAAQAAAP//AAD//wIAAQABAP//AAAAAAAAAgAAAAEAAAACAAIAAAABAAIAAQABAAAAAQAAAAAAAAAAAAAAAQABAAIAAQACAAEA//8AAAAAAQABAAAAAQABAAIAAQAAAP//AgABAAIAAgAAAAIAAgD//wEAAQABAAAAAAD//wIAAAACAAEAAgAAAP///////wAAAAABAAEAAQABAAEAAQD///////8CAAEAAAABAAIAAAD//wAAAgABAAIAAQABAAAAAAAAAAAAAgACAAEAAQABAAIA//8CAAAAAQAAAAEAAQAAAAIA//8BAAIAAAAAAP//AgAAAAEAAAAAAAAAAQABAAEAAQACAAEAAQABAAAAAQABAAEAAQAAAAEAAAAAAAAA//8BAAAAAAAAAAEAAgABAAEAAAACAAIAAgABAAIAAQABAAAAAQABAAEAAQADAAEAAQABAAIAAQD//wEAAAAAAAAAAQABAAEAAAAAAP////8CAP//AQABAAEAAQABAAEAAgAAAP///////wAA//8BAAEAAQADAAEAAQAAAAEAAAABAAEAAQAAAP//AQD+/wAA//8BAAIAAQABAAEAAQAAAAAAAAABAAIA//8CAP//AAABAAEAAAAAAAIAAAAAAAEAAQABAAIAAAAAAAEAAwABAAAAAgABAAEAAgAAAAEAAQACAAEAAgAAAAIAAQAAAAAAAgAAAP3//v///wAA/////////v///wAAAQABAAIAAAD///////8CAAIAAgD//wEAAAAAAAEAAQABAAEAAgABAAEAAQABAAIAAgACAAEAAAABAAEAAQA=", "sample_rate": "16000" }
鉴权失败示例,如下所示:
{ "error_code": "401", "error_msg": "ReturnCode(MSS.20050023: AUTHORIZATION_FAILED. Token is empty). ", "trace_id": "sessionId-6ec4493f0b254293b6f29102c244610e", "is_end": false }
响应失败示例,如下所示:
{ "error_code": "500", "error_msg": "ReturnCode(MSS.20050028: TTS_ALGORITHM_SIDE_ERROR. {\"errorCode\":52439248,\"errorMsg\":\"【TTS】 合成过程遇到异常 requestId state:false : internal error\"}). ", "trace_id": "sessionId-0783354bcc7a4b818aa0250721663992-jobId-ddecf4d2ae6947b5bb97e3c6c36274be@wx123456789", "is_end": false }
错误码
状态码 |
错误码 |
错误信息 |
描述 |
处理措施 |
---|---|---|---|---|
400 |
MSS.20050053 |
没有额度 |
声音合成未开启按需付费。 |
声音合成开启按需付费。 |
401 |
MSS.20050023 |
websocket接口鉴权失败 包含下述信息:
|
websocket接口鉴权失败 详情如下所示:
|
请检查携带的鉴权信息 对应处理方式如下所示: |
403 |
MSS.000000004 |
非法访问,未鉴权或者鉴权失败 |
非法访问,未鉴权或者鉴权失败 |
请联系技术支持。 |