某大神用matlab写了D调《卡农》,之后出现了《最炫民族风》、《突然的自我》等。今天闲着没事写了一个《青花瓷》的,纯粹改的《卡农》,只是针对这首歌在程序里加了附点音符和二分音符,并且改成A调,只可惜后半部分转降B没做出来。不废话了,上程序!大家轻点拍砖。。。

fs = 44100; % sample rate

dt = 1/fs;

T16 = 0.25;

t16 = [0:dt:T16];

[temp k] = size(t16);

t8=linspace(0,2*T16,2*k);

t8fd=linspace(0,3*T16,3*k);

t4=linspace(0,4*T16,4*k);

t4fd=linspace(0,5*T16,5*k);

t2fd=linspace(0,7*T16,7*k);

t2=linspace(0,6*T16,6*k);

[temp i] = size(t4);

[temp j] = size(t8);

% Modification functions

mod2 = sin(pi*t2/t2(end));

mod2fd=sin(pi*t2fd/t2fd(end));

mod4 = sin(pi*t4/t4(end));

mod4fd=sin(pi*t4fd/t4fd(end));

mod8 = sin(pi*t8/t8(end));

mod8fd=sin(pi*t8fd/t8fd(end));

mod16 = sin(pi*t16/t16(end));

f0 = 2*146.8; % reference frequency

ScaleTable = 3*[2/3 3/4 5/6 15/16 ...

1 9/8 5/4 4/3 3/2 5/3 9/5 15/8 ...

2 9/4 5/2 8/3 3 10/3 15/4 4 ...

1/2 9/16 5/8]/((2^(1/12)))^5;

% half note

do1h = mod2.*cos(2*pi*ScaleTable(5)*f0*t2);

% dotted minim

so1hfd = mod2fd.*cos(2*pi*ScaleTable(9)*f0*t2fd);

% quarter note

do0f = mod4.*cos(2*pi*ScaleTable(21)*f0*t4);

re0f = mod4.*cos(2*pi*ScaleTable(22)*f0*t4);

mi0f = mod4.*cos(2*pi*ScaleTable(23)*f0*t4);

fa0f = mod4.*cos(2*pi*ScaleTable(1)*f0*t4);

so0f = mod4.*cos(2*pi*ScaleTable(2)*f0*t4);

la0f = mod4.*cos(2*pi*ScaleTable(3)*f0*t4);

ti0f = mod4.*cos(2*pi*ScaleTable(4)*f0*t4);

do1f = mod4.*cos(2*pi*ScaleTable(5)*f0*t4);

re1f = mod4.*cos(2*pi*ScaleTable(6)*f0*t4);

mi1f = mod4.*cos(2*pi*ScaleTable(7)*f0*t4);

fa1f = mod4.*cos(2*pi*ScaleTable(8)*f0*t4);

so1f = mod4.*cos(2*pi*ScaleTable(9)*f0*t4);

la1f = mod4.*cos(2*pi*ScaleTable(10)*f0*t4);

tb1f &#

