基于乐理和MATLAB自身sound函数,可以实现MATLAB演奏音乐,本文中以邓紫棋《光年之外》为例实现了该功能。

主函数代码为:

Fs = 44100;
y1=gen_wave2(3,0.5);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(2,0.25);
y5=gen_wave2(1,0.25);
y6=gen_wave2(1,0.25);
y7=gen_wave2(14,0.25);
y8=gen_wave2(14,0.25);
y9=gen_wave2(1,0.25);
y10=gen_wave2(1,0.25);
y11=gen_wave2(22,0.5);
y=[y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11];
%感受停在我发端的之间;
y1=gen_wave2(12,0.25);%12是5的低音;15是1的高音
y2=gen_wave2(12,0.25);
y3=gen_wave2(12,0.75);
y4=gen_wave2(3,0.75);
y5=gen_wave2(12,0.25);
y6=gen_wave2(12,0.25);
y7=gen_wave2(12,0.75);
y8=gen_wave2(2,0.5);
y9=gen_wave2(22,0.5);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%如何瞬间冻结时间;
y1=gen_wave2(3,0.25);%12是5的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(2,0.25);
y5=gen_wave2(1,0.25);
y6=gen_wave2(1,0.25);
y7=gen_wave2(14,0.25);
y8=gen_wave2(14,0.25);
y9=gen_wave2(1,0.25);
y10=gen_wave2(1,0.5);
y11=gen_wave2(22,0.25);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11];
%记住望着我坚定的双眼
y1=gen_wave2(12,0.25);%12是5的低音;15是1的高音
y2=gen_wave2(12,0.25);
y3=gen_wave2(12,0.5);
y4=gen_wave2(3,0.75);
y5=gen_wave2(12,0.25);
y6=gen_wave2(12,0.25);
y7=gen_wave2(12,0.5);
y8=gen_wave2(2,0.5);
y9=gen_wave2(22,0.25);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%也许已经没有明天
y1=gen_wave2(14,0.125);%8是1的低音;15是1的高音
y2=gen_wave2(14,0.125);
y3=gen_wave2(14,0.25);
y4=gen_wave2(1,0.125);
y5=gen_wave2(1,0.125);
y6=gen_wave2(1,0.25);
y7=gen_wave2(3,0.5);
y8=gen_wave2(22,0.5);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8];
%面对浩瀚的星海;
y1=gen_wave2(14,0.125);%8是1的低音;15是1的高音
y2=gen_wave2(14,0.125);
y3=gen_wave2(14,0.125);
y4=gen_wave2(14,0.25);
y5=gen_wave2(1,0.125);
y6=gen_wave2(1,0.125);
y7=gen_wave2(1,0.25);
y8=gen_wave2(3,0.25)
y9=gen_wave2(22,0.5);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9];
%我们微小得像尘埃;
y1=gen_wave2(1,0.125);%8是1的低音;15是1的高音
y2=gen_wave2(2,0.125);
y3=gen_wave2(3,0.25);
y4=gen_wave2(22,0.25);
y5=gen_wave2(1,0.25);
y6=gen_wave2(3,0.25);
y7=gen_wave2(22,0.25);
y8=gen_wave2(1,0.25)
y9=gen_wave2(2,0.25);
y10=gen_wave2(22,1);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10];
%漂浮在 一片无奈
y1=gen_wave2(14,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(1,0.25);
y3=gen_wave2(1,0.25);
y4=gen_wave2(2,0.25);
y5=gen_wave2(2,0.25);
y6=gen_wave2(3,0.25);
y7=gen_wave2(3,0.375);
y8=gen_wave2(5,0.125);
y9=gen_wave2(5,0.25);
y10=gen_wave2(6,0.25);
y11=gen_wave2(6,0.5);
y12=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12];
%缘分让我们相遇乱世以外
y1=gen_wave2(1,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(2,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(3,0.25);
y5=gen_wave2(3,0.25);
y6=gen_wave2(5,0.25);
y7=gen_wave2(5,0.375);
y8=gen_wave2(1,0.125);
y9=gen_wave2(3,0.25);
y10=gen_wave2(2,0.25);
y11=gen_wave2(2,0.5);
y12=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12];
%命运却要我们危难中相爱;
y1=gen_wave2(14,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(1,0.25);
y3=gen_wave2(1,0.25);
y4=gen_wave2(2,0.25);
y5=gen_wave2(2,0.25);
y6=gen_wave2(3,0.25);
y7=gen_wave2(3,0.375);
y8=gen_wave2(5,0.125);
y9=gen_wave2(5,0.25);
y10=gen_wave2(6,0.25);
y11=gen_wave2(6,0.5);
y12=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12];
%也许未来遥远在光年之外
y1=gen_wave2(1,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(2,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(3,0.25);
y5=gen_wave2(3,0.25);
y6=gen_wave2(5,0.25);
y7=gen_wave2(5,0.375);
y8=gen_wave2(1,0.125);
y9=gen_wave2(3,0.25);
y10=gen_wave2(2,0.25);
y11=gen_wave2(2,0.25);
%y12=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11];
%我愿守候未知里为你等待
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);
y5=gen_wave2(1,0.125);
y6=gen_wave2(5,0.125);
y7=gen_wave2(5,0.25);
y8=gen_wave2(5,0.25);
y9=gen_wave2(5,0.25);
y10=gen_wave2(1,0.375);
y11=gen_wave2(1,0.25);
y12=gen_wave2(13,0.25);
y13=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%我没想到为了你我能疯狂到
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);
y5=gen_wave2(1,0.125);
y6=gen_wave2(5,0.125);
y7=gen_wave2(5,0.25);
y8=gen_wave2(5,0.25);
y9=gen_wave2(5,0.25);
y10=gen_wave2(1,0.375);
y11=gen_wave2(1,0.25);
y12=gen_wave2(14,0.25);
y13=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%山崩海啸没有你根本不想逃
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);%此处6应该不准,仍写为1
y5=gen_wave2(1,0.125);
y6=gen_wave2(5,0.125);
y7=gen_wave2(5,0.25);
y8=gen_wave2(5,0.25);
y9=gen_wave2(5,0.25);
y10=gen_wave2(1,0.375);
y11=gen_wave2(1,0.25);
y12=gen_wave2(13,0.25);
y13=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%我的大脑为了你已经疯狂到
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);%
y5=gen_wave2(1,0.125);
y6=gen_wave2(5,0.125);
y7=gen_wave2(5,0.25);
y8=gen_wave2(5,0.25);
y9=gen_wave2(5,0.25);
y10=gen_wave2(1,0.375);
y11=gen_wave2(1,0.25);
y12=gen_wave2(14,0.25);
y13=gen_wave2(22,1.25);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%脉搏心跳没有你根本不重要
y1=gen_wave2(14,0.5);%8是1的低音;15是1的高音
y2=gen_wave2(13,0.25);
y3=gen_wave2(1,0.25);
y4=gen_wave2(14,0.5);%
y5=gen_wave2(12,0.5);
y6=gen_wave2(14,0.5);
y7=gen_wave2(22,0.5);
y8=gen_wave2(1,0.25);
y9=gen_wave2(14,0.25);
y10=gen_wave2(12,0.5);
y11=gen_wave2(9,0.5);
y12=gen_wave2(12,0.5);
y13=gen_wave2(10,0.25);
y14=gen_wave2(22,1);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14];
%也许航道以外是醒不来的梦;
y1=gen_wave2(1,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(14,0.5);
y3=gen_wave2(12,0.5);
y4=gen_wave2(2,0.25);%
y5=gen_wave2(22,0.5);
y6=gen_wave2(1,0.25);
y7=gen_wave2(1,0.5);
y8=gen_wave2(14,0.5);
y9=gen_wave2(14,0.5);
y10=gen_wave2(1,0.5);
y11=gen_wave2(2,0.25);
y12=gen_wave2(22,0.5);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12];
%乱世以外,是纯粹的相拥
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);
y5=gen_wave2(1,0.125);
y6=gen_wave2(5,0.125);
y7=gen_wave2(5,0.25);
y8=gen_wave2(5,0.25);
y9=gen_wave2(5,0.25);
y10=gen_wave2(1,0.375);
y11=gen_wave2(1,0.25);
y12=gen_wave2(13,0.25);
y13=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%我没想到为了你我能疯狂到
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);
y5=gen_wave2(1,0.125);
y6=gen_wave2(5,0.125);
y7=gen_wave2(5,0.25);
y8=gen_wave2(5,0.25);
y9=gen_wave2(5,0.25);
y10=gen_wave2(1,0.375);
y11=gen_wave2(1,0.25);
y12=gen_wave2(14,0.25);
y13=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%山崩海啸没有你根本不想逃
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);%此处6应该不准,仍写为1
y5=gen_wave2(1,0.125);
y6=gen_wave2(5,0.125);
y7=gen_wave2(5,0.25);
y8=gen_wave2(5,0.25);
y9=gen_wave2(5,0.25);
y10=gen_wave2(1,0.375);
y11=gen_wave2(1,0.25);
y12=gen_wave2(13,0.25);
y13=gen_wave2(22,0.75);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%我的大脑为了你已经疯狂到
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);%
y5=gen_wave2(1,0.125);
y6=gen_wave2(5,0.125);
y7=gen_wave2(5,0.25);
y8=gen_wave2(5,0.25);
y9=gen_wave2(5,0.25);
y10=gen_wave2(1,0.375);
y11=gen_wave2(1,0.25);
y12=gen_wave2(14,0.25);
y13=gen_wave2(22,1.25);
y=[y,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13];
%脉搏心跳没有你根本不重要
y1=gen_wave2(4,0.25);%8是1的低音;15是1的高音
y2=gen_wave2(3,0.25);
y3=gen_wave2(2,0.25);
y4=gen_wave2(1,0.25);%
y5=gen_wave2(22,0.125);
y=[y,y1,y2,y3,y4,y5];
%我没想到
sound(y,Fs);

