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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值