Ableton Liveでプリセットを切り替える方法
マウスvsつまみ。
音源チェックに向いているのは?
Liveで音源やエフェクトを別のプリセットに切り替える時、どうしていますか?
「ホットスワップモード」にすればデバイスを差し替えられるけど、ブラウザ上で一つずつファイルをダブルクリックで読み込まなければならず、たくさん試したい時は不便に感じます。
また、他社製のプラグインの場合も、ソフトのプリセットにアクセスする時にマウスで一回一回読み込むのが面倒。
ハードウェアのようにマクロのつまみで音色を切り替えたい!ということで、インストゥルメントラックを活用する方法と、M4Lでプログラムチェンジを送信する方法について考えました。*1
インストゥルメントラックのチェーンセレクトで、プリセットを切り替える。
ここではLive Suite付属のソフトシンセ「Analog」を例にして説明します。
(Standardユーザーの方は「Drum Machine」などのPack収録の音源や、自作のラックプリセットでも同じことが出来ます)
Liveデバイスのプリセットは拡張子が「.adv」か、ラックの場合は「.adg」で保存されている。
まずは一つ目のプリセットを読み込みます。
読み込んだらデバイスのタイトルバーを右クリックして「グループ化」します。
チェーンリストを開き(左側の小さなアイコン、下から二つ目をクリックすると開きます)他のプリセットを一つずつドラッグして加えていきます。
プリセットが集まったら、Chainを押してチェーンセレクトゾーンを表示します。
一番左から一つずつチェーンゾーンをずらしていき、下記の図のように階段状にします。
チェーンセレクトゾーンを一つずつ動かしていく。
次にマクロマッピングモードにして、マクロにチェーンセレクターを割り当てます。
右上の緑の部分をクリックし、マクロにマップする
これでマクロを動かしてプリセットを切り替えられるようになりました。
ここでは「Analog」を例にしましたが、前述のようにPackの音源やエフェクト、他社製のプラグインでも同じように出来ます。しかしこの方法の問題は、全てのプリセットがバックグラウンドで立ち上がっているということです。
AnalogやDrum Rackのような負荷の軽いデバイスならこの方法でもいけますが、動作が重いプラグインやエフェクトの組み合わせだとかなり負荷が高くなり実用的ではありません。
チェーンセレクトと同時に、デバイスのオン/オフを切り替える
そういうわけなので、しばらくこの方法は負荷のかからない範囲での使用に留まっていました。
複雑なエフェクトラックとかだと、4~5個のプリセットでもCPU使用率がぐんぐん伸びてしまうし、何かいい方法ないもんかと悩んでいたところ、Abletonの過去のフォーラムで、ユーザーによって素晴らしい解決方法が提案されていたのを見つけました。(考えた人エライ!)
https://forum.ableton.com/viewtopic.php?f=4&t=184758
チェーンセレクトで選択されたデバイスのみをオンにし、それ以外はデバイスオフにするという方法で、デバイスはオフの状態ではCPU使用率にもほとんど影響を与えないようです。
実際のやり方ですが、まずは先ほどと同じようにインストゥルメントラックにプリセットを集めて、チェーンセレクターをマクロに割り当てます。
今度はオーディオエフェクトラックを集めてインストゥルメントラックを作成していきます。*2
Audio Effect Rackのプリセットを読み込み、先ほどと同じようにチェーンを作成する
次にチェーンリストの中のひとつを選択して、これのオン/オフをチェーンセレクターと同じマクロに割り当てます。
画像右上のデバイスのOn/Offボタンをマクロに割り当てる
全てのチェーンでオン/オフを割り当てたら、マッピングブラウザで今割り当てたオン/オフの範囲をチェーンセレクトの番号に合わせます。例えばチェーンセレクトが「0」の時に選択されるチェーンであれば(最小値0、最大値0)に設定します。「3」であれば最小値も3、最大値も3です。
これでチェーンセレクトで選択された時にのみ、デバイスをオンにすることができます。*3
他社製プラグインにプログラムチェンジメッセージを送る
一方で他社製のプラグイン(VSTやAudio Unit)でプリセットを切り替えたい場合は、MIDIのプログラムチェンジに対応していれば、そっちを使った方が簡単です。
プログラムチェンジメッセージを送信する方法ですが、下記のM4Lデバイスを使えば簡単にコントロールできます。(僕がはじめて作ってみたM4Lパッチです。もちろんフリーですが自己責任でお使いください笑)
Program Change.amxd (Ver1.0)をダウンロードする
分類としてはMIDIエフェクトになるので、音源の前に置いて、ダイヤルを回すとプログラムチェンジが送信されてプリセットが切り替わります。一応下のやつでバンクメッセージも送信できますが、プログラムチェンジに比べて対応しているプラグインは少ないみたいです。*4
なお、プラグインエフェクトをオーディオトラックに挿して使う場合は、このデバイスをMIDIトラックに置き、ミキサーの「M to」で、プログラムチェンジメッセージをオーディオトラックに送る必要があります。
自分で作っといて何ですが、M4Lで一番よく使うパッチになりました。
音源のプリセットを試すときに便利なので、不便を感じているようなら試してみてください。
*1:普段からマウスでOKな人には全体的に意味ない内容かも…。わざわざラックを組むのも手間だし。Pushなら本体でブラウズ出来るし、touchAbleという手もあるので、かなりニッチなアイデアかもしれないですが、LiveのラックやMax for Liveの拡張性を学びたい人は試してみて下さい。
*2:ラックはこのように入れ子構造にできるので、使い方次第でいろいろなことができます。極端にいえば、ここで作成したプリセット集をさらに集めてバンク構造にしてさらにそれをメガバンクにして…なんてことも出来ますが、ラックを増やしてもマクロでコントロールできるのは8つまでのパラメータだし、膨大なファイルのロードには時間がかかる上、CPU使用率が低く表示されていてもメモリを消費するため動作が重くなります。
*3:はじめはほとんど完璧な解決方法に思えたんですが、まだ問題点はあるのでメモ。
チェーンセレクトの範囲を0-127で使ってる分には問題ないが、プリセットの数に合わせて範囲を変えると、デバイスのオン/オフの範囲も変化してしまう。
例えばチェーンセレクトの範囲を0-4に変更すると、デバイスオン/オフの最小値と最大値を「0」と設定したものが、「0-15」に変化する。正常に動かすにはチェーンセレクトの範囲もそれに手動で合わせる必要がある。
*4:Native InstrumentsのReaktorはバンクにも対応していました。プログラムチェンジは対応しているソフトも多いですが、対応してないのもけっこうあるので、その場合は残念ながら使えません。