声音matest.m
来自「自己编写的一个用matlab实现的 语音的合成算法!!加噪去噪都可行!好用」· M 代码 · 共 42 行
M
42 行
%语音信号采集、处理、传输、显示
[y,fs,bite]=wavread('ma.wav',[1,520000]);
%采集语音信号
sound(y,fs,bite);
% sound(y,3*fs);
%回放语音信号
figure(1);
plot(y);
title('原语音信号时间幅度图');
[Y]=fft(y,409600);
figure(2);
plot(abs(Y));
title('原语音信号频谱图');
prompt={'输入噪声强度(标准差)','输入持续时间/s'};
titles='参数选择';
def={'0.08','5'};
answer= inputdlg(prompt, titles, 1, def);
var=str2num(answer{1});
duration=str2num(answer{2});
n=duration*fs;
noise= var*randn(n,1);
%sound(noise,fs,bite);
len=length(y);
lnoise=length(noise);
if lnoise>len
v=[y(:,1);zeros(abs(lnoise-len),1)];
wave_change= v+ noise;
else
v=[noise(:,1);zeros(abs(lnoise-len),1)];
wave_change= v+ y(:,1);
end
% sound(wave_change,fs,bite);
figure(3);
plot(wave_change);
title('叠加噪声的语音信号时间幅度图');
[Y]=fft(wave_change,409600);
figure(4);
plot(abs(Y));
title('叠加噪声的语音信号频谱图');
%sound(wave_change,3*fs);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?