Far Land Leo Zeng

写给程序员的乐理入门

声波

以某个固定频率进行简谐振动所产生的声波称为【纯音】,与纯音相对的就是【复合音】。一个标准的正弦波作为基准,称作【基波】,【谐波】就是比基波的频率高整数倍的波(如下图)。钢琴按下一个键或小提琴拉响一根弦都会在基波的基础上产生多个谐波,音乐人往往将谐波称为【泛音】。

img_wave

最上面的是基波,从第二行往下分别是一次谐波、二次谐波等等。若一个复合音由基波与及其谐波相叠加构成,则称该复合音为【谐波叠加】,它的频率为基波频率。

img_wave_violin

单音】特指单一乐器演奏独立的一个音发出的声波(谐波叠加),其基波的频率称为【音高】。不同乐器的单音所叠加的谐波在频率和振幅上都不相同,因此乐器的音色千差万别。

拍音】是另一种复合音,它是由来自同一种乐器两个单音相互叠加,形成具有规律性强弱变化的振动。与谐波不同的是,拍音一般要求这两个音的振幅相近,但不要求频率为倍数关系。

五度相生律

人们很早就发现长度比为 1:2 的两根弦同时拨响可以发出非常协调的声音,但仅仅使用2倍关系的弦长所构造出来的音过于单调了,因此人们就尝试用其它的弦长比来发声。经过不断尝试人们获得了3种最简单也最重要的弦长比,分别是 1:2、2:3 和 3:4,来自于3个不同的分割点。

img_chord_len

对 2:3 递归处理5次(协调性可以传递),再补上 3:4,再除以区间最低频率进行归一化,不难得出(频率等于弦长倒数):

n 频率 倍率 区间 除最低频率
# 4f/3 1.33333 [f,2f] 1.33333
1 $(3/2)^1$f 1.5 [f,2f] 1.5
2 $(3/2)^2$f 2.25 [2f,4f] 1.125
3 $(3/2)^3$f 3.375 [2f,4f] 1.6875
4 $(3/2)^4$f 5.0625 [4f,8f] 1.265625
5 $(3/2)^5$f 7.59375 [4f,8f] 1.8984375

f 自身的倍率为1,2f 为2,把这8个倍率一起画在二维坐标系中:

img_chord_ratio

与指数曲线相比误差并不大,这不仅意味着音和音之间存在协调关系,而且按这样的倍率关系,从任意置开始连续7个音都能形成一条听起来相当不错的音阶,这就是7音阶的来历。这种方法由 $f$ 产生的第1个音是 $3f/2$,除 $4f/3$ 外的其它音都由 $3f/2$ 产生,而 $f$ 到 $3f/2$ 是纯五度关系,因此这个方法被称为【五度相生律】,世界历史上多个民族都独立发明出五度相生律,但一般认为最早是由古希腊哲学家毕达哥拉斯提出的。

然而随着音乐的不断发展,这7个音慢慢变得不够用了,而且相邻两个音之间的频率比并不统一,跟不上乐器音准的提高速度。因此后来人们又发明出了十二平均律系统,直到现在7音与12音并存的局面。

十二平均律

此盖二千余年之所未有,自我圣朝始也,学者宜尽心焉。

频率比为 1:2 的两个单音之间的音程被定义为【纯八度】,十二平均律体系将一个纯八度分成12份,每份为1个半音,两份为1个全音,而【音数】是指音程之间所包含半音与全音数目之和。例如某单音的频率为 $f$ ,那么它与频率为$2f$的另一个单音之间就构成了一个“纯八度”音程。

音程度数前的文字“大”、“小”、“纯”,只能在固定的度数前使用,具体的规定是:一度、四度、五度、八度音程要用“纯”字来表示,不能用“大”、“小”来标记;二度、三度、六度、七度要用“大”、“小”来标记,而不能用“纯”字来标记。

