跳到主要内容

曲谱行、歌词行、标记符号行

所谓词曲指令,就是表示曲谱或歌词实质内容的指令,包括声部头中的这些:

命令头全称说明必须唯一内容属性
NNotes音符序列NN符号化可选
NaNotesAccompany鼓点音符序列NN符号化可选
NcNotesCompact紧凑音符序列NN符号化可选
AAnnotation标记符号--符号化可选

还有歌词行中的这些:

命令头全称说明必须唯一内容属性
LLyric歌词(手动分割)LL符号化可选
LcLyricChar歌词(字基)LL符号化可选
LwLyricWord歌词(词基)LL符号化可选
NsNotesSubstitute替代小节--符号化可选
AAnnotation标记符号--符号化可选
LaLyricAnnotation标记型歌词-La符号化-

本节具体说明属性的写法,并指出其内容应当是什么。

音符序列 N/Na 的属性

音符序列 N Na 指令可以有一个属性,也可以没有,如果有多个属性,只有第一个有效。属性代表当前声部的名称。名称有两类写法:

  • 不带下标的字符串:"V"
  • 带下表的字符串:"T1"_"2"

注意,字符串不能使用单引号 '

例如,这样就可以为声部添加名称:

P: 1=? 3/4
====
N["P1"]: - - (11) | 6 - (66) | 4 - 6 | (56)(54)(34) | 5 - (65) | 4 - (54) | 3 - (43) | (23)(21)(7d1) | 2 -
N["P2"]: - - (11) | 4 - (44) | 1 - 4 | (34)(32)(12) | 3 - (43) | 2 - (32) | 1 - (21) | (7d1)(7d6d)(7d1) | 2 -

添加名称后,名称而非序号将成为声部的唯一标识符。若同一个碎片中有两个名称完全一样的声部,后者会覆盖前者。

鼓点行 Na 和其他类型的声部即使名称相同也会被认为是不同的声部。

将普通声部的 N 改成 Nc,将成为紧凑型声部。

歌词的属性

歌词行 L Lw Lc 指令可以有零个一个或多个属性,代表歌词的迭代数(平常所说的段号或反复次数),格式为 <迭代数>.。例如,这样可以为第一遍和第二遍添加不同的歌词,而使第二遍和第三遍的歌词一致。

P: 1=C 4/4
====
N: 3 1 (33) 1 | (33) (56) 5 - | (66) (65) (44) 4 | (23) (21) 2 - |
Lc[1.]: 门前大桥下,游过一群鸭。快来快来数一数,二四六七八。
Lc[2.,3.]: 赶鸭老爷爷,胡子白花花。唱呀唱着家乡戏,还会说笑话。

渲染时,迭代数会被显示在相应行第一个字符左侧一点的位置。

添加迭代数后,歌词行的所有迭代数构成的序列,而非序号,将成为其唯一标识符。

还可以在迭代数列表前添加一个双引号引起的字符串(不会显示),这时这个字符串会成为唯一标识符。

若渲染时会出现某行上有两个标识符不同,但是位置完全错开的歌词行,渲染器会自动将它们排在一起。

替代旋律 Ns 的属性

如果想在没有歌词的情况下使用替代旋律 Ns,那么可以在替代旋律行上添加迭代数使其能够显示。不过,为了使 Ns 有效,仍然需要一个空的歌词行(放心,渲染时这不会占据空间)。

P: 1=C 4/4
====
N: 0 (66)(67)(1e7~) | (7) 5 (3~) 3 0 | 6 6 (65)(45~) | (5) 3 4 5 (0) |
L[2.]:
Ns[2.]: 2: ~(7) 5 3 (5) 5 | 0 6 (65) (45~) !|
---
N: 0 (66)(67)(1e7~) | (7) 5 3 (5) (2e1e~) | 1e (6) 1e 2e (3e~) | (3e2e) 2e - 0 |

替代旋律的内容

替代旋律除了曲谱外还需要指定替代位置,因此其格式是这样的:

Ns<[<属性>]?>: <替代位置>: <小节>

其中替代位置指的是被替代小节在当前碎片中的序号,从 1 开始。

标记符号行的序号

通过渲染属性,可以根据标记行 A 在碎片中的序号为其指定不同的字体。然而有的时候,这并不是很方便,因此还可以通过属性给文本标记行强制指定使用哪一个字体,形如:

A<[<序号>]?>: <内容>

其中序号取值范围是 0-6。

例如,标记行 A[2]: <内容> 一定会使用渲染属性 font_annotation2 所指定的字体。

只有不同碎片中两个标记行在声部中的次序和字体序号都相同时,它们才被认为是同一个标记行。

小节

音符序列 N Na Ns 和标记 A La 具有非常类似的格式,称为小节序列

歌词

歌词序列 Lc Lw 后面跟的是歌词文本,支持自动划分,因此文本的样子会和歌词原文相差无几。

歌词序列 L 后面跟的是手动歌词,其语法规范相当复杂,非极其特殊的情况不建议使用。