水曜日
プラットフォームに応じて、ネイティブエディター(WindowsまたはMac)またはgedit、vim、emacs(Linux)のプラグインを開発環境として使用できます。 必要なのは、サーバーとインタープリターを開始するためのキーの組み合わせを処理することだけです。 また、他の言語を使用したOpen Sound Control(OSC)プロトコルを使用してサーバーと「通信」することもできますが、私の意見では「ネイティブ」言語を扱う方が面白いと思います。
言語
当初、Smalltalkの概念は言語の基礎として採用されていましたが、著者によれば、言語は他の言語の機能を獲得してきました。 その結果、非常に表現力豊かでコンパクトな言語になりました。 以下に例を示します。言語の詳細な説明は、「言語リファレンス」セクションのドキュメントに記載されています。
オーディオ実験用のGUIを作成できます-スライダー、ノブ、アナライザーなど、多くの便利なプリセットがあります。 さらに、MIDI、Wiimote、およびその他のHID(ヒューマン入力デバイス)デバイスをコントローラーとして使用できます。
例
SuperColliderは、自己表現などの十分な機会を提供する見返りに、深い開発のために多くの時間を必要とします。 それらの多様性のために、最も簡単な例を挙げます。 詳細情報は、特にいくつかのチュートリアルを含むボリュームヘルプで常に確認できます。
シンプルな「シンセ」から始めましょう。
1)1つのチャネルで200Hzの正弦波(1番目-デフォルトで左)
{ SinOsc.ar(200) }.play;
SinOscは最も単純な「UGen」(ユニットジェネレーター)です。 対応するヘルプセクションでUGen(ユニットジェネレーター)のセットに慣れることができます。
2)同じことですが、ステレオ
{ SinOsc.ar(200) ! 2 }.play;
3)ステレオ、ただし各チャンネルで異なるフェーズ
{ Mix2.ar(SinOsc.ar(200, pi/2), SinOsc.ar(200)) }.play;
または、マルチチャネル拡張の例として(4チャネルの例では、位相差= pi / 4)
{ SinOsc.ar(200, [0, pi/4, pi/2, pi/4*3]) }.play;
4)マウスカーソルの水平位置によって制御される周波数(0.1〜50 Hz)で、あるチャネルから別のチャネルに信号を転送する
{ Pan2.ar(SinOsc.ar(200), SinOsc.kr(MouseX.kr(0.1,50))) }.play;
5)信号周波数と1つのチャネルから別のチャネルへの変換周波数の変調
{ Pan2.ar(SinOsc.ar(150, add: SinOsc.kr(50, mul: 20)), SinOsc.kr(SinOsc.kr(0.1).abs*10)) }.play;
6)同じ、ただし三角形の封筒
{ Pan2.ar(SinOsc.ar(150, add: SinOsc.kr(50, mul: 20)), SinOsc.kr(SinOsc.kr(0.1).abs*25), 1) * EnvGen.ar(Env.triangle(20, 1)) }.play;
次に、構文を作成します。
SynthDef(\simple_synth, { |freq = 60, dur = 0.25, amp = 0.8, out|
Out.ar(out, SinOsc.ar(freq)*EnvGen.ar(Env.triangle(dur, amp), doneAction:2) ! 2);
}).add;
パターンを「再生」します:
Pbind(
\freq, Pseq([ Pseries(50, 10, 50), Pseries(550, -20, 25) ], inf),
\dur, 1/8
).play;
Pbind、Pseq、Pseriesは、メロディとリズムパターンを作成するための基本的な要素の一部です。 それらに加えて、他にも多くの組み合わせが可能です(たとえば、有限状態機械モデルを使用するためのPfsm)。 もちろん、正しいアルゴリズムを使用して独自のパターンを書くことを禁止する人はいません。
参照資料
・プロジェクトサイト
・リスニングコードの例
ドキュメンテーション
・SuperCollider Book (SCのすべての側面をカバーし、さらに必要 - 持っている必要があります )
合計
SuperColliderは、クラシックDAW(デジタルオーディオワークステーション)がなく、音楽、ライブパフォーマンス、その他のオーディオ(およびビジュアル)実験を作成するためのより柔軟なツールが必要なユーザーに適しています。