音程 音名 频率 频率比 整数比 公倍数
小二度 C#/Db $2^{1/12}f$ 1:1.06 15:16 240
大二度 D $2^{2/12}f$ 1:1.12 8:9 72
小三度 D#/Eb $2^{3/12}f$ 1:1.19 5:6 30
大三度 E $2^{4/12}f$ 1:1.26 4:5 20
纯四度 F $2^{5/12}f$ 1:1.34 3:4 12
三全音 F#/Gb $2^{6/12}f$ 1:1.41 7:10 70
纯五度 G $2^{7/12}f$ 1:1.50 2:3 6
小六度 G#/Ab $2^{8/12}f$ 1:1.59 5:8 40
大六度 A $2^{9/12}f$ 1:1.68 3:5 15
小七度 A#/Bb $2^{10/12}f$ 1:1.78 5:9 45
大七度 B $2^{11/12}f$ 1:1.89 8:15 120
纯八度 C $2f$ 1:2 1:2 2

异名同音】每一个音程还有其它的名称。例如小三度又称为增二度,大六度又称为减七度等等,有兴趣可参见维基百科:音程1。音数更多的音程也是存在的,但一般很少用到。

表示法

唱名

唱名】是由一位意大利音乐理论家桂多·达莱佐从一首拉丁语圣歌的歌词中抽取出来的。而音名则是由后来的英国人嫌拉丁唱名太麻烦,就用英语字母代替了。但过去无论是过去还是今天,A 都是基准音(与主音概念不同,注意区别)。

音名 A B C D E F G
唱名 La Si Do Re Mi Fa So

ABCDEFG 这样7个音连在一起形成的音阶称为【小调音阶】,不过后来大调比小调更为普及,便趋向于使用【大调音阶】(CDEFGAB) 的【主音】 C 作为一个纯八度音程的开始。显然,人们使用的全部音符数远多于7个,因此唱名及其音名是循环使用的。

升降记号

音符的后面可以添加升降标记,表示该音符升高半音或降低半音。【升号】为 #,【降号】为 b。显然,有两个音是没必要升的:E 升半音就是 F,B 升半音就是 C,而这就是钢琴键盘布局形成的原因。

img_mark

和声

和声】是指由超过一个单音所组合而成的声音。你可能会发现,和声的定义与拍音的定义是非常相似的。的确如此,所有的拍音都是和声,但和声不一定会产生拍音。首先,人耳可以听到的声波频率范围大约为20Hz到20000Hz,如果和声产生的频率超过这个范围,通常就不能称之为拍音了。其次,不同的乐器发出的单音进行叠加也可以称为和声,这也不是拍音。最后,拍音要求所有单音同时发出,而和声则无此要求,只要一个音在另一个音结束之前发出,它们交叠的部分就形成了和声。

在西方古典音乐理论中,和声主要研究两个单音构成的和声,三个或以上单音构成的和声一般称为【和弦】。在一个纯八度范围内,两个单音的和声一共有 12 种,即与12 种音程相对应。在钢琴键盘上以中央 C 键,即 C4 为准,请试听一下 C4 分别与 D4、E4、F4、G4、A4、B4 以及 C5 键同时按下的和声效果。听过以后有没有发现某些和声比较悦耳,而某些则比较难听?比如 C4 和 C5 同时按下(纯八度音程)的和声就毫无违和感,就像只有一个音;而 C4 和 D4 同时按下(小二度音程)就非常刺耳难听。这究竟是为什么呢?

其实就是个叠加原理,由于除纯八度外的所有音程的频率比均为无理数,因此他们的拍音的频率只能按频率的近似整数比来计算,按前文列出的最小公倍数排序,可得如下和声序列:<纯八度,纯五度,纯四度,大六度,大三度,小三度,小六度,小七度,三全音,大二度,大七度,小二度>,即下图:

img_harmonious

