Logic Pro : Modulator でビブラートを かける

Logic Pro Xの10.4アップデートによりピアノロールのMIDIドロー機能がオートメーションとして機能するようになりました。
従来のMIDI打ち込み手法を使っている人にとっては使い勝手が意外に大きく変わってしまった印象があると思います。

 

余談:テンプレ

今回のLogic Pro Xのメジャーアップデートをきっかけに、うちで使ってるテンプレを少し見直しました。
そもそもどう設定してるかというと…

  1. コントロールバーとディスプレイをカスタマイズで随所On/Off切り替え
  2. Stereo OutにAUGraphicEQとOzone7を挿しておく(これはオススメしない)
  3. いったんピアノロールを開き、スナップとオートメーションの設定を変えておく
  4. ステップエディタのデフォルトのレーンセットを削除しておく(うちは初期状態の「自動」だと無意味に空のレーンセットが開かれてしまうので、それを削除して旧来の「MIDI Control」が開くようにしてある)

オートメーション動作の仕様変更

MIDIドロー機能がオートメーションとして機能するアップデートに伴い、そのトラックのオートメーションモードが「Read」のときにプラグイン等のパラメータに触れるとオートメーション表示対象が自動で切り替わるようになったのですが、少し複雑なMIDIインストゥルメントを使用した場合やプラグインエフェクトをいじった際にもオートメーション表示対象が切り替わってしまいます。
つまり、気づけばMIDIチャンネル2番以降のエディットになってたりして「おっかしいなあ、ピッチベンドかかんねえなあ」なんてことがあり得ますね。大丈夫だとは思いつつも。

この機能のOn/OffはミックスメニューのReadモードでオートメーションパラメータを自動選択で切り替えられます。
使用頻度が高いようであればファンクションキーにでも割り当ててしまうとよさそう。
うちはF6キーを割り当ててます。ファンクションキーはメニュー上にはキーコマンドとして表示されないようですけどね。

いちど目的のMIDIチャンネルと違うMIDIチャンネルで入力されてしまったそのMIDIチャンネルを修正するのはピアノロール上ではどうもできなそうで(厄介な!)、

  • ピアノロール上のオートメーション表示のMIDIチャンネルを切り替えてカット&ペーストする
  • メインウィンドウでMIDIリージョンに対してすべてのパラメータを永続的に適用する(なおフェーダーイベントには適用されない)
  • イベントリストを開いてちまちま修正する

のが関の山。

いずれにせよ、ちょいちょいこれを行わされるというのはすこぶる鬱陶しいので、いっそ何らかのMIDIコントローラーでリアルタイムで入力していくのが妥当なんでしょう。不安は残りますが。

間接的なオートメーションパラメータが優先表示される問題

たとえばAmple GuitarをModulationで操作するときに、Modulationによって値が切り替わるパラメーターのほうがオートメーションパラメータ欄に表示されてしまいます。
こうなるとやはり、Readモードでオートメーションパラメータを自動選択は邪魔と考えざるを得ません(一時的にイライラがピークになるってだけですがね)。

Ample Guitarの話題が出たついでなので、何点か気付いた点と対処についても記しておきます。

値のジャンプをさせるドラッグコピー

Logic Pro XのステップエディタではたとえばModulation 0の16分音符あとにModulation 127という値を入力することで値のジャンプを行わせられ、かつてはギターのハンマリング・オンやプリング・オフを表現するのに活用されたわけですが、これがピアノロールでオートメーション表示した際に勝手に補間されてしまうことがあります。
補間を避ける方法としては、たとえば0と127の制御点がある場合、0の制御点をいったんクリックホールドしておいてOptionキーを押したままドラッグして127の制御点の箇所までコピーして持ってくることが可能です。ただ移動するだけではダメで、ドラッグコピーするのがポイント。
ただし誤動作を何度か確認したのと、またいつ仕様変更が起きるかもわからないのと、カラオケデータ制作など特定の業務では重複した値の連続入力が冗長と見なされて不良品扱いされる(カラオケデータなど)こともあるので、姑息な措置と考えていただけると有り難いです。

