そろそろstartup.rtfについて書いておく #SuperCollider

SynthDefを1024個以上使用するSCヘビーユーザの皆様こんにちは。ヘルプのServerOptions.htmlは見たことありますか?

ServerOptionsを使おう

SCの初期設定ではサンプルレートが44.1kHzだったりメモリの確保がちょいと低かったりします。ローカルサーバをデフォでブートさせると、以下のように表示されますね。

SC_AudioDriver: sample rate = 44100.000000, driver's block size = 512

こんなんじゃダメだ!という方のために、SCのサーバには豊富はメソッドが実装されており、色々設定を変更したりできます。サンプルレートを変更するには、sampleRateメソッドが。ブロックサイズを変更するにはblockSizeメソッドがあります。

o = Server.local.options;
o.sampleRate = 96000;
o.blockSize = 128;

など実行してからサーバをブートさせると、

SC_AudioDriver: sample rate = 96000.000000, driver's block size = 1024

なんとちゃんと反映されています。素晴らしい。
サーバオプションのメソッドには他にもmemSize、maxSynthDefsなどなど色々あります。maxSynthDefsの初期値は1024なので、SynthDefを1024個以上使う場合は変更しておく必要があります(たぶん、試したことないで)。これらのメソッドはServerOptions.htmlに書いてあります。そのうち誰か詳細を書いてくれると思います。お願いしますw

ここでstartup.rtfの登場

SCを立ち上げてからいちいちコード実行して設定を変更させる、なんてのはあり得ない。そこで、SC立ち上げた時に必ず見に行くstartup.rtfにこいつらを記述しておきましょう。startup.rtfファイルは

- On Mac OS X the path is either "/Library/Application Support/SuperCollider/startup.rtf" (i.e. a system-wide file) or "~/Library/Application Support/SuperCollider/startup.rtf" (i.e. a user-specific file). Both files can be used, where the system-wide file is executed before the user-specific file.
- On Linux the path is "~/.sclang.sc"
- On Windows the file is "startup.sc" and needs to be in the same directory as PsyCollider

らしいです。そんなわけで、startup.rtfファイルに

Server.local.options.blockSize = 128;
Server.local.options.sampleRate = 96000;
Server.local.boot;
Document.openAutoComplete;

などなど書いておけば、好みの設定で起動できてオートコンプリート設定でファイルを開くことができます。

以上

因に、Emacs使っているとなんか読み込んでくれません。どうするんだろう?