supercollider3 – 기초반 1 

SuperCollider 시작하기

SuperCollider(앞으로는 SC라고 함)는 프로그래밍 언어이다!
따라서…
다른 프로그래밍 언어들과 마찬가지로 다양한 일을 할 수 있다!

  • post 윈도우

SC를 처음 실행하면 post라는 이름을 가진 윈도우가 하나 만들어지는데,
이는 코드 실행시 결과값이나 에러 메시지를 알려주는 윈도우이다.
(SC 3.2 이하에서는 윈도우 이름이 ‘untitled1’이라고 나온다)

  • 코드의 실행

실행을 원하는 줄에 커서를 이동시킨 후,
OSX에서는 enter(fn + return 또는 control+C),
Windows에서는 control+enter(return키)를 누르면 된다.
(“hello”.postln;)// 실행하면 Post 창에 hello라고 뜬다.
SC에서 문장(statement)의 구분은 세미콜론(;)을 사용하는데,
하나의 문장이 끝나면 그 앞의 식(expression)이 연산되어 하나의 값을 돌려 준다.
이때 값은 SC에서 정의된 오브젝트의 종류 중 하나이다.

****힌트 : 초보시절 오류의 90%는 세미콜론(;)을 빼먹는것

  • 주석(comment) 처리하기

대부분의 다른 프로그래밍 언어와 마찬가지로
SC에서 ‘//’는 주석(comment)을 의미한다.
따라서 ‘//’으로 시작된 줄은 어떤 기능을 수행하는 코드가 아니라 주석/설명을 위한 부분이다.

  • 도움말 보기

command+D(OSX), F1(Windows)를 누르면 SC 도움말 파일을 볼 수 있다.
SC 도움말 파일은 그 자체가 SC 코드이므로, 도움말에 있는 예제들은 바로 실행이 가능하다. (OSX only!)
도움말은 몇 가지 항목별로 분류되어 있는데, 하이퍼링크를 따라가면 각 주제에 대해 좀 더 자세한 도움말을 볼 수 있다.

{SinOsc.ar}.play; // SinOsc를 선택하고 command+D(OSX), F1(Windows)를 누르면... 도움말창이 나온다.

// SC는 간단한 사칙 연산은 물론,

a=1;
2 + 3;
(5 + 2) * (70 / 10);
10 % 3; // 나머지 연산자 %, 10을 3으로 나눈 나머지를 돌려 준다.

돌려주는 값은 Post 윈도우에 표기된다.

// SC에서 사칙연산은 우선순위가 없고 앞에서부터 순서대로 계산한다(중요!).
2 + 3 * 5; // 결과값은 17이 아니라 25이다!
// 단 괄호로 묶여 있는 식이 있는 경우 먼저 계산한다.
2 + 3 * 5 / (1 + 4);

// 대부분의 기본적인 수학 연산이 가능하고,
sin(pi/6); // sine 값을 돌려 준다.
pow(2, 3); // 2의 3제곱

// TTS(Text To Speech) 기능을 사용할 수도 있다! (OSX only!)
"Hello, I am SuperCollider".speak;

// postln 메시지는 앞의 오브젝트 또는 코드의 결과값을 post 윈도우에 출력하는 역할을 한다.
"everyday is like sunday".postln;
["me", "you", 0, pi, (2+3)].choose.postln;

  • 서버 켜기

SC에서 소리 합성은 localhost server라고 하는 어플리케이션을 사용하므로,
소리를 만드는 코드의 실행을 위해서는 아래와 같이 localhost server(기본적으로 s라는 기호로 표시됨)를 시작해야 한다.

제일왼쪽 Boot/Quit 단추를 누르거나 아래와 코드를 실행하면 된다.

s.boot; // 소리 합성을 위해 서버를 시작한다.
s.quit; // 서버를 멈춘다, 소리 합성을 더 이상 할 수 없다.

// 서버가 정상적으로 동작하면 ‘running’이라는 상태가 표시된다.