简谱知识

首先了解简谱基础知识
表示音的高低的基本符号,用七个阿拉伯数字标记。

它们的写法和读法如下:

  • 写法: 1 2 3 4 5 6 7
  • 读法: Do Re Mi Fa Sol La Si

1˙\dot{1}1˙ 表示高音Do
111 表示中音Do
1.\mathop{1}\limits_{.}.1​ 表示低音Do

音符名称 写法 时值
全音符 X−−−X---X−−− 四拍
二分音符 X−X-X− 二拍
四分音符 XXX 一拍
八分音符 X‾\underline{X}X​ 半拍
十六分音符 X‾‾\underline{\underline{X}}X​​ 四分之一拍
三十二分音符 X‾‾‾\underline{\underline{\underline{X}}}X​​​ 八分之一拍
附点音符 . 前面音符时值的一半
休止符 0 一拍

MATLAB变量表示

音符变量以三部分表示

  • l/m/h/ol/m/h/ol/m/h/o:低音/中音/高音/休止符
  • 1/2/3/4/5/6/71/2/3/4/5/6/71/2/3/4/5/6/7:Do/Re/Mi/Fa/Sol/La/Si
  • 1/2/4/8/161/2/4/8/161/2/4/8/16:全音符/二分音符/四分音符/八分音符/十六分音符

以下面简谱为例
则应表示为:
m68,m616,m616,m62,m616,m316,m616,m716m68,m616,m616,m62,m616,m316,m616,m716m68,m616,m616,m62,m616,m316,m616,m716
h18,h116,h116,h12,h18,h28h18,h116,h116,h12,h18,h28h18,h116,h116,h12,h18,h28

基础代码

key.m

function g=key(p, n, fs)
t=0 : 1/fs : 3/n;
g=sin(2*pi* fre(p) *t);

fre.m

function f = fre(p)
f=440*2^((p-9)/12);

song.m

