SuperColliderについてまず知らなければならないことは、それがクライアント/サーバー・モデルを使っているということです。このことが意味することは、私たちはSuperColliderの言語でシンセシスのプロセスを定義するプログラムを書くのだということです。私たちが書いたプログラムが正しい限りにおいては、サーバーは言われた通りのことをするでしょう。サーバーはオーディオを処理し、サウンドをシンセサイズします。
クライアント/サーバー・モデルによって、シンセシスの定義とシンセシスのスケジューリングを、2つのはっきり分かれた部分に簡単に分けることができます。シンセシスのスケジューリングからシンセシスの定義を分離することにはアドバンテージがあります。
例えば、シンセシスのプロセスを同時に実行する必要なく、MIDIや、ディスクへのサウンドファイルの読み書きをスケジューリングするのにSuperCollider 3を使うことができます。
スケジューリングからシンセシスを分離することは、コンピュータ・プログラムにおいてデータと関数を分離するというのにも似たパラダイムを作り出します。そうしたモデルによって、概念化したりプログラムを書くのが簡単になることがよくあります。
SuperCollider 3のクライアント/サーバー・アーキテクチャは、分散型のネットワーク化されたコンピューティングのモデルを作り出します。クライアント/サーバー・アーキテクチャによって、複数のコンピュータはネットワークのいたるところでコミュニケートして簡単に一緒に働くことができます。
ネットワーキングという考え方は、私のこの週末のレクチャーを通して何度も取り上げるテーマです。私の意見では、ローカル、リモート、そして離れたところとネットワークするためにコンピュータを使うということは、創造性と芸術性に新しいモデルを提供するものです。それは、メディアのアーティストであり科学者である私たちが、注意深く取り組まなければならないものです。
////////////////////////////////////////////////////////////////////////////////////////////////////
まとめると、SuperCollider 3はシンセシスのプロセスをクライアントで定義して、その定義をサーバーで動かすためのプログラムです。
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
次のコードは、前の2つの例から持って来たものですが、唯一の違いはローカルとリモートのサーバーは異なるIPアドレスで、そのうちの1つはサーバー・オブジェクトのアーギュメントとして与えられているということです。
////////////////////////////////////////////////////////////////////////////////////////////////////
go to 02