基于声卡与MATLAB的音频分析
1.引言
噪音的振动是很杂乱的,幅度变化很大,音乐中大多是“乐音”,可称的上是有周期性的振动,所以听起来就觉得很好听,至少耳朵不会觉得不舒服,噪音就不同了,往往使人厌烦、头昏脑涨。由此本文将利用matlab计算机软件对噪音与乐音的音频进行处理和分析,以提供理论数据依据。
2.试验系统组成
音信号的采集与分析系统分为采集系统与分析系统两部分,其中分析系统就是计算机和相应的计算机软件。计算机可以是专用机,更多的是使用PC机或笔记本。分析软件有专用软件和个人软件。一个完整的语音信号采集分析系统应有声电传感器(话筒)、数据采集卡、处理器(计算机)、软件系统等几部分组成。本文将专用的数据采集卡用计算机声卡代替,分析软件用MATLAB编程。
3.程序设计
[y,Fs]= wavread('music')
sound(y,Fs)
y=y(:,1)
figure(1)
sigLength=length(y)
t=(0:length(y)-1)/Fs
subplot(3,1,1);plot(t,y);xlabel('Times(s)')
grid on
n=0:sigLength-1
Y=fft(y,length(y));
mag=abs(Y)
f=Fs*n/sigLength
subplot(3,1,2);plot(f,abs(Y))
sound(y,Fs)
xlabel('Freq(Hz)')
grid on
subplot(3,1.3)
subplot(3,1,3)
plot(f,abs(Y))
4数据分析
在MATLAB的Commandwindow窗口中,用音频读取函数wavread读取采集的数据并换名存储到work中,再次读取时,用loadname将数据加载即可,此时读取的数据已在MATLAB的workspace中了。
在Command中输入plot(name)回车,或在workspace中右击要预览的数据文件名,即可进行数据打开、波形预览、特殊二维绘图及删除、重新存盘等各种操作。
5.结语
语音信号是基于时间轴上的一维数字信号,在这里主要是对语音信进行频域上的分析。在信号分析中,频域往往包含了更多的信息。对于各种波形,我们都可以用一种方法来分析,就是傅立叶变换:将时域的波形转化到频域来分析。于是,本实验就从频域的角度对信号进行分析,并通过分析频谱来设计出合适的滤波器。当然,这些过程的实现都是在MATLAB软件上进行的,MATLAB软件在数字信号处理上发挥了相当大的优势。
6.参考文献
张雪英著《数字语音处理及matlab仿真》 电子工业出版社 2010
Steven W Smith 《实用数字信号处理-从原理到应用》人民邮电出社 2007
奥本海姆 《离散时间信号处理》西安交通大学出版社 1999
因篇幅问题不能全部显示,请点此查看更多更全内容