ScaleTable matlab,【转】用matlab跑一下下面的程序,带上耳机,你会有发现一些惊喜噢...

% Cripple Pachebel's Canon on Matlab

% Have fun

fs = 44100; % sample rate

dt = 1/fs;

T16 = 0.125;

t16 = [0:dt:T16];

[temp k] = size(t16);

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

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

[temp i] = size(t4);

[temp j] = size(t8);

% Modification functions

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

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

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

f0 = 2*146.8; % reference frequency

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

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);

re1e = mod8.*cos(2*pi*ScaleTable(6)*f0*t8);

mi1e = mod8.*cos(2*pi*ScaleTable(7)*f0*t8);

fa1e = mod8.*cos(2*pi*ScaleTable(8)*f0*t8);

so1e = mod8.*cos(2*pi*ScaleTable(9)*f0*t8);

la1e = mod8.*cos(2*pi*ScaleTable(10)*f0*t8);

tb1e = mod8.*cos(2*pi*ScaleTable(11)*f0*t8);

ti1e = mod8.*cos(2*pi*ScaleTable(12)*f0*t8);

do2e = mod8.*cos(2*pi*ScaleTable(13)*f0*t8);

re2e = mod8.*cos(2*pi*ScaleTable(14)*f0*t8);

mi2e = mod8.*cos(2*pi*ScaleTable(15)*f0*t8);

fa2e = mod8.*cos(2*pi*ScaleTable(16)*f0*t8);

so2e = mod8.*cos(2*pi*ScaleTable(17)*f0*t8);

la2e = mod8.*cos(2*pi*ScaleTable(18)*f0*t8);

ti2e = mod8.*cos(2*pi*ScaleTable(19)*f0*t8);

do3e = mod8.*cos(2*pi*ScaleTable(20)*f0*t8);

blke = zeros(1,j);

% 1/16 notes

fa0s = mod16.*cos(2*pi*ScaleTable(1)*f0*t16);

so0s = mod16.*cos(2*pi*ScaleTable(2)*f0*t16);

la0s = mod16.*cos(2*pi*ScaleTable(3)*f0*t16);

ti0s = mod16.*cos(2*pi*ScaleTable(4)*f0*t16);

do1s = mod16.*cos(2*pi*ScaleTable(5)*f0*t16);

re1s = mod16.*cos(2*pi*ScaleTable(6)*f0*t16);

mi1s = mod16.*cos(2*pi*ScaleTable(7)*f0*t16);

fa1s = mod16.*cos(2*pi*ScaleTable(8)*f0*t16);

so1s = mod16.*cos(2*pi*ScaleTable(9)*f0*t16);

la1s = mod16.*cos(2*pi*ScaleTable(10)*f0*t16);

tb1s = mod16.*cos(2*pi*ScaleTable(11)*f0*t16);

ti1s = mod16.*cos(2*pi*ScaleTable(12)*f0*t16);

do2s = mod16.*cos(2*pi*ScaleTable(13)*f0*t16);

re2s = mod16.*cos(2*pi*ScaleTable(14)*f0*t16);

mi2s = mod16.*cos(2*pi*ScaleTable(15)*f0*t16);

fa2s = mod16.*cos(2*pi*ScaleTable(16)*f0*t16);

so2s = mod16.*cos(2*pi*ScaleTable(17)*f0*t16);

la2s = mod16.*cos(2*pi*ScaleTable(18)*f0*t16);

ti2s = mod16.*cos(2*pi*ScaleTable(19)*f0*t16);

do3s = mod16.*cos(2*pi*ScaleTable(20)*f0*t16);

blks = zeros(1,k);

% Blank Block

blkblock = [blkf blkf blkf

blkf blkf blkf blkf

blkf...

blkf blkf

blkf blkf blkf blkf blkf

blkf];

% Base Melody

cello = [do1f do1f so0f

so0f la0f la0f mi0f

mi0f...

fa0f fa0f

do0f do0f fa0f fa0f so0f

so0f];

% So-FUCKING-Long Melody

