腾讯云语音识别iOS SDK_AI解决方案_同尘科技

语音识别 1年前 (2023-11-17) 浏览 77

说明:当前页面为语音识别离在线 SDK 开发文档。新用户可按当前文档接入离在线 SDK。客户可通过当前 SDK 选择使用纯离线版本,或根据网络情况使用自助切换的离在线版本。语音识别离在线 SDK 不仅提供纯离线识别能力,也支持根据网络情况的变化自助切换离线和在线识别版本,从而更好地提升使用体验(请注意,如打开离在线切换开关,则在线识别需要按在线部分独立计费,否则会导致在线部分识别无效,收费标准请见 计费概述(在线版)。我们即将下线离线 SDK 的版本维护和新用户申请,也建议正在使用离线 SDK 的客户及时升级到离在线 SDK,以获取更好的使用体验。

开发准备

不支持 iOS 11.0 以下版本仅支持 iOS arm64 架构不支持模拟器

硬件要求

CPU: 支持 armv7,armv8 指令集,主频 1.5GHz 以上独占内存: 至少100M独占存储: 至少30M

下载安装 SDK

SDK 包含 demo 和 SDK 两部分demo 仅支持 iOS 13.0 以上

简介

SDK 支持离线,在线及混合三种模式.其中 ASRController 为 SDK 的核心类,包含授权设置,参数设置,模式设置和运行控制。使用时需根据业务所需要的模式进行授权设置,参数设置和模式设置(详见接口说明部分)。
运行控制对于三种模式逻辑是一致的,进行识别前需设置数据源和事件监听,start 与stop 用于控制整体流程,调用 start 后成功开始回调 onStart,失败回调 onError,调用 stop 后成功停止回调 onStop,失败回调 onError,其余回调均为识别过程中的事件消息(详见接口说明部分)。

接口说明

ASRController

语音识别控制类GlobalInstance

+(instancetype)GlobalInstance;

获取语音识别控制类全局实例setMode

-(void)setMode:(MODE)mode;

设置控制器模式.支持离线模式、在线模式和混合模式doAppAuth

-(ASRControllerError*)doAppAuth:(NSString*)lic  licPk:(NSString*)licPk authSign:(NSString*)authSign;

按应用授权(仅对离线模式和混合模式生效)参数

参数名称 描述
lic 离线 SDK 授权 License
licPk 离线 SDK 授权 LicensePk
authSign 离线 SDK 授权 LicenseSign

doDeviceAuth

-(ASRControllerError*)doDeviceAuth:(NSString*)secretId secretKey:(NSString*)secretKey token:(NSString*)token licKey:(NSString*)licKey  licPk:(NSString*)licPk;

按设备授权(仅对离线模式和混合模式生效)
参数

参数名称 描述
secretId 腾讯云 secret_id,通过 访问管理控制台 获取
secretKey 腾讯云 secret_key,通过 访问管理控制台 获取
token 腾讯云 STS 鉴权 token,使用 STS 临时鉴权时使用,不使用 STS 鉴权传 null
licKey 离线 SDK 授权 LicenseKey
licPk 离线 SDK 授权 LicensePk

load

-(ASRControllerError*)load:(NSString*)path name:(NSString*)name;

载入模型(仅对离线模式和混合模式生效),需再授权完成后调用
参数

参数名称 描述
path 模型所在文件目录
name 模型名称

unload

-(ASRControllerError*)unload;

卸载模型(仅对离线模式和混合模式生效),与load配对使用setOnlineAuth

-(void)setOnlineAuth:(NSString*)appId secretId:(NSString*)secretId secretKey:(NSString*)secretKey token:(NSString*)token;

设置在线认证参数(仅对在线模式和混合模式生效)
参数

参数名称 描述
appId 腾讯云 appID
secretId 腾讯云 secretId
secretKey 腾讯云 secretKey
token 腾讯云临时 token

setOnlineParams

-(void)setOnlineParams:(NSString*)engine_model_type needvad:(NSInteger)needvad          voice_format:(NSInteger)voice_format            hotword_id:(NSString*)hotword_id     reinforce_hotword:(NSInteger)reinforce_hotword      customization_id:(NSString*)customization_id          filter_dirty:(NSInteger)filter_dirty          filter_modal:(NSInteger)filter_modal           filter_punc:(NSInteger)filter_punc      convert_num_mode:(NSInteger)convert_num_mode             word_info:(NSInteger)word_info      vad_silence_time:(NSInteger)vad_silence_time       noise_threshold:(float)noise_threshold;

设置在线识别参数(仅对在线模式和混合模式生效),默认参数请参考demo示例
参数

参数名称 描述
engine_model_type 请参考 API 文档
needvad 请参考 API 文档
voice_format SDK 仅支持1(pcm)和10(opus),请参考 API 文档
hotword_id 请参考 API 文档
reinforce_hotword 请参考 API 文档
customization_id 请参考 API 文档
filter_dirty 请参考 API 文档
filter_modal 请参考 API 文档
filter_punc 请参考 API 文档
convert_num_mode 请参考 API 文档
word_info 请参考 API 文档
vad_silence_time 传入小于等于0 SDK忽略该参数,请参考 API 文档
noise_threshold 请参考 API 文档

start

-(void)start;

开始识别,请在设置ASRControllerDataSource和ASRControllerListener后调用stop

-(void)stop;

停止识别

ASRControllerError

包含错误码及错误信息
错误码

错误码 返回码 描述
UNKNOWN -1 未知错误
SUCCESS 0 成功
NETWORK_ERROR 1 网络错误
SERVER_ERROR 2 服务器错误
ENGINE_INIT_ERROR 3 引擎初始化错误
ENGINE_AUTH_ERROR 4 引擎认证错误
DATASOURCE_INVALID 5 数据源错误
STATE_ERROR 6 状态错误
ENGINE_ERROR 7 引擎错误
ONLINE_AUTH_ERROR 8 在线认证错误

ASRControllerListener

用于同步识别过程中的事件
onBegin,onSlice,onSegment 与一段话识别有关,调用有以下几种情况1. onBegin->onSlice->onSegment2. onBegin->onSegment3. onSegmentonBegin

-(void)onBegin:(NSString*)extra;

一段话开始识别
参数

参数名称 描述
extra 在线模式及混合模式处于在线状态时为服务端返回信息,请参考 API 文档

onSlice

-(void)onSlice:(NSString*)val extra:(NSString*)extra;

一段话开始识别中
参数

参数名称 描述
val 非稳态识别结果
extra 在线模式及混合模式处于在线状态时为服务端返回信息,请参考 API 文档

onSegment

-(void)onSegment:(NSString*)val extra:(NSString*)extra;

一段话开始识别结束
参数

参数名称 描述
val 稳态识别结果
extra 在线模式及混合模式处于在线状态时为服务端返回信息,请参考 API 文档

onStart

-(void)onStart:(NSString*)extra;

识别任务开始
参数

参数名称 描述
extra 在线模式及混合模式处于在线状态时为服务端返回信息,请参考API文档

onError

-(void)onError:(ASRControllerError*)val;

识别任务结束
参数

参数名称 描述
val 错误信息

onStop

-(void)onStop;

识别任务停止 
onSwitch

-(void)onSwitch:(bool)is_online;

模式切换(仅混合)
参数

参数名称 描述
is_online true 为在线状态,false 为离线状态

ASRControllerDataSource

提供16000Hz,16bit(le),pcm格式,单声道的数据源用于识别read

-(size_t) read:(short*)data len:(size_t)len;

参数

参数名称 描述
data 传入缓存
len 缓存长度

返回实际写入长度

对解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?