本文来源:维基百科
创造性编码或创造性编程包括使用计算机编程作为一种艺术表达手段(视觉、音乐、文学、交互、表演等)。自从约翰·前田 (John Maeda)出版《创意密码》一书以来,这个词似乎在21 世纪开始流行起来。
除了纯粹的艺术或音乐创作之外,创意代码还可以在计算机图形学、设计(图形设计/生成图形2、数字设计、数据可视化)、特效甚至表演(Vjing、现场编码) 等研究领域找到具体的应用。

历史
早在1843年,艾达·拜伦就假设,任何能够抽象描述的事物,都可以转化为程序化的动作,她以音乐创作为例:
“例如,假设和声科学与音乐创作中音调的基本关系能够通过这样的表达和改编来表达,那么引擎就可以创作出任何复杂程度或范围的精致而科学的音乐作品3 ”
— Ada Byron,Luigi Menabrea 的文章《Charles Babbage 先生发明的分析机示意图》的注释
这一思想与博学者阿塔纳斯·柯雪(Athanasius Kircher)等人的思想类似,他 在巴洛克时期开发了一种随机谱写系统,并受到雷蒙德·鲁尔( Raymond Llull) ( 14世纪) 的作品及其《大艺斯》 (Ars Magna )(一种旨在结合神学论点的文学生成器)的启发。显然,纳尔和基歇尔的工作没有依赖任何自动化装置。

