基于该系列前面的理论,这里编写一首陈奕迅的《圣诞结》。
目录
演示视频:
主函数:
子函数:?
演示视频:
?MATLAB演奏:《圣诞结》_哔哩哔哩_bilibili
主函数:
%《圣诞节》
%包络函数:自定义包络函数
%单个音长:0.7
a=0.36;%全音
b=0.5*a;%半音
Fs=8192;
%part 1
%我住的城市从不下雪
y1=note_C4(1,b);
y2=note_C4(3,b);
y3=note_C4(1,b);
y4=note_C4(5,a);
y5=note_C4(8,a);
y6=note_C4(8,b);
y7=note_C4(6,b);
y8=note_C4(5,a);
y9=note_C4(1,1.5*a);
y=[y1,y2,y3,y4,y5,y6,y7,y8,y9];
%记忆却堆满冷的感觉
y0=note_C0(1,1.5*a);
y1=note_C4(1,b);
y2=note_C4(3,b);
y3=note_C4(1,b);
y4=note_C4(5,a);
y5=note_C4(8,a);
y6=note_C4(8,b);
y7=note_C4(5,b);
y8=note_C4(12,a);
y9=note_C4(8,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%思念的旺季霓虹扫过喧哗的街
y0=note_C0(1,1.5*a);
y1=note_C4(5,b);
y2=note_C4(7,b);
y3=note_C4(10,b);
y4=note_C5(1,a);
y5=note_C4(10,a);
y6=note_C4(8,b);
y7=note_C4(6,b);
y8=note_C4(8,a);
y9=note_C4(5,a);
y10=note_C4(3,b);
y11=note_C4(5,b);
y12=note_C4(3,a);
y13=note_C4(1,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%把快乐赶得好远
y0=note_C0(1,a);
y1=note_C4(6,b);
y2=note_C4(5,b);
y3=note_C4(5,b);
y4=note_C4(6,a);
y5=note_C4(8,a);
y6=note_C4(5,b);
y7=note_C4(3,2*a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7];
%落单的恋人最怕过节
y0=note_C0(1,1.5*a);
y1=note_C4(1,b);
y2=note_C4(3,b);
y3=note_C4(1,b);
y4=note_C4(5,a);
y5=note_C4(8,a);
y6=note_C4(8,b);
y7=note_C4(6,b);
y8=note_C4(5,a);
y9=note_C4(1,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%只能独自庆祝尽量喝醉
y0=note_C0(1,1.5*a);
y10=note_C4(1,b);
y1=note_C4(1,b);
y2=note_C4(3,b);
y3=note_C4(1,b);
y4=note_C4(5,a);
y5=note_C4(8,a);
y6=note_C4(8,b);
y7=note_C4(5,b);
y8=note_C4(12,a);
y9=note_C4(8,1.5*a);
y=[y,y0,y10,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%我爱过的人没有一个留在身边
y0=note_C0(1,1.5*a);
y1=note_C4(6,b);
y2=note_C4(8,b);
y3=note_C4(8,b);
y4=note_C5(1,a);
y5=note_C4(9,a);
y6=note_C4(8,b);
y7=note_C4(6,b);
y8=note_C4(8,a);
y9=note_C4(5,a);
y10=note_C4(3,b);
y11=note_C4(5,b);
y12=note_C4(3,a);
y13=note_C4(1,a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%寂寞它陪我过夜
y0=note_C0(1,a);
y1=note_C4(8,b);
y2=note_C4(8,b);
y3=note_C4(5,b);
y4=note_C4(8,a);
y5=note_C4(5,a);
y6=note_C4(6,a);
y7=note_C4(8,3*a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7];
%merry merry christmas
y0=note_C0(1,a);
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6];
%lonely lonely christmas
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,b);
y=[y,y1,y2,y3,y4,y5,y6];
%想祝福不知该给谁
y1=note_C5(3,b);
y2=note_C5(5,b);
y3=note_C5(6,a);
y4=note_C5(6,b);
y5=note_C5(5,a);
y6=note_C5(5,b);
y7=note_C5(1,a);
y8=note_C4(10,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%爱被我们打了死结
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,a);
y4=note_C5(8,b);
y5=note_C5(6,a);
y6=note_C5(6,b);
y7=note_C5(1,a);
y8=note_C5(3,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%lonely lonely christmas
y0=note_C0(1,a);
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6];
%merry merry christmas
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,b);
y=[y,y1,y2,y3,y4,y5,y6];
%写了卡片能寄给谁
y1=note_C5(3,b);
y2=note_C5(5,b);
y3=note_C5(6,a);
y4=note_C5(6,b);
y5=note_C5(5,a);
y6=note_C5(5,b);
y7=note_C5(1,a);
y8=note_C4(10,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%心碎的像街上的纸屑
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,a);
y4=note_C5(8,b);
y5=note_C5(6,a);
y6=note_C5(6,b);
y7=note_C5(1,a);
y8=note_C5(3,a);
y9=note_C5(1,3*a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%part 2
%落单的恋人最怕过节
y0=note_C0(1,2*a);
y1=note_C4(1,b);
y2=note_C4(3,b);
y3=note_C4(1,b);
y4=note_C4(5,a);
y5=note_C4(8,a);
y6=note_C4(8,b);
y7=note_C4(6,b);
y8=note_C4(5,a);
y9=note_C4(1,1.5*a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%只能独自庆祝尽量喝醉
y0=note_C0(1,1.5*a);
y1=note_C4(1,b);
y2=note_C4(3,b);
y3=note_C4(1,b);
y4=note_C4(5,a);
y5=note_C4(8,a);
y6=note_C4(8,b);
y7=note_C4(5,b);
y8=note_C4(12,a);
y9=note_C4(8,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%我爱过的人没有一个留在身边
y0=note_C0(1,1.5*a);
y1=note_C4(5,b);
y2=note_C4(7,b);
y3=note_C4(10,b);
y4=note_C5(1,a);
y5=note_C4(10,a);
y6=note_C4(8,b);
y7=note_C4(6,b);
y8=note_C4(8,a);
y9=note_C4(5,a);
y10=note_C4(3,b);
y11=note_C4(5,b);
y12=note_C4(3,a);
y13=note_C4(1,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%寂寞它陪我过夜
y0=note_C0(1,a);
y1=note_C4(6,b);
y2=note_C4(5,b);
y3=note_C4(5,b);
y4=note_C4(6,a);
y5=note_C4(5,a);
y6=note_C4(6,a);
y7=note_C4(8,3*a);
y=[y,y0,y1,y2,y3,y4,y5,y6,y7];
%merry merry christmas
y0=note_C0(1,a);
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6];
%lonely lonely christmas
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,b);
y=[y,y1,y2,y3,y4,y5,y6];
%想祝福不知该给谁
y1=note_C5(3,b);
y2=note_C5(5,b);
y3=note_C5(6,a);
y4=note_C5(6,b);
y5=note_C5(5,a);
y6=note_C5(5,b);
y7=note_C5(1,a);
y8=note_C4(10,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%爱被我们打了死结
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,a);
y4=note_C5(8,b);
y5=note_C5(6,a);
y6=note_C5(6,b);
y7=note_C5(1,a);
y8=note_C5(3,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%lonely lonely christmas
y0=note_C0(1,a);
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6];
%merry merry christmas
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,b);
y=[y,y1,y2,y3,y4,y5,y6];
%写了卡片能寄给谁
y1=note_C5(3,b);
y2=note_C5(5,b);
y3=note_C5(6,a);
y4=note_C5(6,b);
y5=note_C5(5,a);
y6=note_C5(5,b);
y7=note_C5(1,a);
y8=note_C4(10,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%心碎的像街上的纸屑
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,a);
y4=note_C5(8,b);
y5=note_C5(6,a);
y6=note_C5(6,b);
y7=note_C5(1,a);
y8=note_C5(3,a);
y9=note_C5(1,3*a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%电话不接
y0=note_C0(1,a);
y1=note_C4(8,b);
y2=note_C4(8,b);
y3=note_C4(10,a);
y4=note_C5(1,b);
y=[y,y0,y1,y2,y3,y4];
%不要被人发现
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(3,a);
y4=note_C5(3,b);
y5=note_C5(1,b);
y6=note_C5(3,b);
y=[y,y1,y2,y3,y4,y5,y6];
%我整夜都关在房间
y1=note_C5(5,b);
y2=note_C5(8,b);
y3=note_C5(12,b);
y4=note_C5(8,b);
y5=note_C5(5,b);
y6=note_C5(3,b);
y7=note_C5(3,a);
y8=note_C5(1,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%狂欢的笑声
y1=note_C4(8,b);
y2=note_C4(8,b);
y3=note_C4(10,b);
y4=note_C4(6,b);
y5=note_C5(1,b);
y=[y,y1,y2,y3,y4,y5];
%听来像哀悼的音乐
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,b);
y4=note_C5(10,b);
y5=note_C5(3,a);
y6=note_C5(1,b);
y7=note_C5(3,b);
y8=note_C5(5,3*a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%眼框的泪
y0=note_C0(1,a);
y1=note_C4(8,b);
y2=note_C4(8,b);
y3=note_C4(10,a);
y4=note_C5(1,b);
y=[y,y0,y1,y2,y3,y4];
%温热冻结
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(3,a);
y4=note_C5(3,b);
y5=note_C5(1,b);
y6=note_C5(3,b);
y=[y,y1,y2,y3,y4,y5,y6];
%望着电视里的无聊节目
y1=note_C5(1,b);
y2=note_C5(3,b);
y3=note_C5(5,b);
y4=note_C5(8,b);
y5=note_C5(12,b);
y6=note_C5(8,b);
y7=note_C5(5,b);
y8=note_C5(3,b);
y9=note_C5(3,a);
y10=note_C5(1,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10];
%躺在沙发上
y1=note_C4(8,b);
y2=note_C4(8,b);
y3=note_C4(10,b);
y4=note_C4(6,b);
y5=note_C5(1,b);
y=[y,y1,y2,y3,y4,y5];
%变成没知觉的植物
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,b);
y4=note_C5(5,b);
y5=note_C5(3,a);
y6=note_C5(1,b);
y7=note_C5(3,b);
y8=note_C5(1,3*a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%merry merry christmas
y0=note_C0(1,a);
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6];
%lonely lonely christmas
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,b);
y=[y,y1,y2,y3,y4,y5,y6];
%想祝福不知该给谁
y1=note_C5(3,b);
y2=note_C5(5,b);
y3=note_C5(6,a);
y4=note_C5(6,b);
y5=note_C5(5,a);
y6=note_C5(5,b);
y7=note_C5(1,a);
y8=note_C4(10,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%爱被我们打了死结
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,a);
y4=note_C5(8,b);
y5=note_C5(6,a);
y6=note_C5(6,b);
y7=note_C5(1,a);
y8=note_C5(3,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%lonely lonely christmas
y0=note_C0(1,a);
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,1.5*a);
y=[y,y0,y1,y2,y3,y4,y5,y6];
%merry merry christmas
y1=note_C4(5,a);
y2=note_C4(8,a);
y3=note_C4(5,b);
y4=note_C4(8,b);
y5=note_C5(3,1.5*a);
y6=note_C5(5,b);
y=[y,y1,y2,y3,y4,y5,y6];
%写了卡片能寄给谁
y1=note_C5(3,b);
y2=note_C5(5,b);
y3=note_C5(6,a);
y4=note_C5(6,b);
y5=note_C5(5,a);
y6=note_C5(5,b);
y7=note_C5(1,a);
y8=note_C4(10,a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%心碎的像街上的纸屑
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,a);
y4=note_C5(8,b);
y5=note_C5(6,a);
y6=note_C5(6,b);
y7=note_C5(1,a);
y8=note_C5(3,a);
y9=note_C5(1,3*a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%谁来陪我过着圣诞节
y0=note_C0(1,a);
y1=note_C4(10,b);
y2=note_C5(1,b);
y3=note_C5(8,a);
y4=note_C5(8,b);
y5=note_C5(6,a);
y6=note_C5(6,b);
y7=note_C5(1,a);
y8=note_C5(3,a);
y9=note_C5(1,2*a);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%播放声音
sound(y,Fs);
子函数:?
%音调函数C4(音高,节奏)
%**************************
%改进处理办法5(自定义函数)
%定义采样频率
Fs=8192;
i=1;
%产生主音
for x=0:(1/Fs):rhythm %这里采样间隔取为1/Fs,并没有将0:rhythm中所有数据采完
%定义基础音阶对应的频率(C,C#,D,D#,E,F,F#,G,G#,A,A#,B)
freqs=[260,278,293,309,330,347,371,391,417,440,463,495];
%声音
y(:,i)=sin(2*pi*freqs(tone)*x);
i=i+1;
end
i=1;
%包络函数处理
for x=0:(2*pi/rhythm)/Fs:2*pi%为保证矩阵维度与主音一致,这里调整采样频率
y(:,i)=y(:,i).*(x/exp(x/(2*pi)*7));
i=i+1;
end
y=y/max(y);
%**************************
end
%音调函数C5(音高,节奏)
function y= note_C4( tone,rhythm )
%**************************
%改进处理办法(自定义函数)
%定义采样频率
Fs=8192;
i=1;
%产生主音
for x=0:(1/Fs):rhythm %这里采样间隔取为1/Fs,并没有将0:rhythm中所有数据采完
%定义基础音阶对应的频率(C,C#,D,D#,E,F,F#,G,G#,A,A#,B)
freqs=[521,556,586,618,660,695,742,782,835,880,927,990];
%声音
y(:,i)=sin(2*pi*freqs(tone)*x);
i=i+1;
end
i=1;
%包络函数处理
for x=0:(2*pi/rhythm)/Fs:2*pi%为保证矩阵维度与主音一致,这里调整采样频率
y(:,i)=y(:,i).*(x/exp(x/(2*pi)*7));
i=i+1;
end
y=y/max(y);
%**************************
end
|