History
Introduction
API Category
Making API Requests
Region APIs
Instance APIs
Cloud Hosting Cluster APIs
Image APIs
Instance Launch Template APIs
Placement Group APIs
Key APIs
Security Group APIs
Network APIs
Data Types
Error Codes
内容 | 说明 |
语言种类 | 支持中文普通话、粤语、英语、韩语、日语、泰语、印度尼西亚语、马来语、阿拉伯语等。可通过接口参数 engine_model_type 设置对应语言类型 |
支持行业 | 通用、金融、游戏、教育、医疗 |
音频属性 | 采样率:16000Hz或8000Hz 采样精度:16bits 声道:单声道(mono) |
音频格式 | pcm、wav、opus、speex、silk、mp3、m4a、aac |
请求协议 | wss 协议 |
请求地址 | wss://asr.cloud.tencent.com/asr/v2/<appid>?{请求参数} |
接口鉴权 | |
响应格式 | 统一采用 JSON 格式 |
数据发送 | 建议每40ms发送40ms时长(即1:1实时率)的数据包,对应 pcm 大小为:8k采样率640字节,16k采样率1280字节 音频发送速率过快超过1:1实时率或者音频数据包之间发送间隔超过6秒,可能导致引擎出错,后台将返回错误并主动断开连接 |
并发限制 |
字段名 | 类型 | 描述 |
code | Integer | 状态码,0代表正常,非0值表示发生错误 |
message | String | 错误说明,发生错误时显示这个错误发生的具体原因,随着业务发展或体验优化,此文本可能会经常保持变更或更新 |
voice_id | String | 音频流唯一 id,由客户端在握手阶段生成并赋值在调用参数中 |
message_id | String | 本 message 唯一 id |
result | Result | 最新语音识别结果 |
final | Integer | 该字段返回1时表示音频流全部识别结束 |
字段名 | 类型 | 描述 |
slice_type | Integer | 识别结果类型: 0:一段话开始识别 1:一段话识别中,voice_text_str 为非稳态结果(该段识别结果还可能变化) 2:一段话识别结束,voice_text_str 为稳态结果(该段识别结果不再变化) 根据发送的音频情况,识别过程中可能返回的 slice_type 序列有: 0-1-2:一段话开始识别、识别中(可能有多次1返回)、识别结束 0-2:一段话开始识别、识别结束 2:直接返回一段话完整的识别结果 |
index | Integer | 当前一段话结果在整个音频流中的序号,从0开始逐句递增 |
start_time | Integer | 当前一段话结果在整个音频流中的起始时间 |
end_time | Integer | 当前一段话结果在整个音频流中的结束时间 |
voice_text_str | String | 当前一段话文本结果,编码为 UTF8 |
word_size | Integer | 当前一段话的词结果个数 |
word_list | Word Array | 当前一段话的词列表,Word 结构体格式为: word:String 类型,该词的内容 start_time:Integer 类型,该词在整个音频流中的起始时间 end_time:Integer 类型,该词在整个音频流中的结束时间 stable_flag:Integer 类型,该词的稳态结果,0表示该词在后续识别中可能发生变化,1表示该词在后续识别过程中不会变化 |
wss://asr.cloud.tencent.com/asr/v2/<appid>?{请求参数}
key1=value2&key2=value2...(key 和 value 都需要进行 urlencode)
参数名称 | 必填 | 类型 | 描述 |
secretid | 是 | String | |
timestamp | 是 | Integer | 当前 UNIX 时间戳,单位为秒。如果与当前时间相差过大,会引起签名过期错误 |
expired | 是 | Integer | 签名的有效期截止时间 UNIX 时间戳,单位为秒。expired 必须大于 timestamp 且 expired - timestamp 小于90天 |
nonce | 是 | Integer | 随机正整数。用户需自行生成,最长10位 |
engine_model_type | 是 | String | 引擎模型类型 电话场景: 8k_zh:中文电话通用; 8k_en:英文电话通用; 非电话场景: 16k_zh_large:普方英大模型引擎【大模型版】。当前模型同时支持中文、英文、多种中文方言等语言的识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升; 16k_zh:中文普通话通用; 16k_yue: 粤语; 16k_zh-TW: 中文繁体; 16k_ar: 阿拉伯语; 16k_en:英语; 16k_ko:韩语; 16k_ja:日语; 16k_th:泰语; 16k_id : 印度尼西亚语; 16k_ms: 马来语; |
voice_id | 是 | String | 16位 String 串作为每个音频的唯一标识,用户自己生成 |
voice_format | 否 | Int | 语音编码方式,可选,默认值为4。1:pcm;4:speex(sp);6:silk;8:mp3;10:opus(opus 格式音频流封装说明);12:wav;14:m4a(每个分片须是一个完整的 m4a 音频);16:aac |
needvad | 否 | Integer | 0:关闭 vad,1:开启 vad 如果语音分片长度超过60秒,用户需开启 vad(人声检测切分功能) |
hotword_id | 否 | String | 热词表 id。如不设置该参数,自动生效默认热词表;如果设置了该参数,那么将生效对应的热词表 |
reinforce_hotword | 否 | Integer | 热词增强功能。默认为0,0:不开启,1:开启。 开启后(仅支持8k_zh,16k_zh),将开启同音替换功能,同音字、词在热词中配置。 举例:热词配置“蜜制”并开启增强功能后,与“蜜制”同拼音(mizhi)的“秘制”、“蜜汁”等的识别结果会被强制替换成“蜜制”。因此建议客户根据自己的实际情况开启该功能。 |
customization_id | 否 | String | 自学习模型 id。如不设置该参数,自动生效最后一次上线的自学习模型;如果设置了该参数,那么将生效对应的自学习模型 |
filter_dirty | 否 | Integer | 是否过滤脏词(目前支持中文普通话引擎)。默认为0。0:不过滤脏词;1:过滤脏词;2:将脏词替换为“ * ” |
filter_modal | 否 | Integer | 是否过语气词(目前支持中文普通话引擎)。默认为0。0:不过滤语气词;1:部分过滤;2:严格过滤 |
filter_punc | 否 | Integer | 是否过滤句末的句号(目前支持中文普通话引擎)。默认为0。0:不过滤句末的句号;1:过滤句末的句号 |
filter_empty_result | 否 | Integer | 是否回调识别空结果,默认为1。0:回调空结果;1:不回调空结果; 注意:如果需要 slice_type=0 和 slice_type=2 配对回调,需要设置 filter_empty_result=0。一般在外呼场景需要配对返回,通过 slice_type=0 来判断是否有人声出现。 |
convert_num_mode | 否 | Integer | 是否进行阿拉伯数字智能转换(目前支持中文普通话引擎)。0:不转换,直接输出中文数字,1:根据场景智能转换为阿拉伯数字,3: 打开数学相关数字转换。默认值为1 |
word_info | 否 | Int | 是否显示词级别时间戳。0:不显示;1:显示,不包含标点时间戳,2:显示,包含标点时间戳。支持引擎 8k_en、8k_zh、8k_zh_finance、16k_zh、16k_en、16k_ca、16k_zh-TW、16k_ja、16k_wuu-SH,默认为0 |
vad_silence_time | 否 | Integer | 语音断句检测阈值,静音时长超过该阈值会被认为断句(多用在智能客服场景,需配合 needvad = 1 使用),取值范围:240-2000,单位 ms,此参数建议不要随意调整,可能会影响识别效果,目前仅支持 8k_zh、8k_zh_finance、16k_zh 引擎模型 |
max_speak_time | 否 | Integer | 强制断句功能,取值范围 5000-90000(单位:毫秒),默认值0(不开启)。 在连续说话不间断情况下,该参数将实现强制断句(此时结果变成稳态,slice_type=2)。如:游戏解说场景,解说员持续不间断解说,无法断句的情况下,将此参数设置为10000,则将在每10秒收到 slice_type=2的回调。 |
noise_threshold | 否 | Float | 噪音参数阈值,默认为0,取值范围:[-1,1],对于一些音频片段,取值越大,判定为噪音情况越大。取值越小,判定为人声情况越大。 慎用:可能影响识别效果 |
signature | 是 | String | 接口签名参数 |
hotword_list | 否 | String | 临时热词表:该参数用于提升识别准确率。 单个热词限制:"热词|权重",单个热词不超过30个字符(最多10个汉字),权重1-11,如:“腾讯云|5” 或 “ASR|11”; 临时热词表限制:多个热词用英文逗号分割,最多支持128个热词,如:“腾讯云|10,语音识别|5,ASR|11”; 参数 hotword_id(热词表) 与 hotword_list(临时热词表) 区别: hotword_id:热词表。需要先在控制台或接口创建热词表,获得对应 hotword_id 传入参数来使用热词功能; hotword_list:临时热词表。每次请求时直接传入临时热词表来使用热词功能,云端不保留临时热词表。适用于有极大量热词需求的用户; 注意: 如果同时传入了 hotword_id 和 hotword_list,会优先使用 hotword_list; 热词权重设置为11时,当前热词将升级为超级热词,建议仅将重要且必须生效的热词设置到11,设置过多权重为11的热词将影响整体字准率。 |
input_sample_rate | 否 | Integer | 支持 pcm 格式的8k音频在与引擎采样率不匹配的情况下升采样到16k后识别,能有效提升识别准确率。仅支持:8000。如:传入 8000 ,则 pcm 音频采样率为8k,当引擎选用16k_zh, 那么该8k采样率的 pcm 音频可以在16k_zh引擎下正常识别。 注意:此参数仅适用于 pcm 格式音频,不传入值将维持默认状态,即默认调用的引擎采样率等于 pcm 音频采样率。 |
asr.cloud.tencent.com/asr/v2/125922**?engine_model_type=16k_zh&expired=1592380492&filter_dirty=1&filter_modal=1&filter_punc=1&needvad=1&nonce=1592294092123&secretid=*****Qq1zhZMN8dv0*****×tamp=1592294092&voice_format=1&voice_id=RnKu9FODFHK5FPpsrN
Base64Encode(HmacSha1("asr.cloud.tencent.com/asr/v2/125922**?engine_model_type=16k_zh&expired=1592380492&filter_dirty=1&filter_modal=1&filter_punc=1&needvad=1&nonce=1592294092123&secretid=*****Qq1zhZMN8dv0*****×tamp=1592294092&voice_format=1&voice_id=RnKu9FODFHK5FPpsrN", "kFpwoX5RYQ2SkqpeHgqmSzHK7h3A2fni"))
HepdTRX6u155qIPKNKC+3U0j1N0=
wss://asr.cloud.tencent.com/asr/v2/125922***?engine_model_type=16k_zh&expired=1592380492&filter_dirty=1&filter_modal=1&filter_punc=1&needvad=1&nonce=1592294092123&secretid=*****Qq1zhZMN8dv0*****×tamp=1592294092&voice_format=1&voice_id=RnKu9FODFHK5FPpsrN&signature=HepdTRX6u155qIPKNKC%2B3U0j1N0%3D
OpusHead(4字节) | 帧数据长度(2字节) | Opus 一帧压缩数据 |
opus | 长度 len | 对应 len 长的 opus decode data |
{"code":0,"message":"success","voice_id":"RnKu9FODFHK5FPpsrN"}
{"type": "end"}
{"code":0,"message":"success","voice_id":"RnKu9FODFHK5FPpsrN","message_id":"RnKu9FODFHK5FPpsrN_11_0","result":{"slice_type":0,"index":0,"start_time":0,"end_time":1240,"voice_text_str":"实时","word_size":0,"word_list":[]}}
{"code":0,"message":"success","voice_id":"RnKu9FODFHK5FPpsrN","message_id":"RnKu9FODFHK5FPpsrN_33_0","result":{"slice_type":2,"index":0,"start_time":0,"end_time":2840,"voice_text_str":"实时语音识别","word_size":0,"word_list":[]}}
{"code":0,"message":"success","voice_id":"CzhjnqBkv8lk5pRUxhpX","message_id":"CzhjnqBkv8lk5pRUxhpX_241","final":1}
{"code":4008,"message":"后台识别服务器音频分片等待超时","voice_id":"CzhjnqBkv8lk5pRUxhpX","message_id":"CzhjnqBkv8lk5pRUxhpX_241"}
数值 | 说明 |
4001 | 参数不合法,具体详情参考 message |
4002 | 鉴权失败 |
4003 | AppID 服务未开通,请在控制台开通服务 |
4004 | 无可使用的免费额度 |
4005 | 账户欠费停止服务,请及时充值 |
4006 | 账号当前调用并发超限 |
4007 | 音频解码失败,请检查上传音频数据格式与调用参数一致 |
4008 | 客户端数据上传超时 |
4009 | 客户端连接断开 |
4010 | 客户端上传未知文本消息 |
5000 | 后台错误,请重试 |
5001 | 后台识别服务器识别失败,请重试 |
5002 | 后台识别服务器识别失败,请重试 |
文档反馈