更新时间:2022-04-07 GMT+08:00
分享

一句话识别

前提条件

  • 确保已经按照配置好IOS开发环境。
  • 确保已存在待识别的音频文件,如果需要请在下载的SDK压缩包中获取示例音频。

初始化Client

初始化AsrCustomizationClient,其参数包括SisAuthInfo和SisConfig,详见表 SisAuthInfo 数据结构表 SisConfig数据结构

表1 SisAuthlnfo 数据结构

参数名称

是否必选

参数类型

描述

ak

NSString

用户的ak,可参考AK/SK认证。

sk

NSString

用户的sk,可参考AK/SK认证。

endpoint

NSString

终端节点如sis-ext.cn-north-4.myhuaweicloud.com。

projectId

NSString

项目ID,同region一一对应,参考获取项目。

表2 SisConfig 数据结构

参数名称

是否必选

参数类型

描述

connectionTimeout

NSInteger

连接超时,默认10s,单位s。

readTimeout

NSInteger

连接超时,默认10s,单位s。

请求参数

请求类为AsrCustomShortRequest,详见表 AsrCustomShortRequest数据结构

表3 AsrCustomShortRequest数据结构

参数名称

是否必选

参数类型

描述

data

NSString

本地音频文件经过Base64编码后的字符串,音频文件时长不超过1min。

audioFormat

NSString

音频格式,具体信息请参见《API参考》中一句话识别章节。

property

NSString

属性字符串,语言_采样率_模型,如chinese_8k_common。具体信息请参见《API参考》中一句话识别章节。

addPunc

NSString

表示是否在识别结果中添加标点,取值为yes 、no,默认no。

digitNorm

NSString

表示是否将语音中的数字识别为阿拉伯数字,取值为yes 、no,默认为yes。

vocabularyId

NSString

热词表id,不使用则不填写。

needWordInfo

NSString

表示是否在识别结果中输出分词结果信息,取值为“yes”和“no”,默认为“no”。

响应参数

响应参数统一为字典NSDictionary,具体参数如表 响应结果表 result数据结构表 word_info 数据结构。调用失败处理方法请参见错误码

表4 响应结果

参数名称

是否必选

参数类型

描述

error_code

NSString

参见错误码列表,调用成功无此字段。

error_msg

NSString

返回错误信息,调用成功无此字段。

trace_id

NSString

服务内部的令牌,可用于在日志中追溯具体流程,调用失败无此字段。在某些错误情况下可能没有此令牌字符串。

result

NSDictionary

调用成功表示识别结果,调用失败时无此字段。请参考表 result数据结构

表5 result数据结构

参数名称

是否必选

参数类型

描述

text

NSString

调用成功表示识别出的内容。

score

float

调用成功表示识别出的置信度,取值范围:0~1。

word_info

NSArray

分词信息列表。

表6 word_info 数据结构

参数名称

是否必选

参数类型

描述

start_time

NSInteger

起始时间。

end_time

NSInteger

结束时间。

word

NSString

分词。

示例代码

/// 一句话识别
- (void) shortDemo {
    //授权信息
    SisAuthInfo *authInfo = [[SisAuthInfo alloc] initWithAk:kAppKey sk:kAppSecret                   endpoint:kEndpoint projectId:kProjectId];
    //时间设置
    SisConfig *config = [[SisConfig alloc] initDefault];
    //请求参数赋值
    AsrCustomShortRequest *request = [[AsrCustomShortRequest alloc] init];
    //设置音频格式
    request.audioFormat = @"pcm8k16bit";
    //设置语言_采样率_模型,如chinese_8k_common
    request.property = @"chinese_8k_common";
    //设置否是添加标点,yes 或no, 默认是no
    request.addPunc = @"yes";
    //设置是否在识别结果中输出分词结果信息,取值为“yes”和“no”,默认为“no”
    request.needWordInfo = @"yes";
    //根据文件地址获取文件二进制数据并转换为base64编码
    NSString *path = [[NSBundle mainBundle] pathForResource:@"8k16bit" ofType:@"pcm"];
    NSData *data = [NSData dataWithContentsOfFile:path];
    NSString *base64Str = [data base64EncodedStringWithOptions:0];
    //设置音频data
    request.data = base64Str;
    //实例化请求对象
    AsrCustomizationClient *client = [[AsrCustomizationClient alloc] initWithAuthInfo:authInfo config:config];
    //发起请求
    [client getAsrShortResponse:request completion:^(NSDictionary * _Nonnull response) {
        //返回的结果
        NSLog(@"%@",response);
    }];
}
分享:

    相关文档

    相关产品

关闭导读