一种终端硬件和算法软件处理相结合的离线语音识别方法技术

技术编号:34680862 阅读:48 留言:0更新日期:2022-08-27 16:10
一种终端硬件和算法软件处理相结合的离线语音识别方法及芯片,包括如下步骤:S1.麦克风实时抓取外部的模拟语音信号;S2.将第一缓存中的数据搬运到语音预处理模块;S3.得到洁净语音信号,将该洁净语音信号存放;S4.直接内存访问模块将洁净语音信号同时发送到语音端点检测模块和硬件计算模块;S5.语音端点检测模块计算判断所述洁净语音信号是否是有效语音信号;S6.计算语音声学特征;S7.神经网络计算模块针对语音声学特征进行计算,CPU进行语音识别处理。本发明专利技术将芯片中的CPU和各个硬件计算模块,通过有效的并行处理方式进行了连接,通过数据并行搬运,可以降低CPU处理能力要求,降低了芯片成本。降低了芯片成本。降低了芯片成本。

【技术实现步骤摘要】
一种终端硬件和算法软件处理相结合的离线语音识别方法


[0001]本专利技术属于语音识别
,具体涉及一种终端硬件和算法软件处理相结合的离线语音识别方法。

技术介绍

[0002]语音识别技术发展已经有多年,尤其是近年来随着神经网络技术的逐步成熟,大量语音识别采用了神经网络技术,提升了识别的准确率,也使得语音识别开始逐步得到真正的商用。语音识别中应用神经网络技术需要算法和硬件算力的配合,主流做法是采用云端语音识别技术,类似于现有技术中智能音箱的语音识别和智能手机上的语音助手等,都是将语音从终端采集到后,上传到服务器中,由服务器硬件运行相关语音识别算法进行处理,得到结果后再反馈给终端。
[0003]采用云端语音识别可以解决语音所需要的算力问题,可以得到比较好的语音识别效果,但用云端语音识别也存在语音隐私安全泄露,以及依赖网络,实时性不好的问题,在如控制类等应用场合并不完全适用。因此行业也需要离线的语音识别技术方案。而在离线语音识别中,由于无法调用云端硬件资源,终端硬件处理能力有限,且终端产品对成本和性能,包括响应时间、判断准确率等综合要求都较高,如何利用有限的硬件处理资源,结合算法软件设计高性价比,高实时性以及高识别率的语音识别方法是一个具备挑战性的技术问题。

技术实现思路

