音乐轨迹曲线拟合可视化分析法(一)
作者:孙剑
内容提要:文章以轮廓分析法为出发点,详细阐述建立在音乐轨迹概念上,采用拟合曲线为音乐作品建模,以实现一种可视化的分析途径与表达方式。该文主要内容有:作为理论背景的轮廓分析法简要介绍和该分析法的理论论证、阐述,包括音乐轨迹概念、音乐参数标准数据格式转换、轨迹的函数和曲线拟合、轨迹的转换模型等。
关键词:轨迹;可视化分析法;曲线拟合;建模;转换理论
刊登于《音乐艺术》2018年第4期,第49~60页
一、 轮廓分析法简述与轨迹
#
一、 轮廓分析法简述与轨迹
1. 轮廓分析法简述
简言之,轮廓分析法是将旋律音型中的矢量音程、音高次序以及由此生成的一系列数据列为集合,通过集合的转位、倒影、逆行、逆行倒影构成各种集合类型与相似关系而来分析音乐作品。1970年代,音乐人类学家查尔斯·亚当斯在《旋律轮廓的类型》[1]中提出了该种方法。1980年代,罗伯特·莫里斯的著作《使用音集作曲——关于作曲设计的理论》[2]、迈克尔·弗里德曼《轮廓分析的方法论及对勋伯格作品的分析》[3]等文献中将这种方法引入到新音乐作品分析。
一个曲调或旋律通常可使用音高和节奏参数来描述。[4]在轮廓分析法中,以各音之间相应的高度和发音次序来描述截段中的结构关系。莫里斯和弗里德曼称这样的旋律轮廓结构为“有序集合”(ordered set)。集合中按照音的次序,用整数表示它们的相对高度。当有n个不同音高,0表示最低音,n-1表示最高。因此,例1中的4个谱例都可以表示为集合<2 1 0 3>。莫里斯称这种“有序集”为“轮廓-空间截段”(contour-spacesegment,cseg);弗里德曼则称之为“轮廓集”(contour class,cc)[5]。
例1 4个具有相同“轮廓集”的不同旋律片段
(a)卡特《第二弦乐四重奏》第三乐章,第314~315小节;
以上可见,轮廓集中的2个有序参数本身未有需量化,仅表示相对音的高低、时间的先后。因此,在此分析法中八度跳进与小二度级进视为相同;十六分音符与全音符的时值也视为相同。例1中的4个不同旋律片段用轮廓集均表示为<2 1 0 3 >,它仅显示出旋律中音的进行方向,而无法体现连续音高之间的音程关系与节奏关系。
2. 音乐轨迹
尽管轮廓集可看作是文本及听觉意义上旋律呈现的一种特殊形式,但轮廓分析法(从其原理、方法论以及结果)能否有助于聆听者的音乐感知?尤其是对几个旋律片段的相似性作出判断时,使用上述分析法还可能会产生一种“反直觉效应”。以此分析例2可得知:(a)与(b)在外形轮廓上完全相同,(c)与前两者存在较大差异。但是如果将被“忽略”的量化参数(音程、时值等)代入分析之中,那么(a)(c)之间相似性程度将要大大地高于它们两者分别与(b)所构成的相似度。
因此,以轮廓分析法为基础,加入对旋律音程(音的空间性)、节奏(音的时间性)等旋律形态构成要素的定量分析,本文将这样的旋律结构形态表述为“音乐轨迹”(简称轨迹)。轨迹不仅包含音程、节奏等矢量参数,在音高与节奏(时间)构成的二维空间中,更加强调了旋律中以非线性[7]呈现的定位点所模拟的、能直观反映音乐“姿态”的完整路径。音乐轨迹呈现可以通过函数建模,再以函数拟合曲线的可视图像“再现”旋律形态,并且通过对轨迹实现音乐作品的可视化分析。
例3(c)为在XY平面坐标系中创建例1(a)的音乐轨迹图像:X轴对应时间,从左到右前进;Y轴(垂直)对应音高,自下而上升高。当确定了时间和音高的计量单位(刻度),就可以在图上绘制出旋律进行中4个音高的点[例3(a)]。这种图像以及制作过程尽管与现行的记谱法相似,但坐标系要比五线谱拥有更大的空间和灵活度。每个音时值(持续时间)的表现可以用点延长线段来表示[例3(b)]。
例3(c)展示出一条将4个点串联起来的平滑曲线图像。它不仅也表示出旋律音高的坐标位置,又能反映实体间离散关系的传统轮廓线不同,它以一条想象中的、具有音乐姿态(gesture)的平滑曲线,将旋律音高连接起来,在效果上,强调了旋律音的连续性和流动性。

