功能介绍
一句话识别接口,用于短语音的同步识别。一次性上传1min以内音频,能快速返回识 别结果。该接口的使用限制请参见约束与限制,详细使用指导请参见SIS服务使用简介 章节。
调试
您可以在API Explorer中调试该接口。
URI
POST /v1/{project_id}/asr/short-audio
表6-1 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目编号。获取方法,请参见获取项目
ID。
请求参数
表6-2 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。
Token认证就是在调用API的时候将Token
config 是
Config
object 配置信息。
data 是 String 语音数据,Base64编码,要求Base64编 码后大小不超过4M,音频时长不超过1分
property 是 String 所使用的模型特征串,通常是 “语种_采 样率_领域”的形式,采样率需要与音频 采样率保持一致,取值范围请参考表
property取值范围。
add_punc 否 String 表示是否在识别结果中添加标点,取值为
“yes”和“no”,默认为“no”。
digit_norm 否 String 表示是否将语音中的数字识别为阿拉伯数 字,取值为“yes” 和 “no”,默认为
表6-5 audio_format 取值范围 audio_format取值 描述
pcm16k16bit 16k16bit单通道录音数据。
pcm8k16bit 8k16bit单通道录音数据。
ulaw16k8bit 16k8bit ulaw单通道录音数据。
ulaw8k8bit 8k8bit ulaw单通道录音数据。
alaw16k8bit 16k8bit alaw单通道录音数据。
alaw8k8bit 8k8bit alaw单通道录音数据。
mp3 mp3格式音频。目前仅支持单通道的音频。
aac aac格式音频。目前仅支持单通道的音频。
wav 带wav封装头的格式,从封装头中自动确定格式,目前仅 支持8k/16k采样率、单通道、pcm, alaw, ulaw三种编码 格式。
amr AMR窄带(8k) 压缩录音数据。目前仅支持单通道的音 频。
amrwb AMR 宽带(16k) 压缩录音数据。目前仅支持单通道的音 频。
表6-6 property 取值范围 property取值 描述
chinese_8k_common 支持采样率为8k的中文普通话语音识别。
chinese_16k_common 支持采样率为16k的中文普通话语音识别。
chinese_16k_general 支持采样率为16k的中文普通话语音识别,同时可识别一 些简单的方言。
格式仅支持pcm16k16bit、mp3、wav,区域仅支持cn-north-4。
sichuan_16k_common 支持采样率为16k的中文普通话与四川话方言识别。区域 仅支持cn-north-4。
cantonese_16k_comm
on 支持采样率为16k的粤语方言识别。区域仅支持cn-north-4。
shanghai_16k_commo
n
支持采样率为16k的上海话方言识别,区域仅支持cn-north-4。
响应参数
状态码: 200
表6-7 响应 Body 参数
参数 是否必选 参数类型 描述
trace_id 是 String 服务内部的令牌,可用于在日志中追溯具 体流程,调用失败无此字段。
在某些错误情况下可能没有此令牌字符 串。
result 是
Result
object 调用成功表示识别结果,调用失败时无此 字段。
表6-8 Result
参数 是否必选 参数类型 描述
text 是 String 调用成功表示识别出的内容。
score 是 Float 调用成功表示识别出的置信度,取值范 围:0~1。
word_info 否 Array of
WordInfo
objects分词信息列表。
表6-9 WordInfo
参数 是否必选 参数类型 描述
start_time 否 Integer 起始时间 end_time 否 Integer 结束时间
word 否 String 分词
状态码: 400
表6-10 响应 Body 参数
参数 参数类型 描述
error_code String 调用失败时的错误码。 调用成功时无此字段。
error_msg String 调用失败时的错误信息。 调用成功时无此字段。
请求示例
说明
“endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端 节点。
● 请求示例(伪码)
POST https://{endpoint}/v1/{project_id}/asr/short-audio Request Header:
Content-Type: application/json X-Auth-Token:
MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
Request body:
{ "config":
{ "audio_format": "ulaw8k8bit", "property": "chinese_8k_common", "add_punc": "yes",
"need_word_info": "yes"
}, "data": "/+MgxAAUeHpMAUkQAANhuRAC..."
}
● Python3语言请求代码示例
# coding: utf-8
-*-# 此demo仅供测试使用,强烈建议使用sdk。需提前安装requests,执行pip install requests import requests
import base64 import json def sasr_demo():
url = 'https://{{endpoint}}/v1/{{project_id}}/asr/short-audio' # endpoint和project_id需替换 token = '用户对应region的token'
file_path = '将要识别音频的路径' with open(file_path, 'rb') as f:
data = f.read()
base64_data = str(base64.b64encode(data), 'utf-8') header = {
resp = requests.post(url, data=json.dumps(body), headers=header) print(resp.text)
if __name__ == '__main__':
sasr_demo()
● Java语言请求代码示例
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
/** * 此demo仅供测试使用,强烈建议使用SDK
*/public class SasrDemo {
public void sasrDemo() { try {
// endpoint和projectId需要替换成实际信息。
URL url = new URL("https://{{endpoint}}/v1/{{project_id}}/asr/short-audio");
String token = "对应region的token";
String audioBody = "8k wav格式audio对应base64编码";
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.addRequestProperty("Content-Type", "application/json");
connection.addRequestProperty("X-Auth-Token", token);
OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
String body = "{\"data\":\"" + audioBody + "\", \"config\": { \"audio_format\": \"wav\", "
+ "\"property\":\"chinese_8k_common\"}}";
osw.append(body);
osw.flush();
InputStream is = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
while (br.ready()) { SasrDemo sasrDemo = new SasrDemo();
sasrDemo.sasrDemo();
}}
响应示例
状态码:200 成功响应示例
{ "trace_id": "567e8537-a89c-13c3-a882-826321939651", "result":{
"text": "欢迎使用语音云服务。",
"word": "服务"
} ] }}
状态码:400 失败响应示例
{ "error_code":"SIS.0001", "error_msg":"***"
}
状态码
状态码请参见状态码。
错误码
错误码请参见错误码。