技术新讯 > 乐器声学设备的制造及制作,分析技术 > 一种智能语音识别SoC系统  >  正文

一种智能语音识别SoC系统

  • 国知局
  • 2024-06-21 10:39:26

本发明涉及语音识别,尤其是指一种智能语音识别soc系统。

背景技术:

1、近年来,随着语音识别技术的不断普及,语音识别的相关soc应用受到业界和用户的广泛关注,作为自然语言处理的一条分支,其在移动互联网,智能家居、汽车、医疗等领域广泛应用起来,语音识别soc系统的大量应用给人们的生活和工作带来了方便。通过智能soc系统对语音数据进行语音特征提取算法、神经网络推理算法可以对语音信息进行分类提取关键信息从而唤醒整个soc系统,这项技术在低成本低功耗上体现了巨大的作用。

2、有鉴于此,有必要提出一种智能语音识别的soc系统。

技术实现思路

1、本发明所要解决的技术问题是:提供一种智能语音识别soc系统。

2、为了解决上述技术问题,本发明采用的技术方案为:一种智能语音识别soc系统,包括cpu处理器模块、sys_sram存储模块、pdm语音信号接收模块、mfcc语音特征提取模块、cnn卷积网络加速器模块及ahb总线模块;

3、所述cpu处理器模块与ahb总线模块电连接,通过ahb总线模块发送指令和数据,用于配置挂载在ahb总线模块上的外设模块的相关寄存器进行指定功能的操作和计算,并且存储数据到sys_sram存储模块;

4、所述pdm语音信号接收模块与ahb总线模块电连接,用于接收cpu处理器模块的指令后,开始接收语音数据;

5、所述sys_sram存储模块与ahb总线模块电连接,用于接收并存储语音数据;

6、所述mfcc语音特征提取模块与ahb总线模块电连接,用于处理来自pdm语音信号接收模块的音频数据,得到24维的结果参数数据;

7、所述cnn卷积网络加速器模块与ahb总线模块电连接,用于处理来自mfcc语音特征提取模块的24维的结果参数数据,生成分类结果。

8、进一步的,所述mfcc语音特征提取模块包括,fir滤波器模块、分帧模块、预加重模块、汉明窗模块、傅里叶变换dft模块、mel滤波模块及离散余弦变换dct模块;

9、所述fir滤波器模块,用于对语音数据进行高频滤波处理,滤除掉噪音信号,把有效的语音信号提取出来;

10、所述分帧模块,用于接收来自fir滤波后的语音数据,进行分帧处理,通过帧长和帧移寄存器参数产生的一帧信号;

11、所述预加重模块,用于接收来自分帧后的有效帧信号,进行预加重处理,突出语音信号的高频特新;

12、所述汉明窗模块,用于接收来自预加重后的有效帧信号,将时域上的帧信号乘上窗函数增加帧信号两端的连续性,防止频谱泄露,使窗口两端平滑过度到零;

13、所述傅里叶变换dft模块,用于接收汉明窗处理后的音频数据,进行傅里叶变换处理,将时域上的帧信号转换为频率上的信号;

14、所述mel滤波模块,用于接收傅里叶变换后的频谱数据,进行平滑化处理,采用三角滤波器来消除谐波突显原先语音的共振峰,最后得到特征提取后的语音数据;

15、所述离散余弦dct模块,接收梅尔滤波后的梅尔频率系数,通过离散余弦变换得到mfcc系数,并通过差分计算得到相应的mfcc一阶差分参数。

16、进一步的,所述cnn卷积网络加速器模块包括,line buffer行缓存模块、weightbuffer权重缓存模块、fsm core状态机模块、卷积阵列模块、全连接层模块及归一化模块;

17、所述line buffer行缓存模块和weight buffer权重缓存模块,用于缓存部分特征提取后的语音数据和所有权重数据;

18、所述fsm core状态机模块,用于控制line buffer行缓存模块和weight buffer权重缓存模块与卷积阵列模块之间的运算状态,根据输入特征图尺寸大小,步长,padding寄存器参数信息控制卷积阵列的运算状态;

19、所述卷积阵列模块,用于接收来自line buffer行缓存模块和weight buffer权重缓存模块,对特征提取后的语音数据和权重数据作卷积运算;

20、所述全连接层模块,用于接收卷积后的数据,进行全连接运算,将数据映射到样本标记空间;

21、所述归一化模块,用于接收全连接后的数据,进行归一化操作,最后得到的结果数据表示每一类样本的概率,进行语音分类。

22、进一步的,所述pdm语音信号接收模块,还用于将pdm格式的音频数据转换成pcm格式的音频数据供mfcc语音特征提取模块做特征提取。