用到的函数代码为:

function y = gen_wave2( tone, rythm )

%Fs = 8192;
    Fs = 44100;
   %freqs = [ 262, 294,330, 349, 392, 440, 494, 131, 147, 165, 175, 196, 220, 247, 523,587,659,698,784,880,988,0,3520];
   freqs=[262, 294,330, 349, 392, 440, 494, 131,147,165,175,196,220,247,523, 587, 659, 698, 783, 880, 988,0,3520]
    x = linspace(0, 2 * pi * rythm, floor(Fs * rythm));

y = sin(freqs(tone) * x) .*(1- x/(rythm * 2 *pi));
    
end

MATLAB创建音乐《光年之外》相关推荐

  1. 计算机弹歌光年之外谱子,邓紫棋《光年之外》完整钢琴谱

    [www.hywsbj.com--图表展板] <光年之外>是由邓紫棋作词.作曲并演唱的歌曲,是电影<太空旅客>中国区主题曲.片尾曲,于2016年12月30日发行. 2017年6 ...

  2. 《MATLAB PROJECT》用MATLAB演奏音乐

    用MATLAB演奏音乐 (1) 采样率 (2) 十二平均律 (3) 声音强弱效果控制 (4) 声音播放时间控制 (5) 自定义音符函数 (6) <River Flows In You>演奏 ...

  3. 在Windows 7 Media Center中创建音乐播放列表

    One of the new features in Windows 7 Media Center is the ability to easily create music playlists wi ...

  4. 使用HTML5和JavaScript创建音乐播放列表

    目录 项目背景 项目先决条件 项目文件 HTML5音频标签概述 HTML5音频标签属性 带有JavaScript的音频标签 HTML5媒体属性 HTML5媒体方法 HTML5媒体事件 音乐播放器 获取 ...

  5. MATLAB创建符号变量和符号表达式

    MATLAB创建符号变量和符号表达式 MATLAB符号运算处理的主要对象是符号或符号表达式,为此要使用一种新的数据类型-符号变量.符号表达式的创建可由符号''或sym函数来完成,sym一次只能创建一个 ...

  6. matlab音乐信号处理,数字信号处理课程设计---基于 MATLAB 的音乐信号处理和分析...

    数字信号处理课程设计---基于 MATLAB 的音乐信号处理和分析 1<数字信号处理>课程设计设计题目:基于 MATLAB 的音乐信号处理和分析一.课程设计的目的本课程设计通过对音乐信号的 ...

  7. 王慧文的光年之外离OpenAI还有多远?

    ‍数据智能产业创新服务媒体 --聚焦数智 · 改变商业 ChatGPT的火爆让AIGC站上了风口,行业迎来重大变局. AIGC热潮席卷之下,大厂人纷纷投身AI大模型创业大军,大模型创业"百团 ...

  8. 计算机弹歌光年之外谱子,光年之外(完整版)-邓紫棋-和弦谱-《弹吧》官网tan8.com-和弦谱大全,学吉他,秀吉他...

    E 此浏览器不支持画布 Am F 感受停在我发端的指尖 C Em 如何瞬间 冻结时间 Am F 记住望着我坚定的双眼 C Em 也许已经 没有明天 F 面对浩瀚的星海 Am 我们微小得像尘埃 C Am ...

  9. matlab合成和弦,基于Matlab实现音乐识别与自动配置和声的功能.pdf

    基于Matlab实现音乐识别与自动配置和声的功能 杨若芳,等 基于Matlab实现音乐识别与自动配置和声的功能 1 2 杨若芳 ,项 顶 1 (甘肃兰州城市学院教育学院 甘肃兰州,730070) 2 ...

