Max for Live デバイス製作①
プログラミング言語Maxを使用し、Max for Liveデバイスを制作することでLive(※Ableton社のDAW)を拡張し、カスタマイズすることが可能となる。
Max for Liveデバイスの特徴は、単なるプラグインの域を越えてLive自体を操作することができることである。
ここでは大石の制作したデバイスを取り上げる。
ClipSelector
- デバイス上の4つのボタンとLaunchボタンに、Midiコントローラのボタンをアサインできる
- 上下左右のボタンを押すとセッションビューで選択しているクリップを移動することができる
- Launchボタンを押すとそのクリップの再生、停止、録音開始をすることができる
4 band crossover
- DJ 用の 4 band イコライザー
- イコライザーというよりもアイソレータ、完全に各帯域の音声を切ることができる
- 3 band のものは Live に付属していたのだが、 4 band のものはなかったので作成
- ボリュームメーターで各帯域の音量を確認、調整することができる
- ボリュームメーターの間にあるノブでクロスオーバー帯域を変更することができる
- ボリュームメーターの下のボタンでその帯域をON/OFFすることができる
TimePoints
- Liveの画面上部のアレンジメント位置に連動し、特定のクリップ、またはシーンを Launch することができる
- 1-16の内、好きな数だけ表示して利用することができる
- デバイス画面内に収まらない数の場合は、デバイス内で左右にスクロールすることができる
製作動機
- Live の follow action の分解能が 16分音符しかない
- クリップ終了時に隣のクリップを follow action で Launch することができない
- TimePointsの時間指定は [小節] : [拍] : [Ticks] で指定する
- [小節]、[拍] は Live と同様 1 からスタートする
- [Ticks] は4分音符で 480 Ticks になる。 16分音符は 120 Ticks
OneKnobFilter
- 左に回すとハイパスが、右に回すとローパスがかかるフィルター
- Midiコントローラの誤差を考慮して真ん中 +-5% は動作しないようにしている
- フィルターのレゾナンスも別途変更できるようになっている
- 出力時の音量もモニタリング&変更できるようになっている
- 素早く動かしても変な動作にならないように工夫してある
MultiMapping
- このデバイスに並んだノブにMidiコントローラを割り当てて利用する
- 1-16個の内、好きな数だけ表示して利用することができる
- デバイス画面内に収まらない数の場合は、デバイス内で左右にスクロールすることができる
- このデバイスのノブに Live の他のパラメータを割り当てて利用する
- 割当方法は [Set...] ボタンを押した後、割り当てたいパラメータのUIをクリックする
- 割当が完了すると、割り当てたパラメータの名前が、ノブと一緒に配置されている数値一番下のテキストボックスに入力される
- [min] で割り当てたパラメータの内、利用する最小値を設定できる
- [max] で割り当てたパラメータの内、利用する最大値を設定できる
- [y = x^] は [min] と [max] の間に指数/対数カーブをつけることができる
(https://leico.github.io/TechnicalNote/Memo/log-power)
MultiOSC
- MultiMapping のOSCバージョン
- 特定のOSCアドレスに届いたパラメータをLiveの他のパラメータに割り当てて利用する
- 1-16の内、好きな数だけ表示して利用することができる
- デバイス画面内に収まらない数の場合は、デバイス内で左右にスクロールすることができる
- [receive port:] でOSCを受信するポートを設定する
- [Controller Address:] でOSCコントローラのアドレスを設定する
- [Controller Port:] でOSCコントローラの受信ポートを設定する
- OSCのアドレスはテキストボックスに手入力の他、 [learn..] ボタンを押した後、最初に届いたOSCのアドレスが自動的に割り当てられる
- [OSCValue: Min:] で OSC で届く最小値を設定する
- [OSCValue: Max:] で OSC で届く最大値を設定する
- Live のパラメータに割り当てたり、指数/対数カーブをつけるといったことは MultiMapping と同じ方法になる
OSCMultiArgs
- MultiMapping の 複数の引数をもつ OSC メッセージのためのデバイス
- 1-16の内、利用する引数の数だけ表示することができる
- デバイス画面内に収まらない数の場合は、デバイス内で左右にスクロールすることができる
- [receive/Controller port:] で受信ポート、及びコントローラの受信ポートを設定する
- [Send Address:] でOSCコントローラのアドレスを指定する
- OSCのアドレスは MultiOSC 同様、 [learn...] ボタンを押すと最初に到達したOSCのアドレスが割り当てられる
- Live のパラメータに割り当てたり、指数/対数カーブをつけるといったことは MultiMapping と同じ方法になる
使用技術・ツール
Max / Max for Live / Live API
関連記事
-
Technical
SHISEIDOグローバルフラッグシップストア
-
Blog
Expressで作ったNode.jsアプリでhttpsを有効にするには?
-
Technical
Max for Live デバイス製作②
-
Blog
Music Transformerを動かしてみる
-
Blog
自前サーバで HTTP Live Streaming 配信をする
-
Blog
MacBook Proをクラムシェルにした時iPhoneをウェブカムの代わりにして使うには?と、あと少しのTips
-
Blog
unityを始めてみようか。
-
Blog
tensorflow1.15系と2.0系を同居させておくには?(ubuntu, GPU環境)
-
Blog
マジで最初から Swift で iOS アプリ作る(TextView)