1871年,亚眠 纺织工程师爱德华·刚 (Édouard Gand)提出了一项名为“织物改进器” (Fabric Improviser)的发明,该发明通过算术排列游戏,可以创造出新的编织物。这可以被看作是生成设计的起源。
1962 年,当时还是一名年轻工程师的A.迈克尔·诺尔 (A. Michael Noll)被贝尔实验室聘用,负责完善科学成像技术。他发表了一篇题为《计算机生成的模式》的备忘录,在备忘录中,他解释了计算机编程可用于使用IBM 7090计算机和 Carlson SC-4020 缩微胶片打印机来制作视觉作品。他不敢将这一成果称之为“作品”或者“艺术创作”,而更喜欢使用“图案”这个词。该文档包含用Fortran语言编写的代码示例,以及获得的视觉结果,由连接随机点5、6的线组成。次年,即 1963 年,仍在贝尔实验室并使用相同的设备,肯尼斯·诺尔顿 (Kenneth Knowlton) 开发了 BEFLIX(“Bell Flicks” 的缩写),这是第一种用于制作计算机动画的编程语言。 BEFLIX 源自 Fortran,使用不同的印刷符号来获得不同的灰度级别,使其成为一种ASCII 艺术形式。从那时起,其他程序员、工程师和数学家开始走上程序化视觉创作的道路,突破计算机图形可能性的极限,当他们开始对此产生兴趣时,计算机甚至还没有连接到显示器。著名例子包括Frieder Nake和Georg Nees(Noll、Nake 和 Nees 后来被昵称为3Ns)以及John Whitney, Sr.、Charles Csuri和Herbert Franke。与此同时,与抽象相关的艺术家,特别是光学和动态艺术,开始对编程作为艺术创作工具产生兴趣:François Morellet、Vera Molnár、Manfred Mohr等等。此外,不借助计算机工具,我们可以将算法创作与20 世纪 50 年代末和60 年代的几位艺术家或运动进行比较 :以Nicolas Schöffer或Peter Vogel为代表的控制论艺术,他们制作配备传感器的机动雕塑;视动艺术家,其创作基于几何和算术原理(布里奇特·莱利、维克多·瓦萨雷利, ETC。) ;探索艺术创作程序维度的概念艺术家(索尔·勒维特、拉蒙特·杨、艾伦·卡普罗、小野洋子、约翰·凯奇……);还有乌利皮派,他们从 1960 年起热衷于基于约束的文学理念,有时直接受到计算机文化的启发,比如乔治·佩雷克 (George Perec) 的《向部门主管要求加薪的艺术和方式》。所有这些艺术家、音乐家和作家本身都借鉴了前人的作品,尤其是 20世纪上半叶的前卫作品:卡西米尔·马列维奇、马塞尔·杜尚、约瑟夫·阿尔博斯、汉斯·里希特等。
1967 年,西摩·派普特 (Seymour Papert)和他的合作者开发了Logo语言,这是一种用于教授几何和编程的编程语言,它基于让·皮亚杰的建构主义理论,对于皮亚杰来说,我们是通过创造来学习的。
1968年,算法艺术首次大型集体展览“控制论偶然性”在伦敦举行,次年又在华盛顿和旧金山举行,探索了计算图像、舞蹈编排、音乐、文学生成等诸多领域。大多数数字创作领域的先锋艺术家和研究人员的作品都在这里展出。
1969年,文森斯大学实验中心(现为巴黎第八大学)成立了文森斯艺术与信息技术小组(GAIV 或 Gai Vincennes),一些艺术家兼计算机科学家7在那里开展视觉创作或算法音乐领域的研究。该小组是1983 年图像艺术与技术(ATI) 课程的起源。
同样在1969 年,计算机协会成立了一个致力于视觉创作的小组SIGGRAPH ,该小组自1973 年以来每年都会组织致力于计算机图形学的会议。
亚伯拉罕·莫尔斯 (Abraham Moles)所说的“自然艺术” (科学技术的产品,其制作目的并非追求艺术形式,但实际上在我们眼中很有吸引力,因此具有美学价值) 与“有意为之的艺术” (寻求一种影响观看者敏感度的美学价值) 之间的区别有时很细微9 ,正如射电天文学家哈罗德·克拉夫特 (Harold Craft) 于 1970 年为其论文创作的脉冲星 CP 1919 的 100 个连续脉冲图像的命运所证明的那样,艺术总监彼得·萨维尔 (Peter Saville)于 1979 年将其用作Joy Division 10乐队专辑Unknown Pleasures的封面视觉效果。这种通过编程获得的图像,其主要目的是教学,通过失去图例和改变媒介,本身就成为了视觉创作。
20 世纪 70 年代初,哈罗德·科恩(Harold Cohen, 1928-2016) 开始开发AARON ,这是一个用C 语言编写的程序,后来改用Lisp编写,可以创作艺术作品。艺术家并不对作品进行编程,他编写产生作品的程序。
20 世纪 80年代,微型计算的日益普及催生了“演示场景”,这是计算机亚文化的一部分,程序员在其中制作视觉和音频创作,通常是为了展示他们的编码能力和创造才华。还有演示创建者的聚会,例如芬兰的Assembly ,那里有数千名程序员聚集在一起并参加竞赛:一千字节以下的最佳程序、四千字节以下的最佳程序等等。
在20世纪90年代,数字工具被平面设计和音乐创作领域的专业人士广泛应用。一些艺术家创建自己的工具并分发它们,例如Éric Wenger (KPT Bryce、Metasynth)、Jaron Lanier (VPL) 或Akira Rabelais (Argeïphontes Lyre) 11。在开源哲学的推动下,许多创作者都希望将自己从商业软件中解放出来。本着这种精神,在麻省理工学院的美学 + 计算小组,John Maeda和他的学生(Ben Fry、Casey Reas、Golan Levin、Peter Cho 等)正在开发他们自己的工具,通常以免费许可证分发。

