语音信号处理实验报告11
语音信号处理实验报告.docx

在实验中,当P值增加到一定程度,预测平方误差的改善就不很明显了,而且会增加计算量,一般取为8~14,这里P取为10。
5.基音周期估计
①自互相关函数法
②短时平均幅度差法
二.实验过程
1. 系统结构
2.仿真结果
(1)时域分析
男声及女声(蓝色为时域信号,红色为每一帧的能量,绿色为每一帧的过零率)
某一帧的自相关函数
3.频域分析
①一帧信号的倒谱分析和FFT及LPC分析
②男声和女声的倒谱分析
③浊音和清音的倒谱分析
④浊音和清音的FFT分析和LPC分析(红色为FFT图像,绿色为LPC图像)
从男声女声的时域信号对比图中可以看出,女音信号在高频率分布得更多,女声信号在高频段的能量分布更多,并且女声有较高的过零率,这是因为语音信号中的高频段有较高的过零率。
2.频域分析
这里对信号进行快速傅里叶变换(FFT),可以发现,当窗口函数不同,傅里叶变换的结果也不相同。根据信号的时宽带宽之积为一常数这一性质,可以知道窗口宽度与主瓣宽度成反比,N越大,主瓣越窄。汉明窗在频谱范围中的分辨率较高,而且旁瓣的衰减大,具有频谱泄露少的有点,所以在实验中采用的是具有较小上下冲的汉明窗。
三.实验结果分析
1.时域分析
实验中采用的是汉明窗,窗的长度对能否由短时能量反应语音信号的变化起着决定性影响。这里窗长合适,En能够反应语音信号幅度变化。同时,从图像可以看出,En可以作为区分浊音和清音的特征参数。
短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。从图中可以看出,短时能量和过零率可以近似为互补的情况,短时能量大的地方过零率小,短时能量小的地方过零率较大。从浊音和清音的时域分析可以看出,清音过零率高,浊音过零率低。
语音信号课程设计实验报告

《语音信号处理》课程设计报告姓名:指导教师:学科、专业:班级、学号:日期:20 年月日《语音信号处理》课程设计报告一实践项目:1 熟悉matlab环境,掌握matlab基本用法。
2 掌握语音信号的采集方法。
3 掌握语音信号的时域分析方法。
4 理解语谱图与时频分辨率的关系。
5 掌握滤波器的设计及应用。
6 掌握线性预测分析方法。
7 掌握同态分析方法。
二实验器材:计算机(含MATLAB软件)耳麦三设计任务:1熟悉MATLAB,掌握MATLAB的基本用法:1)实验目的:掌握Matlab的基本语法、编程、画图、文件I/O方法等,并能实现具体法和设计较简单的程序。
2)实验过程及结果分析:(1)简述MATLAB的基本功能与用途:(2)MATLAB下矩阵的用法:1)MATLAB中输入矩阵的3条基本原则:在MATLAB下输入一个4*5的矩阵程序:回车后结果:2)MATLAB中的几种常用特殊矩阵:1 n阶单位矩阵:2 m*n的随机矩阵,数值服从0-1:3 m*n的随机矩阵,数值服从正态分布:4 m*n的全零矩阵:5 n阶的对角矩阵:(3)信号处理中常用到的函数:(1)[x,fs,bits]=wavread(‘filenname’)(2)[d]=FFT(x,n)(3)Sound(x,fs,bits):简述wavread, FFT, sound函数的用途,x,fs,bit,n的含义:利用上面函数,编写一段程序,对语音文件(speech_clean_8k.wav)进行数据读取,FFT变换和听取声音,其中设定n=1024.程序:记录x,fs,bits数值:(4)MATLAB下文件I/O功能:1)简述文件I/O功能及其好处::2)文件I/O功能中常用的两个函数命令,简述其用法:3)将上面对speech_clean_8k.wav 语音文件进行处理后在workspace 里得到的变量x 保存成dat 格式的文件,文件名为myfile ,在调用myfile 文件,观察workspace 里变量的情况。
语音信号处理实验报告