最新文章

  1. 全国首个窄带物联网实验局落户福州 助力智慧城市建设
  2. 前端开发-日常开发沉淀之生产环境与开发环境
  3. db2 日期英式写法_英文日期的写法
  4. python3数据类型:Tuple(元组)
  5. [Bzoj4260]Codechef REBXOR(trie树)
  6. Rinne Loves Edges
  7. 大小端 Big-Endian 与 Little-Endian
  8. zanli_android_1.1.0,【轻松集赞】写了个涉嫌混淆微信官方服务的小程序
  9. 《深入理解Java虚拟机》 第4章 虚拟机性能监控与故障处理工具
  10. 为什么要在2021年放弃Jenkins?我已经对他失去耐心了...
  11. hex和base32和base64的区别与联系
  12. SPSS 探索性因素分析与验证性因素分析的区别【SPSS 034期】
  13. roundcube邮箱手机端_用户换了手机号码后,产品该如何应对?
  14. IDEA如何自动/手动导入包
  15. 7张图带你轻松入门RocketMQ
  16. 获得网易云音乐歌曲播放的url
  17. ERROR tool.ExportTool: Error during export: Export job failed!错误解析
  18. 前端css——css三大布局模型
  19. 使用 CSS 创建自定义鼠标游标
  20. LintCode 岛屿的个数

热门文章

  1. [Linux]搭建Anki同步服务器(针对Anki2.0)
  2. 算法研究NO7.数字滤波
  3. 浮点数的加减运算(阶码、尾数)
  4. An Auto-tuning Framework for Autonomous Vehicles
  5. 计算机毕业设计(论文+代码+数据库+查重)
  6. Excel-快速填充
  7. 如何直接打印int[]数组
  8. 经典Seq2Seq与注意力Seq2Seq模型结构详解
  9. Bearer ${Token},放置在HTTP头中发送
  10. SQL 多表联合查询