复读-我是如何教电脑自己写音乐的

关闭

你已经阅读了每月两篇免费文章中的一篇。学习更多的知识。

关闭

我是如何教电脑自己写音乐的

我想建立一个理想的合作者。我曾感到惊讶。

2013年4月,一个温暖的日子,我坐在巴黎一个朋友的厨房里,试图制造意外惊喜。我想拿我的…约翰·苏普克著

O在2013年4月的一个温暖的日子里,我坐在巴黎一位朋友的厨房里,试图设计出一种偶然的感觉。我试着让我的电脑自己写音乐。我希望能够打开它,让它吐出的不仅仅是任何愚蠢的小算法曲调,还有美丽、动人、神秘的音乐;我为自己写的东西感到骄傲。厨房的窗户是开着的,当我听着孩子们在下面院子里玩耍的声音时,我想到他们的声音的旋律是如何与附近鸟儿的歌声和阿尔西亚街上断断续续的交通嗡嗡声形成偶然的对比的。

为了回应这些白日梦,我对我的软件做了一些调整——这是一件混乱的、凭直觉的事情,暴露了我对编程的直觉和自学的方法比尔水手刚刚上传了一批新的音频文件到我们的共享Dropbox文件夹。在过去的几年里,我一直与媒体艺术家比尔在计算创造力的各个方面进行合作。我把比尔的声音文件文件夹和我自己的一些文件一起加载到软件中,并将其设置为滚动。这就是我想到的:

我既激动又惊讶。这正是我所希望的:电脑创造了诱人的音乐——我想听的音乐!——完全出乎意料地操纵了我给它的声音信息。这首歌既具有未来主义色彩,又带有怀旧色彩,略显忧郁,而且非常微妙:甚至它所使用的数字噪音样本——基本上是声音碎片——似乎也很敏感地融合在了一起。它给了我一种独特的、略显迷茫的感觉,那就是电脑正在向我展示一种我练习了20多年的艺术形式的重要而深刻的东西。这种脆弱而美丽的音乐对我来说是全新的,我想知道我还能从电脑中学到什么关于音乐可能性的东西。

当我回到美国后,我在杜克大学校园里的一个烟草仓库的工作室里见到了比尔,我们都是那里的教员。我向他展示了制作令我兴奋的音乐的软件过程。我们立即开始头脑风暴工作流程,设想计算机是一个全面的合作者。我们想发明一种以硅为基础的生命形式来帮助创造音乐,而这种音乐仅仅是以碳为基础的生命形式自己无法想象的。我们的基本原理是,计算机可以快速导航大量的声波信息,并返回我们从未想到过的结果。如果我们能够提高计算机产生引人注目和不寻常结果的可能性,我们就能从本质上创造出理想的艺术合作者:具有奇迹般的创造力、不知疲倦和无私。

Sapolsky_TH-F1

独创:维杰·艾耶

关于天才的科学辩论通常归结为这样一个问题,“天才是来自幸运基因还是来自10000小时的坚韧不拔的研究?”从一批相对较新的书籍如《离群者》、《我们所有人的天才》来判断,。。。阅读更多

比尔和我还有另一个,你可以说是崇高的目标。我们想要突出人类和计算机的创造过程。我们想要展示它的相似之处和不同之处,以及这两个过程如何结合在一起扩展艺术表达的范围。

正如比尔和我所看到的,人类的创造力可以被定义为在看似不相关的信息之间建立由不可预测的主观力量控制的联系。音乐特别适合作为创作过程的典范。人类作曲家触手可及的信息包括旋律、和声和节奏。但作曲家通常不会按顺序写出乐曲的旋律、和声和节奏。这些元素往往相互牵连,并从作曲家的想象中浮现出来。比尔和我想模仿计算机中相互关联元素的有机出现。

贝多芬:展期这是作者的软件系统的截图,它产生了奇怪的美丽,由内而外,上下颠倒的音乐。 Kyle Yamakawa拍摄