23、进一步的,所述分帧模块,还用于对帧信号进行短时过零率端点检测处理降低无声段的噪声干扰,最后将有效的帧信号输出。

24、进一步的,所述预加重模块采用的预加重的公式为:y(k)=x(k)-0.95x(k-1);其中,y(k)为预加重处理后的数据,x(k)为当前语音数据采样点,x(k-1)为前一语音数据采样点;通过寄存器寄存前一语音数据采样点x(k-1)并进行移位与减法操作处理得到缩小一定倍数的语音数据采样点0.95x(k-1),然后将当前语音数据采样点x(k)与处理后的前一语音数据采样点0.95x(k-1)进行减法操作得到预加重处理后的数据y(k)。

25、进一步的,所述傅里叶变换dft模块,用于对于n点的dft傅里叶变换,其变换公式为:其中x(k)为经过傅里叶变换后的频域信号,x(n)为语音数据采样点。

26、进一步的,所述离散余弦变换dct模块,具体用于:

27、接收梅尔滤波后的梅尔频率系数,通过离散余弦变换得到mfcc系数所采用的公式为:其中,c(n)表示离散傅里叶变换后的结果,s(m)表示梅尔频率系数,l表示mfcc系数阶数,m表示三角滤波器个数;

28、将梅尔滤波倒频系数模块计算得到对数能量代入公式完成离散余弦变换,求出l阶的mel-scale cepstrum参数;

29、通过计数器读取dct_rom中64点的余弦参数相乘后进行迭代累加,累加完成的数据除去最大幅值64,从而得到mfcc参数;

30、在完成离散余弦变换之后,进行mfcc一阶差分参数计算,将得到每帧的mfcc参数,将其存入寄存器中,当寄存器存满五帧之后,计算其一阶差分系数,即mfcc_dtm=2*(m_r0-m_r4)+(m_r1-m_r2),其中m_r0,m_r1,m_r2,m_r4分别表示mfcc系数在1,2,4,5级寄存器中的存储数据。

31、进一步的,所述fsm core状态机模块,根据控制寄存器组内的寄存器值,执行相应的卷积状态跳转;具体状态机跳转状态包括:空闲状态、读网络参数状态、读权重参数状态、读输入特征图并计算状态;

32、空闲状态:初始化后的cnn卷积网络加速模块处于空闲状态,状态机等待cpu给控制寄存器组的相关寄存器的工作使能信号,当接收到相关寄存器的工作使能信号,跳入读网络参数状态,当卷积层计算完成后,状态机跳入空闲状态;

33、读网络参数状态:通过读取控制寄存器组的相关寄存器,配置相应的网络参数:包括输入特征图尺寸大小、padding操作、数据存储偏移地址、数据复用模式,针对不同的网络尺寸选择最优的网络参数,获得最优的计算效率;

34、读权重参数状态:通过数据寄存器组从ahb总线模块读取权重数据和bias数据,并存入weight buffer权重缓存模块;

35、读输入特征图并计算状态:通过数据寄存器组从ahb总线模块读取mfcc语音特征提取模块的24维语音特征参数数据,将语音特征参数数据送入line buffer行缓存模块,最后line buffer行缓存模块输出3x3大小的窗口图,与此同时读取weight buffer权重缓存模块的权重数据,完成卷积计算,卷积计算完成后,状态机返回到空闲状态。

36、进一步的,所述line buffer行缓存模块包括移位寄存器,移位寄存器的数量为2l+2,其中l为输入特征图的长度,对应24维的语音特征参数,最后输出一个3x3大小的滑动窗口;

37、weight buffer权重缓存模块为ram,用于存储权重数据和bias数据,当状态机进入到读输入特征图并计算状态时,开始读取ram内的数据;

38、卷积阵列模块包括3组3x3个乘法阵列和3组adder tree;3组对应3个通道,可并行完成3通道的计算;每组乘法阵列包含3x3个乘法器,用于3x3大小的输入特征图和3x3大小的权重数据卷积计算,最后输出3组9个乘法结果;每组adder tree包含4个加法器,用于计算9个乘法结果的和,每个加法器计算3个加数的和,分两个周期完成9个加数的加法运算。

39、本发明的有益效果在于:一种智能语音识别soc系统,包括cpu处理器模块、sys_sram存储模块、pdm语音信号接收模块、mfcc语音特征提取模块、cnn卷积网络加速器模块及ahb总线模块;采用流水的思想实现了mfcc语音特征提取和cnn神经网络的加速,能够实现对语音数据进行高效率语音特征提取以及神经网络推理分类,完成语音唤醒的功能。

本文地址:https://www.jishuxx.com/zhuanli/20240618/20991.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。