资源简介
阐述了语音信号处理的原理、方法、技术和应用,同时给出了部分内容对应的MATLAB仿真源程序。
代码片段和文件信息
clear all;
%-------------------------------读入带噪语音文件---------------------------
[filenamepathname]=uigetfile(‘*.wav‘‘请选择纯净语音文件:‘);
tidy=wavread([pathname filename])‘;
[filenamepathname]=uigetfile(‘*.wav‘‘请选择带噪语音文件:‘);
wavin=wavread([pathname filename])‘;
%-------------------------------参数定义---------------------------------
frame_len=256; %帧长
step_len=0.5*frame_len; %分帧时的步长,相当于重叠50%
wav_length=length(wavin);
R = step_len;
L = frame_len;
f = (wav_length-mod(wav_lengthframe_len))/frame_len;
k = 2*f-1; % 帧数
h = sqrt(1/101.3434)*hamming(256)‘; % 汉宁窗乘以系数的原因是使其复合条件要求;
wavin = wavin(1:f*L); % 带噪语音与纯净语音长度对齐
tidy= tidy(1:f*L);
win = zeros(1f*L); % 设定初始值;
enspeech = zeros(1f*L);
%-------------------------------分帧-------------------------------------
for r = 1:k
y = wavin(1+(r-1)*R:L+(r-1)*R); % 对带噪语音帧间重叠一半取值;
y = y.*h; % 对取得的每一帧都加窗处理;
w = fft(y); % 对每一帧都作傅里叶变换;
Y(1+(r-1)*L:r*L) = w(1:L); % 把傅里叶变换值放在Y中;
end
%-------------------------------估计噪声-----------------------------------
NOISE= stationary_noise_evaluate(YLk); %噪声最小值跟踪算法
% NOISE= non_stationary_noise_evaluate(YLk); % 基于统计信息的非平稳噪声自适应算法
%-------------------------------谱减法-------------------------------------
for t = 1:k
X = abs(Y).^2;
S = X(1+(t-1)*L:t*L)-NOISE(1+(t-1)*L:t*L); % 含噪语音功率谱减去噪声功率谱;
S = sqrt(S);
A = Y(1+(t-1)*L:t*L)./abs(Y(1+(t-1)*L:t*L)); % 带噪于语音的相位;
S = S.*A; % 因为人耳对相位的感觉不明显,所以恢复时用的是带噪语音的相位信息;
s = ifft(S);
s = real(s); % 取实部;
enspeech(1+(t-1)*L/2:L+(t-1)*L/2) = enspeech(1+(t-1)*L/2:L+(t-1)*L/2)+s; % 在实域叠接相加;
win(1+(t-1)*L/2:L+(t-1)*L/2) = win(1+(t-1)*L/2:L+(t-1)*L/2)+h; % 窗的叠接相加;
end
enspeech = enspeech./win; % 去除加窗引起的增益得到增强的语音;
%-----------------------信噪比--------------------------------------------
SNR_before=SNR1(tidywavin);
SNR_after=SNR2(tidyenspeech);
%-------------------------------画出波形----------------------------------------
subplot(311);plot(tidy);title(‘(a)纯净语音‘);xlabel(‘样点数‘);ylabel(‘幅度‘);axis([0 2.5*10^4 -0.3 0.3]);
subplot(312);plot(wavin);title(‘(b)带噪语音(10dB白噪声)‘);xlabel(‘样点数‘);ylabel(‘幅度‘);axis([0 2.5*10^4 -0.3 0.3]);
subplot(313);plot(enspeech);title(‘(c)谱减法-增强语音‘);xlabel(‘样点数‘);ylabel(‘幅度‘);axis([0 2.5*10^4 -0.3 0.3]);
axis([0 7*10^4 -1 1]);
axis([0 2.5*10^4 -0.3 0.3]);
wavwrite(enspeech‘spectruesub_enspeech.wav‘); % 写出增强语音;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-06-08 17:25 20160608语音教材MATLAB程序提交出版社\
目录 0 2016-06-07 20:10 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\
文件 19968 2016-06-08 17:53 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\Readme.doc
目录 0 2016-06-07 20:08 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\
文件 45102 2009-06-05 17:00 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\SNR0_sp01.wav
文件 45102 2009-06-05 17:00 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\SNR10_sp01.wav
文件 45102 2009-06-05 17:08 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\SNR15_sp01.wav
文件 45102 2009-06-05 18:02 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\SNR5_sp01.wav
文件 2720 2016-03-10 14:46 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\chapter10_1.m
文件 2723 2016-03-07 11:59 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\chapter10_2.m
文件 3899 2010-03-31 19:19 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\chapter10_3.m
文件 4678 2015-12-19 22:41 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\chapter10_4.m
文件 2023 2016-03-10 14:55 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\chapter10_5.m
文件 45102 2005-07-12 08:58 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\sp01.wav
文件 987 2009-05-12 15:28 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第10章\stationary_noise_evaluate.m
目录 0 2016-06-07 20:08 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\
文件 349 2016-03-08 15:19 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_1.m
文件 366 2016-03-08 15:20 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_2.m
文件 274 2016-03-08 15:21 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_3.m
文件 373 2016-03-08 15:22 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_4.m
文件 318 2016-03-08 15:23 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_5.m
文件 307 2016-03-08 15:24 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_6.m
文件 248 2016-03-08 15:25 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_7.m
文件 2597 2016-03-08 15:25 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_8.m
文件 1570 2016-03-09 11:49 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\chapter11_9.m
文件 3562 2015-12-20 19:58 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\wu.wav
文件 1650 2016-03-08 15:47 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第11章\yingshe.m
目录 0 2016-06-07 20:08 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第12章\
目录 0 2016-06-07 20:08 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第12章\RBF\
文件 967 2016-02-24 20:35 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第12章\RBF\RBF.asv
文件 1445 2016-02-24 20:37 20160608语音教材MATLAB程序提交出版社\语音教材MATLAB程序提交出版社\第12章\RBF\RBF_Test.m
............此处省略607个文件信息
相关资源
- 光场深度估计MATLAB源代码
- [控制系统计算机辅助设计:MATLAB语言
- 机器人控制系统设计与matlab仿真程序
- 机器人控制系统的设计与MATLAB仿真第
- 精通MATLAB7编程与数据库应用_部分1
- 二阶锁相环Matlab程序及其FPGA程序
- 机器人控制系统的设计与MATLAB仿真
- 《模式识别与智能计算:MATLAB技术实
- 音频检索的matlab代码
- 通信原理MATLAB仿真教程
- 智能预测控制及其MATLAB实现_
- 高等光学仿真MATLAB版_完整版.pdf
- MATLAB遗传算法工具箱及应用 包含PDF电
- 卡尔曼滤波原理及matlab仿真含程序
- matlab机器人工具箱10.3.1
- MATLAB GUI设计学习手记第二版源程序
- MATLAB数字信号处理与应用 张德丰 清华
- 数字图像处理MATLAB版(中文版)
- 两个经典的多目标优化算法代码:N
-
Simuli
nk/ RTW工具箱 - 机器学习与MATLAB代码
- 数学建模与数学实验_汪晓银_周保平电
- 图像配准技术及MATLAB编程实现_陈显毅
- matlab2016B robotics toolbox
- 问道量化投资---用MATLAB来敲门
- 机器人避障航路规划蚁群算法MATLAB仿
- 精通MATLAB最优化计算第2版.pdf
- 数值方法(MATLAB版)(第四版)中文
- MATLAB程序设计教程 刘卫国主编
- Matlab火焰烟雾检测(GUI).zip
评论
共有 条评论