多行歌词
多行歌词是一种在反复中「存异」的方式,用于为不同的反复次数提供不同的歌词。
多行歌词语法
在一个声部下添加多行歌词,只须并排编写多个 L
Lc
或 Lw
开头的行即可。
P: 1=C 4/4
---
N: 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |
Lc: 一闪一闪亮晶晶,满天都是小星星。
Lc: 太阳慢慢向西沉,乌鸦回家一群群。
---
N: 5 5 4 4 | 3 3 2 - | 5 5 4 4 | 3 3 2 - :||
Lc: 挂在天上放光明,好像许多小眼睛。
Lc: 星星眨着小眼睛,闪闪烁烁到天明。
---
N: 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |||
Lc: 一闪一闪亮晶晶,满天都是小星星。
这样生成的多行歌词,行之前是没有标号的。其含义是:第一次经过此处时,唱第一行歌词;第二次经过此处时,唱第二行歌词。
带标号的多行歌词
没有标号的多行歌词显得意义不太明确,并且也没有利用到反复迭代数模型的优势。在 L
Lc
或 Lw
后添加中括号,写上标号(标号包含点 .
),即可为歌词行添加标号。
P: 1=C 4/4
---
N: 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |
Lc[1.]: 一闪一闪亮晶晶,满天都是小星星。
Lc[2.]: 太阳慢慢向西沉,乌鸦回家一群群。
---
N: 5 5 4 4 | 3 3 2 - | 5 5 4 4 | 3 3 2 - :||
Lc[1.]: 挂在天上放光明,好像许多小眼睛。
Lc[2.]: 星星眨着小眼睛,闪闪烁烁到天明。
---
N: 1 1 5 5 | 6 6 5 - | 4 4 3 3 | 2 2 1 - |||
Lc: 一闪一闪亮晶晶,满天都是小星星。
一个歌词行可以同时有多个标号(每个标号后都要带有 .
,它们之间用逗号 ,
隔开),例如在歌曲《小手拉大手》中,
Dp: 补全计划 - Netheric Playlist #0274
Dt: 小手拉大手
Da[原唱]: 梁静茹
Da[作词]: 陈绮贞
Da[作曲]: 过亚弥乃
P: 1=C 4/4
====
Srp: font_lyrics=Roman,CommonSerif/600/0.95
---
N: &lpr; 1e[((4))] - - - | 1e[((3))] - - - | 1e[((4))] - 2e[((5))] - | 1 (11) (01)1 |
---
N: 1 &rpr; (05d)(5d6d)(12) ||: 3 (6) 5 (3)(22^) | 1^ (01)(21)(7d1) | 4 (6d) 1 3 (3^) |
Lc: %还记得那场音乐会的烟火,还记得那个凉凉的深秋。
---
N: 2^ (02)(32)(#12) | 5 (7d) 2 (3)(22^) | 1^ (01)(21)(7d1) | 4 (6d) 1 6d (6d^) |
Lc: %还记得人潮把你推向了我,游乐园拥挤的正是时候。
---
N: 5d^ (05d)(5d6d)(12) | 3 (6) 5 (3)(22^) | 1^ (01)(21)(7d1) | 4 (6d) 1 3 (3^) |
Lc: %一个夜晚坚持不睡的等候,一起泡温泉奢侈的享受。
---
N: 2^ (02)(32)(#12) | 5 (7d) 2 (3)(22^) | 1^ (01)(21)(7d1) | 4 (6d) 1 2 (1~) |
Lc: %有一次日记里愚蠢的困惑,因为你的微笑幻化成风。
---
N: 1 (03)(43)(23) | 4 (3)2 3 (4~) | 4 (04)(54)(54) | 3 (2) 1 2 (3~) |
Lc: %你大大的勇敢保护着我,我小小的关怀喋喋不休。
---
N: 3 (03)(32)(#13) | 3 (2)2 (2)(#12~) | 2 (02)(23)(#42) | 6 (5) 5 #4 (5~) ||
Lc: 感谢我们一起走了那么久,又再一次回到凉凉深秋。
---
N: 5 (03)(43)(45~) |[$] 5 (03)(43)(45~) | 5 (05)(65)(67) | 1e (3) 3 6 (6^) |
Lc[1.]: 给你我的手,像温柔野兽,把自由交给草原的辽阔。
Lc[2.,3.]: 给你我的手,像温柔野兽,我们一直就这样向前走。
---
N: 5^ - (01)(21) | 4 (3) 2 (1~) 1 | (3) 3 2 (1)(01) | 2 (6d) 1 3 (5~) |
Lc: %我们小手拉大手,一起郊游,今天别想太多。
---
N: 5 (03)(43)(45~) | 5 (03)(43)(45~) | 5 (05)(65)(67) | 1e (3) 3 6 (6^) |
Lc[1.,2.]: 你是我的梦,像北方的风,吹着南方暖洋洋的哀愁。
Lc[3.]: 哦啦啦啦啦,像北方的风,吹着南方暖洋洋的哀愁。
---
N: 5^ - (01)(21) | 4 (3) 2 (1~) 1 | (3) 3 2 (1)(01) | 2 (6d) 1 2 (2^) |
Lc: %我们小手拉大手,今天加油,向昨天挥挥手。
---
J: 1.
N: 1^ - - - | 0 (05d)(5d6d)(12) :||
Lc: %还记得那场
---
J: 2., *
N: ^ 1^ - - - | &lpr; 7 6 5 4 | 5 - - 6 | 1 - 2 3 |
---
J:
N: 4 - (01e)(71e) | 7 6 5 4 | 6^ 5~ - - | 5^ - 6 - |
Lc: %啦啦啦啦啦啦啦啦_{1}
---
J:
N: 1 - - - | 1 2 #4 - | 7d - 1 - | 2 &rpr; (03)(43)(45~) !{D.S.}||
Lc: %{7} 给你我的手,
---
J: 3., *
N: ^ 1^ - (01)(21) | (4) 3 2 (1)(11) | (4) 3 2 1 (1) | 2 (6d) 1 2 (2^) | 1^ - - - |
Lc: % 我们小手拉大手,今天为我加油,舍不得挥挥手。
---
J:
N: &lpr; 4 3 4 3 | (13d)(5d1)(05d)(15) | 4 3 (43)(45^~) | 5 - - 6d | 1^ - - - |
Lc: %{13}啦啦啦啦_{2}
---
J:
N: (13d)(5d1)(05d)(15) | 4 (03)(43)(45^) | 2e - - 6 | 1e^ - 6 7 |
Lc: %{8}啦啦啦啦啦_{3}
---
J:
N: 1e (1e) 1e b6 (1e^~) | 1e~ - (1eb6)(54^) | 5 (5) 5 3 (5~) | 5 - - - &rpr; |||
Lc: 啦啦啦啦啦_{0}[Wu_{2}]啦啦啦啦啦_{0}
标号与歌词正文间的距离可以调节,见文档缩放、样式选项。
歌词行一致的判据
这一部分涉及的技术性内容比较复杂,并且不那么重要,看不懂或不想阅读是很正常的事情,可以跳过。
与多声部类似,如果歌词行没有标号,那么不同碎片中出现次序相同的歌词行将被认为是同一个;如果有标号,那么标号列表完全相同的歌词行会被认为是同一个。看下面这个例子:
P: 1=C 4/4
--- // 第一行,1-4 小节
N: ____ |
Lw: A-A-A-A
---
N: ____ |
Lw: A-A-A-A
Lw: B-B-B-B
---
N: ____ |
Lw: C-C-C-C
Lw: A-A-A-A
Lw: B-B-B-B
---
N: ____ ||
Lw: A-A-A-A
Lw: B-B-B-B
Lw: C-C-C-C
Lw: D-D-D-D
--- // 第二行,5-8 小节
N: ____ |
Lw[1.]: A-A-A-A
---
N: ____ |
Lw[1.]: A-A-A-A
Lw[2.]: B-B-B-B
---
N: ____ |
Lw[3.]: C-C-C-C
Lw[1.]: A-A-A-A
Lw[2.]: B-B-B-B
---
N: ____ |||
Lw[1.]: A-A-A-A
Lw[2.]: B-B-B-B
Lw[3.]: C-C-C-C
Lw[4.]: D-D-D-D
如果有特殊需要,还可以在歌词行标号列表的开头添加一个双引号引起的字符串(不会显示),这时这个字符串将成为歌词行的身份标识。身份标识字符串相同的歌词行将被认为相同。
P: 1=C 4/4
---
N: ____ |
Lw["A", 1.]: A-A-A-A
---
N: ____ |
Lw["B", 1.]: A-A-A-A
Lw["A", 2.]: B-B-B-B
---
N: ____ |
Lw["A", 3.]: C-C-C-C
Lw["C", 1.]: A-A-A-A
Lw["B", 2.]: B-B-B-B
---
N: ____ |||
Lw["D", 1.]: A-A-A-A
Lw["C", 2.]: B-B-B-B
Lw["B", 3.]: C-C-C-C
Lw["A", 4.]: D-D-D-D
注意到这里没有出现 的标号。以 为例,这一行身份标识是 A
,而 A
的标号早在第一个碎片中就已经定义为 。
身份标识字符串只应该在非常特殊的情况下使用,在没有必要的情况下应当避免,因为这个功能的不当使用可能造成种种奇怪的结果。
歌词行交错
如果两个不同的歌词行占据的小节恰好错开,并且它们都不包含替代旋律,Sparks NMN 会试图将它们排版到同一行上。这一特性称为歌词行交错。
了解 Sparks NMN 如何判断一个歌词行是否占据某个小节。
下面的例子中,标号 的歌词行仅占据 1-2 小节,标号 的歌词仅占据 3-4 小节,因此它们被排列到同一行上。
P: 1=C 4/4
---
N: ____ | ____ | ____ | ____ |
Lw[1.]: A B C D E F G H
Lw[2.]: %{8} I J K L M N O P
这是为了避免某些复杂情形导致歌词行离曲谱太远,从而降低可读性。
歌词行选择假设
当奏唱一段乐谱时,应该以什么规则来从多行歌词中选择一行?Sparks NMN 有如下假设:
- 歌词行的选择以小节为单位。每进入一个新的小节时,设这是第 次经过这一小节,且反复迭代数为 ,都按照下面规则重新选取歌词行:
- 若存在包含标号 的歌词行,则选择此歌词行,否则
- 如果不存在未标号的歌词行,则不使用歌词,否则
- 设未标号歌词行的数量为 。如果 ,那么选择最后一个未标号歌词行,否则
- 选择第 个未标号的歌词行。
选择未标号歌词行时,所有不占据此小节的歌词行都会被排除在外,不参与计数;如果小节开头有 记号,歌词行的选择发生在重置迭代数之后。
这一假设会在音效试听功能中用到,因为歌词行的替代旋律是被考虑在内的。
挑战
接下来...
接下来我们介绍反复记号的高级用法——多次反复和条件反复。事实上这两个特性在之前的例子中都有出现过,但是仍然值得特别拿出来提一提。