注册地址 登录
数学建模社区-数学中国 返回首页

Seawind2012的个人空间 http://www.madio.net/?467508 [收藏] [复制] [分享] [RSS]

日志

Matlab版《最炫民族风》

已有 240 次阅读2012-5-18 00:57 | 流行, 最炫民族风

近来很流行的《最炫民族风》,用Matlab可以直接播放!
 
%% Thanks to the original coder! I just modify the original CANON scripts. Hao Zheng
clear all; close all; clc;

%% Initialization
fs = 44100; % sample rate
dt = 1/fs;
T16 = 0.125;
t16 = [0:dt:T16];
[temp k] = size(t16); %temp =1; k=5514
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 %2*146.8=294Hz = D dadiao

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); % wt (w=2*pi*f)
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);


%% Melody
zuixuanminzufeng = [
mi2f la1e la1e do2f mi2f re2e re2s mi2s re2e do2e re2e do2e la1f...
mi2f la1e la1e do2f mi2f so2e re2s mi2s re2e do2e re2e do2e ti1e so1e...
mi2f la1e la1e do2f mi2f re2e re2s mi2s re2e do2e re2e do2e la1f...
mi2f la1e la1e do2f mi2f so2e mi2e so2e la2e la2f blkf...%%
la1f la1e so1e la1f la1e do2e do2f re2e do2e la1f blkf...
do2f do2e so1e do2e re2e mi2e so2e so2e mi2e re2f mi2f blkf...
la2e la2e la2e so2e mi2e mi2f do2e la1e la1e la1e mi2e re2f blkf...
mi2e mi2e so2e mi2e re2e mi2e re2e do2e la1f so1f la1f blkf...%%
mi2e mi2e so2e mi2e mi2e so2e so2e la2e do3e la2e so2f la2f blkf...
la1f la1e so1e la1f do2f re2e mi2s re2s do2e re2e mi2f blkf...
la1e la2e la2e so2e re2e mi2s re2s do2e re2e mi2f blkf ...
do3e do3e do3e blkf...
do2e la1e la1e do2e re2f so1e so1e mi2e so2e mi2e re2e do2f blkf...
la1e do2e re2e mi2e re2e do2e so1e mi1e la1f blkf...
do3e do3e do3e blkf...%%
la1f la1e so1e la1f do2f re2e mi2s re2s do2e re2e mi2f blkf...
la1e la2e la2e so2e re2e mi2s re2s do2e re2e mi2f blkf ...
do3e do3e do3e blkf...
do2e la1e la1e do2e re2f so1e so1e mi2e so2e mi2e re2e do2f do2e do2e la1e do2e re2e mi2e so2e mi2e mi2e so2e la2f la2f la2f blkf...%%
la2e la2s la2e la2e la2e so2s mi2e re2e re2e re2s mi2e so2s mi2e re2s do2e la1s...%%
la1f la1e so1e la1f do2f re2e mi2s re2s do2e re2e mi2f blkf...
la2e so2e mi2e re2e so2e mi2e re2e do2e do2f blkf...
la1f la1e so1e la1f do2f re2e mi2s re2s do2e re2e mi2f blkf...
la1e la2e la2e so2e re2e mi2s re2s do2e re2e mi2f blkf ...
do3e do3e do3e blkf...
do2e la1e la1e do2e re2f so1e so1e mi2e so2e mi2e re2e do2f blkf...
la1e do2e re2e mi2e so2e mi2e mi2e so2e la2f la2f la2f blkf...
];


%% Play
music=zuixuanminzufeng;
music = music/max(music);
sound(music,fs);

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-5-15 12:21 , Processed in 0.258867 second(s), 27 queries .

回顶部