什么是线性乐谱
线性乐谱(dapume)是一种用 ASCII 字符书写简单乐谱的方式,再由程序渲染为 MIDI。
它的每一行要么是「参数行」(修改调号、速度等演奏参数),要么是「音符行」(描述音符)。
C 大调、120bpm 的一段上行音阶
1=C 120bpm
1234567参数行
参数行修改演奏参数,自下一行起生效。不同参数用空格连接、无顺序、大小写敏感。
调号以 1= 开头,后接 CDEFGAB 之一,可再接 #b., 表示半音与八度;BPM 以数字开头、bpm 结尾。
若未指定某项参数,则继承之前的值;首行未指定时默认 1=C 120bpm。
| 参数 | 格式 | 示例 |
|---|---|---|
| 调号 | 1=CDEFGAB[#b.,]* | 1=C / 1=Bb. |
| 速度 | <number>bpm | 120bpm |
G 大调,90bpm
1=G 90bpm
12345中途切换调号与速度
1=C
123
1=A 80bpm
123音符行
与简谱相同,用 1~7 表示七个音符,0 表示休止符。音符后可叠加后缀表示音高与时值,后缀可叠加、无顺序。
无时值后缀时默认 0.5 拍;时值后缀可组合,例如 3 拍可写作 ~~ 或 =-。
| 音高 | 含义 | 时值 | 含义 |
|---|---|---|---|
| # | 升半音 | - | 1 拍 |
| b | 降半音 | ~ | 1.5 拍 |
| . | 升八度 | = | 2 拍 |
| , | 降八度 | + | 4 拍 |
| * | 0.5 拍 | ||
| ^ | 0.25 拍 | ||
| ' | 0.125 拍 |
1 拍 sol、1 拍高八度 do、2.5 拍 do
1=C
5-1.-1=*升半音、降半音、升八度、降八度
1=C 100bpm
1#1b1.1,多轨演奏
在音符后用圆括号 () 写入其它音符,表示多轨同时演奏;多轨时值与主轨右对齐。
两条以上轨道写作 1-(3-)(5-),并支持嵌套,例如 1+(3+(5+))。
3 与 5 同时演奏
1=C 100bpm
1-3-(5-)旋律 + 三层和声(卡农片段)
1=D 100bpm
5-345-34(1+(3+(5+)))和弦演奏
在方括号 [] 内写入和弦记号,将自动演奏和弦并持续到下一个和弦。
和弦记号由「级数 + 类型 + 后缀 + 转位 + 八度」组成:级数为 1~7(可带 #b);类型如 m、dim、aug、M7、m7、7、9 等;
后缀如 add9、omit3、sus;转位与斜杠根音用 /;末尾的 ,/. 调整八度(和弦默认低八度)。
和弦伴奏的旋律
1=C 90bpm
[1]1234[5]567加九、大七、挂四和弦进行
1=C 80bpm
[1add9]1+[4M7]1+[5sus]1+[1]1+