资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

音频文件转写API

接口描述

音频文件转写接口可以将大批量的音频文件异步转写为文字。适合音视频字幕生产、批量录音质检、会议内容总结、录音内容分析等场景,一般12小时内返回识别接口。

步骤

1、根据音频url、音频格式、语言id以及采样率等参数创建音频转写任务,获取task_id参数。

2、根据task_id的数组批量查询音频转写任务结果。

在线调试&示例代码

您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。

Python Demo 点击下载 (文件为.zip压缩包,若无法打开时,可尝试在文件后上增加".zip“后缀)

创建音频转写任务-请求说明

请求接口:https://aip.baidubce.com/rpc/2.0/aasr/v1/create

HTTP 方法:POST

URL参数:

参数 取值
access_token 通过 API Key 和 Secret Key 获取的 access_token,参考Access Token获取

JSON方式上传音频

Body中放置请求参数,语音数据和其他参数通过标准 JSON 格式串行化 POST 上传,包括的参数如下:

参数名 类型 是否必需 对外状态 取值范围
speech_url str 音频url 可使用百度云对象存储进行音频存储,生成云端可外网访问的url链接,音频大小不超过500MB,url长度不超过2048字节
format str 音频格式 ["mp3", "wav", "pcm","m4a","amr"]单声道,编码 16bits 位深
pid int 语言类型 80001(中文语音近场识别模型极速版), 80006(中文音视频字幕模型,1737(英文模型)
rate int 采样率 [16000] 固定值
switch_nlp_smooth int 文本后处理开关 0关闭,1为开启
smooth_task_list int 文本后处理分功能选取 0为全开,1为标点,2为数字转化阿拉伯,3为语气词删除
switch_nlp_censor int 文本敏感词过滤开关 0关闭。1开启。开启后敏感词会变为*

若音频采样率为8k,请使用呼叫中心音频文件转写

Body请求示例:

{
    "speech_url": "https://platform.bj.bcebos.com/sdk%2Fasr%2Fasr_doc%2Fdoc_download_files%2F16k.pcm",
    "format": "pcm",
    "pid": 80001,
    "rate": 16000
}

创建音频转写任务-返回说明

返回参数

参数名 类型 是否必需 对外状态
log_id int log id
task_id str 任务id
task_status str 任务状态
error_code int 错误码
error_msg str 错误信息

Body返回示例:

 # 创建成功
{
    "log_id": 12345678,
    "task_status": "Created",
    "task_id":  "234acb234acb234acb234acb"  #注意保存该id,用于后续请求识别结果
}
 # 创建失败,缺少参数
{
    "error_code": 336203,
    "error_msg": "missing param: speech_url",
    "log_id": 5414433131138366128
}

注意:查询识别结果时,需要该步骤返回的task_id来进行请求。请注意保存task_id列表。


查询音频转写任务-请求说明

请求接口:https://aip.baidubce.com/rpc/2.0/aasr/v1/query

HTTP 方法:POST

URL参数:

参数 取值
access_token 通过API Key和Secret Key获取的access_token,参考Access Token获取

Body中放置请求参数,参数如下:

参数名 类型 是否必需 描述 取值范围
task_ids list 任务id task_ids为空,返回空任务结果列表;单次查询任务数不超过200个

请求示例:

{
    "task_ids":  ["234acb234acb234acb234acb", "234acb234acb234acb234acd", "234acb234acb234acb234acbe"]
}

查询音频转写任务-返回说明

返回参数:

参数名 类型 是否必需 描述
log_id int log id
tasks_info list 多个任务的结果
+task_id str 任务id
+task_status str 任务状态
+task_result dict 转写结果的json格式
++corpus_no str 日志,反馈时使用
++result str 转写结果
++audio_duration int 音频时长(毫秒)
++detailed_result list 分段转写详细结果
+++res list 分段转写文本
+++begin_time int 分段开始时间
+++end_time int 分段结束时间
+++words_info list 字粒度(预留参数,暂不启用)
+++sn str 分段日志,反馈时使用
+++corpus_no str 分段日志,反馈时使用
++err_no int 转写失败错误码
++err_msg str 转写失败错误信息
error_code int 请求错误码
error_msg str 请求错误信息
error_info list 错误的或查询不存在的taskid数组

返回示例:

{
    "log_id": 12345678,
    "tasks_info": [
	    { # 转写中
	    	"task_status": "Running"
		    "task_id": "234acb234acb234acb234acb",
	    },
	    { # 转写失败
	    	"task_status": "Failure"
		    "task_id": "234acb234acb234acb234acd",
		    "task_result": {
			    "err_no":  3301
			    "err_msg": "speech quality error",
			    "sn": "xxx"
		    }
	    },
	    { # 转写成功
		    "task_status": "Success",
		    "task_result": {
		    	"result": [
			        "观众朋友大家好,欢迎收看本期视频哦。毕竟..."
			    ],
                "audio_duration": 6800,
			    "detailed_result": [
			        {
			        	"res": [
			                "观众朋友大家好,欢迎收看本期视频哦。"
			            ],
			            "end_time": 6700,
			            "begin_time": 4240,
			            "words_info": [],
			            "sn": "257826606251573543780",
			            "corpus_no": "6758319075297447880"
			        }
			        ...
			    ],
			    "corpus_no": "6758319075297447880" 
			},
			"task_id": "234acb234acb234acb234ace"
	    }
	]
}
上一篇
实时语音识别-websocket API
下一篇
音频文件转写极速版API