机架中的一条走廊

模块合成器一直奖励那些打破类别界限的尝试。时钟可以变成旋律,循环包络可以变成节奏,而一个工具模块也可以被不断推向极限,直到显露出自己的个性。如今,据报道,id Software 于 1993 年推出的走廊射击游戏 Doom 已被成功移植到 Workshop Computer 模块上。MusicTech 称,一名工程师制作了一个网站,让该模块能够兼容这款游戏。

这条消息就像在一块没有标记的面板后面发现了一间迷你街机厅。笑出来是很自然的第一反应,随后便是好奇。游戏移植能够揭示普通功能列表掩盖的特质:用户能否接触到乐器内部的计算设备,开发路径是否容易上手,以及社区是否愿意尝试那些显然没有任何音乐价值的想法。

这项实验让一个隐藏的承诺变得清晰可见。有些乐器具备足够易于访问的计算能力,可以变成前面板从未宣传过的另一种东西。

移植 Doom 的仪式

在 id Software 于 20 世纪 90 年代末公开游戏源代码后,Doom 成了可移植性传说的一部分。开发者将它带到了不同操作系统,以及越来越不合常理的硬件上。“能不能运行 Doom”这一耳熟能详的挑战,成了工程师、业余爱好者,以及把合理限制视为对个人侮辱的人们之间的一种共同暗号。

它的吸引力很大一部分来自易于理解。人们大致知道移动起来应该是什么感觉,也知道走廊应该是什么样子。一次移植必须协调程序逻辑、输入、显示、内存和时序。让这些部分在为其他用途打造的硬件上协同工作,可以展现软件工具链和实现方式的灵活性。至少,据报道在 Workshop Computer 上运行 Doom 表明,这个模块可以被说服去做远超其音乐职责范围的事情。

绘制游戏画面帧和生成低延迟音频,会对系统提出不同的要求。这次演示并未测量转换器质量、噪声、延迟、控制精度或现场演出的稳定性。Doom 可以测试设备的可访问性,却不能为一件乐器提供完整认证。

面板背后的计算机

模拟振荡器与使用者之间有一份简短的契约:提供电源和控制电压,然后得到一个波形。可编程模块让这份契约变得复杂,因为它们的行为可以被重写。Workshop Computer 的 Doom 短暂转向,将这种抽象的可能性变成了可见的东西。跳线让重新排列一目了然,而软件则把第二个跳线盘藏在面板后面。

面板仍然设定着物理限制。代码无法凭空创造额外插口,也无法修复糟糕的电气设计。但它可以重新安排现有控制、时序、显示和音频功能之间的互动方式。这种双重属性有着悠久的谱系。早期电子工作室由一批被要求超越自身标签用途的设备组建而成。后来,家用电脑音乐人也以同样的热情对待声音芯片、音轨编辑器和游戏。

目前能看到的报道留下了一些诱人的未解问题。报道没有说明这个移植版本是否接受控制电压,是否会让游戏音频通过模块输出,还是仅仅通过模块内置的界面运行。这些区别决定了 Doom 能否成为模块化素材。在实现方式给出相反证据之前,受控制电压驱动的怪物和由游戏状态调制的声音,都只能留在草图本上,而不能列入功能清单。

开放性需要乏味但扎实的证据

构建者可以凭借个人技术让一次性的移植版本运行起来。但普通使用者能否照做,取决于清晰的说明、版本标注和可靠的恢复路径。MusicTech 的报道指出,一个网站是进入这个项目的途径。使用者应在其中确认确切的硬件支持范围、安装步骤、源代码或构建来源,以及恢复正常运行的明确路径。

如果这些内容缺失,就应把这个项目视为演示,并等待更清晰的文档。音乐人有理由关注它,因为同一套软件基础设施还可以承载其他音序器、实用工具、漏洞修复,甚至全新的乐器。社区代码可以延长模块的有效使用寿命,但也可能让硬件依赖于一个已经废弃的页面,或依赖一套很少有使用者能够重新构建的工具链。

开放性和维护性应当分别检查。公开的源代码、可下载的构建版本、易读的更新日志和恢复文件,分别解决未来不同的问题。笑话流传数月之后,最有价值的景象也许是一份乏味的文件夹,里面放着带日期的构建版本和一份易读的恢复说明。

在尝鲜改造之前

保持好奇是好事。但连接到监听设备的通电机架仍然需要有条不紊地处理。在将任何社区构建加载到可编程音乐硬件之前,先完成一份简短的工作台检查清单。

  • 确认目标。 让项目声明的模块与硬件修订版本完全匹配。名称相近的设备可能采用不同的内存布局、启动流程或固件要求。
  • 先找到退出方式。 确定当前程序的保存方式,以及如何恢复正常运行。如果项目提供了恢复材料,请提前下载。
  • 让信号路径保持安静。 首次启动不熟悉的代码时,调低监听音量并断开模块输出。确认其运行稳定后,再通过衰减重新接入。
  • 保护写入过程。 使用稳定的机架电源和可靠的数据连接。避免中断任何固件操作,并按照项目记录的流程执行,不要根据社交媒体帖子自行发挥。
  • 记好实验记录。 记录构建版本、现有固件、日期和恢复步骤。当浏览器、操作系统或加载器日后发生变化时,这个小文本文件会派上用场。
  • 重新测试乐器。 恢复常用软件后,检查启动行为、控制部件和预期输出电平。先用一个安静的音乐补丁进行调试确认,再将模块放回演出机架。

一个玩笑的实用余生

这个移植版本最持久的贡献,或许会在玩笑热度过去之后才显现。为了 Doom 而来的拥有者,会有动力去了解这个模块如何接收代码、如何进行恢复,以及它的架构边界在哪里。这些知识可以延伸到时钟工具、古怪的音序器,或一个本来绝不值得专门制作硬件的小型演出实用工具上。

模块合成器文化一直是在有意的误用中发展起来的。滤波器被触发,延迟被时钟同步,混音器被过载驱动,控制信号则游荡到不太合适的目的地。在这里,这种误用从面板后方延伸到了软件之中。

明天,这个模块仍然可以回归时钟、控制电压,以及拥有者信赖它承担的任何音乐任务。那个块状的通道依然是一个有用的证据,证明这里存在一扇侧门。在购买下一个可编程设备之前,先确认这扇门有使用说明,也有能够走出去的路径。