abcjs记谱法
约 1468 个字 预计阅读时间 5 分钟
ABC 记谱法是一种用纯文本表示乐谱的简洁格式,核心优势是「易写易读」,能被 abcjs 等工具快速渲染成标准乐谱,先记住一个核心:ABC 乐谱由「文件头」+「乐谱主体」两部分组成
文件头
文件头以「大写字母 + 冒号」开头,是乐谱的基础配置,X、M、L、K 是必填项,其他为可选。
标记
标记
含义
示例
说明
X
乐谱编号
X:1
必须唯一,多个乐谱时区分(如 X:1、X:2)
T
标题
T: 小星星T:Twinkle
可写多个(T: 主标题T: 副标题)
C
作曲者 / 改编者
C: 传统童谣
可选,标注作者信息
M
拍号
M:4/4M:3/4M:6/8
常见拍号:4/4(四四拍)、3/4(四三拍)、6/8(八六拍),M:C 等价于 4/4
L
基本音符时值
L:1/8L:1/4
定义「一拍」对应的音符时值,L:1/8 表示八分音符 = 1 拍
Q
速度
Q:1/4=120Q:120
Q:1/4=120 表示四分音符每分钟 120 拍;简写 Q:120 等价于 L 定义的时值 = 120
K
调号
K:CK:FK:Gm
大写 = 大调(K:C=C 大调),小写 m = 小调(K:Gm=G 小调)
V
声部
V:1V:2
多声部乐谱时区分(如 V:1 主旋律,V:2 伴奏)。全局低音谱号:K:C clef=bass (调号后加 clef=bass,全局低音谱号);声部低音谱号:V:2 name=伴奏 clef=bass # 声部2:低音谱号(核心配置行内谱号切换:[clef=bass]|C,, C,, G,, G,,|A,, A,, G,,2| # 第3小节开头切换为低音谱号
S
来源
S: 中国童谣集
可选,标注乐谱来源
N
注释
N: 适合初学者
可选,添加说明文字
乐谱主体
ABC 记谱法用「字母 + 符号」表示音高、时值、节奏,核心规则如下:
(1)音高:字母对应音符(CDEFGAB)
基础音高:C D E F G A B 对应钢琴中央 C 开始的 Do Re Mi Fa Sol La Si;
八度调整:
升高八度:字母后加 '(单引号),如 c' = 高音 Do(中央 C 上八度),c'' = 倍高音 Do;
降低八度:字母后加 ,(逗号),如 C, = 低音 Do(中央 C 下八度),C,, = 倍低音 Do;
示例:C(中音 Do)、c'(高音 Do)、C,(低音 Do)、B,(低音 Si)、a''(倍高音 La)。
(2)时值:数字 / 符号对应音符长度
时值表示音符的持续时间,默认等于 L 定义的基本时值(如 L:1/8 时,单个字母 = 八分音符),可通过数字 / 符号修改:
标记
含义
示例
说明(以 L:1/8 为例)
无数字
基本时值
C
八分音符(1 拍)
数字后缀
时值倍数
C2
八分音符 ×2 = 四分音符(2 拍)
数字前缀
时值分母
2C
八分音符 ÷2 = 十六分音符(0.5 拍)
/
时值减半
C/
等价于 2C(0.5 拍),C/2 等价于 4C(0.25 拍)
//
时值减为 1/4
C//
等价于 4C(0.25 拍)
-
延长音(附点替代)
C-
等价于附点音符(C.),C-- = 附点附点音符
.
附点
C.
时值 = 1.5 倍(1 拍 + 0.5 拍 = 1.5 拍)
三连音
F C F 一拍三连音 : (3F,/C/F/
(3)连线
标记
语法符号
说明
相邻单音延音线(短)
-
连接相邻、相同音高的音符,实现延音(最常用)
多音长连线(跨拍 / 跨音)
[(开始)+ ](结束)
连接任意长度的音符(可相同 / 不同音高),支持跨拍、跨多个音符(圆滑线 / 长延音线)
跨小节连线
[(前小节尾)+ ](后小节头)
连接两个小节之间的音符,实现跨小节延音 / 圆滑
连音(如 3 连音)内连线
(3 + -
3 连音 / 多连音内部的音符添加连线,(3 在前,- 在音符间
关键注意事项
(4)休止符:z 表示停顿
基础休止符:z 对应基本时值(如 L:1/8 时,z = 八分休止符);
时值调整:和音符一致,z2= 四分休止符(2 拍),z/= 十六分休止符(0.5 拍),z.= 附点八分休止符(1.5 拍);
示例:z z2 z/ → 八分休止符(1 拍)+ 四分休止符(2 拍)+ 十六分休止符(0.5 拍)。
(5)小节线与重复记号
小节线:| 分隔小节,|| 表示终止线;
重复记号:
|: 重复开始,:| 重复结束;
[1 [2 表示第一、第二反复(如 |:[1 C D :| [2 E F :|);
(6)升降号:临时变音
升号:^(插入音符前),如 ^C = 升 Do(C#);
降号:_(插入音符前),如 _C = 降 Do(Cb);
还原号:=(插入音符前),如 =C = 还原 Do;
示例:^F _B =C → 升 Fa + 降 Si + 还原 Do。
(7)装饰音与特殊符号
符号
含义
示例
说明
>
重音
>C
强音(重拍)
()
装饰音(倚音)
(C)D
C 是 D 的装饰音(快速弹)
~
颤音
C~
C 音颤音
\
滑音(上行)
C\D
从 C 滑到 D
/
滑音(下行)
D/C
从 D 滑到 C
+
保持音
C+
保持音(延长且饱满)
(8)和弦:括号包裹同时发声的音符
用 [] 包裹多个音符,表示和弦(同时弹奏)
(9)和弦标注
场景 1:整小节一个和弦(最常用)
"C" |C-C G-G A-A G2| "G" |G-G F-F E-E D2|
场景 2:小节内多拍不同和弦(拍级精准)
"C" |C-C "Am" A-A "F" G-G G2| "G7" |G-G F-F E-E D2|
场景 3:3 连音 / 连线与文本和弦兼容
"C" |(3C-D-E F-G-A B2)| "G" |(3B-A-G F-E-D C2)|
"Am"|[A-A G-G] F-F E2| "F" |F-F E-E D-D C2|
场景 4:跨小节连线 + 文本和弦
"C" |C-C G-G A-A [G| "G" F-F E-E D-D ]C2|
(10)多声部:V 标记区分声部
用 V:1/V:2 标记不同声部,实现多轨乐谱
常见错误与避坑
必填项缺失:X、M、L、K 必须写,否则 abcjs 无法渲染;
八度符号写错:'(单引号)升高八度,,(逗号)降低八度,不要搞反;
时值单位混乱:L 定义的是「基本时值」,所有音符时值都基于它计算,建议统一(如 4/4 拍用 L:1/4);
调号错误:小调需加 m(如 K:Gm),否则默认大调;
小节线缺失:长乐谱需用 | 分隔小节,否则渲染会混乱。