实验一 显示语音信号的语谱图一、实验目的综合信号频谱分析和滤波器功能,对语音信号的频谱进行 分析,并对信号含进行高通、低通滤波,实现信号特定处理 功能。
加深信号处理理论在语音信号中的应用;理解语谱图 与时频分辨率的关系。
二、实验原理语谱图分析语音又称语谱分析,语谱图中显示了大量的与语音的语句特性有关的信息,它总额了频谱图和时域波形的优点,明显地显示出语音频谱随时间的变化情况。
语谱图实际上是一种三维频谱,即同时在时间和频率上显示出语音的特性,或者说是一种动态的频谱。
窄带语谱图可以得到较好的频域分辨率,窗长通常为至少两个基音周期的“长窗”;而宽带语谱图可以给出较好的时域分辨率,窗长为小于一个基音周期的“短窗”。
三、实验内容实验数据为工作空间 ex3M2.mat 中数组 we_be10k 是单词“we ”和“be ”的语音波形(采样率为10000 点/秒) 。
1、 听一下 we_be10k (可用 sound )2、使用函数 specgram_ex3p19.显示语谱图和语音波形,如图一。
图一、参数窗长 20ms (200 点) 、帧间隔 1ms (10 点)0.511.5-2-1012Time (s)SPEECHTime (ms)F r e q u e n c y (H z )SPECTROGRAM00.51 1.5200040002、 对比调用参数窗长 20ms (200 点) 、帧间隔 1ms (10 点),(如图一)和参数窗长5ms (50点) 、帧间隔 1ms (10点)(如图二) ;图二、参数窗长5ms (50点) 、帧间隔 1ms (10点)图三、参数窗长30ms (300点) 、帧间隔 1ms (10点)0.511.5-2-1012Time (s)SPEECHTime (ms)F r e q u e n c y (H z )SPECTROGRAM00.51 1.5200040000.511.5-2-1012Time (s)SPEECHTime (ms)F r e q u e n c y (H z )SPECTROGRAM00.51 1.520004000图四、参数窗长20ms (200点) 、帧间隔 5ms (50点)3、 再对比窗长>20ms 或小于5ms ,以及帧间隔>1ms 时的语谱图说明宽带语谱图、窄带语谱图与时频分辨率的关系及如何得到时频折中。
语音信号处理实验报告

