Sam Aaron 是一位 实时编码员,他认为编程是一种表演。他创建了 Sonic Pi,一个开源的实时编码合成器,让人们可以使用代码创作和演奏古典和现代风格的音乐,从卡农到低音鼓步。白天,Aaron 在剑桥大学担任研究助理。晚上,他为人们跳舞而编写音乐。
Aaron 是今年 10 月 26-28 日在阿姆斯特丹举行的 OSCON Europe 大会的 keynote 演讲者。在本次采访中,他分享了关于 Sonic Pi 的内容、原因和方式以及其创造性用途的见解。
什么是 Sonic Pi?它是一种乐器还是编程语言?
Sonic Pi 是一种乐器,恰好使用代码作为其界面。它也是一个编程环境,恰好非常擅长制作复杂的声音。它实际上有很多用途——一个学习如何编程的工具,一个探索新的音乐符号的工具,一个即兴创作电子音乐的工具,一个通过文本协作音乐想法的工具,一个研究与时间和实时性相关的新编程技术的工具。最重要的是,它非常有趣。
你为什么创建 Sonic Pi?
在英国,学校刚刚引入了一项新的计算课程,重点是教导学童如何编程和控制我们世界中日益增多的计算机。
Sonic Pi 最初的创建是为了帮助学童参与这门新学科。在开发 Sonic Pi 的同时,我与教师密切合作,创建了教授低音线和即兴重复段而不是列表和函数的课程计划。碰巧的是,为了使用 Sonic Pi 制作音乐,你必须学习编码。
图片由 Sam Aaron 拍摄,版权所有。
Sonic Pi 的优势是实时编码。什么是实时编码?它是如何执行的?
实时编码是将编程作为一种表演的行为。通常,这意味着实时编码员在对表演者正在编写的代码直接感兴趣的观众面前进行编码。这可能是为了演示一个新的库,教授一种新的技术,或实时回答一个业务问题。我用它来创作人们跳舞的音乐。
Sonic Pi 使任何人都可以轻松地进行实时编码音乐。它提供了一个名为 Live Loop 的出色工具,这是一种新型循环,可以在运行时进行更改。Sonic Pi 的 Live Loop 本质上是并发的,这意味着你可以同时运行多个循环,就像你可能有一个乐队的许多成员一样——一个打鼓,另一个弹贝斯,另一个驱动一些短暂的合成器主音。
要使用 Sonic Pi 进行表演,你只需编写一个或两个 Live Loop,然后点击“运行”按钮启动它们。然后你可以自由地修改其中一个或全部,下次你点击“运行”时,更改将生效。编写代码,点击运行,编写代码,点击运行,就是这样。
谁应该学习 Sonic Pi?
所有人!我认为编程对于人类的创造力和表达来说与阅读和写作同等重要。Sonic Pi 以最简单的方式直接进入创造力——简单到 10 岁的孩子都可以做到(他们也确实做到了)。
如果你还没有学会编码,会编码但还没有学会制作音乐,或者只是想体验代码的惊人创造力,那么 Sonic Pi 适合你。
通过将 Sonic Pi 开源,正在发生哪些新的创新?
对我来说,我创建的工具尽可能对更多人有利非常重要。我不认为制作只对我自己(在创造性或经济上)有利的东西有意义。通过使 Sonic Pi 免费,它向任何拥有计算机的人开放了受众。此外,通过使 Sonic Pi 在 Raspberry Pi 上运行,它向所有能够使用电力和电视的人开放了受众。
Sonic Pi 的免费开源性质具有极好的优势,因为它是一个友好社区的基础,人们可以在这里分享和贡献新的想法。Sonic Pi 的许多新功能都是由其他开发者免费贡献的,因为他们想提供帮助。Sonic Pi 甚至有一个由志愿者开发者组成的核心团队,他们共同努力保持软件的新鲜、刺激和强大。
最后一个问题:想象一个没有声音的世界。Sonic Pi 还能生存吗?
Sonic Pi 的核心是一个实时编码系统,其中包含强大的时序模型。声音只是该系统的众多应用之一。例如,你已经可以使用 Sonic Pi 在 Raspberry Pi 上实时编码 Minecraft Pi Edition。只需思考一下:修改代码,而代码又反过来实时修改 Minecraft 世界。当然,你也可以将声音与它结合起来,以获得完整的视听体验。
不难想象 Sonic Pi 的扩展可以控制 DMX 照明设备、机器人、可视化效果等等。令人兴奋的是,那里的读者会有比我更好的想法,而 Sonic Pi 让他们能够将自己的想法变为现实并与他人分享。
2 条评论