搜索
bottom↓
回复: 62

MATLAB版的最炫民族风

  [复制链接]

出0入0汤圆

发表于 2012-5-23 10:33:16 | 显示全部楼层 |阅读模式
%不知道作者是谁,不过很强大,总之我是真心不懂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);


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Most shining national wind//最炫民族风 on Matlab
% The Modification is from "canon", not by me

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=(t4.^4).*exp(-30*(t4.^0.5));
mod4=mod4*(1/max(mod4));
mod8=(t8.^4).*exp(-50*(t8.^0.5));
mod8=mod8*(1/max(mod8));
mod16=(t16.^4).*exp(-90*(t16.^0.5));
mod16=mod16*(1/max(mod16));

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
do0e = mod8.*cos(2*pi*ScaleTable(21)*f0*t8);
re0e = mod8.*cos(2*pi*ScaleTable(22)*f0*t8);
mi0e = mod8.*cos(2*pi*ScaleTable(23)*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);
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
do0s = mod16.*cos(2*pi*ScaleTable(21)*f0*t16);
re0s = mod16.*cos(2*pi*ScaleTable(22)*f0*t16);
mi0s = mod16.*cos(2*pi*ScaleTable(23)*f0*t16);

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


% Melody by Schau_mal
part0 = [mi1f la0e la0e do1f mi1f ...
re1e re1s mi1s re1e do1e re1e do1e la0f ...
mi1f la0e la0e do1f mi1f ...
so1e re1s mi1s re1e do1e re1e do1e ti0e so0e ...
mi1f la0e la0e do1f mi1f ...
re1e re1s mi1s re1e do1e re1e do1e la0e so0e ...
mi1f la0e la0e do1f mi1f ...
so1e mi1e blkf blkf blkf ...
];

part1 = [la0f la0e so0e la0f la0e do1e ...
do1f re1e do1e la0f la0f ...
do1f do1e so0e do1e re1e mi1e so1e ...
so1e mi1e re1f mi1f mi1f ...
la1e la1e la1e so1e mi1e mi1f do1e ...
la0e la0e la0e mi1e re1s mi1s re1e re1f ...
mi1e mi1e so1e mi1e re1e mi1e re1e do1e ...
la0f so0f la0f la0f ...
];

part2 = [mi1e mi1e so1e mi1e mi1e so1e so1e la1e ...
do2e la1e so1f la1s do2s la1e la1f ...
la0f la0e so0e la0f do1f ...
re1e mi1s re1s do1e re1e mi1f mi1f ...
la0e la1e la1e so1e re1e mi1s re1s do1e re1e ...
mi1f mi1f blke blke blkf ...
do1e la0e la0e do1e re1f so0e so0e ...
mi1e so1e mi1e re1e do1f do1f ...
la0e do1e re1e mi1e re1e do1e so0e mi0e ...
la0f la0f blke blke blkf ...
];

part3 = [la0f la0e so0e la0f do1f ...
re1e mi1s re1s do1e re1e mi1f mi1f ...
la0e la1e la1e so1e re1e mi1s re1s do1e re1e ...
mi1f mi1f blke blke blkf ...
do1e la0e la0e do1e re1f so0e so0e ...
mi1e so1e mi1e re1e do1f do1e do1e ...
la0e do1e re1e mi1e so1e mi1e mi1e so1e ...
la1f la1f la1f la1f ...
];

part4 = [la1e la1s la1s la1e la1e la1e la1s so1s mi1e re1e ...
re1e re1s re1s mi1e mi1s so1s mi1e mi1s re1s do1e do1s la0s ...
la0f la0e so0e la0f la0e do1e ...
re1e mi1s re1s do1e re1e mi1f mi1f ...
la1e so1e mi1e re1e so1e mi1e re1e do1e ...
do1f do1f la0s do1s re1s mi1s re1s do1s la0s do1s
];

part5 = [do2e do2s do2s la1e la1s la1s so1e so1s so1s mi1e mi1s mi1s ...
re1e mi1s re1s do1e la0s so0s la0s so0s do1s re1s mi1s so1s la1s re2s ...
do2f do2f blks blks blks blks do1e re1e ...
mi1f mi1f mi1f so1e mi1e ...
la1f la1f la1e do1e so1e mi1e ...
re1f re1e re1s re1s re1e re1e do1e re1e ...
mi1f mi1e mi1s mi1s mi1e re1s do1s ti0e do1s re1s ...
mi1f mi1f mi1f so1e mi1e ...
do2f la1f la1f la1e do1e ...
re1f so1f so1f la1f ...
ti1f ti1f ti1f ti1f ...
];

part6 = [blkf blkf mi1e so1e mi1e so1e ...
mi1f la0e la0s la0s do1f la0e mi1s la0s ...
do1e do1s do1s re1e do1s re1s mi1f mi1f ...
mi1f la0e la0s la0s so1f re1e re1s re1s ...
mi1f mi1f mi1s re1s do1s la0s mi0s re0s mi0s so0s ...
do1f la0e la0s la0s re1f so0e so0s so0s ...
mi0f so0e so0s so0s do1f do1f ...
la0f do1e do1s la0s mi1e mi1s mi1s re1e re1s mi1s ...
];

