《语音信号处理》-端点检测
- 格式:doc
- 大小:85.50 KB
- 文档页数:7
华南理⼯⼤学_语⾳信号实验四:MFCC特征提取华南理⼯⼤学《语⾳信号处理》实验报告实验名称:端点检测姓名:学号:班级:11级电信7班⽇期:2014年3 ⽉1.实验⽬的1、熟练运⽤MATLAB软件进⾏语⾳信号实验;2、熟悉短时分析原理、MFCC的原理;3、学习运⽤MATLAB编程进⾏MFCC的提取;4、学会利⽤短时分析原理提取MFCC特征序列;2. 实验原理MFCC:语⾳识别和说话⼈识别中,常⽤的语⾳特征是基于Mel频率的倒谱系数(即MFCC)。
MFCC参数是将⼈⽿的听觉感知特性和语⾳的产⽣机制相结合。
Mel频率可以⽤如下公式表⽰:在实际应⽤中,MFCC倒谱系数计算过程如下;①将信号进⾏分帧,预加重和加汉明窗处理,然后进⾏短时傅⾥叶变换并得到其频谱。
②求出频谱平⽅,即能量谱,并⽤M个Mel带通滤波器进⾏滤波;由于每⼀个频带中分量的作⽤在⼈⽿中是叠加的。
因此将每个滤波器频带内的能量进⾏叠加,这时第k个滤波器输出功率谱③将每个滤波器的输出取对数,得到相应频带的对数功率谱;并进⾏反离散余弦变换,得到L个MFCC系数,⼀般L取12~16个左右。
MFCC系数为④将这种直接得到的MFCC特征作为静态特征,再将这种静态特征做⼀阶和⼆阶差分,得到相应的动态特征。
3.实验数据及平台本实验所采⽤的数据是语⾳⽂件phrase.WAV和monologue speech_female,平台是MATLAB。
4. 实验过程(步骤)(1)实验步骤①输⼊样本⾳频②给样本⾳频预加重、分帧、加窗③将处理好的样本⾳频做傅⾥叶变换④进⾏Mel频率滤波⑤进⾏Log对数能量⑥对样本求倒谱⑦输出MFCC图像(2)、MFCC提取程序流程图5. 实验结果及讨论运⾏附录程序,得到的结果为:1、采⽤语⾳⽂件phrase.WAV,得到的MFCC特征提取图像为:2、采⽤语⾳⽂件monologue speech_female.wav,得到的MFCC特征提取图像为:通过计算MFCC参数,获得了声纹识别的特征参数。
语音端点检测方法研究1沈红丽,曾毓敏,李平,王鹏南京师范大学物理科学与技术学院,南京(210097)E-mail:orange.2009@摘要: 端点检测是语音识别中的一个重要环节。
有效的端点检测技术不仅能减少系统的处理时间,增强系统处理的实时性,而且能排除无声段的噪声干扰,增强后续过程的识别性。
可以说,语音信号的端点检测至今天为止仍是有待进一步深入的研究课题.鉴于此,本文介绍了语音端点算法的基本研究现状,接着讨论并比较了语音信号端点检测的方法,分析了各种方法的原理及优缺点,如经典的基于短时能量和过零率的检测方法,基于频带方差的检测方法,基于熵的检测方法,基于倒谱距离的检测方法等.并基于这些方法的分析,对端点检测方法做了进行了总结和展望,对语音信号的端点检测的进一步研究具有深远的意义。
关键词:语音信号;端点检测;噪声中图分类号:TP206. 11. 引言语音信号处理中的端点检测技术,是指从包含语音的一段信号中确定出语音信号的起始点及结束点。
语音信号的端点检测是进行其它语音信号处理(如语音识别、讲话人识别等)重要且关键的第一步. 研究表明[1],即使在安静的环境中,语音识别系统一半以上的识别错误来自端点检测器。
因此,作为语音识别系统的第一步,端点检测的关键性不容忽视,尤其是噪声环境下语音的端点检测,它的准确性很大程度上直接影响着后续的工作能否有效进行。
确定语音信号的起止点, 从而减小语音信号处理过程中的计算量, 是众多语音信号处理领域中一个基本而且重要的问题。
有效的端点检测技术不仅能减少系统的处理时间,增强系统处理的实时性,而且能排除无声段的噪声干扰,增强后续过程的识别性。
可以说,语音信号的端点检测至今天为止仍是有待进一步深入的研究课题。
2. 语音端点检测主要方法和分析在很长一段时间里,语音端点检测算法主要是依据语音信号的时域特性[2].其采用的主要参数有短时能量、短时平均过零率等,即通常说的基于能量的端点检测方法。
语音的端点检测处理技术王晓亚,鲁玉海(中国电子科技集团公司第五十四研究所,河北石家庄050081)摘 要 语音端点检测是语音识别过程中的一个重要环节,不同的端点检测方法对不同噪声的分辨能力不同。
实际应用环境中的背景噪声主要为调谐噪声,传统能零积的方法对此噪声却无能为力,为了能有效去除调谐噪声,对能零积的方法做了改进,使用能量比过零率的方法,有效地去除了应用环境中的调谐噪声,并对普通白噪声也有同样效果。
通过与MFCC 倒谱进行比较,其检测概率与MFCC 倒谱检测概率相同,而在实时性上能明显优于MFCC 倒谱系数。
关键词 语音信号;端点检测;过零率;能量中图分类号 TN915 04;TN911 72 文献标识码 A 文章编号 1003-3106(2010)02-0016-03Endpoint Detection of Speech SignalW ANG Xiao ya,LU Yu hai(The 54th Research I nstitute o f CE TC ,Shijia zhuan g Hebei 050081,China)Abstract Endpoint detection is to detect the speech and the noi se in the speech signal.Due to the wide variety of speech and complex background,different methods give di fferent results.For eliminating the tuning noise,traditional energy zero product method is helpless.Inthis paper,an improved method from energy zero product method is put forward to get rid of this noise effectively.T he simulation results show that this method is more efficient than the MFCC in real time operation,and also gives a good detection capability.Key words speech signal;endpoint detection;zero crossing rate;energy收稿日期:2009 11 110 引言在语音信号预处理技术中,语音端点检测(vad)广泛应用于通信系统、语音编码等。
一种语音信号端点检测方法的研究吴亮春潘世永(西华大学数学与计算机学院,四川成都 610039)摘要在语音识别系统中,端点检测的误差会降低系统的识别率,进行有效准确的端点检测是语音识别的重要步骤。
因此端点检测逐渐成为语音信号处理中的一个热点。
本文提出了一种基于模型的Teager 能量端点检测方法。
实验证明,该算法比传统的能量过零率端点检测算法具有更高的识别率,能够更准确的检测出语音信号的端点。
关键词端点检测;模型;过零率1 引言语音是人类相互交流和通信最方便快捷的手段。
如何高效地实现语音传输、存储或通过语音实现人机交互,是语音信号处理领域中的重要研究课题。
而语音端点检测是语音分析、语音合成、语音编码、说话人识别中的一个重要环节,直接影响到后续工作的准确性。
在实际应用中,首先通常要求对系统的输入信号进行判断,准确地找出语音信号的起始点和终止点,这样才能采集真正的语音数据,减少数据量和运算量,并减少处理时间。
在语音识别中,通常是先根据一定的端点检测算法,对语音信号中的有声片段和无声片段进行分割,而后再针对有声片段,依据语音的某些特征进行识别。
研究表明,即使在安静的环境中,语音识别系统一半以上的识别错误来自端点检测器。
因此,作为语音识别系统的第一步,端点检测的关键不容忽视,尤其是噪声环境下语音的端点检测,它的准确性很大程度上直接影响着后续的工作能否有效进行。
可以说,语音信号的端点检测至今仍是有待进一步深入研究的课题。
2 语音信号的时域特征2.1 短时能量分析语音信号的能量随着时间变化比较明显,一般清音部分的能量比浊音的能量小的多,所以在区分清音和浊音,有声段和无声段的应用中效果比较明显。
对于信号{x(n)},短时能量的定义如下:式中,, E n表示在信号的第n个点开始加窗函数时的短时能量。
通过上式可以看出,短时能量式语音信号的平方经过一个线性低通滤波器的输出,该线性低通滤波器的单位冲激响应为h(n)。
由于短时能量是对信号进行平方运算,因而增加了高低信号之间的差距,在一些应用场合并不合适。
基于MATLAB的语音信号的端点检测摘要:语音端点检测是指从一段语音信号中准确的找出语音信号的起始点和结束点,它的目的是为了使有效的语音信号和无用的噪声信号得以分离,因此在语音识别、语音增强、语音编码、回声抵消等系统中得到广泛应用。
目前端点检测方法大体上可以分成两类,一类是基于阈值的方法,另一类方法是基于模式识别的方法,本文主要对基于阀值的方法进行研究。
端点检测在语音识别中占有十分重要的地位,直接影响着系统的性能。
本文首先对语音信号进行简单的时域和频域分析及预处理,其次利用基于短时能量和短时过零率的双门限算法进行语音端点检测,并对这几种用这种算法进行端点检测,进行实验分析,分析此方法的优缺点。
关键词:语音信号处理;语音端点检测;双门限;短时能量;短时过零率Voice signal endpoint detection based on MATLABAbstract:Endpoint detection is a voice signal from the accurate speech signal to the identify start and the end points, the purpose is to enable to separated the effective voice signals and un-useful noise. So, in the speech recognition system, speech enhancement, speech coding, echo cancellation and other systems are widely used.In Current the endpoint detection can be roughly divided into two categories, one is based on the threshold method, another method is based on the method of pattern recognition , the main in this paper is based on the method of threshold method. The Endpoint detection is take a very important position in the speech recognition, it directly affects the performance of the system. In this article first domain analysis in simple speech signal time, than dual threshold algorithm, cepstrum algorithm, spectral entropy algorithm for endpoint detection, and these types of endpoint detection algorithms, and experimental analysis points and analysis the advantages and disadvantages of this method.Key word:Signal processing; voice activity detection; double threshold; Short-time energy ;The rate of short-time zero-passing1.绪论语音,即语言的声音,是语言符号系统的载体。
华南理工大学《语音信号处理》实验报告
实验名称:端点检测
姓名:
学号:
班级:11级电信3班
日期:2013年4 月19日
1.实验目的
1.语音信号端点检测技术其目的就是从包含语音的一段信号中准确地确定语音的起始点和终止点,区分语音和非语音信号,它是语音处理技术中的一个重要方面。
本实验的目的就是要掌握基于MATLAB编程实现带噪语音信号端点检测,利用MATLAB对信号进行分析和处理,学会利用短时过零率和短时能量,对语音信号的端点进行检测。
2. 实验原理
1、短时能量
语音和噪声的区别可以体现在它们的能量上,语音段的能量比噪声段能量大,语音段的能量是噪声段能量叠加语音声波能量的和。
在信噪比很高时,那么只要计算输入信号的短时能量或短时平均幅度就能够把语音段和噪声背景区分开。
这是仅基于短时能量的端点检测方法。
信号{x(n)}的短时能量定义为:
语音信号的短时平均幅度定义为:
其中w(n)为窗函数。
2、短时平均过零率
短时过零表示一帧语音信号波形穿过横轴(零电平)的次数。
过零分析是语音时域分析中最简单的一种。
对于连续语音信号,过零意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值的改变符号称为过零。
过零率就是样本改变符号次数。
信号{x(n)}的短时平均过零率定义为:
式中,sgn为符号函数,即:
过零率有两类重要的应用:第一,用于粗略地描述信号的频谱特性;第二,用于判别清音和浊音、有话和无话。
从上面提到的定义出发计算过零率容易受低频干扰,特别是50Hz交流干扰的影响。
解决这个问题的办法,一个是做高通滤波器或带通滤波,减小随机噪声的影响;另一个有效方法是对上述定义做一点修改,设一个门限T,将过零率的含义修改为跨过正负门限。
于是,有定义:
3、检测方法
利用过零率检测清音,用短时能量检测浊音,两者配合。
首先为短时能量和过零率分别确定两个门限,一个是较低的门限数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大。
低门限被超过未必是语音的开始,有可能是很短的噪声引起的,高门限被超过并且接下来的自定义时间段内的语音超过低门限,意味着信号开始。
此时整个端点检测可分为四段:静音段、过渡段、语音段、结束。
实验时使用一个变量表示当前状态。
静音段,如果能量或过零率超过低门限,就开始标记起始点,进入过渡段。
过渡段当两个参数值都回落到低门限以下,就将当前状态
恢复到静音状态。
而如果过渡段中两个参数中的任一个超过高门限,即被认为进入语音段。
处于语音段时,如果两参数降低到门限以下,而且总的计时长度小于最短时间门限,则认为是一段噪音,继续扫描以后的语音数据,否则标一记结束端点。
3. 实验数据及平台
本实验所采用的数据是几段语音文件,平台是MATLAB。
4. 实验过程(步骤)
1、取一段录音作为音频样本。
2、利用公式分别编程计算这段语音信号的短时能量和短时过零率,然后分别画出它们的曲线。
3、调整能量门限。
4、进行幅度归一化并设置帧长、短时能量阈值、过零率阈值等参数。
5、编写程序实现语音端点检测。
6、最后得到语音端点检测图像。
5. 实验结果及讨论
1、单个字的语音信号端点检测
2、一句话的语音信号端点检测
3、几句话的语音信号端点检测
6. 实验总结
这次实验利用MATLAB对信号进行分析和处理,利用短时过零率和短时能量,对语音信号的端点进行检测。
由于知识储备的不足,在实验过程中还是遇到比较大的困难,代码是参考网上的,在理解的基础上借鉴。
但是整个过程自己还是投入其中,收获是比较大的。
经过这次窘迫之后,我决心要好好看书,争取明天的实验自己独立完成,真正做到学以致用。
7. 实验代码
function shiyang1
clc,clear;
del = 2;
a = [];
b = [];
x1 = wavread('E:\yuuyin\monologue speech_female.wav');
x = double(x1);
x = x/max(abs(x));
y = enframe(filter([1 -0.9375],1,x),160,80);
i = 1:size(y,1);
amp(i) = sum(abs(y(i,:)),2);
for k = 1:size(y,1)-1
if amp(k)<del && amp(k+1)>del
if amp(k-1)<del
a = [a,k];
end
elseif amp(k)>del && amp(k+1)<del
if amp(k+2)<del
b = [b,k];
end
end
end
figure
plot(x1)
grid on
axis([0 length(x) -0.8 0.8]);
for i = 1:size(a,2)
line([a(i)*80 a(i)*80],[-0.8 0.8],'color','red'); end
for i = 1:size(b,2)
line([b(i)*80 b(i)*80],[-0.8 0.8],'color','green'); end。