腾讯云语音识别iOS SDK_AI解决方案_同尘科技
说明:当前页面为语音识别离在线 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折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?