# 语音识别接口

相比v1.0 升级如下

  1. 鉴权方式更新为新的鉴权方式
  2. 添加字段支持使用识别纯英文,粤语也即将支持
  3. 添加字段可以返回带标点符号的文本
  4. 优化字段,去除了不必要的字段

# 请求

# 请求地址

https://{BASE_URL}/xwcloudapi/asr

# 请求方式:post
# 请求参数:
头部字段 说明
Content-Type application/octet-stream
Auth 安全验证字段,取值为上文安全规则中的Auth字段 参见上文安全相关章节

POST数据: query_args + 1字节0 + 语音

注:

其中“1字节0”“1字节1”指的是二进制0x0 及 0x1

query_args字段:

参数名称 参数类型 参数描述
timestamp string 必选,用于安全验证(指服务器时间戳,s)
pid int 硬件产品标识id 来源于小微平台分配
SN string 硬件产品 序列号,标识一个唯一的硬件。
query_id String 一段语音请求的id 为32字节长度的值,同一段语音不变
seq unsigned int 同一个语音流中请求包的自增序号,从0开始;对于speex等类型的压缩语音,是指压缩前原始语音的偏移;
len unsigned int 该语音请求中语音数据的长度;对于speex等类型的压缩语音,是指压缩前原始语音的长度;需要跟解压后语音的长度一致;
voice_file_type unsigned int 语音文件类型;1:raw 2:wav
voice_encode_type unsigned int 语音编码类型;1:pcm 2:adpcm 3:feature 4:speex 5:amr 6:silk 7.mp3 8.ogg-speex
end unsigned int 标记是否是尾包;1是,0不是,默认0
head_silence_thres int 默认为5000,即5s长度语音vad 语音前部静音阈值,超过该阈值返回错误
tail_silence_thres int 默认为500,即500ms vad尾部静音语音尾部静音阈值,用于初始化evad handle
type int 近场还是远场 0. 远场 1 近场 默认远场
cloud_vad int 是否启用云端vad检测 默认0 0 本地vad 1云端vad, 当language 为 非0的时候,cloud_vad = 0;
language int 使用语言识别引擎,默认为 0:中文 可设置 1 英文 2: 粤语(待调试)
add_punc int 识别结果标点配置模式 非必填,默认值为-2,不添加标点 -2:不添加标点 -1:识别服务默认配置(一般是不添加标点) 0:逗号、句号 1:逗号、句号、顿号 2:逗号、句号、顿号、问号 3:逗号、句号、顿号、问号、感叹号
# 说明:

query_args : 字段名1=value&字段名2=value&....

# 返回

# 结果格式: json
# 结果字段:
字段 类型 备注说明
code int 0成功非零失败
msg string 结果的文字描述
data json 详细结果字段
data.is_voice_end bool 是否识别结束
data.is_speak_begin bool 是否检测到有效语音
data.query_text string 用户 asr识别结果
data.query_id string 请求voiceid
data.seq string 请求seq
# 错误码说明:
错误码值 说明
51002 asr 系统错误,一般不会遇到
51003 asr 系统错误,一般不会遇到,
51004 asr 系统错误,一般不会遇到,
51005 静音时间过长
51006 丢包并且一直没有找回
51007 无用的语音数据,一般见于已经完整识别了语音,有收到query_id的语音包
51008 语音数据太长了
# 示例1: 一个成功的返回
{
    "code":0,
    "data":{
        "is_end":0,
        "is_speak_begin":0,
        "query_text":"我要听林",
        "voice_id":"VyotYnCoRBSxzEIwadbzPjkLMzmkKjul"
        },
    "msg":"OK"
}

# 示例代码:

待补充。