录音文件识别
对用户上传的录音文件进行识别,录音文件大小不超过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 | 
    文档反馈
    (如有产品使用问题,请 提交工单)