※この記事では音響合成プログラミング環境&言語のSuperColliderについて書いています。
※この記事ではMacOS版のSCを使っています。
※文中SuperColliderをSCまたはスパコと略しています。
アプリの起動、構成、基本操作
インストールしたアプリ(白と黒の丸い渦のようなアイコン)をダブルクリックしてSuperColliderのIDEを開きます。IDE(Integrated Development Environment)は、プログラミングのコードを記述するエディタ、プログラムを動作させるためのコンパイラ、ヘルプファイルやコードの出力結果を表示するものなど、プログラム開発ツールをひとまとめにした開発環境のことをいいます。SCのプログラミングに必要なもの一式が揃っています。ざっくりとSuperColliderのアプリ=SC IDEだと思ってください。
SC IDEの画面は主に4つに分かれています。
標準ではA〜Cまでが表示されていますが、もし表示されていないものがあれば、SuperCollider > View > Dockletsから表示したいものを選んでください。既に表示されている場合はDockletsで表示されるリストにチェックマークがついています。
A. コードエディタ … SCファイルを表示し、プログラミングコードを記述する部分です。複数のファイルをタブで表示することもできます。SCのファイルの拡張子は.scdです。
B. ポストウィンドウ … SCの起動時のメッセージ、コードの実行時の出力結果、エラーなどを表示するウィンドウ。
C. ヘルプブラウザ … SCのヘルプファイルの検索や表示。
D. ドキュメント … 現在開いているファイルをリスト表示。
ポストウィンドウとヘルプブラウザは、各ウィンドウの上部のメニューをドラッグすることで、表示する位置を変更することができます。また各ウィンドウの文字の横の小さな四角をクリックすると「Undock(またはdock)/ Detach(Attach) / Close」が表示されますので、自分が作業したいレイアウトにしてみてください。
SC公式のヘルプの画像を貼っておきます。
クライアント / サーバー
さて、SCを起動すると自動的にアプリがもう1つ起動してきます。MacOSではDockに起動中のアプリのアイコンが表示されますが、白黒模様の立方体が増えているのが分かりますか?これはアクティビティモニタにはプロセス名「scsynth」として表示されているもので、SuperColliderのシンセ部分、音響合成の処理をしています。
実はSuperColliderは2つの部分に分かれています。1つ目は先に紹介したプログラミングコードを書いて実行する部分でsclang(SCラング)と呼んでいます。langはlanguageの略で言語の部分です。2つ目、は自動的に起動したscsynth(SCシンス)で、オーディオの処理を行っている部分です。この2つはOSC(Open Sound Control)というプロトコルを使って内部的に通信しています。
初期のSuperColliderでは、lang部分とsynthの部分は一体化した一つのアプリケーションでした。ライブ中にSCのプログラムがクラッシュをすると音もその場でプチン… と終わって無音になってしまっていたのですが、これらの2つのパートが分離したことで、万が一クラッシュしても音は生成され続け、なんとか最悪の自体を免れることができるようになりました。
またパソコン内の別のアプリや、ネットワークの向こうのsclangから一つのscsynthを動かしたり、プログラミング言語としてのSCを使わずに別の言語からscsynthを使い、SuperColliderのサウンドを利用することもできるようになりました。その利点を活かしたOvertone(https://overtone.github.io)は、Clojureというプログラミング言語でSCのオーディオエンジンを扱うことができます。またライブをしながらコーディングを行う演奏スタイル、ライブコーディングをする人の中には、ライブコーディングに特化した言語を用いてscsynthで音を生成している場合も少なくありません。