华为云用户手册

  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 提交录音文件识别任务 POST https://{endpoint}/v1/1609d8170cd86660a81281e5a3a03f8b/asr/transcriber/jobsRequest Header:Content-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...Request Body:{ "config": { "audio_format": "auto", "property": "chinese_8k_general", "add_punc": "yes", "need_analysis_info": { "diarization": true, "channel": "LEFT_AGENT", "emotion": true }, "need_word_info": "yes" }, "data_url":"https://****_voip.obs.myxxxcloud.com/VOIP/***.wav"} 使用Python3语言提交录音 文字识别 任务 # -*- coding: utf-8 -*-# 此demo仅供测试使用,强烈建议使用sdk。需提前安装requests,执行pip install requestsimport requestsimport timeimport jsondef lasr_demo(): url = 'https://{{endpoint}}/v1/{{project_id}}/asr/transcriber/jobs' # endpoint和project_id需替换 token = '用户对应region的token' obs_url = 'obs路径' header = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = { 'data_url': obs_url, 'config': { 'property': 'chinese_8k_general', 'audio_format': 'auto' } } resp = requests.post(url, data=json.dumps(body), headers=header) job_id = json.loads(resp.text, encoding='utf-8')['job_id'] query_task(header, job_id)def query_task(header, job_id): # endpoint和project_id需替换 url = 'https://{{endpoint}}/v1/{{project_id}}/asr/transcriber/jobs/' + job_id for _ in range(1000): resp = requests.get(url, headers=header) print(resp.text) if resp.text.find('segments') != -1: break time.sleep(1)if __name__ == '__main__': lasr_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 LasrDemo { public void lasrDemo() { try { // endpoint和projectId需要替换成实际信息。 URL url = new URL("https://{{endpoint}}/v1/{{project_id}}/asr/transcriber/jobs"); String token = "对应region的token"; String obsUrl = "音频在obs的路径"; 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_url\":\"" + obsUrl + "\", \"config\": { \"audio_format\": \"auto\", " + "\"property\":\"chinese_8k_general\"}}"; osw.append(body); osw.flush(); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); String jobId = ""; while (br.ready()) { String line = br.readLine().trim(); jobId = line.replace("{\"job_id\":\"", "").replace("\"}", ""); } queryTask(token, jobId); } catch (Exception e) { e.printStackTrace(); } } private void queryTask(String token, String jobId) { try { // endpoint和projectId需要替换成实际信息。 URL url = new URL("https://{{endpoint}}/v1/{{project_id}}/asr/transcriber/jobs/" + jobId); while (true) { HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("GET"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); if (br.ready()) { String line = br.readLine(); System.out.println(line); if (line.contains("segments")) { break; } } Thread.sleep(2000); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { LasrDemo lasrDemo = new LasrDemo(); lasrDemo.lasrDemo(); }}
  • 接口约束 录音时长不超过5小时,文件大小不超过300M。8k采样率音频最小为1.6kb,16k采样率音频最小为3.2kb,即音频时长至少0.1s以上。 需要将识别的录音文件存放在某服务上,可以通过URL访问。 推荐使用华为云OBS:授权配置请参见配置OBS服务,优先推荐使用与请求服务同一region的私有桶文件,如果region不一致,可考虑使用obs签名。 您也可以把录音文件放在自行搭建服务器上,提供下载文件的地址。URL不能使用IP地址,只能使用 域名 ,请尽量避免中文。 音频转写时长受音频时长和排队任务数量影响,音频时长和理论返回时间可参见表 音频转写时长参考表。如果转写耗时比理论时延长,大概率表示当前时间段出现转写高峰,请耐心等待,我们承诺最大转写时长不超过6小时。 表1 音频转写时长参考表 音频时长 参考返回时间 小于10分钟 小于2分钟 10分钟-60分钟 2分钟-12分钟 大于60分钟 12 分钟-60分钟 识别结果保存72小时(从识别完成的时间算起)。72小时后如果再访问,将会返回 "task id is not found"错误。
  • 功能介绍 该接口用于提交录音文件识别任务,其中录音文件保存在用户的OBS桶中或公网可访问的服务器上(需保证可使用域名访问)。用户开通 录音识别 服务时,如果录音文件存放在OBS桶中,需授权录音文件引擎读取用户OBS桶权限,授权方法见配置OBS访问权限。该接口的使用限制请参见约束与限制,详细使用指导请参见SIS服务使用简介章节。 SIS服务控制台提供了录音文字识别的在线使用页面,用户无需编程即可使用服务功能。 图1 在线使用
  • 响应信息 表1 响应参数 名称 参数类型 说明 resp_type String 响应类型。参数值为RESULT。 trace_id String 服务内部的令牌,可用于在日志中追溯具体流程。 result List 时间戳信息 表2 result数据结构 名称 参数类型 说明 start_time Integer 文本对应的合成音频的开始时间戳,单位是ms。 end_time Integer 文本对应的合成音频的结束时间戳,单位是ms。 text String 文本信息。 word_index Integer 文本在整句中的位置,从0开始计数。 phonemes List 音素时间戳信息,当subtitle取值为phoneme_level时,返回该信息。 表3 phonemes数据结构 名称 参数类型 说明 phoneme String 音素文本信息。 start_time Integer 音素对应的合成音频的开始时间戳,单位是ms。 end_time Integer 音素对应的合成音频的结束时间戳,单位是ms。 phoneme_index Integer 音素位置信息,从0开始。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体在12M以内,12M以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。 AK/SK获取方式请参考获取AK/SK。
  • Token认证 Token的有效期为24小时,需要使用同一个Token鉴权时,可以缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 代码中加粗的斜体字段需要根据实际值填写username、domainname、project name,可登录控制台“我的凭证”页面获取。password为用户密码。 伪码 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "cn-north-4" } } } } Python import requestsimport jsonurl = "https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens"payload = json.dumps({ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "cn-north-4" } } }})headers = { 'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response.headers["X-Subject-Token"]) 图1 获取Token 示例 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”的值。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 Content-Type: application/jsonX-Auth-Token: ABCDEFJ....
  • 响应参数 状态码: 200 表7 响应参数 参数 是否必选 参数类型 描述 trace_id 是 String trace_id可用于在日志中追溯具体流程,调用失败无此字段。 在某些错误情况下可能没有此令牌字符串。 audio_duration 是 Integer 音频时长,单位毫秒。 flash_result 是 Array of FlashResult objects 调用成功表示识别结果,调用失败时无此字段。 表8 FlashResult 参数 是否必选 参数类型 描述 channel_id 否 Integer 声道Id。 sentences 否 Array of Sentences objects 分句信息列表。 表9 Sentences 参数 是否必选 参数类型 描述 start_time 否 Integer 一句话开始时间,单位毫秒。 result 否 Result object 分句结果信息。 end_time 否 Integer 一句话结束时间,单位毫秒。 表10 Result 参数 是否必选 参数类型 描述 text 是 String 调用成功表示识别出的内容。 score 是 Double 调用成功表示识别出的置信度(0-1之间)。 word_info 否 Array of WordInfo objects 分词信息列表。 表11 WordInfo 参数 是否必选 参数类型 描述 start_time 否 Integer 起始时间。 end_time 否 Integer 结束时间。 word 否 String 分词。 状态码: 400 表12 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 响应示例 状态码:200 成功响应示例 { "trace_id": "567e8537-a89c-13c3-a882-826321939xxx", "audio_duration": 1010, "flash_result": [ { "channel_id": 0, "sentences": [ { "start_time": 550, "end_time": 900, "result": { "text": "北京", "score": 0.831, "word_info": [ { "word": "北", "start_time": 560, "end_time": 720 }, { "word": "京", "start_time": 730, "end_time": 890 } ] } } ] } ]} 状态码:400 失败响应示例 { "error_code":"SIS.0001", "error_msg":"***" }
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 快速识别录音文件的音频内容,转写为文字 POST https://{endpoint}/v1/{project_id}/asr/flash?property=chinese_8k_common&audio_format=wav&add_punc=yes&digit_norm=yes&need_word_info=yes&first_channel_only=yes&vocabulary_id=4c111ee8-fbd6-4a73-941a-9f869c6c56f5&obs_bucket_name=test&obs_object_key=data/0601/test.wavRequest Header:Content-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
  • URI POST /v1/{project_id}/asr/flash 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目编号。获取方法,请参见获取项目ID。 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见认证鉴权。响应消息头中X-Subject-Token的值即为Token。 Enterprise-Project-Id 否 String 企业项目ID。SIS支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。 说明: 账户创建企业项目后,在传参时,有以下三类场景。 携带正确的ID,正常使用SIS服务,账单归到企业ID对应的企业项目中。 携带错误的ID,正常使用SIS服务,账单的企业项目会被分类为“default”。 不携带ID,正常使用SIS服务,账单的企业项目会被分类为“default”。 表3 Query参数 参数 是否必选 参数类型 描述 audio_format 是 String 支持语音的格式,请参考表 audio_format取值范围。 property 是 String 所使用的模型特征串,通常是 “语种_采样率_领域”的形式,采样率需要与音频采样率保持一致,取值范围请参考表 property取值范围。 obs_bucket_name 是 String 表示在OBS对象桶名,使用前请先授权配置请参见配置OBS访问权限。obs_bucket_name字符长度区间为[3,64),需要进行urlencode编码。 OBS桶区域需要与接口的地址区域一致。 示例: obs url为https://sis-audio-cn4.obs.cn-north-4.myhuaweicloud.com/abc/16k_pcm.wav 则obs_bucket_name值为sis-audio-cn4,obs_object_key值为abc/16k_pcm.wav。如果上传至OBS桶中的文件或OBS路径为中文,obs_object_key的值需要采用中文形式。 obs_object_key 是 String 表示OBS对象桶中的对象的键值,长度小于1024个字符,需要进行urlencode编码。 OBS桶区域需要与接口的地址区域一致。 示例: obs url为https://sis-audio-cn4.obs.cn-north-4.myhuaweicloud.com/abc/16k_pcm.wav 则obs_bucket_name=sis-audio-cn4,obs_object_key=abc/16k_pcm.wav add_punc 否 String 表示是否在识别结果中添加标点,取值为“yes”和“no”,默认为“no”。 digit_norm 否 String 表示是否将语音中的数字识别为阿拉伯数字,取值为“yes” 和 “no”,默认为“yes”。 need_word_info 否 String 表示是否在识别结果中输出分词结果信息,取值为“yes”和“no”,默认为“no”。 first_channel_only 否 String 表示是否在识别中只识别首个声道的音频数据,取值为“yes”和“no”,默认为“no”。 说明: 如果音频数据为多声道,参数取默认值no时,会叠加计费。例如,双声道收费为双倍。 表4 audio_format取值范围 audio_format取值 描述 wav wav格式音频。 mp3 mp3格式音频。 m4a m4a格式音频。 acc acc格式音频。 opus opus格式音频。 表5 property取值范围 property取值 描述 chinese_8k_common 支持采样率为8k的中文普通话 语音识别 。 chinese_16k_conversation 支持采样率为16k的会议场景的中文普通话语音识别。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在 一句话识别 的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://sis-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/asr/short-audio
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 删除热词表 DELETE https://{endpoint}/v1/{project_id}/asr/vocabularies/{vocabulary_id}Request Header:Content-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token请参考认证鉴权中的“Token认证”。 添加消息头后的请求如下所示: POST https://sis-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/asr/short-audioContent-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINOD...
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于一句话识别接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,其中“data”参数表示将音频转化为Base64编码字符串。 POST https://sis-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/asr/short-audioContent-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINOD... { “data”: “encode audio by Base64”, “config”: { “audio_format”: “wav”, “property”: “chinese_8k_common” }} 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于一句话识别接口,您可以从响应消息部分看到返回参数及参数说明。
  • 实时语音识别 工作流程 实时语音识别分为开始识别、发送音频数据、结束识别,断开连接四个阶段。 开始阶段需要发送开始指令,包含采样率,音频格式,是否返回中间结果等配置信息。服务端会返回一个开始响应。 发送音频阶段客户端会分片发送音频数据,服务会返回识别结果或者其他事件,如音频超时,静音部分过长等。 音频发送结束后,客户端会发送结束请求,服务端会返回end响应。 实时语音识别必须客户端要主动断开连接。当服务端超过20s没有收到客户的任何数据时,会返回error事件,并主动断开。 图1 工作流程 父主题: 实时语音识别请求
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 更新热词表 PUT https://{endpoint}/v1/{project_id}/asr/vocabularies/{vocabulary_id}Request Header:Content-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body:{ "name": "telepower", "description": "telepower 具体描述", "language": "chinese_mandarin", "contents": ["示例"]}
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 表1 请求URI 参数 说明 URI-scheme 传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 承载REST服务端点的服务器域名或IP,不同服务在不同区域,Endpoint不同,可以从终端节点中获取。例如,一句话识别服务在“华北-北京四”区域的Endpoint为“sis-ext.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“一句话识别”API的resource-path为的“/v1/{project_id}/asr/short-audio”。其中“project_id”需要替换成用户的项目ID,可参考获取项目ID。 query-string 查询参数,可选,查询参数前面需要带一个“?”,形式为“参数名=参数取值”。例如“录音文件识别状态查询” 中“job_id=123”表示查询“job_id”为123的任务结果。 例如,在“华北-北京四””区域调用一句话识别API,则需要使用“华北-北京四”区域的Endpoint(sis-ext.cn-north-4.myhuaweicloud.com),拼接起来如下所示。 https://sis-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/asr/short-audio 图1 URI示意图 为查看方便,每个具体API的URI,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见认证鉴权。响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 热词表名,不可重复。内容限制为字母,数字,下中划线和井号,长度不超过32字节。 description 否 String 热词表描述,长度不超过255字节。 language 是 String 热词表语言类型。 language取值:chinese_mandarin,表示汉语普通话。 contents 是 Array of strings 支持中英混编热词,单个热词只能由英文字母和unicode编码的汉字组成,不能有其他符号,包括空格。 单词库支持热词数上限10000。 单个热词长度上限32字节。
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于一句话识别接口,返回如下消息体。格式请具体参考一句话识别响应消息部分。 { "trace_id": "567e8537-a89c-13c3-a882-826321939651", "result":{ "text": "欢迎使用语音云服务。", "score": 0.9 }} 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "***", "error_code": "SIS.0001"} 其中,error_code表示错误码,error_msg表示错误描述信息。
  • URI GET /v1/{project_id}/asr/vocabularies 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目编号。获取方法,请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 每页查询显示的条目数量。 缺省值:10 offset 否 Integer 页码偏移量,表示从此页码偏移量开始查询,offset大于等于0。 缺省值:0
  • 响应示例 状态码:200 成功响应示例 { "result": [ { "vocabulary_id": "5F85A74C-BED9-4a15-B66E-039251D877D6", "language": "chinese_mandarin", "name": "weather", "description": "no desc" }, { "vocabulary_id": "50875954-7328-42ab-B236-B3EC6E22207A", "language": "chinese_mandarin", "name": "war", "description": "no desc" } ]} 状态码:400 失败响应示例 { "error_code":"SIS.0201", "error_msg":"***" }
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 获取热词表列表信息 GET https://{endpoint}/v1/{project_id}/asr/vocabulariesRequest Header:Content-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
  • 响应参数 状态码: 200 表5 响应Body参数 参数 是否必选 参数类型 描述 count 是 Integer 热词表数。 result 是 Array of VocabInfo objects 调用成功返回热词表列表,调用失败时无此字段。 表6 VocabInfo 参数 是否必选 参数类型 描述 vocabulary_id 是 String 热词ID。 name 是 String 热词表名。 language 是 String 热词表语言类型。 description 是 String 热词表描述。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 返回错误码 描述 处理措施 SIS.0001 连接错误,如连接obs错误或者连接redis错误。 请联系技术支持工程师。 SIS.0003 token缺少用户信息或者委托已创建或者内部错误。 请联系技术支持工程师。 SIS.0100 服务内部错误。 请联系技术支持工程师。 SIS.0101 验证Token异常。 请检查请求消息头中的X-Auth-Token是否正确的填写,是否缺少字符。 token请求参数是否正确填写。 projectId在url是否准确填写。 账号是否被冻结。 账户是否欠费。 获取token时,请求中需添加scope参数,获取项目级别token,调用sis时请勿使用全局token。 SIS.0102 鉴权信息缺失。 请检查请求消息头中的X-Auth-Token是否存在。 SIS.0103 实名认证缺失。 请进行账号实名认证。 SIS.0012 请求体中字段缺失。 请检查请求参数是否缺失必须字段。 SIS.0031 请求参数不支持。 请检查请求参数是否正确。 SIS.0032 请求体中的json不正确。 请检查请求体中的json是否正确。 确保设置的audio_format格式的值是合法,待识别的音频格式和audio_format参数格式要保证一致。对于录音文件识别接口,如果不确定该参数取值,可改为auto进行调试。 使用实时语音识别时请确认是否分片发送音频,并在wss握手后发送start命令。 报错data url is empty,时请参考配置OBS访问权限,设置OBS权限,并检查使用的URL是否正确。 报错data base64 encode invalid,请检查语音转Base64后的字符串是否存在错误,如多空格、字符错误等。 报错xx can not be empty,表示该字段不可为空,需要赋值。例如创建热词请求时报错language can not be empty,则表示请求body体中language字段不可为空。 SIS.0022 产品不可购买。 产品暂时不开放购买,请联系技术支持工程师。 SIS.0023 产品购买失败。 产品购买失败,请联系技术支持工程师。 SIS.0024 不允许更新限制。 产品暂时不允许更新限制,请联系技术支持工程师。 SIS.0033 引擎响应超时。 请联系技术支持工程师。 SIS.0201 热词表未找到。 请检查请求参数是否异常,或联系技术支持工程师。 SIS.0203 部分热词太长或非法。 请根据错误信息,修改不合法的热词。 SIS.0204 热词表参数名已存在。 请修改热词表名称。 SIS.0205 语言不支持。 请修改热词表语言。 SIS.0206 保存热词失败。 请联系技术支持工程师。 SIS.0207 热词内容损坏。 请联系技术支持工程师。 SIS.0208 热词表数量过多。 请删除不需要的热词表,如有配置更多热词表的需求请联系客服人员。 SIS.0301 输入的audio_format参数不匹配模型。 请检查请求参数是否正确。 SIS.0302 内部服务异常。 请联系技术支持工程师。 SIS.0303 引擎连接失败。 请重试,多次出现请联系专业工程师。 SIS.0304 音频等待超时。 客户端长时间没有发送语音,服务端超过20s没有收到语音会产生该报错。 请减小数据发送间隔。 检查代码是否存在发送音频后睡眠过多时间。 检查是否发送end请求,是否关闭客户端。 SIS.0305 语音识别异常。 请重试,或联系技术支持工程师。 SIS.0306 语音识别异常。 请重试,或联系技术支持工程师。 SIS.0307 语音识别异常。 请重试,或联系技术支持工程师。 SIS.0309 实时语音识别音频时长超过最大值。 请注意音频的时长限制,流式一句话(short-stream)和单句模式(sentence-stream)最长识别音频长度为60秒,连续模式(continue-stream)最长识别音频长度为5小时。 SIS.0312 超过最大资源并发限制。 如果应用程序发送请求频率过高,请降低请求频率,或联系技术支持工程师。 SIS.0401 语音合成 异常。 请重试,或联系技术支持工程师。 SIS.0402 语音合成输入的sample_rate参数非法。 请检查语音合成sample_rate采样率与property音色取值范围支持的采样率是否匹配。 SIS.0410 语音合成输入的audio_format参数非法。 请检查请求参数是否正确。 SIS.0411 语音合成输入的property参数非法。 请检查请求参数是否正确。 SIS.0412 连接语音合成引擎超时。 请重试,或联系技术支持工程师。 SIS.0413 语音合成内部错误。 请重试,或联系技术支持工程师。 SIS.0414 语音合成等待语音合成超时。 请重试,或联系技术支持工程师。 SIS.0415 语音合成请求体参数错误。 请检查请求体是否准确。 SIS.0416 等待用户发送合成文本超时。 请重新发送需要合成的文本内容。 SIS.0417 TTS 引擎错误。 请重试,或联系技术支持工程师 SIS.0418 当前链接已有合成任务。 请勿重复发送开始合成命令。 SIS.0419 非法ssml。 输入文本内容包含非法字符。 SIS.0504 录音文件识别极速版待识别音频无效。 请检查音频文件大小是否满足要求。 SIS.0506 找不到代理错误。 请检查网络是否有设置代理。 请在控制台检查OBS是否已授权。 SIS.0507 录音文件识别极速版输入参数无效。 请检查obs_bucket_name和obs_object_key参数是否为空。 SIS.0511 录音文件识别极速版待识别音频无效。 请检查音频时长是否满足要求。 SIS.0512 录音文件识别极速版输入参数无效。 请检查obs_bucket_name和obs_object_key对应的桶名和文件名是否存在。 SIS.0513 录音文件识别极速版输入参数无效。 请检查obs_object_key参数是否非法。 SIS.0533 录音文件识别请求参数错误。 请检查请求参数是否正确。 SIS.0534 录音文件识请求体错误。 请检查请求体是否正确。 data url is unreachable报错,请配置OBS访问权限。 data syntax error!报错请检查数据格式或编码格式是否符合要求。 asr data url param is invalid报错,请使用存放在OBS的音频文件路径,并确保OBS的region要和请求服务的region保持一致。 SIS.0535 录音文件识请求的文件类型不支持。 确保设置的audio_format格式的值是合法。录音文件识别支持的音频格式如表7所示。 确保待识别音频的格式和接口参数中设置的audio_format参数格式一致。 SIS.0536 录音文件识任务提交数量达到限制。 请稍后重试。 SIS.0537 录音文件太大。 请尝试减少文件大小,比如分割为多个。 SIS.0538 录音文件识任务超时。 请重试。 SIS.0601 短语音识别或语音合成输入参数不合法。 请检查请求参数是否正确和完整。 SIS.0602 短语音识别语音格式不支持。 请检查提交的语音编码格式是否在支持的范围内。 SIS.0604 短语音识别文件大小不符合要求或语音合成字数超过上限。 请尝试减小语音文件的大小或减少请求合成字数,注意使用OBS链接提交时,经过Base64编码之后文件大小会增加。 SIS.0605 短语音识别或语音合成出现内部错误。 请重试,或联系技术支持工程师。 SIS.0608 URL非法。 请检查URL,注意必须使用对应Region的OBS链接。 SIS.0609 从指定URL下载音频文件失败。 请检查OBS是否为公共读状态,或开通了委托授权。 SIS.0701 输入的音频/视频/试题文本大小超过限制。 请参考错误信息和API资料,减少音频/视频/试题文本大小。 SIS.0702 输入参数不合法。 例如,评测语言/评测模式不支持;音频/视频格式不支持;试题文本无效等情况。 请参考错误信息和API资料,更换正确的输入参数。 SIS.30003 下载OBS上的音频失败。 请检查OBS上音频是否可访问。权限配置方法请参见配置OBS访问权限。 SIS.30004 下载热词文件失败。 请检查热词是否存在。 SIS.30006 音频解码失败。 请检查音频格式是否正常,音频是否是空文件。 SIS.30007 转写引擎加载热词失败。 请检查热词是否存在。 SIS.30008 转写引擎转写失败。 请检查参数或联系技术支持工程师。 SIS.0541 录音文件识别 property 和 format 参数不匹配。 请检查Property 和 format 格式是否正常。
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 查询热词表信息 GET https://{endpoint}/v1/{project_id}/asr/vocabularies/{vocabulary_id}Request Header:Content-Type: application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
  • 响应示例 状态码: 200 成功响应示例 { "vocabulary_id": "CFD08A32-6176-4ad7-92F9-11ED015C8109", "name": "telepower", "description": "telepower 具体描述", "language": "chinese_mandarin", "contents": ["示例"]} 状态码:400 失败响应示例 { "error_code":"SIS.0201", "error_msg":"***" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 是否必选 参数类型 描述 vocabulary_id 是 String 调用成功返回热词表ID,调用失败时无此字段。 name 是 String 调用成功返回热词表名,调用失败时无此字段。 language 是 String 调用成功返回热词表语言类型,调用失败时无此字段。 description 是 String 调用成功返回热词表描述,调用失败时无此字段。 contents 是 Array of strings 调用成功返回热词列表,调用失败时无此字段。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 状态码 表1 状态码 状态码 说明 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 NO Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 305 Use Proxy 306 Unused 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request URI Too Long 415 Unsupported Media Type 416 Requested Range Not Satisfiable 417 Expectation Failed 422 Unprocessable Entity 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 父主题: 附录
  • 获取AK/SK 如果已生成过AK/SK,则可跳过此步骤,找到原来已下载的AK/SK文件,文件名一般为:credentials.csv。 如下图所示,文件包含了租户名(User Name),AK(Access Key Id),SK(Secret Access Key)。 图1 credential.csv文件内容 AK/SK生成步骤: 登录管理控制台。 单击右上角的用户名,在下拉列表中单击“我的凭证”。 单击“访问密钥”。 单击“新增访问密钥”。 依据界面提示,获取并下载秘钥,请妥善保管。 图2 获取访问秘钥 父主题: 附录
  • 示例音频 测试音频如表 示例音频所示,音频文件标题表示采样率和位宽。如8k16bit.pcm表示音频采样率为8k,位宽为16bit。 表1 示例音频 音频格式 下载链接 mp3 https://sis-sample-audio.obs.cn-north-1.myhuaweicloud.com/16k16bit.mp3 wav https://sis-sample-audio.obs.cn-north-1.myhuaweicloud.com/16k16bit.wav pcm https://sis-sample-audio.obs.cn-north-1.myhuaweicloud.com/16k16bit.pcm pcm https://sis-sample-audio.obs.cn-north-1.myhuaweicloud.com/8k16bit.pcm 父主题: 附录
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全