通信与信息工程学院信息处理综合实验报告班级:电子信息工程1502班指导教师:设计时间:2018/10/22-2018/11/23评语:通信与信息工程学院二〇一八年实验题目:语音信号分析与处理一、实验内容1. 设计内容利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。
2.设计任务与要求1. 基本部分(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。
(2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。
(3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。
(4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。
2. 提高部分(5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。
(6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。
(7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。
(8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。
二、实验原理1.设计原理分析本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。
首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。
哈尔滨工程大学语音信号处理实验报告讲述

实验报告实验课程名称:语音信号处理实验姓名:班级: 20120811 学号:Array指导教师张磊实验教室 21B#293实验时间 2015年4月12日实验成绩实验一 语音信号的端点检测一、实验目的1、掌握短时能量的求解方法2、掌握短时平均过零率的求解方法3、掌握利用短时平均过零率和短时能量等特征,对输入的语音信号进行端点检测。
二、实验设备 HP 计算机、Matlab 软件 三、实验原理 1、短时能量语音信号的短时能量分析给出了反应这些幅度变化的一个合适的描述方法。
对于信号)}({n x ,短时能量的定义如下:∑∑∞-∞=∞-∞=*=-=-=m m n n h n x m n h m xm n w m x E )()()()()]()([2222、短时平均过零率短时平均过零率是指每帧内信号通过零值的次数。
对于连续语音信号,可以考察其时域波形通过时间轴的情况。
对于离散信号,实质上就是信号采样点符号变化的次数。
过零率在一定程度上可以反映出频率的信息。
短时平均过零率的公式为:∑∑-+=∞-∞=--=---=1)]1(sgn[)](sgn[21 )()]1(sgn[)](sgn[21N n nm w w m n m x m x m n w m x m x Z其中,sgn[.]是符号函数,即⎩⎨⎧<-≥=0)(10)(1)](sgn[n x n x n x3、端点检测原理能够实现这些判决的依据在于,不同性质语音的各种短时参数具有不同的概率密度函数,以及相邻的若干帧语音应具有一致的语音特性,它们不会在S 、U 、V 之间随机地跳来跳去。
要正确判断每个输入语音的起点和终点,利用短时平均幅度参数E 和短时平均过零率Z 可以做到这一点。
首先,根据浊音情况下的短时能量参数的概率密度函数)|(V E P 确定一个阈值参数H E ,H E 值一般定的较高。
当一帧输入信号的短时平均幅度参数超过H E 时,就可以判定该帧语音信号不是无声,而有相当大的可能是浊音。
语音信号处理实验报告

语⾳信号处理实验报告语⾳信号处理实验报告⼀、原理 1.端点检测语⾳信号⼀般可分为⽆声段、清⾳段和浊⾳段。
⽆声段是背景噪声段, 平均能量最低,波形变化缓慢,过零率最低; 浊⾳段为声带振动发出对应的语⾳信号段, 平均能量最⾼; 清⾳段是空⽓在⼝腔中的摩擦、冲击或爆破⽽发出的语⾳信号段, 平均能量居于前两者之间,波形上幅度变化剧烈, 过零率最⼤。
端点检测就是⾸先判断有声还是⽆声, 如果有声,则还要判断是清⾳还是浊⾳。
为正确地实现端点检测, ⼀般综合利⽤短时能量和过零率两个特征,采⽤/双门限检测法。
①语⾳信号x(n)进⾏分帧处理,每⼀帧记为Si (n ),n=1,2,…,N ,n 为离散语⾳信号时间序列,N 为帧长,i 表⽰帧数。
②短时能量:③过零率:2.基⾳检测能量有限的语⾳信号}{()s n 的短时⾃相关函数定义为: 10()[()()][()()]N n m R s n m w m s n m w m ττττ--==++++∑ 其中,τ为移位距离,()w m 是偶对称的窗函数。
短时⾃相关函数有以下重要性质:①如果}{()s n 是周期信号,周期是P ,则()R τ也是周期信号,且周期相同,即()()R R P ττ=+。
②当τ=0时,⾃相关函数具有最⼤值;当0,,2,3P P P τ=+++…处周期信号的⾃相关函数达到极⼤值。
③⾃相关函数是偶函数,即()()R R ττ=-。
短时⾃相关函数法基⾳检测的主要原理是利⽤短时⾃相关函数的第⼆条性质,通过⽐较原始信号和它移位后的信号之间的类似性来确定基⾳周期,如果移位距离等于基⾳周期,那么,两个信号具有最⼤类似性。
在实际采⽤短时⾃相关函数法进⾏基⾳检测时,使⽤⼀个窗函数,窗不动,语⾳信号移动,这是经典的短时⾃相关函数法。
3.⾃相关法解线性预测⽅程组⾃相关⽅法a.Levinson-durbin 递推算法()21N i n Ei s n ==∑()()1sgn sgn 1N i i n Zi s n s n ==--∑pj a a k k R E E k Ep j i p i i n p i i i j ...,3,2,1,1||,)1()0(,)1()(12)()1(2)(==≤-=-=∧=-∏ ki 称为反射系数,也称PARCOR 系数b.E(p)是预测残差能量在起始端,为了预测x(0),需要⽤到x(-1),x(-2),……,x(-p).但是这些值均为0,这样预测会带来误差。
语音信号处理

学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:实验四 减谱法语音增强技术研究一、实验目的本实验要求掌握减谱法语音增强的原理,会利用已学的相关语音特征,构建语音特征矢量,然后自己设计减谱法语音增强程序(也可参考相关文献),能显示干净语音和加噪语音信号及处理后的结果语音信号波形,分析实验结果,写出报告。
二、实验原理谱减法的基本原理谱相减方法是基于人的感觉特性,即语音信号的短时幅度比短时相位更容易对人的听觉系统产生影响,从而对语音短时幅度谱进行估计,适用于受加性噪声污染的语音。
由于语音是短时平稳的,所以在短时谱幅度估计中认为它是平稳随机信号,假设)(m s 、)(m n 和)(m y 分别代表语音、噪声和带噪语音,)(ωs S 、)(ωn S 和)(ωy S 分别表示其短时谱。
假设噪声)(m n 是与语音)(m s 不相关的加性噪声。
于是得到信号的加性模型:)()()(m n m s m y += (4-1)对功率谱有 )()()()(|)(||)(||)(|**222ωωωωωωωw w w w w w w N S N S N S Y +++= (4-4) 原始语音的估值为]|)([||)(||)(|222ωωωw w w N E Y S -=∧(4-5)只要在频域用(4-5)式得到纯净语音的谱估计,就可以根据(4-6)式得到增强后的语音。
[])()(ˆ)(ˆωϕωj w e s IFFT m s=错误!未找到引用源。
(4-6)根据前面分析,我们可以给出谱相减算法的整个算法流程,如图4-1所示:图4-1 谱减法的算法流程三、实验程序带噪学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩:1、噪声叠加到信号上的比较%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise1=0.1*randn(1,count);signal=input;for i=1:countvoice1(i)=signal(i)+noise1(i);endnoise2=0.01*randn(1,count);for i=1:countvoice2(i)=signal(i)+noise2(i);endnoise3=randn(1,count);signal=input;for i=1:countvoice3(i)=signal(i)+noise3(i);endn=1:count;figure %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise1);title('噪音信号')subplot(3,1,3);plot(n,voice1);title('带噪信号')figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss1=fft(noise1);subplot(3,1,2);plot(n,abs(Fss1));学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226 课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩:title('噪音信号频谱')Fv1=fft(voice1);subplot(3,1,3)plot(n,abs(Fv1));title('带噪信号的频谱')figure %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise2);title('噪音信号')subplot(3,1,3);plot(n,voice2);title('带噪信号')figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss2=fft(noise2);subplot(3,1,2);plot(n,abs(Fss2));title('噪音信号频谱')Fv2=fft(voice2);subplot(3,1,3)plot(n,abs(Fv2));title('带噪信号的频谱')figure %对比纯净语音信号,噪音信号和带噪语音信号subplot(3,1,1);plot(n,signal);title('纯净信号')subplot(3,1,2);plot(n,noise3);title('噪音信号')subplot(3,1,3);plot(n,voice3);title('带噪信号')figure %对比纯净语音信号频谱,噪音信号和带噪信号频谱学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩:Fss=fft(signal);subplot(3,1,1);plot(n,abs(Fss));title('纯净信号频谱')Fss3=fft(noise3);subplot(3,1,2);plot(n,abs(Fss3));title('噪音信号频谱')Fv3=fft(voice3);subplot(3,1,3)plot(n,abs(Fv3));title('带噪信号的频谱')2、利用减谱法的基本原理给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise=1*randn(1,count);signal=input';for i=1:countvoice(i)=signal(i)+noise(i);endFv=fft(voice);anglev=angle(Fv);Fn=fft(noise);power1=(abs(Fv)).^2;power2=(abs(Fn)).^2;power3=power1-power2;power4=sqrt(power3);Fs=power4.*exp(j*anglev);sound=ifft(Fs);n=1:count;%纯净语音信号频谱Fss=fft(signal);figure %对比纯净语音信号和输出信号subplot(2,1,1)学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩:plot(n,signal);title('纯净信号')subplot(2,1,2)plot(n,sound);title('输出信号')figure %对比纯净语音信号频谱和输出语音信号频谱subplot(2,1,1)plot(n,abs(Fss));title('纯净信号频谱')subplot(2,1,2)plot(n,abs(Fs));title('输出信号频谱')max_v=max(voice); %对带噪信号抽样值点进行归一化处理re_voice=voice/max_v;%对输出信号抽样点值进行归一化处理max_s=max(sound);re_sound=sound/max_s;%读出带噪语音信号,存为'1001.wav'wavwrite(re_voice,5500,16,'1001');%读出处理后语音信号,存为'1002.wav'wavwrite(re_sound,5500,16,'1002')3、利用改进的减谱法给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号%在噪声环境下语音信号的增强%语音信号为读入的声音文件%噪声为正态随机噪声clear;input=wavread('C:\Users\Administrator\Desktop\yuyinxinhao\b1.wav');count=length(input);noise=0.1*randn(1,count);signal=input';for i=1:countvoice(i)=signal(i)+noise(i);endFv=fft(voice);anglev=angle(Fv);Fn=fft(noise);power1=(abs(Fv)).^2;power2=(abs(Fn)).^2;学院:信息与电气工程学院班级: 电信111 姓名: 彭宝玺学号: 2011081226 课程: 语音信号处理实验日期: 2014 年 4 月 25 日成绩: for i=1:countif(power1(i)>=3*power2(i))power3(i)=power1(i)-3*power2(i);elsepower3(i)=0.01*power2(i);endendpower4=sqrt(power3);Fs=power4.*exp(j*anglev);sound=ifft(Fs);n=1:count;%纯净语音信号频谱Fss=fft(signal);figure %对比纯净语音信号和输出信号subplot(2,1,1)plot(n,signal);title('纯净信号')subplot(2,1,2)plot(n,sound);title('输出信号')figure %对比纯净语音信号频谱和输出语音信号频谱subplot(2,1,1)plot(n,abs(Fss));title('纯净信号频谱')subplot(2,1,2)plot(n,abs(Fs));title('输出信号频谱')四、实验结果1、噪声叠加到信号上的比较(1)噪声为0.1*randn(1,count)学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020004000600080001000012000140001600018000-0.200.2纯净信号020004000600080001000012000140001600018000-0.500.5噪音信号020004000600080001000012000140001600018000-0.50.5带噪信号020004000600080001000012000140001600018000050100纯净信号频谱050噪音信号频谱2000400060008000100001200014000160001800050100带噪信号的频谱(2)噪声为0.01*randn(1,count)学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020004000600080001000012000140001600018000-0.200.2纯净信号020004000600080001000012000140001600018000-0.0500.05噪音信号020004000600080001000012000140001600018000-0.20.2带噪信号020004000600080001000012000140001600018000050100纯净信号频谱0200040006000800010000120001400016000180005噪音信号频谱02000400060008000100001200014000160001800050100带噪信号的频谱(3)噪声为randn(1,count)学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020004000600080001000012000140001600018000-0.200.2纯净信号020004000600080001000012000140001600018000-505噪音信号-505带噪信号2、利用减谱法的基本原理给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号20004000600080001000012000140001600018000-0.2-0.100.10.2纯净信号-0.50.5输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱50100输出信号频谱3、利用改进的减谱法给语音信号降噪噪声为0.1*randn(1,coun) 纯净信号为输入信号 (1)参数取a=3,b=0.0120004000600080001000012000140001600018000-0.2-0.100.10.2纯净信号20004000600080001000012000140001600018000-0.1-0.0500.050.1输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020004000600080001000012000140001600018000020406080纯净信号频谱0200040006000800010000120001400016000180000204060输出信号频谱(2)参数取a=10,b=0.01-0.2-0.10.10.2纯净信号-0.1-0.050.050.1输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱020406080输出信号频谱(3)参数取a=0.8,b=0.01020004000600080001000012000140001600018000-0.2-0.10.10.2纯净信号020004000600080001000012000140001600018000-0.4-0.20.20.4输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱20004000600080001000012000140001600018000020406080输出信号频谱(4)参数取a=3,b=0.0001020004000600080001000012000140001600018000-0.2-0.10.10.2纯净信号-0.1-0.050.050.1输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱020004000600080001000012000140001600018000020406080输出信号频谱(5)参数取a=3,b=0.1020004000600080001000012000140001600018000-0.2-0.10.10.2纯净信号20004000600080001000012000140001600018000-0.2-0.10.10.2输出信号学院:信息与电气工程学院 班级: 电信111 姓名: 彭宝玺 学号: 2011081226 课程: 语音信号处理 实验日期: 2014 年 4 月 25 日 成绩:020406080纯净信号频谱20004000600080001000012000140001600018000020406080输出信号频谱五、实验分析1、噪声叠加到信号上时,噪声会对信号产生较大影响,噪声加强会使信号被噪声淹没;噪声减弱,对信号的影响减小;2、用减谱法的基本原理対带噪信号进行处理后,信号质量明显提升,从而得到较纯净的语音信号;3、用改进的减谱法対带噪信号进行处理后,信号质量更好,语音信号更纯净。
语音信号处理实验报告

语⾳信号处理实验报告语⾳信号处理实验报告【实验⼀】⼀、实验题⽬Short time analysis⼆、实验要求Write a MA TLAB program to analyze a speech and simultaneously, on a single page, plot the following measurements:1. the entire speech waveform2. the short-time energy, En3. the short-time magnitude, Mn4. the short-time zero-crossing, Zn5. the narrowband spectrogram6. the wideband spectrogramUse both the speech waveforms in the wznjdx_normal.wav. Choose appropriate window sizes, window shifts, and window for the analysis. Explain your choice of these parameters.三、实验程序clear[x,fs]=wavread('wznjdx_normal.wav');n=length(x);N=320;subplot(4,1,1);plot(x);h=linspace(1,1,N);En=conv(h,x.*x);subplot(4,1,2);plot(En);Mn=conv(h,abs(x));subplot(4,1,3);plot(Mn);for i=1:n-1if x(i)>=0 y(i)=1;else y(i)=-1;endif x(i+1)>=0 y(i+1)=1;else y(i+1)=-1;endw(i)=abs(y(i+1)-y(i));endk=1;j=0;while (k+N-1)Zm(k)=0;for i=0:N-1Zm(k)=Zm(k)+w(k+i);endj=j+1;k=k+N/2;endfor w=1:jQ(w)=Zm(160*(w-1)+1)/(2*N);endsubplot(4,1,4);plot(Q);grid;figure(2);subplot(2,1,1);spectrogram(x,h,256,200,0.0424*fs); subplot(2,1,2);spectrogram(x,h,256,200,0.0064*fs);四、实验结果语谱图:(Matlab 7.0 ⽤不了spectrogram)【实验⼆】⼀、实验题⽬Homomorphic analysis⼆、实验要求Write a MATLAB program to compute the real cepstrums of a section of voiced speech and unvoiced speech. Plot the signal, the log magnitude spectrum, the real cepstrum, and the lowpass liftered log magnitude spectrum.三、实验程序nfft=256;[x,fs] = wavread('wznjdx_normal.wav');fx=x;Xvm=log(abs(fft(fx,nfft)));xhv=real(ifft(Xvm,nfft));lifter=zeros(1,nfft);lifter(1:30)=1;lifter(nfft-28:nfft)=1;fnlen=0.02*fs; % 20mswin=hamming(fnlen);%加窗n=fnlen;%窗宽度赋给循环⾃变量nnoverlap=0.5*fnlen;while(n<=length(x)-1)fx=x(n-fnlen+1:n).*win;n=n+noverlap;endxhvp=xhv.*lifter';figure;subplot(4,1,1)plot(lifter);title('倒谱滤波器');subplot(4,1,2)plot(x);title('语⾳信号波形');subplot(4,1,3)plot(Xvm);title('Xvm');subplot(4,1,4)plot(xhv);title('xhv');四、实验结果【实验三】⼀、实验题⽬LP analysis⼆、实验要求Write a MATLAB program to convert from a frame of speech to a set of linear prediction coefficients. Plot the LPC spectrum superimposed on the corresponding STFT.三、实验程序clear;[x,fs]=wavread('wznjdx_normal.wav');fx=x(4000:4160-1);p=10;[a,e,k]=aryule(fx,p);G=sqrt(e*length(fx));f=log(abs(fft(fx)));h0=zeros(1,160);h=log(G)-log(abs(fft(a,160)));figure(1);subplot(211);plot(fx);subplot(212);plot(f);hold on;plot((0:160-1),h,'r');四、实验结果【实验四】⼀、实验题⽬Pitch estimation⼆、实验内容Write a program to implement the pitch estimation and the voiced/unvoiced decision using the LPC-based method.三、实验程序clear[x,fs]=wavread('wznjdx_normal.wav');n=length(x);Q = x';NFFT=512;N = 256;Hamm = hamming(N);frame = 30;M = Q(((frame -1) * (N / 2) + 1):((frame - 1) * (N / 2) + N)); Frame = M .* Hamm';% lowpass filter[b2,a2]=butter(2,900/4000);speech2=filter(b2,a2,Frame); % filter% residual[a,e] = lpc(speech2,20);errorlp=filter(a,1,speech2); % residual% Short-term autocorrelation.re = xcorr(errorlp);% Find max autocorrelation for lags in the interval minlag to maxlag. minlag = 17; % F0: 450Hzmaxlag =160; % F0: 50Hz[remax,idx] = max(re(fnlen+minlag:fnlen+maxlag));figuresubplot(3,1,1);plot(Frame);subplot(3,1,2);plot(speech2);subplot(3,1,3);plot(re);text(500,0,'idx');idx=idx-1+minlagremax四、实验结果【实验五】⼀、实验题⽬Speech synthesis⼆、实验内容Write a program to analyze a speech and synthesize it using the LPC-based method.三、实验程序主程序clear;[x,sr] = wavread('wznjdx_normal.wav');p=[1 -0.9];x=filter(p,1,x);N=256;inc=128;y=lpcsyn(x,N,inc);wavplay(y,sr);⼦程序lpcsynfunction y=lpcsyn(x,N,inc)%[x,sr] = wavread('wznjdx_normal.wav');%pre = [1 -0.97];%x = filter(pre,1,x);%N=256;%inc=128;fn=floor(length(x)/inc);y=zeros(1,50000);for (i=1:fn)x(1:N,i)=x((i-1)*inc+1:(i+1)*inc);[A(i,:),G(i),P(i),fnlen,fnshift] = lpcana(x(1:N,i),order); if (P(i)) % V oiced frame.e = zeros(N,1);e(1:P(i):N) = 1; % Impulse-train excitation.else % Unvoiced frame.e = randn(N,1); % White noise excitation.endyt=filter(G(i),A(i,:),e);j=(i-1)*inc+[1:N];y(j) = y(j)+yt';end;end⼦程序lpcanafunction [A,G,P,fnlen,fnshift] = lpcana(x,order) fnlen=256;fnshift=fnlen/2;n=length(x);[b2,a2]=butter(2,900/4000);speech2=filter(b2,a2,x);[A,e]=lpc(speech2,order);errorlp=filter(A,1,speech2);re=xcorr(errorlp);G=sqrt(e*length(speech2));minlag=17;maxlag=160;[remax,idx]=max(re(n+minlag:n+maxlag));P=idx-1+minlag;end四、实验结果【实验六】⼀、实验题⽬Speech enhancement⼆、实验内容Write a program to implement the basic spectral magnitude subtraction.三、实验程序clear[speech,fs,nbits]=wavread('wznjdx_normal.wav');%读⼊数据alpha=0.04;%噪声⽔平winsize=256;%窗长size=length(speech);%语⾳长度numofwin=floor(size/winsize);%帧数hamwin=zeros(1,size);%定义汉明窗长度enhanced=zeros(1,size);%定义增强语⾳的长度ham=hamming(winsize)';%%产⽣汉明窗x=speech'+alpha*randn(1,size);%信号加噪声noisy=alpha*randn(1,winsize);%噪声估计N=fft(noisy);nmag=abs(N);%噪声功率谱%分帧for q=1:2*numofwin-1frame=x(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2);%对带噪语⾳帧间重叠⼀半取值hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=...hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+ham;%加窗y=fft(frame.*ham);mag=abs(y);%带噪语⾳功率谱phase=angle(y);%带噪语⾳相位%幅度谱减for i=1:winsizeif mag(i)-nmag(i)>0clean(i)=mag(i)-nmag(i);else clean(i)=0;endend%频域中重新合成语⾳spectral=clean.*exp(j*phase);%反傅⾥叶变换并重叠相加enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=...enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+real(ifft(spectral));endfigure(1);subplot(3,1,1);plot(speech);xlabel('样点数');ylabel('幅度');title('原始语⾳波形'); subplot(3,1,2);plot(x);xlabel('样点数');ylabel('幅度');title('语⾳加噪波形'); subplot(3,1,3);plot(enhanced);xlabel('样点数');ylabel('幅度');title('增强语⾳波形');四、实验结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 语音信号的时域分析
一、 实验目的、要求
(1)掌握语音信号采集的方法
(2)掌握一种语音信号基音周期提取方法
(3)掌握语音信号短时能量和短时过零率计算方法
(4)了解Matlab 的编程方法
二、 实验原理
语音是一时变的、非平稳的随机过程,但由于一段时间内(10-30ms)人的声带和声道形状的相对稳定性,可认为其特征是不变的,因而语音的短时谱具有相对稳定性。
在语音分析中可以利用短时谱的这种平稳性,将语音信号分帧。
10~30ms 相对平稳,分析帧长一般为20ms 。
语音信号的分帧是通过可移动的有限长度窗口进行加权的方法来实现的。
几种典型的窗函数有:矩形窗、汉明窗、哈宁窗、布莱克曼窗。
语音信号的能量分析是基于语音信号能量随时间有相当大的变化,特别是清音段的能量一般比浊音段的小得多。
定义短时平均能量
[][]∑∑+-=∞-∞=-=-=
n
N n m m n m n w m x m n w m x E 122)()()()( 下图说明了短时能量序列的计算方法,其中窗口采用的是直角窗。
过零就是信号通过零值。
对于连续语音信号,可以考察其时域波形通过时间轴的情况。
而对于离散时间信号,如果相邻的取样值改变符号则称为过零。
由此可以计算过零数,过零数就是样本改变符号的次数。
单位时间内的过零数称为平
均过零数。
语音信号x (n )的短时平均过零数定义为
()[]()[]()()[]()[]()
n w n x n x m n w m x m x Z m n *--=---=
∑∞
-∞=1sgn sgn 1sgn sgn 式中,[]•sgn 是符号函数,即
()[]()()()()⎩⎨⎧<-≥=01
01sgn n x n x n x
短时平均过零数可应用于语音信号分析中。
发浊音时,尽管声道有若干个共振峰,但由于声门波引起了谱的高频跌落,所以其语音能量约集中干3kHz 以下。
而发清音时.多数能量出现在较高频率上。
既然高频率意味着高的平均过零数,低频率意味着低的平均过零数,那么可以认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数。
然而这种高低仅是相对而言,没有精确的数值关系。
短时平均过零的作用
1.区分清/浊音:
浊音平均过零率低,集中在低频端;
清音平均过零率高,集中在高频端。
2.从背景噪声中找出是否有语音,以及语音的起点。
基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。
基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。
因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。
由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。
基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的
头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。
②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容易。
③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。
④基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。
由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。
尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT、谱图法、小波法等等。
三、使用仪器、材料
微机(带声卡)、耳机,话筒。
四、实验步骤
1.语音信号的录音、读入、放音等:利用函数wavread对语音信号进行采样,
记住采样频率和采样点数,给出以下语音的波形图(2.wav)。
2.短时能量分析:(1)首先对语音信号预加重;(2)对预加重后的语音信号进行
分帧,帧长取N=256各样值点,帧移取128个样值点;(3)求短时能量。
3.短时过零率分析:求语音信号的短时过零率。
4.编写程序:参考Matlab有关资料,设计并编写出上述程序。
利用subplot,
将语音信号的波形、短时能量、短时过零率放在一张图里进行比较,给出结论,注明语音段和所用窗函数及其宽度。
5.换一段语音重复上述步骤。
6.变换帧长观察结果有什么不同。
7.基音周期:采用短时相关函数计算语音信号浊音基音周期,考虑窗长度对基
音周期计算的影响。
采用倒谱法求语音信号基音周期。
五、实验过程原始记录(数据,图表,计算)
实验报告要求
报告中要有实验目的、实验原理及步骤、实验程序、实验中得出的图形结果及结论等(清浊音的短时平均能量、短时过零率有什么特点),注明语音段和所用窗函数及其宽度。
总结本次上机实验的收获。
六、实验结果,及分析
七、实验总结:
八、思考题
1.短时平均能量、短时过零率的主要用途是什么?
2.窗的宽度(帧长)的改变,对短时能量分析产生怎样的影响?。