收藏 分销(赏)

语音签到系统中的信号处理技术_李金龙.pdf

上传人:自信****多点 文档编号:602651 上传时间:2024-01-11 格式:PDF 页数:6 大小:1.52MB
下载 相关 举报
语音签到系统中的信号处理技术_李金龙.pdf_第1页
第1页 / 共6页
语音签到系统中的信号处理技术_李金龙.pdf_第2页
第2页 / 共6页
语音签到系统中的信号处理技术_李金龙.pdf_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、80ELECTRONIC ENGINEERING&PRODUCT WORLD 2023.7$电子产品世界Design设计应用&Application语音签到系统语音签到系统中的信号处理技术Signal processing technology in voice check-in system李金龙1,原立格1(郑州工商学院信息工程学院,郑州451450)摘 要:研究了快速准确签到的语音签到系统,该系统利用MATLAB仿真对语音信号进行处理并提取特征量进行分类,使其满足语音签到的目的,主要从信号滤波、信号检测、信号处理、分类学习等方面体现信号处理的整体过程。用MATLAB中的分类学习器模块对特

2、征变量通过不同的模型,并对比不同模型来找到最适合语音信号的分类模型,以达到识别语音签到者的目的。关键词:信号滤波;端点检测;信号处理;分类学习器基金项目:2022年河南省大学生创新创业训练计划项目,项目编号s202213507009在信息技术高速发展的今天,信号处理技术正迎着发展的浪潮逐步优化,数字信号处理(Digital Signal Processing),是以数字运算方法实现信号变换、滤波、检测、估值、调制解调以及快速算法的处理方式,将数字信号处理的研究应用到“语音签到”系统,来对签到者的语音信号进行滤波、检测、处理以提取特征值,并建立数据集进行机器学习,通过 MATLAB 软件的分类学

3、习器模块利用不同的模型进行分类,从而达到分辨不同签到者的目的,在建立系统的过程中将展示信号的滤波、检测、处理、分类的过程,本文通过利用 MATLAB仿真对信号处理的各个方面进行研究,利用 MATLAB仿真的优势来阐述信号处理的整体过程,通过对语音信号特征的提取来体现数字信号处理的各个方面。本文主要通过研究信号处理的 4 个阶段,通过建立“语音签到”系统来展示信号处理的过程,针对签到问题,通过声音采集,滤波处理,特征提取,端点检测研究等信息处理,利用 MATLAB 软件、Python 软件编程处理使得整个代码准确、简洁,并达到良好的“语音签到”效果。1 信号滤波1.1 降噪总体流程规划噪声在声音

4、的传输过程中是客观存在的,噪声的存在既降低了语音传播信息的准确性,又增加了语音系统不能正常工作运转的风险,为了降低噪音干扰,信号滤波过程运用数字信号处理的理论知识与 MATLAB 仿真软件相结合,通过设计低通滤波器的方式对加入高斯白噪声(模拟生活中混入的噪声信号)后的带噪语音信号,先运用 IIR(无限单位冲激响应)数字滤波器进行降噪处理,后通过小波阈值降噪进行二次降噪处理,最终调用 MATLAB 中的绘图命令,展示出其在时域、频域的对比图,并通过 audiowrite()函数把降噪后的音频保存进文件夹中,方便后续实验的进行。具体操作流程如图 1 所示。1.2 音频信号的采集、加噪及分析采集声音

5、签到信号,调用 MATLAB 中的 audioread函数对准备好的音频信号进行采样并绘制出其时域波形,调用 FFT 傅里叶函数对音频信号处理并进行归一化处理最后绘制得出其频谱图。调用 MATLAB 仿真中的 audioread()函数对音频信号进行处理并绘制出其时域波形,并调用傅里叶函数处理音频信号并进行归一化处理,通过 randn()函数加入高斯白噪声,进一步绘制出加噪后的语音信号频谱图。通过调用 MATLAB 仿真中的 sound()函数可以实现对音频的播放,从而对 sound.wav 文件进行判别加入噪声前后的差异。 2023.7电子产品世界设计应用Design&Application

6、语音签到系统图1 降噪操作总体流程图1.3 对加噪语音进行降噪处理本文是基于数字信号的处理,通过巴特沃斯低通滤波器对音频信号进行降噪处理,并输出其原始信号、加噪信号、降噪后信号的时域波形和频谱图如图 2 所示。分析仿真结果,对比降噪前后音频信号的时域波形和频谱,可以看出音频信号的大部分高频部分被滤除,此时调用 sound 函数进行试听,发现滤波前的“滋啦”声已经基本消失,说明滤波处理的效果不错,在其频域上降噪后高频部分已经消失,但不可否认的是,由于高斯白噪声的宽带特性,致使其在各个频率都有分布,所以传统滤波器无法完全抹除噪声的干扰,降噪后的音频信号与原信号相比依然存在一些噪声未能有效去除,这是