% Combination, v1 is complete version, v2 is simple version.
v1 = [part0 part1 part1 part2 part3 part4 part0 part1 part1 part2 part3 part5 part3 part6 part3];
v2 = [part0 part1 part1 part2 part3 part5 part3 part6 part3];

% Let's rock ^_^
s = v1;
s = s/max(s);

sound(s,fs);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-5-23 10:35:53 | 显示全部楼层
楼主咋不整个视频呢,给一坨代码还要放在matlab里显示,忒麻烦!

出0入0汤圆

发表于 2012-5-23 12:24:04 | 显示全部楼层
有图不,呵呵

出0入0汤圆

发表于 2012-5-23 12:39:15 | 显示全部楼层
怎么是卡农。。。

出0入0汤圆

发表于 2012-5-23 20:42:15 | 显示全部楼层
求图。。。

出0入0汤圆

发表于 2012-5-23 20:49:46 | 显示全部楼层
是卡农 我靠 太牛逼了

出0入0汤圆

发表于 2012-5-23 20:50:11 | 显示全部楼层
作者注释里不是说了:% Cripple Pachebel's Canon on Matlab

出0入0汤圆

发表于 2012-5-23 21:20:34 | 显示全部楼层
最后确实是最炫民族风,坚持听完啊

出0入0汤圆

发表于 2012-5-25 00:08:12 | 显示全部楼层
犀利,牛逼!1!

出0入0汤圆

发表于 2012-5-25 01:10:35 | 显示全部楼层
又一个版本的卡农,挺好听的,果然是编出来的!有左右手音呢还。

出0入0汤圆

发表于 2012-5-25 12:34:11 | 显示全部楼层
最后也没有啊

出0入0汤圆

发表于 2012-5-25 12:47:48 | 显示全部楼层
不懂,不过貌似很牛逼

出0入0汤圆

发表于 2012-5-25 13:07:06 | 显示全部楼层
思维真发散

出0入0汤圆

发表于 2012-5-29 22:39:41 | 显示全部楼层
试了一下,NB哄哄的啊~

出0入0汤圆

发表于 2012-5-29 22:58:51 | 显示全部楼层

是卡农 + 最炫民族风



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-29 23:11:27 | 显示全部楼层
本人不会MATLAB,视频。。。

出0入0汤圆

发表于 2012-5-29 23:30:03 | 显示全部楼层
没有matlab啊

出0入0汤圆

发表于 2012-5-30 00:26:09 | 显示全部楼层
http://www.tudou.com/programs/view/FhlphpEVjp8/?fr=rec1

出0入0汤圆

发表于 2012-5-30 00:31:21 | 显示全部楼层
那个代码是放的音乐吗?

出0入0汤圆

发表于 2012-5-31 22:11:08 来自手机 | 显示全部楼层
先保存着,赶明电脑上试试。。。
来自:amoBBS 阿莫电子论坛 Android客户端

出0入0汤圆

发表于 2012-5-31 22:56:35 | 显示全部楼层
niu B a ///////

出0入0汤圆

发表于 2012-5-31 22:59:47 | 显示全部楼层
还带闪电,想起初中学basic的时候了,用程序弄音乐

出0入0汤圆

发表于 2012-6-3 09:53:47 | 显示全部楼层
ding lou zhu !  mark!!

出0入0汤圆

发表于 2012-9-19 10:04:39 | 显示全部楼层
这个太B叉 刚学matlab还有这功能。。。。

出0入0汤圆

发表于 2012-9-19 15:11:02 | 显示全部楼层
牛叉啊~~~~~~~~~

出0入0汤圆

发表于 2012-9-19 16:26:25 | 显示全部楼层
??? No sound hardware detected.


Error in ==> D:\MATLAB6p5\toolbox\matlab\audio\private\playsnd.dll
Error in ==> D:\MATLAB6p5\toolbox\matlab\audio\sound.m
On line 36  ==> playsnd(y,fs,bits);

>>

出0入0汤圆

发表于 2012-9-19 16:44:52 | 显示全部楼层
这个碉堡了

出0入0汤圆

发表于 2012-9-19 19:12:20 | 显示全部楼层
是18楼的音乐吗,听起来不错!

出0入0汤圆

发表于 2012-9-19 19:26:30 | 显示全部楼层
以前就看到过卡农的,这次竟然有神曲了!

出0入0汤圆

发表于 2012-9-19 19:46:20 | 显示全部楼层
不错 matlab很强大

出0入0汤圆

发表于 2012-9-19 21:35:08 | 显示全部楼层
顺便来个《卡农》:

%不知道作者是谁,不过很强大
%没想到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);

出0入0汤圆

发表于 2012-9-27 20:59:27 | 显示全部楼层
out of memory???? 什么情况啊

出0入0汤圆

发表于 2012-9-27 21:14:25 | 显示全部楼层
确定是最炫民族风?期待视频验证

出0入0汤圆

发表于 2012-10-5 10:03:28 | 显示全部楼层
NB啊!!!

出0入0汤圆

