matlab 音乐信号处理,基于matlab的音乐信号处理和分析.doc
基于matlab的音乐信号处理和分析
1音乐信号的音谱和频谱的观察
使用windows下的录音机录制一段音乐信号或者采用其他软件截取一段音乐信号(要求:时间不超过5s,文件格式为WAV)
使用wavread语句读取音乐信号获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理);
输出音乐信号的波形和频谱,观察现象;
使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象
程序:
clear all;close all;clc
[y,fs,bit]=wavread('E:\music\11'); %读取音乐信号
size(y) %看音乐信号是双列还是单列
y1=y(:,1); %取单列
fs=fs %获取音乐信号的抽样率
N=length(y1); %音乐信号的长度
Fy1=fft(y1,N); %对信号做快速傅里叶变换
w=2/N*[0:N-1];
figure %画音乐信号的波形和频谱
subplot(2,1,1);plot(y1);
grid on
title('音乐信号的波形')
xlabel('time/s')
ylabel('Magnitude')
subplot(2,1,2);plot(w,abs(Fy1));
grid on
title('音乐信号的频谱')
xlabel('Frequency/pi')
ylabel('Magnitude')
sound(y1,fs) %以抽样率fs播放音乐信号
sound(y1,2*fs) %以抽样率2fs播放音乐信号
sound(y1,1/2*fs) %以抽样率1/2fs播放音乐信号
程序运行结果如下:
音乐信号的抽样率fs=44100
音乐信号的波形和频谱如下图:
抽样率较高时,听到的音乐音调较高,速度较快;抽样率较低时,听到的音乐音调低,速度慢。由此可知,音乐信号的音调和抽样率有关。
2音乐信号的抽取(减抽样)
观察音乐信号频率的上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠与非混叠);
输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释;
播放减抽样音乐信号,注意抽样率的改变,比较不同抽取间隔下的声音,解释现象。
音乐信号的频率上限为0.2pi,这里分别采用3和60作为非混叠与混叠的抽样间隔进行抽样,程序如下:
clear all;close all;clc
[y,fs,bit]=wavread('E:\music\22');%读取音乐信号
y1=y(:,1); %取单列
x1=y1(1:180000); %截取音乐信号
d=3;j=0;
for i=1:d:length(x1)
j=j+1;
x2(j)=x1(i);
end %对音乐信号以3为间隔做减抽样
N1=length(x1); %截断的音乐信号的长度
N2=length(x2); %以3为间隔减抽样后音乐信号的长度
Fx1=fft(x1,N1); %对截断信号做快速傅里叶变换
Fx2=fft(x2,N2); %对减抽样后的信号做快速傅里叶变换
w1=2/N1*[0:N1-1];
w2=2/N2*[0:N2-1];
figure %画出截断后的信号的波形和频谱
subplot(2,1,1);plot(x1);
grid on
title('截断后的波形')
xlabel('time/s')
ylabel('Magnitude')
subplot(2,1,2);plot(w1,abs(Fx1));
grid on
title('截断信号的频谱')
xlabel('Frequency/pi')
ylabel('Magnitude')
figure %画出以3为间隔减抽样后的信号的波形和频谱
subplot(2,1,1);plot(x2);
grid on
title('对截断信号以3为间隔减抽样后的波形')
xlabel('time/s')
ylabel('Magnitude')
subplot(2,1,2);plot(w2,abs(Fx2));
grid on
title('对截断信号以3为间
matlab 音乐信号处理,基于matlab的音乐信号处理和分析.doc相关推荐
- 【音乐】基于matlab演奏《过火》【含Matlab源码 1875期】
一.获取代码方式 获取代码方式1: [音乐]基于matlab演奏<过火>[含Matlab源码 1875期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代 ...
- 【音乐】基于matlab演奏《青花瓷》【含Matlab源码 1873期】
一.获取代码方式 获取代码方式1: [音乐]基于matlab演奏<青花瓷>[含Matlab源码 1873期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此 ...
- matlab的dft谱分析,数字信号处理基于matlab(用DFT作谱分析,窗函数的设计)
数字信号处理基于matlab(用DFT作谱分析,窗函数的设计) 1实验一用DFT作谱分析X11111X212344321N108X3COSN1PI/4N208X4SINN2PI/8FIGURESUBP ...
- matlab设计译码器,基于MATLAB的循环码编译码器设计与仿真.doc
扳昂旨螺冈唉陨裤外狸尿恨铸伸隧刽搅必勒诚天腑皖漂豌鲁靳碑缆键兽峙棘陶宽槐撒层僧袁廖颤渐魄货鼎躬薛扬衍逮西兰迫依煤鲁虐渠惫平合啥昭并屿己笆坍痞庐披吏去凄嘛兄察突徊溅今箩直藩潦咙锨谓崇若制匹扮复淌颐糖嗅你 ...
- 「电子万年历matlab仿真」——基于Matlab的电子万年历仿真实现
「电子万年历matlab仿真」--基于Matlab的电子万年历仿真实现 作为一种具有时间显示.日期查询.闹钟提醒等功能的电子产品,电子万年历已经成为了人们日常生活中不可或缺的一部分.而在现代科技的发展 ...
- c语言编写计算机软件,基于C语言的计算机软件编程分析.doc
基于C语言的计算机软件编程分析.doc 基于C语言的计算机软件编程分析 摘要:C语言是一种重要的编程语言,在当今IT业的运用十分广泛.使用C语言来编写的程序简单.直接.准确,极大地推动了计算机软件的更 ...
- matlab合成和弦,基于Matlab实现音乐识别与自动配置和声的功能.pdf
基于Matlab实现音乐识别与自动配置和声的功能 杨若芳,等 基于Matlab实现音乐识别与自动配置和声的功能 1 2 杨若芳 ,项 顶 1 (甘肃兰州城市学院教育学院 甘肃兰州,730070) 2 ...
- matlab加入混响,基于matlab音乐混响效果实现.pdf
基于matlab音乐混响效果实现 基于 MATLAB 的语音混响效果的设计与实现 班级:10 通信二班 姓名:彭海军 学号:14102301154 摘要 (中文) 数字信号处理(Digital Sig ...
- 基于matlab的有噪声语音信号处理,基于matlab的有噪声语音信号处理毕设
基于matlab的有噪声语音信号处理毕设 - I - I 大学本科毕业设计论文 基于MATLAB的有噪声语音信号处理- II - II 摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR 数字 ...
最新文章
- Bash之break、continue和return命令在循环中的作用
- 一文看尽4种SLAM中零空间的维护方法
- Error in eval(predvars, data, env) : object ‘**‘ not found
- mysql explain语句_Mysql explain 语句详解
- Android系统架构开篇
- 前端大神:如何看待 React Server Components?
- 什么软件可以让头发变黑_头发特别干枯毛躁,请问什么方法可以让头发恢复到顺滑状态?...
- Ural_1225 Flags
- 中南大学计算机学院伍逸凡,关于公布2017年湖南省大学生力学竞赛等15项学科竞赛结果的通知...
- 修改文件属性与权限(鸟哥linux私房菜)
- OSAL操作系统分析(添加自定义任务)
- python 模拟登陆QQ空间
- OmniPlayer Pro for Mac(全能视频播放器)
- IP地址管理常见功能解析
- 微信扫一扫(wx.scanQRCode)功能新手可能遇到的问题
- 记一次计算机课作文,记一次课堂活动作文500字
- 《天池精准医疗大赛-人工智能辅助糖尿病遗传风险预测》模型复现和数据挖掘-论文_企业
- 【已解决】【高速版】如何显示(扫描)局域网中所有的在线主机IP及MAC地址?
- 贵州有哪些魅力,为何阿里、华为、腾讯都把数据中心建在贵州?
- 高精度脚印效果制作原理