小龟小车音乐简谱格式规范

下图是小伙伴们经常听到的《生日快乐歌》的音乐简谱,大家会发现真实的音乐简谱里面有非常多的不适合键盘输入的音符。
为了方便小伙伴们简单又快速的输入音乐简谱,小龟特意设计了一套小车的简谱。它和真实音乐简谱的格式基本上是差不多的,只是对一些无法直接用键盘文本输入的音符进行了匹配改造。
所以小伙伴们在实际使用过程中,如果真实音乐简谱上的符号在键盘上有的,就直接按键输入即可,没有的再参考下面的规则。



用编程的角度去分析真实音乐简谱

首先小龟和大家简单科普一下音乐简谱的几个基本元素:


在分析了多个简谱以后,小龟发现了其实大部分情况下的简谱都可以归纳成“后标识类”语法。也就是先一个代表基础音符的数字,然后跟随一堆对这个基础音符进行补充的定义,如下。


于是我们设计了下面的简谱语法对应规则。


小车音乐简谱和真实音乐简谱的对应规则

音阶的对应关系:

音阶简谱表示符号小龟小车表示符号备注
dou11 
re22 
mi33 
fa44 
sol55 
la66 
si77 
00 

说明:音阶部分和真实简谱的符号完全一致


重音低音的表示

音频真实简谱表示符号小龟小车表示符号备注
倍重音 2'' 小车用键盘上的两个单引号
表示为倍高音符     
高音
2'小车用键盘上的单引号
表示为高音符   
中音( 标准 )
 22两者一致 
低音
5, 小车用键盘上的逗号
表示为低音符
倍低音  5,, 小车用键盘上的两个逗号
表示为倍低音符  


音节

 音节  真实简谱表示符号小龟小车表示符号备注
全音2----2---- 
两者一致,用四个减号
二分音2-2-两者一致,用一个减号
四分音22两者一致
八分音22_小龟小车用键盘上的下划线来表示,
在音阶后面跟下划线
十六分音
2=小龟小车用键盘上的等号来表示  ,
在音阶后面跟下划线
 半音 4. 小龟小车用键盘的句号来表示半音 


其它符号

符号真实简谱表示符号 
小龟小车表示符号 
备注
空格空格空格两者一致,
都用空格表示 
延音
{ 6 - | 6 } 小龟小车用大括号来表示,
左大括号为连音开始,
右大括号为连音结束 
重复 [3_2_ | 1 ] 小车用中括号表示,
左中括号为重复开始,
右中括号为重复结束。
暂不支持复杂重复。 
和真实简谱一样,
左中括号省略代表从头开始重复
伴奏 | ( 2_5_ 6_2'_ )两者一致,
都用逗号表示 
段落   5_5_ | 6 5 1' | 两者一致,
都用竖线表示 


其它真实简谱上的符号,小车暂时还不支持,可以忽略不转换。


转换范例

生日快乐歌



转换以后的小龟小车的简谱如下:

#蜂鸣器接A2管脚
car.buzzer.music(A2, """
5_5_ | 6 5 1' | 7 0 5_5_ | 6 5 2' | 1' - 5_5_ | 5' 3' 1' |
7 {6 - | 6} 0 4'_4'_ | 3' 1' 2' | 1' - ( 5_5_ ) ]
""")