Max for Live-音のピッチ変更
今日もまたパッチ構築。
bangは処理変更のタイミングで同期(計算)させたいオブジェクトに対して行うと効果的。
ピッチ変更自体は全然難しくないんだけど、
- 変数の指定方法
- bangの仕込み方
で結構時間がかかっていた。
変数の指定方法
可変アーギュメントについては、まずフォーマットを指定して、
そこに格納することで変数に格納できて、以降インレットに接続したオブジェクトに対して可変アーギュメントで変数を指定可能となる。
その場合、変数を複数利用する前に仕込んでおく必要がある。
今回の記載例では、
- スライダーで値指定
- スライダーの値と再生するWAVのバッファの値を乗算する
- packオブジェクトで変数2個、float指定
- バッファの値、バッファの乗算値をそれぞれpackオブジェクトに格納する
という形で対応した。
これで変数がいっぱい必要でも対応はできそう。
bangを接続する必要のあるオブジェクト
色々やりようはあると思うけど、「音を変化させてすぐ処理させたい」場合に重要になる。
例えば、
- スライダーを変化して音をひねりたい→スライダーから音ひねる計算部分に対してbangを送る
これで計算結果はともかくとして音ひねった結果が格納される - オブジェクトの値を変化した際、最終的に送信するpackオブジェクトに対してbangを送る
これで何らかの計算結果においてデータを送信できる
まだ初歩段階だと思うけど、まずは「計算結果を反映したい」ときはbangを検討という方針で進む。