matlab写音符,用matlab演奏《青花瓷》相关推荐

  1. MATLAB写歌曲(艺术与科学的 MEET)

    MATLAB写歌曲(艺术与科学的 MEET) 本人认为用 matlab 可以极大锻炼对于音乐和艺术的理性科学认识,我编的这个是孙燕姿的<遇见>,以表达这种艺术和科学的完美邂逅. 理解这样一 ...

  2. 归并有效排序算法matlab,科学网—[用MATLAB写算法]之排序算法2)归并排序merge sort - 徐勇刚的博文...

    归并排序(merge sort)是一种利用分治策略(divide and conquer)进行排序的算法,算法复杂度为 $\Theta (nlog_{2}n)$ . filename: merge_s ...

  3. 基于深度学习的手写数字识别Matlab实现

    基于深度学习的手写数字识别Matlab实现 1.网络设计 2. 训练方法 3.实验结果 4.实验结果分析 5.结论 1.网络设计 1.1 CNN(特征提取网络+分类网络) 随着深度学习的迅猛发展,其应 ...

  4. 在matlab中 编程n,Matlab与C++混合编程 1--在C++中调用自己写的matlab函数

    在Visual Studio中使用C++中调用MATLAB程序 在matlab中可以通过mbuild工具将.m文件编译成dll文件供外部的C++程序调用,这样就可以实现matlab和C++混合编程的目 ...

  5. 用MATLAB写一个自动生成福利彩票双色球号码的程序

    用MATLAB写一个自动生成福利彩票双色球号码的程序 规则 红色球:1-33号任选6个 蓝色球:1-16号任选1个 red = randi([1,33],1,6); disp('红色球'); fpri ...

  6. Matlab写出三角波,matlab生成三角波数据

    学习并研究方波和三角波信号的卷积有关理论; 3.利用 Matlab 编程,完成方波和三角波信号的卷积及卷积过程演示课题; 4.写出课程设计报告,打印程序,给出运行结果.... 学习并研究方波和三角波信 ...

  7. MATLAB写的三维魔方解算GUI 两种算法(Thistlethwaite算法和Kociemba算法)

    大二的时候,没什么事情,打算用MATLAB做一个三阶魔方机器人,所以使用GUI做了个上位机,使用MATLAB编写的3阶魔方GUI,可以实现魔方状态设置(始末状态都可以设置),使用 patch 实现的魔 ...

  8. matlab写hdf文件(含地理信息文件hdfeos)

    本文介绍matlab写hdf4和hdf5的一些方法.hdf的一些基础信息可以参考:https://sanwen8.cn/p/1fcFE9f.html 1.matlab写hdf4文件 通常有两种方法: ...

  9. 用Matlab写脚本求解线性方程组,让大家拥有一个线性方程组计算器

    用Matlab写脚本求解线性方程组,让大家拥有一个线性方程组计算器 有句话说的好:一个合格的程序员,不会写出"摧毁地球"的方法.他会写一个方法叫"摧毁行星",然 ...

最新文章

  1. 四大发明之活字印刷——面向对象思想的胜利
  2. js String方法集合
  3. 企业系统门户需要哪些模块_灵活用工平台SAAS系统有哪些功能模块
  4. 面试官问:能否模拟实现JS的new操作符(高频考点)
  5. 从0基础学Python:装饰器及练习(基础)
  6. 写在32岁年龄的开始
  7. php的Allowed memory size of 134217728 bytes exhausted问题解决办法
  8. mybatis开发中遇到的小问题
  9. 如何刷机android手机,安卓手机如何刷机
  10. ANSYS Workbench网格划分具体数值方法
  11. 第一次使用GeoLite2-City.mmdb的经历---通过ip地址获取经纬度以及该ip地址所属地区
  12. Linux版本查看及PS1配置
  13. 从 Semi-Norms(准范数) 到 Norms(范数)
  14. linux下将8bit二值位图转化为1bit单色位图【C/C++】
  15. LPMS-B2 数据采集源码分析
  16. PHP实现文件上传功能实例代码
  17. 解决java.util.LinkedHashMap cannot be cast to xxx(domain实体类)的问题
  18. MIPS微程序CPU设计
  19. python删除相似度高的图片
  20. 我国数据安全法详细解读

热门文章

  1. SAP S/4 HANA Cloud实施方法论
  2. 跨年倒计时,快用Python给她写朵唯一的花吧
  3. SSH 服务器拒绝了密码, 请再试一次
  4. 清除WebSphere中jsp缓存
  5. 横滨中文离线地图App上线
  6. Awesome Public Datasets
  7. 资源网站分享之沃的资源网
  8. ERR_CONNECTION_RESET
  9. 名字测试匹配度软件,姓名测试缘分配对:测试两人关系匹配度是怎样的
  10. MVC模式 单一入口