发表于 2013-3-6 17:05:08 | 显示全部楼层
真心 强~~哈哈~~

出0入0汤圆

发表于 2013-3-6 17:11:04 | 显示全部楼层
强大的人儿~~~强大的matlab~~~~~~~~·

出0入0汤圆

发表于 2013-3-6 18:24:22 | 显示全部楼层
为了听这个装个MATLAB,真是膜拜啊。人才啊

出0入0汤圆

发表于 2013-3-6 20:33:14 | 显示全部楼层
God Like

出0入0汤圆

发表于 2013-3-7 10:04:35 | 显示全部楼层
大神级

出0入0汤圆

发表于 2013-3-7 10:06:39 | 显示全部楼层
收藏了,我也要试试。

出0入0汤圆

发表于 2013-3-7 10:25:10 | 显示全部楼层
收藏了。。。。

出0入0汤圆

发表于 2013-4-11 21:32:32 | 显示全部楼层
放到第二首时:out of memory 了

出0入0汤圆

发表于 2013-5-22 23:08:16 | 显示全部楼层
强大强大

出0入0汤圆

发表于 2013-5-22 23:11:21 | 显示全部楼层
具体怎弄的呀

出0入0汤圆

发表于 2013-9-1 21:52:41 | 显示全部楼层
可以利用matlab玩语音合成了。

出0入0汤圆

发表于 2013-9-12 21:35:33 | 显示全部楼层
matlaB还有这功能 ? 牛叉

出0入0汤圆

发表于 2013-9-12 21:46:21 | 显示全部楼层
wujiaodalou911 发表于 2013-3-6 18:24
为了听这个装个MATLAB,真是膜拜啊。人才啊

竟然为了听这个装那么大的matlab

出0入0汤圆

发表于 2013-9-13 21:19:31 来自手机 | 显示全部楼层
好牛逼的说。确实很牛逼……

出0入0汤圆

发表于 2013-9-13 21:25:14 | 显示全部楼层
碉堡了。。。。。。。。。。。。

出0入0汤圆

发表于 2013-9-13 21:27:41 | 显示全部楼层
第二首是 民族风

出0入0汤圆

发表于 2013-9-13 22:24:03 | 显示全部楼层
这不是卡农加最炫民族风么。。

出0入0汤圆

发表于 2013-9-17 17:45:32 | 显示全部楼层
真心NB啊,为什么是那么多的三角函数求大神解释啊

出0入0汤圆

发表于 2013-9-17 17:47:28 | 显示全部楼层
太牛逼了。。

出0入0汤圆

发表于 2013-9-22 23:17:29 | 显示全部楼层
太牛了,

出0入0汤圆

发表于 2013-10-31 22:41:44 | 显示全部楼层
牛逼死了都

出0入0汤圆

发表于 2013-11-1 16:34:08 | 显示全部楼层
这个NB                 

出0入0汤圆

发表于 2013-11-1 16:38:56 | 显示全部楼层
牛!!!

出0入0汤圆

发表于 2013-11-1 17:39:08 | 显示全部楼层
牛逼啊。。。。

出0入0汤圆

发表于 2015-1-22 16:39:14 | 显示全部楼层
这决对是个牛B的东东。

哈哈……厉害。

出0入0汤圆

