帮助与文档 > 产品文档 > 智能语音服务 > API文档 > 长语音转写
长语音转写

长语音转写简介

说明

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

温馨提示:

  • 本文档主要针对开发人员,接入测试前需要获取应用ID和应用密钥,并绑定实例;如果您还没有,请按照 新手指南 获取。
  • 平台向每个账户赠送50元的体验金,供用户集成前测试所用。

接口说明

长语音转写服务,将一小时内的音频数据转换成文本数据,为信息处理和数据挖掘提供基础。您只需要通过调用长语音转写 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

文件上传接口定义

预处理接口

  • 接口uri:/api/audio/prepare

    接口参数:

参数名称 类型 含义 是否必填 示例
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
    }
    

文件分片上传接口

  • 接口uri:/api/audio/upload

  • 接口说明:

    预处理成功,调用文件上传接口;按预处理设置的分片信息(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
}

合并文件

  • 接口uri:/api/audio/merge

  • 接口说明:

    全部文件切片上传成功后,调用该接口,通知服务端进行文件合并与转写操作。 该接口不会返回转写结果,而是通知服务端将任务列入转写计划。转写的结果通过 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
}

查询转写进度

  • 接口uri:/api/audio/get_progress

  • 接口说明:

    在调用方发出合并文件请求后,服务端已将任务列入计划。在获取结果前,调用方需轮询该接口查询任务当前状态。 当且仅当任务状态=(转写结果上传完成),才可调用获取结果接口获取转写结果。 轮询策略由调用方决定,建议每隔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
}

查询转写结果

  • 接口uri:/api/audio/get_result

  • 接口说明:

    当任务处理进度状态为完成时(见查询处理进度接口),调用该接口获取转写结果。这是转写流程的最后一步。 转写结果各字段的详细说明见转写结果说明文档。 服务端也支持主动回调,转写完成之后主动发送转写结果到用户配置的回调地址

  • 接口参数:

参数名称 类型 含义 是否必填 示例
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"
}

常用语言demo

java示例

长语音转写 python demo

python3 示例

长语音转写 python demo

go 示例

长语音转写 go demo

任务状态码

状态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 重放请求(接口salt+curtime来防重放(即一个请求不可以被请求2次),所以salt最好为UUID。)
16001 noitn参数错误
4000000 q不正确
4000001 文件大小不匹配
4000002 文件为空
4000003 文件名称为空
4000004 不支持的格式
4000005 sliceNum不正确
4000006 sliceId不正确
4000007 不支持的文件大小
4000008 不支持的语言
4000009 任务不存在
4000010 文件上传失败
4000011 文件大小校验错误
4000017 热词非法
4035001 转写结果下载失败