乐谱由音符,指令和歌词(可选)组成,兼容PC LOGO
的PLAY
指令。
- 音符包含
C
、D
、E
、F
、G
、A
、B
、P
八种,分别对应简谱的1、2、3、4、5、6、7和休止符。 - 如果音符前面带数字,表示该音符的时值。例如:
4C
表示一个四分音符的Do,16E
表示一个十六分音符的Mi。- 这个数字可以是浮点数,如
1.6C
,相当于0.625个全分音符的长度,即是5个八分音符的长度。 - 如果不带数字,则使用默认时值。可以用
L
指令调节。
- 这个数字可以是浮点数,如
- 音符后面跟
#
、b
可以调节音高,比如说C#
、Db
都可以表示升半音的Do。C##
可以表示Re,但是不建议这样使用。 - 音符后面跟
.
,可以把音符时间延长一半(附点音符),比如说4C.
的播放时间和4C 8C
相当。
- 指令包含
O
、T
、L
、S
、H
、R
、[
、]
几种,分别用于调节八度、速率、默认时值、断音、偏移、重置和和弦。 O
:调节八度O#
提高一个八度,Ob
降低一个八度;On
(其中n可取0~7)用来设定绝对八度。- 默认值是
O3
。
T
:设置速率(即是常说的BPM)Tn
(其中n可取30~1000的浮点数)设置每分钟播放四分音符的个数为n。- 默认值是
T120
。
L
:设置默认音符时值Ln
(其中n可取1~128的整数)设置默认的音符时值为n。比如说使用L8
之后,C D E
就和8C 8D 8E
等效。- 默认值是
L4
。
S
:设置断音Sn
(其中n可取0~100的浮点数)设置断音为n%。比如S50
表示每个音符有一半的时间有声音,一半的时间没有声音;S0
表示所有时间都有声音,相邻的音会连接起来(在Windows上暂时无法实现);S100
则表示完全没有声音。- 默认值是
S10
。
H
:设置偏移H#
偏移提高一个半音,Hb
偏移降低一个半音;Hn
(其中n可取-12~12的整数)(未来可能会支持浮点数)将音符偏移n个半音。比如H1 C
和H0 C#
等效。- 默认值是
H0
。 - 适当使用可以减少乐谱文件的大小,但是与
PC LOGO
不兼容
R
:重置- 将O、T、L、S、H的设置重置为默认值。
- 载入新乐谱的时候会自动重置
[
、]
用来标识和弦的开始和结束。[]
内的音(除了最后一个)将会被快速播放,来产生类似和弦的效果。- 和弦中的音长度为0.1秒,为了保证时间的正确,最后的音将会被减去相应的时间。
歌词是用两个*
号包围的文本,中间用|
符号分隔,由|
隔开的内容对应后面的一个音符。
每一对*
符号表示一行歌词,末尾会自动换行,如果在新的一行歌词出现之前上一行歌词还未用完,则上一行剩余的歌词会被丢弃。
例如:
*一|闪|一|闪|亮|晶|晶*
C C G G A A 2G
“一”对应第一个C
,“闪”对应第二个C
,以此类推,直到最后一个“晶”对应2G
。
又如:
*今|年||の|夏||の|匂||い|*
8F G G# 8G C C 8C# D# F 8D# 8P
“年”对应G
,而随后的G#
则对应空字符串,在播放时看起来就像是“年”对应了G G#
。
注意:休止符及和弦内的音也会分配歌词,但是不会对指令分配歌词。
- 除了降调、降低八度和设置偏移必须用小写的
b
之外,其他音符和指令对大小写不敏感。- 但是请注意,在中间没有空格的时候,
db
表示降半音的Re,而DB
表示Re和Xi两个音。
- 但是请注意,在中间没有空格的时候,
- 双斜线
//
直到行尾的内容视为注释。