% [x,Fs] = audioread('DJF0.wav');
% % y=abs(hilbert(x));
% % plot(y);title('解调信号');
%
% % fs=30;
% t=0:1/Fs:13.306;
% x6=x;
% x66 = hilbert(x6);
% xx = abs(x66+j*x6);
% figure(1)
% hold on
% plot(t,x6);
% plot(t,xx,'r')
% xlim([0 5])
% hold off
% % 包络算法,未考虑边界条件
% d = diff(x6);
% n = length(d);
% d1 = d(1:n-1);
% d2 = d(2:n);
% indmin = find(d1.*d2<0 & d1<0)+1;
% indmax = find(d1.*d2<0 & d1>0)+1;
% envmin = spline(t(indmin),x6(indmin),t);
% envmax = spline(t(indmax),x6(indmax),t);
% figure
% hold on
% plot(t,x6);
% plot(t,envmin,'r');
% plot(t,envmax,'m');
% hold off
% xlim([0 5])
clc,clear;
% c=readmidi('潇洒走一回MIDI.mid');
c=readmidi('res.mid');
b=melcontour(c,0.25,'abs'); %% 0.25拍每个点,即每0.25beat取一个点
plot(b);%%画出旋律轮廓(melodic contour),画出F0;
d=midi2hz(b);%把从midi格式代表的音高转换为频率,基频;
gettempo(c);%得到文件中音乐的bpm 即每分钟多少拍;从而可以计算出每秒多少拍,即音乐频率
%在“潇洒走一回”音乐中,得到1beat对应2Hz,
%则在midi文件中,因为每0.25beat取1个点,则计算得到对应8Hz(合成时需要的fs)
save mydata b;
从乐谱中提取基音频率matlab代码.zip.zip
版权申诉
99 浏览量
2023-10-21
09:39:46
上传
评论
收藏 3KB ZIP 举报
2201_75761617
- 粉丝: 19
- 资源: 7339
最新资源
- Picasso_v3.1 2.ipa
- chromedriver-mac-arm64.zip
- 蓝zapro.apk
- chromedriver-linux64.zip
- UCAS研一深度学习实验-MNIST手写数字识别python源码+详细注释(高分项目)
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- 基于SVM多特征融合的微表情识别python源码+项目说明+详细注释(高分课程设计)
- html动态爱心代码一(附源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