APP下载

实时编程在新媒体电子音乐创作与表演中的应用初探

2020-04-29韩金昊杨万钧四川音乐学院

黄河之声 2020年1期
关键词:推子电子音乐编程

韩金昊/ 杨万钧 (四川音乐学院)

引 言

在电子音乐诞生初期,电子音乐的研究方向集中于运用硬件创造新声音和探索新的表演可能性上,直到20世纪40年代计算机的发明为信号数字化研究提供了全新的途径与方向,电子音乐才逐渐扩展到现在的新媒体与多平台上。在探索更高效的声音合成方面,使用代码合成声音并不是近些年才出现的,早在1950年工程师和音乐家就在RCA MARK II上①用编译计算机执行代码的方式实现了电子化声音的合成与电子音乐的创作,这是人类首次使用计算机作为主要开发工具来设计声音与创作作品。从这个时期开始,多种声音合成语言被开发出来用于声音合成与音乐作品创作,如Music N②系列语言,目前此系列语言中还有Csound③等音乐编程语言在广泛使用。经过半个世纪的发展,现在的声音合成语言体系趋于完善与多样化。

长期以来,国际电子音乐研究机构对于使用声音编程方式设计声音及作品创作都非常重视,许多国际性电子音乐学术活动都将实时编程音乐作为一个单独的分类进行探讨与研究,如ICMC(International Computer Music Conference国际计算机音乐年会)、MAIN(MAteraINtermedia festival)等。此外还有专业研究机构针对特定技术举办学术活动,ICSC(国际Csound年会)就是专门为使用Csound语言进行声音设计的音乐家们提供交流平台。

目前国内各大音乐学院以研究作曲技术为主,通用性计算机基础较弱,艺术家习惯使用的简化图形编程语言不易与其他专业相匹配,进而在技术上与其他专业人员交流有所不便。因此,加强从编码层面设计的能力有利于为设计增添技术支持,进而加强电子音乐与计算机的联系,在设计与合成方面将会有更多的可能性和研究空间。

一、研究背景与目标

在电子音乐发展初期,作品表演的方式是作曲家先在设备或合成器上创作出完整的音乐作品,然后再将录音拿到音乐会现场播放。这种音乐会现场只有一对音箱或几件设备,鲜有表演者的表演。甚至在某些情境下要尽可能封闭观众的视觉感官,作曲家要关闭音乐厅内所有的灯光充分调动观众的听觉,使得电子音乐会场很沉闷。这样虽然强调了作品的听觉性,但缺少了视觉刺激,观感相对单一。为改善这一表演缺陷,部分电子音乐家开始尝试在现场实时创作并表演电子音乐,或与舞台表演结合在一起,就出现了混合媒体音乐、交互式音乐、声音装置。新艺术形式既能够调动观众的听觉又能丰富观众的视觉,让观众与表演者或作曲家之间有着良好的沟通与互动,更容易取得好的艺术体验并活跃现场气氛。

随着计算机运算速度的提高以及声音合成语言技术的发展成熟,在近20年来的电子音乐发展中,实时编程创作电子音乐已形成相对独立的电子音乐创作表演类别。

笔者在本科二年级期间接触到能够通过实时编程合成声音的技术,在进一步学习和研究的过程中,发现该技术不仅可以快速的合成声音信号,还可以实时的对信号进行修改,不仅可以输出声音信号还可以输出或接收MIDI事件或OSC信息,在新媒体电子音乐中具有良好的表演性和兼容性。以此笔者同指导老师创作多个概念作品,截至此篇文章发表我们已完成首个作品《New Dawn》的公演,以及对不同系统下信号传送的测试。在指导教师的鼓励下笔者将该技术研究申报创新训练项目《MIDI音序技术与灯光交互训练》,获得国家级的大学生创新创业项目的资金支持,并于2019年5月28日在四川音乐学院公演了诸多概念作品,获得了现场观众的一致好评。本文将结合该作品讨论在研究过程中所取得的成果和遇到的问题。

二、实时编程在新媒体电子音乐中的应用

(一)实时编程技术在MIDI、DMX交互设计中的优势

实时声音合成(Live_Coding Programming)是使用专为音乐家开发的声音编程技术,在现场实时编译代码合成声音与创作作品,综合比较几种语言后项目组选定了Sonic Pi作为研究对象。Sonic Pi是基于SuperCollider和Ruby开发、为“树莓派”④单板机所开发的音乐编程语言,它学习起来简单且专为实时编程所设计。Sonic Pi不仅支持MIDI事件和OSC信息的接收与发送,它在编译MIDI或OSC信息时还可以添加算法支持,在实时编程时有更多的操作选择。