clear;
clc;
fs = 44100; % 频率%% 定义音节
m21 = key(2, 1, fs); % 中音re全音符
% 低音
l12 = key(-12, 2, fs); %低音do二分音符
l22 = key(-10, 2, fs);
l32 = key(-8, 2, fs);
l42 = key(-7, 2, fs);
l52 = key(-5, 2, fs);
l62 = key(-3, 2, fs);
l72 = key(-1, 2, fs);
% 中音
m12 = key(0, 2, fs);
m22 = key(2, 2, fs);
m32 = key(4, 2, fs);
m42 = key(5, 2, fs);
m52 = key(7, 2, fs);
m62 = key(9, 2, fs);
m72 = key(11, 2, fs);
% 高音
h12 = key(12, 2, fs);
h22 = key(14, 2, fs);
h32 = key(16, 2, fs);
h42 = key(17, 2, fs);
h52 = key(19, 2, fs);
h62 = key(21, 2, fs);
h72 = key(23, 2, fs);% 低音
l14 = key(-12, 4,
l24 = key(-10, 4, fs);
l34 = key(-8, 4, fs);
l44 = key(-7, 4, fs);
l54 = key(-5, 4, fs);
l64 = key(-3, 4, fs);
l74 = key(-1, 4, fs);
% 中音
m14 = key(0, 4, fs);
m24 = key(2, 4, fs);
m34 = key(4, 4, fs);
m44 = key(5, 4, fs);
m54 = key(7, 4, fs);
m64 = key(9, 4, fs);
m74 = key(11, 4, fs);
% 高音
h14 = key(12, 4, fs);
h24 = key(14, 4, fs);
h34 = key(16, 4, fs);
h44 = key(17, 4, fs);
h54 = key(19, 4, fs);
h64 = key(21, 4, fs);
h74 = key(23, 4, fs);% 低音
l18 = key(-12, 8, fs);
l28 = key(-10, 8, fs);
l38 = key(-8, 8, fs);
l48 = key(-7, 8, fs);
l58 = key(-5, 8, fs);
l68 = key(-3, 8, fs);
l78 = key(-1, 8, fs);
% 中音
m18 = key(0, 8, fs);
m28 = key(2, 8, fs);
m38 = key(4, 8, fs);
m48 = key(5, 8, fs);
m58 = key(7, 8, fs);
m68 = key(9, 8, fs);
m78 = key(11, 8, fs);
% 高音
h18 = key(12, 8, fs);
h28 = key(14, 8, fs);
h38 = key(16, 8, fs);
h48 = key(17, 8, fs);
h58 = key(19, 8, fs);
h68 = key(21, 8, fs);
h78 = key(23, 8, fs);% 低音
l116 = key(-12, 16, fs);
l216 = key(-10, 16, fs);
l316 = key(-8, 16, fs);
l416 = key(-7, 16, fs);
l516 = key(-5, 16, fs);
l616 = key(-3, 16, fs);
l716 = key(-1, 16, fs);
% 中音
m116 = key(0, 16, fs);
m216 = key(2, 16, fs);
m316 = key(4, 16, fs);
m416 = key(5, 16, fs);
m516 = key(7, 16, fs);
m616 = key(9, 16, fs);
m716 = key(11, 16, fs);
% 高音
h116 = key(12, 16, fs);
h216 = key(14, 16, fs);
h316 = key(16, 16, fs);
h416 = key(17, 16, fs);
h516 = key(19, 16, fs);
h616 = key(21, 16, fs);
h716 = key(23, 16, fs);% 休止符
o2 = key(-inf, 2, fs);
o4 = key(-inf, 4, fs);
o8 = key(-inf, 8, fs);part1 = [m68 m616 m616 m62 m616 m316 m616 m716 h18 h116 h116 h12  h18 h28 m52 m44 m34 m21 o4];
sound(part1, fs)

MATLAB制作歌曲相关推荐

  1. 用Matlab生成歌曲,MATLAB制作歌曲

    简谱知识 首先了解简谱基础知识 表示音的高低的基本符号,用七个阿拉伯数字标记. 它们的写法和读法如下: 写法: 1 2 3 4 5 6 7 读法: Do Re Mi Fa Sol La Si 1 ˙ ...

  2. Matlab 制作《最炫民族风》弱爆了,附代码

    Matlab 制作<最炫民族风>弱爆了,附代码 分类: matlab2012-05-22 22:12 1212人阅读 评论(0) 收藏 举报 matlabreference [plain] ...

  3. MATLAB写歌曲(艺术与科学的 MEET)

    MATLAB写歌曲(艺术与科学的 MEET) 本人认为用 matlab 可以极大锻炼对于音乐和艺术的理性科学认识,我编的这个是孙燕姿的<遇见>,以表达这种艺术和科学的完美邂逅. 理解这样一 ...

  4. 整理:用matlab创作歌曲

    (一部分) 前两天在网上看到了有人用matlab演奏出最炫民族风,用了这么多年matlab还是第一次知道有这种玩法,于是把他的代码研究了一下,自己制作了一首歌曲,在这里分享一下. 首先介绍matlab ...

  5. 整理:用matlab创作歌曲(一)

    前两天在网上看到了有人用matlab演奏出最炫民族风,用了这么多年matlab还是第一次知道有这种玩法,于是把他的代码研究了一下,自己制作了一首歌曲,在这里分享一下. 首先介绍matlab函数的玩法: ...

  6. matlab bad apple,【bad apple】matlab制作矩阵苹果~

    有屏幕的地方就有bad apple 那么作为一名工科生,熟练的操♂作马桶萝卜(matlab)是一项基本技能 下面开始讲解如何用matlab制作别具一格的"矩阵苹果"~ 实验环境 m ...

  7. c#winform演练 ktv项目 制作歌曲播放列表

    c#winform演练 ktv项目 制作歌曲播放列表 关于播放列表 刚启动的音乐软件有播放列表 我们也要实现一个 演练 实现泛型歌曲数组 定义数组 加载歌曲

  8. 接着奏乐接着舞 Matlab制作圣诞树和圣诞快乐歌

    0.前言 时隔一年,又是一年圣诞时.仔细想想,距离上次更新已经过去了很久很久,打工人实在时间精力有限,疏于更新了,感谢还没取关的朋友们- 去年差不多这个时候的一篇关于Matlab画圣诞树的推送最近受到 ...

  9. MATLAB 制作gif动态图

    MATLAB 制作gif动态图的基本思想就是,将一张张的静态图组合成一张能动的gif图片,并保存到相应的位置. 那么,要想制作一张动态图,首先要有若干个静态图,并且他们的索引值是连续的.下面先说一下m ...

  10. matlab仿真动画,用matlab制作简单仿真动画

    用matlab制作简单仿真动画,并生成.avi格式的电影文件 MATALB知识点2008-05-01 13:17:54 阅读152 评论0 字号:大中小订阅 第一种形式:利用for循环,在一定时间内控 ...

最新文章

  1. python (ploit3)hexun
  2. js定义鼠标经过变换图片
  3. linux下的%zu
  4. Hasor JDBC 的难关,嵌套事务处理思路
  5. 中断方式下进行串口通讯的正确方法
  6. docker多个容器一起打包_docker如何将容器打包成镜像
  7. 为什么macOS比Windows快那么多,是硬件的缘故么?
  8. Ghost本地安装highlight.js使代码高亮
  9. Bailian2747 Bailian4146 数字方格【暴力】
  10. 我是如何把SpringBoot项目的并发提升十倍量级的
  11. LOG. Supervisor基本使用
  12. 电磁场计算的服务器性能指标,有限公式电磁场数值计算理论与性能
  13. 浅析redis雪崩击穿和穿透
  14. 写论文和平时学习时有用的网站
  15. STM32F407读取ADS1115数据
  16. centos7 安装pg_repack
  17. i.MXU6LL - 制作烧录SD卡详细步骤
  18. 基于C#+SQL Server实现(Web)学生选课管理系统【100010309】
  19. 100 个网络基础知识,全部掌握顶半个网络高手
  20. 最全动态规划题型详解

热门文章

  1. 混合效应模型和广义线性模型计算R方的函数sem.model.fits
  2. codebook 背景减除
  3. Linux 用户管理
  4. unity怎么制作云飘动_现实的动态云系统特效脚本Unity3D素材资源
  5. 全面理解Gatner的企业信息管理成熟度模型
  6. 戴尔电脑vostro恢复出厂(预装Win10)的设置方法
  7. 2022电工(初级)考试模拟100题及模拟考试
  8. 【小程序开发】uniapp引入iconfont图标及使用方式
  9. 微搭低代码入门教程02
  10. 【音频】音频文件格式以及相关参数