事实上,我们想证明计算机可以有深刻的创造力,可以做人类做不到的事情。在人类历史的大部分时间里,我们的创造性直觉与记忆密不可分:我们称之为灵感的东西往往是我们过去在他人作品中遇到的想法的混合体。计算过程通过产生不依赖于Ray Kurzweil称之为人脑3亿“模式处理器”的结果,使记忆与创造性冲动分离成为可能。根据Kurzweil的说法,所有人类知识都可以简化为通过学习和经验存储的信息模式,在新皮质。

想象一下,要求一位人类作曲家只用钢琴的白色音符来谱写旋律;然后给计算机同样的指令。计算机不会一辈子都被自愿和非自愿的音乐消费所制约,也不会拥有作曲家多年钢琴课所产生的那种肌肉记忆。此外,计算机不受品味和风格问题的困扰,也不会做出可能绕过创新的错误假设。当然,创意的混音模式本身并没有什么错。观察一位艺术家对另一位艺术家的影响肯定了艺术表现的公共性,即艺术家不是在真空中工作的事实。但也没有理由认为人类的创造力应该受到人类生理学的限制。

经过三年的讨论和实验,比尔和我制作了一张电子音乐专辑,名为s_特征.它是去年11月出版的,我们很激动纽约时报并将其评为“2014年度最佳音乐唱片”之一,称其“情感丰富,美得出奇”。我们当然很高兴得到了荣誉,但它不完全属于我们。虽然我们创造了制作专辑的计算机系统,但我们始终对它似乎拥有的音乐智能感到震惊。


W一开始,我们收集了一个超过110小时的音频的巨大数据库,这些信息最终被我们的软件系统用来组成它自己的作品。数据库源包括被丢弃的碎片;现场录音;我们各自早期作品的录音;声学乐器样本,包括比尔和我在杜克大学的一架漂亮的施坦威钢琴上录制的录音;电子无人机;鲜为人知的老纪录片的配乐;以及在声音编辑器中将pdf文件作为原始数据打开时产生的数字噪声。其中一个被丢弃的片段是我的打击乐二人组的早期电子版本海峡(2010),这部作品的灵感来自肯尼斯·科赫(Kenneth Koch)的同名诗歌,如今它仅以原声作品的形式存在。我把电子音轨放在了dropbox里海峡交给比尔,他把它切成小片的声音。

首先,我们把我们想要的任何东西放入数据库。然而,过了一段时间,我们发现我们正在形成一套不言而喻的标准,来衡量什么留了下来,什么去了。我们会定期检查数据库内容,删除任何让我们觉得不合适的内容。以下是经过剔除后幸存下来的声音文件的几个示例:

这些声音文件之所以被选中,是因为它们有一种神秘的吸引力。它们包含旋律或节奏信息的核心,空间足够大,可以与其他样本集成。我还应该提到,这些示例本身可能是由数据库中的其他声音文件生成的。通过从现有样本生成新的样本,我们向数据库添加了一定程度的自引用。

我们知道,我们输入数据库的任何信息都会对由此产生的音乐产生真实但不可预测的影响。系统可能会在任何时候选择每个样本,但不可能知道何时会发生。通过将样本组织成大小大致相同的无人机、旋律、和弦、节奏、噪音等类别,我们将能够最大限度地提高系统输出的多样性。经过大约三年的音频存储,我们终于对数据库中包含的样本数量和组合感到满意。我们可以开始认真思考,需要什么样的软件过程才能从我们广阔的声音世界中充分挖掘出疯狂的潜力。

那么,我们是如何得到我们现在称为bearings_traits的系统来作曲而不是简单地输出随机声音的呢?对我来说,描述bearings_traits背后的设计思考的最简单的方法就是绕道进入青蛙的世界。

我们想发明一种以硅为基础的生命形式来帮助创造音乐,而这种音乐仅仅是以碳为基础的生命形式自己无法想象的。

