1996年的独立应用

1996年,SuperCollider发布。它最初是面向Power Macintosh的商业软件,把可视化环境、编程语言与合成器放在一个应用中。音乐家可以在这台个人电脑上编写产生声音的程序,再通过图形控件操作它。

麦吉尔大学研究者Vamshi Raghu在2007年的硕士论文中,把商业发布公告追溯至1996年3月21日的comp.music.research新闻组。这里记录的是商业产品的公开公告日期。

参考:[1]

把合成与脚本结合起来

詹姆斯·麦卡特尼(James McCartney)此前分别开发过两个工具:Synth-O-Matic是非实时软件合成器,Pyrite是在Max中运行的小型脚本语言。SuperCollider将两者结合,把声音生成与高级语言控制放到一起。它采用文本编程,并吸收自动内存管理和闭包等语言机制。

松浦知也的语言史研究指出,音乐提出的困难还在于实时运行:通用高级语言即使能表达合成算法,其内存管理等实现也未必适合演奏中的时间要求。

参考:[2]

蒙特利尔的滤波器实验

1997年9月,Themis G. Katsianos在加拿大蒙特利尔的麦吉尔大学提交硕士论文,用SuperCollider实现四阶、3分贝切比雪夫带通滤波器。程序载入声音文件;使用者可在运行中通过图形控件调节中心频率和带宽。

在这一实现中,子帧长度设为1,使递归滤波逐个采样计算。作者把滤波器视为塑造声音的乐器,希望作曲者能用熟悉的音乐编程语言实现它。

参考:[3]

圣巴巴拉的课堂

在美国加利福尼亚州,加利福尼亚大学圣巴巴拉分校的电子艺术技术研究中心(CREATE)把SuperCollider用于教学。Stephen Travis Pope于1997年8月5日公开说明,他已把《Sound and Music Processing in SuperCollider》教程修订稿的PDF放到中心网站,征求纠错和补充例子。

Pope说,教程已经在Curtis Roads的课程中使用,并与Roads的计算机音乐教材、麦卡特尼的SuperCollider参考手册配合。它面向已有音乐合成编程或通用编程语言基础的读者。

参考:[4]

后续版本的架构取舍

后来的SuperCollider改变了控制与合成的关系。Roger B. Dannenberg在2018年的综述中,把语言进程sclang与声音引擎scsynth的消息通信解释为一种时间上的隔离:声音计算要求稳定及时,而控制程序的计算量较难预测。

他同时指出早期版本的另一面:较紧密的结合允许声音事件直接触发同步控制,也允许在实例化乐器时用算法生成其结构。后来的安排要求先准备和编译乐器定义,换来更快的实例化,却加强了控制与合成之间的分隔。

参考:[5]