基于MATLAB的语音信号处理

第1章 语音信号的提取与播放

1.1提取

使用audioread()函数对语音信号进行提取;

[Vc,fs]=audioread('voice.wav');

说明: audioread:语音信号采集函数;
Vc:语音信号向量;
fs:语音信号频率;
‘voice.wav’:文件名与文件类型,需要和matlab的.m文件放在同一文件夹,或者使用语音文件的完整地址。

1.2播放

使用sound()函数进行语音的播放;

sound(Vc,fs);

说明:
Vc:需要播放的语音信号向量;
fs:需要播放的语音信号频率;(值可以自设,大于原频率则偏向于女声,小于原频率则倾向于男声。)

第2章 绘制语音信号的时域与频域图

2.1时域图:

Vc_N=length(Vc);			%音频信号采样数量
T=(Vc_N-1)/fs;				%音频信号时间长
t=0:1/fs:T;           		%时间序列

figure(1);      					%绘图1
plot(t,Vc);							%原始信号的时域波形Vc
title('语音信号的时域波形Vc(t)');	%图形标签
xlabel('t(s)'); ylabel('Vc');  		%xlabel:x轴标签;ylabel:y轴标签

2.2频域图:

Vc_f=fft(Vc);					%离散傅里叶变换

说明: Vc_f:傅里叶变换后的向量
Vc: 信号向量
Vc_f直接用来画图只能显示出基本趋势,需要进一步处理才能显示出频率与幅值的关系。

Vc_fFs=fs*(0:Vc_N/2)/Vc_N;			%频率向量  有效频率范围只有采样频率的一半
Vc_f1=abs(Vc_f/Vc_N);				%取绝对值
Vc_fr= Vc_f1(1:Vc_N/2+1);
Vc_fr(2:end-1) = 2* Vc_fr(2:end-1);	%除第一项都要加倍

数据处理完成,开始画图

figure(2);
plot(Vc_fFs,Vc_fr);						%原始信号的频域波形
title('原始信号的频域波形Vcfr(f)');		%图形标签
xlabel('f(hz)');  ylabel('Vcffr'); 	%xlabel:x轴标签;ylabel:y轴标签

第3章 两种音效

回声音效

变声音效

你可能感兴趣的:(Matlab,matlab,语音识别)