有一天,当我和比尔讨论我们项目的某个方面时,他提到了一篇1959年由美国认知科学家杰罗姆·莱特文(Jerome Lettvin)和智利生物学家、控制论家亨贝托·马图拉纳(Humberto Maturana)合著的论文,题为《青蛙的眼睛告诉青蛙的大脑什么》(What the Frog’s Eye tell the Frog’s Brain)。这篇文章中最让我感兴趣的部分描述了视觉的复杂现象是如何由四个简单的操作者共同产生的,即,青蛙的视神经纤维,它检测视野内物体的对比度、凸度、运动和变暗。单独来看,每束纤维传递给青蛙大脑的信息并不是非常令人兴奋。但是在协同射击的过程中,它们产生了一幅青蛙周围环境的合成图像,使它能够跳跃、游泳和捕食。

这让我产生了一个想法,将bearings_traits构建成一个由许多微小软件功能组成的网络,就像我读到的一捆捆两栖类光纤一样。让我着迷的是,像视觉这样神奇的东西可以从连接简单的二元过程中产生,比如光/暗探测。当然,汽车引擎也是这样工作的,如果不那么神秘的话:火花塞着火,活塞运动,然后你就能到达你要去的地方。受这一生物学上的曲折启发,我对轴承特性的思考转向了机械类比。我认为,每个单独的软件过程组成bearings_traits作为小机器,每个执行一个简单的任务,贡献更大,更复杂的目标,创造计算机生成的音乐。

心理机音乐:“我渴望创作出在我死后很长一段时间内仍能不断进化和自我重塑的作品,”作家约翰·苏普科(John Supko,见上图)写道。 John Supko提供

也许这些机器中最基本的一个例子就是那种简单地决定声音文件持续时间的机器。在bearings_traits可以对一个样本做任何引人注目的事情之前,它必须知道它有多长。有些机器只对给定样本的一部分进行操作,随机选择将要播放的部分的开始和结束点。例如,如果一个声音文件只有22秒长,我们就不希望系统尝试播放任何超过22秒的内容,因为没有什么可播放的。一旦bearings_traits知道它正在处理的文件的大小,它就可以将该信息传递给其他机器,这些机器可以做更有趣的事情,比如根据精确计算的持续时间,从选定的文件创建奇怪的有节奏的循环。

在traits的开发阶段,我通常会使用流行的可视化编程语言Max/MSP编写系统的某些方面的代码,并将其展示给Bill。例如,也许我们正在研究一种方法,使系统从一种节奏模式平稳过渡到另一种节奏模式。我们会加载一些声音文件,然后听电脑如何处理它们。然后,我们会试图找出如何改进它,可能是转换功能太快或太慢,或者进一步详细说明。为了让您了解这些头脑风暴会议是什么样的,我将把刚才向您展示的声音文件输入到系统的早期版本中。让我们看看会发生什么。

在这个时候,比尔会想出一百万个新主意,他会飞快地说出来,而我则趴在笔记本电脑上,试图关掉这该死的东西:也许这个系统可以检测出它所写的东西的音高信息,然后调用大量的和声无人机,或者创作出新的对位旋律?也许系统可以记录自己,然后将这些记录传回系统,使生成过程自动化?我会感到困惑、不知所措、眼花缭乱。然后我会回家拼命地把比尔的一些绝妙建议融入到系统中。然后我们再见面,重复整个练习。


W当软件终于开始吐出在我们看来像“初稿”的作品时,意味着我们感觉到音乐的结构完整性以及进一步发展的潜力,我们开始作为计算机的合作者介入,以完成“初稿”。我们的方法是保持计算机惊人的创造力,但以只有人类(至少目前)才能做到的方式改进它。例如,如果我听到一些东西——一段旋律,一段对我有情感吸引力的和弦,我会在混音中引起注意,重复它,必要时进一步发展它。如果有可能发生戏剧性的攻击或高潮,我会尽量把它表现出来。比尔也进行了类似的干预。全部26轨s_特征是这个三角合作过程的结果。这是其中一条,标题是“被抛下的诗意的正义”:

