========================
== Seeking Complexity ==
========================

Music Theory: Building from the Scratch

PUBLIC

如何用比较数学和推理的方法去理解和掌握音乐。

说一个有争议的话题,类似中医和西医。不分高下地做一个对比,西医更像是演绎法,中医更像是归纳法。

就像是how first principles thinking fails里面提到的inductive v.s. deductive。

不是说归纳法不好,而是演绎法可能更适合我这样的天赋不佳的人去理解。你跟我说,“感觉一下”,我太难理解了。

Building from the Scratch是模仿Linux From Scratch (LFS)。

第一章 从频率说起

声音

众所周知,声音是波。波有两个属性:频率 x 振幅。频率决定我们听起来声音的“高低”,振幅决定声音的“大小”。

声音是波,而不是粒子 :)。

所以声音存在“共振”现象。

也就是说,在自然界中,如果一个声音的频率是440Hz,往往440Hz的整数倍声音也会同时出现。比如880Hz(第2谐波),1320hz(第3谐波)等等。

为什么同样不跑调的人,有的人唱起来好听,有的人唱起来不好听。

就是因为每个人的谐波特性不同。

如果完全没有谐波,好不好听呢。

在电子电路出现之前,是很难产生单一频率的波的。但是现在我们可以用电路来实现非常单一的波,这种工具被称为合成器。构成了电子乐的基础。

音乐中的牛顿定律

上面我们说完了单一频率的波,接下来我们说如果多个频率连续出现,什么时候我们会觉得好听,什么时候会觉得难听呢。(这里的好听难听就无法形式化了,凭“感觉”)。

结论:

频率构成简单整数比的声音,放在一起听会比较好听。

比如:

  1. 上面提到,我们在发出440Hz的时候,880Hz的声音也同时存在,构成1:2的频率比,属于简单整数比。所以一个持续的单一音高,不会那么“难听”。
  2. 和弦是好听的,和弦是什么呢。和弦就是多个构成简单整数比的声音同时出现。比如我们最常见的C大三和弦,就是由频率比例是4:5:6的声音构成的。 在这里并不需要理解什么是C大三和弦。后面会再介绍。

到这里,我们提到“好听”很多次,我们的好听是基于我们身体机能的反应(可以再深究一下,但是不是今天)。

这里也应该形式化的表达一下人对声音的测量特性了。

  1. (大部分)人无法掌握的机能:听声音,就说出他的频率。
  2. (所有人)人可以听出来两个声音之间的频率比例。 我们把两个音的比例,给一个名字叫作 音程 ,声音之间的路程。最简单的音程就是1:2。
  3. 所以人的耳朵工作在Log尺度下。

下面,我们如果想构成一段声音的序列,我们该怎么选择频率呢。

比如我们先无脑选择440Hz(这个440Hz完全是人为定义,历史惯性,完全可以改成别的),那么我们可以先想到880Hz,这个没问题,听起来是“和谐”的(后面我们会更多用和谐来指代好听)。

然后我可以选择440Hz的1/2,1/3,1/4…1/13,每个音给一个键,用合成器来开始演奏了。

这样可以吗,其实是可以的,但是历史的车轮走到今天,我们现存的音乐体系里面用的是1234567,七个音。也就是说,在1:2的整个音程[440,880]里面,切分出来7个音。

为什么是7个音

我们进入第一个真正有意思的环节了。

为什么是7个音呢。历史上是怎么发生的?

首先,我们看看哪些整数比是好用的,1:2两倍频率,没有问题。2:3也是很整的。

2:3是如此之好听,那么让我们重复它

f = 440
for i in range(13):
    print(i,f)
    f = f * 3/2
    if f > 880: f=f/2.0

0 440
1 660.0
2 495.0
3 742.5
4 556.875
5 835.3125
6 626.484375
7 469.86328125

