音频的采集及分析处理文档格式.docx
《音频的采集及分析处理文档格式.docx》由会员分享,可在线阅读,更多相关《音频的采集及分析处理文档格式.docx(10页珍藏版)》请在冰点文库上搜索。
首先是语音信号的采集,利用录音软件录取三个实验者的声音。
其次是对录取的语音信号进行格式的转换,统一转换为MP3格式。
最后是利用MATLAB对语音信号进行时域和频域分析与处理。
项目最终研究结果成功将采集的人声区分,并通过改变采样频率对声音做了处理,使其相较与源语音发生了较大变化。
关键词:
语音采集,时域分析,频域分析,MATLAB
1、语音采集
1.1题目
Computercanconvertanalogsignalstodigitalsignalsbysamplingthevoiceorthevideo.Thesentenceof"
mechanicalengineeringmeasurementandcontroltechnology"
mustbereadbymorethan3peopleandberecordedundertheconditionofdifferentenvironmentalnoiseusingmicrophoneandsoundcardincomputer.
First,therecordedvoiceisconvertedintoadatafileASCIItextwiththehelpofprofessionalsoftware,thenspectrumanalysisisprocessedandthefigureintimedomainandfrequencydomainisdrawn.
Recordingsoftware,suchas:
蓝光影音MP3录音机
MatlabprogramofreadingMP3files:
mp3readwrite
Discussion:
1)
UnderstandthesamplingfrequencyanditseffectonqualityfortheAPE,MP3andWMAaudioformatfile.
2)
Howtosetthesamplingfrequency(采样频率)?
whatistheappropriatesamplinglength(采样长度)?
3)
Accordingtoyouranalysis,howtodistinguishspeechsoundofdifferentpeople?
4)
Whatmeasurescanbetakentomakeyourspeechsoundidentifieddifficultlybyothers?
1.2原始信号采集与处理
通过手机自带录音功能,录取三位实验者的“机械工程测试与控制系统”语句,得到三个语音文件‘zb.m4a’,‘hdh.m4a’,‘lxy.m4a’。
2、语音信号的分析处理
2.1语音格式转换
通过参考函数‘mp3write’,将m4a格式转换为mp3格式。
在读取语音文件时,注意到MATLABR2014版本函数库中有读取语音函数‘audioread’,该函数支持mp3格式语音的读取,所以在程序中没有使用提供的函数‘mp3read’。
转换完成保存。
2.2时域与频域的分析处理
对获取的信号绘制时域波形,并通过FFT绘制频域波形。
图
(1)实验者zb语音的时域波形和幅频谱图
图
(2)实验者hdh语音的时域波形和幅频谱图
图(3)实验者lxy语音的时域波形和幅频谱图
3、讨论
3.1采样频率的影响
采样时在模数转换过程中以一定规律,如时间间隔,对连续时间信号进行取值的过程。
其数学描述就是用间隔为Ts的周期单位脉冲序列g(t)去乘以模拟信号x(t)。
g(t)可写为
()
由函数性质可知
()
说明经时域采样后,各采样点的信号幅值为,其中Ts为采样间隔,为采样频率。
3.2采样频率的设置及采样长度的确定
通过MATLAB中函数获得录取语音的采样频率为48000Hz。
通过查阅资料知道人声音的频率一般是20~4000Hz,当Fs=48000Hz时,满足采样定理,所以这样设置采样频率合理。
根据图
(1)
(2)(3)可以看出,这样设置采样频率获得的图像时全保真的。
采样长度取决于录音的时间长短,但不易过短,过短不能完整体现整个语音长度的特征,过长会增加运算量,增加计算机负担。
3.3区分不同的声音
不同的实验者,其说话声音的响度和音调不同,反应到时域上就是信号幅值的不同,反应到频域上就是特征频率在频谱图上的分布不同。
三个实验者均为男生,录制环境为图书馆,通过图
(1)
(2)(3)可以看出,不同实验者时域图的区别即为振幅的差异,频域图的区别为声音特征频率的分布不同,三个实验者语音的特征频率分布大致集中在250Hz左右。
理论上,区分不同人声的主要靠特征频率的不同,但实验对象均为男生,音调比较接近,在频谱图上看不出太大区别,但每个人的音调是不能改编的,所以用频率特征区分不同人声比较准确。
虽然三个实验者的时域波形有较大差异,但只要改变讲话者的说话轻重,就能改变时域波形,所以时域特征不能用来区分不同的声音。
3.4让声音没有区分度的方法
利用改变采样频率的处理方法,可使源语音的特征频率改变。
如图
图(4)Fs=48000Hz时的时域图和频域图
图(5)Fs=60000Hz时的时域图和频域图
图(6)Fs=60000Hz时的时域图和频域图
通过对比图(4)(5)(6)中的频域图,可以看出随着采样频率的增大(减小),对应语音的特征频率也增大(减小),即语音的音调改变。
利用MATLAB中的函数‘sound’可明显的听出语音音调的变化。
致谢
感谢胡建中老师在测试系统学习方面给我的教导和帮助,在我做项目的过程中为我答疑解惑,解决难题,使我能够顺利完成项目内容。
参考文献:
1.贾平民,张洪亭主编.测试技术(第二版).北京:
高等教育出版社.2012.31-69
2.DanEllis,demo_mp3readwrite[EB/OL].2009.
附录:
matlab程序代码
[x,fs]=audioread('
zb.m4a'
);
mp3write(x,fs,'
zb.mp3'
)
%readmp3formatfile
Fs=48000;
%samplingfrequency
L=length(x);
t=(0:
L-1)/Fs;
subplot(211);
plot(t,x);
title('
zb.mp3waveformoftimedomain'
xlabel('
time/s'
ylabel('
amplitude'
Y=fft(x,L)*2;
f=Fs/L*(0:
1:
L-1);
A=abs(Y);
%amplitude
P=angle(Y);
%phase
subplot(212);
plot(f(1:
L/2),A(1:
L/2));
frequencyspectrumofFs=48000'
f(Hz)'
axis([040000200]);
sound(x,Fs);