音乐简谱、歌词对齐 标准

📄 文章 🌐 公开
📋 列表 ✏️ 编辑 🎨 画布版 📋 复制MD

简谱歌词对齐标准(NN-MD 通俗版 v1.3)

本规范是 NN-MD v1.2 的升级版(v1.3),用大白话讲清如何用纯文本书写简谱和歌词,并让它们严格对齐。
v1.3 相比 v1.2 新增:M/L 前缀、Markdown 风格头部、按小节对齐宽容模式、_ 双重含义(低音修饰符 / 歌词占位)。


一、音乐名词小词典(先弄懂再说)

为了看懂规则,您只需要理解下面几个词:

  • 音符

数字 17,代表 do re mi fa so la ti。数字 0休止符,代表不唱不出声,但拍子照样数够。

  • 增时线(也叫"延时线")

短横 -,每个 - 单独占一个位置,作用是把前面的音再延长一拍。比如 5 - 就是"5"唱两拍。

  • 附点

小圆点 .,附在音符后面,让它延长一半的拍子。如 5. 唱一拍半。

  • 减时线

斜杠 /,附在音符后面让它变短。加一个 / 变八分音符(半拍),加两个 // 变十六分音符(四分之一拍)。

  • 装饰音(也叫倚音)

写在大音符前面的小音符,用花括号 { } 包起来。它一闪而过,不占歌词的字位。唱的时候带一下就行。

  • 延音线

波浪号 ~,放在两个一样的音之间,表示这两个音要连起来唱成一个,中间不能断。歌词只对应第一个音,后面的音用下划线 _ 占位。

  • 圆滑线

小括号 ( ),表示包起来的几个音要唱得连贯圆滑。它不影响歌词对齐,里面的音该怎么对字就怎么对。

  • 三连音

标记 [3: ... ],表示括号里的三个音平均分拍子(比如三个音挤在两拍里)。里面的音符照样一个字一个位置。

  • 小节拍号

音乐用竖线 | 分成一节一节的,叫小节。拍号如 4/4 表示每小节有 4 拍。这些只是辅助,不影响歌词对齐。

  • M 行 / L 行

M 行是简谱行(Music),L 行是歌词行(Lyrics)。v1.3 推荐用 M: L: 前缀标记,更清晰。

  • 占位符 _

下划线在 v1.3 中有两个用途:

  1. 音后修饰符(紧跟音符,如 5_):表示低音 5
  2. 歌词占位(独立成"词"):表示"这里不唱新字、拍子照数"

好了,就这些,足够用了。


二、核心思想:像填格子一样对齐

把简谱(M行)和歌词(L行)想象成两条带格子的纸条。每个格子之间用空格隔开,格子的数量必须一样多,然后一格对一格,就自然对齐了。

哪些算"格子"?

  • 简谱行里每个音符(包括 0)算一格。
  • 每个增时线 - 也算一格。
  • 小节线 |、连线 ~ ( ) [3: ] 等标记不算格子,它们被跳过。
  • 装饰音 { } 包住的整个花括号内部,全部不算格子,完全无视。

歌词行里:

  • 一个汉字算一格。
  • 一个英文单词也算一格。
  • 遇到不唱但占拍子的地方,就用下划线 _ 占一格。
  • 空格用来分格,绝不省略。

规则就这么简单:简谱的有效格子数 = 歌词的格子数。不等就说明写错了。


三、文件整体结构

v1.3 推荐用以下结构写一首歌(从上到下):

# 标题                  (Markdown 一级标题:歌名)
## 1=C 4/4               (Markdown 二级标题:调号 + 拍号)
## 速度 120              (可选:速度 / BPM)
## 词作者 / 曲作者        (可选:作者信息,会被识别但忽略)
---                       (分隔线:标记元信息结束)
M: | 1 2 3 1 | 1 2 3 - |
L: | 你 问 我 爱 | 有 多 深 |
M: | ...
L: | ...

3.1 标题 / 元信息(Markdown 风格)

  • # 标题 → 解析为 标题: ...
  • ## 1=C 4/4 → 解析为 调: C + 拍号: 4/4
  • ## 速度 120 → 解析为 速度: 120
  • ## 作者 信息 → 会被识别为元信息行,但不会报错,会安全忽略

也兼容旧式 标题: 小星星 写法(和 Markdown 风格混用也行)。

3.2 M/L 前缀

v1.3 推荐用 M: L: 前缀标记简谱行和歌词行,更清晰:

  • M: | 1 2 3 1 | → 简谱行
  • L: | 你 问 我 爱 | → 歌词行

也兼容无前缀写法(程序会按"含数字多 = 简谱行 / 含汉字多 = 歌词行"自动分类)。

3.3 分隔线 ---

--- 行是元信息和正文之间的分界。如果你不想写元信息,可以不写 ---,直接进入 M/L 行。


四、简谱行(M行)书写规矩

M行只放简谱内容。每个要素之间用空格分开。

1. 基本音符

1 2 3 4 5 6 7 表示中音区。
休止符用 0

2. 高低音

