Max for Live-音のピッチ変更

今日もまたパッチ構築。

bangは処理変更のタイミングで同期(計算)させたいオブジェクトに対して行うと効果的。

ピッチ変更自体は全然難しくないんだけど、

  • 変数の指定方法
  • bangの仕込み方

で結構時間がかかっていた。

変数の指定方法

可変アーギュメントについては、まずフォーマットを指定して、
そこに格納することで変数に格納できて、以降インレットに接続したオブジェクトに対して可変アーギュメントで変数を指定可能となる。

その場合、変数を複数利用する前に仕込んでおく必要がある。

今回の記載例では、

  • スライダーで値指定
  • スライダーの値と再生するWAVのバッファの値を乗算する
  • packオブジェクトで変数2個、float指定
  • バッファの値、バッファの乗算値をそれぞれpackオブジェクトに格納する

という形で対応した。

これで変数がいっぱい必要でも対応はできそう。

bangを接続する必要のあるオブジェクト

色々やりようはあると思うけど、「音を変化させてすぐ処理させたい」場合に重要になる。

例えば、

  • スライダーを変化して音をひねりたい→スライダーから音ひねる計算部分に対してbangを送る
    これで計算結果はともかくとして音ひねった結果が格納される
  • オブジェクトの値を変化した際、最終的に送信するpackオブジェクトに対してbangを送る
    これで何らかの計算結果においてデータを送信できる

まだ初歩段階だと思うけど、まずは「計算結果を反映したい」ときはbangを検討という方針で進む。