MIDI(Musical Instrument Digital Interface即音乐设备数字接口),是一种使相关设备间相互兼容并实现信息交流的技术标准⑤。MIDI事件的信息结构简单,一个MIDI事件由一组8位的二进制字符组成,这些事件信息以串行方式传输,因此它们可以控制同一系统内的多个设备。MIDI事件里常用的三种可编译事件是“channel”“pitch”“velocity”,在DAW⑥里对其调控采用图形化控制方式,作曲家只需调出控制界面,在参数区画出图形化数值,就可以生成一个MIDI音符事件;在编码中则需要规定一个MIDI音序器的操作码⑦,对其声明MIDI音高、力度就可以生成一个的MIDI信号,后面再加上一句对于输出端口与通道的限定就可以发送到指定的软硬件中。从本质上看编码就是将音序器中鼠标操作的动作指令直接变成参数输入到编译器⑧中,节省了鼠标参数与动作转化映射。

如在Sonic Pi中写入:midi_note_on 60, 127, port: “xxx”, channel: xxx,就可以产生一个MIDI音符事件。如要修饰控制器可加入相关控制参数:midi_cc 10, 60, port: “xxx”, channel: xxx。

DMX是Digital Multiplex的简称,意思是数字多路复用器,DMX512是一种灯光设备数字通信网络的标准⑨,用于规范数字化灯光控制信息,增强设备之间的兼容性。

DMX标准下的灯光设备使用统一的16进制数据,值域范围0-255(十进制整数),数据串行传输。更新后的DMX512标准下设备最多可以支持512个数据通道,每个通道单独设置,支持与MIDI、C control等通用控制器建立映射。DMX512协议下的灯光设备一般都是一个设置一个通道,不存在复合通道设置,所以一个控制参数的控制值域将被强制缩放至0-255,不能分段映射或添加算法。DMX512的传输方式类似于网络,通过给设备分配DMX地址(DMXIP)来确定数据包流向,这样可以确保在正常通信情况下数据不会拥塞。

DMX512灯光设备的设置只有参数一种控制方式,无论是灯光模式调控还是颜色轮⑩轴转速,都是通过数值大小来控制。以常用的摇头灯(DcPR II)和PAR灯(Parabolic Aluminum Reflector light)为例,它的颜色控制只有一个设置通道——DMXIP+3。0-255这256个数值被划分了3个数组,分别代表了当前颜色转盘的旋转位置、颜色盘顺时针旋转速度和逆时针旋转速度,以127/188/254三个数据点作为区分不同模式的间隔。这样的控制方式虽然减少了数据通道的占用数量,在大型活动中可以承载更多的灯具。但是这也加大了控制难度,导致在切换灯光模式时难免会触发其他不必要的模式,特别是MIDI控制器会受到很大的影响。此外,笔者在DMX映射模式测试中发现,将MIDI控制器接入DMX控制软件后,推动MIDI推子时DMX信息数值是呈线性变化的。由于MIDI值域与DMX值域呈1:2的关系,使得映射后的数值比例也为1:2,即映射后的DMX控制精度下降一倍。另外在实际操控中,人工匀速渐变中数值的精确度不达标,且人的主观感受并不是线性变化的。因此在切换信号时用模拟类推子难以达到理想效果。

对于这种问题笔者在测试使用编码编辑MIDI信号后发现可以利用编码的方式弥补人工操控的短板。使用编码编辑MIDI信号的优势在于可以使用复数线程同时操控,只需算法加持控制,就可以用单一变量在线程内自行变化直到下一指令。如:

可以产生通道n数值k的控制器信号,接下来k会在线程内变化,以此实现数值的对数变化或跃迁,从而精准实现模式的切换或连续颜色位置的变动。

在综合对比了多种控制器后,DMX512控制器的成本相对较低且与MIDI信号的兼容度最高,DMX信号与MIDI信号传输线缆相互兼容,且DMX512控制器自带能与MIDI映射的算法,这使得MIDI与DMX的即时数据映射比其它控制器容易得多,因此最终选定使用DMX512控制器。

(二)实时编程在新媒体电子音乐表演中的应用

