基于STM32单片机的嵌入式语音识别系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于STM32单片机的嵌入式语音识别系统设计
陈心灵1,钱宁博2,胡佳辉1,王战中1
(1.石家庄铁道大学机械工程学院,河北石家庄050043;2.石家庄铁道大学电气与电子工程学院,河北石家庄
050043)
摘要:设计了一款以STM32F103为核心的自然语言识别系统,为满足实时语音识别系统对内存资源和运算速度的要求,基于硬件资源合理
设计语音处理算法,在嵌入式平台上实现了对孤立词语的语音识别。
首先根据背景噪声和语音信号的时域特征差异设定相应门限值,从而实现了对语音信号的端点检测。
然后针对语音识别中传统梅尔倒谱系数对语音的高频信息敏感度较低,对语音信号分别提取梅尔倒谱系数(MFCC)与翻转梅尔倒谱系数(IMFCC),结合Fisher 准则构造混合特征参数。
最后采用动态时间规整算法实现语音识别。
因系统体积小、便携性好等特点,易于实现对不同设备的语音控制,有一定的市场前景。
关键词:语音识别;梅尔倒谱系数;翻转梅尔倒谱系数;Fisher 准则;动态时间规整算法;STM32F103
中图分类号:TP391.4
文献标识码:A
文章编号:1009-9492(2019)06-0135-03
Embedded Speech Recognition System Design Based on STM32F103
CHEN 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 system
for memory resources and computing speed ,the speech processing algorithm is designed based on hardware resources and speech recognition of
isolated 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 (Inverted
MFCC)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-22
DOI:10.3969/j.issn.1009-9492.2019.06.045
0引言
语音识别是人机交互很重要的模块,应用领域相当广阔。
集成电路的快速发展使得将具有先进功能的语音识别系统固化到更加微小的芯片或模块上成为可能[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 block
diagram
·
·135
1.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 i
k 表示语音的第i 类中第k 个特征分量的均值;ωi 表示第i 类的语音特征序列;c 、n i 分别表示语音的类别数及各类的样本数;c i
k 表
示第i 类语音特征中的第k 个分量。
Fisher 比从类内方差与类间方差表征了语音的可分离
程度。
Fisher 比越大,该特征参数更适合描述此人的语音特征信息。
从上文得到的MFCC 与IMFCC 参数中各选择
Fisher 比最大的6个分量组合成12维的混合特征参数。
识别匹配
动态时间规整算法[7](DTW )的实质是运用了动态规划的思想,求解最优化问题。
经过上文的语音处理过程,得到参考模板与测试模板。
参考模板表示为R ={R (1),R (2),⋯R (m ),⋯}R (M
)图2
采样电路
Fig.2Sampling
circuit
图3语音识别系统原理图
Fig.3Schematic diagram of speech recognition system
图4MFCC 提取流程图
Fig.4Extraction flow chart of
MFCC
·
·136
测试模板表示为T ={T (1),T (2),⋯T (n ),⋯}T (N ),M ,N 表示帧数,M ≠N 。
时间规整函数为i m =ϕ(i n ),将测试模板的时间轴非线性的映射到模板的时间轴上。
目标函数表示为D =min ∑n =1N
d (T (I n ),R (ϕ(i n ))),D 为最优匹配距离
[8-10]。
建
立以下约束条件:
(1)时间规整函数是基于时间序列的,需满足单调递增的性质,即ϕ(i n )≤ϕ(i n +1);
(2)假定端点检测的结果是精确的,两个模板的起点与终点相对应,即ϕ(1)=1,ϕ(N )=M ;
(3)为保证信息的完整性,时间规整函数需满足连续性,即ϕ(i n +1)-ϕ(i n )≤1;
(4)为防止无限规整,最大规整量需设定上限,即m -ϕ(i n )≤M 。
通过最优匹配距离表征语音特征序列的相似度,距离越小,则相似度越高。
将测试模板与不同类的特征模板进行匹配,根据匹配距离值判断测试模板所属类别。
3实验
设计实验作品实物如图5,界面显示设计如图6。
下面以“1、2、上、下、左、右”这6个孤立词为例,分别在实验室和地铁口,采用10位不同年龄段、不同性别和不同地域的人对本系统进行测试。
测试开始前,先将系统切换到训练模式,训练者依次朗读上述6个孤立词,每个孤立词连续朗读3遍。
训练完成后,切换测试模式,不同测试者随机朗读一次上述6个孤立词,系统反馈判决匹配距离以及识别结果。
测试结果如表1所示。
实验结果表明,平均识别时间在0.7s 左右,系统响应时间较快,满足一定的实时性要求。
在噪声较弱的实验室环境下,系统对孤立词“1、2、上、下、左、右”的识别率普遍较高,在环境噪声较强的地铁口,系统的识别率相比实验室环境的测试结果下降2%~8%,仍较为可观。
嘈杂环境的误识率较高,可以通过增大训练样本数量以及进一步优化算法提高识别率。
4结束语
本嵌入式语音识别系统以STM32为核心,运用DTW 为识别算法实现了对孤立词语的识别。
提出了MFCC 改进
算法,运用Fisher 比结合梅尔倒谱系数与翻转梅尔倒谱系数,构建了混合特征参数,有利于表征完整的语音特征信息。
本系统有一定的可靠性,识别速度可以满足孤立词语的语音控制需求,可以实现对不同设备的语音控制,应用灵活。
参考文献:
[1]廖锎.浅析语音识别技术的发展及趋势[J ].科技传
播,2010(17):216.
[2]王文蓉.基于LM3S811的声控轮式机器人的研究与设
计[J ].机电工程技术,2018,47(03):92-94.[3]帅晓勇,陶黄林,吕敬祥.基于SPCE061A 单片机的嵌
入式语音识别系统设计[J ].井冈山大学学报(自然科学版),2015,36(02):48-53.
[4]鲜晓东,樊宇星.基于Fisher 比的梅尔倒谱系数混合
特征提取方法[J ].计算机应用,2014,34(02):558-561.
[5]胡峰松,张璇.基于梅尔频率倒谱系数与翻转梅尔频
率倒谱系数的说话人识别方法[J ].计算机应用,2012,32(09):2542-2544.
[6]刘丽岩.基于MFCC 与IMFCC 的说话人识别研究
[D ].哈尔滨:哈尔滨工程大学,2008.
[7]朱淑琴,赵瑛.DTW 语音识别算法研究与分析[J ].
微计算机信息,2012,28(05):150-151.
[8]吕修任.基于改进型DTW 的语音识别算法设计与实现
[D ].南京:东南大学,2017.
[9]陈孟元.基于改进型DTW 算法和MFCC 的语音识别
[J ].安徽工程大学学报,2014,29(01):53-57.[10]叶硕,彭春堂,杜珍珍,等.基于DTW 的孤立词语
音识别系统设计[J ].长江大学学报(自然科学版),2018,15(17):33-37.
第一作者简介:陈心灵,女,1998年生,河北保定人,大学本科。
研究领域:模式识别、嵌入式系统设计。
(编辑:麦丽菊
)
图5设计实验作品图6显示界面
Fig.5Experimental works fig.6Display
interface
表1语音识别系统测试结果
Table 1Experimental results of speech recognition
·
·137。