Maxの中から、MSP環境上での低レベルのコントロールを行なうことを可能にするために、dsp という名前の特別なオブジェクトが定義されています。このオブジェクトは、Max アプリケーション環境の中で様々なオプションを変更するためのメッセージを受け取る max オブジェクトと同様なものです。dsp オブジェクトへのメッセージの送信は、メッセージボックスの中でセミコロン 「 ; 」を入力し、その後に「dsp」、メッセージ、および(必要ならば)アーギュメントを続けることによって行われます。下に、実例を示します。
dac~ や adc~ オブジェクトなしで、オーディオのオン/オフをスイッチします
メッセージボックスは、どこにも接続する必要はありません。しかし、メッセージにアーギュメントを与える場合や、パッチを開いた時にMSPシグナル処理のパラメータ設定を行うために loadbang オブジェクトからこれをトリガしたい場合、メッセージボックスのインレットに必要なものを接続することができます。
dspオブジェクトが解釈するメッセージのリストは以下のようなものです。
メッセージ | パラメータ |
;dsp start | オーディオの開始 |
;dsp stop | オーディオの停止 |
;dsp set N | N = 1, オーディオの開始 |
;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メッセージでコントロールできます。この機能をサポートするドライバについての情報は「オーディオ入出力」セクションを参照して下さい。