跳到主要内容

转调、变拍与变速

转调、变拍与变速是音乐中较为高级的技巧,总而言之就是在中途改变音乐属性。这样可以为其增加许多色彩。

本节将介绍在 Sparks NMN 中这些记号的写法。

tl;dr

  • 音乐属性可以通过添加小节线属性来修改。
    • 前置属性(小节线前的花括号)会在乐谱中显示(显示在上一个小节的末尾),但解析器不会认为其改变了音乐属性。
    • 后置属性(小节线后的花括号)会在乐谱中显示(显示在下一个小节的开头),解析器会认为其改变了音乐属性(例如变拍会改变之后节拍校验所要求的拍数)。
    • 上方属性(小节线后的方括号)不会在乐谱中显示,但解析器会认为其改变了音乐属性。
    • 在小节序列开头处添加属性,可使用隐藏小节线 /
    • 对于此类属性,小节序列(碎片)开头的小节线不能使用前置属性,小节序列(碎片)末尾的小节线不能使用自身以及后置属性。
  • 变拍属性的写法与音乐属性中的拍号相同,例如 0/4 4/4 6/8。可以叠加三等分法则 T 或摇摆节奏 S s
  • 转调有绝对和相对两种形式。
    • 绝对的转调与音乐属性写法相同,例如 1=C 会显示为 转1=C
    • 相对的转调适用于歌曲的绝对基调未知的情况。记号以 d1= 开头,后面跟一个带单位的数值(省略单位表示 key),单位 key thd thm th tha 分别表示键、减度、小度、(大/完全)度、增度。数值的正负号表示升降。例如 d1=-5th 显示为 降5度
  • 变速属性的写法与音乐属性中的拍速相同,例如 qpm=120 spm=233
  • 双引号引起的字符串写在小节线属性中,将会直接显示出来。任何双引号字符串(其他地方的也可以)中都可以使用转义序列来表示一些无法直接表示的特殊字符。

变拍

变拍,指音乐在中途改变拍号。拍号的分子和分母均有可能改变,分子的改变控制的是每小节的拍数,分母的改变控制的是记谱的方式,同时隐含拍速的变化。

在 Sparks NMN 中,在小节线上添加小节线属性,即可实现拍号的改变。属性的写法与音乐属性中的拍号相同。例如:

如果你不熟悉这种反复标记,我可以告诉你它等价于下面的反复记号:

值得注意,第 3 小节末尾的拍号 44\frac{4}{4} 并不能移动到第 4 小节开头。否则,读者第一遍奏唱到第 3 小节末尾时,拍号是 34\frac{3}{4},此时跳回开头位置,由于没有明确的信号表明回到了 44\frac{4}{4} 拍号,读者可能会觉得困惑。尽管一般的读者很快能想明白,但这不符合记谱的规范,对可读性也是不利的。

不难发现,这里的示例代码中写了两个 4/4 拍号,分别作为前置属性和上方属性,但是只有前者被显示了。这里后者的作用是用来保证节拍校验能够理解我们的意思。如果去掉,节拍校验会认为第 4 小节仍然是 34\frac{3}{4} 拍,从而给出警告。

接下来我们详细说一说节拍校验是如何处理变拍的。

节拍校验的行为

节拍校验处理变拍(以及其他音乐属性变化)的方式与正常识读乐谱时的规则不尽相同。这是因为目前解析器并不会按反复标记和反复记号来处理乐谱,而只是是忽略反复记号,将整个乐谱从前到后读一遍

根据标记位置的不同,处理音乐属性变更的方式也不同:

  • 作为前置属性(小节线前的花括号),音乐属性的变更会在上一个小节末尾显示,但在节拍校验中会被忽略
  • 作为后置属性(小节线后的花括号),音乐属性的变更会在下一个小节开头显示,且会被节拍校验处理。
  • 作为上方属性(小节线后的方括号),音乐属性的变更不会显示,但是会被节拍校验处理。

利用这些规则,几乎可以处理所有的情况。这里给出一个更为复杂的例子:

注意到这里在曲谱行的开头添加字符 /。这个符号表示没有任何显示效果的“隐藏小节线”,当你需要在曲谱行开头添加小节线属性时,就需要用到了。

常见错误

对于音乐属性变更,前置属性不能用在小节序列开头,自身和后置属性不能用在小节序列末尾,否则会被忽略。
如果你对这一规则并不是很理解,不必担心——如果你犯了此类错误,编辑器会给出警告。

展开

备注

