跳到主要内容

多声部、紧凑声部、鼓点行

多声部,即两个以上不同的简单旋律叠合在一起,彼此对齐,同时奏唱。合唱是多声部最典型的例子,不过除此之外,伴奏、和声、轮唱等形式也可以构成多声部。

本节介绍多声部的写法,常见应用场景以及注意事项。

多声部语法

理论上我们一开始就介绍了多声部语法。还记得当时的事故现场吧?

没错,多个曲谱行在同一个碎片里,就是多声部。

多声部的每个声部下面都可以添加歌词。下面例子来自歌曲《爱殇》

常见错误

尽管并不强制,但是若两个声部均有歌词且是相同的,则应当在每个声部下面都写上歌词,而不是只写一遍。

声部在碎片中出现的顺序是在不同碎片之间区分声部的依据,例如

有时这并不是我们想要的效果。为了解决这个问题,也为了让读者更容易阅读,可以为声部添加名称。

添加声部名称

N:N 后面添加中括号,里面填入双引号引起的字符串,即可为声部添加名称。具体有这两种写法:

  • N["名称"]:,表示一般的文本名称。
  • N["名称"_"下标"],表示带下标的文本名称。

举个例子,

添加了名称后,不同碎片下名称(包括下标)完全一致的声部会被认为是相同的声部。

原理

当一个曲谱行跨越了多个碎片时,有一个特殊的比较算法确保声部排序尽可能符合代码中的顺序。
不过在实践中,仍然建议不同碎片之间声部的顺序保持一致,以保证代码的可读性。

展开

空小节与隐藏小节线

多声部乐谱中,有的声部可能在某些小节处是完全空的,可以选择将这些小节完全留空,而不是用休止符填充。只要在小节内容处写入 empty或者简写为 e 新增于 1.15.4 ),就可以将小节留空。隐藏小节线 / 常常与空小节配合使用。

强制换行

存在声部构成变化时,你可能希望在变化处进行换行。在碎片开头添加一行 B:(没有任何内容,但是冒号不能省略),即可实现在碎片前强制换行。

强制换行会导致上一行出现「不填满」的情况。这是有解决办法的。

这部分内容将在布局与字体章节中具体介绍。

节省排版空间

复杂的多声部乐曲可能会占据过多的排版空间。针对这个问题有两种解决方法。

鼓点行

有时我们希望将打击乐伴奏鼓点写出来。打击乐伴奏鼓点往往具有这样的特点:

  • 音符的起始时刻重要,但是时值并不重要,因此一定不需要连音线。
  • 没有或者几乎没有需要上下加点的音符。
  • 减时线通常至多两条。

如此简单的声部,使用普通的多声部格式表达,未免有些浪费篇幅。Sparks NMN 提供了一种更加紧凑的记法——鼓点行。鼓点行开头的 N 改为 Na(或 NotesAccompany),其中的小节以格子的方式显示,占据的高度非常小,上下相邻的鼓点行中间没有行间距。像是这样:

即使名称相同,鼓点行和普通声部也不会被视为同一个声部。尽管不显示小节线及小节线属性,鼓点行的代码中仍然需要描述变拍和变速。

鼓点行不会框进连谱号中。

紧凑声部

有的乐曲中,几个低音声部可能会被用来充当鼓点,它们的排版空间也可以压缩,但是不适合使用鼓点行。这时,可以将音符行开头改为 Nc(或 NotesAccompany),使其成为紧凑声部。紧凑声部占据的高度会略小于普通声部,并且相邻的紧凑声部之间没有间距。

与鼓点行不同,紧凑声部与同名的普通声部会被认为是相同的声部。显示时,某一行是否为紧凑声部取决于其第一小节是否为紧凑声部。

编辑体验 - 多声部

在音效试听中控制声部

使用多声部时,音效试听的混音控制区将列出所有声部。这允许用户进行更加精细的控制,也方便用户在检查时便捷地静音某些声部。

目前此功能按照序号和声部名称来区分声部,并且每个声部都有一个控件,因此复杂的乐谱将会有非常多的混音控件。这一点有待改进。

接下来...

接下来,我们要了解一下如何表示转调、变拍与变速。不说人话,就是在旋律的中间改变乐理属性。不过,此前,还需要快速了解一下关于小节线属性的概念,以保证你能弄懂改变乐理属性的原理。