MIDIインストゥルメントの中には、この値のジャンプをフォローできずに中途半端な値で止まってしまうものもあるので、これに関しては正直諦めるほかないと思います。
Ample Guitarがその1つでした。
どうも再生中にいつしかギターのピッチがずれてると思ったら、Modulationの値をジャンプで0に戻した瞬間にこの現象が起きているっぽかった。
あと未検証ですがMODO Bassも同じような可能性があって、MODO Bassに関しちゃさらに面倒なことに、どれかの弦に限定してピッチがずれるみたいな器用なことが起きてます。何ですの、これは。

Ample Guitarのビブラート

Ample GuitarといえばModulationによるビブラートの設定も独特で、Auto Modというのを入れないとModulation値を上げてもただピッチが上がるだけ。

またビブラートのスピードも変えられないっぽいので、ならばPitch Bendで入力する他ない…そう思いきや、Logicからの信号だとPitch Bendの処理が追いつかない、というあんまりな仕組みになっていて、Logicと相性が悪いという他ありません。
それだけにMPEの実装が待たれるところではありますが…

MPE が正式にMIDIの規格になるようで

いつの実装になるのか、うちらが期待するような仕様で実装されるかすらわからんので、一時しのぎとしてAmple Guitarのビブラートをうちではこうしたという方法をついでに記しておきます。

Modulatorの機能と利用

このModulatorってのもわかりにくい上に説明があまり無くて困ったサンなのですが、いちばん説明が必要そうな部分をざっとだけ書いておくと、

  • ENVにあるTriggerLFOは、ModulatorのLFOの値が天井についたときにENVをスタートさせるもの
  • ENV to LFO Ampとあるのは、LFOのOutput LevelでなくOffsetに対して利くような動き(バグかな?)
  • 通常、LFOとENVの両方をOnにする機会はほぼない

今回はやむなく力技で「Ample Guitarが定義する速度と違う速度でビブラートをかける」ためにLFOとENV両方をOnにしてます。

  • CC#1 Modulationを利用する場合
    • Ample GuitarのMod Rangeは0.75程度に設定、Auto ModはOFFる
    • ModulatorのToMod Wheelに設定、ENVのToはOFFる
    • LFOのRateは4.8〜7.2Hzくらいが限度か
  • Pitchbendを使う場合(オススメしない)
    • Ample GuitarのBender Rangeは1か2に設定
    • ModulatorのToPitchbendに設定、ENVのToはOFFる
    • LFOのRateは4.8〜7.2Hzくらいが限度か
    • ENVをSync(♪ボタン)させ、Holdを全開の32barsに設定(ADSRのSustain値があるわけじゃないので、ギターが減衰音であることを考慮すれば、Holdを32小節にしておけばまあよいかと;秒数表示だと10000ms=10秒がMAXで、Sync状態だと仮にBPM120では32小節=64秒となり、断然こちらのほうが長い)
    • ENV to LFO Ampを全開に設定(100%か-100%じゃないとかからない;これもバグかな?)

そんで、いつもならModulationでビブラートをかけるところを、LFOOutput Levelをオートメーションさせることで、ギター向きの、ピッチが高いほうにしか上がらないビブラートを得ます(弦に多少の弾性はあるので、若干ピッチが低いほうに揺り返す程度の設定にできてもよさそうだが、上記のバグのためこれが実現できない)。

デフォルト値が最小値ではないパラメーター、つまりたとえばPitch Bend(-8192〜8191)はLFOが0を挟んで上下に振れる形式ですが、CC#10のパンは64をデフォルト値としてくれないので、周期的にパンを揺らしたい場合はOffsetの値(と必要ならばENV to LFO Ampとの兼ね合い)で調整する必要がある点に注意。


念押しで書いておきますが、Pitchbendで揺らすタイプのビブラートをオートメーションで書くとLogicの場合補間処理によって情報量がオーバーフローしかねないため、LFOを介することで負担をかけずにビブラートを発効するという記事でした。

なお、このようにオートメーションでModulatorのOutput Levelをコントロールするって手法にしてもなお、Readモードでオートメーションパラメータを自動選択が作業を妨害してくるので、やはりこの機能にはキーコマンドをアサインしてすぐに切り替えられるようにしたほうが精神衛生面には良いと思われます。

以上、長くなりましたが、中身的には小ネタでした。