跳房子记号和反复记号的详细介绍在反复与区分章节中。

隐含的 BPM 变化

我们在更复杂的节奏一节中已经强调过,乐谱中所指定的拍速,指的是每分钟的二分/四分/八分音符数量,而不是每分钟的拍数。正因如此,变更拍号时,分母的改变会隐含每分钟拍数的变化。如果你没有理解,请回去再看看。

有的乐谱中可能会在拍号分母变化时加注形如“四分音符=四分音符”的记号以示对这一规则的强调。不过,这样的记号是没有必要的,因为即使不添加这个记号,拍号分母改变 BPM 的规则也是适用的。

反常拍号的解析式

在音乐课上,我们学过 2、3、4、6、8 拍子,知道它们的强弱规律(2=22 = 24=2+24 = 2 + 26=3+36 = 3 + 38=4+48 = 4 + 4),并且也清楚这些强弱规律是大家公认的。此外,12 拍子也并不是太罕见,其强弱规律也是公认的,是 12=(3+3)+(3+3)12 = (3 + 3) + (3 + 3)。如果你有稍加注意,你会知道绝大部分流行歌都是 4 拍子。

然而,有的音乐(并不少)会试图突破这样的限制,使用 5 拍子,7 拍子等等。这类拍子没有公认的强弱规律,因而称为“反常拍号”。尽管读者可以从曲谱中大致推断强弱规律,但是,直接用加法的形式(例如 58=38+28\frac{5}{8} = \frac{3}{8} + \frac{2}{8})将强弱规律告诉读者,则是更为清晰的方式。这样的加法等式称为解析式。常见的例子如下:

  • 44=24+24\frac{4}{4} = \frac{2}{4} + \frac{2}{4},表示四拍子分为 2 + 2 两组,故强拍和次强拍在第一拍和第三拍。
  • 68=38+38\frac{6}{8} = \frac{3}{8} + \frac{3}{8},表示常规的六拍子,分为 3 + 3 两组,强拍和次强拍在第一拍和第四拍。
  • 68=28+28+28\frac{6}{8} = \frac{2}{8} + \frac{2}{8} + \frac{2}{8},表示不太常规的六拍子(合法但有病),分为 2 + 2 + 2 三组,强拍和两个次强拍分别在第一拍、第三拍和第五拍。
  • 58=38+28\frac{5}{8} = \frac{3}{8} + \frac{2}{8},表示五拍子分为 2 + 2 两组,强拍和次强拍在第一拍和第四拍。
  • 78=34+18\frac{7}{8} = \frac{3}{4} + \frac{1}{8},表示七拍子其实并非什么七拍子,而更像是多了半拍的三拍子。这时打拍子时一般只打 34\frac{3}{4} 这部分。

尽管不太准确,但是你可以将解析式理解成“一个小节拆成多个小节”。例如,若干个 78=34+18\frac{7}{8} = \frac{3}{4} + \frac{1}{8} 的小节,可以理解为一串 34\frac{3}{4}18\frac{1}{8} 拍号交替出现的小节。

Sparks NMN 目前不支持准确的拍号解析式语法。但是,为了读者方便,变拍的同时,可以在前/后置属性中添加一个双引号引起的算式,这样它就会显示在小节的末尾或开头,方便读者阅读。

主拍号

特别一提,音乐属性上应当标记的拍号不是全曲的第一个拍号,而是全曲的代表拍号(大部分内容所使用的拍号)。如果这个拍号与第一个拍号不一致,在第一小节开头添加变拍即可。下面例子来自歌曲《秘境茶会》

转调

转调,指音乐在中途更换调性。不过,在简谱的相对音高体系下,转调一般特指中途改变记谱的基调。

在 Sparks NMN 中,转调同样以小节线属性的形式进行标注,写法与音乐属性中的基调相同。

这个例子从旋律上等价于,

与变拍类似,使用前置属性,即可将转调标记在一个小节的末尾。

与变拍的不同之处在于,因为不存在什么与音高相关的排版与校验机制,你不需要使用上方属性告诉解析器某些地方要转调。

提示

如何发现自己记谱时在应该转调的地方没有转调?

展开

开发者注意

在不同的反复次数下,一个小节可能会有不同的基调和拍速,因此乐谱数据中的 musicalProps 字段并不能准确反映该小节的基调和拍速。如果需要开发音乐生成、音乐分析相关功能,应该使用解析结果中的 result.sequenced.sequence 字段。

明确地指定组号

