2008. 5. 21. 15:01
Techne/문성준: SuperCollider
1. SuperCollider 3 개요
- 음악 프로그래밍 언어 (cp. CSound, Max/MSP, PD)
- SmallTalk에 기반, James McCartney 개발
- 활용: Calculator, Sound Synthesis & Analysis, DSP(Effector), Algorithmic Composition, ...
- 특장점:
- object-oriented style
- real-time interpreter
- 하나의 package 안에서 GUI를 활용한 real-time 제어
- on-the-fly 프로그래밍
- OSC (Open Sound Control) protocol 지원
- 낮은 CPU 점유율
2. SuperCollider 설치
home: http://audiosynth.com/
tutorial: http://swiki.hfbk-hamburg.de:8888/MusicTechnology/6
forum: http://www.newscores.com/scforum/
invalid-file
3. Post Window & Basic Key command
- Post Window: booting 과정에서 로딩되는 라이브러리의 상태를 보여 주며, interpreter의 메시지, 프로그래밍의 에러 등을 보여 준다.
- key command
enter (return 아님): run
command + . : stop playing
command + D : help
4. Basic Syntax
colons: keyword arguments
semi-colons: statement의 끝
commas: list에서 item을 분리할 때 사용
periods: 메시지를 처리할 때 사용
- delimiters:
parenthes () : argument list를 전달하거나 연산처리에서 사용
curly brackets {} : function을 정의할 때 사용
5. Basic Synthesis
- 음악 프로그래밍 언어 (cp. CSound, Max/MSP, PD)
- SmallTalk에 기반, James McCartney 개발
- 활용: Calculator, Sound Synthesis & Analysis, DSP(Effector), Algorithmic Composition, ...
- 특장점:
- object-oriented style
- real-time interpreter
- 하나의 package 안에서 GUI를 활용한 real-time 제어
- on-the-fly 프로그래밍
- OSC (Open Sound Control) protocol 지원
- 낮은 CPU 점유율
2. SuperCollider 설치
home: http://audiosynth.com/
tutorial: http://swiki.hfbk-hamburg.de:8888/MusicTechnology/6
forum: http://www.newscores.com/scforum/

Computer Music with examples in SuperCollider 3 David Michael Cottle
3. Post Window & Basic Key command
- Post Window: booting 과정에서 로딩되는 라이브러리의 상태를 보여 주며, interpreter의 메시지, 프로그래밍의 에러 등을 보여 준다.
- key command
enter (return 아님): run
command + . : stop playing
command + D : help
4. Basic Syntax
colons: keyword arguments
semi-colons: statement의 끝
commas: list에서 item을 분리할 때 사용
periods: 메시지를 처리할 때 사용
- delimiters:
parenthes () : argument list를 전달하거나 연산처리에서 사용
curly brackets {} : function을 정의할 때 사용
5. Basic Synthesis
// week 1
246*456
"hello".speak
rrand(64,127)
3.rand
{SinOsc.ar(440,0,0,1)}.play;
{SinOsc.ar(440,0,0,1)}.scope;
SinOsc.ar(440,0,0,1).play;
{SinOsc.ar(440,0,0,1}.play;
// 5. Basic Synthesis
{SinOsc.ar(440,0,0,1)}.play
(// double click on the inside of any bracket to highlight the code contained within
)
(// select this code within the outer parentheses
// then press the ENTER key on the numberic keypad
{SinOsc.ar(440,0,0,1)
+
Pulse.ar(443,0,6,0,0.05)
}.play
)
{SinOsc.ar(300,0.5)}.scope
{Saw.ar(4000,0.2)}.scope
{Pulse.ar(440,0.6,0,1)}.scope
246*456
"hello".speak
rrand(64,127)
3.rand
{SinOsc.ar(440,0,0,1)}.play;
{SinOsc.ar(440,0,0,1)}.scope;
SinOsc.ar(440,0,0,1).play;
{SinOsc.ar(440,0,0,1}.play;
// 5. Basic Synthesis
{SinOsc.ar(440,0,0,1)}.play
(// double click on the inside of any bracket to highlight the code contained within
)
(// select this code within the outer parentheses
// then press the ENTER key on the numberic keypad
{SinOsc.ar(440,0,0,1)
+
Pulse.ar(443,0,6,0,0.05)
}.play
)
{SinOsc.ar(300,0.5)}.scope
{Saw.ar(4000,0.2)}.scope
{Pulse.ar(440,0.6,0,1)}.scope
'Techne > 문성준: SuperCollider' 카테고리의 다른 글
week 4: Envelop Generator in SuperCollider (0) | 2008.05.28 |
---|---|
week 3: B. Synthesis I - Envelopes (0) | 2008.05.21 |
week 2: B. Synthesis I - Modulation (0) | 2008.05.21 |
SupperCollider (0) | 2008.05.17 |