发表于 2015-1-22 16:42:27 | 显示全部楼层
来直接复制吧
  1. %不知道作者是谁,不过很强大,总之我是真心不懂matlab,毕业设计用到,真心求帮助

  2. % Cripple Pachebel's Canon on Matlab
  3. % Have fun

  4. fs = 44100; % sample rate
  5. dt = 1/fs;

  6. T16 = 0.125;

  7. t16 = [0:dt:T16];
  8. [temp k] = size(t16);

  9. t4 = linspace(0,4*T16,4*k);
  10. t8 = linspace(0,2*T16,2*k);

  11. [temp i] = size(t4);
  12. [temp j] = size(t8);

  13. % Modification functions
  14. mod4 = sin(pi*t4/t4(end));
  15. mod8 = sin(pi*t8/t8(end));
  16. mod16 = sin(pi*t16/t16(end));

  17. f0 = 2*146.8; % reference frequency

  18. ScaleTable = [2/3 3/4 5/6 15/16 ...
  19.                1 9/8 5/4 4/3 3/2 5/3 9/5 15/8 ...
  20.                2 9/4 5/2 8/3 3 10/3 15/4 4 ...
  21.                1/2 9/16 5/8];
  22. % 1/4 notes
  23. do0f = mod4.*cos(2*pi*ScaleTable(21)*f0*t4);
  24. re0f = mod4.*cos(2*pi*ScaleTable(22)*f0*t4);
  25. mi0f = mod4.*cos(2*pi*ScaleTable(23)*f0*t4);
  26.            
  27. fa0f = mod4.*cos(2*pi*ScaleTable(1)*f0*t4);
  28. so0f = mod4.*cos(2*pi*ScaleTable(2)*f0*t4);
  29. la0f = mod4.*cos(2*pi*ScaleTable(3)*f0*t4);
  30. ti0f = mod4.*cos(2*pi*ScaleTable(4)*f0*t4);
  31. do1f = mod4.*cos(2*pi*ScaleTable(5)*f0*t4);
  32. re1f = mod4.*cos(2*pi*ScaleTable(6)*f0*t4);
  33. mi1f = mod4.*cos(2*pi*ScaleTable(7)*f0*t4);
  34. fa1f = mod4.*cos(2*pi*ScaleTable(8)*f0*t4);
  35. so1f = mod4.*cos(2*pi*ScaleTable(9)*f0*t4);
  36. la1f = mod4.*cos(2*pi*ScaleTable(10)*f0*t4);
  37. tb1f = mod4.*cos(2*pi*ScaleTable(11)*f0*t4);
  38. ti1f = mod4.*cos(2*pi*ScaleTable(12)*f0*t4);
  39. do2f = mod4.*cos(2*pi*ScaleTable(13)*f0*t4);
  40. re2f = mod4.*cos(2*pi*ScaleTable(14)*f0*t4);
  41. mi2f = mod4.*cos(2*pi*ScaleTable(15)*f0*t4);
  42. fa2f = mod4.*cos(2*pi*ScaleTable(16)*f0*t4);
  43. so2f = mod4.*cos(2*pi*ScaleTable(17)*f0*t4);
  44. la2f = mod4.*cos(2*pi*ScaleTable(18)*f0*t4);
  45. ti2f = mod4.*cos(2*pi*ScaleTable(19)*f0*t4);
  46. do3f = mod4.*cos(2*pi*ScaleTable(20)*f0*t4);
  47. blkf = zeros(1,i);

  48. % 1/8 notes
  49. fa0e = mod8.*cos(2*pi*ScaleTable(1)*f0*t8);
  50. so0e = mod8.*cos(2*pi*ScaleTable(2)*f0*t8);
  51. la0e = mod8.*cos(2*pi*ScaleTable(3)*f0*t8);
  52. ti0e = mod8.*cos(2*pi*ScaleTable(4)*f0*t8);
  53. do1e = mod8.*cos(2*pi*ScaleTable(5)*f0*t8);
  54. re1e = mod8.*cos(2*pi*ScaleTable(6)*f0*t8);
  55. mi1e = mod8.*cos(2*pi*ScaleTable(7)*f0*t8);
  56. fa1e = mod8.*cos(2*pi*ScaleTable(8)*f0*t8);
  57. so1e = mod8.*cos(2*pi*ScaleTable(9)*f0*t8);
  58. la1e = mod8.*cos(2*pi*ScaleTable(10)*f0*t8);
  59. tb1e = mod8.*cos(2*pi*ScaleTable(11)*f0*t8);
  60. ti1e = mod8.*cos(2*pi*ScaleTable(12)*f0*t8);
  61. do2e = mod8.*cos(2*pi*ScaleTable(13)*f0*t8);
  62. re2e = mod8.*cos(2*pi*ScaleTable(14)*f0*t8);
  63. mi2e = mod8.*cos(2*pi*ScaleTable(15)*f0*t8);
  64. fa2e = mod8.*cos(2*pi*ScaleTable(16)*f0*t8);
  65. so2e = mod8.*cos(2*pi*ScaleTable(17)*f0*t8);
  66. la2e = mod8.*cos(2*pi*ScaleTable(18)*f0*t8);
  67. ti2e = mod8.*cos(2*pi*ScaleTable(19)*f0*t8);
  68. do3e = mod8.*cos(2*pi*ScaleTable(20)*f0*t8);
  69. blke = zeros(1,j);

  70. % 1/16 notes
  71. fa0s = mod16.*cos(2*pi*ScaleTable(1)*f0*t16);
  72. so0s = mod16.*cos(2*pi*ScaleTable(2)*f0*t16);
  73. la0s = mod16.*cos(2*pi*ScaleTable(3)*f0*t16);
  74. ti0s = mod16.*cos(2*pi*ScaleTable(4)*f0*t16);
  75. do1s = mod16.*cos(2*pi*ScaleTable(5)*f0*t16);
  76. re1s = mod16.*cos(2*pi*ScaleTable(6)*f0*t16);
  77. mi1s = mod16.*cos(2*pi*ScaleTable(7)*f0*t16);
  78. fa1s = mod16.*cos(2*pi*ScaleTable(8)*f0*t16);
  79. so1s = mod16.*cos(2*pi*ScaleTable(9)*f0*t16);
  80. la1s = mod16.*cos(2*pi*ScaleTable(10)*f0*t16);
  81. tb1s = mod16.*cos(2*pi*ScaleTable(11)*f0*t16);
  82. ti1s = mod16.*cos(2*pi*ScaleTable(12)*f0*t16);
  83. do2s = mod16.*cos(2*pi*ScaleTable(13)*f0*t16);
  84. re2s = mod16.*cos(2*pi*ScaleTable(14)*f0*t16);
  85. mi2s = mod16.*cos(2*pi*ScaleTable(15)*f0*t16);
  86. fa2s = mod16.*cos(2*pi*ScaleTable(16)*f0*t16);
  87. so2s = mod16.*cos(2*pi*ScaleTable(17)*f0*t16);
  88. la2s = mod16.*cos(2*pi*ScaleTable(18)*f0*t16);
  89. ti2s = mod16.*cos(2*pi*ScaleTable(19)*f0*t16);
  90. do3s = mod16.*cos(2*pi*ScaleTable(20)*f0*t16);
  91. blks = zeros(1,k);

  92. % Blank Block
  93. blkblock = [blkf blkf blkf blkf  blkf blkf blkf blkf...
  94.              blkf blkf blkf blkf  blkf blkf blkf blkf];

  95. % Base Melody
  96. cello = [do1f do1f so0f so0f  la0f la0f mi0f mi0f...
  97.           fa0f fa0f do0f do0f  fa0f fa0f so0f so0f];

  98. % So-FUCKING-Long Melody     
  99. violin = [mi2f mi2f re2f re2f  do2f do2f ti1f ti1f...
  100.            la1f la1f so1f so1f  la1f la1f ti1f ti1f ...%
  101.            do2f do2f ti1f ti1f  la1f la1f so1f so1f...
  102.            fa1f fa1f mi1f mi1f  fa1f fa1f re1f re1f ...%
  103.            do1f mi1f so1f fa1f  mi1f do1f mi1f re1f...
  104.            do1f la0f do1f so1f  fa1f la1f so1f fa1f...%
  105.            mi1f do1f re1f ti1f  do2f mi2f so2f so1f...
  106.            la1f fa1f so1f mi1f  do1f do2f blkf blke ti1e ...%
  107.            do2e ti1e do2e do1e  ti0e so1e re1e mi1e...
  108.            do1e do2e ti1e la1e  ti1e mi2e so2e la2e...
  109.            fa2e mi2e re2e fa2e  mi2e re2e do2e ti1e...
  110.            la1e so1e fa1e mi1e  re1e fa1e mi1e re1e... %%
  111.            do1e re1e mi1e fa1e  so1e re1e so1e fa1e...
  112.            mi1e la1e so1e fa1e  so1e fa1e mi1e re1e...
  113.            do1e la0e la1e ti1e  do2e ti1e la1e so1e...
  114.            fa1e mi1e re1e la1e  so1e la1e so1e fa1e...%
  115.            mi1f mi2e blke re2f re2f  blkf do1f mi2f mi2f...
  116.            la2f la2f so2f so2f  la2f la2f ti2f ti2f...%
  117.            do3e blke do2e blke ti1f ti1f  blkf la1f do2f do2f...
  118.            do2f do2f do2f do2f  do2f fa2f re2f so2f...%
  119.            so2e mi2s fa2s so2e mi2s fa2s so2s so1s la1s ti1s ...
  120.            do2s re2s mi2s fa2s mi2e do2s re2s...
  121.            mi2e mi1s fa1s so1s la1s so1s fa1s so1s mi1s fa1s so1s...
  122.            fa1e la1s so1s fa1e mi1s re1s mi1s re1s do1s re1s mi1s fa1s so1s la1s...
  123.            fa2e la1s so1s la1e ti1s do2s so1s la1s ti1s do2s re2s mi2s fa2s so2s...%
  124.            mi2e do2s re2s mi2e re2s do2s re2s ti1s do2s re2s mi2s re2s do2s ti1s...
  125.            do2e la1s ti1s do2e do1s re1s mi1s fa1s mi1s re1s mi1s do2s ti1s do2s...
  126.            la1e do2s ti1s la1e so1s fa1s so1s fa1s mi1s fa1s so1s la1s ti1s do2s...
  127.            la2e do2s ti1s do2e ti1s la1s ti1s do2s re2s do2s ti1s do1s la1s ti1s...%%
  128.            do2e blke blkf ti1e blke blkf la1e blke blkf do2e blke blkf...
  129.            do1e blke blkf do1e blke blkf do1e blke blkf do1e blke blkf...%
  130.            blkf so1e blke blkf so1e blke blkf mi1e blke blkf so1e blke...
  131.            blkf fa1e blke blkf mi1e blke blkf fa1e blke blkf re2e blke...%
  132.            mi2e mi1e fa1e mi1e re1e re2e mi2e re2e do2e mi1e do1e do2e ti1e so0e fa0e so0e...
  133.            la0e la1e so1e la1e so1e so0e fa0e so0e do1e la1e so1e la1e ti1e ti0e la0e ti0e...%
  134.            do1e do2e re2e do2e ti1e ti0e do1e ti0e la0e la1e so1e la1e ti1e ti0e mi1e re1e...
  135.            do1e do2e re2e fa2e mi2e mi1e so1e mi2e do2e fa2e mi2e fa2e re2e so1e fa1e so1e...%
  136.            mi1e so1e so1e so1e so1e so1e so1e so1e mi1e mi1e mi1e mi1e mi1e mi1e so1e so1e...
  137.            fa1e fa1e fa1e do2e do2e do2e do2e do2e do2e do2e la1e la1e so1e so1e re2e ti1e...%%
  138.            so1e mi2e mi2e mi2e re2e re2e re2e re2e do2e do2e do2e do2e so2e so2e so2e so2e...
  139.            la2e la2e la2e la2e so2e so2e so2e so2e la2e la2e la2e la2e ti2e ti1e ti1e ti1e...%
  140.            do2e do1s re1s mi1e do1e ti0e ti1s do2s re2e ti1e la1e la0s ti0s do1e la0e ti0e so1s fa1s mi1e re1e...
  141.            do1e mi1s re1s do1e fa1e mi1e do1s re1s mi1e so1e fa1e la1s so1s fa1e mi1e re1e so1s fa1s mi1e re1e...%
  142.            mi1e do2s ti1s do2e mi1e so1e so1s la1s ti1e so1e mi1e do2s re2s mi2e do2e mi2e mi2s re2s do2e ti1e...
  143.            la1e la1s so1s la1e ti1e do2e mi2s re2s do2e mi2e fa2e do2s ti1s la1e la1e so1e re1e so1e so1e...%
  144.            so1f so1f so1f so1f  do1f do1f do1f so1f...
  145.            fa1f fa1f so1f so1f  fa1f do1f do1f do1e ti0e...%
  146.            do1f do2f ti1f ti1f  la1f la1f so1f so1f...
  147.            do1f do1e re1e mi1f mi1f  do2f do2f ti1f ti1f...%%
  148.            do2f];

  149. % cello
  150. c1 = [cello cello cello cello cello...
  151.        cello cello cello cello cello...
  152.        cello cello cello cello cello...
  153.        cello cello cello cello cello...
  154.        cello cello cello blkf];
  155. % violin1
  156. v1 = [blkblock violin blkblock blkblock];
  157. % violin2
  158. v2 = [blkblock blkblock violin blkblock];
  159. % violin3
  160. v3 = [blkblock blkblock blkblock violin];


  161. % Get dirty
  162. s = c1+v1+v2+v3;
  163. s = s/max(s);

  164. sound(s,fs);


  165. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  166. % Most shining national wind//最炫民族风 on Matlab
  167. % The Modification is from "canon", not by me

  168. fs = 44100; % sample rate
  169. dt = 1/fs;

  170. T16 = 0.125;

  171. t16 = [0:dt:T16];
  172. [temp k] = size(t16);

  173. t4 = linspace(0,4*T16,4*k);
  174. t8 = linspace(0,2*T16,2*k);

  175. [temp i] = size(t4);
  176. [temp j] = size(t8);

  177. % Modification functions
  178. mod4=(t4.^4).*exp(-30*(t4.^0.5));
  179. mod4=mod4*(1/max(mod4));
  180. mod8=(t8.^4).*exp(-50*(t8.^0.5));
  181. mod8=mod8*(1/max(mod8));
  182. mod16=(t16.^4).*exp(-90*(t16.^0.5));
  183. mod16=mod16*(1/max(mod16));

  184. f0 = 2*146.8; % reference frequency

  185. ScaleTable = [2/3 3/4 5/6 15/16 ...
  186. 1 9/8 5/4 4/3 3/2 5/3 9/5 15/8 ...
  187. 2 9/4 5/2 8/3 3 10/3 15/4 4 ...
  188. 1/2 9/16 5/8];

  189. % 1/4 notes
  190. do0f = mod4.*cos(2*pi*ScaleTable(21)*f0*t4);
  191. re0f = mod4.*cos(2*pi*ScaleTable(22)*f0*t4);
  192. mi0f = mod4.*cos(2*pi*ScaleTable(23)*f0*t4);

  193. fa0f = mod4.*cos(2*pi*ScaleTable(1)*f0*t4);
  194. so0f = mod4.*cos(2*pi*ScaleTable(2)*f0*t4);
  195. la0f = mod4.*cos(2*pi*ScaleTable(3)*f0*t4);
  196. ti0f = mod4.*cos(2*pi*ScaleTable(4)*f0*t4);
  197. do1f = mod4.*cos(2*pi*ScaleTable(5)*f0*t4);
  198. re1f = mod4.*cos(2*pi*ScaleTable(6)*f0*t4);
  199. mi1f = mod4.*cos(2*pi*ScaleTable(7)*f0*t4);
  200. fa1f = mod4.*cos(2*pi*ScaleTable(8)*f0*t4);
  201. so1f = mod4.*cos(2*pi*ScaleTable(9)*f0*t4);
  202. la1f = mod4.*cos(2*pi*ScaleTable(10)*f0*t4);
  203. tb1f = mod4.*cos(2*pi*ScaleTable(11)*f0*t4);
  204. ti1f = mod4.*cos(2*pi*ScaleTable(12)*f0*t4);
  205. do2f = mod4.*cos(2*pi*ScaleTable(13)*f0*t4);
  206. re2f = mod4.*cos(2*pi*ScaleTable(14)*f0*t4);
  207. mi2f = mod4.*cos(2*pi*ScaleTable(15)*f0*t4);
  208. fa2f = mod4.*cos(2*pi*ScaleTable(16)*f0*t4);
  209. so2f = mod4.*cos(2*pi*ScaleTable(17)*f0*t4);
  210. la2f = mod4.*cos(2*pi*ScaleTable(18)*f0*t4);
  211. ti2f = mod4.*cos(2*pi*ScaleTable(19)*f0*t4);
  212. do3f = mod4.*cos(2*pi*ScaleTable(20)*f0*t4);
  213. blkf = zeros(1,i);

  214. % 1/8 notes
  215. do0e = mod8.*cos(2*pi*ScaleTable(21)*f0*t8);
  216. re0e = mod8.*cos(2*pi*ScaleTable(22)*f0*t8);
  217. mi0e = mod8.*cos(2*pi*ScaleTable(23)*f0*t8);

  218. fa0e = mod8.*cos(2*pi*ScaleTable(1)*f0*t8);
  219. so0e = mod8.*cos(2*pi*ScaleTable(2)*f0*t8);
  220. la0e = mod8.*cos(2*pi*ScaleTable(3)*f0*t8);
  221. ti0e = mod8.*cos(2*pi*ScaleTable(4)*f0*t8);
  222. do1e = mod8.*cos(2*pi*ScaleTable(5)*f0*t8);
  223. re1e = mod8.*cos(2*pi*ScaleTable(6)*f0*t8);
  224. mi1e = mod8.*cos(2*pi*ScaleTable(7)*f0*t8);
  225. fa1e = mod8.*cos(2*pi*ScaleTable(8)*f0*t8);
  226. so1e = mod8.*cos(2*pi*ScaleTable(9)*f0*t8);
  227. la1e = mod8.*cos(2*pi*ScaleTable(10)*f0*t8);
  228. tb1e = mod8.*cos(2*pi*ScaleTable(11)*f0*t8);
  229. ti1e = mod8.*cos(2*pi*ScaleTable(12)*f0*t8);
  230. do2e = mod8.*cos(2*pi*ScaleTable(13)*f0*t8);
  231. re2e = mod8.*cos(2*pi*ScaleTable(14)*f0*t8);
  232. mi2e = mod8.*cos(2*pi*ScaleTable(15)*f0*t8);
  233. fa2e = mod8.*cos(2*pi*ScaleTable(16)*f0*t8);
  234. so2e = mod8.*cos(2*pi*ScaleTable(17)*f0*t8);
  235. la2e = mod8.*cos(2*pi*ScaleTable(18)*f0*t8);
  236. ti2e = mod8.*cos(2*pi*ScaleTable(19)*f0*t8);
  237. do3e = mod8.*cos(2*pi*ScaleTable(20)*f0*t8);
  238. blke = zeros(1,j);

  239. % 1/16 notes
  240. do0s = mod16.*cos(2*pi*ScaleTable(21)*f0*t16);
  241. re0s = mod16.*cos(2*pi*ScaleTable(22)*f0*t16);
  242. mi0s = mod16.*cos(2*pi*ScaleTable(23)*f0*t16);

  243. fa0s = mod16.*cos(2*pi*ScaleTable(1)*f0*t16);
  244. so0s = mod16.*cos(2*pi*ScaleTable(2)*f0*t16);
  245. la0s = mod16.*cos(2*pi*ScaleTable(3)*f0*t16);
  246. ti0s = mod16.*cos(2*pi*ScaleTable(4)*f0*t16);
  247. do1s = mod16.*cos(2*pi*ScaleTable(5)*f0*t16);
  248. re1s = mod16.*cos(2*pi*ScaleTable(6)*f0*t16);
  249. mi1s = mod16.*cos(2*pi*ScaleTable(7)*f0*t16);
  250. fa1s = mod16.*cos(2*pi*ScaleTable(8)*f0*t16);
  251. so1s = mod16.*cos(2*pi*ScaleTable(9)*f0*t16);
  252. la1s = mod16.*cos(2*pi*ScaleTable(10)*f0*t16);
  253. tb1s = mod16.*cos(2*pi*ScaleTable(11)*f0*t16);
  254. ti1s = mod16.*cos(2*pi*ScaleTable(12)*f0*t16);
  255. do2s = mod16.*cos(2*pi*ScaleTable(13)*f0*t16);
  256. re2s = mod16.*cos(2*pi*ScaleTable(14)*f0*t16);
  257. mi2s = mod16.*cos(2*pi*ScaleTable(15)*f0*t16);
  258. fa2s = mod16.*cos(2*pi*ScaleTable(16)*f0*t16);
  259. so2s = mod16.*cos(2*pi*ScaleTable(17)*f0*t16);
  260. la2s = mod16.*cos(2*pi*ScaleTable(18)*f0*t16);
  261. ti2s = mod16.*cos(2*pi*ScaleTable(19)*f0*t16);
  262. do3s = mod16.*cos(2*pi*ScaleTable(20)*f0*t16);
  263. blks = zeros(1,k);


  264. % Melody by Schau_mal
  265. part0 = [mi1f la0e la0e do1f mi1f ...
  266. re1e re1s mi1s re1e do1e re1e do1e la0f ...
  267. mi1f la0e la0e do1f mi1f ...
  268. so1e re1s mi1s re1e do1e re1e do1e ti0e so0e ...
  269. mi1f la0e la0e do1f mi1f ...
  270. re1e re1s mi1s re1e do1e re1e do1e la0e so0e ...
  271. mi1f la0e la0e do1f mi1f ...
  272. so1e mi1e blkf blkf blkf ...
  273. ];

  274. part1 = [la0f la0e so0e la0f la0e do1e ...
  275. do1f re1e do1e la0f la0f ...
  276. do1f do1e so0e do1e re1e mi1e so1e ...
  277. so1e mi1e re1f mi1f mi1f ...
  278. la1e la1e la1e so1e mi1e mi1f do1e ...
  279. la0e la0e la0e mi1e re1s mi1s re1e re1f ...
  280. mi1e mi1e so1e mi1e re1e mi1e re1e do1e ...
  281. la0f so0f la0f la0f ...
  282. ];

  283. part2 = [mi1e mi1e so1e mi1e mi1e so1e so1e la1e ...
  284. do2e la1e so1f la1s do2s la1e la1f ...
  285. la0f la0e so0e la0f do1f ...
  286. re1e mi1s re1s do1e re1e mi1f mi1f ...
  287. la0e la1e la1e so1e re1e mi1s re1s do1e re1e ...
  288. mi1f mi1f blke blke blkf ...
  289. do1e la0e la0e do1e re1f so0e so0e ...
  290. mi1e so1e mi1e re1e do1f do1f ...
  291. la0e do1e re1e mi1e re1e do1e so0e mi0e ...
  292. la0f la0f blke blke blkf ...
  293. ];

  294. part3 = [la0f la0e so0e la0f do1f ...
  295. re1e mi1s re1s do1e re1e mi1f mi1f ...
  296. la0e la1e la1e so1e re1e mi1s re1s do1e re1e ...
  297. mi1f mi1f blke blke blkf ...
  298. do1e la0e la0e do1e re1f so0e so0e ...
  299. mi1e so1e mi1e re1e do1f do1e do1e ...
  300. la0e do1e re1e mi1e so1e mi1e mi1e so1e ...
  301. la1f la1f la1f la1f ...
  302. ];

  303. part4 = [la1e la1s la1s la1e la1e la1e la1s so1s mi1e re1e ...
  304. re1e re1s re1s mi1e mi1s so1s mi1e mi1s re1s do1e do1s la0s ...
  305. la0f la0e so0e la0f la0e do1e ...
  306. re1e mi1s re1s do1e re1e mi1f mi1f ...
  307. la1e so1e mi1e re1e so1e mi1e re1e do1e ...
  308. do1f do1f la0s do1s re1s mi1s re1s do1s la0s do1s
  309. ];

  310. part5 = [do2e do2s do2s la1e la1s la1s so1e so1s so1s mi1e mi1s mi1s ...
  311. re1e mi1s re1s do1e la0s so0s la0s so0s do1s re1s mi1s so1s la1s re2s ...
  312. do2f do2f blks blks blks blks do1e re1e ...
  313. mi1f mi1f mi1f so1e mi1e ...
  314. la1f la1f la1e do1e so1e mi1e ...
  315. re1f re1e re1s re1s re1e re1e do1e re1e ...
  316. mi1f mi1e mi1s mi1s mi1e re1s do1s ti0e do1s re1s ...
  317. mi1f mi1f mi1f so1e mi1e ...
  318. do2f la1f la1f la1e do1e ...
  319. re1f so1f so1f la1f ...
  320. ti1f ti1f ti1f ti1f ...
  321. ];

  322. part6 = [blkf blkf mi1e so1e mi1e so1e ...
  323. mi1f la0e la0s la0s do1f la0e mi1s la0s ...
  324. do1e do1s do1s re1e do1s re1s mi1f mi1f ...
  325. mi1f la0e la0s la0s so1f re1e re1s re1s ...
  326. mi1f mi1f mi1s re1s do1s la0s mi0s re0s mi0s so0s ...
  327. do1f la0e la0s la0s re1f so0e so0s so0s ...
  328. mi0f so0e so0s so0s do1f do1f ...
  329. la0f do1e do1s la0s mi1e mi1s mi1s re1e re1s mi1s ...
  330. ];

  331. % Combination, v1 is complete version, v2 is simple version.
  332. v1 = [part0 part1 part1 part2 part3 part4 part0 part1 part1 part2 part3 part5 part3 part6 part3];
  333. v2 = [part0 part1 part1 part2 part3 part5 part3 part6 part3];

  334. % Let's rock ^_^
  335. s = v1;
  336. s = s/max(s);

  337. sound(s,fs);

  338. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
复制代码

出0入10汤圆

发表于 2015-1-22 16:54:11 | 显示全部楼层
回到了用汇编写音乐的读书时代

出0入0汤圆

发表于 2015-1-26 20:03:05 | 显示全部楼层
很强大呀,有没有玩儿模型的,加模型代码生成
今年做飞卡,想用matlab做,我见老外有拿matlab开发kl25,貌似挺给力的,讨论下

出0入0汤圆

发表于 2015-1-26 20:53:59 | 显示全部楼层
Niubility   
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-16 09:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表