天空之城 matlab,[转载]matlab演奏《天空之城》代码
%matlab演奏《天空之城》代碼
l_dao=262;?%將“l_dao”宏定義為低音“1”的頻率262Hz
l_re
=286;?%將“l_re”宏定義為低音“2”的頻率286Hz
l_mi
=311;?%將“l_mi”宏定義為低音“3”的頻率311Hz
l_fa
=349;?%將“l_fa”宏定義為低音“4”的頻率349Hz
l_sao=
392;?%將“l_sao”宏定義為低音“5”的頻率392Hz
l_la
=440;?%將“l_a”宏定義為低音“6”的頻率440Hz
l_xi
=494;?%將“l_xi”宏定義為低音“7”的頻率494Hz
%以下是C調中音的音頻宏定義
dao=
523;?%將“dao”宏定義為中音“1”的頻率523Hz
re=
587;?%將“re”宏定義為中音“2”的頻率587Hz
mi=
659;?%將“mi”宏定義為中音“3”的頻率659Hz
fa=
698;?%將“fa”宏定義為中音“4”的頻率698Hz
sao=
784;?%將“sao”宏定義為中音“5”的頻率784Hz
la=
880;?%將“la”宏定義為中音“6”的頻率880Hz
xi=
987;?%將“xi”宏定義為中音“7”的頻率523H?%以下是C調高音的音頻宏定義
h_dao=
1046;?%將“h_dao”宏定義為高音“1”的頻率1046Hz
h_re=
1174;?%將“h_re”宏定義為高音“2”的頻率1174Hz
h_mi=
1318;?%將“h_mi”宏定義為高音“3”的頻率1318Hz
h_fa=
1396;?%將“h_fa”宏定義為高音“4”的頻率1396Hz
h_sao=
1567;?%將“h_sao”宏定義為高音“5”的頻率1567Hz
h_la=
1760;?%將“h_la”宏定義為高音“6”的頻率1760Hz
h_xi=
1975;?%將“h_xi”宏定義為高音“7”的頻率1975Hz
%%
%{
%% 簡譜
s=[re,mi,re,dao,l_la,dao,l_la,...
l_sao,l_mi,l_sao,l_la,dao,...
l_la,dao,sao,la,mi,sao,...
re,...
mi,re,mi,sao,mi,...
l_sao,l_mi,l_sao,l_la,dao,...
l_la,l_la,dao,l_la,l_sao,l_re,l_mi,...
l_sao,...
re,re,sao,la,sao,...
fa,mi,sao,mi,...
la,sao,mi,re,mi,l_la,dao,...
re,...
mi,re,mi,sao,mi,...
l_sao,l_mi,l_sao,l_la,dao,...
l_la,dao,re,l_la,dao,re,mi,...
re,...
l_la,dao,re,l_la,dao,re,mi,...
re];
%% 延時
delay=0.2*[4,1,1,4,1,1,2,...
2,2,2,2,8,...
4,2,3,1,2,2,...
10,...
4,2,2,4,4,...
2,2,2,2,4,...
2,2,2,2,2,2,2,...
10,...
4,4,4,2,2,...
4,2,4,4,...
4,2,2,2,2,2,2,...
10,...
4,2,2,4,4,...
2,2,2,2,6,...
4,2,2,4,1,1,4,...
10,...
4,2,2,4,1,1,4,...
10];
%}
%% 簡譜
s=[la, xi,...
h_dao xi h_dao h_mi,...
xi mi,...
la, sao la, h_dao,...
sao re mi ,...
fa mi fa h_dao ,...
mi re mi h_dao,...
xi fa fa xi ,...
xi la, xi ,...
h_dao xi h_dao h_mi ,...
xi mi ,...
la, sao la, h_dao ,...
sao mi ,...
fa h_dao xi xi h_dao,...
h_re h_mi h_dao h_dao,...
h_dao xi la xi sao,...
la h_dao h_re,...
h_mi h_re h_mi h_sao ,...
h_re sao,...
h_dao xi h_dao h_mi,...
h_mi la xi,...
h_dao xi h_dao h_re,...
h_dao sao sao,...
h_fa h_mi h_re h_dao,...
h_mi h_mi,...
h_la h_sao,...
h_mi h_re h_dao,...
h_re h_dao h_re h_re h_sao,...
h_mi h_mi ,...
h_la h_sao,...
h_mi,h_re,h_dao,...
h_re,h_dao,h_re,h_re,xi,...
la];
delay=0.5*[0.5 0.5 ,...
1.5 0.5 1 1
,...
3
1,...
1.5 0.5 1
1,...
3 0.5
0.5,...
1.5 0.5 0.5
1.5,...
1.5 0.5 0.5
1.5,...
1.5 0.5 1
1,...
3 0.5
0.5,...
1.5 0.5 1
1,...
3
1,...
1 0.5 1
1,...
3
1,...
1 0.5 0.5 1
1,...
1 0.5 0.5
2,...
0.5 0.5 1 1
1,...
3 0.5
0.5,...
1.5 0.5 1
1,...
3
1,...
1.5 0.5 1
1,...
3 0.5
0.5,...
1.5 0.5 1
1,...
1.5 0.5
2,...
1 1 1
1,...
3
1,...
2 2
,...
0.5 0.5
3,...
1 0.5 0.5 1
1,...
3
1,...
2
2,...
0.5 0.5
3,...
1 0.5 0.5 1
1,...
4];
%% 設置采樣精度
fs=44100;
%% 生成波形
wav=[];
for i=1:length(s)
tune_max=ceil(delay(i));
for j=[1 2 4 6]
eval_r(['tune',num2str(j),'=linspace(0,2*pi*s(i)*',num2str(j),'/2,fs);']);
end
%?tune=linspace(0,2*pi*s(i),fs);
%?tune2=linspace(0,2*pi*s(i)*2,fs);
%?tune3=linspace(0,2*pi*s(i)*3,fs);
tune=[tune1;tune2;tune4;tune6];%;tune3;tune4;tune5;tune6;tune7;tune8;tune9;tune10;tune11;tune12];
eq=[0.5 1 0.5 0.5];
tune=eq*sin(tune);
tune=repmat(tune,1,tune_max);
tune=tune(1:round( (length(tune)*delay(i)/tune_max)) );
%tune=tune.*exp(linspace(log(1),log(0.02),length(tune)));
tune=tune.*sin(linspace(0,pi,length(tune)));
wav=[wav?tune];
end
wav=wav/max(wav)*0.1; %限幅 音量
sound(wav,fs);
總結
以上是生活随笔為你收集整理的天空之城 matlab,[转载]matlab演奏《天空之城》代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab光学毕业论文,光学信息处理实
- 下一篇: linux ssl PHP,Linux环