谢凌云,刘 靖
(中国传媒大学 媒介音视频教育部重点实验室,北京 100024)
乐器的发声是一个复杂的问题,声学家、音频工程师、音乐家以及乐器制造者都非常重视这一难题,他们有的采用数学物理方法,有的用信号处理手段,还有的利用测振仪或全息干涉成像技术对乐器的发声原理进行分析,并试图掌握发声的全貌.
乐器振动发声的物理原理已经在西方乐器上完成了较系统的研究,大多数振动系统原理的阐述都是在简化的线性系统上运用数学物理方法展开的[1].但是,乐器的振动远不止这些,振动的非线性部分更为复杂且是乐器本身所固有的[1].另一方面的研究中,西方乐器的测量内容主要包括振动测量、音色相关特征和指向性[2],测量的西方乐器涵盖了常见的铜管乐器、木管乐器、弦乐器和打击乐器,但是针对中国民族乐器的测量[3-4]无论是测量内容还是乐器种类都不足以与西方乐器相比.近年来,物理建模技术的提出,有助于理解音色感知和检索音乐信息,其中,一些信号处理手段被用于处理非线性问题,能更精确地模拟乐器发声,在这些处理手段中,数字波导方法是现在最流行的建模技术[5].至今使用的信号处理手段都更倾向于合成或分离声源,而不是解释乐器发出音乐声的方式.
共振模式是描述乐器振动发声的本质特征,测量时能够得到的面板、背板或空腔振动模态,但在乐器整体的共振或共鸣系统描述上还很匮乏,尤其是中国民族乐器.研究中发现[2],在演奏同一乐器的不同音符时,能量集中的频率位置不随谐波的次数而改变,这种频谱能量的集中相对固定的性质反映了一部分乐器的特点,使得同一乐器在不同的音高下表现出相同或是相似的音色,所以提出用共振峰来描述乐器的共鸣或共振情况.然而,由于乐器的箱体共振模态与振动的激励点有关,对于弦乐器,不同弦激发的箱体振动模态是不同的,对应的共振峰也是不同的,所以仅用一个共振峰难以全面地描述乐器的共振情况.因此,本文提出使用共振频段来描述乐器的整体共振情况,共振频段指的是乐器演奏过程中共振峰集中出现的频率区域.
语音信号处理中的共振峰估计方法主要包括带通滤波器组法、线性预测分析方法和倒谱法.实验显示,虽然倒谱法的运算量很大,但该方法在共振峰估计中具有频谱包络稳定和能够减少第一次谐波影响的优点[6].在针对音乐内容的研究中,有学者进一步提出能够有效消除基频影响的频谱包络估计算法(True Amplitude Envelope, TAE)[7],该方法是一种迭代的倒谱分析方法,已在音乐信号的处理中被证明优于其他的方法[8].
因此,本文在TAE算法的基础上,提出一种倒谱分析算法,分析中国弹拨乐器的共振情况.下一部分介绍提出的分析方法框架,框架中包含两个主要部分,共振峰估计和共振峰的后处理.然后,分别阐述共振峰估计算法和对不同单音的共振峰进行的后处理,后处理时采用共振谱法和频带法,最后整合两种处理结果得到单件乐器的主要共振频段,用于表征乐器的整体共振情况.文中的分析素材包括琵琶、筝、柳琴和中阮,它们的共振模式为解释乐器演奏时明亮甚至尖锐的音色起到重要作用.
图1 共振频段估计算法Fig.1 Resonance frequency region estimation algorithm
为了消除信号基频的影响,在倒谱分析中运用时间窗进行同态解卷积,因为倒谱运用对数运算和2次变换能将第1次谐波和共振系统的频谱包络区分开,选择合适长度的时间窗从倒谱中截取出来的部分,就能够较精确地反映共振系统的响应[6,9].从加窗的倒谱中变换而来的频谱就是目标频谱包络,该频谱包络反映了乐器的共振情况.然后用峰值估计算法就能从中得到共振峰.
信号x(n)的倒谱C(l)是其N点频谱X(k)的对数的傅里叶反变换,所以,信号的倒谱可以表示为:
(1)
对信号倒谱C(l)加时间窗h(n)后进行离散傅里叶变换(Discrete Fourier Transform, DFT)即可得到所需的平滑频谱包络,如下:
(2)
图2 改进的倒谱法估计频谱包络Fig.2 Estimation of spectrum envelope using improved cespstral method
式中: 窗函数的长度n0由信号基频f0和和采样频率fs决定,即n0=fs/f0[10].因为在倒谱中,C(l)(l≥n0)反映的是声音的激励部分(基频及其以下的频率),C(l)(l 图3 中国弹拨乐器共振谱Fig.3 Resonance graph of Chinese plucked string musical instruments 共振谱能够直观地在频域上描绘乐器的共振模式,它是同一乐器的单音共振谱的均值,图3是本文分析乐器的共振谱图. 采用爬山算法检测乐器共振谱上的峰值,并将其直接视为乐器的共振峰,检测过程中为得到至少10个共振峰,检测精度不断增加,从动态范围的1%变化到0.2%,然后计算共振峰带宽等信息,从而得到乐器的共振峰信息.共振谱的共振峰信息作为共振谱法的输出,用于后面的整合中. 只要频带设置合理,单音共振峰估计结果就可以根据其共振峰的频率位置按频带划分,然后与其他单音在频带内的共振峰进行平均,得到各频带内的平均共振峰,对相应的幅值和带宽等也进行平均,最终取得各频带内的共振峰信息.由于频带的划分是为了具有普适性,所以对于每件乐器,划分的频带可能是过多的,有必要针对各乐器的共振峰频带做进一步处理.将不同的频带视为不同的类,类的属性为二值类型,即用0和1表示是否出现共振峰,以此计算类间的距离,距离归一化为[0,1]范围内,距离大于等于0.9时表示两频带相斥,说明对于该乐器任意单音,这两个频带内不会同时出现共振峰,若相邻频带互斥,则可以将两频带合并为一个频带.频带合并后,计算各频带内共振峰的出现概率,在各频带中,当某频带的共振峰出现概率大于所有频带的出现概率均值时,表示共振峰在该频带是“常见”的,可以认为该频带在该乐器的共振模式中较为突出,称该频带为显著频带.显著频带的共振峰信息作为频带法的输出,用于最后的整合中. 无论是共振谱法还是频带法,取得的乐器共振峰都存在各自的缺陷.采用共振谱法虽然能直观地从共振谱中得到共振峰,但由于乐器共振谱是由单音共振谱求平均得到,该过程可能导致单音中相近的共振峰被削弱而未在共振谱中显示出来;频带法为保证反映所有共振峰,划分的频带数往往远大于实际的乐器共振峰的数量,即划分过细,使得频带过多,平均的共振频带宽度亦受到划分的频带宽度限制.因此,这两种后处理方法都无法独立且全面地反映乐器的整体共振情况,需要整合两者的结果,才能得到较合理的乐器的共振频段. 整合两种方法的结果时,首先,必须保证两方法得到的共振峰在幅值上不低于背景噪声;其次,只有当两方法得到的共振峰相近时,才认为两方法得到的是同一个共振频带;最后,共振谱法的结果中允许出现共振峰信息中没有的共振频段,即可参照共振谱.以下为两种方法的整合原则: 1) 两种方法的共振峰频带中心都不得比最大共振峰低40dB; 2) 共振谱法或频带法中相邻频带重叠或相近时,共振谱法参照共振谱图,若较平坦,则合并这些邻近频带,频带法则视共振谱法而定,若相邻频带在共振谱中为同一频带或高幅值的平坦区域,则合并,合并时用邻近频带中的最低下限作为合并后频带的下限,最高上限作为合并后频带的上限,合并中心为邻近频带中心的均值; 3) 当两种方法求得的共振峰中心相近时,即任一方法的共振峰中心都处于另一方法的共振峰频带内时,两者的共振峰频带重叠区域为乐器共振频段; 4) 当频带法的共振频带未出现在共振谱法的结果中时,共振谱法的共振峰频带可由共振峰带宽和谱上高幅值的平坦区域组成,然后参照原则2),3)进行整合. 由于在西方乐器的研究中已广泛使用振动测量探讨乐器各部分的振动模态,因此,借助这部分研究的数据可以大致估计西方乐器的共振频率范围,所以可以采用西方弹拨乐器素材验证共振频段估计算法的有效性.验证算法有效性的过程中使用古典吉他、竖琴、倍大提琴和大提琴4种乐器的单音,这些单音均涵盖了各乐器的常用音高. 表1为西方弹拨乐器的主要共振频段估计结果,和文献中的测量数据摘要.分析素材和测量中使用的乐器均为单件乐器,共振频率可能由于乐器材质和构造的不同出现一定的差异,但从表1中不难看出,估计的主要共振频段的大部分区域均出现在测量结果中,即估计的主要共振频段基本符合乐器共振模态的测量或耦合分析结果,说明利用乐器单音素材和信号处理手段,本文提出的共振频段估计算法能有效地估计出乐器的主要共振频段. 表1 西方弹拨乐器的主要共振频段和共振测量数据对照 弹拨乐器的声音在不同音高时会发生变化,即使演奏的是相同音高,在不同弦上弹奏时,声音也会不一样[1,3-4].本文中使用的乐器单音样本包括了各乐器所有弦上的常用音区,录音时采样频率为44.1kHz,使用乐器包括琵琶、筝、柳琴和中阮.表2为文中用于共振分析的单音样本,按声学中使用的音名演奏单音,调音标准为国际标准音高A4=440Hz. 表2 分析中使用的单音样本 表3 中国弹拨乐器的主要共振频段 将共振频段分析方法应用于各乐器,得到各乐器的主要共振频段如表3所示.主要共振频段反映了乐器演奏中会发生强烈共振的频率位置,表3显示了中国弹拨乐器的共振模式具有以下两个显著特点: 1) 除中阮外,民族弹拨乐器在500Hz以下较少出现共振频段; 2) 不同乐器的共振频段在中高频区间多出现重叠,尤其在600~1200Hz和3~4kHz这两个区间内出现了至少3种乐器的共振频段. 综合来看,除了中阮,其他乐器在500Hz以下较少发生共振,这与乐器振动测量的结果[3-4]和频谱特征分析的结果[13]相符.多数乐器在较高的频率上出现共振频段,从客观参数上支持了中国乐器音色较明亮的观点.另外,一些乐器的共振频段间存在重叠相交的情况,而该情况在中高频区域较常见,这为解释乐器合奏时声音过于尖锐的现象提供了一种客观解释. 本文提出一种迭代的倒谱分析方法获取乐器的共振频段,该分析方法包括结合了基频与改进的TAE方法,经过3次迭代得到频谱包络,从平滑的频谱包络中检测出峰值作为单音共振峰,来自同一乐器的单音共振峰经过共振谱法和频带法两种后处理方法,整合得到该乐器的共振频段.文中计算了4种中国弹拨乐器的共振频段,并发现中国弹拨乐器的共振频率集中在较高的频率上,不同乐器间的共振频段有多处重叠且多出现在中高频区域,所以中国弹拨乐器合奏时容易产生尖锐甚至刺耳的听感. 致谢: 本文为中国传媒大学理工科规划重点项目(3132016XNG1603)的部分结果.3 共振峰后处理
3.1 共振谱法
3.2 频带法
3.3 整合原则
3.4 算法的有效性
4 结果及分析
5 结 语