例如 C4 和 G4 之间是完全协和的纯五度,他们的弦长比是 3:2,最小公倍数是6,那么他们的拍音频率就是弦长为 C4 弦长2倍的弦所发出的声音的频率,显然就是 C3 的音。我们可以在在线钢琴上同时按下 C4 和 G4 键,然后试着同时按下 C4、G4 和 C3 键听一听效果。可以感觉到 C4 和 G4 把 C3 增强了。同理,A6 和 B6 这两个小二度音程的弦长比是 16:15,最小公倍数 240,拍音频率对应的音为 B2,然而 B2 与 A6 和 B6 相隔太远了,我们无法听出拍音增强的效果。

和声理论已经发展为一门学科,称为和声学,内容是相当复杂的,这里只做简单的科普性介绍,感兴趣的同学可以阅读《和声学》。

和弦

和弦】指组合在一起的两个或更多不同音高的音。和弦的组成音,可分开演奏,亦可同时演奏。分开演奏时,称为分解和弦。

和弦的结构类型很多,如果按照组成音的多寡来区分,可分为三和弦、七和弦及九和弦等。三和弦是由三个音组成,七和弦是由四个音组成,九和弦则由五个音组成。如果按照和弦组成音之间的音程结构来分类,又可分为大和弦、小和弦、增和弦和减和弦四种形态。

三和弦

以任意音 N1 为基准【根音】,向上三度得 N2,向上五度得 N3,这三个音的和弦称为三和弦:

名称 [N1,N2] [N1,N3]
大三和弦 大三度 纯五度
小三和弦 小三度 纯五度
增三和弦 大三度 增五度
减三和弦 小三度 减五度

上表中 [N1,N2] 表示从 N1 到 N2 的音程,[N1,N3] 表示从 N1 到 N3 的音程。注意增五度就是小六度,减五度就是三全音,这是在上一讲中提到过的异名同音现象。

对应上文钢琴按键图示很容易看出。C 和 E 两键之间共有两个全音,因此是大三度,C 和 G 是纯五度,那么 C、E 和 G 三个白键就构成了大三和弦。C 和 Eb(E 左边的黑键)是小三度,那么 C、Eb 和 G 三个键构成了小三和弦。同理可知:C、E 和 G# 构成增三和弦,C、Eb 和 Gb 构成减三和弦。

如果换一个根音,和弦对应的键位就会发生明显的变化,发出音色也会完全不同。以 A 为根音的大三和弦是 A、C# 和 E,小三和弦是 A、C 和 E,增三和弦是 A、C# 和 E#,减三和弦是 A、C 和 Eb。

另外,小三和弦的“协调”程度不如大三和弦,增三和弦和减三和弦的情况与之类似,可以用上文的和声理论进行分析。

七和弦

七和弦比三和弦多加一个音 N4,它于 N1 的音程为七度。七和弦分为:大小七和弦、大七和弦、小七和弦、小大七和弦、增七和弦、减七和弦和半减七和弦一共7种,具体参见维基百科,此处不再赘述。

调式

调式】是若干个具有不同音高的音的集合,这些音互相之间具有某种特定的音程关系,并在调式中担任不同的角色。调式是决定音乐风格最重要的因素之一,调式和调性结合,决定了该段音乐所用的调。

最常使用的调式大体分为【大调式】和【小调式】,又细分为自然大调、旋律大调、和声大调、自然小调、旋律小调、和声小调等。但无论哪种调式都具有7种不同的音:主音、上主音、中音、下属音、属音、下中音和下主音,其中下主音有时也称作【导音】。不同的调式规定了这些音之间不同的音程,但不规定音的具体音高。也就是说调式仍是建立在以十二平均律体系为基础的相对音高系统之上的。调式系统里最重要的是自然大调和自然小调,下面分别进行介绍。

自然大调

“全全半全全全半”,自然大调是最常见的调式,大多数流行歌曲都采用自然大调。除了“中音和下属音”,“下主音和主音”这两对音程是小二度之外,其他相邻两音之间都是大二度。

自然小调