violin = [mi2f mi2f re2f

re2f do2f do2f ti1f

ti1f...

la1f la1f

so1f so1f la1f la1f ti1f ti1f

...%

do2f do2f

ti1f ti1f la1f la1f so1f

so1f...

fa1f fa1f

mi1f mi1f fa1f fa1f re1f re1f

...%

do1f mi1f

so1f fa1f mi1f do1f mi1f

re1f...

do1f la0f

do1f so1f fa1f la1f so1f

fa1f...%

mi1f do1f

re1f ti1f do2f mi2f so2f

so1f...

la1f fa1f

so1f mi1f do1f do2f blkf blke

ti1e ...%

do2e ti1e

do2e do1e ti0e so1e re1e

mi1e...

do1e do2e

ti1e la1e ti1e mi2e so2e

la2e...

fa2e mi2e

re2e fa2e mi2e re2e do2e

ti1e...

la1e so1e

fa1e mi1e re1e fa1e mi1e re1e...

%%

do1e re1e

mi1e fa1e so1e re1e so1e

fa1e...

mi1e la1e

so1e fa1e so1e fa1e mi1e

re1e...

do1e la0e

la1e ti1e do2e ti1e la1e

so1e...

fa1e mi1e

re1e la1e so1e la1e so1e

fa1e...%

mi1f mi2e

blke re2f re2f blkf do1f mi2f

mi2f...

la2f la2f

so2f so2f la2f la2f ti2f

ti2f...%

do3e blke

do2e blke ti1f ti1f blkf la1f

do2f do2f...

do2f do2f

do2f do2f do2f fa2f re2f

so2f...%

so2e mi2s

fa2s so2e mi2s fa2s so2s so1s la1s ti1s ...

do2s re2s

mi2s fa2s mi2e do2s re2s...

mi2e mi1s

fa1s so1s la1s so1s fa1s so1s mi1s fa1s so1s...

fa1e la1s

so1s fa1e mi1s re1s mi1s re1s do1s re1s mi1s fa1s so1s

la1s...

fa2e la1s

so1s la1e ti1s do2s so1s la1s ti1s do2s re2s mi2s fa2s

so2s...%

mi2e do2s

re2s mi2e re2s do2s re2s ti1s do2s re2s mi2s re2s do2s

ti1s...

do2e la1s

ti1s do2e do1s re1s mi1s fa1s mi1s re1s mi1s do2s ti1s

do2s...

la1e do2s

ti1s la1e so1s fa1s so1s fa1s mi1s fa1s so1s la1s ti1s

do2s...

la2e do2s

ti1s do2e ti1s la1s ti1s do2s re2s do2s ti1s do1s la1s

ti1s...%%

do2e blke

blkf ti1e blke blkf la1e blke blkf do2e blke

blkf...

do1e blke

blkf do1e blke blkf do1e blke blkf do1e blke

blkf...%

blkf so1e

blke blkf so1e blke blkf mi1e blke blkf so1e

blke...

blkf fa1e

blke blkf mi1e blke blkf fa1e blke blkf re2e

blke...%

mi2e mi1e

fa1e mi1e re1e re2e mi2e re2e do2e mi1e do1e do2e ti1e so0e fa0e

so0e...

la0e la1e

so1e la1e so1e so0e fa0e so0e do1e la1e so1e la1e ti1e ti0e la0e

ti0e...%

do1e do2e

re2e do2e ti1e ti0e do1e ti0e la0e la1e so1e la1e ti1e ti0e mi1e

re1e...

do1e do2e

re2e fa2e mi2e mi1e so1e mi2e do2e fa2e mi2e fa2e re2e so1e fa1e

so1e...%

mi1e so1e

so1e so1e so1e so1e so1e so1e mi1e mi1e mi1e mi1e mi1e mi1e so1e

so1e...

fa1e fa1e

fa1e do2e do2e do2e do2e do2e do2e do2e la1e la1e so1e so1e re2e

ti1e...%%

so1e mi2e

mi2e mi2e re2e re2e re2e re2e do2e do2e do2e do2e so2e so2e so2e

so2e...

la2e la2e

la2e la2e so2e so2e so2e so2e la2e la2e la2e la2e ti2e ti1e ti1e

ti1e...%

do2e do1s

re1s mi1e do1e ti0e ti1s do2s re2e ti1e la1e la0s ti0s do1e la0e

ti0e so1s fa1s mi1e re1e...

do1e mi1s

re1s do1e fa1e mi1e do1s re1s mi1e so1e fa1e la1s so1s fa1e mi1e

re1e so1s fa1s mi1e re1e...%

mi1e do2s

ti1s do2e mi1e so1e so1s la1s ti1e so1e mi1e do2s re2s mi2e do2e

mi2e mi2s re2s do2e ti1e...

la1e la1s

so1s la1e ti1e do2e mi2s re2s do2e mi2e fa2e do2s ti1s la1e la1e

so1e re1e so1e so1e...%

so1f so1f

so1f so1f do1f do1f do1f

so1f...

fa1f fa1f

so1f so1f fa1f do1f do1f do1e

ti0e...%

do1f do2f

ti1f ti1f la1f la1f so1f

so1f...

do1f do1e

re1e mi1f mi1f do2f do2f ti1f

ti1f...%%

do2f];

% cello

c1 = [cello cello cello cello cello...

cello cello cello cello

cello...

cello cello cello cello

cello...

cello cello cello cello

cello...

cello cello cello blkf];

% violin1

v1 = [blkblock violin blkblock blkblock];

% violin2

v2 = [blkblock blkblock violin blkblock];

% violin3

v3 = [blkblock blkblock blkblock violin];

% Get dirty

s = c1+v1+v2+v3;

s = s/max(s);

sound(s,fs);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值