[Link]Software Supporting OSC

Software Supporting OSC
List of software supporting OSC – these are most relevant for study, since they can communicate with SC for networked performance/installations:

-Csound (http://AIMI.dist.unige.it/AIMICSOUND/AIMICSOUND_home-en.html)
-Grainwave (http://www.7cities.net/users/mikeb/GRAINW.HTM)
-Flash (via flosc) (http://www.benchun.net/flosc)
-HTM (http://cnmat.CNMAT.Berkeley.EDU/CAST/Server/htm.1.html)
-MaxMSP/Jitter (http://cnmat.CNMAT.Berkeley.EDU/OSC/Max)
-JMax (http://www.ircam.fr/produits/logiciels/jmax-e.html)
-Macromedia Director Xtra “OSCar” (http://www.mat.ucsb.edu/%7Eg.kling/OSC/oscar.html)
-Pd (Pure Data) (http://iem.kug.ac.at/pd/, http://barely.a.live.fm/pd/cxc, http://barely.a.live.fm/pd/OSC/)
-Python (via ProctoLogic) (http://galatea.stetson.edu/%7EProctoLogic)
-SuperCollider (http://cnmat.CNMAT.Berkeley.EDU/OSC/SuperCollider)
-Reaktor (http://www.nativeinstruments.de/index.php?reaktor_us)
-Rtcmix (http://www.music.columbia.edu/cmix)
-Sodaconstructor (http://www.soda.co.uk/explore/osc.htm)
-Squeak (via Siren) (http://www.create.ucsb.edu/Siren/)
-VisualWorks Smalltalk (via Siren) (http://www.create.ucsb.edu/Siren/)

* 강지연님에 의해서 게시물 이동되었습니다 (2005-05-26 10:14)

합성이론 4장 : Filter와 Phase

합성이론 4. Filter와 Phase
필터는 소리합성에서 잘못 이해하기 쉬운 부분입니다. 사실상 필터는 단순한 부분적 감쇄의 기능보다 훨씬 더 효과적으로 쓰일 수도 있습니다.

위의 그림 1처럼 싸인 곡선 두 개를 단순한 믹서를 사용하여 합쳐보면 소리의 크기만 2배가 될 것이라는 것을 알 수 있지요. 하지만 2개를 중간부분으로 그림 2와 같이 겹쳐봅니다. 그러면 우리는 아무것도 들을 수 없게 되어버립니다!
우리는 여기서 상쇄”offset”에 관하여 고려하지 않을 수 없게 됩니다. 이 offset을 우리는 보통 한 wave의 phase(위상)이라 부릅니다. 그리고 이것을 각도(degree)로 표현합니다. (삼각함수 아시죠?!)
단순하게offset을 타이밍의 차이라고 생각해봅시다. 100Hz frequency에서 각각 다른 주기는 0.01초 걸리고, 한 주기의 반이 되는 offset일 때에 0.005초 이동하는 것과 같아집니다. (그림3) 200Hz에서 0.005초 이동했다면, (그림4) 시간은 전체주기가 되기 때문에 두 소리는 더 큰소리를 만들게 되죠.

자. 그럼 sawtooth의 경우를 한번 보겠습니다. (기억하신다면 sawtooth가 모든 배음을 다 가지고 있다는 것을 알고 계시겠지요) 100hz의 sawtooth가 있다고 가정합니다. 그것은 200Hz, 300Hz … 등등의 배음을 가지겠지요? 그럼 2개의 100Hz의 sawtooth를 반 주기 offset으로 두고 합쳐보면 어떻게 될까요?
->기본음(100Hz)은 사라집니다.
200hz는 서로 합해집니다.
300Hz는 역시 사라집니다.
400Hz역시 합해집니다.
.
.

즉 이는 200, 400, 600Hz를 가진 wave를 만들겠지요. 실제로 이것은 같은 amp를 만들고 원래의 음높이는 2배로 높아지는 결과가 나오게 됩니다.

Comb filter는 2개의 offset을 합칠때에 발생합니다. 각각 frequency의 phase가 filter를 정의내리는 것이지요.

* Phasing & Filtering

이처럼 필터링이 위상변화를, 그리고 위상변화가 필터링을 유도해 냅니다.
그림 6은 RC Low-Pass Filter(이하 LPF)입니다. 이것은 cutoff아래를 통과하고 Cutoff frequency는 component 값에 의해 정의됩니다. 반면 회로의 속성 그 자체는 약해진 higher frequency의 비율을 정의합니다. 그림 7은 단순한 LPF의 위상응답입니다. Filter input에 있는 주어진 frequency의 phase가 더 크거나 작은 범위를 향해 움직여질 것입니다.

이번에는 100HZ를 가진 input signal로 square wave를 예로 들어봅니다. 두번째 배음 200Hz가 빠져있고, 3번째 300Hz, 그리고 4번째도 빠져있고 5번째는 500Hz이렇게 됩니다. 모든 harmonics가 같은 위상에 있구요. (그림8) 자. 이와 같은 상태에서
400Hz의 cutoff를 가진 RC filter에서 filter의 위상응답이 모든 frequency에서 0이라면??

기본음과 첫 overtone은 줄어들지 않을겁니다. 그러나
500hz위에는 필터의 응답에 의해 줄어들겠(감쇄)지요? 결과는 그림 9입니다.
그림 10에서는signal의 배음 각각에 의해 강조된 phase fhifts에서 많이 왜곡된 모습을 보여줍니다.

이처럼. 필터는 감쇄현상에 의해서 wave의 형태 자체를 변하게 해주기도하며, 그 안의 개별적인 배음의 위상이동에 의해서 왜곡이 되기도 한다는 것을 알게 됩니다.
오늘은 여기까지!

 

합성이론 3장 : Modifiers and Controllers

합성이론 3. Modifiers and Controllers
지난번에 보았던 배음의 구조 이외에도 소리를 결정하는 요소에는 여러 가지가 있겠지만 소리에 특정한 요소를 부합하여 새로운 요소로 변화를 시킬 수도 있지요. 그 중에서 우리는 Controllers와 Modifiers를 보겠습니다.

소리가 있으려면 시작과 끝점이 필요하죠. 즉 하나의 소리는 시작과 끝점을 가진 형태를 가지고 있게 됩니다. 그럼 그 형태가 일정한 상태로 유지될 수도 있겠지요. 하지만 존재하는 소리가운데에서 어떤 소리도 그대로 정지해 있지는 못합니다. 하지만 우리는 이런 소리를 만들어 낼 수는 있지요. 그것을 만들어 내는 것이 바로 Signal Generator라고 하는 것입니다. 그리고 우리는 만들어진 신호를 Amplifier를 통하여 Volume이라는 옷을 입혀서 스피커로 나가게끔 하지요.

그럼 다음 아래의 그림을 보면, signal을 생성해내고 옷 입으러 가는데, Controller라는 놈이 옷장으로 침투하여 새로운 옷을 입게 해주는 것이 보입니다.

Volume, Voltage, Amplitude 모두 조금씩 차이가 있다지만 같은 개념을 설명합니다. 그리고 Controller가 Amplifier에 들어가서 Voltage를 조절하여 새로운 옷을 입힌 Signal을 만들어냅니다.
우리는 이것을 Control Voltage, 또는 CV라 부릅니다.
우리는 주로 이런 과정을Gain을 준다고 이야기하지요. Amplifier의 ‘Controller’입력에 적용된 Voltage 때문에 Amplifier는 signal에 그에 따른 특정Gain을 적용합니다. 이것을 Voltage Controlled Amplifier, 또는 VCA라고 합니다.

Amp에 있는 Gain손잡이를 완전히 돌려서 닫으면 CV는 0volt가 되며, Gain은 0이 됩니다.
반대로 Gain손잡이를 완전히 끝까지 올리면 CV는 10volt 그리고 Gain은 최대값이 됩니다.
자 그럼.. 다음과 같은 실험을 해보지요. 손잡이를 0에 두었다가 10v까지 올렸다가 5v까지 내리고 다시 0까지 내렸다고 치면 다음과 같은 그림이 되겠지요?

자. 그래서 옷을 입고 나온 이 그림이 바로 “Envelope”라는 개념이 됩니다. 제가 유아틱한 단어를 사용하지만, 그래도 이해하고 기억하기엔 더 좋으리라 생각이 듭니다. 그리고 이렇게 amplifier를 조정하는 장치를 우리는 Envelope Generator라 하며 짧게 EG라고도 합니다.

ADSR (Attack/Decay/Sustain/Release)이라고 하는 것은 가장 흔하게 사용되는 EG입니다. 3단계로만 이루어진 ADR(Attack, Decay, and Release)도 있지요.
여기서 알아야 할 점은
-Attack은 Sound가 최대의 소리크기로 가는 속도를 결정하게 된다는 것.
-Decay는 소리가 감쇄하는 속도를 결정한다는 것
-Sustain level은 언제까지 소리 크기가 지속되는지 결정한다는 것.
-Release에 의해 결정된 시간 안에 마지막 단계, silence로 decay된다는 것.
입니다.
단순하고 당연한 이야기처럼 들리지만, 다시 한번 읽어보고 읽어보시면 당연함 속에서 많은 가능성과 간과하기 쉬운 여러 가지 측면을 발견할 수 있을 것이라 생각합니다.

요기서 잠깐 oscillator에 대한 이야기로 다시 넘어가 보겠습니다. 모든 소리는 기본배음을 가진다는 것 기억하시죠. 만약 이 기본음이 20Hz(초당 20번 진동)에서 20.000Hz의 범위가 되어야 우리가 그 소리를 귀로 인식할 수 있게 됩니다. 이것을 가청주파수라고 합니다.  잠시 다른이야기였지만.. 아무튼 20Hz가 안되는 frequency를 생성해 내는 oscillator를 Low-Frequency Oscillators (LFOs)라 합니다. LEO는 주로 0.1Hz~20Hz의 진동을 만듭니다. 우리는 이것을 다음 그림처럼 적용시킬 것입니다.

그럼, signal이 하나 만들어지지요.
그리고 옷입으러 (–;)들어가지요 Amplifier로..
그리고 옷장에 LFO에서 만들어진 wave가 들어갑니다. 그리고 이것이 Controller의 역할을 하게 됩니다. 이것은 LFO가 CV로 사용되어 Tremolo 를 만들어 내는 하나의 단순한 응용을 보여준 것입니다. 지금은 단순한 방법으로 사용되었지만 얼마든지 많은 응용을 만들어 낼 수 있습니다.

모든 장치들이 사실은 그 스스로는 비슷한 일들을 합니다. Signal을 만들어내는 등등의 단순한 작업들이지만, 이것들이 어디 앞, 어디 옆, 누구와 연결되느냐에 따라서 Signal generator, Modifier, Controller등의 역할을 하면서 아주 많은 차이와 변화를 일으킬 수 있게 되는 것입니다.

So far, So good? Good!