在数字后加 ^ 表示高音,_ 表示低音。
例如 1^ 高音do,5_ 低音so。
1^^ 是倍高音,5__ 是倍低音。

v1.3 严格规定^_ 互斥(一个音只能高八度或低八度,不能同时)。

  • 1^_ 是 v1.2 旧风格,v1.3 不推荐,但程序会宽容处理(只取第一个修饰符)。
  • 推荐写法:1^1_,二选一。

3. 长短

  • 不加东西的纯数字是四分音符,算 1 拍。
  • 后面加 / 变八分音符(半拍),加 // 变十六分音符。
  • 后面加 - 增时线,每多一个 - 就多延 1 拍。
  • 后面加点 . 延长一半。

4. 升降号

数字前面加 # 升,加 b 降。如 #4 b7

5. 特殊记号

  • 小节线 |,前后加空格。
  • 延音线 ~,放在两个相同音之间。
  • 圆滑线 ( 开始,) 结束。
  • 三连音 [3: 开始,] 结束。
  • 装饰音 { 开始,} 结束,里面只能放音符,不能放 - 等杂物

重要:增时线 - 必须单独写成"词",前后空格。写 5 - 是对的,写 5- 是错的(虽然程序能识别,但不利于人眼对齐阅读)。


五、歌词行(L行)书写规矩

L行只放歌词和占位符,空格分隔。

  • 每个格子放一个汉字。
  • 拖腔、连音等不需要唱新字的地方,用下划线 _ 占一个格子。
  • 英文歌词一个单词占一格,如 love
  • 休止符 0 处必须用 _ 占位,因为这里虽然不唱,但拍子位置要保留。
  • 歌词中不要出现下划线字符,如果需要表示停顿或拖音,已经统一用 _ 处理。

标点符号

歌词中可以包含中文标点( 等),每个标点算一格。这和汉字一样处理。


六、对齐规则精讲(消除所有歧义)

1. 拍位数严格相等

简谱行去掉所有结构记号(| ~ ( ) [3: ])以及整个装饰音块 {...} 之后,剩下的每一个音符和每一个 - 都是一个"拍位"。L行用空格切出来的词数量必须和拍位数相同,多一个少一个都不行。

2. 装饰音彻底无关

{6 5} 这样的东西,里面的 65 绝对不占拍位,不参与歌词计数,L行不用为它们准备任何格子。就像没看到它们一样。

3. 延音线后的音符占拍位但不换字

5 ~ 5 中,两个 5 都是拍位,但唱成一个连贯的"啊",所以歌词对应第一个 5 写实字,第二个 5 的位置用 _ 顶替。同理,它的增时线 - 也一样占位用 _

4. 一字多音用 _ 撑开

一个"风"字拖了四个拍位(比如 6 - 6 -),歌词就写成 风 _ _ _,四个格子,一个风三个下划线。

5. 休止符必须用 _ 占位

休止符 0 虽然不唱,但在拍位计数里,它和普通音符没区别。如果歌词行少给它一个格子,对齐就全乱了。所以 0 后永远跟 _

6. 按小节对齐宽容模式(v1.3 新增)

核心改进:L 行可以"偷懒"少写几个字,程序会按 M 行的小节结构自动补 _ 占位。

两种情况:

情况 A:L 行有 | 切分,且段数等于 M 行小节数 → 按段对齐

  • 适用于:用户精确写出了每小节的歌词
  • 算法:L 段少词时补 _ 到 M 段格数,多词时截断

情况 B:L 行没有 |(一段长串),或段数不对 → 按词池切分

  • 适用于:用户懒得写 |,把所有歌词用空格连成一行
  • 算法:把 L 行所有词展平成词池,按 M 行小节顺序切分(每小节长度 = M 小节格数)

示例

M: | 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |
L: | 一 闪 一 闪 | 亮 晶 晶 _ | 满 天 都 是 | 小 星 星 _ |

如果用户偷懒不写 |,下面这种写法也合法(程序自动切分):

M: | 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |
L: 一 闪 一 闪 亮 晶 晶 _ 满 天 都 是 小 星 星 _

程序会把 L 词池按 4-4-4-4 切分,分配到 4 个小节。

更厉害的是:用户忘写 - 也没事!比如:

M: | 6 6 5 - | 4 4 3 3 |     (每小节 4 cells)
L: | 亮 晶 晶 | 闪 闪 闪 |   (每段 3 词)

虽然 L 比 M 少 2 个词,但程序会自动补 _,对齐成 亮 晶 晶 _ | 闪 闪 闪 _,对应"亮晶晶 2 拍 + 延音 1 拍"。


七、完整实例(看着例子秒懂)

例1:《小星星》(标准格式 v1.3)

# 小星星
## 1=C 4/4
## 速度 120
## 莫扎特 曲
---
M: | 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |
L: | 一 闪 一 闪 | 亮 晶 晶 _ | 满 天 都 是 | 小 星 星 _ |
M: | 5 5 4 4 | 3 3 2 - | 5 5 4 4 | 3 3 2 - |
L: | 挂 在 天 空 | 放 光 明 _ | 好 像 许 多 | 小 眼 睛 _ |
M: | 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |
L: | 一 闪 一 闪 | 亮 晶 晶 _ | 满 天 都 是 | 小 星 星 _ |

