首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Leonardo开发板上实时编程:让电子音乐在你的指尖流动

如何在舞台上现场编写音乐?

实时编程制作音乐是一种表演艺术,其中,表演者通过对音乐合成器进行编辑和重新编曲来创作音乐。合成器的代码通常会被投影到墙上或者屏幕上,让观众可以在听音乐时同时获得绚丽的视觉体验。这种实时编程创作音乐的行为有时被称为algoraves,人们可以听到、看到‘活’的音乐,投影出来的音乐代码千变万化,具有很强的现场感染力。通常来讲,这种音乐的可视化是由和现场音乐编程人员搭档的第二位表演者操作图形软件创造出来的。

在参加了一些于纽约市举行的algorave活动(曲风跨度从环境背景乐到电子舞曲,还有更多实验性的流派)后,我决定关注一下表演者使用的那些软件,因为我想知道能不能自己做出一款创建可视化音乐的硬件。当然,我还没有做好上台表演的心理准备。我建议任何对音乐或者声音艺术感兴趣的看官们都尝试一下实时编程制乐,即便没有任何传统乐器演奏经验也没什么大碍,这是一件很有趣的事情。

现在最流行的实时编程制乐软件似乎是Sonic Pi,这是一个开源项目,最初由Sam Aaron为树莓派创建,不过它也适用于Windows和macOS。Sonic Pi界面的基础部分是一个文本编辑器,还有一些和现场演奏相关的特定按钮,比如启动和停止音乐的按钮。它看起来很像是一个集成开发环境(IDE),可以支持Ruby语言。Ruby和Python一样,是一种可以交互运行的解释型语言,基于Ruby的Sonic Pi IDE为功能强大的SuperCollider声音合成引擎提供了风。

你可以在IDE中输入一串完整的音符,从而创建一段音乐,然后选择一种软件定义的乐器,再加上任何想要的音效(比如混响),就可以让Sonic Pi播放了。不过,这种非实时的方式没有太大的乐趣。实时编码才是最大的乐趣所在,表演者和计算机之间密切配合,表演者不断地塑造算法,实际确定对这些算法播放什么音符的工作则由Sonic Pi完成,Sonic Pi保持所有内容的同步,以便音乐不会漏掉任何一个节拍。

Sonic Pi在最新版本中加入了发送和接收MIDI信息的功能。MIDI是计算机和电子仪器之间进行通信的一种古老标准。在MIDI中,音符由从0到127的数字表示,其中音符21到108正好对应大钢琴的88个按键。最终,MIDI需要一个专用的硬件接口,现在更常见的则是通过USB接口连接运行。

MIDI的加入使得我可以按下一些硬件来可视化Sonic Pi上的实时音乐。不久之前,我特意加了160个可编程的WS2812B RGB LED,分五层排列,看起来就像是一个32*5像素的彩色显示屏。我把这个“显示屏”放在了一个六角形的木架上,并将它安装在一个之前存放可移动硬盘的空帽子盒子中。这种回收升级再利用不仅使得我可以把新发明放在过去的纪念品中,而且盒子内部足够宽大,正好可以把木架和支持性的电子设备隐藏起来,这里所说的电子设备是Arduino Leonardo微控制器,我之前曾经用它来当所制作的太空飞行模拟器中的控制器。为了驱动这么多LED,我还加了一个10安培的电源,通过盒子底部切割出来的一个小孔将USB线缆和电源线缆穿进来。

……

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190828A03LFI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券