[0004]为克服现有技术存在的缺陷,本专利技术公开了一种终端硬件和算法软件处理相结合的离线语音识别方法。
[0005]本专利技术所述终端硬件和算法软件处理相结合的离线语音识别方法,其特征在于,包括如下步骤:S1.麦克风实时抓取外部的模拟语音信号,发送到离线语音识别芯片内部的语音数据采集模块;语音数据采集模块将该模拟语音信号转化为数字语音信号,通过芯片内部的直接内存访问模块发到第一缓存;S2.CPU对第一缓存的数据量进行监控,当第一缓存中的数据积累到一预设的门限值时,由CPU将第一缓存中的数据搬运到语音预处理模块;S3.语音预处理模块接收到CPU从第一缓存传来的数字语音信号时,对该信号进行处理,得到洁净语音信号,并通知CPU,由CPU将该洁净语音信号存放到第二缓存中;S4.直接内存访问模块将第二缓存中的洁净语音信号同时发送到语音端点检测模块和硬件计算模块;S5.语音端点检测模块计算判断所述洁净语音信号是否是有效语音信号,以及所述有效语音信号的开始和结束端点,如果是有效语音信号则通知硬件计算模块并发送开始和结束端点信息进入S6步骤;不是则终止并继续等待下一次处理;
S6.硬件计算模块根据语音端点检测模块的通知判断直接内存访问模块发来的洁净语音信号是否是有效语音信号;如果是有效语音信号,获取语音端点检测模块发来的有效语音信号的开始和结束端点;硬件计算模块计算得到语音声学特征并通知CPU,进入S7步骤;如果不是有效语音信号,不处理之前发来的洁净语音信号数据并进入等待下一次洁净语音信号数据的状态;S7.CPU将硬件计算模块计算出的语音声学特征结果数据存放到神经网络处理前置缓存;直接内存访问模块并行将语音声学特征结果发送到神经网络计算模块,神经网络计算模块实时读取芯片外部FLASH存储器中存放的声学模型参数,对语音声学特征结果数据进行神经网络计算;计算完成后的结果数据通过直接内存访问模块并行实时传输到第三缓存SRAM 3 中,同时通知CPU进行语音识别处理。
[0006]优选的,所述S3中,所述处理包括进行降噪、滤波、语音增强及声源定位。
[0007]优选的,所述语音声学特征计算为依次进行去掉无效语音信号数据、加载梅尔滤波器系数、通过FFT计算、均值方差计算、归一化计算和浮点转定点量化。
[0008]优选的,所述S7步骤中的CPU处理识别的具体流程为:S71.CPU先从外部FLASH存储器读取唤醒词语言模型和命令词语言模型,并存放到第三缓存SRAM 3中;S72.当CPU接收到步骤S7神经网络计算模块的语音识别处理通知后,从第三缓存读取计算结果T,同时CPU判断当前设备是否在唤醒状态;S73.如果当前设备未在唤醒状态,继续判断该计算结果T是否为唤醒词,如果不是,即唤醒词无效,设备当前不处于唤醒状态且不能唤醒设备,则继续等待唤醒操作;如果该计算结果T是唤醒词,继续判断对应的置信度是否超过唤醒词设定的门限,如果没有超过,判断可能是误识别,认为唤醒无效,继续等待唤醒操作;如果对应的置信度超过唤醒词设定的门限,判断唤醒词有效,唤醒设备;S74. 如果当前设备处于唤醒状态,CPU继续判断从第三缓存读取的计算结果T对应的文本和置信度;首先判断文本是否有对应的命令,如果没有,判定命令词无效,继续等到下一个命令操作;如果判断该文本有对应的命令,继续判断该文本对应的置信度,是否超过对应的命令词设定的门限,如果没超过,判断是误识别,命令词无效,继续等待下一个命令操作;如果对应的置信度超过命令词设定的门限,则判定该命令词有效,执行该命令词对应的操作。
[0009]优选的,CPU判断当前设备未在唤醒状态时,仅加载唤醒词语言模型。
[0010]本专利技术还公开了一种离线语音识别芯片,包括CPU和直接内存访问模块,所述直接内存访问模块和CPU之间连接有第一缓存、第二缓存和第三缓存,所述第一缓存还连接有语音预处理模块,所述第二缓存还连接有语音端点检测模块和硬件计算模块;所述硬件计算模块连接有神经网络前置缓存;所述直接内存访问模块还连接有语音数据采集模块和神经网络计算模块,所述神经网络计算模块和第三缓存及神经网络前置缓存连接;所述神经网络计算模块和CPU具有外部存储器连接端口;所述直接内存访问模块、语音预处理模块、语音端点检测模块、硬件计算模块、语音数据采集模块和神经网络计算模块均为硬件模块。
[0011]优选的,所述硬件模块为ASIC方式实现。
[0012]优选的,各个缓存由同一缓存器件通过直接内存访问模块的不同数据读写通道实现不同的存储分区实现采用本专利技术所述终端硬件和算法软件处理相结合的离线语音识别方法,具有如下优越性:一.将芯片中的CPU和各个硬件计算模块,通过有效的并行处理方式进行了连接,通过数据并行搬运,可以降低CPU的处理能力要求,降低了芯片成本。
[0013]二.硬件计算模块和CPU的并行处理工作可以保障芯片的CPU和硬件模块独立运算,提升了运算速度,在处理实时语音识别时不会遗漏语音数据,保障了识别的实时性,提升了识别效果。
[0014]三.芯片可以自动从外部FLASH存储器读取声学模型,无需内部RAM存储声学模型,极大节省了内存空间。
附图说明
[0015]图1为本专利技术所述离线语音识别方法的一种具体实施流程示意图;图2为本专利技术所述离线语音识别方法的一种具体实施方式示意图,图2中未画完全部模块之间连线。
具体实施方式
[0016]下面对本专利技术的具体实施方式作进一步的详细说明。
[0017]本专利技术所述终端硬件和算法软件处理相结合的离线语音识别方法,如图1所示,包括如下步骤:S1.麦克风实时抓取外部的模拟语音信号,发送到离线语音识别芯片内部的语音数据采集模块;语音数据采集模块将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种终端硬件和算法软件处理相结合的离线语音识别方法,其特征在于,包括如下步骤:S1.麦克风实时抓取外部的模拟语音信号,发送到离线语音识别芯片内部的语音数据采集模块;语音数据采集模块将该模拟语音信号转化为数字语音信号,通过芯片内部的直接内存访问模块发到第一缓存;S2.CPU对第一缓存的数据量进行监控,当第一缓存中的数据积累到一预设的门限值时,由CPU将第一缓存中的数据搬运到语音预处理模块;S3.语音预处理模块接收到CPU从第一缓存传来的数字语音信号时,对该信号进行处理,得到洁净语音信号,并通知CPU,由CPU将该洁净语音信号存放到第二缓存中;S4.直接内存访问模块将第二缓存中的洁净语音信号同时发送到语音端点检测模块和硬件计算模块;S5.语音端点检测模块计算判断所述洁净语音信号是否是有效语音信号,以及所述有效语音信号的开始和结束端点,如果是有效语音信号则通知硬件计算模块并发送开始和结束端点信息进入S6步骤;不是则终止并继续等待下一次处理;S6.硬件计算模块根据语音端点检测模块的通知判断直接内存访问模块发来的洁净语音信号是否是有效语音信号;如果是有效语音信号,获取语音端点检测模块发来的有效语音信号的开始和结束端点;硬件计算模块计算得到语音声学特征并通知CPU,进入S7步骤;如果不是有效语音信号,不处理之前发来的洁净语音信号数据并进入等待下一次洁净语音信号数据的状态;S7.CPU将硬件计算模块计算出的语音声学特征结果数据存放到神经网络处理前置缓存;直接内存访问模块并行将语音声学特征结果发送到神经网络计算模块,神经网络计算模块实时读取芯片外部FLASH存储器中存放的声学模型参数,对语音声学特征结果数据进行神经网络计算;计算完成后的结果数据通过直接内存访问模块并行实时传输到第三缓存SRAM 3 中,同时通知CPU进行语音识别处理。2.如权利要求1所述的离线语音识别方法,其特征在于,所述S3中,所述处理包括进行降噪、滤波、语音增强及声源定位。3.如权利要求1所述的离线语音识别方法,其特征在于,所述语音声学特征计算为依次进行去掉无效语音信号数据、加载梅尔滤波器系数、通过FFT计算、均值方差计算、归一化计算和浮点转定点量化。4.如权利要求1所述的离线语音识别方法,其特征在于,所述S7步骤中的CPU处理...

【专利技术属性】
技术研发人员:许兵高君效
申请(专利权)人:成都启英泰伦科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1