多系统平台协作电子音乐系统研究与实现*
2014-03-24杨万钧
◆杨万钧
1 前言
电子计算机技术的发展为数字化的电子音乐(包括计算机音乐)创作提供了技术上的支持,利用强大的硬件处理能力和灵活的软件设计,使得电子音乐的创作呈现出丰富的方式和手段,也极大地促进了电子音乐的发展。
在过去很长的一个历史时期中,由于系统间通信及软硬件接口标准的制约,软硬件工程师和电子音乐家们致力于开发能力更强的软硬件,以满足电子音乐不断增长的系统需求。这在电子音乐中也出现了一个特有的现象,就是硬件和软件系统越来越复杂,开发和设计的难度越来越大,价格也越来越高昂,而系统的灵活性则相对较低。对于很多用户而言,这些复杂软硬件系统中的很多功能并非是必需的,某些功能对于多数用户而言使用的几率很低,而用户则需要为一些可能很少使用的功能支付更多的成本。对于部分用户而言,复杂的整合系统灵活性较差,不能满足其在特定领域中进行艺术创作的拓展和需求。
而作为另一个计算机软硬件发展的事实是,目前硬件制造技术、网络通信技术、多媒体技术和接口标准化等相关技术的发展,越来越多的硬件系统可以协同工作,并且能够以模块化的方式进行组合运行;操作系统的发展和标准化,使得不同的操作系统之间可以更容易地实现相互通信和控制,在共享数据上的障碍也逐渐消失;不同的系统和软件之间利用标准的接口协议,可以很容易地进行数据通信,并且可以实现低延迟的数据传输和协同运算;同时由于无线通信技术和移动运算技术的发展,不同类型的软硬件之间可以进行标准化的信号传递和控制,实现更丰富的效果。
基于这些技术的发展,利用多种不同的软硬件平台来构建灵活、高效、适应性强且成本可控的电子音乐创作系统已经成为可能,并应该获得更多的关注与应用。
本文试图从软硬件系统、创作平台和通信协议等方面进行分析,以找出利用不同软硬件系统方便快捷地构建电子音乐创作平台的可能性。
2 为什么要进行多系统平台的研究与讨论
在讨论如何进行基于多系统平台的电子音乐创作系统构建之前,首先分析一个基本的问题,就是使用跨系统平台进行创作有什么样的利弊?需要明确的是,这里的多系统平台指的是利用多个不同的硬件系统和软件系统,通过通信设备和协议,充分发挥不同软硬件系统的优势,共同完成某个复杂任务所构成的复合创作系统。
之所以要讨论多系统平台的协作,其主要原因在于以下的几个方面。
任何的硬件系统,其所支持的指令系统是有限的,所能够完成的功能也是受限制的,不管运算能力多强,任何硬件系统的运算能力也是有限的;由于硬件系统的不同,会造成相同的操作系统和软件可能在不同的硬件系统上并不一定能够很好地运行。在过去很多厂商为了更好地兼容不同的硬件系统,在开发相同操作系统和应用软件时,就需要针对不同硬件系统进行软件开发,增加了软件开发中的重复劳动。同时由于硬件的不同,还可能造成同类软件的不兼容及工作效率的变化。
每个硬件系统的处理能力和存储能力都是有限的,要提升单一系统的处理能力和存储能力,通常都需要付出较大的代价。通过多系统的组合,可以在降低成本的条件下,获得相似的执行效果。
针对不同硬件系统和软件系统开发的应用程序,通常在算法设计上都能充分发挥软硬件的功能,获得最佳的运行效率,充分发挥特定算法和功能在特定系统上的优势,获得最佳的运行效率和稳定性。
合理利用不同软硬件系统的组合,能够减少重复购置软硬件,降低软件成本,而且通过合理的组合,能够获得更灵活的系统组合方式。对于软件开发者,可以减少在不同操作系统下重复开发相同软件所造成的资源浪费。
使用多系统的协作,可以降低软件系统和应用程序开发的难度,使软硬件开发者能够更专注开发特定功能模块,提供更稳定可靠的运行环境,并且提供更友好的应用扩展和升级环境。当然,在此过程中,协议标准和预定框架就显得尤为重要。
不同操作系统可以运行的硬件平台是不同的,合理选择硬件系统和软件系统,可以充分发挥特定系统能力,如Linux系统就可以在微型机之外的系统上运行,包括巨型机系统。通过系统间有效通信,可以充分发挥各系统的优势,获得最佳的协同工作效率。
使用不同软硬件系统构成的协作系统,通常相较于性能强大而功能复杂的单一系统,其成本要低得多,这对于预算有限的用户是一个非常重要的因素。
3 影响多系统平台协作电子音乐系统构建的因素
在利用不同软硬件系统来构建电子音乐创作系统时,会受到很多因素的影响与制约,了解相关的因素,有助于合理利用各种已有的软硬件资源,并且对其进行合理的组合,在效率和成本、易用性和稳定性之间达到平衡。下面介绍影响多系统平台写作电子音乐创作系统构建的主要因素。
硬件系统 从20世纪40年代数字电子计算机发明以来,经过半个多世纪的发展,计算机硬件技术向着巨型化、微型化、网络化和智能化的方向快速发展,计算机已经渗透到了人类生产生活的各个领域。微处理器的体积越来越小,性能越来越强大,所支持的指令集也越来越丰富,能够以更小的体积完成更多更复杂的运算。半导体存储器制作工艺和集成度的提高,使得内存速度越来越快,性能响应更高,价格也越来越便宜,使得大容量的内存成为标准配置,为运行大型的应用程序和电子音乐作品提供了可能。高速外部存储器技术的发展,特别是基于半导体的SSD固态硬盘的出现,为大数据量的外部数据交换提供了可能,而且随着系统总线速度的提高,也带来了外部存储器读写速度的提高,这为进行快速高精度的音频、视频采样处理提供了可能。新型系统总线的出现,特别是PCI-E、USB 3.0及Thunderbolt雷电等新型高速总线的出现与普及,为外部设备之间的连接提供了稳定而高效的技术支撑。
随着技术和经济的发展,个人计算机所使用的中央处理器逐渐集中到以Intel和AMD为代表的中央处理器体系下,所设计和制造的个人计算机之间的差异越来越小。过去在PC和Mac之间还有较大的硬件差异,而在今天由于所使用的中央处理器逐渐接近,硬件系统设计也越来越相似,Mac和PC之间的差异正逐渐减小。这为构建更高效的电子音乐创作系统提供了更好的机会。当然,由于Mac相对封闭的一体化硬件系统集成设计,在很多电子音乐应用中仍会表现出更加优异的高效和稳定。
超大规模集成电路技术、移动计算技术及通信技术的发展为移动运算领域提供了新的可能性,在传统的微型机之外,还出现了基于移动运算技术的平板电脑技术,这为社会生活和电子音乐创作提供了更多便捷的方式。基于iOS系统和Android系统的平板电脑已经成为现代生活的一个重要部分,同时也出现了大量基于平板电脑的电子音乐软件和控制界面,成为电子音乐创作中重要的工具和平台。
单片机技术的发展和应用,出现了越来越多功能强大、适用面广、工作灵活、高度可定制的单片机,使得单片机也越来越多地出现在电子音乐创作的领域中。特别是Arduino(图1)和Raspberry等开源的单片机逐渐出现和流行之后,利用其开源特性以及高度灵活的定制性,可以用于电子音乐创作中的嵌入式系统和定制控制端的实现,受到越来越多电子音乐家和现代艺术家的青睐。
不同的硬件系统,其设计目的不同,运算能力和稳定性也不相同,在进行电子音乐创作过程中,所能够实现的功能也会有所差异。因此,在构建电子音乐创作系统时,就需要根据不同硬件的特点,合理选择硬件平台的搭配,充分发挥特定硬件平台的特性及效率,简化系统的设计,降低整个系统的实现成本与难度,以达到最佳的组合效果。
操作系统 合理选择操作系统将能够充分发挥特定硬件系统的能力,并为电子音乐软件运行提供良好而稳定的系统软件平台。
目前个人计算机上包括Microsoft Windows系统、Mac OS X系统和Linux系统三大系列适于用作电子音乐创作的主流操作系统,同时经过多年发展,在这几类系统中已开发了大量电子音乐创作软件,其中部分已非常成熟,成为电子音乐创作的主要行业软件。这三类操作系统各有特点,适用于不同的硬件和场合,能够提供不同的效率和稳定性。很多电子音乐创作软件及插件等都是针对特定操作系统而开发,因而要使用特定软件或插件系统,就需要相应操作系统的支持。比如Logic只能在Mac系统下运行,VVVV只能在Windows系统下运行,而Ardour则只能在Linux环境下运行。尽管部分软件同时发行多个不同系统的版本,但在实际的使用中,往往还会因为操作系统的特性而略有不同,因而在特定操作系统上应用某些软件会更加方便,而且能够更好地发挥操作系统和应用程序的最大效率。
随着移动平台的流行,越来越多的电子音乐软件被移植到移动平台上,在iOS和Android系统上都出现很多不同的电子音乐应用APP,以及一些可以作为创作辅助工具的APP。类似于iPad的平板电脑相较于传统的个人计算机,在操控上更加直观和方便,利用多点触摸技术可以实现双手更丰富的控制。同时利用平板电脑提供的多种传感器,可以成为电子音乐创作中重要的控制器。同时,由于iOS系统和Android系统平台的统一性和直观性,可以很方便地通过安装不同的APP来实现不同的功能。目前,越来越多的电子音乐家和现代艺术家利用平板电脑进行作品的创作,在创作和演出中利用平板电脑进行控制和表演。
除此之外,另一类特殊的操作系统也逐渐出现在电子音乐家的视野中,这就是专门为单片机提供的操作系统。如Raspberry Pi(图2)以其低廉的价格、稳定的性能,以及高度可自定义的特点,出现在很多电子音乐作品中。而要完成Raspberry Pi的基本功能,并实现与其他系统的通信与处理,就需要为其安装合适的操作系统。由于Raspberry Pi是一个基于ARM架构处理器的硬件平台,而且针对小型运算的需求,因而并不适合基于Intel平台的Mac OS X和Windows操作系统,只能使用专门为其设计的内核定制的Linux版本,这样可以根据硬件的实际情况充分发挥其功能。
同样,对于一些特定的单片机系统,为实现嵌入式系统功能,也只能根据需求使用可定制的Linux系统。
Linux操作系统成为目前通用性最强的操作系统类别,可以运行在多种不同的硬件平台上,包括Intel处理器平台、Mac平台、移动运算、单片机等多种平台上,最新的Linux分支已可以运行在智能手机一类的硬件上。同时,Linux系统对多媒体软硬件的支持也日趋完善,越来越多的媒体制作工具都开始支持Linux系统,并且很多制作软件都开始发行Linux版本或向Linux系统移植。基于Linux系统的开源、自由、免费、稳定、可移植、跨平台等特性,Linux系统将是未来专业电子音乐创作中的重要平台。
相较而言,Windows和Mac OS X系统作为商业软件,界面更美观,获得的支持更完整,对于很多老牌的电子音乐创作软件,仍是最适合的创作平台,仍能提供稳定和方便的使用感受。
随着硬件能力的增强,利用虚拟机技术,都可以在特定操作系统中模拟其他操作系统环境,这样就可以很容易地在单硬件系统上实现多系统协作的功能,对于需要分别运行于不同操作系统上的应用软件,在强大硬件的支持下也可以通过虚拟机技术来实现相互的协作,同时减少不必要的硬件系统开支。
选择合适的操作系统将为电子音乐创作提供更好的创作体验。
网络通信 随着音频信号数字化进程的深入,以及音频控制和通信的增强,越来越多的信号都是以数字信号的方式进行表示和传输。为在不同系统之间传输音频和数字控制信号,工程师们开发了多种不同的数字接口,包括MIDI接口、SPDIF接口、光纤接口等,这些接口可以很好地进行信号的传输和控制。但这些接口也都存在接口专用性过强、相互之间不兼容、传输距离受到介质限制等缺陷。
随着网络通信软硬件技术的发展,越来越多的数字信号开始采用网络的方式进行传输和控制。利用成熟的网络技术,音频工程师利用标准的网络协议和接口,可以方便而高速地进行信号传输和通信。同时,由于使用标准的网络硬件和接口以及国际通用的网络协议,避免了重复设计硬件接口,重新定义电气特性,降低设计难度。而且,利用已有的网络协议和开发标准,软件设计更加容易,标准化程度更高,软硬件之间的通用性更强,数据兼容性更好,能够更好地进行信号的传递与数据标准的定义。
在现有网络技术中,用于音频信号传输较多的是以太网技术,利用成熟的千兆以太网技术,可以进行长距离、高效率的多声道、高质量音频信号及混合信号的双工传输。这样可以扩展音频系统的规模,扩大整个系统的空间范围和地理范围。利用网络控制技术,可以实现本地或远程的智能化实时控制,提高整个系统的效率。当然,为实现高质量的通信效果,相关网络通信和控制设备需要满足高速而稳定的需求,通常都建议使用专用的千兆以太网交换机、路由器及屏蔽双绞线等专用材料,以保证良好的通信质量。
随着无线通信技术的发展,为电子音乐和计算机音乐的创作与表演提供了新的可能性。特别是基于802.11协议族的WiFi技术的快速发展和普及,使得无线网络成为构建电子音乐系统中的重要一环。通过无线WiFi路由器和AP设备,可以从空间上扩展电子音乐系统的控制范围,同时免去有线网络重复布线及设计的麻烦,而且也降低了网络系统的复杂程度,使网络构成更加灵活。使用无线网络技术更重要的一点是可以通过无线网络及相关的协议,将不同的系统和设备连接在一起。如可以将PC、Mac与iOS及Android等移动平台设备连接到一起,进行数据通信和控制,使得可以应用和控制的设备更加丰富。电子音乐创作和表演也由此得到更大的拓展,更加丰富灵活,注入更多新的思想和能量。
在网络通信过程中,通常会根据数据传输总量的大小、信道质量高低和所传输信息的编码形式选择不同的通信协议,通常在容易受到干扰的不稳定网络进行远程传递MIDI等控制信号时,会选择较安全的TCP/IP协议,牺牲速度来获取较高的准确度;而在局域网等信道稳定的网络中传递数字音视频信号及OSC等控制信号时,则通常会选择速度更快的UDP协议进行传输。
通信协议 要在不同的软硬件系统之间进行数据的传输和控制,通信协议是基本的保障。在电子音乐发展的过程中,根据控制的信息类型的不同,先后出现MIDI、OSC、Jack、AudioBus等不同功能和目的的通信协议。这一类通信协议不同于网络通信协议,主要是进行数字音频信号或数字乐器控制信号构建的协议,为数字音频信号和控制信号的相互传输提供基本的保障,并对系统的创建和电子音乐的发展具有重要意义。
20世纪80年代出现的MIDI(Musical Instrument Digital Interface)是在电子乐器中最早出现的数字声音通信协议之一,也是电子音乐创作中使用最久的协议标准。MIDI被设计用于在数字电子乐器之间进行控制信号的传递,以控制不同的数字电子乐器同时进行播放和响应,这些电子乐器可以使合成器、控制器、音源或MIDI键盘等设备。MIDI信号中只包含电子乐器的控制信息,不传递任何实际的音频信息,因而MIDI主要是一种控制协议。由于MIDI出现时间较长,而且大多数电子音乐软硬件设备都支持和兼容MIDI标准,因而MIDI也是目前应用最多的协议之一。随着MIDI的发展,MIDI除了进行数字乐器控制之外,也可以通过其他软硬件映射的方式用于进行视频、灯光、舞台等的控制,操作方式非常丰富。
但MIDI也有其不足,主要在于MIDI标准定义被提出时,数字音频还在发展初期,而且由于当时数字处理及通信技术的限制,MIDI标准的数据传输速率较低,数据分辨率低,不支持音频的传输,硬件接口与其他标准不兼容,传输距离近,等等,这些都是目前使用MIDI协议进行电子音乐创作和演出中面临的主要问题。
早在20世纪90年代末,很多音乐家和工程师都体会到MIDI的不足,希望能有新的标准来更方便地进行数字音乐通信控制。针对这一情况,加州大学伯克利分校(UC Berkeley)的The Center For New Music and Audio Technology(CNMAT)提出了OSC(Open Sound Control)标准,并于2002年发布了OSC 1.0标准。OSC被定义为一种在计算机、声音合成器及其他多媒体设备之间进行信息传递的通信协议。OSC针对当代的网络技术进行了优化,利用当代高效的网络通信技术可以将电子乐器和设备方便地连接在一起,提供了交互操作、准确、灵活和组织增强的功能。OSC为不同设备间的声音控制和媒体处理提供了高效和方便的标准,主要特性包括开放、灵活、高精度、信息类型丰富,支持服务器和客户机模式,数据传输效率更高,也更加安全。
OSC除了可以实现类似于MIDI的功能之外,还可以用于实时音频处理和其他媒体处理环境、网络交互、软件合成器控制,以及与其他编程语言及软硬件环境进行交互等应用场合。OSC已成为在广域网和局域网中构建分布式电子音乐系统、交互式媒体处理系统以及应用软件开发中重要的协议标准。
在实时音频处理过程中,电子音乐家和音响工程师还会有更多的需求,比如更加灵活,容易控制,可以对信号进行路由,在不同音频软件和硬件设备之间传递音频信号,以及通过网络进行远程音频传输和控制等。由Paul Davis开发的JACK(Jack Audio Connection Kit)(图3)标准就可以实现上述功能。JACK被开发为一个开源的专业声音服务程序,以客户机/服务器的模式运行,可以在不同的应用软件之间提供实时、低延迟的音频数据和MIDI信息连接。这些应用软件既可以在同一台计算机上,也可以通过有线网络或无线网络将不同计算机上的应用软件连接在一起。利用JACK的API,可以很容易地实现跨操作系统平台的音频和MIDI的交互连接,用以高效构建电子音乐创作系统。在不同操作系统下的大量音乐软件都提供对JACK的支持,而且利用JACK的接口,很多不同媒体类型的软件都可以连接在一起,构建交互媒体创作和表演系统。包括法国GRAME在内的很多研究机构和电子音乐家都利用JACK作为电子音乐创作中的信号传输和控制平台,实现丰富的效果。
编程语言 为了构建跨系统的电子音乐创作平台,在很多情况下还需要考虑应用于程序编写的编程语言的问题。在构建创作平台的过程中,为获得最好的兼容性以及最佳的协作效果,有时候需要在不同系统平台下使用相同的应用软件或组件,以获得最好的兼容性及通信效果。而部分创作平台,基于电子音乐家和音响工程师的需求,有可能需要自行编写特定的应用程序或接口。合理选择编程语言,将能够使开发的软件更好地在不同操作系统之间移植,减少开发的工作量,同时获得最佳的兼容性和工作稳定性。
从本质上说,大多数的计算机高级语言都是跨平台的,因为高级语言都是以类似于人类自然语言来表示信息并进行编写的语言,编写出来的语言代码都需要经过编译之后转换为CPU可以执行的指令来执行。但在实际的编程过程中,由于操作系统的不同,通常需要使用特定的API或工具程序,以创建符合功能的应用程序。但不同操作系统下,API的工作方式和开发接口是不同的,这样就造成同样是使用C或C++开发的程序,在Windows系统下开发的源程序并不能直接拿到Mac OS X系统下进行编译。因而在进行语言的选择时,就需要对这些方面加以考虑。
在现代流行的高级语言中,JAVA、HTML等语言从设计之初就考虑到要在不同平台下运行,这些语言通过中间件或Runtime环境实现在不同操作系统下的运行,以获得良好的跨平台效果。JAVA通过中间件的方式可以在Windows、Mac OS X甚至移动平台上运行,具有良好的跨平台性。但由于JAVA语言的解释性,工作效率略低,在开发某些特殊应用程序时会受到一定的限制。
对于必须使用C/C++进行开发的应用程序,为获得良好的跨平台特性,则可以考虑使用主流的跨平台应用程序和UI开发框架如QT等,这样在特定平台下开发的源代码,只需要经过很小的改动,就可以在其他操作系统下使用相同开发框架进行编译,以获得兼容性最佳的跨平台应用程序。
应用软件 并非所有的音乐软件都适用于构建多系统平台的电子音乐系统,因为要实现多系统平台的协作,需要音乐软件提供对特定协议和接口的支持,并且能够有效地根据协议和接口进行信息的处理和交换。前面已经讨论过构建多系统平台电子音乐系统的主要原因是综合利用多硬件的运算能力,以及发挥不同软硬件系统的优势,降低成本,以获得最佳的执行效率。因此,选择合适的应用软件来构建多系统平台电子音乐系统就非常重要。
根据电子音乐创作方式和手段的不同,所选择的软件通常需要支持MIDI、OSC和JACK等主流接口和协议,以保证音频和相关控制信息的传递和处理,然后就需要根据制作的需求选择合适的应用软件。
如果所构建的系统主要用于MIDI相关的制作,则可以考虑使用Cubase做为宿主软件,使用JACK作为MIDI传输控制的接口。因为Cubase原生提供了Windows和Mac OS X平台的版本,并且在Cubase中提供了VST System Link的接口,可以直接将两台运行Cubase的计算机连接在一起,并且进行音频和MIDI信息的传递。如果需要连接其他的宿主软件或插件音源,则可以考虑使用JACK作为接口,用以进行宿主与音源的连接。如在一台计算机中运行Cubase宿主程序,而在另一台或多台计算机中运行Kontakt采样音源系统,这样就可以将运行在不同硬件系统和操作系统上的音乐软件组合在一起了。
在当代交互电子音乐软件的创作过程中,交互电子音乐系统的构建更加灵活。通常会使用Max/MSP、Pure Data、Open Music等软件作为主控程序,在其他平台下可以根据需要运行如VVVV、Processing、Blender、Jitter等交互图像处理程序,或运行Max/MSP、Pure Data以及音源插件等作为被控端,实现多机、多系统以及多种媒体结合的创作系统。这些软件都支持MIDI和OSC标准,非常容易实现音频信号和控制信号的处理和控制。如果需要接入其他的软件或设备,也可以使用JACK平台进行信号的传输和处理,特别是在需要连接包括Linux系统在内的不同操作系统以及连接多台计算机时,会非常方便。
4 构建多系统平台协作电子音乐系统的方法
在实际构建多系统平台协作电子音乐创作及表演系统的过程中,会根据软硬件环境、作品类型、表演方式等的不同而有较大的变化,因而没有固定的方法来实现系统的构建,都需要电子音乐家和音频工程师利用所掌握的技术合理进行设计和搭建,以获得最合理的效果。下面,通过四川音乐学院电子音乐系的一个实际范例进行分析,以说明多系统平台电子音乐系统的构建方法。
2011年,四川音乐学院电子音乐系成立新媒体艺术小组,并开始设计“四川音乐学院陈列馆交互式声音/影像走廊”项目。该项目的设计目标是利用先进的电子音乐软硬件技术和设计理念,结合视觉互动、声音景观技术、装置艺术,为四川音乐学院设计一个具有表演性质的陈列走廊互动音乐艺术装置。
该项目的设计目标为在陈列厅中划出长4.5米、宽2米的区域作为交互式虚拟走廊,该走廊由八只全频扬声器组成的八声道环绕立体声系统所覆盖,构成一个多声道立体声声场(走廊效果图如图4所示)。当参观者步入该区域时,由红外感应器感应参观者的位置和数量,然后通过计算机程序运算,根据参观者位置和运动速度等参数,调整在八个声道中输出的预制声音内容,使立体声声场声像位置跟随参观者变化,使参观者有被导游在身边带领讲解和播放音乐的感觉。同时,根据参观者的位置和运动速度变化,利用计算机图形处理程序实时生成运动影像,通过多台投影仪将影像投影到地面上,形成动态的视觉特效,引导并追随参观者移动。该系统还要求如果同时有多位参观者进入影音走廊,则为每位参观者生成不同的声音和影像。当参观者到达走廊尽头时,走廊尽头为可控式雾面玻璃展示窗,在没有参观者出现在展示窗之前,该窗为透明状态,显示窗后的呈示内容;当参观者走近展示窗触发感应器时,该窗加电后变为不透明状态,同时感应器触发计算机通过投影向该窗播放预制的视频内容,以声光方式进行展示。
要实现以上设计要求,需要运用多种不同的媒体处理技术以及软硬件的支持。为达到这样的要求,在组建新媒体艺术小组时,小组成员就来自多个不同领域,包括胡晓、陈大苍、白小墨、陆敏捷、韩彦敏、杨万钧等多位不同领域和方向的专家和教师,分别完成该系统中不同部分的设计与处理。同时,要实现复杂的多种媒体控制和处理,仅仅依靠单一的计算机软硬件系统已无法有效地实现所需的功能,因而在实际设计中,该系统就被设计为多系统互联的基本形式。
如图5所示,在实际设计中,该系统主要由声音处理部分、视频处理部分、传感器控制部分三个部分构成,分别使用一台Mac、两台PC和一块Arduino单片机来实现。
1)声音处理部分。由于需要根据参观者位置实时计算八声道中每个声道的内容,因而不能直接使用传统的音频处理软件来处理。在本例中,使用Mac版本的Max/MSP来完成多声道音频信号的处理与计算,由于八个声道的高质量音频信号数据量较大,因而使用独立的一台Mac计算机来完成该功能。
2)视频处理部分。在视频处理方面主要由两部分组成,一部分是根据参观者的位置和运动速度传感器生成影像,通过多台投影仪实时投影到地面;另一部分是参观者在走廊尽头触发可控式雾面玻璃动态展示窗进行视频触发和播放。由于实时投影到地面的动态影像需要经常调整,并实时运算生成,同时还需要对多台投影仪进行控制,而动态影像的运算量较大,为保证运算效果,使用一台独立的具备多端口输出专业显卡的PC来负责。地面投影效果演示如图6所示。使用另外一台PC专门控制展示窗视频的触发与播放,以保证相互之间不会产生干扰,并确保最佳的稳定性。动态视频处理部分主要使用Windows版本的VVVV软件来实现,该软件可以根据所传输的OSC信号进行视频的实时生成与渲染。
3)传感器控制部分。在选择传感器时,考虑到传感器的易用性和稳定性,系统设计初期主要使用红外传感器。为使用红外传感器产生的模拟电信号来控制音频和视频信息,使用可编程的Arduino单片机进行控制,将模拟信号采样转换为数字信号后,通过标准接口传送到计算机中,按照音频和视频处理软件所需控制数据要求转换为指定格式的数据规范。使用Arduino单片机,通过其灵活的可编程功能,避免重复使用更多的个人计算机系统,单片机部署更方便,而且在特定领域中使用更稳定,效率也更高。
要将以上系统连接起来,还需要使用相应的网络设备及协议。由于在该系统中需要在各系统之间传输的数字音视频信号数据量较大,为保证通信的质量,专门构建了千兆有线以太网,使用千兆交换机、千兆网卡和六类双绞线进行连接。该系统所部属的范围不太大,因而通信质量得以保证,使用UDP协议进行网络数据的高速传输。在软件之间传输信号时则主要使用OSC标准,该标准可以通过网络有效传递,并且对于音频和视频都有详细的定义,适于实时音视频处理,同时可以对不同的输入输出设备进行直接控制。
此外,为便于对该系统进行远程控制和调试,在各系统中都建立了VPN通道,以保证安全的远程连接。为确保此系统不会受到病毒等因素的影响,在各计算机上都部署了杀毒软件及防火墙。
该系统除了作为普通交互式走廊之外,还在后续的应用中被修改为交互式电子音乐表演系统,结合舞蹈表演与电子音乐演奏,成为一套完整的电子音乐创作与演出系统。
5 构建多系统平台协作电子音乐系统的实际意义
电子音乐已经发展到一个新的历史阶段,计算机技术、通信技术与音乐艺术、视觉艺术、舞蹈艺术等艺术形式相互融合、相互影响,产生了丰富的电子音乐艺术形态。艺术表现形式的变化也要求创作的方式做出相应的变化,在电子音乐创作中不再仅仅是一台计算机对声音进行简单的处理就能完成的。现代的电子音乐创作需要计算机技术、网络技术、新媒体设备作为支撑,利用数字技术,将不同艺术形式结合在一起,才能完成具有多元化、多层面、多流派的新兴电子音乐形态。
在构建多系统平台电子音乐系统时,当代电子音乐的跨领域、跨学科的特点要求具备多种不同领域技能的专家团队进行合作。国内外很多优秀电子音乐作品和团队的经验都证明,跨专业、跨学科的多层次专家团队的合作,能够在创作过程中良好地解决艺术和技术相复合的问题,创作出高质量的电子音乐作品来。
6 后记
本文从近几年与国外团体交流以及四川音乐学院实际创作的经验分析入手,论述多系统平台协作电子音乐系统构建的条件及意义,希望为该领域中其他同行带来一些有益的启示,也希望能够有更多的交流与学习。
[1]胡晓.电子音乐理论基础[M].重庆:西南师范大学出版社,2014.
[2]庄曜.数字时代新技术媒体对音乐创作的影响[J].南京艺术学院学报:音乐与表演版,2008(2).
[3]李潇.新时期电子音乐的蜕变与发展[J].乐府新声(沈阳音乐学院学报),2011(2).
[4]李颖.国内外电子音乐的发展状况:吴粤北教授座谈会纪要[J].天津音乐学院学报,2014(1).