1995年,美国计算机科学家和艺术家Jean-Pierre Hébert创立了Algorists团体,其宗旨是召集创建自己算法的艺术家,例如Roman Verostko、Manfred Mohr、Channa Horwitz、Yoichiro Kawaguchi 等。从逻辑上讲,该组织的宣言是一种算法:
if (creation && object of art && algorithm && one’s own algorithm) { include * an algorist * } elseif (!creation || !object of art || !algorithm || !one’s own algorithm) { exclude * not an algorist * }
2000 年7 月,艺术家安托万·莫罗 (Antoine Moreau) 在律师和艺术家的帮助下,开发了自由艺术许可证,该许可证与知识共享署名-相同方式共享 (BY-SA)许可证兼容,但旨在适用于艺术创作。通过此许可,艺术家同意可以自由分发和修改其作品。
在2010 年代,由年轻设计师集体 (OSP、PrePostPrint、Luuse 等) 推动的网络印刷劫持了网络创建语言 (Html、Css,以及最终的 Javascript 和 php) 来制作逃避 Adobe 12等公司控制和商业方法的印刷书籍。因此,使用计算机编程的问题既是一个技术和美学问题,也是一个从软件出版商中解放出来的政治和哲学问题。
NFT允许数字艺术家为数字作品建立所有权和真实性证书,并在传统渠道之外进行营销,这为使用计算机编程作为创作工具的艺术家提供了新的可见性,并引发了人们对这种做法的新兴趣。据《Spike Art》杂志记者 Dean Kissick 介绍,最受欢迎的 NFT 系列都是算法生成的作品:“ 最受欢迎的一系列 NFT 收藏品都是算法生成的。 » 。这些区块链所有权证书是在 2014 年发明的,但在 2020-2021 年,NFT 的购买量达到了顶峰,随后急剧下降。
现在,世界各地的 许多艺术和设计学校都提供计算机编程课程,同时还提供绘画、色彩、透视或建模等更受欢迎的学科。
展览
1965 年 2 月 5 日-1965 年 2 月 19 日 Georg Nees:计算机图形学,斯图加特大学 (TH Stuttgart) 研究生院。艺术家:Georg Nees。被认为是世界上第一个算法艺术展17。
1965 年 4 月 6 日-1965 年 4 月 24 日 计算机生成的图片,霍华德怀斯画廊,纽约。艺术家:Béla Julesz和A. Michael Noll 18。贝拉·朱莱什 (Béla Julesz) 是一位专门研究感知的神经生物学家,他因对随机立体图的研究而闻名,他的研究导致了自动立体图的发明,
1965 年 11 月 5 日-1965 年 11 月 26 日 计算机图形,Galerie Niedlich,斯图加特。艺术家:Georg Nees、Frieder Nake 19。
1968 年 8 月 2 日-1968 年 10 月 20 日 控制论的意外发现,伦敦当代艺术学院。 89 位艺术家,包括数名Fluxus或GRAV成员,还有艺术家兼程序员,例如:Kurd Alsleben、Efraim Arazi、Jean A. Baudot、 Stafford Beer、Herbert Brün、Andrew Colin、 Charles Csuri、DJ Di Leonardo、 Ben F. Laposky、Frieder Nake、Georg Nees、A. Michael Noll、John Whitney Sr 等。 20
1970 年 8 月 16 日-1970 年 11 月 8 日 软件 – 信息技术:其对艺术的新意义,犹太博物馆(布鲁克林)。该展览由艺术家兼评论家杰克·伯纳姆策划,后来在史密森尼博物馆展出,1970 年 12 月 16 日在1971 年 2 月 14 日。
创意编码工具
软件工具
创造性编码的概念更多的是一种哲学而非一种技术,并且不与任何特定的编程语言相关联,尽管已经为此目的设计了几种语言或系统。例如 :
BEFLIX(Bell Flicks),创建于 1963 年,是第一款用于创作计算机动画的软件。它基于Fortran,一种经常用于科学计算的语言。
Logo创建于 1969 年,旨在通过程序绘图来教授编程。
vvvv,一款于 1998 年创建的可视化编程工具,可以让你实时操控声音和图像。
数字设计,一种用于视觉创作的程序语言,由 John Maeda 和他的学生于 1999 年创建。
Processing ,一种由Casey Reas和Ben Fry于 2001 年创建的编程语言和环境。它基于Java语言。它将启发 P5js(网络)以及Arduino(电子原型)。
OpenFrameworks,一个基于 C++ 的强大工具。
Cinder,一个C++语言的框架。
PureData,一款用于实时音乐和多媒体创作的免费图形编程软件。
Sonic Pi ,一个免费的实时编码环境。
SuperCollider ,一种用于实时音频合成和算法合成的环境和编程语言
TidalCycles,通过代码创作音乐
Scriptographer [档案],(2006 年),是由 Jürg Lehni 创建的扩展,允许 JavaScript 在Adobe Illustrator软件中交互。
Adobe Flash,一款支持矢量绘图、动画、交互(指针、键盘、麦克风和网络摄像头)和代码的软件。
Doodle [档案]是一个用于创意编码的Scala库。
网络浏览器虽然主要用于显示网页,但也受到许多艺术家的青睐21 ,尤其是得益于网络标准(HTML、CSS )和JavaScript等语言,它们允许创作图形、视频、声音和文本或混合作品。这些作品通常与网络艺术相关,也被称为“互联网艺术”或“网络艺术”。
还可以使用无需编程但可通过脚本操作的生成图像的工具,例如可以用 Python 编写脚本的3D 图形软件Blender 、可视化编程软件TouchDesigner或用C#编写的游戏创作引擎Unity。Adobe Illustrator等专有软件也提供使用脚本生成图像的功能,主要用于任务自动化目的。
还有一些编程语言,由于其功能无用,可以被视为其本身的艺术创作:Whitespace,Brainfuck,以及其他奇特的编程语言。这些语言可以是“极客”游戏,但有些可以用来深入研究计算机科学概念,或者制作一种具体诗歌的形式或与概念艺术有关的提案。