7、由于传统滤波器对于短时瞬态信号、非平稳信号、含有宽带噪声的信号时会有明显的局限性。为防止上述噪声会对后续的研究造成不利影响,可以利用 audiowrite()函数让其先保存到相应文件夹中,再次进行另外一种滤波操作(小波阈值降噪)来进行二次滤波处理,进一步加深滤波效果,确保信号的准确性。1.4 小波阈值降噪处理小波降噪总体流程如图 3 所示。MATLAB 仿真中提供来各种小波基,针对不同的信号有着不同的效果和优势,本文主要处理对象是人声音频,故选择对于人声效果更好的 db4-db10,sym5-sym7 小波基。根据小波阈值降噪的基本原理,当分解层数越大时,噪声和原始信号的表现差别越大,更有利于

8、语音和噪声的分离,但不可避免的是,分解层数越多意味着重构层数越多,经重构得到的音频信号与原始信号差距较大,所以通过多次实验选取效果理想的分解层数,能够在实现良好的降噪效果的基础上最大限度的保留原始音频的特征,经过多次测试确定最终确定的分解层数为 5。阈值函数的设计通常是使用图2 原始、加噪、降噪后信号的时域波形和频谱图82ELECTRONIC ENGINEERING&PRODUCT WORLD 2023.7$电子产品世界Design设计应用&Application语音签到系统小波阈值降噪方法的核心关键所在,在小波域中原始信号对应的小波系数很大,噪声对应的小波系数很小。本文中选择适用范围较为广泛

9、的通用阈值(VisuShrink)作为实验阈值,确定合适的阈值函数后对小波系数进行处理,通过选取硬阈值法将小波系数绝对值小于阈值的值都置 0,绝对值大于阈值的值予以保留,将处理后获得的小波系数利用逆小波变换法对信号进行重构,从而恢复出原始信号。图3 小波阈值降噪流程图1.5 滤波结果及总结通过调用MATLAB仿真的绘图指令,将原始信号、加入高斯白噪声的音频信号、通过巴特沃斯低通滤波器后的音频信号以及再次通过小波阈值降噪后信号的时域波形图和频谱图运行出来,如图 4、图 5 所示。通过利用 MATLAB 仿真对音频信号进行加噪处理,模拟现实生活中签到时不可避免的噪声加入,再对音频信号进行降噪处理,

10、先经过传统的巴特沃斯低通滤波器去除部分噪声,后经过小波阈值的降噪处理去除低通滤波器无法去除的噪音信号,得到声音签到的音频已经相对清晰且满足后续阶段的需求。图4 原始、加噪、初步降噪和小波降噪后信号的时域波形图图5 原始、加噪、初步降噪和小波降噪后信号的频谱图2 信号检测2.1 端点检测的方法与原理在对信号进行处理前,需对原始信号进行预处理以满足信号处理的需求,预处理过程包括信号滤波和信号检测,滤波的目的在于去除噪音的干扰,检测到语音信号中的静音片段并去除,避免由于空白信息带来的资源浪费。图6 端点检测流程图 2023.7电子产品世界设计应用Design&Application语音签到系统2.2

11、 端点检测端点是静音和有效语音信号的变化临界点,确定端点位置是确保信号检测精准度的关键,对语音信号进行有效的预加重和选择窗函数处理就可以进行端点检测,通过采用的双门限比较法利用分步判决的思想来进行端点检测。将由滤波处理后的信号(采集的音频)进行端点检测,为了可以重复使用该模块,首先要设置 1 个循环结构,以便循环读取语音和存储语音信号。将端点检测各部分处理分别模块化(便于对各个阶段进行优化)并加入循环结构内,其中包括预加重、分帧加窗、计算过零率、计算短时能量、设置并调整门限阈值、初始化各参量、端点检测算法、获取起止点位置并截取出语音片段(去除静音片段)从而达到去除语音信号首尾静音片段的目的。利

12、用 MATLAB 仿真进行运行结果如图 7所示。图7 简单去除静音片段注:左侧竖直实线表示语音起点,左侧竖直虚线表示语音结束点,横坐标表示帧数。通过观察图 7 可以发现检测的起始点选择在了语音信号的首尾处,从而实现去除语音信号首尾大面积静音片段的目的。但由于此次端点检测所设置的阈值比较低,就使得系统对静音片段的判断标准比较宽松,因而在检测静音片段时只检测到了音频首尾处的较直白的静音片段。3 信号处理3.1 信号处理 的总体流程对于语音签到系统来说,如何确认语音信号特征的不同以达到识别不同签到者的目的是整个信号处理过程的关键,对已经进行信号滤波和检测的语音信号进行特征提取便是实现签到目的的必要条

