• 沒有找到結果。

功能介绍

一句话识别接口,用于短语音的同步识别。一次性上传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":"***"

}

状态码

状态码请参见状态码。

错误码

错误码请参见错误码。