帮助与文档 > 产品文档 > 智能语音服务 > 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

格式代码
wavwav
mp3mp3
aacaac

支持的语种

语种名称代码支持的时长限制
中文zh-CHS4h
日文ja1h
英文en4h
韩文ko1h
粤语yue1h
西班牙语es1h
葡萄牙语pt1h
法语fr1h
德语de1h
俄语ru1h

文件上传接口定义

预处理接口

  • 接口uri:/api/audio/prepare

接口参数:

参数名称类型含义是否必填示例
salttextuuid(唯一通用识别码)Trueuuid,唯一通用识别码
typetext上传类型, 仅支持base64上传,请填写固定值1True1
appKeytext应用IDTrue可在 应用管理 查看
sliceNumstring文件分片数目(建议分片大小为10M,若文件<10M,则slice_num=1True1
nametext文件名称Truetest
fileSizetext文件大小,注意:文件大小限制为500M,取值范围为:1024-589824000 byteTrue15234
curtimetext时间戳True秒数
langTypetext源语言True支持语言列表
signtext签名Truesha256(应用ID+salt+curtime+应用密钥)
signTypetext签名版本Truev4
formattext语音文件的格式,wavTruemp3/wav/aac/m4a/amr
noitntext是否进行阿拉伯数字转换,日期转换的操作。如 "十点五分" 到 “10:05” 的转换。传1是汉字,传0是阿拉伯数字。false0/1(不传默认为0)
needSpeakerIdtext是否需要返回说话人id (1:是, 0:否)false0/1(默认为0)
speakerNumtext说话人人数(0 自动识别,范围:[0-10])false(默认为0)
hotWordsString1、热词总长度:5000(总长度限制较大,实际到不了5000);2、单个热词内容:长度限制1 - 20 ;3、权重取值目前只能是1; 4、热词与热词之间 用 , (英文逗号)分隔false1、热词格式示例:热词/权重; 2、目前模型仅支持中文或单个英文字母生效,如果传其他文本会导致热词不生效,但不会有错误信息;3、传空字符串表示不使用热词,不会报错;4、中文传参为langType="zh-CHS2"
  • 响应结果
  •   {    
      "errorCode": "0", //错误码   
      "msg": "success", //信息说明    
      "result": "383e72a47557490aa05a344074117a9d" //返回的任务ID
      }

文件分片上传接口

  • 接口uri:/api/audio/upload
  • 接口说明:

预处理成功,调用文件上传接口;按预处理设置的分片信息(sliceNum)依次上传音频切片(文件以二进制方式multipart读取上传),

直到全部切片上传成功(如预处理时 sliceNum=2,则需将音频切分成两部分,sliceId=1和2,并按顺序调用该接口);

上一切片成功上传,才可进行下一切片的上传操作。调用过程中若出现异常,可重试若干次。

  • 接口参数:
参数名称类型含义是否必填示例
qtexttaskidTrue任务id
appKeytext应用IDTrue可在 应用管理 查看
salttextUUID(唯一识别通用码)TrueUUID
curtimetext时间戳(秒)True
signtext签名Truesha256(应用ID+salt+curtime+应用密钥)
signTypetext签名版本Truev4
sliceIdtext语音文件分片的IdTrue1
filetext文件Truemultipart的name为file
typetext上传的类型false1
  • 响应结果
{    
    "errorCode": "0", //错误码    
    "msg": "success", //信息说明    
    "result": null //返回的任务ID
}

合并文件

  • 接口uri:/api/audio/merge
  • 接口说明:

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

  • 接口参数:
参数名称类型含义是否必填示例
qtexttaskidTrue任务id
appKeytext应用IDTrue可在 应用管理 查看
salttextUUID(唯一识别通用码)TrueUUID
curtimetext时间戳(秒)True
signtext签名Truesha256(应用ID+salt+curtime+应用密钥)
signTypetext签名版本Truev4
  • 响应结果
{
    "errorCode": "0", //错误码
    "msg": "success", //信息说明
    "result": null //返回的任务ID
}

查询转写进度

  • 接口uri:/api/audio/get_progress
  • 接口说明:

在调用方发出合并文件请求后,服务端已将任务列入计划。在获取结果前,调用方需轮询该接口查询任务当前状态。 当且仅当任务状态=(转写结果上传完成),才可调用获取结果接口获取转写结果。 轮询策略由调用方决定,建议每隔10分钟轮询一次。状态码说明见附录。

  • 接口参数:
参数名称类型含义是否必填示例
qtexttaskidTrue任务id
appKeytext应用IDTrue可在 应用管理 查看
salttextUUID(唯一识别通用码)TrueUUID
curtimetext时间戳(秒)True
signtext签名Truesha256(应用ID+salt+curtime+应用密钥)
signTypetext签名版本Truev4
  • 响应结果
{
    "errorCode": "0", //错误码
    "msg": "success", //信息说明
    "result": [{"status":"9","taskId":"xxxx"}]//处理状态:processing;complete
}

查询转写结果

  • 接口uri:/api/audio/get_result
  • 接口说明:

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

  • 接口参数:
参数名称类型含义是否必填示例
qtexttaskidTrue任务id
appKeytext应用IDTrue可在 应用管理 查看
salttextUUID(唯一识别通用码)TrueUUID
curtimetext时间戳(秒)True
signtext签名Truesha256(应用ID+salt+curtime+应用密钥)
signTypetext签名版本Truev4
  • 响应结果
{
    "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和应用密钥等信息
109batchLog格式不正确
110无相关服务的有效应用,应用没有绑定服务。注:某些服务的结果发音需要tts服务,需要在控制台创建语音合成实例绑定应用后方能使用。
111开发者账号无效
112请求服务无效
113q不能为空
114不支持的图片传输方式
201解密失败,可能为DES,BASE64,URLDecode的错误
202签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本 q 为UTF-8编码.
203访问IP地址不在可访问IP列表
205请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南
206因为时间戳无效导致签名校验失败
207重放请求
16001noitn参数错误
4000000q不正确
4000001文件大小不匹配
4000002文件为空
4000003文件名称为空
4000004不支持的格式
4000005sliceNum不正确
4000006sliceId不正确
4000007不支持的文件大小
4000008不支持的语言
4000009任务不存在
4000010文件上传失败
4000011文件大小校验错误
4000017热词非法
4035001转写结果下载失败