输入格式说明(NN-MD v1.3 标准)
⚠ v1.3 重大变更(从旧版本迁移必看):
• 8 分音符:旧版用 5_ → v1.3 改用 5/(一个斜杠)
• 16 分音符:旧版 5__ → v1.3 改用 5//(两个斜杠)
• 附点:旧版 5, → v1.3 改用 5.(小圆点)
• 低音:旧版 5. → v1.3 改用 5_(下划线)
• 占位符:_ 在歌词行用于占位(延音/休止/同音连接)
• 新文件结构:推荐用 # 标题 / ## 1=C 4/4 / --- / M: |...| / L: |...|
① 文件结构(推荐格式 v1.3)
从上到下 4 段:标题 → 元信息 → 分隔线 → M/L 行
# 小星星 ← 一级标题(歌名)
## 1=C 4/4 ← 二级标题(调号 + 拍号)
## 速度 120 ← 二级标题(速度,可选)
--- ← 分隔线(标记元信息结束)
M: | 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |
L: | 一 闪 一 闪 | 亮 晶 晶 _ | 满 天 都 是 | 小 星 星 _ |
M: | ... |
也兼容旧式 标题: 小星星 写法。无前缀也行(程序自动按"含数字多 = 简谱行 / 含汉字多 = 歌词行"分类)。
② 核心思想:格子对齐
简谱(M 行)和歌词(L 行)按空格分格。简谱有效格子数(note + tie + rest)= 歌词格子数,不等就报错。
③ 字符集(v1.3 严格版)
- 基本音:
1 2 3 4 5 6 7(休止符 0)
- 音高:
1^ 高音 / 5_ 低音(数字后加修饰,^ 和 _ 互斥,不能同时出现)
- 时值:
5 = 1 拍(四分音符,默认)
5/ = 0.5 拍(八分音符,1 个 /)
5// = 0.25 拍(十六分音符,2 个 /)
5. = 1.5 拍(附点)
5 - = 2 拍(- 单独成词,每 - 占 1 拍)
- 同音延音:
5 ~ 5(波浪号 ~ 不占格子,第二个 5 单独占拍位但歌词必须是 _)
- 圆滑线:
( 5 6 )(不影响对齐,里面的音正常对字)
- 三连音:
[3: 5/ 6/ 7/](内部音各 × 2/3)
- 装饰音:
{6 5}(整块不占格子,内部不参与计数)
- 升降号:
#5 升 / b3 降
- 小节线:
|
④ 歌词行(L 行)规则
- 每个汉字 / 英文单词占一格
- 占位:
_(下划线,用于延音 / 休止 / 同音连接的占位)
- 休止符
0 位置必须用 _ 占位
- 延音线
- 位置必须用 _ 占位
- 同音延音
~ 后的音位置必须用 _ 占位
⑤ 对齐规则:严格 + 宽容
严格模式:简谱有效格子数必须 == 歌词格子数,否则报错。
宽容模式(v1.3 新增):L 行可以"偷懒"少写几个字,程序会按 M 行的小节结构自动补 _:
- 情况 A:L 行有
| 切分,且段数 == M 小节数 → 按段对齐(少补 _ / 多截断)
- 情况 B:L 行没有
|(一段长串),或段数不对 → 展平成词池按 M 小节切分
例 1(严格对齐,每小节 4 cells):
M: | 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |
L: | 一 闪 一 闪 | 亮 晶 晶 _ | 满 天 都 是 | 小 星 星 _ |
例 2(宽容模式 A:L 段比 M 段少,自动补 _):
M: | 6 6 5 - | 4 4 3 3 |(每小节 4 cells)
L: | 亮 晶 晶 | 闪 闪 闪 |(每段 3 词)
→ 自动补 _:亮 晶 晶 _ | 闪 闪 闪 _
例 3(宽容模式 B:L 行没 |,按词池切分):
M: | 1 2 3 1 | 1 2 3 - |
L: 两 只 老 虎 跑 得 快(8 个词,无 |)
→ 自动按 4-4 切分:两 只 老 虎 | 跑 得 快 _
⑥ 速查表
8 分音符:5/ 6/ / 附点:5. / 延音:5 - / 低音:5_ / 高音:1^ / 占位:_ / 同音连:5 ~ 5 / 圆滑:( 5 6 ) / 装饰:{6 5} 1