第三小节简谱有四个拍位 5 6 5 -,歌词正好 满 天 都 是,末位用 字(或 _)占住延音位置。

例2:延音线和跨小节连音

M: | ( 3/ 5/ ) 6 - ~ | 6 - 5 3 | 2 - - - |
L: | 春 _ 风 _ | _ _ 吹 绿 | 岸 _ _ _ |

圆滑线 ( ) 被跳过。第一小节有效拍位:3/ 5/ 6 - 共 4 个。~ 跳过。
第二小节有效拍位:6 - 5 3 共 4 个。但"风"字需要连起来,所以它的拍位实际是 6(一小节第三拍)、-(一小节第四拍)、6(二小节第一拍)、-(二小节第二拍) 共 4 个,歌词对应写成 风 _ _ _
第一小节后两拍是"风 _",第二小节前两拍是"_ _",恰好填满。

例3:装饰音和三连音

M: | {6 5} 3 - 3 - | [3: 2/ 1/ 2/] 3 - - |
L: | 练 _ 习 _ | 三 连 音 _ _ _ |

装饰音 {6 5} 完全忽略。第一小节拍位:3 - 3 - 4 个,对 练 _ 习 _
第二小节三连音内部 2/ 1/ 2/ 都是有效拍位,加上后面的 3 - -,一共 6 个拍位。歌词 三 连 音 _ _ _ 也是 6 个格子,完美。

例4:宽容模式 — L 行偷懒

M: | 1 2 3 1 | 1 2 3 - |
L: 两 只 老 虎 跑 得 快

L 行没写 |,也没用 _ 占延音位。程序会按 M 行小节自动切分:

  • 小节 1(4 cells):两 只 老 虎
  • 小节 2(4 cells):跑 得 快 _(自动补 1 个 _ 占延音)

例5:纯器乐段(无歌词)

M: | 1 1 5 5 | 3^ 3^ 2^ 2^ | 1 - - - | 0 - - - |
L: | 卡 农 之 门 | _ _ _ _ | _ _ _ _ | _ _ _ _ |

中间两小节没有歌词,全部用 _ 占位(4 cells × 2 段 = 8 个 _)。


八、v1.2 → v1.3 兼容性说明

特性v1.2 旧写法v1.3 推荐写法兼容性
同时高低音1^_1^1_程序宽容处理(取第一个修饰符)
元信息标题: ... 调: ...# 标题 ## 1=C两种都支持
M/L 前缀M: L:两种都支持
L 行分小节必有 `\`必有 `\` 或可省略两种都支持(按小节对齐宽容模式)
_ 在音后仅当低音低音 5行为一致
_ 在 L 行歌词占位歌词占位行为一致
八分音符1^_1/v1.3 改变:/ 是减时线,_ 是低音
延音线--行为一致

重要提醒:v1.2 用户如果写 1^_ 期望"1 升八度 + 八分音符"(旧规则),在 v1.3 中这个写法已经被重新定义:

  • _ 在音后只表示"低音",不再表示"八分音符"
  • 八分音符用 / 表示

所以 v1.2 → v1.3 升级时需要做以下替换

  • 1^_1^/(升八度 + 八分音符)
  • 1_(如果原来是"低音")→ 1_(v1.3 仍是低音,无需改)
  • 1_(如果原来是"八分音符")→ 1/

九、相比于 v1.2 的改进(歧义消除)

  1. 明确休止符占位规则

明文规定休止符 0 必须在歌词行用 _ 顶格,不再靠猜。

  1. 装饰音内部成分限制

规定 { } 内只能出现音符,不能放增时线或其他记号,避免误解。

  1. _ 双重含义明确化

v1.2 中 _ 既是低音修饰符又是八分音符修饰符,含义混乱。v1.3 中:

  • _ 在音后 = 低音(且八度方向单一)
  • / = 减时线(八分音符)
  • _ 在 L 行 = 歌词占位
  1. 延音线占位原理图解

强调 ~ 两端音符都是独立拍位,但连音不换字,歌词靠 _ 后移,消除跨小节连字的困惑。

  1. 按小节对齐宽容模式(v1.3 新增)

L 行可以偷懒少写 | 或忘写 -,程序按 M 行小节结构自动补 _,降低用户书写负担。

  1. M/L 前缀 + Markdown 头部

文件结构更清晰:标题 / 元信息 / 分隔线 / M 行 / L 行。程序宽容接受多种写法。

  1. 语言全部大白话

不用"Token""词法映射"等程序术语,全部换成格子、拍位,零基础也能懂。


有了这份标准,任何两个人按照同样的空格规则敲出简谱和歌词,都能做到一字一音,准确无误,而且人眼看着舒服,程序也能直接解析。您可以直接复制此版本文档进行推广,有任何细节想再调,我随时帮您微调。

💬 留言 ⋮⋮

加载中…
💡 不登录也可留言(IP 限制:每文/每天各 1/10 条)

加载中…

纸张白
护眼绿
羊皮卷
夜间黑
100%