maxmsp max8 入門 MSP編1
動画です。
導入
maxでオーディオ処理を行うオブジェクト群はmspと言います。mspオブジェクトはmaxオブジェクトと同じようにパッチコードで接続されます。
maxオブジェクトはmaxオブジェクトと異なりオブジェクト間で継続的な関係を持ちます。信号ネットワークと呼ばれます。
例えば下ではナンバーボックスは0.75という値を認識していません。bangが送られて初めて0.75という値が送られナンバーボックスが認識します。
一方mspオブジェクトでは接続されたオブジェクト間は常に信号を認識して計算を行っています。mspはmaxオブジェクトより高速なレートで実行されるオブジェクトと考えることもできます。maxオブジェクトはミリ秒単位でパッチ部分でやり取りを行いますがmspはより高速にやり取りを行います。
オーディオレートと制御レート
maxでイベントをスケジュールする時間単位はミリ秒です。これはシンセなどのシーケンスなどの制御には十分です。しかしデジタルオーディオはこれよりはるかに高速である必要があります。 通常例えば1秒に48000回などの計算を行います。
例えばこれはcycle~の振幅をphasor~で制御するパッチですが1ミリ秒間にcycle~とphasor~の値を48個掛け算する必要があります。
maxではmaxオブジェクトによるミリ秒単位の制御レートとmspオブジェクトによるオーディオレートの二つの速度のレートがあると考えると便利かもしれません。
maxとmspのリンク
maxのメッセージとmspの変換を行うようないくつかのオブジェクトがあります。 sig~はnumberを変換します。snapshotはmspをnumberに変換します。
MSPの制限
mspはmaxオブジェクトと異なり常に計算を行うため負荷が大きいです。オブジェクトによって負荷が異なります。
CPUの負荷やオブジェクトの負荷を確認するにはviewのShow cpu usageなどがあります。
オーディオ入力と出力
入出力にはdac~やadc~ または使いやすいezadc~ ezdac~を使います。
adc~が入力でdac~が出力です。
右下のAudio On/Offをオンにするとmspオブジェクトが動き計算を始めます。
オーディオステータスウィンドウ
オーディオの設定はオーディオステータスから行います。
オーディオステータスウィンドウが表示されます。
ドライバーやサンプルレートやバッファサイズを決定できます。
nonrealtimeドライバー
nonrealtimeドライバーを使うと非リアルタイムで計算を行います。
dsptime~で時間を測りsfrecord~に送って録音します。