100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > MATLAB生成一段音乐《小星星》

MATLAB生成一段音乐《小星星》

时间:2019-07-13 17:59:10

相关推荐

MATLAB生成一段音乐《小星星》

首先,编写一个音乐函数文件,描述音色,节拍。具体直接搜B站即可有详细教学。

function y=music(tone,rhythm)Fs = 8192;freqs=[523,587,659,698,783,880,988];%七个音符对应的频率x=linspace(0,2*pi*rhythm,floor(Fs*rhythm));y=sin(freqs(tone)*x).*(1-x./(rhythm.*2*pi));end

由此可以生成几个音符了,七个代码如下,y1=music(1,0.5),括号内的第一个数字与简谱对应。

第二个数字与节拍对应,节拍小,听起来轻快一些。

y1=music(1,0.5);y2=music(2,0.5);y3=music(3,0.5);y4=music(4,0.5);y5=music(5,0.5);y6=music(6,0.5); y7=music(7,0.5);y11=music(1,1);y22=music(2,1);y33=music(3,1);y44=music(4,1);y55=music(5,1);y66=music(6,1); y77=music(7,1);

然后直接编写对应的简谱即可在函数文件下运行;如一句的运行

Fs=8192,%(视频有讲解)y=[y1,y1,y5 ,y5,y6,y6,y55];plot(y)%看看波形,可以省略此行sound(y,Fs)

y也可分开一句句编写,然后再合并成一个大行矩阵。

如下完整代码:(注意与函数文件在同一路径)

%% 使用music函数,写出对应音符及节拍clc,clear;Fs=8192;%采样频率y1=music(1,0.5);y2=music(2,0.5);y3=music(3,0.5);y4=music(4,0.5);y5=music(5,0.5);y6=music(6,0.5); y7=music(7,0.5);y11=music(1,1);y22=music(2,1);y33=music(3,1);y44=music(4,1);y55=music(5,1);y66=music(6,1); y77=music(7,1);%%%直接看音乐简谱,一句句转化成代码disp('小星星')j1=[y1,y1,y5 ,y5,y6,y6,y55];disp('-闪一闪亮晶晶')j2=[ y4,y4,y3,y3,y2,y2,y11];disp('满天都是小星星')j3=[y5,y5,y4,y4,y3,y3,y22];disp('挂在天上放光明')j4=[y5,y5,y4,y4,y3,y3,y22];disp('好像许多小眼睛')j5=[y1,y1,y5,y5,y6,y6,y55];disp('一闪一闪亮晶晶')j6=[y4,y4,y3,y3,y2,y2,y1,y1];disp('满天都是小星星')y=[j1,j2,j3,j4,j5,j6,j3,j4];%合并每一句歌词plot(y)%看看波形sound(y,Fs)

在函数文件与七个音符对应文件的基础上,可以照着简谱编其他的音乐了。

不过有的不好听(有修改意见欢迎来交流)。

一音乐

clear,clcFs=8192;y1=music(1,0.5);y2=music(2,0.5);y3=music(3,0.5);y4=music(4,0.5);y5=music(5,0.5);y6=music(6,0.5); y7=music(7,0.5);y11=music(1,1);y22=music(2,1);y33=music(3,1);y44=music(4,1);y55=music(5,1);y66=music(6,1); y77=music(7,1);j1=[y5,y66,y3,y5,y1,y7,y6,y11,y2];j2=[y3,y6,y5,y3,y2,y11];j3=[y5,y6,y66,y6,y5,y7,y6,y6,y7,y1];j4=[y2,y3,y5];j5=[y3,y5,y3,y5,y5,y5,y1,y6,y11];y=[j1,j2,j3,j4,j5];plot(y)sound(y,Fs)

另一文件

Fs=8192;y1=music(1,0.25);y2=music(2,0.25);y3=music(3,0.25);y4=music(4,0.25);y5=music(5,0.25);y6=music(6,0.25); y7=music(7,0.25);y11=music(1,0.5);y22=music(2,0.5);y33=music(3,0.5);y44=music(4,0.5);y55=music(5,0.5);y66=music(6,0.5); y77=music(7,0.5);j1=[y6,y3,y5,y6,y6,y3,y5,y6,y6];j2=[y6,y3,y5,y6,y6,y3,y5,y3,y3];j3=j1;j4=j1;j5=[y3,y6,y6, y6,y3, y3,y3,y3,y3, y3,y6];%如果华陀再世 崇洋都被医治j6=[y3,y3,y3, y3,y3,y3,y3, y3,y3,y3,y3, y3,y6];%外邦来学汉字 激发我民族意识j7=[y6,y3,y3, y3,y3,y3,y3, y3,y3,y3,y3 y3,y6];%马钱子 决明子 苍耳子 还有莲子j8=[y3,y3,y3, y3,y3,y3,y3, y3,y3,y3,y3, y3,y6];%黄药子 苦豆子 川楝子 我要面子j9=[y3,y1,y1, y6, y3, y3,y3,y3,y3, y3,y6];%用我的方式 改写一部历史% 没什么别的事% % 跟着我念几个字% % 山药 当归 枸杞% % Go% % 山药 当归 枸杞% % Go% % 看我抓一把中药% % 服下一帖骄傲% % 我表情悠哉 跳个大概% % 动作轻松自在 你学不来% % 霓虹的招牌 调整好状态% % 在华丽的城市 等待醒来% % 我表情悠哉 跳个大概% % 用书法书朝代 内力传开% % 豪气挥正楷 给一拳对白% % 结局平躺下来 看谁厉害% % 练成什么丹 揉成什么丸% % 鹿茸切片不能太薄% % 老师傅的手法不能这样乱抄% % 龟苓膏 云南白药% % 还有冬虫夏草% % 自己的音乐 自己的药% % 份量刚刚好% % 听我说中药苦% % 抄袭应该更苦% % 快翻开本草纲目% % 多看一些善本书% % 蟾苏 地龙 已翻过江湖% % 这些老祖宗的辛苦% % 我们一定不能输% % 就是这个光% % 就是这个光 一起唱% % 就是这个光 就是这个光 嘿% % 让我来调个偏方% % 专治你媚外的内伤% % 已扎根千年的汉方% % 有别人不知道的力量% % 我表情悠哉 跳个大概% % 动作轻松自在 你学不来% % 霓虹的招牌 调整好状态% % 在华丽的城市 等待醒来% % 我表情悠哉 跳个大概% % 用书法书朝代 内力传开% % 豪气挥正楷 给一拳对白% % 结局平躺下来 看谁厉害% % 蹲 小僵尸蹲 小僵尸蹲% % 又蹲 小僵尸蹲 暗巷点灯% % 又蹲 小僵尸蹲 钻萝卜坑% % 又蹲 小僵尸蹲 念咒语哼% % 蹲 小僵尸蹲 小僵尸蹲% % 又蹲 小僵尸蹲 暗巷点灯% % 又蹲 小僵尸蹲 钻萝卜坑% % 又蹲 小僵尸蹲 念咒语哼y=[j1,j2,j3,j4,j5,j6,j7,j8,j9];plot(y)sound(y,Fs)%太难听了,不管了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。