13、件,合理有效的特征提取方式可以提高识别的准确性和真实性。通过信号滤波和检测的信号已经基本满足信号处理的要求,但依然需要进行数据预处理,确认特征提取的顺利进行,利用语音信号时频域的特征以及梅尔特征对信号进行特征提取,进一步进行归一化处理满足MATLAB 仿真矩阵的基本要求,通过 PCA 降维对复杂的特征量进行简化获得数据集,并对数据集进行重新构建和划分,满足分类识别的要求,以达到识别签到者的目的,具体操作流程如图 8 所示。总体流程数据预处理加窗分帧数据清洗帧的抽取与保留特征值提取传统时频域特征提取梅尔特征提取归一化处理PCA降维数据集的构建与划分构建特征值矩阵数据标注数据洗牌留出法对数据集进行

14、划分图8 信号处理流程图3.2 数据预处理3.2.1加窗分帧对语音信号进行分帧处理,在同一帧中语音信号的特征是稳定的,但由于分帧后每一帧的开始和结束都会出现间断,因此分割的帧越多,与原始信号的误差就越84ELECTRONIC ENGINEERING&PRODUCT WORLD 2023.7$电子产品世界Design设计应用&Application语音签到系统大,使用加窗分帧的方法使成帧后的信号变得连续,并且每一帧都会表现出周期函数的特性。语音信号的表征参数都是短时平稳的,一般为 1030 ms 因而可以视为一个准稳态过程。由于语音信号具有短时平稳性,对语音信号进行分帧加窗处理,截断短时音频片段

15、,通常帧移大小为1015 ms,要求保证窗长大小为帧移的23倍。加窗分帧的目的是为了使语音信号更连续,避免出现吉布斯效应(又叫吉布斯效应将具有不连续点的周期函数进行傅立叶级数展开后,选取有限项进行合成,当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点)。3.2.2 数据清洗为了保证提取到的所有帧都是有效的语音片段,在之前降噪、端点检测的基础上,对数据进行清洗,检查所有帧是否具有有效数据,对每帧的矩阵进行识别,若出现数值全为 0 的帧则将其剔除。剔除无效帧,不仅可以提高模型的运行效率,还可以提高后期提取出的特征值的有效性。3.2.3 有效帧的抽取与保留由于对信号进行端点检测去除

16、静音片段后音频的时长并不统一,进行分帧时,会导致不同音频分得的帧数并不相同。因此,首先对所有音频进行加窗分帧处理,并且记录从各个音频所得到的帧数,计算出所有音频中最少的帧数,并以最少帧数为标准,对于所有大于该帧数的音频,进行部分帧抽取。抽取的准则是根据各帧音频的能量大小,将所有帧按照低能量、中能量、高能量三个层次进行划分,并且分别对低能量、中能量以及高能量区域中的帧进行等帧数的随机抽取,最后再以原音频各帧位置为基准,对抽取到的帧进行排序。3.3 特征提取完成预处理过程后,对信号进行特征提取,利用时域中的短时过零率、短时能量以及频域中频谱质心、频域能量作为特征提取的依据进行特征提取,共提取特征数

17、为 4 个,时域特征提取如表 1。表1 时频域提取特征时域特征频域特征短时能量Eynt=np=012()频域能量EY kf=kp=01()2短时过零率sgn(1)Zy n=12y nnp=01sgn()频谱质心C=kp=01(1)()kpkY k=01+Y k()注:y n()为音频信号一帧的幅值,p为帧长。Y n()为一帧内音频信号的离散傅里叶变换。对音频信号进行预加重处理主要作用是为了平衡频谱、避免在傅里叶变换操作过程中出现数值问题、改善信噪比、补偿语音信号受到发生系统所抑制的高频部分,突出高频共振峰。预加重处理实际意义是让音频信号通过一个高通滤滤波器。通过 MATLAB 仿真调取音频信号

18、预加重前后时频域频谱图并观察,与原始音频对比发现经过预加重的信号频谱更加平衡,高频部分更加突出,频谱图如图 9 所示。图9 预加重前后时频域频谱图3.4 数据集的构建和划分为了更好的利用提取到的特征值,需要对特征值的数据集进行构建。本文共采集了 30 个人员的样本,每个人进行了 10 次重复的语音签到音频录制,共有 300个待处理音频。依次对 300 个音频按照信号处理流程进 2023.7电子产品世界设计应用Design&Application语音签到系统行处理,最后将单个音频所计算出来的特征值按行向量保存,最终构建了一个 300 行、561 列的特征值矩阵。为了消除各特征量之间的量纲影响、提

