录音文件识别
对用户上传的录音文件进行识别,录音文件大小不超过100M,可用于会议语音资料转写、客服语音质检等各类场景,使用前需提交工单开通,暂不支持直接开放使用。
识别请求参数
请求URL: https://audio-recognition.qiniuapi.com/?cmd=async
请求方式: POST
请求 Header:
字段 | 取值 |
---|---|
Content-Type | application/json |
Authorization | Qiniu <AccessKey>:<Sign> 注意: 用户请根据 AccessKey 和 SuccessKey 生成鉴权,以便进行身份验证。<Sign> 的取值请参考七牛鉴权 |
请求 Body:
字段 | 类型 | 是否必选 | 说明 |
---|---|---|---|
voice_id | string | Y | 语音流id |
format | string | N | 音频文件格式,支持 wav、mp3 等常见格式 |
model_type | string | N | 模型id,默认"0"。 0: 普通话; en: 英语; cantonese: 粤语; cn_en_16k: 中英混合 |
need_words | int32 | N | 是否需要返回词的时间信息,0:不需要;1:需要。默认0 |
need_dia | int32 | N | 是否需要对单通道文件做说话人分离,0:不需要;1:需要。默认0 |
need_role | int32 | N | 是否需要角色识别,0:不需要;1:需要。目前识别两个角色,”C”: 客户; “S”:客服 |
audio | string | Y | base64encode后的音频数据,最大支持 100MB |
model_type | string | N | 模型id,默认"0"。 0: 普通话; en: 英语; cantonese: 粤语; cn_en_16k: 中英混合 |
hot_words | list[hot_word] | N | 用户自定义热词,最多100词,每个热词40字节以内 |
hot_word
字段 | 类型 | 是否必选 | 说明 |
---|---|---|---|
hot_word | string | Y | 去除特殊符合的热词 |
factor | float | Y | 热词权重;范围[-10,10];正数为增加权重,负数为减少权重;绝对值越大调整越多;推荐1.0 |
识别返回结果
字段 | 类型 | 说明 |
---|---|---|
ret | int32 | 返回标志码,0为正常,否则异常,详见下文 |
msg | string | 错误信息说明 |
session_id | string | uuid |
识别 API 示例
请求示例
POST /?cmd=async HTTP/1.1
Host: audio-recognition.qiniuapi.com
Content-Type: application/json
Authorization: Qiniu xxxxxxx
{
"voice_id":"test_voice",
"audio": "base64_encode_audio"
}
返回示例
HTTP/1.1 200 OK
Content-Type: application/json
{
"ret":0,
"msg":"success",
"session_id": "xxxxx"
}
识别结果查询
查询请求参数
请求URL: https://audio-recognition.qiniuapi.com/?cmd=pull
请求方式: POST
请求 Header:
字段 | 取值 |
---|---|
Content-Type | application/json |
Authorization | Qiniu <AccessKey>:<Sign> 注意: 用户请根据 AccessKey 和 SuccessKey 生成鉴权,以便进行身份验证。<Sign> 的取值请参考七牛鉴权 |
请求 Body:
字段 | 类型 | 是否必选 | 说明 |
---|---|---|---|
session_id | string | Y | 异步接口返回的session_id |
查询结果返回
字段 | 类型 | 说明 |
---|---|---|
ret | int32 | 返回标志码,0为正常,否则异常,详见下文 |
msg | string | 错误信息说明 |
all_text | string | 文件所有解码文本 |
c_text | string | 文件解码客户文本 |
s_text | string | 文件解码客服文本 |
texts.chan_no | int32 | 文本片段通道编号 |
texts.seg_no | int32 | 文本片段编号 |
texts.mbtm | int32 | 文本片段起始时间,毫秒 |
texts.metm | int32 | 文本片段终止时间,毫秒 |
texts.text | string | 文本 |
texts.words | jsonArray | 词时间信息 |
texts.words.word | string | 词本身 |
texts.words.seg_start | float32 | 毫秒,当前词在该分段中的起始位置 |
texts.words.seg_end | float32 | 毫秒,当前词在该分段中的结束位置 |
texts.words.voice_start | float32 | 毫秒,当前词在该文件中的起始位置 |
texts.words.voice_end | float32 | 毫秒,当前词在该文件中的结束位置 |
查询 API 示例
请求示例
POST /?cmd=sync HTTP/1.1
Host: audio-recognition.qiniuapi.com
Content-Type: application/json
Authorization: Qiniu xxxxxxx
{
"voice_id":"test_voice",
"audio": "base64_encode_audio"
}
返回示例
HTTP/1.1 200 OK
Content-Type: application/json
{
"ret":0,
"msg":"success",
"all_text":"测试语音\n",
"c_text":"",
"s_text":"",
"duration":7.275000095367432,
"texts":[
{
"chan_id":0,
"seg_no":0,
"mbtm":0,
"metm":7279,
"text":"测试语音。",
"role":"unk"
}
]
}
错误码
ret 值 | 含义 |
---|---|
0 | 成功 |
1011 | 排队中 |
1012 | 处理中 |
1013 | 已获取 |
1014 | 未知任务 |
ret 值 | 含义 |
---|---|
0 | 成功 |
100 | 传入参数错误 |
101 | 识别服务异常 |
102 | 获取音频失败 |
103 | 识别错误返回 |
105 | 识别返回空 |
106 | 识别返回超时 |
107 | 文件为空 |
114 | 文本后处理失败 |
119 | 可能传入音频数据有误 |
120 | 音频格式不支持 |
1000 | 错误的请求包 |
1001 | Speex解码错误 |
1003 | 声纹服务异常 |
1004 | 音频格式转换失败 |
价格
每月用量(小时) | 价格(元/小时) |
---|---|
0~8999 | 2.2 |
9000~29999 | 2 |
30000~89999 | 1.6 |
90000~149999 | 1.35 |
150000以上 | 0.9 |
文档反馈
(如有产品使用问题,请 提交工单)