matlab基于语音增强的研究
- 格式:docx
- 大小:355.49 KB
- 文档页数:4
对语音数字信号的处理及其仿真目前的语音识别系统大都是在安静环境中工作的,但实际工作中在噪声环境中尤其是强噪声环境下,语音识别系统的识别率将受到严重影响。
由于语音生成模型是低速率编码的基础,当模型参数的提取受到混杂在语音中背景噪声严重干扰时,提取的模型参数将很不准确,重建语音的质量将急剧恶化,甚至变得完全不可背景噪声破坏了语音信号原有的声学特征及模型参数,因此减弱了不同语音间的差别,使语音质量下降,可懂度降低。
同时,强噪声还会使人产生听觉疲劳,从而影响人耳的听觉特性。
语音增强是一种对数字语音识别系统的预处理和线性预测编码的预处理,能有效抑制背景噪声,提高语音质量。
因此,研究语音增强技术在实际应用中有重要价值。
此文中提出并研究语音数字信号增强处理方法及其matlab 实现,旨在通过理论探讨和实例分析,获知适用的增强语音数字信号的方法和技术。
1 对语音信号数字化及其预处理为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号,根据采样定理,当采样频率大于信号的两倍带宽时,采样过程不会丢失信息,利用理想滤波器可从采样信号中不失真地重构原始信号波形。
语音信号是随时间而变的一维信号,它所占据的频率范围可达10 khz以上,但是对语音清晰度和可懂度有明显影响的成分,最高频率约为5.7 khz。
在将语音信号进行数字化前,必须先进行防混叠滤波。
滤除高于1/2采样率的信号成分或噪声。
语音信号是一种典型的非平稳信号,它的均值函数u(x)和自相关函数r (x1,x2),都随时间而发生较大的变化。
但是,语音是南发声气流冲击发音器官产生物理振动而产生的,发音器官形状的变化与声音的变化速度相比较是很缓慢的过程。
因此,在信号处理时,往往将语音信号作为一个短时的平稳过程来处理,即假定在一段时间(20~30 ms)内,发音器官的形状(频谱参数和物理特征)保持不变。
实践证明,这种假设与实际情况是相符合的。
课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 基于LMS 算法的多麦克风降噪初始条件:Matlab软件设计任务:给定主麦克风录制的受噪声污染的语音信号和参考麦克风录制的噪声,实现语音增强的目标,得到清晰的语音信号。
(1)阅读参考资料和文献,明晰算法的计算过程,理解LMS算法基本过程;(2)主麦克风录制的语音信号是,参考麦克风录制的参考噪声是.用matlab 指令读取;(3)根据算法编写相应的MATLAB程序;(4)算法仿真收敛以后,得到增强的语音信号;(5)用matlab指令回放增强后的语音信号;(6)分别对增强前后的语音信号作频谱分析。
时间安排:通过老师的讲解与指导,同学之间的讨论交流,以及在图书馆、网络上查阅资料,我们本次课程设计的时间安排是:6月20号到7月4号,完成程序设计,写好报告;在7月5号,完成(答辩,演示,提交报告)。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)ABSTRACT .......................................................................................................................................... I I 1.绪论 .. (1)1.1语音增强的应用背景 (1)1.2语音增强的研究历史 (2)1.3本课设的研究内容 (2)2 语音增强的方法 (3)2.1线性滤波法 (3)梳状滤波法 (3)自相关法 (3)卡尔曼滤波法 (4)自适应噪声抵消法 (4)3自适应滤波概念 (5)自适应滤波 (5)自适应滤波器的组成 (5)基本自适应滤波器的模块结构 (6)4自适应滤波原理 (8)自适应滤波概述 (8)原理 (8)5基于自适应滤波的信号增强 (11)基本维纳滤波器 (11)最陡下降法 (13)LMS算法 (13)6基于LMS自适应滤波器的噪声抵消法 (17)自适应噪声抵消法的原理 (17)7. MATLAB仿真结果分析 (19)实验程序 (19)实验结果 (20)实验结果分析 (22)8.实验小结 (23)摘要人们在语音通信过程中不可避免的会受到来自周围环境和传输媒介引入的噪声、通信设备内部电噪声、乃至其他讲话者的干扰。
ica在语音信号处理中的应用及matlab实现一、介绍1.1 ICA概念及原理1.2 语音信号处理中的应用1.3 MATLAB实现原理1.4 个人观点和理解二、ICA在语音信号处理中的应用2.1 ICA在语音信号分离中的作用2.2 ICA在语音信号增强中的应用2.3 ICA在语音识别中的应用2.4 ICA在语音压缩中的应用三、MATLAB实现原理3.1 MATLAB中的ICA工具箱3.2 MATLAB实现语音信号分离3.3 MATLAB实现语音信号增强3.4 MATLAB实现语音识别3.5 MATLAB实现语音压缩四、个人观点和理解4.1 ICA对语音信号处理的重要性4.2 MATLAB在语音信号处理中的优势4.3 对未来的展望和思考结尾总结我根据人工智能领域的一些发展动态和研究成果,学习了ICA在语音信号处理中的应用及MATLAB的实现原理。
以下是我对这个主题的深入理解。
一、介绍1.1 ICA(Independent Component Analysis)是一种基于概率模型的信号处理方法,利用统计特性对多个混合信号进行解耦,从而将混合信号分解为相互独立的原始信号。
它的应用领域非常广泛,其中就包括语音信号处理。
1.2 在语音信号处理中,ICA能够有效地进行语音信号的分离、增强、识别和压缩,为语音处理领域带来了很多的创新和进步。
1.3 MATLAB是一个强大的科学计算软件,具有丰富的工具箱和函数,可以方便地实现ICA算法及其在语音信号处理中的应用。
二、ICA在语音信号处理中的应用2.1 在语音信号分离中,ICA可以准确地将混合语音分解为不同的独立成分,从而实现多人语音信号的分离和识别。
2.2 在语音信号增强中,ICA可以去除语音信号中的噪音成分,从而提高语音信号的质量和清晰度。
2.3 在语音识别中,ICA可以识别语音信号中的特征成分,并与语音模型进行匹配,以实现准确的语音识别。
2.4 在语音压缩中,ICA可以提取语音信号中的重要信息,对语音信号进行压缩,从而节省存储空间和传输带宽。
毕业设计(论文)-基于共振峰合成法的语音信号合成江西师范大学2006届本科毕业生论文题目:基于共振峰合成法的语音信号合成 Title: Synthesis of Speech Signal based onFormant Synthesis学校名称:江西师范大学院系名称:物理与通信电子学院学生姓名:学生学号:0专业:通信工程指导老师)I声明本人郑重声明:所呈交的毕业设计,论文,是本人在指导教师指导下进行的研究工作及取得的研究成果。
其中除加以标注和致谢的地方外~不包含其他人已经发表或撰写并以某种方式公开过的研究成果~也不包含为获得其他教育机构的学位或证书而作的材料。
其他同志对本研究所做的任何贡献均已在文中作了明确的说明并表示谢意。
本毕业设计,论文,成果是本人在江西师范大学读书期间在指导教师指导下取得的~成果归江西师范大学所有。
特此声明。
声明人,毕业设计,论文,作者,学号:声明人,毕业设计,论文,作者,签名:签名日期: 年月日II目录摘要 -------------------------------------------------------------------------------------------- 1ABSTRACT ----------------------------------------------------------------------------------- 2引言 -------------------------------------------------------------------------------------------- 31语音合成进展-------------------------------------------------------------------------------- 3 2共振峰合成----------------------------------------------------------------------------------- 42.1共振峰产生原理 ------------------------------------------------------------------------------------- 4 2.2激励模型---------------------------------------------------------------------------------------------- 5 2.3共振峰合成三种声道模型 ------------------------------------------------------------------------- 62.3.1级联型共振峰模型 ----------------------------------------------------------------------------- 62.3.2并联型共振峰模型 ----------------------------------------------------------------------------- 72.3.4混联型共振峰模型 ----------------------------------------------------------------------------- 92.4辐射模型---------------------------------------------------------------------------------------------- 9 2.5语音信号综合数字模型 --------------------------------------------------------------------------- 10 3 MATLAB软件合成 ---------------------------------------------------------------------- 103.1软件概述--------------------------------------------------------------------------------------------- 10 3.2提取语音信号的共振峰参数 --------------------------------------------------------------------- 113.2.1用频域分析提取参数 ------------------------------------------------------------------------- 113.3基于参数的共振峰合成 --------------------------------------------------------------------------- 143.3.1固定共振峰不同发音状态的语音信号的合成 -------------------------------------------- 153.3.2变化共振峰的不同状态语音信号的合成-------------------------------------------------- 183.4基于参数修改的语音转换 ------------------------------------------------------------------------ 23 总结 -------------------------------------------------------------------------------------------- 26 参考文献 -------------------------------------------------------------------------------------- 27致谢 -------------------------------------------------------------------------------------------- 28III摘要语音合成是,定义,,目前语音处理中研究最成熟(删除)、应用最广泛的技声道模术。
基于MATLAB的音频处理技术研究第一章引言音频处理技术是数字信号处理领域的一个重要分支,在音频信号采集、分析、增强和合成等方面有着广泛的应用。
随着数字信号处理技术的不断发展,基于MATLAB的音频处理技术也得到了快速的发展和应用。
本文将介绍MATLAB在音频处理领域的应用和研究,然后重点分析基于MATLAB的音频信号预处理和特征提取技术。
第二章 MATLAB在音频处理中的应用MATLAB是一种强大的数学仿真软件,其内置了丰富的数学分析工具和信号处理库,可以广泛应用于信号处理、数字通信、嵌入式系统设计等领域。
在音频处理领域,MATLAB提供了丰富的函数和工具箱,可以对音频进行采集、分析、合成和处理等任务。
2.1 音频采集MATLAB提供了嵌入式硬件支持包,可以连接各种类型的音频设备,如麦克风、音频接口等。
用户可以使用MATLAB编写程序,对音频进行实时采集和录制,并实时在MATLAB的界面上进行显示和处理。
2.2 音频分析MATLAB提供了许多用于音频信号分析的工具箱,如信号处理工具箱、音频工具箱和语音处理工具箱等。
用户可以利用这些工具箱进行频域分析、时域分析、滤波、FFT、STFT和解调等操作,以及进行各种音频信号的特征提取和分类。
2.3 音频合成MATLAB提供了各种音频合成的工具箱,如声学模型工具箱、可重复性工具箱和音频合成器等。
用户可以利用这些工具箱进行音频信号的合成和生成,例如混响效果、合成乐器音效等。
第三章基于MATLAB的音频信号预处理技术MATLAB提供了许多音频信号预处理的工具,这些工具可以在进行音频信号分析和特征提取之前对信号进行预处理,如降噪、去混响、去噪声,以及去掉杂音等。
3.1 降噪降噪是去除音频信号中的噪音干扰,使得信号更加清晰的重要步骤。
MATLAB提供了多种降噪算法,例如小波阈值法、基于分量分析的降噪方法和基于统计学习的降噪方法等。
这些算法可以对音频信号进行有效的降噪,从而提高信号的质量,提高后续分析的准确性。
matlab中gain模块的作用Gain模块是MATLAB中的一个重要功能模块,它在信号处理和控制系统设计中起着关键的作用。
Gain模块用于调整输入信号的幅度,可以通过增大或减小输入信号的幅度来改变系统的响应。
在本文中,我们将探讨Gain模块的作用以及它在不同领域中的应用。
让我们来了解一下Gain模块的基本原理。
Gain模块是一个线性系统,它可以将输入信号的幅度按照一定的比例进行放大或缩小。
这个比例因子称为增益,它可以是一个固定的值,也可以是一个可变的参数。
通过调整增益,我们可以控制输出信号的幅度,从而实现对系统的控制。
在信号处理领域,Gain模块常用于放大或衰减音频信号。
例如,在音频播放器中,我们可以使用Gain模块来调整音量大小。
通过增大或减小音频信号的幅度,我们可以控制音量的大小,使其更适合用户的需求。
此外,在语音识别和音频处理中,Gain模块也常用于对信号进行增强或降噪处理,以提高信号的质量和可靠性。
在控制系统设计中,Gain模块被广泛应用于调整系统的增益。
控制系统是由传感器、执行器和控制器组成的,其中控制器根据传感器的反馈信号对执行器进行控制。
通过调整控制器的增益,我们可以改变系统的响应速度、稳定性和鲁棒性。
例如,在飞行器的自动驾驶系统中,通过调整控制器的增益,可以实现对飞行器的姿态、位置和速度进行精确控制。
除了在信号处理和控制系统设计中的应用,Gain模块还可以用于其他领域。
在图像处理中,我们可以利用Gain模块来调整图像的亮度和对比度,以改善图像的视觉效果。
在模拟电路设计中,Gain模块可以用于放大或衰减电压信号,以满足特定的电路要求。
在机器学习和数据分析中,Gain模块可以用于调整特征的权重,以改善模型的性能和准确性。
总结一下,Gain模块在MATLAB中的作用主要是用于调整输入信号的幅度,通过增大或减小输入信号的幅度来改变系统的响应。
它在信号处理和控制系统设计中具有重要的应用价值,并在其他领域中也发挥着重要作用。
文章编号:1007-757X(2020)12-0056-02一种基于谱减法的语音增强算法研究刘雅琴,甘文丽(洛阳师范学院信息技术学院,河南洛阳471934)摘要:为了从带噪语音信号中提取出纯净的原始语音,分析了基本谱减法,给出了功率谱的谱减法的完整步骤,在此基C上引入噪声谱估计系数a,减少了功率谱估计的误差”在Matlab平台上对信噪比分别为5dB、0dB、一5dB、一10dB W种带噪语音信号进行了仿真验证,提高的信噪比依次约为6、8、10和11,结果表明输入信噪比越低,增强后的信噪比提高越多,该算法对于低信噪比的语音信号增强有一定的效果#关键词:单通道;语音增强;谱减法;信噪比;离散傅里叶变换中图分类号:TP391.4文献标志码:AAn Algor"thm of Speech Enhancement Based on Spectral Subtract"onLIU Yaqin,GAN Wenii(College of Information Technology,Luoyang Normal University,Luoyang471934,China)Abstract:In order to extract pure original speech from noisy speech signal,in this paper,the spectral subtraction algorithm is analyzed!andthecompletestepsofpowerspectralsubtractionalgorithmaregiven Onthisbasis!thenoisespectralestimation coe f icient a isintroducedtoreducetheerrorofpowerspectralestimation Fourkindsofnoisyspeechsignals withsignal-to-noise ratio of10dB,5dB,0dB,—5dB and一10dB are simulated and verified on Matlab platform.The increase of signal-to-noiseisabout6!8!10and11inturn Theresultsshowthatthelowertheinputsignal-to-noiseratiois!themoretheenhanced signal-to-noiseratiois This algorithm has certain e f ect on speech enhancement with low signal-to-noise ratioKey words:single channel;speech enhancement;spectral subtraction;signal-to-noise ratio;DFT0引言语音增强是从带噪语音信号或者受干扰信号中提取出纯净的原始语音。
VC++与Matlab混合编程环境下语音增强算法实现摘要:介绍了一种基于matcom方法,在visual c++与matlab混合环境下实现语音增强算法编程的思路。
采用matcom将matlab的 .m文件转化成相同功能的 .cpp文件,并在visual c++环境下将其编译成外部可执行文件直接调用。
该方法能够极大降低c++语言实现语音增强算法编程的难度,同时编写的代码能够独立于matlab开发环境运行。
实验结果表明,基于以上方法实现语音增强算法编程简单易行,在运行速度和运算效率上都有了明显的提高,且消噪效果明显。
关键词:visual c++;matlab;matcom;语音增强中图分类号:tp301.6文献标识码:a文章编号:1672-7800(2012)012-0049-020引言matlab是当今最优秀的科技应用数学软件之一,它具有强大的矩阵运算、数值计算、数据分析处理等功能,使得它在许多科学领域中成为计算机辅助设计及算法研究的基本工具和首选平台。
matlab 采用的是一种脚本语言,也就意味着它是逐行解释执行的,执行效率不是很理想,尤其在进行大规模的数值计算和分析时,matlab有点差强人意,而且matlab还缺乏直观优美的可视化界面。
visual c++是一种面向对象的可视化编程语言,它是一种编译性语言,执行速度非常快,特别是在进行多层嵌套循环运算时,就更能体现其优势,在应用程序开发平台上具有得天独厚的优势。
vc++缺乏丰富的数学函数库函数、各种工程领域工具箱函数等,读取、显示图形等也不方便,这使得vc++在科学计算及工程应用领域的开发比较复杂,代价较高。
语音增强的目的是从带噪声语音信号中提取尽可能纯净的原始语音,提高输入信号的信噪比。
语音增强问题是目前国内外研究的热点问题,其算法的实现及验证过程涉及到计算仿真、绘图及大量的向量、矩阵运算和递归计算,而且数据量较大。
本文介绍了一种基于vc++与matlab混合编程环境下实现语音增强算法的方法,采用matcom实现语音增强算法的编程,然后将matlab的.m文件转化成同等功能的 .cpp文件,并在vc++环境下编译和直接调用。
毕业论文(设计)题目:基于matlab语音信号的采集与分析姓名:学院:理学与信息科学学院专业:电子信息科学与技术班级:学号:指导教师:目录摘要 (I)ABSTRACT. .......................................................................................................................................... I I 1 绪论 (1)1.1选题的背景和意义 (1)1.2语音信号处理的进展 (2)2 系统设计的可行性研究 (4)2.1语音信号处理的概念 (4)2.2语音信号的特点 (4)2.3语音信号处理的要求及可行性 (5)2.4M ATLAB仿真软件简介 (5)3 系统设计 (7)3.1系统设计的理论依据 (7)3.2系统的详细设计 (9)3.2.1图形用户界面制作 (9)3.2.2 系统功能的实现 (10)4 系统调试及运行 (16)总结 (25)致谢 (27)参考文献: (28)基于matlab语音信号的采集与分析电子信息科学与技术专业马晓敏指导教师曹红波摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。
语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等[1]。
本文简要介绍了语音信号采集与分析的发展史以及语音信号的特征、采集与分析方法,并通过PC机录制一段声音,采集语音信号后,在MATLAB软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
利用MATLAB来读入(采集)语音信号,将它赋值给某一向量。
再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。
基于MATLAB语音增强的研究
摘要:
目前的语音识别系统大都是在安静环境中工作的,但实际工作中在噪声环境中尤其是强噪声环境下,语音识别系统的识别率将受到严重影响。
谱减法语音增强是一种对数字语音识别系统的预处理和线性预测编码的预处理,能有效抑制背景噪声,提高语音质量。
基于此文中提出并研究语音数字信号增强处理方法及其Matlab 实现,旨在通过理论探讨和实例分析,获知适用的增强语音数字信号的方法和技术。
关键词:谱减法、语音增强。
1.引言
研究语音增强技术在实际中有重要价值。
目前,语音增强己在很多方面得到广泛的应用例如语音处理系统、通信、多媒体技术、数字化家电等领域。
语音增强的一个主要目标,就是从带噪语音信号中提取尽可能纯净的原始语音。
根据与输入语音信号的关系,噪声可分为加性噪声和非加性噪声两类。
对某些非加性噪声而言,可以通过一定的变换转换成加性噪声。
非加性噪声主要是残响和传送网络的电路噪声等。
加性噪声通常分为宽带噪声、冲激噪声、语音干扰噪声、周期噪声等。
2.MATLAB简介
MATLAB是MATrix LABORATORY的缩写,是一款由美国THE MathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互环境。
除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言编写的程序。
3.语音特性
语音具有被称为声学特征的物理性质。
语音既然是人的发音器官发出来的一种声波,它就和其他各种声音一样,也具有声音的物理属性。
它具有以下一些特性:1音质。
它是一种声音区别于其他声音的基本特征。
2音调。
就是声音的高低。
音调取决于声波的频率:频率快则音调高,频率慢则音调低。
3声音的强弱。
音调即音量,又称响度。
它是由声波振动幅度决定的。
4声音的长短。
也称为音长,它取决于发音持续的长短。
语音处理具有上述的声音的物理属性外,它还具有另外一个重要性质,这是语音总是和一定的意义相联系着,一定的语音要表达一定的意义和思想内容,而且还能表达出一定的语气、情感,甚至是许多”言外之意“。
因此,语音所包含的信息也是十分丰富和多种多样的。
语音是一时变的、非平稳的随机过程,但由于一段时间内(10~30ms)人的声带和声道形状的相对稳定性,可认为其特征是不变的,因而语音的短时谱具有相对稳定性。
在语音分析中可利用短时谱的这种平稳性。
语音大体上可以分为清音和浊音两大类,浊音在时域上呈现出明显的共振峰结构,而且能量大部分集中在较低频段内;浊音则没有明显的时域和频域特征,类似于白噪声。
语音感知对语音增强研究具有重要作用,语音增强效果的最终度量是人的主观感受。
人耳对背景噪声具有惊人的抑制作用,了解其中机理将大大有助于语音增强技术的发展。
(1)
人耳对语音的感知是通过语音信号中各频谱分量幅度获得的,对各分量的相位则不敏感(2)人耳对频谱分量强度的感受是频率和能谱的二元函数,响度与频谱幅度的对数成正比(3)人耳有掩蔽效应,掩蔽的程度是语音强度与频率的二元函数,对频率临近分量的掩蔽要比频差大的分量有效的多(4)短时谱中的共振峰对语音的感知十分重要,特别是第二共振峰比第一共振峰更重要。
因此对语音信号进行一定程度的低通滤波不会对可懂度造成影响
4.噪声特性
噪声可以分为加性噪声和噪声。
对于乘性噪声,有些可以通过变换而转变为加性噪声。
加性噪声大致有:周期性噪声、脉冲噪声、宽带噪声和同声道其它语音的干扰等。
1周期性噪声:具有许多的离散的线谱,主要来源于发动机等周期性运转的机械,可以用梳状滤波器予以抑制。
然而,实际中产生的周期性噪声是由许多窄谱带组成,并且往往是时变的,且与语音信号频谱重叠,所以必须采用自适应滤波的方法才有可能自动识别和区分噪声分量。
2脉冲噪声:表现为时域波形中突然出现的窄脉冲,来源于爆炸、撞击和放电等。
可根据带噪语音信号幅度的平均值确定阈值,当信号幅度超出阈值时,判别为脉冲噪声,然后对它进行适当的衰减;也可以根据相邻信号样值通过内插的方法,在时域上进行平滑。
3宽带噪声:宽带噪声来源很多,热噪声、气流噪声及各种随机噪声源,量化噪声也可是视为宽带噪声。
由于它与语音信号在时域和频域上完全重叠,因而消除最为困难。
这种噪声只有在语音间歇期才单独存在。
对于平稳的宽带噪声,通常可以认为是白色高斯噪声。
不具有白色频谱的噪声,可以先进行预白化处理。
4同声道语音干扰:人耳可以在两人以上讲话环境中分辨出所需的声音,这种分辨能力是人体内部语音理解机理所具有的感知能力,来源于人耳的双耳输入效应,称之为“鸡尾酒会效应”。
但当多个语音叠合在一起,在单信道传输时,双耳信号合并而消失。
5背景噪声对发声的影响:强噪声不仅会使人疲劳,而且还会对讲话人产生影响,使讲话人改变了在安静环境或低噪声环境中的发音方式,从而改变了语音的特性参数,这称为“Lombard”效应,它对语音识别系统有很大影响。
5.谱减法基本原理
谱减法的基本思想是在假定加性噪声与短时平稳的语言信号相互独立的情况下,从
带噪语音的功率谱中减去噪声功率谱,从而得到较为纯净的语音频谱圈。
如果设s (t)为
纯净语音,n(t)为噪声信号,y (t)为带噪语音信号,则有:y(t)=s(t)+n(t).用y(w),s(w),n(w)分别表示三者的傅里叶变换,则可得要y(w)=s(w)+n(w),由于假定语音信号与加性噪声是相互独立的,可以得到:|y(w)^2|=|s(w)^2|+|n(w)^2|,如果用Py(w),Ps(w),Pn(w)分别表示三者所示
y(t),s(t),n(t)的功率谱,则有:Py(w)=Ps(w)+Pn(w)。
而由于平稳噪声的功率谱在发声前和发生期间可以认为基本没有发生任何变化,这样可以通过发声前的所谓”寂静段”来估计噪声的功率Pn(w),从而有Ps(w)=Py(w)-Pn(w)
这样减出来的功率谱密度可以认为是较为纯净的语音功率谱,然后可以从这个功率谱回复降噪后的语音时域信号,在具体运算时,为防止出现负功率谱的情况,减谱时Py(w)<Ps(w)时,令Ps(w)=0,即完整的减谱公式运算如下:
Ps(w)=Py(w)-Pn(w),Py(w)>=Pn(w),Ps(w)=0,Py(w)<Pn(w),为了用傅里叶逆变换再现语音,还需
要Ps(w)的相位,由于人耳对语音的不敏感,因而可以借用带噪音相位,即Py(w)的相位来
近似。
即:Ps(w)=|Ps(w)|exp(j{P[y(w)])。
谱减法语音增强技术的基本原理如图所示。
谱减法作为处理宽带噪声的传统方法,对于整个语音段采用减去相同噪声功率谱的方法,这样,使得在实际中不能达到很理想的效果。
因为:
1、语音的能量往往集中在某些频段内,在这些频段内的幅度相对较高,尤其是共振峰处的幅度一般远大于噪声,因此,不应该在整个语音段内减去相同噪声功率谱;
2、由于在谱减法处理过程中,是以无声期间统计平均的噪声方差代替当前分析帧各频率点的噪声频率分量。
而宽带噪声服从高斯分布,即幅度随机变化的范围很宽,其最大值、最小值之比往往达到几个数量级,而最大值与平均值之比也可达6~8倍,只有对它做长期平均才能得到较为平坦的谱。
因此相减时,若该帧某频率点噪声分量较大,谱减后就会有很大的残余噪声保留。
6.谱减法的实现与仿真
基于MATLAB实现谱减法的仿真,其程序流程图如图所示:
谱减法是利用噪声的统计平稳性以及加性噪声与语音不相关的特点而提出的一种语音增强
方法。
这种方法没有使用参考噪声源,但它假设噪声是统计平稳的,即有语音期间噪声幅度
的期望值与无语音间隙噪声的幅度谱的期望值相等。
用无语音间隙测量计算得到的噪声频谱的估计值取代有语音期间噪声的频谱,与含噪声频谱相减,得到语音频谱的估计值。
当上述差值得到负的幅度时,将其置零。
由于人耳对语音的感知主要是通过语音信号中各频谱分量幅度获得的,对各分量的相位不敏感。
因此,此类语音增强方法将估计的对象放在短时谱幅度上。
下图是在MATLAB环境下谱减法的仿真效果。
7.总结
由以上过程,现将谱减法总结如下:
1、谱减法在静音帧时估计噪声幅值谱,并且假设在其后的语音帧里噪声谱基本稳定,从带噪信号谱中扣除噪声谱,并利用人耳“相盲”这一特点,将得到的幅值和带噪信号的相位结合形成语音估计谱。
2、谱减法的优点在于方法简单(只需要进行傅里叶正、反变换),而且得到的增强结果和其它更复杂方法的结果相当甚至更好。
3、该方法会造成“音乐噪声”,这是因为实际噪音谱相对于估计谱的随机变化造成的。
可以用多种方法减轻这种噪声,但无法完全消除。
参考文献:
[1]胡航.语音信号处理.哈尔滨工业大学出版社2009年7月第4版
[2]郑阿奇,曹弋.MATLAB实用教程.电子工业出版社2016年7月第4版。