我们还可以提到使用现有语言来创作作品,其中重要的不是程序的执行而是程序本身,就像Alex Iordachescu所做的那样( 《 if A=B》 ) ,其中存在以Lingo语言程序的形式讲述,或者 Angus Croll 的《如果海明威写了 Javascript》,其作者认真研究了风格的概念,将其应用于文学和编程,并想知道简·奥斯汀、杰克·凯鲁亚克、弗吉尼亚·伍尔夫或豪尔赫·路易斯·博尔赫斯(以及许多其他人)将如何编写计算机程序。
输出设备
视觉艺术创作
在计算机显示器和其他显示器(视频投影仪、LED 灯带等)广泛使用之前,通过编程制作作品的首个输出设备是纸质印刷(击打式印刷、矩阵印刷、菊花轮印刷、缩微胶片印刷、绘图仪)、在示波器上查看,甚至按照计算机在穿孔卡片上提供的指令手动制作作品,或者甚至使用穿孔卡片本身,例如所谓的手工像素技术,该技术由文森斯艺术与计算机小组在20 世纪 70 年代开发 :然后使用程序获得的卡片穿孔作为绘画的模板8。许多程序化作品的创作者使用描摹器,特别是他们自己制作的描摹器(“自己动手”) ,使他们的作品有形存在。这项技术使您可以控制触控笔的性质(铅笔、圆珠笔,任何东西都可以)以及所使用的媒介。其他可用的创客文化技术包括数码刺绣、数码针织、激光切割、3D打印机或数控机床。布里斯托海龟 是一种粗糙的机器人装置,发明于1947 年。随着20 世纪 60 年代末Logo语言的诞生,这种装置又重新流行起来,不仅因为这是该语言中屏幕上绘图仪的名称,还因为机器海龟被用作移动绘图仪,遵守用 Logo 编写的程序。其他机器人的用途已被改变,被用作绘图工具:工业机器人或无人机。
Zuse Z64 绘图仪(1956 年),算法艺术先驱 Georg Nees 使用的模型。
Zuse Z64 绘图仪(1956 年),算法艺术先驱Georg Nees使用的模型。
Valiant 徽标龟,创作于 1983 年
Valiant 徽标龟,创作于 1983 年
艺术家 Aaron Musalski 和他的“Otto”黑板笔。该设备用粉笔绘图。
艺术家 Aaron Musalski 和他的“Otto”黑板笔。该设备用粉笔绘图。
“Sketchy” 是一个可以在相机前为人们拍摄肖像的机器人。
“Sketchy” 是一个可以在相机前为人们拍摄肖像的机器人。
按照程序绘画的自制机器人
按照程序绘画的自制机器人
Roomba 吸尘器被改造成螺旋测量仪。
Roomba 吸尘器被改造成螺旋测量仪。
音乐和声音创作
1951 年,澳大利亚的 CSIR Mk 1 (CSIRAC) 成为第一台播放音乐的计算机
音乐和数学之间的紧密联系自然而然地引发了从计算机历史一开始对计算机音乐的研究。最早的实验是在计算机环境中进行的,即在实验室中:澳大利亚的CSIRAC (1951年);费兰蒂(克里斯托弗·斯特雷奇,1951 年)贝尔(马克斯·马修斯, 1957 年;詹姆斯·坦尼,1961 年;让-克洛德·里塞特,1964 年);公牛(Pierre Barbaud和Roger Blanchard,1959年) ETC。虽然计算机音乐的第一个例子主要是现有旋律的移调,但基于程序(有时是偶然的)的算法作曲的想法很快就获得了普及。值得注意的是,1958年, Lejaren Hiller在伊利诺伊大学香槟分校创立了实验音乐工作室(EMS)。与该中心相关的人物包括工程师,也有像约翰·凯奇这样的作曲家。此后,许多其他电声音乐研究组织也相继成立,例如音乐研究小组(1958 年);斯坦福大学音乐与声学计算机研究中心(1975 年);声学/音乐研究与协调研究所(1977 年) ETC。
第一张计算机生成的唱片是约翰·罗宾逊·皮尔斯和马克斯·马修斯于 1960 年发行的《数学音乐》。
内置创作工具
无论其目的地是材料、声音甚至是文本,创意代码都可以使用输入设备,这些输入设备将用于根据交互或各种信息的注入来改变工作:麦克风、摄像头、鼠标、键盘或各种传感器(运动、温度等)。
参考书目
Abraham Moles,艺术与计算机,Casterman,然后是Blusson,1990(第一版 1971年)(ISBN 978-2907784030)
Jean-Paul Delahaye,使用微型计算机进行几何和艺术绘画,Eyrolles,1985及其续集,Jean-Paul Delahaye,使用微型计算机进行新的几何和艺术绘画,Eyrolles,1985
(en) Frank Dietrich,“ 视觉智能:计算机艺术的第一个十年(1965-1975) ”,Leonardo,麻省理工学院出版社,卷。 19,第2号 ,1986,页 159-169
(zh) John Maeda,《数字设计》,麻省理工学院出版社,2001,256 页 (国际标准书号 0-262-63244-6)
(zh) John Maeda,《创意代码 :美学+计算》,Thames & Hudson,2004 (国际标准书号 0500285179)
(zh) Dominic McIver Lopes,《计算机艺术哲学》,Routledged,2009 年 8 月 25 日 (国际标准书号 978-0415547628)
(en) Casey Reas、Chandler McWilliams 和 Lust,《设计、艺术和建筑的形式 + 代码》,普林斯顿建筑出版社,2010 (国际标准书号 9781568989372)
Hartmut Bohnacker、Benedikt Gross、Julia Laub、Claudius Lazzeroni、生成设计、金字塔、2010,474 页 (国际书号 978-2350172156)
(en) Ira Greenberg,《处理:创意编码和计算艺术》,ED 的朋友,2016 (国际标准书号 1-59059-617-X)
(zh) Daniel Shiffman,《代码的本质:通过处理模拟自然系统》,2012 (国际书号 978-0985930806)
(en) Grant D. Taylor,《当机器创造艺术:计算机艺术的困境史》,Bloomsbury Publishing,coll. “布卢姆斯伯里学术”,2014,352 页
(zh) Christiane Paul (导演),《数字艺术指南》,Wiley-Blackwell,2016 (国际标准书号 978-1-118-47520-1)
(en)安德鲁·理查森,数据驱动的图形设计:视觉传达的创意编码,布卢姆斯伯里,2016,224 页 (国际标准书号 978-1472578303)
弗雷德里克·米盖鲁(导演),《编码世界:变异创造》,蓬皮杜艺术中心版/HYX版,2018
(en) Golan Levin 和 Tega Brain,《代码作为一种创造性媒介:计算艺术和设计手册》,麻省理工学院出版社,2021 年 2 月
(en) Leslie Jones(编辑)、Bronac Ferran、Tiffany Funk、Patrick Frank、Meredith Hoy、Jennifer King、Lisa Gabrielle Mark、Joel McKim、Britt Salvesen、Edward Shanken、Staci Steinberger、Grant D. Taylor、Bobbye Tigerman 和 Debora Wood( Hannah B Higgins前任), 《编码:艺术进入计算机时代,1952-1982》,Distributed Art Publishers/洛杉矶郡立艺术博物馆,2023 年 2 月 7 日,272 页 (国际标准书号 978-1636810805)
Camille Lenglois(编辑),文森斯艺术与计算小组:一种程序化的美学,蓬皮杜艺术中心,coll。 “研究”,2023,164 页 (ISBN 9782844269492,在线演示 [档案])
(en) Daniel Cardoso Llach 和 Theodora Vardouli,《设计计算图像:想象计算设计》,Oro Editions,2023 年 11 月 2 日,380 页 (国际标准书号 978-1954081345)