依据以上通信协议与实时编程所创作的新媒体电子音乐作品《New Dawn》的意义在于,作品使用实时编程作为主要手段,综合MIDI协议与DMX512协议在软硬件设备之间通信,通过灯光与影像构成视觉部分,使用“Sonic Pi”实时编程语言设计与创作,软件“Freestyler”做DMX灯光控制,软件“ResolumeArena”做影像实时生成。作品《New Dawn》共使用吉他、贝斯、合成器、鼓、钢琴5种音色,其中吉他与钢琴由表演者现场演奏,贝斯、鼓和合成器使用Sonic Pi内置合成器与NativeInstrumentKontakt采样音源进行声音合成。

此作品的创作建立在局域网MIDI与DMX通信上,音频信号通过多台电脑共同合成,最终通过调音台输出。这个系统特点在于MIDI信号通过无线局域网进行传递,DMX信号通过物理菊花链⑪(Daisy chain)网络相互传送。本作品中使用RTPMIDI在无线网络中共享MIDI事件,通过RTPMIDI每一端的IP地址区分数据包的流向,将MIDI的控制事件发送至不同电脑上,同时控制多个软件。DMX则同理,通过设置每台射灯的DMXIP以确定信息流向,以支持多个模拟推子混合控制。在Sonic Pi实时编写MIDI代码所生成的MIDI事件通过RTP MIDI传递到Kontakt上,Kontakt接受MIDI事件后生成的数字信号通过DAC转换成模拟信号与乐器信号一起经过调音台混合与处理,最后通过扬声器放出。系统连接如下图所示:

在作品表演中除原始材料是预先准备好的,其余媒体均为现场实时合成。在控制媒体的合成与混合量时,本作品中运用MIDI控制器(MIDI controller)和编码生成MIDICC⑫控制事件,该MIDI事件是连续的控制事件,常用于控制数字推子⑬。我们选用的MIDI控制器上有多个模拟推子⑭,当控制器接入电脑后该推子将会持续发送当前位置的信息,电脑则会把该MIDICC事件映射为数字推子,通过该方法可以使用控制器手动调节各类媒体的合成与混合。例如可以通过设置MIDI CC10(标准映射:Pan)映射为色相轮的参数,通过推动MIDI CC10来改变当前影像的颜色。

影像软件的映射页面

同理该映射方法也应用于DMX,通过将MIDI CC10映射为PAR灯的颜色通道,在改变影像色相轮的同时也改变灯光的颜色,使环境氛围与影像保持一致,又或在控制软件中对控制参数做反相,达到颜色间强烈的对比。这里将遇到在上文中提到的跨色域转换颜色问题,当要将红色域转换到黄色域时,使用模拟推子推动的过程中必将经过绿色域,这会造成舞台上颜色与音乐不协和。从理论上看,在线性变化中都会出现这种情况,因此这里就必须要用到编码方式弥补模拟推子的线性问题。这里我们用到下面这组算法:

在这段代码中的算法通过定义一个数字集合,并规定循环触发条件,就可以确定在某一时间跳过某一色域,从下一色域反向进行。通过降低集合的循环时间、提高集合数组的精确度可以增加DMX映射后的分辨率。比如保持片段的时间长度不变,但是将事件数量提高一倍,单个事件的触发事件降低一倍,结果将是在原时间长度下数值变化的分辨率提高一倍。

在整个作品的表演过程中各个部分运作虽然相互独立,但是控制信号的来源只有一台电脑、一个控制器,这使得在第二段落后控制难度慢慢增加,需要控制的参数也越来越多。一个操作员最多可以同时操控两个推子和一个旋钮,或者一台电脑上的四个虚拟控制器,这时DMX协议最大的弊端就暴露了出来——人工无法同时操控诸多的控制器,因此在作品中后期大量使用算法作为生成MIDICC事件的核心方式。下面这段代码就是诸多线程中的一个,它将简化众多繁琐的匀速推程,让程序根据算法自行生成连续的MIDI信息。

这一段代码就使用算法的方法实现了摇头灯的颜色切换,同理还有数个code block完成其他控制,这些code block分布在同时进行的多个线程里,相互独立但可控。在表演时可以实时修改i、k和n的数值,实现色域、运行分辨率、运行时间的实时调控。如果修改MIDI CC的编号为70还可以将该代码映射到射灯的垂直角度,此过程只需更改一个编号而不需修改设置端的DMXIP,在即兴表演中可以让表演者更加得心应手。

