第 21 卷第2 期系 统 仿 真 学 报©Vol. 21 No. 2 2009年1月Journal of System SimulationJan., 2009 • 572 •一种古琴音色重构仿真方法及其实现 周昌乐顾亚丽林国平曹文博 厦门大学智能科学与技术系艺术认知与计算实验室, 厦门 361005 摘 要为促进古琴艺术的传播通过对古琴音色的分析在建立古琴音色库的基础上从古琴琴弦振动理论和音律学理论入手利用傅立叶变换分析了古琴音色的频谱特征并基于加权柯西函数给出了重构古琴音色的策略。然后通过采用基于音色数据库和音色重构两种方法对古琴音色进行计算机仿真建立了一个初步的古琴音色仿真系统。实验证明通过重构音色进行仿真的计算方法是古琴音色仿真的一种有效方法。 关键词古琴音乐音色库音色重构仿真方法 中图分类号TP391文献标识码A文章编号1004-731X (2009) 02-0572-04 Reconstruction and Simulation Method and Its Implementation for GuQin Tamber ZHOU Chang-le,GU Ya-li古琴音色, LIN Guo-ping, CAO Wen-bo Intelligence Science and Technology Department of Xiamen University, Xiamen 361005, China Abstract: A Guqin timbre base was introduced through timber analysis and its spectrum specification was analyzed using Fourier transformation based on theory of Guqin srting vibration and temperament. Then a reconstruction method for Guqin timbre was proposed based on weighted Cauchy function. Finally a timbre simulation system for Guqin was worked out using timbre database and reconstruction. It has been proved by experiment that the computing method of timbre reconstruction is effective for Guqin timbre simulation. Key words: guqin music; timbre base; timbre reconstruction; simulation method 引 言 古琴是中国古代地位最崇高的乐器 位列“琴棋书画”之首。
2003 年 11 月 7 日 古琴被列入联合国“人类口述和非物质遗产代表作”的名录其保护与发展越来越受到广泛的关注[1]。 可以说 古琴艺术是中华民族历史最悠久、 成就最高、最具民族特色的文化遗产之一。从纯音乐艺术的角度讲古琴的演奏方法也是非常丰富极具音乐表现力也可以说是中国传统音乐的杰出代表。但遗憾的是迄今为止现有的各种多媒体软件都还缺少古琴的音色处理功能 对古琴音色的技术性研究分析也十分罕见。鉴于这种现状有必要在古琴日益被重视的今天 开展有关古琴音色重构与仿真的计算化研究目的在于从技术层面为古琴艺术的保护、发展与传播作出贡献 使得古老的古琴艺术能够借助于现代多媒体技术得到更为广泛和持久的传播1。 一般乐器音色模拟包括合成与仿真两种常见的方法。 所谓合成方法就是对乐器的发声过程进行直接模拟如模拟古琴的形制对琴弦、共鸣箱进行发声模拟。而仿真技术已作为人们认识、 改造客观世界的重要手段[10] 所谓音色仿真方法则主要是基于音色基本元素数据库的模拟实现这种仿真系统开发周期短、故障率低、兼容性好、可扩充性强作者简介周昌乐(1959-), 男, 教授,博导古琴音色, 研究方向为计算琴学、机器心智、认知禅学等顾亚丽(1983-), 女, 硕士生, 研究方向为人工智能算法作曲。
收稿日期2007-06-22修回日期2007-07-18 不因声音种类和数目的改变而增加系统成本 是声音仿真系统开发的必然选择。 基于上述背景与思想在本文中通过对古琴音色的分析主要采用基于音色基本元素数据库的实现方法给出了重构古琴音色的策略。 但考虑到音色基本元素数据库建立比较费时费力数据库的完整性又不容易得到保障以及各种环境条件的限制 在一定程度上很多不定因素会影响音色的质量等因素在具体音色基本元素的构建中将从古琴琴弦振动理论和音律学理论入手 通过详细分析古琴振动的时域频域特征并基于加权柯西函数和反傅立叶变换来重构古琴琴音的时域、频域波形完成对古琴基本音色重构仿真。最后将录制与仿真相结合通过解决混音播放问题对古琴音色进行计算机仿真 建立了一个初步的古琴音色仿真系统来形成古琴音乐的合成播放。 本文的研究只是一种初步的尝试性工作 希望有助于推动古琴音乐的音色重构与仿真方法与技术的发展。 更希望通过这样的努力 能够为推动古琴艺术的传播和发展尽一些力所能及的微薄之力。 1 古琴音色分析 音色是古琴音乐的核心内涵。 古琴的音色根据弹法不同大致分为散音、按音、泛音三种。
散音是左手不按弦仅以右手弹出的空弦音按音也叫实音是左手按弦、右手弹弦所发出的声音泛音是左手在徽位处虚触琴弦、右手弹奏促使琴弦分段振动而产生的声音。这三种取音方法构成了琴第 21 卷第 2 期Vol. 21 No. 2 2009 年 1 月周昌乐, 等 一种古琴音色重构仿真方法及其实现Jan., 2009 律在律制应用上的全部可能性[2]。 古琴由七根弦、十三个徽位组成每两个徽位之间又等 • 573 •分为十等分。弹奏时右手一般在一徽和岳山之间拨弦左手则在一徽至十三徽间按弦。不同的琴弦、徽位、弹法对应不同的音色。下面根据散音、按音和泛音不同弹法分别进行讨论[3] (1) 散音散音是左手放空右手弹拨弦所得的音所以音色的样本数量只需要考虑右手的指法。 减字谱里右手指法共 11 种如下 、、、、、、、、、、。 前八种单指弹法称为右手八法。所以单指散音共有7*8=56 种。后三种是几个手指一起拨弦的弹法。情况相对比较复杂现分别讨论如下 拨弹弦组合有1.2 2.3 3.4 4.5 5.6 6.7共 6 种; 所以“拨”的散音有 5 种。 剌 是“拨”的反方向弹奏法 所以其弹弦组合跟“拨”一样即 6 种。
撮有两种“小撮”的弹弦组合有1.3 1.4 2.4 2.5 3.5 3.6 4.6 4.7 5.7 9 种 “大撮”有 1.5 1.6 1.7 2.6 2.7 3.7共 6 种所以“撮”的散音有 15 种。 由以上分析散音的基本单音有 56+6+6+1583 种。 (2) 泛音泛音是左手轻点琴弦的徽位之处右手同时拨弦所得的音色。考虑泛音时在右手的指法基础上还要考虑左手的指法。 从古琴的结构可知古琴有 13 个徽位所以左手指法应该是左手按弦手指数 4乘以徽位数 13。再将右手的指法一起考虑进去则泛音的数量为4*13*834316 种。 还有一个比较特别的弹奏方式“搂圆” 因为它多用于泛音所以单独拿到泛音的范畴来考虑。“搂圆”是间隔一弦用“勾”“抹”各弹一弦同时发声。其右手弹弦的组合有1.3 2.4 3.5 4.6 5.7共 5 种所以“搂圆”的泛音有 4*13*5260 种。 因此泛音的基本单音共有 4316+2604576 种。 (3) 按音按音是古琴里变化最多的一种音色也是古琴最富特色、最具表现力的一种音色尤其是走手音即滑音。
基本的按音是左手按弦同时右手拨弦按弦的位置不定可在徽位上也可在徽位间。古琴的每两个徽位间包括十分所以左手按弦的位置一共有 4*13*10520再加上右手的弹奏方式一共 520*834316 种4 是左手按弦的指数13 是徽位数10 是徽分数 。 还有两种很重要的按音就是“吟”和“猱”。其变化种类非常丰富。减字谱里的说明如下[3] 、、 、、、、、、、、、 。 总之古琴音色表现极其丰富演奏技法多样一个音有多种变化。这是区别于其他乐器音色的主要因素也是重构仿真的难点所在。 2 古琴音色重构方法 一根拉紧的琴弦在发声时不但有整根弦作为波长振动而且同时存在着分别以弦长的 1/2、1/3、1/4……为波长的振动 这些振动发出的声音频率依次是基频、 基频的 2 倍、3 倍、4 倍……这些倍频音统称泛音。由于基频音的振幅最大所以它的响度最大其他倍频的音响度依次减小。琴弦的二倍频泛音振动的特点是整弦上有两个波长整弦长1/2 处是振动的节点这里二倍频泛音的振幅为 0而这个节点却正是基频振动的波腹振幅最大如果用手指肚轻触这个节点会限制它的振动基频被抑制就能听到清晰的倍频声音。
同样如果在 3 倍频音、5 倍频音的节点处抑制振幅就听到 3、5 倍频音只是音量比基音要小这就是泛音演奏的原理。古琴之所以有如此丰富的泛音是因为其发出的音内所含的倍频由弦序及徽位决定和各倍频的强度由不同的指法所对应的弦振动规律决定差异而引起的确定古琴所发之音所含倍频成分的主要依据是琴律[2]。 古琴律制中徽位决定着琴律的主要性质它决定琴律是以纯律为主的复合律制。按纯律定弦古琴各徽位在全弦上的位置是一徽 1/8、二徽 1/6、三徽 1/5、四徽 1/4、五徽1/3、六徽 2/5、七徽 1/2、八徽 3/5、九徽 2/3、十徽 3/4、十一徽 4/5、 十二徽 5/6、 十三徽 7/8,某弦散音就是它的基频音各徽位泛音就是各徽位位置分母数的倍频音 例如十徽泛音就是散音的 4 倍频。另外如果把一弦频率定为 1则各弦频率可以计算出来分别是一弦 1、二弦 10/9、三弦 4/3、四弦 3/2、五弦 5/3、六弦 2、七弦 9/4。对于给定的减字谱号即可确定其倍频弦所对应的频率*徽位所在分节长度的分母 。人耳就是通过确定其基频来判断该音高度的。 通过上面的琴律分析可知在频域里基波至 189/4*8倍频的能量配比关系以及谐频附近小范围内的频域波形集中体现着被演奏音的音高、音色及其能量信息。
决定古琴音色的另一重要因素是各倍频的能量信息比 反映在频域中即为各倍频的振幅。而振幅的大小是由弦振动情况决定的。 弦振动方程[5]定量描述实际位移变化。弦长为l 的两端固定的弦 若弦中张力为 T 在 x=x0处受到横向拉力 F 作用后开始振动相应的定解问题为 2,0(0, )( ,0)0(( )Tl通过分离变量法求其解为 021由上面的方程可以看出它由不同频率不同相位不 ttxxuuu xa u=xl0=<< =(1) ( ,0))(2) 0,φF l⎪⎪( ,0)( ),−ttu xx u x( )tx=⎧=φ 0()x xTlFx lxx−=⎨⎩φ22T1n( , )sincossinnFln xn alnu x ttxll∞==∑ππππ(3) 第 21 卷第 2 期Vol. 21 No. 2 2009 年 1 月系 统 仿 真 学 报Jan., 2009 同振幅的谐波叠加而成。且 n 次谐波的振幅跟 1/n2成正比。这样就得到了不同倍频之间的强度比例关系。 在实验中 设计函数模拟相应音从基频到18倍频区域的波形根据给定的基频以及由弦振动方程确定1到18倍频峰值的幅度比例关系条件下选取加权柯西函数[6]作为相似函 • 574 •数不断的调整参数确定参数后反傅立叶变换到时域重构古琴音色。
令Y(jw)为离散时间信号y(n)的离散傅立叶变换。 则Y(jw)可以用如下算式得到[6] (∑*(2*|上式中w(i)为指定音的基频或倍频 A(i)为基频点或者倍频点的振幅a(i)用来调节基频或者倍频附近波形宽度F(i)为关于正弦和余弦的函数。实际采样的时域波形见图1而采用上面方法进行实验时通过调整参数可以在时域及频域上构造出与实际采样波形相近似的波形见图2。 0.250.20.150.10.050-0.05-0.1-0.15-0.21)(), ()()*(),niiiii⎧⎪⎪⎪⎪⎩Y jwY jwY jwSjwF jw===(4) 2i2 )|()iiiiiiiiiiawAwawwaawAwwS jw−≤≤++−−=⎨其他 图1 实际采样的时域波形 图2 仿真后的波形图 时域图上 频域图下 仿真结果经古琴演奏者的判别 认为比较贴近古琴的音色。从时域图对比上看仿真效果也是不错的。频域的倍频数量也很接近 但各倍频的能量比例关系目前还没有精确的确定方案。 只是按照一定的比例关系综合人的主观评价通过调整参数来确定。 对于倍频振幅的衰减规律还有待进一步的研究。
但从上述的研究分析可以看到利用计算机重构古琴音色进行仿真不但方便快捷而且切实可行特别是其对任意古琴音色均可进行重构因此潜力大是古琴音色仿真的有效方法之一。 3 古琴音色仿真系统实现 基于古琴音色重构方法 初步实现了一个古琴音色仿真系统。该系统主要使用仿真或采集的单音色采样文件根据要求播放乐谱通过混音合成古琴曲。在混音处理中均采用wav 文件格式来组织单音色音频和...