首页 > 其他 > 详细

【Matlab编程】生日快乐歌(显示歌词)—matlab版

时间:2014-05-25 07:27:25      阅读:655      评论:0      收藏:0      [点我收藏+]
 clear all
 A4=440;%标准音A4 不同的曲调音调不同scale的取值范围不同
 pt=44100;p0=pt/2;%频率
 scale=A4/2^(9/12)*2.^((-12:11)/12);%这里可以调节音调高低,eg:改变式子中的-12:11为0:23
 map=[1 3 5 6 8 10 12 13 15 17 18 20 22 24 25];%音符,这个需要看曲谱编码
 score=[5 5 6 5 8 7 5 5 6 5 9 8 5 5 12 10 8 7 6 6 11 11 10 8 9 8];
 rhythm=[0.5 0.5 1 1 1 2 0.5 0.5 1 1 1 2  0.5 0.5 1 1 1  0.5 0.5 2 0.5 0.5 1 1 1 2];%节拍,这个需要看曲谱编码
 lyric=['祝你生日快乐祝你生日快乐祝你生日快乐祝你生日快乐  '];
for i=1:length(score)
if(i<19) 
fprintf(1,'%c',lyric(i))
elseif (i>20) 
fprintf(1,'%c',lyric(i-2)) 
end

if (i==6||i==12||i==18)
disp('!'); 
fprintf(1,'\n');
end
if i==26
disp('!');
end  
wavplay(sin((1:rhythm(i)*p0)/pt*2*pi*scale(map(score(i)))),pt);

end


【Matlab编程】生日快乐歌(显示歌词)—matlab版,布布扣,bubuko.com

【Matlab编程】生日快乐歌(显示歌词)—matlab版

原文:http://blog.csdn.net/tengweitw/article/details/26811621

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!