自从Amazon Alexa音箱发布以来,各大厂家开始陆续发布自家的音箱,完善自家的生态系统。从以前的路由器,手机到现在的音箱,一个个被认为或曾被认为是智能家居的入口,总会在市场上掀起一番风浪。

有幸在2018年完成了一款以语音交互为核心功能的产品,也算跟了一场大潮,对语音方面也有些相关的探索和思考。

语音识别主要有三大组成,语义识别平台,cpu主控,以及MIC阵列;

目前国内大的语音平台主要有:科大讯飞,百度,思必驰,云知声等等很专业的厂家,也有小米,腾讯等一些互联网玩家,还有华为等少数几个传统厂家。

主控方面:主要有三类,

第一,通用的CPU,如瑞芯微的平板方案,TI的数字处理芯片;

第二,专门针对语音推出的一些新的平台,如MT8516;

第三,专用的语音芯片,主要是大平台厂家的根据自家的算法定制的一些芯片,百度,思必驰,Amazon都在推出或计划推出自家的专用芯片。

MIC阵列:平台厂家如科大讯飞有自家的MIC阵列,也有专门的硬件提供方,如声智科技,地平线等

下面将大致介绍其每个模块的使用:

首先,我们看一张硬件框图:

其中有几点需要注意的地方:

第一:MIC数量和AEC数量,是根据具体的语音处理算法来的。一般主流的是2MIC+2REF,既节省成本效果也还不错

第二:AEC,需要从PA后端采回

在软件方面,以Linux为主:

第一:MIC和REF处理方面,即普通的音频读取方式,驱动根据具体的codec来,一般主控厂家会提供

第二:将读取到的音频,根据语音识别算法的格式要求封装,一般语音识别厂家会提供对应CPU平台的开发SDK,基本不可能提供源码的,主要是MIC+REF的数据混合

第三:熟悉语音SDK使用,主要有几点:

1. 配置SDK环境和资源,主要有唤醒,AEC,VAD,拾音,云端资源等,对于VAD,拾音等模块,可以是CPU方提供,也可以是语音识别方提供,最终的具体效果需要两方联合调试

2. 唤醒和识别的数据处理过程,一般来说有不同的处理方式,根据SDK要求提供相应的数据即可

3. SDK处理结果,一般为回调方式,注意线程安全的问题。格式一般为json,根据关键字段处理即可,比如返回在线音频,tts结果,请求的文字,智能家居控制指令等等

4. 一般语音厂家会提供开发云平台,我们可以自行选择相应的技能或者开发自己的技能,比如讯飞开发平台,思必驰DUI平台等,操作方式也类似

最后总结:

第一:VAD,拾音,AEC等联合调试比较复杂,也最费时间,产品效果好坏主在于此

第二:在选择语音平台时,先考虑好自家主要需要哪些技能及后续可能会扩展的技能

第三:SDK的使用,比如线程安全,稳定性,需要长时间测试

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