产品概述
硅基智能语音识别(ASR, Automatic Speech Recognition)针对日益丰富多样的市场需求,基于深度神经网络(DNN)技术,提供强大、稳定、易用的核心语音动力引擎为企业提供极具性价比的语音识别服务。功能包括录音文件识别、实时语音识别、一句话识别,适用于智能问答、智能质检、会议录音转写、语音输入等多个应用场景,并支持离线部署方式
功能描述
- 录音文件识别:支持长时长录音文件识别,离线版本不限制时长,取决于终端设备的内存大小。适用于长语音、实时性要求不高的场景,如智能质检等。
- 语言支持:暂只支持中文普通话
- 音频格式:支持wav、pcm等音频格式
- 音频编码:支持8k、16k的单声道音频流,支持16bit的数据采样精度
- 音频数据长度:音频流中每个数据包的音频分片为20-200ms(建议为20的倍数)
- 实时语音识别:对实时音频流进行识别,达到“说完即出文字”的效果。适用于实时性要求较高的场景,如语音输入、电话机器人等
- 语言支持:暂只支持中文普通话
- 音频格式:支持wav、pcm等音频格式
- 音频编码:支持8k、16k的单声道音频流,支持16bit的数据采样精度
- 音频数据长度:音频流中每个数据包的音频分片为20-200ms(建议为20的倍数)
- 一句话识别:对一句话短音频文件进行识别,离线版本支持超过1分钟时长的识别
- 语言支持:暂只支持中文普通话
- 音频格式:支持wav、pcm等音频格式
- 音频编码:支持8k、16k的单声道音频流,支持16bit的数据采样精度
- 音频数据长度(大小):音频流中每个数据包的音频分片为20-200ms(建议为20的倍数)
产品优势
- 价格合理
自主研发,离线部署基于终端设备或服务器路数计费,对接灵活,价格优惠,商务可协商。
- 识别准确
识别准确率高,采用国际领先的语音语言一体化建模方法,融合硅基自研的深度自然语言处理技术,基于大量自建的行业录音数据进行训练,大幅提高识别准确率。
-
中文标点符号智能标注
基于大规模数据集训练,根据语音的内容理解和停顿,智能在文字段中添加合理的标点符号(包括,。!?),使文本的可读性更强
- 多领域智能语义解析
支持数十个行业细分领域的语义理解,如:金融,保险,政务等,在不同场景下更准确地理解用户意图。
- 离线部署
本地私有化部署,低延迟,保证企业数据安全,私密性强。
接口说明
硅基智能语音识别服务提供tcp、ws多种通信方式,后端可对接多种引擎,除直接包装代理通信外,还支持对业务的组合包装,满足多种业务使用场景。
- ws和tcp接口交互过程分以下几个步骤:
- 选择通信协议,建立连接,完成tcp握手,ws协议升级等操作
- 发送请求参数:Len(长度,4B(字节))+Endpoint(功能,2B(字节))+Payload(载荷)
- 获取返回结果:Len(长度,4B(字节))+Endpoint(功能,2B(字节))+Payload(载荷)
- 循环3-4步骤
- 完成交互,断开连接,销毁相关资源。
- 说明
- 载荷内容可能是音频流,可能是json,根据具体接⼝协定,后面具体请求都会有示例
- 长度4字节描述是指静载荷长度,不包含包头4B和Endpoint的2B长度
- Endpoint 指的是功能点,比如154为asr功能,150为tts功能,请求的Endpoint和返回的不相同
- 包头4B和Endpoint的2B为大端模式
- 请求和返回次数不是一一对应,可能多次请求一次返回,或者一次请求多次返回。
- 可以在建立连接后,正式请求前,建立握手信息,握手信息作用如下:1. 标识请求方的身份 2.方便精确定位 3. 修改本次请求默认配置信息后面会有具体示例
请求示例
- 自研asr的接口已经和阿里完全适配,只需要把阿里提供的sdk中请求url改成硅基的url即可 硅基asr目前不返回TranscriptionResultChanged事件
- 阿里的接口文档地址:https://help.aliyun.com/document_detail/84428.html?spm=a2c4g.11186623.6.584.43d954dbSrmMNs
- 请求示例
1、握手请求:
参数 格式 样例 说明 包长 数值 75 0~4G 端点 数值 128 0~65535 参数 JSON {"appid":"asr","uuid":"9609b704","ActionArgs": {"129":{"voice_threshold":"10","noise_threshold": "25"}}}
握手报文 返回:参数 格式 样例 说明 包长 数值 9 0~4G 端点 数值 2 0~65535 参数 JSON MYFZXBPB 此次请求平台侧的logid 说明: 握手请求不是必须的,voice_threshold和noise_threshold含义如下: voice_threshold含义: 在非开始说话的状态下,在连续判断为活跃的语音片段大于 voice_threshold阈值后,认为此时是开始说话,语音片段20ms音频为一段 noise_threshold含义: 在开始说话的状态下,在连续判断为非活跃的语音片段大于阈值 后,认为此时是结束说话,语音片段20ms音频为一段,阿里是默认静音800ms认为此时是结束说话
2、识别PCM:参数 格式 样例 说明 包长 数值 320 0~4G 端点 数值 154 0~65535 参数 Bin < 二进制音频数据 > 原始语音的pcm 说明:识别数据会持续不断的发送
返回:参数 格式 样例 说明 包长 数值 48 0~4G 端点 数值 3 0~65535 参数 数据 {"state":1,"CurSeq":420,"CurPos":537600,"CurTime":33600}
此次请求的前端点 参数 格式 样例 说明 包长 数值 54 0~4G 端点 数值 3 0~65535 参数 数据 {"state":0,"CurSeq":446,"CurPos":570880,"CurTime":35680}
此次请求的后端点 参数 格式 样例 说明 包长 数值 8 0~4G 端点 数值 3 0~65535 参数 数据 你的姓名 此次请求的语音内容
SDK使用说明
- Python SDK
下载AIBasePythonSdk,确保本地AIBase已经安装,安装python3执行环境,运行python3 demo.py
- Go SDK
下载AIBaseGoSdk,确保本地AIBase已经安装,安装go执行环境,运行go run main.go
- Java SDK
敬请期待
- C SDK
敬请期待