为了促进出现和新的联系,我们在《人物性格》中创造的最通用的小机器之一就是我们称之为“生成性活套”。我们称这台机器为生成性机器,因为它可以实时生成自己的节奏轮廓。每次触发活套时,它都会播放加载到活套中的声音文件的不同片段。这样可以确保活套不会完全重复自身。所选分段的持续时间可以是固定的,也可以是可变的。如果活套被设置为在弹完前一个乐段后立即找到新的乐段,则会无限期地延长杂音节奏。根据声音文件的性质和长度,以及所选片段的平均长度,产生的效果可以是细微的波动,也可以是相当剧烈的震动。

生成活套的几个副本可以捆绑到一个更大的设备,我们称之为引擎。在一个这样的引擎中,多达5个循环的输出同时在5个不同的样本上运行,可以被叠加,立即创建复杂的复音纹理。

与生成型活套引擎的连续、多层纹理不同,另一个由机器组成的引擎,每个机器都在数据库中寻找少量的声音——让我们称之为片段引擎——可以交替播放多达5个不同的片段,以创建不可预知的节奏模式。用于创建模式的声音文件的数量,从每个文件中提取的片段的持续时间,每个片段的播放方向(向后或向前),以及每个片段播放的顺序都取决于系统做出的离散决策。Bearings_traits还可以决定(或被设置)让所有的声音片段都有相同的持续时间,这将创造出或多或少有规律的节奏感,或者随机决定每个片段的长度,创造出更奇怪的、不对称的凹槽。

对于将其各个组成部分产生的音频整合到“最终”混音中有两种基本方法。一种方法相当于计算机控制混合板,决定哪些音量控制器要增强,哪些要衰减。这样,来自一个引擎的离散音频通道就可以被另一个引擎的音频通道所取代。交叉淡入-一种声音同时淡入,另一种声音同时淡出,也可以以不同的速度进行,从缓慢到几乎瞬间。一整套机器专用于管理这些混音板功能。这些机器检测声音何时通过他们控制的频道,并决定淡入或淡出。

计算机不仅可以处理比人类更多的信息,它们也不受品味和风格问题的影响。

另一种方法相当于bearings_traits实时重新混合它所创作的音乐。比尔想让系统能够录制自己的音乐,然后用各种方法修改录音,将修改后的版本添加到它正在制作的音乐中。bearings_traits可以修改它的录音的一种方法是改变播放速度。这不仅会改变录音材料的音高,如果播放速度非常慢,它还可能产生一种静态的嗡嗡声效果,或者如果录音速度显著加快,会产生一种狂躁的声波能量。Bearings_traits还可以在有规律或不规则的时间间隔内播放它自己录制的部分,在音乐纹理中创造独特的感叹词。在任何时刻,每个插入的速度都可以修改。通过将这两个简单的功能(播放时间间隔和播放速度)联系起来,就会产生一个更加动态的结果。音乐不是简单地重复;它的模式具有奇怪的小异常,如碎片和音调变化,这创造了兴趣。

当我们听到这些对声音材料的操作结果时,比尔和我很容易相信我们已经接近了工程偶然性的梦想,或者至少增加了它的频率。为了了解我们的意思,这里是一个新的“草案”的组成产生,特别是鹦鹉螺由当前版本的轴承特性。我一直在演示系统的各个组件的功能。这段简短的录音将让您了解当所有组件机器连接在一起时,您可以做些什么。你也可能会听到为什么我们认为这些“草稿”成熟了人类音乐家的进一步发展。我们的构图过程总是以这种方式开始的,通过打开方向和特征,跟踪不可预测的结果到我们以前无法想象的地方。

你听到的是比尔写的一篇长文的片段s_特征这是对肯尼斯·科赫(Kenneth Koch)的《海峡》(Straits)的回应,这首诗给了我早期的打击乐二人组灵感。在它生成的每一首新曲子的开头,bearings_traits会选择一个文本片段录音,由Bill朗读,作为一个标题,也作为一个提示,为听者的音乐体验增添色彩。

