SuperCollider: 前戏

Page 1

SuperCollider:前戏 by Bruce Ding

SuperCollider是什么? SuperCollider是⼀一个⾯面向对象的(object-oriented)的编程语⾔言,⽤用来进⾏行声⾳音合成(sound synthesis)和数据信号处理(digital signal processing)。 SuperCollider包括两个部分:语⾔言(⽤用来输⼊入代码)+服务器(声⾳音合成和计算实际发⽣生的地 ⽅方)。这两个部分通过在UDP或者TCP上⼀一个叫做Open Sound Control(OSC)的协议进⾏行通 讯。也就是说,SuperCollider天⽣生就有在多个设备上协作的能⼒力,这对于现场表演来说显然很 具优势。当然,⼤大多数的时候这两个部分是在同⼀一个机器上运⾏行的。

开启服务器 如上所说,为了能够看到代码的效果,我们需要传输代码到服务器进⾏行运算,⼀一个最为⽅方便的 办法就是建⽴立和本地服务器的通讯。开启的方法是在菜单栏点击“Language-Boot Server”或 者使用快捷键“Cmd+B”。 因为SC默认的本地服务器变量是s,所以我们还可以⽤用如下的代码打开 s.boot; 或者停 ⽌止 s.quit; 服务器。当然,你也可以更加直⽩白⼀一点,将本地服务器称为“Server.local”,所以 上⾯面的代码也可以写成 Server.local.boot; Server.local.quit 。 在编译代码的时候,我们⼀一般会让本地服务器⼀一直处于运⾏行的状态。

Hello, World! 开启服务器之后,我们就可以开始尝试编译代码啦!这⾥里先简单讲讲SC3.6的编译界⾯面和运⾏行 代码的⽅方法。 打开程序之后,你看到的窗⼝口⾥里左边是代码输⼊入的地⽅方,右上⾓角是帮助窗⼝口,右下⾓角是Post Window(就是发布程序结果的地⽅方)。 如果要运⾏行⼀一⾏行代码,需要在代码⾏行⾥里的任何位置单 击“Enter”键。注意:Enter和Return键是不同的,在Mac上,Enter=Shift+Return。另外,需要 留意,SC并不会运行所有的代码,而只是运行你自己选中的代码或光标所在行。 我特别喜欢和别⼈人说的⼀一个笑话是,⽂文科⽣生学编程就是学会了⽤用⼀一百种⽅方法写“Hello, World!”。 可是不管怎么样,这仍然是⼀一个很好的练习,在SC⾥里,这仍然不出意外地简单: "Hello, World!".postln

如果⼀一切正常,你会在Post Window看到


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.