《New Dawn》是依据多种通信和实时编程技术创作出的第一个作品,经过实地表演后它已不再是纸面上的设想,而是一个切实可行的方案,因此命名为“New Dawn”希望它能成为电子音乐表演的一种新兴的表演方式,打破以往沉闷的音乐会现场。影像与灯光的设计来源于日出,使用的橙色与红色的线条和PAR灯也寓意着曙光的出现。在作品中后段出现的吉他与钢琴与彩色PAR灯交相呼应寓意着各种思想与创意相互碰撞,希望这种交互技术可以给众多音乐家们带来新的思路。

音乐会现场

(三)目前还存在的问题

尽管通过编码器可以实时生成和修改信号,但编程仍然是一门难度较大的技术。与图形化的编程软件不一样的是文字编程通过限定严格的语法保证了信息的传递效率,但它也限制了信息的传递方式,提高了传递信息的难度。让很多作曲家感到困惑的是在一个没有图形与指示的界面里单靠文本说明去声明信号的传递方向,若稍有不慎就会在逻辑上出错。

其次现行的MIDI信号是上世纪80年代的产物,它虽然字符量小、传输方便、编译难度小。但是现在都是高精度设备,所需的数据精度高、数据流量大。MIDI这种低精度、字符量小的信号已经与很多设备不兼容了。对于MIDI的期待只能放在正在筹备的MIDI2.0上,期望能通过5G这条快车道给MIDI2.0带来全新的活力。

除人工控制问题外,映射MIDI与DMX512时由于DMX控制器自身设置的原因,在一个控制器中只能接收64条MIDI通道。虽然可以将一条MIDI通道映射到不同的DMX地址上,但是对于有着多功能且信息量大的灯光设备来说64条通道完全不够用。因此项目组计划在下一个项目中使用局域网来传输MIDI与DMX信号,采用复路传输的方式进一步的探索在网络中交互信号的应用。

结 语

本文主要从新媒体角度讨论了电子音乐创作与表演方向上的创新与可能性。当代音乐已不仅仅是单一的听觉艺术,它逐渐走向多元化,多感官协同音乐将在未来极大的发展。概念型作品《New Dawn》意在探索MIDI与DMX512在新媒体舞台上的可能性,使MIDI不再作为一个音乐工具,而是作为一个通信工具再次活跃于舞台。下一步将把实验型音乐借助新媒体技术将它推广于大众,就如同从另一个角度考虑MIDI的用法上,实验性音乐在美术与雕塑方面有着很强的共鸣能力,它在跨界艺术及VR、AR方面将有着良好前景。针对本文所提的技术还有很多问题值得研究与探索,希望藉由此文给众多作曲家、表演者新的思考与方向。

注释:

① RCA MARK II:1957年美国无线电联盟将可编程音乐合成器RCA MARK I改进为II代,允许其使用非官方外部程序,并将音域扩展了两个八度。

② MUSIC N系列语言:由Max Mathews于1957年编写而成,MUSIC I是第一个通过直接合成生成数字音频波形的计算机程序。

③ Csound最初由Barry Vercoe基于Max Mathews的MUSIC XI模型。

④ 树莓派:是基于Linux的单片机电脑,由英国树莓派基金会开发。

⑤ MIDI事件由8位字(通常称为字节)组成,这些字以31.25 kbit/s的速率串行传输。

⑥ DAW:Digital Audio Workstation数字音频工作站。

⑦ 操作码:即编译语言中的关键字,如:Function,Core,For。

⑧ 此处树莓派的编译器为SuperCollider Server。

⑨ “娱乐技术-USITT DMX512-A-用于控制照明设备和配件的异步串行数字数据传输标准”。

⑩ 在传统摇头灯里切换颜色是通过一张有着很多颜色滤镜的颜色转轮来切换预制好的颜色,不存在调色的概念。

⑪ 菊花链:任意非相邻设备必须通过相邻的中间设备链接,使信号不会形成网状的拓扑结构,且不会形成环路。

⑫ MIDICC:MIDI控制事件,用于控制MIDI外设的连续控制事件。

⑬ 数字推子:即软件中生成的UI推子,用于鼠标操控的虚拟控制器。

⑭ 模拟推子:即各类控制器中的触控推子,用于手动控制的实体控制器。

猜你喜欢

推子电子音乐编程
现场电子音乐与单件乐器结合时的功能及其实现方式
如何提高电子音乐的艺术鉴赏价值
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
马未都忆旧——手推子
第 18 届北京国际电子音乐节
Allen&Heath 96kHz SQ系列调音台
理发推子