dsp オブジェクトのコントロールと
MSP の自動化

Maxの中から、MSP環境上での低レベルのコントロールを行なうことを可能にするために、dsp という名前の特別なオブジェクトが定義されています。このオブジェクトは、Max アプリケーション環境の中で様々なオプションを変更するためのメッセージを受け取る max オブジェクトと同様なものです。dsp オブジェクトへのメッセージの送信は、メッセージボックスの中でセミコロン 「 ; 」を入力し、その後に「dsp」、メッセージ、および(必要ならば)アーギュメントを続けることによって行われます。下に、実例を示します。


dac~adc~ オブジェクトなしで、オーディオのオン/オフをスイッチします

メッセージボックスは、どこにも接続する必要はありません。しかし、メッセージにアーギュメントを与える場合や、パッチを開いた時にMSPシグナル処理のパラメータ設定を行うために loadbang オブジェクトからこれをトリガしたい場合、メッセージボックスのインレットに必要なものを接続することができます。

dspオブジェクトが解釈するメッセージのリストは以下のようなものです。

メッセージ パラメータ
;dsp start オーディオの開始
;dsp stop オーディオの停止
;dsp set N

N = 1, オーディオの開始
N = 0, オーディオの停止

;dsp status DSP ステータスウィンドウを開く
;dsp open DSP ステータスウィンドウを開く
;dsp sr N N = 新しいサンプリングレート( Hz 単位)
;dsp iovs N N = 新しい I/0 ベクタサイズ
;dsp sigvs N N = 新しい シグナルベクタサイズ
;dsp debug N N = 1, 内部デバッグをオンにする
N = 0, 内部デバッグをオフにする
;dsp takeover N N = 1, オーディオ割り込みのスケジューラをオンにする
N = 0, オーディオ割り込みのスケジューラをオフにする
;dsp wclose DSP ステータスウィンドウを閉じる
;dsp inremap X Y 物理デバイスの入力チャンネル Y を論理入力 X にマッピングする
;dsp outremap X Y 論理出力 X を物理デバイスの出力チャンネル Y にマッピングする
;dsp setdriver D S D が 0 から始まる数値の場合、新しいオーディオドライバが「その時点で生成されるドライバのメニュー」のインデックスに基づいて選択されます。このメニューはadstatus ドライバオブジェクトによって作られます。
D がシンボルの場合、新しいドライバは( D が有効なドライバ名であれば)そのドライバ名によって選択されます。2番目のアーギュメントS はオプションで、「サブドライバ」の名前を指定します。実例をあげると、ASIO ドライバの場合、ドライバ名は ASIO になり、サブドライバ名は、例えば PCI-324になります。
;dsp timecode N N = 1 または 0 によってオーディオドライバによるタイムコード読み出しを開始、または停止させます(現在サポートされるのは ASIO 2 ドライバのみです)
;dsp optimize N N = 1 または 0 によって Altivec 最適化をオン/オフの切り替えを行います。
;dsp cpulimit N によってCPU の利用率のリミット(限度)を設定します。このリミットが超えられた場合、MSPはCPU利用率が再び低くなるまでオーディオベクタの処理を行わないため、クリックノイズが生じます。N は 0 ? 100 の数値で設定され、N が 0 または 100 の場合、リミットチェックは行われません。

ある種のオーディオドライバは、;dsp driverメッセージでコントロールできます。この機能をサポートするドライバについての情報は「オーディオ入出力」セクションを参照して下さい。