我所描述的大多数生成过程都使用了某种形式的重复。重复的动态处理是bearings_traits设计的一个主要方面。在音乐中,就像在大多数人类表现形式中一样,重复被用来区分什么是重要的,什么是次要的;它是作曲家如何阐述意义,听众如何感知意义。在莫扎特的钢琴奏鸣曲中,音乐的主题构件是可识别的,因为它们通常是乐曲中最显著的重复元素。那不是神秘。这正是你所期待的。什么然而,令人费解的是重复与材料变化的比例,这种思维过程导致作曲家为了引入一个新的细节而从重复的模式中分离出来。事实上,通过重复,这些新的细节本身可能在音乐结构上变得重要。

Bearings_traits在它所产生的音乐中发挥了重复和变化的比例,但是以古怪的、即兴的方式来做的。也许最重要的是,这个系统的细节表明,比尔和我所做的工作,使艺术成果凌驾于任何一种科学或技术标准之上。在试图利用计算创造力的过程中,我们从未抱过有朝一日取代自己成为作曲家的希望。一旦我们开始对系统的输出感到高兴和惊讶,我们就可以不再假装是计算机科学家,而专注于制作奇怪的音乐。

泰纳克斯,多拉齐奥·皮耶罗著,20世纪,1964年。 蒙达多里投资组合/贡献者


B我和我爱的成分,承载的特点是能够捏造。这种由内而外、上下颠倒的音乐,往往会激发我们为自己的设计贡献令人惊讶的细节。系统的创造力使我们能够以不同的方式使用自己的创造力。当我们不喜欢bearings_traits的时候,我们就直接把它扔了,并要求更多,没有任何怨恨。

比尔和我一直计划自己完善系统的组成。目前,bearings_traits根本无法观察它在做什么,并做出价值判断。它不会一边听一边说:“太棒了!我想在这方面做得更多!”我们为自己保留了这个角色,因为我们的最终目标是制作引人注目的、原创的音乐供人类听。此外,让人类的创造力适应电脑的奇怪音乐素材本身就是一种教育。

我们对计算机工作中人为干预的强烈感觉不应该表明我们对继续发展计算机的能力不感兴趣。相反,还有无数令人兴奋的工作要做。就我而言,我渴望创作出能在我离开后很长一段时间内继续发展和自我改造的作品。在某种程度上,比尔和我已经实现了这个目标。我们可以在房间里安装轴承,并无限期地打开它,相信它永远不会重演。但我们可以更进一步,而不仅仅是保证持续不断的发明。给系统一种自我意识显然是下一步。

从理论上讲,每一个有特征的决定都可以被编码、记录和分析。这些决策的例子可能包括:所选择的声音文件(以及它们的哪些部分),声音文件所包含的频率或音调,同时播放的机器数量,以及音乐纹理所产生的和声。从这些信息中,我们可以相对容易地赋予bearings_traits发展类似于它自己口味的东西的能力,给它过去的行为赋值,并允许它增加或减少——一开始是任意的,最终,在历史先例的权重下——这些行为在未来的作品中再次出现。

最终,我和比尔写的《音乐特征》向我们表明,计算确实可以用令人激动的结果补充人类的创造力。在未来,人类将继续是他们艺术作品的仲裁者,但整合来自原始信息的计算机生成材料——一系列和弦、图像、舞蹈动作——的选择只会丰富艺术实践。此外,技术将增加发现看似不同的信息领域之间意外的、令人兴奋的联系的潜力。而扩大人类表达范围的技术过程的发展远远没有使艺术失去人性,而是遵循一条深刻的人类轨迹。借助这种技术开发的艺术作品反过来将更加紧密地反映创造它们的疯狂、混乱、贪婪的人类思想。


约翰Supko是杜克大学亨特家族音乐助理教授,他和比尔·希曼在杜克大学共同指导媒体艺术+科学项目的涌现实验室。Supko的音乐可以在新阿姆斯特丹和棉织品标签上听到。

这篇文章最初发表在2015年2月的《信息》杂志上。

加入讨论