一直循环到第7个,我们似乎又回到了原点,469和440很接近了,那么我们停下来吧。

  • 一个小小的修复

    在上面的过程之后,我们得到了8个音符(下图中灰色+红色,重色是上面迭代中的(7,469)。 但是,我们遗憾地发现3:4这个良好的整数比竟然没有用上(下图中蓝色)。

    所以,决定,把红色换成蓝色。最终得到7个音符。

    这种方法又被称作五度相生律,据说是毕达哥拉斯学派发明的。

形式化的开始,巴赫十二平均律

在上面的五度相生律之后,要过了很长很长一段时间,人们才真正学会log/exp算符。(巴赫会不会啊,不知道)。

所以被大佬巴赫,重新发明了十二平均律。

上面的结果,如果我们用现在我们掌握的exp来操作,并且去增加划分:

t=12
octaves = [440*(2**i) for i in range(2)]
fifth = [octaves[i] * 3/2 for i in range(1)]
fourths = [octaves[i] * 4/3 for i in range(1)]
new_notes = [octaves[0] * (2**(float(i)/float(t))) for i in range(1, t+1)]
plot(f"{t} divisions (notes)", [(octaves, 'k', "octaves"), (fifth, 'r', "fifths"),(fourths,'b', "fourths"),(new_notes,'g', "new notes")], 'log')

我们就直接得到了12个划分,并且:

  1. 充分利用了1:2 2:3 3:4这三个良好的整数比。
  2. 尊重了传统,上面的7个音符也都被覆盖了,历史上的曲子不用重写了。

这里,我们有了新的观察,原来1-2之间和3-4之间,不一同样的“距离”。

  • 3-4和7-1之间距离比较小,在十二划分里面,这两个之间的距离是一个单位,被叫作一个 半音
  • 其他音之间的距离比较大,是两个单位,被叫作一个 全音

到了这里,终于有一个比较“良好”的数学表示了。

我想起来小时后音乐课的时候,有一种题算是简谱的完形填空,给你一个旋律,盖住其中一个音符来猜答案,当时我很想用类似等差数列之类的东西去找答案。

现在看来,当时猜的成绩如此之差也可以理解了。音阶竟然不是连续的。

用流行的话说,12平均律给出了一个最基础的latent representation。

数学上的不严谨性

上面两种方法,五度相生律和十二平均律找到的音符,从数学上不是完全相等的。

十二平均律找到的都是无理数,原本的五度相生律找到的都是有理数。

这是一个细节。

十二平均律确实更加整齐,也有很多优点,但是五度相生律更接近最基础的整数比定理。

所以严格来说,十二平均律是方便,但是不够好听或者说和谐的那一个。

除了这两个之外,还有一些其他的律。甚至这也算一个专门的领域吧。

第二章 旋律和和弦的关系

和弦出现了

这样,和弦就出现了,几个音放在一起听,比较和谐,他们就算是一个和弦。

二(个音的)和弦

比如1-5,如果大家还记得话,他们是2:3的关系,听起来很好,同理2-6也听起来很好。而且1-5和2-6听起来会有点像。

三(个音的)和弦

再多一个音的话,1-3-5的比例是4:5:6,这个就有点高级了,它是由1-3的4:5和1-5的2:3组成的。

另外一种理解是,它是由1-3这个音程和2-5这个音程组成的。根据十二平均律,1-3是4个半音的音程,3-5是3个半音的音程。 先走4步,再走3步。

继续往下平移呢,2-4-6,他是由2-4和4-6组成的,其中2-4是3个半音,4-6是4个半音。 先走3步,再走两步。

和弦就是上面最基础的representation之上一点,更常用的一种representation。

而和弦之中,三和弦占据了主导地位。

三和弦中,1-3-5(4步+3步)和2-4-6(3步+4步)被人们听出来最容易区分,他们的性格(从听感来说)最容易区分。

所以人们给了他们一个非常朴素的名字,4+3是大(三)和弦,3+4是小(三)和弦。

旋律的基础:离家出走->归来和解

斯多葛主义(Stoicism)中提到,快乐无法脱离痛苦而存在。这个说法在旋律中隐隐地体现出来。

旋律,可以被认为,从完美的和谐出发,走出一些不和谐,最终回到和谐的过程。

是不是有点像自虐狂。

或者像走钢丝绳,微微失去平衡,再回来。这种过程,构成了旋律。

可以把音符想象成一个序列,每次产生一个新的音符的时候,我们要考虑两个因素:

  • 希望下一个音符和之前的音符连续出现比较和谐,贴近和弦
  • 是不是该回家了,回到最初的音。不妨假设,我们是从1出发,那么最终我们都是要回到1的。

这就是旋律,从家出发,最终回到家,这期间的探险经历,就是旋律。有的旋律明亮昂扬,有的旋律忧郁灰暗,只是在每一步的选择不同。

第三章 旋律的色彩

十二平均律的预测性

历史发展起来,发现了一个物理规律,这个规律一方面可以解释过去的现象,更重要的,应该可以预测未来。

现在我们有了:12个划分,12个音符。我们先用下标来指代他们。我们目前最常用的音符,还是用五度相生律做出来的,也就是[0, 2, 4, 5, 7, 9, 11, 12/0]。

我们也慢慢意识到,声音的一切都是围绕相对的音程概念的,绝对值不是那么重要。

所以我们有两个猜想:

  1. 能不能平移。 比如[2, 4, 6, 7, 9, 11, 13, 14] 。答案是可以的。而且对大多数人来说,在不做A/B对比的情况下,两种方法演奏的歌听起来是一样的, 在上面的[0,2..12]和[2,4..14]里面,不变的是音和音之间的关系,都是全全半全全全半。
  2. 能不能换家。 比如[9, 11, 0, 2, 4, 5, 7, 9]。答案也是可以的,但是这种替换,听起来就不一样了。这次变换之后,音和音之间的关系变成了,全半全全半全全。

一种变换不影响听感,这个好理解。一种变换影响听感,也好理解。

一切都是因为音程的组合不同。

第一种变换,更多的作用在于更改旋律的搞定,去做乐器之前的配合。

其实主要是配合最不稳定的一个乐器,就是人的嗓子。

人的嗓子的一致性很差,不同的人能唱的高低音差别很大,特别是男女之间的差异也比较大。

第二种变换更具延伸性。如果我们不想改变音符,是不是可以多做一些变换:

  • 12345671
  • 23456712
  • 34567123
  • 45671234
  • 56712345
  • 67123456
  • 71234567

到这里,我有点不可思议了,原来怎么搞都行啊。

确实是怎么搞都行,但是有的好听,有的不好听。或者说有的更大众,更多人听起来舒服,有的更小众,只有乐于挑战的人愿意去尝试。

大调小调

在7个变换中,最常用的,也就是说在没有理论指导的情况下,大家试错出来的,最不难听的。是第一个和第六个。

第一个被叫作, 大调音阶 。第六个被叫作, 小调音阶

中古调式

其他的也都有名字,而且个顶个的名字非常高大上。

1234567Ionian Mode伊奥尼亚调式大调音阶
2345671Dorian Mode多利亚调式
3456712Phrygian Mode弗利几亚调式
4567123Lydian Mode利底亚调式
5671234Mixolydian Mode混合利底亚调式
6712345Aeolian Mode艾奥利亚调式小调音阶
7123456Locrian Mode洛克利亚调式

中古调式的中古,意思是中世纪。中古调式又叫作教堂调式,意思是中世纪的罗马教堂发明的。

教堂为了影响大家,发明了很多东西。

曾经去过一些欧洲的著名教堂,进去之后,看着那些高高的穹顶,看着精美的雕像和壁画,听着教堂音乐以及被刻意设计的房间混响。 有一种我也想加入的感觉,对人的影响力真的很强。

建筑和音乐很多的起源就是宗教的传播需求了。

中古调式有点太复杂了。

但是我们平常听的音乐应该99%都是大调或者小调。

其他的调式就好像钢丝绳上的高难度动作,不容易玩好,玩好了也难免曲高和寡。

两个应用

中国调式:宫、商、角、徵、羽

中国的宫商角徵羽算是什么调式呢。首先他音符不够啊,他只有5个。

实际上他是123561。就是去掉了4和7。

这两个被去掉,一点也不怨,他们都太不独立了,4和3只有一个半音,7和1之间也只有一个半音。

去掉之后,剩下5个音符。从这5个音符里面任意选择音去构成二和弦或者三和弦,概率上来说,更容易和谐了。

摇滚五声音阶

这个也是经常被提到的一个名字。

玩摇滚的为了简化技巧,强化情绪,也去掉了两个音符。

他们选择的是61235。基于同样的原因,我们去掉了4和7。

总结来说,中国调式是5音符的大调,摇滚五声音阶是5音符的小调。

如果手边有什么乐器可以弹一弹的话,会发现这几个音符,随便弹,其实都不算难听。这不就是即兴了嘛。

结尾

写这些内容,诚惶诚恐,因为我自己是一个半吊子。

但是还是被write_it_downlet’s_have_a_talk鼓励,写一些,帮助自己厘清思路,也看看能不能结交新的朋友讨论讨论。

好读书,不求甚解;每有会意,便欣然忘食。