短时幅度谱估计在语音增强中的研究和应用
语音处理过程中受到各种各样噪声的干扰,不但降低了语音质量,而且还将使整个系统无法正常工作。因此,为了消除噪声干扰,在现代语音处理技术中,工业上一般采用语音增强技术来改善语音质量从而提高系统性能。
本论文基于短时幅度谱估计来研究语音增强,主要介绍了功率谱相减、维纳滤波法,并介绍了这几种语音增强方法的基本原理和实现方法。通过研究,我们得到在白噪声的条件下,这些语音增强方法具有很好的增强效果,可作为开发实用语音增强方法的基础。
********************************************************************
clc,clear
[x, fs]=wavread('no1.wav');
sound(x, fs); % 播放此音频
snr1=SNR(x,0.002*randn(1))
time=(1:1024)/fs;
figure(1);
plotspec(x,1/fs); %原始的语音信号时域和频域分析
y=wiener(x,fs); %通过维纳滤波器进行语音信号的增强
figure(2);
plotspec(y,1/fs); %原始的语音信号时域和频域分析
sound(y, fs); %播语音增强后的音频
snr2=SNR(y,0.002*randn(1))
这段代码主要含义为首先读取一个语音信号,然后对这个信号进行频谱分析,最后将这个语音信号通过维纳滤波,并对维纳滤波以后的信号进行频谱分析从而对比语音增强前后两次效果。
在这里我们主要自定义了以下几个函数:SNR,plotspec,wiener分别为信噪比计算函数,频谱分析函数,维纳滤波函数。其中wiener函数是系统的主要函数,通过这个函数,我们就可以完成语音信号的增强处理。然后通过plotspec进行信号的频谱分析。
其中维纳滤波主要过程如下:
********************************************************************
%维纳滤波
for k=1:nf
if k<=NNoise
SpeechFlag=0;
NoiseCounter=NNoise;
else
NoiseMargin=3;
HangOver=8;
SpectralDist= 20*(log10(ymag(:,k))-log10(MN));
SpectralDist(find(SpectralDist<0))=0;
Dist=mean(SpectralDist);
if (Dist < NoiseMargin)
NoiseFlag=1;
NoiseCounter=NoiseCounter+1;
else
NoiseFlag=0;
NoiseCounter=0;
end
if (NoiseCounter > HangOver)
SpeechFlag=0;
else
SpeechFlag=1;
end
end
下面我们来对比分析以后的效果。
图4-1 原始信号的时域频域信号分析
通过运行程序,通听觉上可以感受到该语音信号有明显的杂音,听起来很不舒服。通过运行后结果,我们可以看到,该语音信号的时域部分,在每次人发音间隔之间具有明显的噪声干扰也就是我们所谓的噪声。
图4-2 通维纳滤波进行语音增强后的信号的时域频域信号分析
通过语音滤波以后,从听觉好可以听到语音已经变的清晰,没用明显的杂音干扰,分析其信号频谱,可以看到,其有效频率和高频的幅度比变大,说明通过语音增强后音质得到了明显的改善。
短时幅度谱估计在语音增强中的研究和应用相关推荐
- matlab 的谱相减语音增强算法的研究,基于MATLAB的谱相减语音增强算法的研究
语音处理 谱减法 语音增加 去噪 维普资讯 http://www.wendangwang.com 第2卷第3 3期 文章编号:06- 3 8 2 0 ) 3-07 0 10 9 4 (0 6 0 2 ...
- 基于最小均方误差短时谱估计的语音增强
#1 基于最小值控制的噪声估计 Cohen 和 Berdugo 提出了一种基于最小值控制的递归平均(MCRA: Minima Controlled Recursive Averageing)方法来估计 ...
- 语音增强算法的概述[转]
选自:http://www.cnblogs.com/chunge2050/p/3159158.html 本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表. 目录: --基 ...
- 【信号处理】基于小波变换的语音增强matlab源码
一.简介 语音通信是人类传播信息,进行交流时使用最多.最自然.最基本的一种手段.而这种通信中的信息载体-语音信号却是一种时变的.非平稳的信号,只有在很短的一段时间内(通常为10~30ms)才被认为是平 ...
- 基于小波变换的语音增强算法简单综述
前言: 语音通信是人类传播信息,进行交流时使用最多.最自然.最基本的一种手段.而这种通信中的信息载体-语音信号却是一种时变的.非平稳的信号,只有在很短的一段时间内(通常为10~30ms)才被认为是平稳 ...
- 音视频开发(39)---语音增强
语音增强 1.1 语音增强概况 语音增强,英文名:Speech Enhancement,其本质就是语音降噪,换句话说,日常生活中,麦克风采集的语音通常是带有不同噪声的"污染"语 ...
- mmse 语音降噪_语音增强算法研究系列(一):MMSE-STSA 音频降噪
如需转载,请注明出处! 创建CSDN博客专栏的流程过于繁琐,为了节省时间,以系列文章的方式总结对语音增强算法的研究,主要包含语音降噪与回声消除算法. MMDE-STSA: 参考文献:Speech En ...
- 麦克风阵列语音增强算法——固定波束形成算法
与单一麦克风不同,麦克风阵列除了能区分接收到的语音信号的时域和频域特性之外,还能区分空间特效,能在嘈杂的语音环境中在特定的方向上形成波束来获得特定声源发出的语音信号,并且能有效抑制噪声.波束形成方法可 ...
- 语音信号处理 | 基于卡尔曼滤波的语音增强算法
文章目录 1.概述 2.卡尔曼滤波原理 被估计的信号 离散卡尔曼滤波算法 参数选择 3.基于卡尔曼滤波的语音增强算法 语音模型分析 参数确定 4.程序实现 语音数据的导入.加噪与分帧 卡尔曼滤波器参数 ...
最新文章
- linux 服务搭建DNS
- [na]tcpdump非常实用的抓包实例
- curl -h php,PHP下使用curl问题小结
- 版本记录及相关数据汇总
- ip对应的区域查询(php版)(转)
- JavaScript网站设计实践(五)编写photos.html页面,实现点击缩略图显示大图的效果...
- 写操作系统用的C语言和写应用程序的C语言不是一个
- java编码ppt_[2018年最新整理]Java编码规范.ppt
- Android下载文件
- import _ssl # if we can‘t import it, let the error propagate
- 服务器新建文件命令,云服务器中新建文件夹命令
- c/c++教程 - 1.8 函数 形参 实参 值传递 声明调用 函数的分文件编写
- 计算机内录音频文件格式,如何将电脑里发出的声音内录下来?
- 霍尔电流传感器ACS712/CH701在电动方向盘电机驱动控制器的应用
- python整除符号_python 整除
- SAP Down Payment的设置和使用
- [C#] [GIS] 关于椭球七参数和高斯投影正反算的一些总结
- “七夕情歌会 缘聚红豆峡” 红豆峡第15届情歌会圆满结束
- 电脑端知乎不显示图片
- BF、KMP、BM、Sunday算法讲解
热门文章
- 北京供销社java笔试题_梅锦县供销社办公室王秘书,接待了一位姓张的来访者,据反映,三年前他与乡供销社签订了承包一供销...
- 百望云获评“2022中国信息科技独角兽”
- 崇高文本_将崇高文本转化为完美博客工具的6种方法
- 再复杂的架构图,也能轻松搞定!附教程+工具
- 腾讯云服务器Intel Xeon Cascade Lake 8255C处理器CPU性能评测
- js面试题 高频 含答案
- html5自定义变量,javascript中怎么定义全局变量?
- Dojo订阅/发布模拟淘宝到货提醒
- Python代码加密方案
- unity 不用插件实现丝滑绘画