“全半全全半全全”,自然小调是和自然大调同等重要的调式,在古典音乐中应用非常广泛。看起来与自然大调音阶只是相位不同而已,但实际上由于作曲时要先定调,就像写程序先设计框架结构一样。定了调之后就有了主音以及其它音的相对音高关系,而作曲时都要围绕主音进行。以主音为根音的三和弦称为主和弦,大调使用大三和弦,而小调使用小三和弦,因此听起来是有很大差异的。

其它小调式

大调一般只有一种,就是自然大调。苏联人发明的和声大调、旋律大调已少有人提及。小调分为和声小调、旋律小调和现代小调三种,都较少见,有些只在特别的音乐类型出现,比如现代小调一般只出现在爵士乐中。

为什么小调会出现变种呢?这是因为小调有着天生的缺陷。自然大调的下主音和主音之间的音程是半音,即小二度,很好的体现了对主音的倾向。举例而言,从一个大调音阶<C、D、E、F、G、A、B、C>中的B到C的过渡是非常自然和平缓的,这样作曲时就方便的使用跨越纯八度的和声。然而小调的下主音和主音之间的音程是全音,即大二度,欠缺了倾向主音的性质,因此人们就尝试将自然小调音阶的导音提升半音,这样就得到了和声小调音阶。旋律小调和现代小调就更加复杂一些,牵扯不同的上行音阶和下行音阶,这些过于专业的内容就不再赘述了。

大小调关系

前面所说的绝对音名相同但相位不同的大小调称为【关系调】,比如降 E 大调(主音为 Eb)<Eb、F、G、Ab、Bb、C、D>的关系小调叫做 C 小调<C、D、Eb、F、G、Ab、Bb>,可以看出它们采用的音名都是相同的,但做了移相。因此从升降号上是无法区分大小调的,但是通过观察谱子里使用的主音就很容易区分了。

大调一直以来都是作曲家钟爱的调试,而相比之下小调的音乐就比较少了,古典音乐里二者还相差不多,但流行乐中的小调就少得多了。这主要是因为小调的歌唱性没有大调强,常用来表达负面的情感,比如悲伤、阴沉、恐怖等,在电影、游戏中的背景音乐中常可以听到。不过流行歌曲也是有一些的,比如《白桦林》、《爱的供养》、《伤心太平洋》等,国外的流行歌曲到是多一些,而且有人研究发现:从1960年代以来越来越多的流行歌曲是以小调作曲的。

调性

