巴赫平均律
零、写在前面
1.参考资料:
- 巴赫《平均律钢琴曲集》的深入分析与解释 Siglind Bruhn
- 《时空重组 巴赫平均律键盘曲集新解》赵晓生
- 巴赫《平均律钢琴曲集》BWV.846 分析 沈阳音乐学院 张一茵
- 巴赫平均律BWV846作品探析 陕西师范大学 徐玮良
- 维基百科 平均律钢琴曲集
2.乐理知识
下面简述本文将用到的乐理知识。
主音与属音
主音是音阶的第一个音级,属音是第五个音级,下属音是主音往下方数纯五度的音,是第四个音级。例如,在C大调中,主音是C,属音是G,下属音是F。主和弦(T)、属和弦(D)、下属和弦(S)就是分别基于主音、属音、下属音的和弦。
终止式
终止是指以旋律或和声上的配置,作为乐曲的解决或歇止。在调性音乐中终止是用来强调乐句的主音(Tonic)的一个主要方法。由各种常见的终止式:正格终止、半收终止、变格终止、阻碍终止等。
其中正格终止(Authentic cadence)指 V -> I或IV-> V -> I(即属->主,或 下属->属->主)进行,这终止可以说是大部分调性音乐的必然收结。
模进
模进在音乐中的定义如下:
至少有2次相同重复的动机,在两个不同的位置出现:
- 调性模进是指同一调性内部的模进,这样音程可能是在(大小二度,大小三度之间)变换;
- 纯粹模进(或说绝对模进,完全模进)指动机中所有音程关系保持不变的移位,这样调性有可能是改变的。
简单来讲,就是同一段旋律在乐曲不同的地方以不同的音高出现,虽然这段旋律的内部的音可能会有音程的改变,但仍能听出“这是同一段旋律”。
一、乐曲
1. 准备工作
这里可以下载序曲的midi格式文件。
这里是对序曲midi文件的可视化:
在本文中,使用了Python的pretty_midi包,这里是基于Jupyter Notebook的pretty_midi使用教程,这里是它的文档。
2.简介
《平均律钢琴曲集》。它供渴望学习的年轻音乐家们使用和受益,并作为其他在艺术上成为专家的人的一种消遗。由约翰 ·塞巴斯蒂安 ·巴赫创作并发表,他目前是安哈而特科滕宫廷的乐长和室内乐指挥。(1722年)
这是巴赫为他《平均律钢琴曲集》Well tempered Clavier(WTC)写下的题词。这(两卷)曲集在音乐史上有着非常重要的地位,被人们称作音乐中的《旧约圣经》,被广泛看作是西方古典音乐历史上最具影响力的作品之一。从19世纪30年代以来,对这一曲集的研究著作就若汗牛充栋,浩如烟海。本文涉及的序曲史两卷共48套前奏曲与赋格的第一篇。
下面是本曲的乐谱:
二、分析
1.和声
这首C大调上的作品采用分解和弦的形式 ,连续的琶音滚动自始至终贯穿全曲。最流行的视角是将全曲看作由单纯的分解和弦所构成,进而从和声内涵的紧张度的增强与削减来理解这首乐曲。也就是说,这首乐曲从和声的逐步进程中获得了表达力。
The prelude in C major derives its expression from its harmonic progressions.
(1) 先看前四个小节,第一小节由主和弦平静地开始,主音保持到第 2小
节 SⅡ2的不稳定 ,再到第 3小节 D56和第 4小节主和弦的解决 。主(T)->下属(S)->属(D)->主(T)的C大调终止式拉动了音乐的进行和展开。
将前四小节出现的音以全音符的格式写出来,我们有:
为了看得更明白,我们进行简单的八度之间的移动,得到了:
(2) 再看第5至第19小节
在这张图里,我们用一个全音符代表一个小节。我们很容以看出来5-6、7-8、12-13、14-15的四次模进在谱面上的直观体现。我们看到,小节线将5-19个音分为了相似,但不对称的两部分:前7(2+2+3)后8(2+2+4)。
前两次模进:第 5小节开放型排列的下属和弦解决到第6小节密集型排列的属和弦,第 7小节的开放型属和弦解决到第 8小节的密集型主和弦,这之间是一种种开放与密集,展开与收束 ,进行与解决的关系。在聆听乐曲时,我们能十分清晰的感受到这“放”与“收”的对比,这感觉正是之前提到的和声内涵的紧张度。
后两次模进:第12小节的属方向调d小调的导七解决到第13小节的主和弦,第 14小节主调 c大调的导七解决到第15小节的主和弦也具有相似的规律。
而除去两次模进后剩余的部分又分别是G大调的终止式和C大调的终止式,而这两个终止式,同样可以看作是一次模进,即8-11和16-19小节。此外,第二次C大调的终止式最后终于回到了主和弦,这是长时间远离了主和弦后,对它做的一次肯定,也是作为乐曲前半部分(下图中第一行)告一段落的标志。
(3) 20至23小节,以 “属七->大七->减七->附加密集型二度音程” 的越来越趋向紧张过程,成为全曲和声进行中张力最大、音响最密集最紧张的和声高潮(这四小节还正处于全曲的黄金分割点)。
(4) 之后的八小节是全曲的高潮,注意到持续八小节的最低音属音G。这一部分的开端:24小节也有渐强的标记,一直持续到靠近这一部分尾部的29小节达到最高潮。
(5) 最后四小节内含了C大调的终止式(S->D7->T),这一终止式与第一部分的终止式首尾呼应,结构完整。
首尾以不同的方式陈述同一和声进行,似乎又是开端乐思的回光返照。行乐至此,整首作品天衣无缝地形成相互紧密结合贯通的整体,没有任何多余,没有任何漏洞。
2. 结构
从谱面来看,此曲由三个声部构成,每小节一个和弦,每个和弦回声般地重复一次。
图中显示了第一小节,三种颜色标注着三个声部。
但在这种分解和弦表象的背后,隐藏着5个独立的声部,我们将开端四小节的这五个声部提取出来:
为了更好的理解这五个声部的概念,我们可以使用开头提到的可视化midi文件的工具(点这里)
上图是工具中前四小节的截图,对应于上上图。注意,在上图中音乐是由下至上播放的,左边是更低的音。
在上图中我们就能发现,每一小节中都有五列音符,每一列便对应于一个声部。用这样的模式,将节奏缩减至四分之一,即一个四分音符代表原来的一个小节,我们得到了下面这张图:
图中,上面三行中是之前所述的五个声部。其中第一行下方的括号内数字,是之前讲过的分段,即这一部分一共有多少小节(几个四分音符)。第四行表示乐曲的低音组织分段:交替地以C(主音)和G(属音)即 T-D-T-D-T 作为骨架。
在第五六行我们可以清楚地看出,全曲音高组织是二度,作为全曲的中轴线,在内部潜藏着C大调下行音阶。第七行显示了关于终止式的信息。最后一行我也不知道他在干啥。
最后,最初乍一看谱面中的音型并不是很规整,但是通过简单的八度调整,我们可以得到十分简洁的表示(第一小节):
三、可视化
首先,我们引入需要的库,打开midi文件,将它以二维的方式绘制出来。
import pretty_midi
import matplotlib.pyplot as plt
import librosa.display
import mir_eval.display
import numpy as np
def plot_piano_roll(pm, start_pitch, end_pitch, fs=100):
librosa.display.specshow(pm.get_piano_roll(fs)[start_pitch:end_pitch],
hop_length=1, sr=fs, x_axis='time',
y_axis='cqt_note',fmin=pretty_midi.note_number_to_hz(start_pitch))
pm = pretty_midi.PrettyMIDI('wtk1-prelude1.mid')
plt.figure(figsize=(12, 4))
plot_piano_roll(pm, 24, 84)
plt.show()
我们得到了如下的图片:
右下部分能看出明显的持续八小节的属音和最后四小节的主持续音。同时也不难发现整首乐曲音高下行的趋势。
下面这段代码统计了各个音出现的频率并画图:
plt.bar(np.arange(12), pm.get_pitch_class_histogram());
plt.xticks(np.arange(12), ['C', '', 'D', '', 'E', 'F', '', 'G', '', 'A', '', 'B'])
plt.xlabel('Note')
plt.ylabel('Proportion')
plt.show()
显然地,主音与属音的出现次数远多于其他音。
我们来看右手的音:把所有右手的音符提取出来并画图:
notes_pitch=[]
notes_start=[]
instrument = pm.instruments[0]
for note in instrument.notes:
notes_pitch.APPend(note.pitch)
notes_start.append(note.start)
plt.figure()
plt.plot(notes_start, notes_pitch)
plt.axhline(y=67, color='r', linestyle='-')
plt.axhline(y=55, color='r', linestyle='-')
plt.axhline(y=72, color='b', linestyle='-')
plt.axhline(y=60, color='b', linestyle='-')
sum_lenth = 0
for lenth in (4,7,8,4,8):
sum_lenth += lenth * 2
plt.vlines(sum_lenth, 50, 80, colors = "c", linestyles = "dashed")
plt.show()
得到了:
横轴为时间,按照之前的分段方法画了蓝色虚线。纵轴为音高,其中蓝横线表示主音C,红线表示属音G。所以图中每一个“块”的高度就代表着音高的跨度。我们看到在中间稍偏右的地方有一处跨度很小,这里正对应着“附加密集型二度音程”。我们也能发现,在这之后的倒数第二部分,即全曲的高潮,右手的最低音也大多是属音G(而左手的最低音全都是属音G),右手第一声部的这样的安排也是加强了在属调上发展的肯定。
回想,右手弹奏的是3,4,5声部,每小节重复一次。而因为除了最后几小节以外,其他小节的音型都是相同的,所以这幅图片看起来十分规整。
此外,C大调下行音阶也体现地恒能明显。
下面我们对右手的两个声部做同样的工作:
notes_pitch=[]
notes_start=[]
instrument = pm.instruments[1]
for note in instrument.notes:
notes_pitch.append(note.pitch)
notes_start.append(note.start)
plt.figure()
plt.plot(notes_start, notes_pitch)
plt.axhline(y=43, color='r', linestyle='-')
plt.axhline(y=55, color='r', linestyle='-')
plt.axhline(y=48, color='b', linestyle='-')
plt.axhline(y=60, color='b', linestyle='-')
sum_lenth = 0
for lenth in (4,7,8,4,8):
sum_lenth += lenth * 2
plt.vlines(sum_lenth, 35, 65, colors = "c", linestyles = "dashed")
plt.show()
在这张图片里我们还能更明显地发现第2、3部分之间的模进关系。即前文中的 二、分析—— 1.和声 ——(2)
下面我们不妨来关注乐曲乐句的强弱变化。根据谱面上的力度标记以及渐强渐弱的记号,我们把pp记作1,p为2,f为3,ff为4。之后再进行与之前相同的分段:
from scipy.interpolate import spline
strength=[2, 2, 2.2, 2.5, 3, 2, 3, 2, 1, 1, 1, 1.5, 2, 2.5, 2, 2, 2, 1, 1, 1.5, 2, 1.5, 1, 1, 1, 1.5, 2, 2.5, 3, 4, 3, 2, 1, 1, 1]
time = np.arange(0,35,1)
time_new = np.linspace( time.min(), time.max(), 350 )
strength_smooth = spline( time, strength, time_new )
plt.plot(time_new, strength_smooth)
sum_lenth = 0
for lenth in (4,7,8,4,8):
sum_lenth += lenth
plt.vlines(sum_lenth, 0.9, 4.1, colors = "c", linestyles = "dashed")
plt.plot(time_new, strength_smooth)
plt.show()
经过平滑化处理,我们得到了:
纵轴表示强弱,横轴表示小节数。
我们同样能看出之前的分析的依据。首先是第二、三部分各自内部的模进和两部分之间的模进。还有全曲最高潮也是力度最强的地方处于29-30小节处。
相关阅读
无论你是知产小白还是身价上亿的大老板,都不可避免地会遇到这些知识产权“大坑”。遭遇侵权与被侵权,是这个时代永恒的话
A5创业网(公众号:iadmin5)11月20日消息,针对近日有关天猫双11退货率等传言,天猫双11组委会在微博发布公告称,截止带11月18日退货率仅
A5创业网(公众号:iadmin5)8月15日,近日是各大公司公布第二季度财报的日子,腾讯也发布了2019年第二季度财报,从财报中眼尖的网友们发觉
奥卡姆剃刀定律:如无必要,勿增实体奥卡姆剃刀定律是由英国奥卡姆的威廉所提出来的。在他主张的唯名论中,奥卡姆的威廉说到:“切勿浪费
A5创业网(公众号:iadmin5)7月25日消息,昨日B站官方就“血小板吧”被动画爱好者”用户占领事件作出回应,这些言论明显是