#
二、关于轨迹的曲线参数转换
建立如例3(c)所示的“曲线”涉及相关的两个方面:
(1)两个音乐参数在坐标系中形成曲线轨迹;
(2)在(1)中述及的曲线轨迹的函数方程。
以下将通过乐谱上的符号以及符号的转化来推导曲线方程式。并且使用例1(a)来进行说明和演示。
1. 参数选择与排序
将某个旋律片段进行曲线转化需要通过以下几个必要的步骤:
首先,要确定两个可量化的音乐参数。如例1(a)选用了时间节奏参数(X轴)、音高参数(Y轴)。
其次,要制定一种方案将音乐参数进行转化,即每一个参数都需要排序与量化。所谓排序,是将所有参数值根据其集合框架进行排列成序。排序的方法很多,例如音高可按从低到高排列;发音点可按先后次序排列;力度可以按从弱到强排列;和弦音可按从底音到冠音排列等。在莫里斯、弗里德曼等人的旋律轮廓理论中,例1(a)的音高序用集合<2 1 0 3 >表示。因此“传统”的轮廓分析方法在参数的排序程序中是适用的。
2. 参数的量化
所谓量化,就是使用一定的方法测量参数之间的间隔与差异。比如音程是音之间的间隔,时值是发音点之间的间隔,响度是两个力度级之间的间隔等。其目的是便于描述参数之间的关系。事实上任何计量单位都可以用来描述量化。通常,使用半音数(整数)来量化音程,使用四分音符(整数或者分数)来量化时值,等等。因此,参数的量化程序比排序程序更加贴近音乐的记谱法。
无论是对参数的排序还是量化都可以实现对一个旋律轮廓的塑造。排序为两个参数之间的关系勾勒出一个理想化、潜在的基本形态。这种“基本形态”不涉及参数值的大小,因此在一定范围内可以任意改变。量化则确定了参数间关系的深浅度,“基本形态”由此得到丰满,理想化与潜在性被打破,形态被固定下来。在音乐分析实践中,尽管可根据分析的目标来选择哪一种为最合适的方法,但通常情况下,一种综合的方法途径往往最具有成效。
以下将对例1(a)的外形轮廓进行曲线转换。根据卡特音高、节奏语言的特征,分别选择半音数、四分音符作为相应参数的量化单位[8]。设定直角坐标系中的x轴(横轴)表示时间/节奏(发音点所在时间中的位置),y轴(纵轴)表示音高。由此,谱例中的4个音可以用有序数对(x,y)来表示,并在坐标系中对它们进行定位。设谱例所在第314小节的时间开始于“0”,并且按照单位“1”等于四分音符时值步进;音高则以中央C(小字一组C或者C4)为基准“0”,每隔半音为单位“1”,则该谱例4个音的有序数对(x,y)值如表1所示。
3. 参数的自校准、归一化与标准数据格式
有序数对中x的数值是表示该发音点与开始“0”之间的时间间隔,每个音的时值并不纳入量化程序。因此,在旋律截段中最后一个音具体是什么时值的音符不需要计量。另外,尽管有序数对中的y数值表示各个音高,但量化音高参数的目的却是反映出相邻音之间的音程。为了与从0开始计数的y值保持统一(生成的曲线图从原点出发),需要对y值进行调整使其开始于坐标原点(0,0)。这样的调整过程在统计学中称之为“自校准”(self-aligned)[9]。其结果如表2所示。

为了将不同旋律放置在同一个时间长度中进行轨迹比较,从而更加直观地获得相关有助于分析的信息,需要进一步对有序数对中所对应的x数据进行“归一化”(normalization)处理。即按照比例将数值缩小在0~1的范围内[10]。其方法是让表格中x对应的所有数值除以其中的最大值(见例4,得数保留两位小数)。(当然,y轴的数据也可以进行“归一化”处理,例如让音高数值在-1~+1之间。)由此所得到新的数据组(表3)便是本文所认为的旋律片段外形轮廓的“标准数据格式”:这一组数据(4个有序数对)设定为“自校准”形式。其中的2个变量都进过量化,且x(时间/节奏)数据通过“归一化”处理。


一旦一个适当的有序数对(x,y)形式被确定,在计算机软件的辅助下[11],创建相应的由这些坐标系中点构成曲线形态(如例3(c)所示)就相对简单。以下进入基于标准数据格式的旋律轨迹曲线方程推导程序。
#
三、轨迹的可视化:多项式方程与拟合曲线
在标准的二维“欧式空间”(Euclidean space)中,两点形成一条直线。也就是说,理论上存在一条直线贯穿于两点之间。这条直线可以用一次多项式方程来表示,并且以此方程描述两点之间的线性关系。通过已知的两个点,可以求出方程中的系数a与b,从而得到贯穿这两点的直线方程式。当存在三个不在一直线上的不同点时,所形成的曲线(抛物线)可以用二次多项式方式来表示。因此,我们可推导出当有n个点时,可以使用n-1次多项式方程来表示。
那么,由多项式方程公式我们可以确定例1(a)中的4个点形成的曲线方程式为[12] 以下,可以根据表3中所列各点的坐标值(x,y)来求得a0 a1 a2 a3这4个系数,以满足曲线能够贯穿4个点。这个运算过程可以使用矩阵方程求解,如例5所示。也可以使用Matlab中的拟合工具(Curve-fitting tools),通过输入表3中各点(x,y)数据由程序自动计算而得。由此得到4个系数的值分别为:a0=0.00 a1=-45.33 a2=83.75 a3=-35.42。[13]由于4个系数决定了旋律外形轮廓曲线的具体形状,本文中称它们为“轨迹向量”。将这些向量代入,则得到了可以描述该旋律片段[例1(a)]外形轨迹多项式方程,此方程的图像如例6所示。


(未完待续)