matlab演奏七里香,沈员外,起风了,未闻花名,卡农

这篇博客分享了一种使用MATLAB编程演奏音乐的方法,通过网络整理的程序,实现了用MATLAB演奏《七里香》、《沈员外》、《起风了》、《未闻花名》和《卡农》等多首经典曲目,提供了一个独特的编程与音乐结合的娱乐方式。
摘要由CSDN通过智能技术生成
%%%%%%----MATLAB演奏七里香-----%%%%%
fs = 44100;
dt = 1/fs;
T16 = 0.2;
t16 = [0:dt:T16];

[temp k] = size(t16);
t2 = linspace(0,8*T16,8*k);
t3 = linspace(0,7*T16,7*k);%7/16拍
t4_25=linspace(0,5*T16,5*k);%5/16拍
t4 = linspace(0,4*T16,4*k);
t6 = linspace(0,3*T16,3*k);%3/16拍
t8 = linspace(0,2*T16,2*k);
[temp i] = size(t4);
[temp j] = size(t8);

mod2 = sin(pi*t2/t2(end));
mod3= sin(pi*t3/t3(end));
mod4 = sin(pi*t4/t4(end));
mod4_25= sin(pi*t4_25/t4_25(end));
mod6 = sin(pi*t6/t6(end));
mod8 = sin(pi*t8/t8(end));
mod16 = sin(pi*t16/t16(end));
f0 = 2*146.8;
ScaleTable = [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];

% 1/4 notes
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 = mod4.*cos(2*pi*ScaleTable(11)*f0*t4);
ti1f = mod4.*cos(2*pi*ScaleTable(12)*f0*t4);
do2f = mod4.*cos(2*pi*ScaleTable(13)*f0*t4);
re2f = mod4.*cos(2*pi*ScaleTable(14)*f0*t4);
mi2f = mod4.*cos(2*pi*ScaleTable(15)*f0*t4);
fa2f = mod4.*cos(2*pi*ScaleTable(16)*f0*t4);
so2f = mod4.*cos(2*pi*ScaleTable(17)*f0*t4);
la2f = mod4.*cos(2*pi*ScaleTable(18)*f0*t4);
ti2f = mod4.*cos(2*pi*ScaleTable(19)*f0*t4);
do3f = mod4.*cos(2*pi*ScaleTable(20)*f0*t4);
blkf = zeros(1,i);

% 1/8 notes
do0e = mod8.*cos(2*pi*ScaleTable(21)*f0*t8);
fa0e = mod8.*cos(2*pi*ScaleTable(1)*f0*t8);
so0e = mod8.*cos(2*pi*ScaleTable(2)*f0*t8);
la0e = mod8.*cos(2*pi*ScaleTable(3)*f0*t8);
ti0e = mod8.*cos(2*pi*ScaleTable(4)*f0*t8);
do1e = mod8.*cos(2*pi*ScaleTable(5)*f0*t8);
do1_6 = mod6.*cos(2*pi*ScaleTable(5)*f0*t6);
re1e = mod8.*cos(2*pi*ScaleTable(6)*f0*t8);
mi1e = mod8.*cos(2*pi*ScaleTable(7)*f0*t8);
mi1_6= mod6.*cos(2*pi*ScaleTable(7)*f0*t6);
fa1e = mod8.*cos(2*pi*ScaleTable(8)*f0*t8);
fa1_6=mod6.*cos(2*pi*ScaleTable(8)*f0*t6);
so1e = mod8.*cos(2*pi*ScaleTable(9)*f0*t8);
so1_2= mod2.*cos(2*pi*ScaleTable(9)*f0*t2);
so1_3= mod3.*cos(2*pi*ScaleTable(9)*f
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林小夕之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值