工程信号与系统大作业文字
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工程信号与系统
大作业
——音频信号频谱
分析比较
学院:电子工程学院
班级:1402018
姓名:***
学号:***********
一、大作业要求:
以下的内容,给出过程描述,原理分析,数据图表及分析。
1录制自己一段语音,分析其频谱特点。
2录制一段自己唱的歌曲,并与歌星唱的相同歌曲作频谱分析的比较(背景唱的去除)。
二、Matlab处理音频信号及歌曲背景音乐的去除
1.设计方案:
语音波形图是语音信号的时域分析,将语音信号记录成时域波形。语音信号首先是一个时间序列,进行语音分析时,最直观的就是它的时域波形。通过计算机的采样的量化,直接将语音波形显示出来。
利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析。
利用matlab简单的函数可以完成对自己声音的录制,保存,利用第二个任务用到的程序可以完成对其频谱图的绘制。
对于歌手所唱歌曲背景音乐的去除,用Adobe Audition 软件来实现。具体步骤如下:
【第一步】打开AA,切换到多轨模式,选择“插入”栏下的“提取视频中的音频”,或者直接右键单击轨道,选择“插入”→“提取音频”,选择你要消声的音频片段。
【第二步】切换到单轨模式。
【第三步】选中一段没有人声的纯背景音乐部分,然后点击工具栏中的“效果”→“修复”→“降噪器(进程)。
【第四步】选择降噪器界面内的“获取特性”,就会自动获取噪音特性,然后就会出现这个界面
【第五步】取消选定特定区域,或者全部选中你要消除背景音乐的区域,再通过点击“效果”→“修复”→“降噪器(进程)”,此时又会出现降噪器界面了,这时候要注意界面内的“降噪级别”这一栏。
【第六步】全部调整好了之后,你就可以把它另存为了。
2.自己声音信号的获取:
利用录音机录下自己一段话音,并用格式工厂转化成wav格式音频,放入目标文件夹方便调用。
3.音频信号读入和播放
可支持两种格式的输入输出:NeST/SUN(后缀为“.au”)和Microsoft WAV文件(后缀为“.wav”)。本文采用的是WAV声音文件]。
wavread用于读取Microsoft的扩展名为“.wav”的声音文件,其调用格式如下:
y=wavread(file)
其作用是从字符串file所指定的文件路径读取wave文件,将读取的采样数据送到y中。若file中无“.wav”扩展名,则该命令自动将指定文件名后加上“.wav”扩展名。
[y,fs,nbits]=wavread(file);
其作用是返回采样率和每个采样的比特数。
4.MATLAB实现音频信号的频谱分析及可视化
a.对音频信号进行频谱分析要调用fft(快速傅立叶变换),调用格式:
y=fft(x);
y=fft(x)利用FFT算法计算矢量x的离散傅立叶变换,当x为矩阵时,y为矩阵x的每一列的FFT。当x的长度为2的冥次方时,则fft采用基-2FFT算法,否则采用稍慢的混合基算法。
实现幅度响应要调用求绝对值或幅值函数,调用格式:m=abs(h);
b.频谱可视化要调用plot函数,调用格式:
plot(x)
用mean和var函数可求得信号均值和方差。
三、程序设计:
1.用matlab录取自己的声音并绘制数据波形及频谱图[x1,Fs,bits]=wavread('H:\信号音频\huayin.wav'); subplot(211);
plot(x1);
title('我的话音信号');
xlabel('时间n');
ylabel('音量n');
y1=fft(x1);
y1=fftshift(y1);
c1 = Fs/length(x1);
subplot(212);
plot([-Fs/2:c1: Fs/2-c1],abs(y1));
title('我的话音信号频谱');
结果如图一所示:
图一
2.我的语音信号及频谱分析程序
[x1,Fs,bits]=wavread('H:信号音频\杨宁.wav'); subplot(211);
plot(x1);
title('杨宁的歌曲信号');
xlabel('时间n');
ylabel('音量n');
y1=fft(x1);
y1=fftshift(y1);
c1 = Fs/length(x1);
subplot(212);
plot([-Fs/2:c1: Fs/2-c1],abs(y1));
title('杨宁的歌曲信号的频谱');
结果如图二:
图二
3.歌手的语音信号及频谱分析程序
[x1,Fs,bits]=wavread('H:信号音频\chenyixun.wav'); subplot(211);
plot(x1);
title('歌手的歌曲信号');
xlabel('时间n');
ylabel('音量n');
y1=fft(x1);
y1=fftshift(y1);
c1 = Fs/length(x1);
subplot(212);
plot([-Fs/2:c1: Fs/2-c1],abs(y1));
title('陈奕迅的歌曲信号的频谱');
结果如图三:
图三
4.三个音频的均值及方差:
[x,fs,bits]=wavread('H:\信号音频\huayin.wav'); [x,fs,bits]=wavread('H:信号音频\杨宁.wav');%将杨宁.wav打开
[y,fs,bits]=wavread('H:信号音频\chenyixun.wav');%将chenyixun.wav打开
M=mean(x)