调性】名就是主音的音名,为了统一命名,规定12个调性的名称分别为:{C, G, D, A, E, B, F#, Db, Ab, Eb, Bb, F},并规定以C、G、D、A、E、B、F为主音的调性用升号#标记五线谱的升降,其它调性用降号b标记五线谱的升降。大调确定了,关系小调也就可以确定了。为了便于记忆这24个调,有人发明了五度圈图示法:

img_tonality

对于五度圈右边每个升号大调,从 F 开始以顺时针方向数,到它前面2格为止,都是它的音阶中要升半音的音符,例如 E 大调音阶中 F、C、G、D 都升半音,对于 B 大调音阶中,F、C、G、D、A 都要升半音。对于左侧降号大调,则是从 B 开始以逆时针方向数,到正对面调都是它的音阶中要降半音的音符,例如 Ab 大调音阶中 B、E、A、D 都要降半音,Db 大调音阶中 B、E、A、D、G 都要降半音。

另外,从任何一个音开始逆时针数,第一个音与它的音数是 2.5;顺时针数第一个是 3.5。这个规律可以帮你用五度圈来推算音程。比如要求G到F#的音程,从五度圈可知F#是G顺时针方向第5个,(5 * 3.5) % 6 = 5.5,即大七度。再看从F到Ab,是逆时针第3个,(3 * 2.5) % 6 = 1.5,即小三度。

通过上述规律和方法,可以从五度圈中可以推导出所有的音程关系、音阶和调性,因此说大半的乐理都在五度圈里了。但它的结构复杂,被众多文艺生视为洪水猛兽,有个口诀:

11点,猫饿了,Fat Cat Go Down And Eat Bread;
6点,猫又饿了,Go Down And Eat Bread。

也就是说从五度圈的11点开始,顺时针方向依次是 FCGDAEB,从6点钟开始又是 GDAEB,由于是晚上这些音都要降半音,即后面都加个b(Gb = F#)。

音程与音数的对应记忆起来稍难一些,但是也有技巧。音程口决是:“小大小大纯三纯,小大小大纯”。前7个从小二度开始,后5个从小六度开始。掰指头数一下这个音程排在总第几位,除以2就是它的音数。比如小七度排在第10位,音数就是5。

到此所有有关音调的基础乐理就介绍完了,有不周之处,请多担待。不过如果您把之前的课程都认真的学通了,那么这些乐理知识足以让您在学习任何乐器时都不会对音和调的问题产生困扰。此外,如果您还想尝试音乐创作或评论,这些内容也是重要的基本功。

后记

音乐是比一切智慧、一切哲学更高的启示 — 贝多芬

贝多芬的表述可能存在夸张,但毋庸置疑,音乐能直接开启感性世界。技术类工作十余年,思维方式愈发趋于纯理性动物。加之从小到大都没有接受过基本的音乐教育,导致根本不懂音乐,也不会欣赏音乐,实乃人生一大憾事。最后附上一首优美的钢琴曲:#肖邦-降E大调夜曲#

img_end

附:中国乐谱记法

在东方,最古老的乐谱出自于华夏文明,春秋时期的《礼记·投壶》记载了至今发现的最古老乐谱:鼓谱,它是用符号方框和圆圈记录的。到汉代司马迁的《史记》“律书第三”中写到:“……九九八十一以为宫。三分去一,五十四以为徵(念zhi,三声)。三分益一,七十二以为商。三分去一,四十八以为羽。三分益一,六十四以为角。”它的意思是取一根用来定音的竹管,长为81单位,定为“宫音”。然后将81乘上 2/3,就得到54单位,定为“徵音”。将徵音的竹管长度54乘上 4/3,得到72单位,定为“商音”。将商音72乘 2/3,得48单位,为“羽音”。羽音48乘 4/3,得64单位,为“角音”。而这宫、商、角、徵、羽五个音高,被称为中国的五音。这种音律方法称为“三分损益法”。

后来人们继续应用三分损益法构造出了另外7个音,并给这一共12个音都起了名字。与现代音名的对照分别是:黄钟(C),林钟(G),太簇(D),南吕(A),姑洗(E),应钟(B),蕤宾(Gb/F#),大吕(Db/C#),夷则(Ab/G#),夹钟(Eb/D#),无射(Bb/A#),仲吕(F)。以这些音名第一个字作为简写就是中国古代使用最广泛的记谱法:“乐律谱”,它属于文字谱的一种。

但是乐律谱的记载太麻烦了,因此人们又发明了“工尺谱”。唐朝已经有工尺谱,传到宋朝极为流行。它具有7个唱名:上、尺、工、凡、六、五、乙,大至对应于西方的 {Do, Re, Mi, Fa, So, La, Si}。相信最初工尺谱是某种乐器的乐谱,是固定音名,但后来在不同乐器和乐种广泛流传以后,工尺谱逐渐变成不固定的唱名。

附:推荐博主

  1. 写给理工科人看的乐理2
  2. 音樂家的無聊人生3
  3. NiceChord (好和弦)4
  4. Feng’s Music Channel5

  1. wiki:音程 ↩︎

  2. 写给理工科人看的乐理 ↩︎

  3. 音樂家的無聊人生 ↩︎

  4. NiceChord (好和弦) ↩︎

  5. Feng’s Music Channel ↩︎

If you liked reading this, you could subscribe by email.


Far Land Leo Zeng
Previously Raytrace Demo May 20, 2021
Up next 写给程序员的量子计算基本原理 December 22, 2022
© 2021 Leo. 粤ICP备19014316号-1