19、高后期梯度下降法求解最优解的速度,对特征值矩阵中的数据进行归一化处理。由于在信号分类中会运用到机器学习算法,通过模型进行分类,数据维度过高往往会降低模型的性能和效率,高维数据不仅使模型更复杂,还容易引起维数灾难。为了避免上述问题并提高后期模型的训练速度,使用 Visual Studio Code 软件,在 Anaconda 环境下调用sklearn 库对数据集进行 PCA 降维。最后在保留 95%特征信息量的前提下,将特征值矩阵降维至 139 列。首先依照不同的样本音频,对特征值矩阵进行标注,将从第一个样本音频求得的特征值(即特征值矩阵的第 1 至10 行)标注为 1,从第二个样本音频求得的特

20、征值(即特征值矩阵的第 1120 行)标注为 2,以此类推。为了避免出现过拟合的现象,将数据重新打乱并重新分割数据。对数据洗牌过后的数据,使用留出法依照7:3的比例对数据集进行划分,即最终得到 210 行、140 列的训练集,90 行、140 列的测试集。4 信号分类对信号处理得到的数据集利用 MATLAB 仿真自带的分类学习器模块进行信号分类处理,分类学习器是通过训练模型结构,用于以对数据进行分类,是机器学习比较常见的应用,通常包括五个部分,分别是数据导入、数据的探索和特征选择、训练模型、比较模型和输出模型。分类算法使用户可以将一个分类应变量建模为一个或多个预测的函数,其中的模型主要包括有:

21、决策树、逻辑回归(Logic)、神经网络和支持向量机(SVM)、最近邻分类(KNN)、集成分类器等分类模型。将模型训练完毕后,通过观察训练数据的散点图、混淆矩阵、ROC 曲线等图像进行数据分析,对测试数据进行预测和实际操作。除此之外,训练好的模型也可以直接导入Matlab 的工作空间,便于对新数据进行预测,同时能够直接生成代码方便集成使用。5 结束语本文通过对 MATLAB 仿真在信号处理多个方面的研究实现了语音签到系统,重点研究了信号滤波、信号检测、信号处理、信号分类四部分。首先收集声音样本信息,使用低通滤波器进行信号滤波,之后利用端点检测去除静音片段,对处理后的音频信号利用时频域和梅尔倒谱

22、系数提取特征值并进行分类以达到语音签到的目的。为了降低噪音干扰,信号滤波过程运用数字信号处理的理论知识与 MATLAB 仿真软件相结合通过设计低通滤波器的方式对加入高斯白噪声后的带噪语音信号,先运用 IIR(无限单位冲激响应)数字滤波器进行降噪处理,后通过小波阈值降噪进行二次降噪处理。对去噪音频信号利用短时分析法依据短时能量、短时平均幅值、短时过零率等特征对有语音和无语音语段进行判别分析,设置合理的阈值进行区分,并利用端点检测准确的定位出语音的开始点和结束点,去掉静音的部分,从而获得真正有实际意义的语音信号,保证了签到的快速、准确。参考文献:1 陈建勇,王道阔,邓文锋,等.重构小波阈值函数在信

23、号去噪中的应用与研究J.CT理论与应用研究,2017,26(1):63-68.2 裴萍.阈值函数的改进在信号去噪中的应用J.科技视界,2012(28):164-165.3 阿布力米提肉孜,吐尔洪江阿布都克力木.改进小波阈值函数信号去噪研究J.计算机与现代化,2012(3):11-14.4 王玲玲,黄垂桂,赵建杨.基于MATLAB的音频降噪滤波器设计J.中国新技术新产品,2022(16):15-17.5 朱俊敏,张潇,王旌阳,等.小波域音频信号降噪研究J.计算机工程与应用,2009,45(6):149-154.6 杨天晴,杨静宗,付蕊,等.基于MATLAB的小波阈值法在信号降噪中的应用研究J.保

24、山学院学报,2021,40(2):93-101.7 彭仕玉,李宏民,张国云.DFT频谱分析中时域加窗的研究J.湖南理工学院学报(自然科学版),2010,23(2):26-29.8 吕卫强,黄荔.基于短时能量加过零率的实时语音端点检测方法J.兵工自动化,2009,28(9):69-70+73.9 孙慧芳,龙华,邵玉斌,等.基于过零率及频谱的语音音乐分类算法J.云南大学学报(自然科学版),2019,41(5):925-931.10 胡耀文.音频信号特征提取及其分类研究D.昆明:昆明理工大学,2018.11 宋知用.MATLAB语音信号分析与合成(第2版)M.北京:北京航空航天大学出版社,2017.12 刘婷,柳钰,薛小庆.MATLAB 在语音信号处理中的应用J.电子测试,2018(23):74-75.13 武同宝,赵旭彤.基于MATLAB的语音信号识别及矢量模式匹配J.工业控制计算机,2012,25(9):90-92.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服