OpenMusic的应用技术研究*

2019-06-04 12:04:32敬晓亲
黄河之声 2019年7期
关键词:音列泛音子程序

敬晓亲

(四川音乐学院,四川 成都 610021)

19世纪末调性的逐渐瓦解,开启了20世纪初大批作曲家的“求索之路”。大量新“关键词”也相继出现:如表现主义、十二音序列主义、新古典主义、民族主义、复杂主义、偶然音乐、具体音乐、频谱音乐……多元化的背后,是作曲家们对每个音乐元素的极致追求。20世纪下半叶计算机技术的飞速发展,大批作曲家们开始意识到计算机程序在音乐写作、分析上的巨大辅助能力。21世纪的今天,鲜有不使用计算机辅助软件创作的作曲家。

OpenMusic(下文简写为OM)是一款非常优秀的计算机音乐辅助软件。虽然它的出现与频谱音乐有着深远的渊源(没有频谱乐派就没有OpenMusic①),但限于篇幅,本文不会过多对频谱音乐展开讨论,将重点介绍OM在音乐创作时可能实现的辅助功能。

一、背景介绍

20世纪70年代开始,以杰勒德·格里赛为首的五位法国作曲家共同发表了《L`tineraire》(意为“旅程”),并成立“旅程”室内乐团,声明要通过传统方式创造新的音响。1979年于格斯·迪富特第一次以书面形式描述他们的音乐为“频谱音乐”(Spectral Music)。从其名字“频谱”可以感受到,频谱乐派非常关注声音的微观结构如:频率、振幅、包络、泛音等。正如自然科学一样,想要仔细观察事物的微观结构,都需要精良的“工具”。

为了纪念于1998年去世的频谱学派重要代表人物格里赛,法国蓬皮杜国家声学与音乐协作研究中心IRCAM②根据频谱作曲技法而研发了OM这一款软件。它是一款音乐创作与分析的交互式图形环境,主要以CLOS(Common Lisp Object System)语言开发编写,靠节点进行连接编程。虽然他的出现与频谱音乐有着直接的联系,但因其强大声音素材处理能力,使其成为很多频频音乐流派以外的作曲家们创作时的必备辅助程序。

虽然很多计算机软件都能实现OM的部分功能,但像OM这样能直观的以图像形式显示声音的乐谱、频谱、波形等的软件并不多见。而它的最大优势是脱胎于频谱音乐——用声音的微观结构去“结构”音乐的宏观结构。如:它可以很容易的提取一个乐音的某一段泛音列,且这段泛音列可以精确到1/16音;它可以分析一段音乐的波形图并将其转换为音高;他也可以提取一个乐器的发声包络曲线并将其转换成音高;只需要一个物件,它就能算出一个9音集合的AIS③;他甚至还支持利用外部设备,通过OSC④无线方式进行互动音乐创作……

作为一款开源免费软件,OM支持使用者自由开发、添加扩展库,目前PC和MAC版本都已经更新到6.14。

二、OM的应用技术

(一)基本操作

O M的工作界面非常简洁,下图左区域是O M的工作窗(WorkSpace),所有的程序设计都在这个区域完成。工作窗下方是其反馈监视窗(OM Listener),所有反馈信息都会出现的这个区域,如计算结果,错误输入等。其它功能窗口,如扩展库(Library)、MIDI软件调音台(MIDI Mixer)等在OM顶部菜单栏Windows里。在工作窗内右击,可以建立新的程序(patch)、模块(maquette)、Lisp语言功能(Lispfunction)等。

OM是一款节点式编程软件,各物件⑤之间靠连接各输入输出节点来形成逻辑。恰似模拟时代声音硬件设备间的电线连接一样,既直观又易于理解。在工作窗内右击建立一个patch,双击patch打开程序内部,进行各个物件的建立、编辑与连接。

OM里可以实现几乎所有的数学计算与判断,如:加减乘除、正/余弦、指数/对数、数组反转、大小判断、if条件判断等。图一顶部为加减乘除四个物件。图片中部为OM的乘法运算:在程序内部的空白处双击,弹出物件建立的小窗口,在窗口中输入“OM*”即可创建一个乘法物件。乘法物件因其数学要求,会有两个输入节点和一个输出节点,也就是的模式。Shift+左击乘法物件的左输入端和右输入端,会出现两个数字输入框,在数字输入框里输入需要乘法计算的两个数值。选中乘法物件,按运行键字母“V”,就会在监视窗里显示出计算结果。如图一中69*100,会在监视窗中显示出6900的结果。在程序空白处双击,新建框中输入“mc->f”,得到一个可以将MIDI音符数字转换为频率的物件。将乘法物件的输出节点和“mc->f”的输入节点相连接,便可以将乘法计算的结果(将此结果作为MIDI协议⑥的音高值)转换为频率值。图一中乘法结果6900转换为频率后为440Hz,这就表示6900这个数值在OM中代表MIDI标准音高的国际标准音A。

1991年推出的general MIDI标准中,把中央C(C4⑦)的音高协定为60,每增加一个半音数值便增加1,国际标准音A则为69。OM作为一款频谱音乐辅助软件,其优势在于他能更精确的洞察音乐的微观结构,所以OM里的MIDI音高被规定为是正常MIDI标准的100倍,即以6000代表中央C。这样做的好处是可以把一个正常MIDI协议的一个半音细分为100份,正好和音分cent概念相对应,在表现微分音时有相当大的优势,如:6000代表C4,6050表示为升1/2音的C4,6100为升C4。

(二)泛音列的生成

自泛音列被发现以来,它在音乐中的意义就非比寻常,尤其在频谱音乐中。OM不但可以很容易生成泛音列,它还支持播放、显示精确到1/16音,而在其他音乐辅助软件中,这并不是件容易的事:

图二中展示了两种不同的方法生成乐音的泛音列,精确到1/4音。左边为方法一,右边为方法二。把各参数连接到方法一“harm-series”物件的各个输入节点,即可得到泛音列。方法二的“mypatch”为子程序⑧,子程序里内容见图右上角。它的运算结果同方法一。子程序上方有4个输入节点分别表示:0乐音的基音、1泛音列(谐波)⑨的起始序号、2泛音列的结束音序号、3泛音列谐波序号的间隔数。如果想要得到以C2为基音,从谐波序号1开始,序号12结束的基数次谐波,则将子程序上面的输入节点开始序号“begin”设置为1,结束序号“stop”设置为12,谐波间隔“step”设置为2即可。

综上则图二逻辑为:note物件输出一个C2作为基音,基音连接到harm-series物件(或方法二的子程序)的第一输入节点。给harmseries物件(或子程序)的其他输入节点输入限定参数——显示第1-12号谐波,谐波序号间隔为1。最后将harm-series物件(或子程序)的输出节点连接到“chord”和弦物件的音高输入节点(第二节点),选择“chord”物件按运行键“V”即可按照设定生成泛音列。

当然,上述方法是得到的是乐音的自然泛音。在OM里想要得到人工泛音同样容易:只需在图二子程序中加入指数“om^”物件,当其次方值为1时,为自然泛音,不等于1时为收缩和拉伸后的人工泛音,如图三。

(三)音列的生成

如果想要随机的得到一个4音列,且这个4音列还具有某种内在关联,再得到4音列的移位、倒影、逆行、逆行倒影,在OM里同样很容易实现:

仅两个步骤,我们就从泛音列里提取出了一个4音列(有内部关联的4音列)。下面是OM里音列的4种形态:

图五“倒影”逻辑为:1、提取4音列第一个音,然后用x->dx算出后面每两个音的间距;2、用乘法物件使音列相邻音程间距变为负数,再用dx->带入原4音列,则形成了以第一个音为首的向之前相反方向(负数方向)的间距——倒影。

(四)算法作曲⑩

在OM里还可以按指定算法程序生成旋律,即算法作曲,如图六。

图六逻辑:绘制ADSR线型图表并提取其数据,生成音高⑪,与d随机得到的节奏型组合,形成旋律1;用f物件加载音频,并用g提取音频采样点数据。i导入图表,j生成音高,与d节奏组合形成旋律2。

在此,我们用两种方法生成了两条简单的算法完成的旋律,而在OM里我们完全可以做到更加精妙的算法设计,如旋律片段的音高来源于上节中的4音列,而4音列音高则来自于前文叙述中生成的泛音列的前16阶谐波里的基数次谐波的随机。节奏方面不但可以随机,还可以按时值⑫从小到大或从大到小与音符相组合,我们可以用OM完全生成梅西安的整体序列作品《时值与力度模式》⑬。如果我们再对音符力度、演奏法进行设计,一首完全由算法生成的音乐,就有了更多的“内涵”。

(五)其他运用

音集集合方面OM也有优异的表现。图七中左右上方两个圆圈是两个三音集合(左右为对称结构)。通过OM中Functions/MathTools中的Circle系列物件可以方便的对集合进行各类操作,如圆形可视化、AIS计算、补集计算等。

OM中甚至可以利用OSC协议进行交互式音乐创作:

OSC-receive物件会以广播的形式接受来自同一局域网发来的信息(可以同时接收到多台设备)。很多软件都支持OSC,如Max/Msp、Touch OSC(手机app)等。图九为笔者设计的简易TouchOSC界面,它可以给图八的OM程序发送数字、xy轴信息和手机陀螺仪信息。

如此强大、开源的软件,笔者就算写上一本书也可能只是“初窥其表”。作为一款计算机辅助软件,OM易于操作、逻辑清晰。不光有所有物件使用规则和参数设置的官方参考文档,还有循序渐进的Tutorials patch。甚至还包括在线论坛和各种官方的强大扩展包。它在作曲家分析和创作音乐时,可以为作曲家带去宝贵的声音素材,完成复杂的逻辑运算。

最为难得的是,OM辅助作曲家完成素材相关处理工作时,它始终是“工具姿态”,并不会束缚作曲家的思想,而创作本也该始于素材整理完毕之时。

现在看来,频谱音乐的魅力确实无可厚非——试想一部管弦乐作品的音高线条,是一个独特乐器反转后的波形图、一个带合唱的大型交响乐团,用2分钟的时间去模拟一个单簧管2秒内的声音频谱变化……这些有趣的声音背后,都需要辅助工具的支持。至少它会帮助我们节省大量的时间,他可能还会给我们在分析作品时,提供一些独特的视角。

注释:

① 吴粤北.基于算法的频谱作曲技法[J].黄钟(武汉音乐学院学报),2011,04:3-10.

② IRCAM:Institut de Recherche et Coordination Acoustique/Musique。是法国著名的声音、声学、计算机音乐、计算机软件等研究中心。

③ AIS:集合的相邻音程序列。

④ OSC:Open Sound Cotrol,具体参见网页:https://en.wikipedia.org/wiki/Open_Sound_Control

⑤ 物件:即Object,实现一个功能的最小结构,如:加法物件“OM+”。

⑥ MIDI协议:见https://zh.wikipedia.org/wiki/MIDI

⑦ MIDI标准为:scienti fi c,MusicXML,and others.

⑧ 子程序:程序中的次级程序,也叫subpatch.

⑨ 泛音列即各阶次谐波的集合——基音的整数倍。

⑩ 算法作曲:基于算法法则、规则系统等为技术手段的作曲体系。详细概念及方法参见:倪朝晖.算法作曲理论与实践[M]重庆.西南师范大学出版社.2015

⑪ ADSR:乐器发声时的几个瞬间阶段:建立、衰减、保持、释放。把乐器瞬间的发音状态提取转换为旋律音高,这种做法正是频谱乐谱的常用做法——微观素材的宏观化。

⑫ 如:32分音符为最小单位,设为1,依次为2、3、4……

⑬ 梅西安创作于1949年,是欧洲第一首整体序列作品。

猜你喜欢
音列泛音子程序
美妙的泛音
小提琴泛音演奏的原理与实践
论中国传统唱腔的腔音列原生性差异
音乐研究(2022年4期)2022-11-15 07:57:34
核心三音列及其发展与织体形态
——史蒂芬·哈特克《列队》的音高组织方法之一
北方音乐(2020年24期)2021-01-27 03:37:32
先秦左、右分组编悬的延续——从曾侯乙墓磬匣刻文再析洛庄汉墓第五、六套编磬的编次和音列
中国音乐学(2020年4期)2020-12-25 02:57:28
音程循环向音列循环的扩展及其理论构建
音乐研究(2019年5期)2019-11-22 06:48:42
谈二胡泛音演奏技巧
戏剧之家(2016年17期)2016-10-17 10:06:45
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序