转载自草鱼原创
以前在校内上曾经流行一个matlab演奏《卡农》的帖子,写法蛮帅的,用的还是纯律而非平均律。回想起我初中时候在少科站无聊也用Turbo Pascal编过《亚洲雄风》来着,当时就觉得一串数字转化成音乐是件很神奇的事情。来聊聊音乐和数学哈~
音乐之所以和谐美妙,很大程度上得益于两个数学上的约等式同时成立:
1) 2 ^ (7/12) = 1.4983 ≈ 3/2,误差 0.1%
2) 2 ^ (4/12) = 1.2599 ≈ 5/4,误差 0.8%
听起来很邪乎吧?待我慢慢道来……
【陪音】
唱歌的时候如果唱不上去了我们经常会“唱低八度”,这时候虽然声音低了许多,但与原唱并不冲突,与伴奏也仍然和谐。那为什么“八度”那么特殊呢?或者说,为什么差八度的音听着那么像呢?原来差八度的两个音其频率正好差两倍——比如中音do(钢琴正中的C,记作C4或c’)是261.6赫兹,而高音do(记作C5或c’’)是它的两倍523.3赫兹。
那为什么频率差两倍就听起来像呢?这里需要引入陪音(upper partials)的概念,也称为泛音(overtone)。除了一些音色很纯的音(比如机器发出的正弦波)外,多数乐器演奏中除了激活原本频率的声波(基音)之外还会激活这些频率的整数倍,也就是陪音。当你按下钢琴的C4,这时空气中激荡着的不只有261.6赫兹的声波,还有523.3赫兹、784.9赫兹、1046.5赫兹等等(称为泛音列),而泛音列中各个音的不同强度和相位正反映了乐器的音色。注意523.3赫兹是C5,1046.5赫兹是C6,但784.9赫兹并不是一个C音,我们后文会讲到784.9赫兹比较接近G5。也就是说,同一音名的两个音之间肯定有陪音的关系,但反之不成立——陪音不必须是同一音名。回到八度的问题:C5本身就是C4最近的一个陪音,C5的陪音也都是C4的陪音,所以弹C5时激活的音频弹C4时也会激活(当然强度不同),两个音听起来自然像啦~
【平均律】
搞清楚了啥是八度,那一个八度里的音又是怎么分的呢?大家知道七声调式中一个八度是7个基本音级、12个半音,2个半音等于一个全音。大调是“全全半全全全半”,小调是“全半全全半全全”。在巴赫开始提倡、现代普遍采用的十二平均律中,这12个半音是均匀分布的——从物理上讲,也就是半音阶中的音的频率形成一个等比数列。比如说C4是261.6赫兹,C5是523.3赫兹,而两者之间的11个音每个的频率是上一个的2 ^ (1/12) = 1.0595倍——C♯4是261.6 * 1.0595 = 277.2赫兹,D4是277.2 * 1.0595 = 293.7赫兹,依此类推。一个半音又可以分成100个音分(cent),差一个音分相当于频率差2 ^ (1/1200) = 1.00058倍,一个八度也就是1200个音分。普通人对音高的辨别阈大概是20音分(0.2个半音),而音乐家可以达到5音分(0.05个半音),不 同音高下的辨别阈还有所不同。
为什么要用平均律,让所有音均匀分布呢?一个重要的原因是方便转调。比如周杰伦的《安静》,开始一直是B♭ 调,在唱到第二遍副歌“你要我说多难堪”的时候突然升了一个全音变成了C调——也就是之前的B♭变成C,C变成D,D变成E等等,但尽管音高变了旋律听起 来还是一样的,唱也还是一个感觉,区别最多也就是转一下调情绪激动一点。这种转调后的不变性是平均律特有的,在其他一些律制(比如五度相生律、纯律和中庸全音律)中不成立。同时这也意味着除平均律外,其他律制中每个调号的色彩都略有不同。这就是为什么亨德尔会偏好F大调和G小调(当时还没有平均律),而lady gaga就不那么在乎。
【音程的协和】
前菜上完了,下面是主菜:音程的协和。协和(consonant)这个概念,操作定义大致就是听起来和谐、悦耳。在实证研究中一般是给参与者同时播放两个正 弦音(这种音不带陪音,只有基音),调整其间的频率间隔,然后让参与者在7点量表上评价这个音程有多悦耳、多优美、多和谐之类。Plomp和Levelt 的这篇论文里结合了前人和他们自己的实验结果,得到这样一条曲线来描述两个正弦音的间隔与这个音程不协和程度的关系:
图一:音程不协和度与音程中根音和冠音间隔半音数的关系(图出自《American Scientist》上的这篇文章,是P & L原文Fig.10的重新制作)
怎么样,这条曲线看起来很光滑圆润小正太吧?可如果是这样,难道两个音的间隔越大越协和?那为什么又要分协和音程和不协和音程呢?且慢,记得我们讲这只是两个基音之间的不协和程度,而考虑上两个音各自陪音之间的协和程度之后,这图就变成了下面的样子:
图二:考虑陪音后的音程不协和度(出自《American Scientist》,P & L原文Fig.11的重新制作)
光滑圆润的小正太转眼变成了小刺猬,而且这刺还不是乱长,偏偏长在0、3、4、5、7、9、12这几条线附近,是不是很神奇?我反正觉得挺神奇的。原文中没有给详细的推导过程,于是我就自己尝试推导了一下(蓝字部分)。
首先图一这个小正太,怎么看怎么像一个Gamma分布。我试了几次后发现它和Gamma (2,1)最为接近:
图三:用Excel自制的Gamma (2,1),和图一长得很像吧
这个曲线大概反映出我们听觉的特点:当两个纯音间隔很小(比如小于0.2个半音)时人耳难以分辨,因此感觉是完全协和的。当刚开始能够分辨出两个音的时候感 觉特别刺耳,于是就出现了1-2个半音处不协和的高峰,而之后随着间隔变大刺耳的感觉逐渐减弱,不和谐度也下降了。Gamma (2,1) 模型的具体数值如下表:
表一:根据Gamma (2,1) 算出的不协和度数值(y轴无量纲)
接下来看陪音之间的协和。打个不太恰当的比方,谈恋爱不仅要两个人谈得来,还要讲究门当户对不是?所以说还要拿双方的弟弟妹妹们来配配看是否和谐,最后把所 有不和谐的因素加起来看。表二中列出了根音6倍之内陪音和冠音8倍之内陪音的间隔半音数。从图三中看到两个音相差6个半音以上不协和程度就很低了,所以忽 略掉陪音频率差别在3:2以上的情况(实际计算的时候我是忽略了2:1以上的情况)。
表二:根音陪音和冠音陪音的间隔半音数
把表二中的数值代入Gamma模型,就得到表三的不和谐度:
表三:根音陪音和冠音陪音的不协和度
把所有陪音的不协和度加起来就得到了图四,和American Scientist上的图(图二)差不多吧:
图四:考虑陪音后的音程不协和度(Excel自制)
以上部分我们用一个Gamma模型推导了考虑陪音后根音-冠音间隔和音程不和谐度的关系。那么图上突然下降的那几根刺是怎么来的呢?
举例来讲,间隔半音数7附近不协和度突然下降,而这个下降主要来自根音的3倍音(橙色线)和6倍音(绿色线)。回到表三,可以看到7个半音(G4)这一栏下黑框中的两个数(0.02)远远小于黑框两边6个半音和8个半音两栏(0.37),使得G4的陪音与C4的3倍音、6倍音上的不和谐度只有两边F♯4和G♯4的10%不到。类似的情况也出现在0、3、4、5、9、12个半音的栏目中(表三中粗体标出)。
之所以这些位置会出现不协和度突然下降,寻根溯源到表二就很清楚了:表三中标粗的位置在表二中都接近0(绝对值 < 0.2)。对照Gamma分布的曲线(图三)和之前的讨论,两个音相差小于0.2个半音时普通人难以分辨其差别,也就不会觉出不协和。而一旦稍高于这个阈 限,不协和度就陡然上升。这也就解释了为什么会有“刺”及其两边的突起形状。
还是以G4(和C4间隔7个半音)为例:G4的2倍音和C4的3倍音太过接近,以致听不出不协和;G4的4倍音和C4的6倍音,G4的6倍音和C4的9倍音等等也都如此。这样叠加的效果使得G4和C4构成的音程总体而言听起来不协和度低,也就解释了7附近的不协和度下降。注意,不管原图还是自制图中都只考虑了根音6倍以内的陪音,加上更高倍数陪音的话“刺”会更多。
OK,如果还有人follow的话,以上冗长的推导简单来讲就是要证明这样一个结论:当根音和冠音的振动频率成简单整数比时,音程就协和。两者所成整数比越简单、越精确,音程就越协和。
这个结论大体是得到实证数据支持的:我们通常听来协和的音程(图二中“刺”的位置)都可以近似表示成简单整数比,而不协和音程表示成整数比要么分子分母较 大,要么误差较大(表四)。简单整数比也同样能解释一些三和弦的协和:比如同为大三度和小三度的叠加,大三和弦其三个音的比例是4:5:6从而听起来非常 “正”,小三和弦三个音的比例是10:12:15协和程度就略差一些。
表四:协和音程和不协和音程对应的振动频率比
【见证奇迹】
总结一下上面两部分说的:协和音程要求音阶中各个音的频率成简单整数比a/b,而平均律要求音阶在1和2之间构成等比数列,也即各个音的频率比需要表示为2^(m/n)(m为两个音的间隔数,n为一个八度音阶的全部音数)。也就是说,音程如果既要协和又要符合平均律的话,就必须有a/b = 2^(m/n)。但这里就产生了矛盾:a/b 是有理数,而2^(m/n) 在m非n整数倍的情况下是无理数,两者没法相等。
怎么办呢?所幸人耳没那么精确,允许一定误差,也就是可以a/b ≈ 2^(m/n)。两边取以2为底的对数得 m/n ≈ log2 (a/b),或者写成m/n = log2 (a/b) + ε(标为*式),此处 ε 是平均律情况下音频比偏离简单整数比的误差。这个误差当然不能太大:前文提到一般人对音高的辨别阈大概在20音分左右,我们取15音分(听力稍好的人的辨别阈)作为标准,也就得到 |ε| < 15/1200 = 0.0125。
然后考虑简单整数比a/b:a/b为整数(1、2)时产生的是极完全和谐音程,这时候m/n = 0或1,必然有精确解。而我们关注的是其他协和音程,即a/b = 3/2, 4/3, 5/4, 6/5时能不能找到相应的m/n。而事实上,只要找到在a/b = 3/2(纯五度)和a/b = 5/4(大三度)情况下符合*式的m1/n和m2/n,其他常用协和音程也都迎刃而解。蓝字部分解释了为什么存在纯五度和大三度后就能导出所有其他协和音程:
log2 (4/3) = 1 – log2 (3/2),log2 (3/2) 是有理数时log2 (4/3) 必是同分母的有理数,即存在纯五度也就存在纯四度
log2 (5/4) = 1 – log2 (8/5),存在大三度也就存在小六度
log2 (6/5) = log2 (3/2) – log2 (5/4),存在纯五度、大三度也就存在小三度
log2 (5/3) = 1 – log2 (6/5),存在小三度也就存在大六度
好,接下来的工作就是一个一个试了(连分数可以得到最接近的解,但我们需要所有误差范围之内的解):下面列出了n在30以内所有接近纯五度的m1/n,m1/n ≈ log2 (3/2) = 0.585
7/12, 14/24
10/17
11/19
13/22
15/26
16/27
17/29
接近大三度的m2/n,m2/n ≈ log2 (5/4) = 0.322;红色标出的是既存在纯五度、也存在大三度的情况
1/3, 2/6, 3/9, 4/12, …
5/16
6/19
7/22
8/25
9/28
9/29
对比两串数,12这个神奇数字就这样华丽丽地登场了:在12平均律下相差7个半音的音程可以满足纯五度(12是满足该条件最小的n),而恰好此律下相差4个半音的音程可以满足大三度。
你或许说如果没有12平均律,那19平均律、 22平均律也行啊——且慢,让我们把纯五度的纯度要求提高些(毕竟这是完全协和音程),取到音乐家的辨别阈5音分(|ε| < 5/1200 = 0.0041)来看看。这时12平均律仍然满足要求,而19平均律、22平均律则被踢出。下一个满足要求的是29平均律,遗憾的是29平均律的大三度没有 12平均律的纯,以至于如果需要找一个真正比十二平均律更纯的平均律,最小也要41平均律。
现在看出奇迹所在了吧?如果没有12平均律而要用41平均律,那钢琴上弹一个八度需要手跨41个键,而钢琴的琴键总数将达到300个……更重要的是,41平均律中两个相邻音之间只差不到30音分,实在不好辨别啊……
恩,这也就是我要说的,音乐美妙多亏一个数学的巧合,说夸张点就是“音乐是数学的奇迹”。再来回顾一下这两个神奇的式子:
7/12 = log2 (3/2) – 0.0016
4/12 = log2 (5/4) + 0.0114
两边取2的幂次就得到文章开头的两个式子了。
【不只是数学】
相信较真儿的同志肯定发现了不少问题:上述模型中小六度应该是不协和的,而实际乐理中认为小六度是协和音程;模型只考虑了根音6倍音以下的情况,而没说明为 什么取6倍;用Gamma分布描述人耳对不协和程度的感知缺乏理论依据,等等。确实,这个模型有很多简化和不足的地方。而且我只是关注单音程协和的问题, 要解释三和弦、四和弦的协和,乃至和弦进行的问题就要复杂得多了(这里有解释三和弦和谐程度的几个模型,简化中文版看这里)。
进一步说,协和又怎么样,协和的音乐就好听吗?这个答案必须是否定的。欧洲中世纪和中国古代都有“音乐之美在于和谐”的思想,进而产生出像复调音乐“奥加农”和中国的“雅乐”这样追求绝对协和的音乐。以奥加农为例,全部依平行四度、平行五度进行,但其结果是音乐过于空洞、苍白,为历史所淘汰。平行五八度的进行也因为过于协和而在古典乐理中被禁掉。现代音乐那就更自由了:爵士、布鲁斯的和弦进行就与古典音乐有明显差别,而现代主义的无调性音乐就完全没有协和可谈了。所以说协和只是音乐之美的一个方面,节奏、音色、曲式、歌词等等往往起到更大的影响。不过说实在的,作为一个俗人,还是听协和点的音乐比较舒服啊~
参考文献:
[1] 律制详解
[2] 悠扬, 【和专题】跟我和一曲阿卡贝拉
[3] Norman D. Cook and Takefumi Hayashi, The psychoacoustics of harmony perception. In American Scientist, July-August: 311-319, 2008
[4] Reinier Plomp and Willem J. M. Levelt, Tonal consonances and critical bandwidth. In Journal of the Acoustical Society of America, 38, 548-560, 1965