腾讯云语音识别Android SDK_AI解决方案_同尘科技
说明:当前页面为语音识别离在线 SDK 开发文档。新用户可按当前文档接入离在线 SDK。客户可通过当前 SDK 选择使用纯离线版本,或根据网络情况使用自助切换的离在线版本。语音识别离在线 SDK 不仅提供纯离线识别能力,也支持根据网络情况的变化自助切换离线和在线识别版本,从而更好地提升使用体验(请注意,如打开离在线切换开关,则在线识别需要按在线部分独立计费,否则会导致在线部分识别无效,收费标准请见 计费概述(在线版))。我们即将下线离线 SDK 的版本维护和新用户申请,也建议正在使用离线 SDK 的客户及时升级到离在线 SDK,以获取更好的使用体验。
开发准备
支持 Android 4.1 以上版本 API LEVEL 16不支持模拟器
硬件要求
CPU: 支持 armv7,armv8 指令集,主频1.5GHz以上独占内存: 至少200M独占存储: 至少40M
下载安装 SDK
SDK 包含 demo 和 SDK 两部分下载语音识别 Android SDK,详情请参见 开通授权。
简介
SDK 支持离线,在线及混合三种模式。其中 ASRController 为 SDK 的核心类,包含授权设置,参数设置,模式设置和运行控制。使用时需根据业务所需要的模式进行授权设置,参数设置和模式设置(详见接口说明部分)。
运行控制对于三种模式逻辑是一致的,进行识别前需设置数据源和事件监听,start 与 stop 用于控制整体流程,调用 start 后成功开始回调 onStart,失败回调 onError,调用 stop 后成功停止回调 onStop,失败回调 onError,其余回调均为识别过程中的事件消息(详见接口说明部分)。
接口说明
ASRController
语音识别控制类GlobalInstance
static ASRController GlobalInstance()
获取语音识别控制类全局实例setMode
void setMode(MODE val)
设置控制器模式.支持离线模式、在线模式和混合模式doAppAuth
ASRControllerError doAppAuth(String license, String licensePk, String licenseSign)
按应用授权(仅对离线模式和混合模式生效)
参数
参数名称 | 描述 |
license | 离线 SDK 授权 License |
licensePk | 离线 SDK 授权 LicensePk |
licenseSign | 离线 SDK 授权 LicenseSign |
doDeviceAuth
ASRControllerError doDeviceAuth(Context context, String secretId, String secretKey, String token, String licenseKey, String licensePk)
按设备授权(仅对离线模式和混合模式生效)说明:按设备授权会使用到 ANDROID_ID,以下是有关 ANDROID_ID 的说明1. Android 8.0 及以后版本, 如果保证 apk 签名、用户、设备3个条件不变,那么 ANDROID_ID 就不变。2. 常见变化原因是开发过程中 debug 版 apk 默认使用电脑上 Android SDK 自带的签名文件,这个文件每台电脑都不一样,可能导致 ANDROID_ID 变化超出预期,建议 debug 版也显示指定签名
参数
参数名称 | 描述 |
context | Android Context |
secretId | 腾讯云 secret_id,通过 访问管理控制台 获取 |
secretKey | 腾讯云 secret_key,通过 访问管理控制台 获取 |
token | 腾讯云 STS 鉴权 token,使用 STS 临时鉴权时使用,不使用 STS 鉴权传 null |
licenseKey | 离线 SDK 授权 LicenseKey |
licensePk | 离线 SDK 授权 LicensePk |
load
ASRControllerError load(String path, String name)
载入模型(仅对离线模式和混合模式生效),需再授权完成后调用
参数
参数名称 | 描述 |
path | 模型所在文件目录 |
name | 模型名称 |
unload
ASRControllerError unload()
卸载模型(仅对离线模式和混合模式生效),与 load 配对使用setOnlineAuth
void setOnlineAuth(String appId, String secretId, String secretKey, String token)
设置在线认证参数(仅对在线模式和混合模式生效)
参数
参数名称 | 描述 |
appId | 腾讯云 appID |
secretId | 腾讯云 secretId |
secretKey | 腾讯云 secretKey |
token | 腾讯云临时 token |
setOnlineParams
void setOnlineParams(String engine_model_type, int needvad, int voice_format, String hotword_id, int reinforce_hotword, String customization_id, int filter_dirty, int filter_modal, int filter_punc, int convert_num_mode, int word_info, int vad_silence_time, 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. onSegment
onBegin
void onBegin(String extra)
一段话开始识别
参数
参数名称 | 描述 |
extra | 在线模式及混合模式处于在线状态时为服务端返回信息,请参考API文档 |
onSlice
void onSlice(String val, String extra)
一段话开始识别中
参数
参数名称 | 描述 |
val | 非稳态识别结果 |
extra | 在线模式及混合模式处于在线状态时为服务端返回信息,请参考API文档 |
onSegment
void onSegment(String val, String extra)
一段话开始识别结束
参数
参数名称 | 描述 |
val | 稳态识别结果 |
extra | 在线模式及混合模式处于在线状态时为服务端返回信息,请参考API文档 |
onStart
void onStart(String extra)
识别任务开始
参数
参数名称 | 描述 |
extra | 在线模式及混合模式处于在线状态时为服务端返回信息,请参考API文档 |
onError
void onError(ASRControllerError val)
识别任务结束
参数
参数名称 | 描述 |
val | 错误信息 |
onStop
void onStop()
识别任务停止
onSwitch
void onSwitch(boolean is_online)
模式切换(仅混合)
参数
参数名称 | 描述 |
is_online | true 为在线状态,false 为离线状态 |
ASRControllerDataSource
提供16000Hz,16bit(le),pcm 格式,单声道的数据源用于识别read
long read(ByteBuffer data)
参数
参数名称 | 描述 |
ByteBuffer | 传入数据 |
返回实际写入长度
对解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?