基于STM32单片机的嵌入式语音识别系统设计陈心灵1,钱宁博2,胡佳辉1,王战中1(1.石家庄铁道大学机械工程学院,河北石家庄050043;2.石家庄铁道大学电气与电子工程学院,河北石家庄050043)摘要:设计了一款以STM32F103为核心的自然语言识别系统,为满足实时语音识别系统对内存资源和运算速度的要求,基于硬件资源合理设计语音处理算法,在嵌入式平台上实现了对孤立词语的语音识别。
首先根据背景噪声和语音信号的时域特征差异设定相应门限值,从而实现了对语音信号的端点检测。
然后针对语音识别中传统梅尔倒谱系数对语音的高频信息敏感度较低,对语音信号分别提取梅尔倒谱系数(MFCC)与翻转梅尔倒谱系数(IMFCC),结合Fisher 准则构造混合特征参数。
最后采用动态时间规整算法实现语音识别。
因系统体积小、便携性好等特点,易于实现对不同设备的语音控制,有一定的市场前景。
关键词:语音识别;梅尔倒谱系数;翻转梅尔倒谱系数;Fisher 准则;动态时间规整算法;STM32F103中图分类号:TP391.4文献标识码:A文章编号:1009-9492(2019)06-0135-03Embedded Speech Recognition System Design Based on STM32F103CHEN Xin-ling 1,QIAN Ning-bo 2,HU Jia-hui 1,WANG Zhan-zhong 1(1.College of Mechanical Engineering ,Shijiazhuang Tiedao University ,Shijiazhuang 050043,China ;2.College of Electrical and Electronic Engineering ,Shijiazhuang Tiedao University ,Shijiazhuang 050043,China )Abstract:A natural language recognition system is designed based on STM32F103.To meet the requirements of real-time speech recognition systemfor memory resources and computing speed ,the speech processing algorithm is designed based on hardware resources and speech recognition ofisolated words is implemented on the embedded platform.Firstly ,the corresponding threshold is set according to the time domain characteristic difference of the speech signal and the background noise and thereby realizing the endpoint detection of the speech signal.Concerning the traditional Mel Frequency Cepstral Coefficient (MFCC)in speech recognition is less sensitive to high frequency signals of speech ,MFCC and IMFCC (InvertedMFCC)are extracted respectively for the speech signal and the Fisher criterion is used to construct the mixed feature parameters.Dynamic time warping algorithm is used in speech recognition process.Due to the small size of the system and good portability ,it is easy to implement voice control for different devices and has much marker potential.Key words:speech recognition ;MFCC ;IMFCC ;Fisher criterion ;DTW ;STM32F103收稿日期:2018-12-22DOI:10.3969/j.issn.1009-9492.2019.06.0450引言语音识别是人机交互很重要的模块,应用领域相当广阔。
集成电路的快速发展使得将具有先进功能的语音识别系统固化到更加微小的芯片或模块上成为可能[1],更便于语音识别系统的推广与使用,嵌入式语音识别技术开发变得更加有价值。
本文设计一个基于STM32F103单片机的嵌入式语音识别系统,包括硬件设计和软件设计[2-3]。
语音特征提取在传统梅尔倒谱系数基础上,运用Fisher 比结合梅尔倒谱系数与翻转梅尔倒谱系数,构建了混合特征参数[4],识别算法采用动态时间规整算法。
硬件设计上实现了语音信号采集、语音信号处理、语音信息存储、语音识别结果的显示等功能。
1系统硬件设计本系统主要由电源部分(LDO )、主控(STM32F103)、语音采样电路、LCD 显示模块等组成,如图1所示。
1.1MCU 选择STM32F103开发板基于Cortex-M3处理器,内置2个12位模数转换器,2个DMA 控制器,共12个DMA 通道,其可以满足本系统中的语音处理需求。
1.2采样电路采样电路选用差分放大电路,抑制共模干扰,放大有用信号,有效地解决采样噪声硬件预处理的问题。
其原理图如图2。
在设计过程中,其输出端(即Q1\Q2的C 极)静态工作点为1/2Vcc 最为适宜,能保障其最大动态输出范围。
电路设计尽可能使Q1、Q2的静态工作参数一致,构成对称电路。
图1系统硬件框图Fig.1The system hardware blockdiagram··1351.3硬件存储语音的模拟信号通过模数转换器转换为数字信号,MCU 读取语音数据缓冲区的信息并处理,将模板训练过程得到的特征模板存储于指定的Flash 地址,系统再次上电时不丢失模板信息。
2系统软件设计2.1语音识别软件设计整体思路本系统主要由语音信号的预处理、端点检测、特征提取、模板匹配等部分组成,如图3所示。
预处理过程包括分帧、数据加窗、预加重等;特征提取旨在去除语音信号中的冗余信息提取特征参数;模板匹配基于提取的特征参数,按一定的方法表征测试语音模板与参考模板的相似度,从而判断出测试语音的信息。
2.2语音识别算法2.2.1端点检测原理提取识别前200ms 作为背景噪声,依据噪声信息和语音信息的短时平均幅度值的差异,设置相应门限T 1。
因为噪声信息的能量主要集中在较高频段,而语音信息的能量主要集中在较低频段,设定正负阈值,根据单位时间跨过正负阈值的次数设置相应门限T 2。
设定当语音信号至少超过T 1、T 2中的一个门限值且持续时间超过一定时间,则将此作为语音的起始点;设定语音信号同时低于T 1、T 2门限且持续时间超过一定时间,则将此作为语音的结束点。
2.2.2特征提取参考模板训练和待测语音识别基于语音的特征参数进行,特征参数的提取尤为关键,本系统改进了传统梅尔倒谱系数。
梅尔频率[5]与实际频率的变换关系如式(1):f Mel =2595×lg(1+f /700)(1)梅尔倒谱系数(MFCC )基于滤波器组得到,构造Mel 频域下等间距的12个梅尔滤波器,转换到实际频域,滤波器在低频段分布密集,在高频段分布相对稀疏。
每一帧语音信号的MFCC 参数提取过程如图4。
语音信号的能量谱经MFCC 滤波器滤波,再将每个滤波器频带内的能量进行积分,得到功率谱;将每个滤波器对应的功率值取对数,再进行反离散余弦变换,最终得到12个MFCC 系数。
梅尔倒谱系数对低频语音信息更加敏感,针对高频信息,提出结合翻转梅尔倒谱系数,翻转梅尔频率与实际频率的变换关系[6]如式(2):f Mel =2195.268-2595lg(1+(4031.25-f )/700)(2)翻转梅尔倒谱系数(IMFCC )同样是基于滤波器组得到的,转换到实际频域,滤波器在高频段分布密集,在低频段分布相对稀疏。
IMFCC 参数的提取流程与MFCC 参数的提取流程一致。
以上得到的MFCC 参数与IMFCC 参数分别主要表征了低频段和高频段的语音特点,提出一种评价特征参数的方案,使用Fisher 线性判别准则[6]:r Fi sh er =σbetweenσwi th in式3中:r Fi sh er 是特征分量的Fisher 比;σbetween 表示特征分量的类间方差,可以反映不同语音的差异程度;σwi th in 表示特征分量的类内方差,可以反映同一语音中分量的密集程度。
σbetween =∑i =1c (m i k -m k )2σwi th in =∑i =1c[1n i ∑c ∈ωi(c i k -m i k )2]式中:k 等于特征参数的维数,k =1,2,⋯,12;m k 表示语音所有类别上第k 个特征分量的均值;m ik 表示语音的第i 类中第k 个特征分量的均值;ωi 表示第i 类的语音特征序列;c 、n i 分别表示语音的类别数及各类的样本数;c ik 表示第i 类语音特征中的第k 个分量。
Fisher 比从类内方差与类间方差表征了语音的可分离程度。
Fisher 比越大,该特征参数更适合描述此人的语音特征信息。
从上文得到的MFCC 与IMFCC 参数中各选择Fisher 比最大的6个分量组合成12维的混合特征参数。
识别匹配动态时间规整算法[7](DTW )的实质是运用了动态规划的思想,求解最优化问题。
经过上文的语音处理过程,得到参考模板与测试模板。
参考模板表示为R ={R (1),R (2),⋯R (m ),⋯}R (M)图2采样电路Fig.2Samplingcircuit图3语音识别系统原理图Fig.3Schematic diagram of speech recognition system图4MFCC 提取流程图Fig.4Extraction flow chart ofMFCC··136测试模板表示为T ={T (1),T (2),⋯T (n ),⋯}T (N ),M ,N 表示帧数,M ≠N 。