基于音乐特征识别的音乐喷泉计算机辅助设计系统
2008-09-24
作者:刘 丹1, 张乃尧1, 朱汉城
摘 要: 介绍一种基于音乐特征识别的音乐喷泉计算机辅助设计系统" title="设计系统">设计系统。由于能够自动识别音乐的曲式、情感等特征,该系统能够根据不同曲目的特点设计出体现音乐内涵的音乐喷泉表演程序;同时,通过综合运用电脑动画、自动控制等技术,大大提高了音乐喷泉表演程序的开发效率。为了对该系统的设计方案进行检验,开发了一个小型室内音乐喷泉的实验装置。实验证明,该系统的运行结果十分令人满意。
关键词: 音乐喷泉 计算机辅助设计系统 音乐特征识别 模糊专家系统
音乐喷泉作为将听觉艺术与视觉艺术相结合的艺术形式,已经得到了广泛的关注。目前,国内外虽然已建有很多音乐喷泉,但大多数音乐喷泉都存在着两方面不足:首先,音乐喷泉表演程序的设计需要音乐、舞美、电脑、自控、喷泉等专业专家的合作;其次,为了了解音乐喷泉表演程序的喷射效果,只有在硬件上进行仿真实验。因此,对于一般的音乐喷泉系统,其表演程序的设计非常费时费力,也正是由于这个原因,既便是美国Lasvegas这样著名的喷泉也只能表演几首曲目。
基于上述问题,笔者设计开发了一个音乐喷泉的计算机辅助设计系统,简称CAD-MF。在该系统中,首先提取音乐的基本特征,然后在此基础上分析音乐的曲式特征并将整首乐曲分成若干乐段,并分析出每一段音乐所表达的基本感情色彩;第二步,根据音乐的曲式和情感特征,为每个乐段匹配相应的音乐喷泉基本表演程序,从而生成最初的音乐喷泉表演程序。该表演程序可以用三维动画进行仿真,并可以通过友好的人机界面进行修改,直至满意。最终的表演程序经过自动编译,可以控制音乐喷泉按照设计的动作进行喷射,实现音乐与喷泉的同步。
1 音乐喷泉实验装置
该音乐喷泉实验装置的草图如图1所示。该喷泉由13个喷头、4组彩灯组成。其中,喷头1~6为第一组,可以沿圆圈的切向和径向进行自由摆动;7~9为第二组,10~12为第三组,可以左右随意摇摆;13为第三组,不能转动。此外,这13个喷头的喷射高度还可以有3个级别的变化。同时,该装置中还配有4组(1~4)彩灯,由于每一组由3个不同颜色的灯泡组成,因此可以营造出多彩的光照效果。
2 系统概述
该系统由七个部分组成,如图2。
(1)音乐特征的识别
在本系统中,选择MIDI(Musical Instrument Digital Interface)文件作为输入的音源。MIDI是音乐信号在电子乐器之间传输的标准,包括硬件接口标准以及电子音乐信号在不同硬件之间的异步串行传输协议[1]。MIDI格式的音乐文件记录了音乐的全部乐谱和演奏的全过程,很多基本的音乐特征都可以从中直接获得。在此基础上,又可以进一步提取旋律、和声、节奏等复杂特征。根据音乐基本特征和复杂特征在内的音乐信息,最终能够按照乐曲的结构将其分为若干乐段,并且利用模糊分类器" title="分类器">分类器识别出每一个乐段所带有的感情色彩。
(2)音乐特征与喷射动作的匹配
这一部分主要是通过模糊专家系统将音乐特征与喷射动作进行两个层次的匹配——段匹配和音符匹配。段匹配是指根据感情色彩为各个乐段找到合适的基本表演程序,即用于表现某一特定情感的典型动作序列。音符匹配则是为特定的音符安排特定的喷射动作。这两个层次的匹配过程也就是音乐喷泉表演程序的最终设计过程,它记录了音乐喷泉随着音乐舞动的全部状态。
(3)动画仿真
当表演程序被设计出来后,如果直接在喷泉装置上进行仿真,将是一个非常费时费力的过程。因此,设计了动画仿真子系统。动画的参数全部按照实际的喷泉实验装置来设计,通过动画可以实现对实际喷射效果的仿真。为了做出与实际喷射相似的喷射效果,采用粒子系统[2]。
(4)手动修改
在观看动画仿真结果后,用户可能需要对原表演程序进行修改。为了使用户能够在不需要了解内部代码的情况下对表演程序进行任意的修改,笔者开发了一个很有好的人机界面。该界面不仅可以实现单点修改、多点修改,还可以为整段音乐选择另一套表演动作。
(5)打印喷泉表演程序总谱
该总谱既包括了所有音符,又包括了与音乐对应的所有喷射动作,可以对整个表演程序一目了然。
(6)编译成控制程序
用一台Pentium III 866 MHz 的PC机作为控制器,它能够自动地把表演程序编译成功放输出的控制程序,从而控制音乐喷泉硬件装置的喷射,实现音乐与喷泉的同步。
(7)同步播放
为了保证喷射与音乐的同步,笔者开发了同步播放程序,主要用于防止喷射相对于控制的延时。
音乐特征识别和匹配是该系统的核心。下面,将对这两个子系统进行重点介绍。
3 音乐特征的识别
由于不同风格的音乐有着各自不同的特点,这里,选择节奏相对稳定、曲式相对固定的约翰·施特劳斯(Johann Strauss)的圆舞曲。
3.1 音乐基本特征的提取
在该系统中,选择MIDI文件作为输入的音源。一个MIDI文件含有一个header chunk和若干个track chunks。速度、节拍等全局基本特征可以从header chunk中得到;而音高、音长等音符信息则可以从track chunks中获取[3]。由于MIDI文件中含有大量音乐信息,因此许多音乐的基本特征都可以从中直接获取。这里,提取了九种基本特征:音色、调性、节拍、音高、音长、音量、力度、速度和发声时间。
3.2 音乐曲式特征的提取[4]
施特劳斯的圆舞曲多由三部分组成:主体是3~5个小圆舞曲,前面有序奏,最后有尾声。每首圆舞曲有两个主要旋律,用单二部曲式(AB)或单三部曲式(ABA)构成。考虑到这些旋律常常由两个非常相似的乐句组成,采用一种搜索相似旋律的方法分析音乐的曲式结构;同时,为了提高搜索效率" title="搜索效率">搜索效率和正确率,还兼顾了曲式结构中的和声与节奏特点。
(1)根据节奏和调性进行初步识别
一首圆舞曲常常由几百个小节组成,因此如果在全曲范围内对旋律进行搜索将会非常费时费力。乐曲节奏和调性的改变常常意味着新段落的出现,这里首先根据这两方面的特征对全曲进行初步划分,为旋律搜索缩小范围,从而提高搜索效率。
(2)利用旋律搜索进行重点识别
为了进一步提高相似旋律的搜索效率,根据古典音乐的特点,作三点假设。第一假设一个完整的乐句由16小节构成,这一假设在很多音乐结构的研究中被采用,并在多数情况下被证明是正确的。第二假设一个乐句的前4小节是全句的重点,这一假设能够用很少的音符表征整个乐句,同时经过检验是完全正确的。第三假设在众多的乐器中,小提琴、长笛、单簧管演奏主旋律的可能性最大,这一假设被证明非常有效,它帮助从十几种乐器中迅速地找到主旋律音色,作为旋律搜索的前提。在这三个假设的基础上,还引入一种树状结构“旋律树”,用以记录一段旋律的总体轮廓,从而实现对相似旋律的搜索,如图3。该结构由四层组成:
·第一层代表一段16小节的旋律;
·第二层代表该旋律的前4小节;
·第三层代表每个小节的三个正拍;
·第四层代表各个小节的正拍和半拍;
在图3中,节奏是3/4,在旋律树中,仅仅需要记录相对音高。与其他记录旋律的方法相比[5, 6],该旋律树有三个优点:首先,由于前4小节是整段旋律的重点,旋律树用很少的音符抓住了整段旋律的轮廓;第二,这种树状结构不仅记录了旋律的轮廓,而且记录了旋律的结构;最后,这种分层结构有利于提高搜索效率。由于上一层的音符比下一层重要,因此,如果在比较旋律树时在上一层就出现了不同,则无需对下面的各层进行比较就可以直接得出二者不同的结论。这种旋律树可以用来提取和比较旋律,在实验中证明非常有效。
(3)利用和声特征进行补充识别
经过以上两个步骤,大多数曲式结构可以被识别出来,但仍会有一些例外。为了进一步提高曲式识别的准确性,又利用终止式[7,8](结束一个音乐结构和结束一个乐思的和声)对曲式结构进行了补充分析。由于和声分析相对复杂,这里只考虑了与终止式密切相关的主和弦和属和弦。
3.3 音乐情感特征的提取
在曲式特征识别基础上,整个乐曲被划分成一个个小乐段。该部分则通过对每个乐段的音响、速度、旋律等特征进行综合分析,最终由一个模糊分类器判断出其情感特征[9]。为了对情感特征进行合理的描述,根据在音乐心理学领域得到广泛认可的Hevner词表[10],提出一种“情感环”的结构,如图4。
4 模糊专家系统匹配
这一部分主要通过模糊专家系统对音乐特征进行段匹配和音符匹配两个层次上的匹配。
4.1 段匹配
段匹配在对音乐作品进行结构分析和情感分析基础上,根据情感色彩为每一段旋律找到最适合的基本表演程序。
(1)基本表演程序库" title="程序库">程序库的建立
基本表演程序库中存放有大量的基本表演程序,即表演动作序列。基本表演程序的结构如图5所示。从图5中可以看出,每一个基本表演程序除了记载所有动作的名称和动作时间外,还有该基本表演程序所体现的感情色彩。值得注意的是,这里的动作时间是指在标准速度(定义为1小节/1秒钟)下的动作时间。因此,当乐曲速度变化时,系统要自动根据速度的改变调整运动时间,从而实现音乐与动画的同步。
(2)表演程序控制器" title="程序控制器">程序控制器的建立
段匹配的结果记录在表演程序控制器PPC(Performance Program Controller)序列中,作为进一步设计表演程序的基础,如图6。表演程序控制器有六个参数:第一个是控制器编号,即乐段编号;第二个是记录该乐段旋律线的旋律树的编号;第三、四个分别是该乐段的起始和结束小节;第五个是该乐段的感情分类;最后一个则是为该乐段匹配的基本表演程序的编号。
4.2 音符匹配
音符匹配包括两部分:首先根据乐曲速度决定基本表演程序中相邻动作的时间间隔;其次是为关键音符(如强音)设计一些特殊的动作。在段匹配的基础上,音符匹配使音乐动画的设计做到了点面结合。
经过段匹配和音符匹配,最初的音乐喷泉的表演程序就产生了,它记录了音乐喷泉随着音乐喷射的所有动作。
5 实验结果
笔者在Windows 2000平台上用Visual C++开发了该系统的原型,并选取了《蓝色多瑙河》、《春之声》、《皇帝圆舞曲》等施特劳斯的著名圆舞曲进行了实验。结果非常令人满意。当基本表演程序库中的基本表演程序很少时,喷泉的姿态变化出现了大量的重复,而当基本表演程序进行扩充后,喷泉的动作设计非常令人满意。以《蓝色多瑙河》为例,自动设计用了5分钟时间。序曲部分是在蓝色灯光下的简单摇摆,与各小圆舞曲对应的是或欢快、或抒情、或激昂的一段段喷射动作,而尾声则是所有水柱一齐喷射的场面。当相似的旋律出现时,喷射的动作是完全一样;如果是以不同的速度出现,则喷射的速度也会相应地改变,基本做到了视觉感受与听觉感受的一致。经过很少的几处修改,该表演程序在音乐喷泉试验装置上与音乐进行了同步表演,结果非常令人满意(图7、8)。笔者还尝试了一些其他类型的曲目,包括“Times to say good-bye” (流行音乐), “Swan lake”(古典音域), “春江花月夜”(民乐)。与想象的相同,自动设计出的表演程序并不令人满意。但由于人机修改界面非常友好,用几个小时就完成了一个乐曲的设计工作。这与传统的制作方式相比,大大提高了效率。
参考文献
1 Rothstein J. MIDI:a Comprehensive Introduction. Oxford: Oxford University Press, 1992
2 Reeves W T. Particle system-a technique for modeling a class of fuzzy objects. Computer graphics. 1983;17(3):359~370
3 Wang Q,Saiwaki N, Nishida S. An approach to automatic motion synthesis for 3D spring model with music factors. In:Proceedings of IEEE International Conference on Systems,Man, and Cybernetics. Piscataway, 1999; 4: 224~229
4 D. Liu, N. Y. Zhang, H. C. Zhu. Form Recognition for Johann Strauss's Waltz Centos Based on Music Fea tures. In: Proceedings of the International Conference on Machine Learning and Cybernetics 2002. Accepted)
5 刘 丹,张乃尧.模糊数学在音乐特征描述中的应用. 2001年中国智能自动化会议论文集. 昆明, 2001: 304~309
6 刘 丹,张乃尧,朱汉城.关于音乐信息智能分析处理方法的研究综述. 计算机工程与应用,(已收录)
7 Kamien R. Music: an Appreciation. New York: McGraw-Hill, 1994
8 Tokumaru M, Yamashita K, Muranaka N, Imanishi S. Membership functions in automatic harmonization system. In: Proceedings of 28th IEEE Conf. on International Symposium on Multiple-Valued Logic. 1998: 350~355.
9 D. Liu, N. Y. Zhang, H. C. Zhu. A fuzzy expert system to recognize sentiment of music and it's application in music fountains. In: Proceedings of the International Conference on Control and Automation. 2002: 1854~1857
10 R. E Radocy, J. D. Boyle. Psychological foundations of musical behavior. Illinois: Charles C Thomas Publisher, 1988