创建语音识别模板

最近更新时间:2024-08-22 16:09:42

我的收藏

简介

本文档提供关于创建语音识别模板的相关 API 概览以及 SDK 示例代码。
API
操作描述
创建语音识别模板

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参考 SDK API

创建模板

功能说明

创建语音识别模板。
注意:
COS Android SDK 版本需要大于等于 v5.9.32。

示例代码

// 存储桶名称,格式为 BucketName-APPID
String bucket = "examplebucket-1250000000";
PostSpeechRecognitionTempleteRequest request = new PostSpeechRecognitionTempleteRequest(bucket);
PostSpeechRecognitionTemplete postSpeechRecognitionTemplete = new PostSpeechRecognitionTemplete();// 创建模板请求体
request.setPostSpeechRecognitionTemplete(postSpeechRecognitionTemplete);// 设置请求
// 设置模板名称,仅支持中文、英文、数字、_、-和*,长度不超过 64;是否必传:是
postSpeechRecognitionTemplete.name = "TempleteName";
SpeechRecognition speechRecognition = new SpeechRecognition();
postSpeechRecognitionTemplete.speechRecognition = speechRecognition;
// 设置引擎模型类型,分为电话场景和非电话场景。电话场景:8k_zh:电话 8k 中文普通话通用(可用于双声道音频)8k_zh_s:电话 8k 中文普通话话者分离(仅适用于单声道音频)8k_en:电话 8k 英语 非电话场景: 6k_zh:16k 中文普通话通用16k_zh_video:16k 音视频领域16k_en:16k 英语16k_ca:16k 粤语16k_ja:16k 日语16k_zh_edu:中文教育16k_en_edu:英文教育16k_zh_medical:医疗16k_th:泰语16k_zh_dialect:多方言,支持23种方言极速 ASR 支持8k_zh、16k_zh、16k_en、16k_zh_video、16k_zh_dialect、16k_ms(马来语)、16k_zh-PY(中英粤);是否必传:是
speechRecognition.engineModelType = "16k_zh";
// 设置语音声道数:1 表示单声道。EngineModelType为非电话场景仅支持单声道2 表示双声道(仅支持 8k_zh 引擎模型 双声道应分别对应通话双方)仅���持非极速ASR,为非极速ASR时,该参数必填;是否必传:否
speechRecognition.channelNum = "2";
// 设置识别结果返回形式:0:识别结果文本(含分段时间戳)1:词级别粒度的详细识别结果,不含标点,含语速值(词时间戳列表,一般用于生成字幕场景)2:词级别粒度的详细识别结果(包含标点、语速值)3:标点符号分段,包含每段时间戳,特别适用于字幕场景(包含词级时间、标点、语速值)仅支持非极速ASR;是否必传:否
speechRecognition.resTextFormat = "1";
// 设置是否过滤脏词(目前支持中文普通话引擎)0:不过滤脏词1:过滤脏词2:将脏词替换为 *;是否必传:否
speechRecognition.filterDirty = "0";
// 设置是否过滤语气词(目前支持中文普通话引擎):0 表示不过滤语气词1 表示部分过滤2 表示严格过滤 ;是否必传:否
speechRecognition.filterModal = "1";
// 设置是否进行阿拉伯数字智能转换(目前支持中文普通话引擎)0:不转换,直接输出中文数字1:根据场景智能转换为阿拉伯数字3 :打开数学相关数字转换仅支持非极速ASR;是否必传:否
speechRecognition.convertNumMode = "0";
// 设置是否开启说话人分离0:不开启1:开启(仅支持8k_zh,16k_zh,16k_zh_video,单声道音频)8k电话场景建议使用双声道来区分通话双方,设置ChannelNum=2即可,不用开启说话人分离。;是否必传:否
speechRecognition.speakerDiarization = "1";
// 设置说话人分离人数(需配合开启说话人分离使用),取值范围:[0, 10]0 代表自动分离(目前仅支持≤6个人)1-10代表指定说话人数分离仅支持非极速ASR;是否必传:否
speechRecognition.speakerNumber = "0";
// 设置是否过滤标点符号(目前支持中文普通话引擎)0:不过滤。1:过滤句末标点2:过滤所有标点;是否必传:否
speechRecognition.filterPunc = "0";
// 设置输出文件类型,可选txt、srt极速ASR仅支持txt非极速Asr且ResTextFormat为3时仅支持txt;是否必传:否
speechRecognition.outputFileType = "txt";

ciService.postSpeechRecognitionTempleteAsync(request, new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult cosResult) {
// result 创建模板的结果
// 详细字段请查看api文档或者SDK源码
PostSpeechRecognitionTempleteResult result = (PostSpeechRecognitionTempleteResult) cosResult;

}
@Override
public void onFail(CosXmlRequest request, CosXmlClientException clientException, CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});

说明:
更多完整示例,请前往 GitHub 查看。