我们之前说过,要确定简谱中每个数字代表的具体音高,需要给定一个基准音高。然而,目前所用的形如 1=C 1=G 的记号,都只是给出了音调(或音名),而没有指出具体在哪个八度。在没有转调的情况下,具体在哪个八度往往是无关紧要的,但是在有转调的情况下,这可能会引发歧义。

看刚刚提到的例子——我们从 1=C 转到了 1=G。这种情况可能是 1=C4 到 1=G4,基准音高升了五度;也可能是 1=C4 到 1=G3,基准音高降了四度;甚至可以说是 1=C3 到 1=G4,等等。为什么几乎所有人视唱或弹奏这个片段的时候,都会不谋而合的将其理解成基准音高升高五度呢?这是因为,如果不这么理解,转调前的最后一个音和转调后的第一个音将会至少相差一个八度,这是非常怪异的。

比如,如果将其理解成基准音高降低四度,将会等价于下面的旋律,

绝大多数人都会看出这是不合常理的,因此排除这种可能。

然而,有的旋律中的转调可能并不容易以这种依据来判断,还有的旋律可能要的就是这种不合常理的效果。这种情况下,将基准音高的组号标出来就非常有必要了。

注意

在 Sparks NMN 中默认了两个假设:

  • A4 表示 440Hz。
  • 若基调不指定组号,音名 G A B 在第 3 组,C D E F 在第 4 组。

音效试听所生成的声音会用到这两个假设。

相对转调

对于刚刚凭印象写出的乐谱,或者自己作曲的旋律,我们可能无从知道(或暂时不能确定)旋律一开始的具体基调是什么,这时候自然也无法以具体基调的形式来表示转调。诚然,我们可以强行认为 1=C,但这是不优雅且不严谨的。Sparks NMN 提供了一种基于音程的转调记号,只需要指定新的基调相比原来的升降了多少,而不需要指定具体的基调。

相对转调记号的写法是 d1=<数值><单位>,其中数值可以带正负号,用来表示升或者降。单位可以是 key thd thm th tha,分别表示 Key(钢琴键或半音)以及减/小/大(完全)/增x度。目前大x度和完全x度是不区分的,都会显示为“x度”。这有些不严谨,将来可能会添加单位 thMthp 解决这个问题。

如果省略单位,将会默认为 key

上面的例子使用相对转调,可以这么写:

常见错误

为了保证形式的统一性,key 单位是小写的。为了避免在这上面犯错,建议在单位是 Key 的情况下直接省略单位。

相对转调还有一个用处,就是用在会反复多次的段落中,可以做到每反复一次都升高/降低一点。下面的例子来自歌曲《童话》

度数音程速查表

如果你不了解度数音程,可以快速通过这张表知道其与 Key 音程之间的关系。如果你学得很明白,那就没有必要看了。

度数大/完全
101
2123
32345
4456
5678
678910
79101112
8111213

完全 8 度的差距就是一个八度(废话),大于 8 的度数以此类推。

总结一下,无非

  • 1,4,51,4,5(以及 7n+1,7n+4,7n+57n+1,7n+4,7n+5)度不分“大”“小”,称为“完全音程”。
  • 2,3,6,72,3,6,7(以及 7n+2,7n+3,7n+6,7n+77n+2,7n+3,7n+6,7n+7)度分“大”“小”,它们之间相差 1Key1\text{Key}
  • 11 度至 77 度的大/完全音程依次表示 (0,2,4,5,7,9,11)Key(0,2,4,5,7,9,11)\text{Key},这是自然大调的音调列,或者说相邻两者的差满足“全-全-半-全-全-全-半”。

调整转调和变速记号的位置

最高版本:Sparks NMN 1.14.24

展开过时内容

变速

与转调类似,变速是在旋律中间某处改变拍速。

在 Sparks NMN 中,变速也通过小节线属性实现,写法与音乐属性中的拍速一致。下面例子是歌曲《秘境茶会》的开头。

也可以像音乐属性中那样用模糊的文本来代替精确的拍速数值。

添加渐快、渐慢的文本

目前 Sparks NMN 中没有渐快、渐慢的专用记号,不过可以在小节线属性中添加双引号引起的文本来提示渐快或渐慢。

为了音乐语言的准确性,渐快渐慢结束的位置应当再添加一个变速记号,表示结束时应当到达某个拍速。下面的例子来自电影《冰雪奇缘》的插曲《Frozen Heart》。

挑战

接下来...

接下来我们介绍多声部的写法,包括许多使用多声部时的注意事项。