Hi,您好,欢迎使用有道智云长语音转写接口服务。
本文档主要针对需要集成HTTP API的技术开发工程师,详细描述长语音转写能力相关的技术内容。
如果您有与我们商务合作的需求,可以通过以下方式联系我们:
商务邮箱: AIcloud_Business@corp.youdao.com
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
客服QQ:1906538062
智云翻译技术交流QQ 1群: 652880659
智云翻译技术交流QQ 2群: 669384425
智云翻译技术交流QQ 3群: 807539209
智云翻译技术交流QQ 4群: 936752411
联系邮箱: zhiyun@corp.youdao.com
温馨提示:
长语音转写服务,将一小时内的音频数据转换成文本数据,为信息处理和数据挖掘提供基础。您只需要通过调用长语音转写 API就可以将音频数据转换成文本数据。
调用方在集成长语音转写API时,请遵循以下规则。
规则 | 描述 |
---|---|
传输方式 | HTTPS |
请求方式 | POST |
字符编码 | 统一使用UTF-8 编码 |
请求格式 | 表单 |
响应格式 | JSON |
长语音转写线上调用地址:
http://openapi.youdao.com
格式支持:wav(不压缩,pcm编码,采样率:推荐16k ,编码:16bit位深的单声道),aac,mp3
格式 | 代码 |
---|---|
wav | wav |
mp3 | mp3 |
aac | aac |
语种名称 | 代码 | 支持的时长限制 |
---|---|---|
中文 | zh-CHS | 4h |
日文 | ja | 1h |
英文 | en | 4h |
韩文 | ko | 1h |
粤语 | yue | 1h |
西班牙语 | es | 1h |
葡萄牙语 | pt | 1h |
法语 | fr | 1h |
德语 | de | 1h |
俄语 | ru | 1h |
接口参数:
参数名称 | 类型 | 含义 | 是否必填 | 示例 |
---|---|---|---|---|
salt | text | uuid(唯一通用识别码) | True | uuid,唯一通用识别码 |
type | text | 上传类型, 仅支持base64上传,请填写固定值1 | True | 1 |
appKey | text | 应用ID | True | 可在 应用管理 查看 |
sliceNum | string | 文件分片数目(建议分片大小为10M,若文件<10M,则slice_num=1 | True | 1 |
name | text | 文件名称 | True | test |
fileSize | text | 文件大小,注意:文件大小限制为500M,取值范围为:1024-589824000 byte | True | 15234 |
curtime | text | 时间戳 | True | 秒数 |
langType | text | 源语言 | True | 支持语言列表 |
sign | text | 签名 | True | sha256(应用ID+salt+curtime+应用密钥) |
signType | text | 签名版本 | True | v4 |
format | text | 语音文件的格式,wav | True | mp3/wav/aac/m4a/amr |
noitn | text | 是否进行阿拉伯数字转换,日期转换的操作。如 "十点五分" 到 “10:05” 的转换。传1是汉字,传0是阿拉伯数字。 | false | 0/1(不传默认为0) |
needSpeakerId | text | 是否需要返回说话人id (1:是, 0:否) | false | 0/1(默认为0) |
speakerNum | text | 说话人人数(0 自动识别,范围:[0-10]) | false | (默认为0) |
hotWords | String | 1、热词总长度:5000(总长度限制较大,实际到不了5000);2、单个热词内容:长度限制1 - 20 ;3、权重取值目前只能是1; 4、热词与热词之间 用 , (英文逗号)分隔 | false | 1、热词格式示例:热词/权重; 2、目前模型仅支持中文或单个英文字母生效,如果传其他文本会导致热词不生效,但不会有错误信息;3、传空字符串表示不使用热词,不会报错;4、中文传参为langType="zh-CHS2" |
{
"errorCode": "0", //错误码
"msg": "success", //信息说明
"result": "383e72a47557490aa05a344074117a9d" //返回的任务ID
}
预处理成功,调用文件上传接口;按预处理设置的分片信息(sliceNum)依次上传音频切片(文件以二进制方式multipart读取上传),
直到全部切片上传成功(如预处理时 sliceNum=2,则需将音频切分成两部分,sliceId=1和2,并按顺序调用该接口);
上一切片成功上传,才可进行下一切片的上传操作。调用过程中若出现异常,可重试若干次。
参数名称 | 类型 | 含义 | 是否必填 | 示例 |
---|---|---|---|---|
q | text | taskid | True | 任务id |
appKey | text | 应用ID | True | 可在 应用管理 查看 |
salt | text | UUID(唯一识别通用码) | True | UUID |
curtime | text | 时间戳(秒) | True | 秒 |
sign | text | 签名 | True | sha256(应用ID+salt+curtime+应用密钥) |
signType | text | 签名版本 | True | v4 |
sliceId | text | 语音文件分片的Id | True | 1 |
file | text | 文件 | True | multipart的name为file |
type | text | 上传的类型 | false | 1 |
{
"errorCode": "0", //错误码
"msg": "success", //信息说明
"result": null //返回的任务ID
}
全部文件切片上传成功后,调用该接口,通知服务端进行文件合并与转写操作。 该接口不会返回转写结果,而是通知服务端将任务列入转写计划。转写的结果通过 getResult 接口获取。
参数名称 | 类型 | 含义 | 是否必填 | 示例 |
---|---|---|---|---|
q | text | taskid | True | 任务id |
appKey | text | 应用ID | True | 可在 应用管理 查看 |
salt | text | UUID(唯一识别通用码) | True | UUID |
curtime | text | 时间戳(秒) | True | 秒 |
sign | text | 签名 | True | sha256(应用ID+salt+curtime+应用密钥) |
signType | text | 签名版本 | True | v4 |
{
"errorCode": "0", //错误码
"msg": "success", //信息说明
"result": null //返回的任务ID
}
在调用方发出合并文件请求后,服务端已将任务列入计划。在获取结果前,调用方需轮询该接口查询任务当前状态。 当且仅当任务状态=(转写结果上传完成),才可调用获取结果接口获取转写结果。 轮询策略由调用方决定,建议每隔10分钟轮询一次。状态码说明见附录。
参数名称 | 类型 | 含义 | 是否必填 | 示例 |
---|---|---|---|---|
q | text | taskid | True | 任务id |
appKey | text | 应用ID | True | 可在 应用管理 查看 |
salt | text | UUID(唯一识别通用码) | True | UUID |
curtime | text | 时间戳(秒) | True | 秒 |
sign | text | 签名 | True | sha256(应用ID+salt+curtime+应用密钥) |
signType | text | 签名版本 | True | v4 |
{
"errorCode": "0", //错误码
"msg": "success", //信息说明
"result": [{"status":"9","taskId":"xxxx"}]//处理状态:processing;complete
}
当任务处理进度状态为完成时(见查询处理进度接口),调用该接口获取转写结果。这是转写流程的最后一步。 转写结果各字段的详细说明见转写结果说明文档。 服务端也支持主动回调,转写完成之后主动发送转写结果到用户配置的回调地址
参数名称 | 类型 | 含义 | 是否必填 | 示例 |
---|---|---|---|---|
q | text | taskid | True | 任务id |
appKey | text | 应用ID | True | 可在 应用管理 查看 |
salt | text | UUID(唯一识别通用码) | True | UUID |
curtime | text | 时间戳(秒) | True | 秒 |
sign | text | 签名 | True | sha256(应用ID+salt+curtime+应用密钥) |
signType | text | 签名版本 | True | v4 |
{
"result": [{
"sentence": "Have a good day.",
"vad_id": 1,
"word_timestamps": [70, 270, 390, 710],
"word_timestamps_eds": [190, 390, 510, 830],
"words": ["Have", "a", "good", "day."],
"speaker": 1,
"partial": false}],
"errorCode": "0"
}
状态ID | 状态描述 |
---|---|
0 | 任务创建成功 |
1 | 音频上传完成 |
2 | 音频合并完成 |
3 | 音频转写中 |
4 | 转写结果处理中 |
5 | 转写完成 |
6 | 音频转写失败,需要重试 |
9 | 转写结果上传完成 |
12 | 音频转码失败 |
13 | 音频时长超过限制 |
21 | 包含不合时宜词汇 |
状态码 | 状态码含义 |
---|---|
101 | 缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。 |
102 | 不支持的语言类型 |
103 | 翻译文本过长 |
104 | 不支持的API类型 |
105 | 不支持的签名类型 |
106 | 不支持的响应类型 |
107 | 不支持的传输加密类型 |
108 | 应用ID无效,注册账号,登录后台创建应用和实例并完成绑定,可获得应用ID和应用密钥等信息 |
109 | batchLog格式不正确 |
110 | 无相关服务的有效应用,应用没有绑定服务。注:某些服务的结果发音需要tts服务,需要在控制台创建语音合成实例绑定应用后方能使用。 |
111 | 开发者账号无效 |
112 | 请求服务无效 |
113 | q不能为空 |
114 | 不支持的图片传输方式 |
201 | 解密失败,可能为DES,BASE64,URLDecode的错误 |
202 | 签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本 q 为UTF-8编码. |
203 | 访问IP地址不在可访问IP列表 |
205 | 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南 |
206 | 因为时间戳无效导致签名校验失败 |
207 | 重放请求 |
16001 | noitn参数错误 |
4000000 | q不正确 |
4000001 | 文件大小不匹配 |
4000002 | 文件为空 |
4000003 | 文件名称为空 |
4000004 | 不支持的格式 |
4000005 | sliceNum不正确 |
4000006 | sliceId不正确 |
4000007 | 不支持的文件大小 |
4000008 | 不支持的语言 |
4000009 | 任务不存在 |
4000010 | 文件上传失败 |
4000011 | 文件大小校验错误 |
4000017 | 热词非法 |
4035001 | 转写结果下载失败 |