Logic Pro : アルペジエイターのスケールクオンタイズ

アルペジエイターやフレーズシーケンスを内蔵したソフトシンセだとどうしようもないのだけど、決まったフレーズを繰り返すパートで、コードチェンジした瞬間にスケールに合わない音が鳴る場合にどうしたもんかと。

こういうケース

ここでは、単音弾くとm7のコードがアルペジエイターで自動的に鳴るようになっていて、Cm7とAm7とでスケールがぶつかっています(表現おかしいけど便宜上こう書く)。
なお、純正のChord TriggerArpeggiatorを使っていますが、同じように機能するMIDI FXであればEONでもReason Studio FXでもいいし、WA Production製の何かしらでもいい。

Cメジャーのフレーズを、ルートAで鳴らすとC#が鳴ってディスコードしちゃう、って単純な話。

蛇足ながら、アルペジエイターをソフトシンセに搭載するならスケールに合わせる機能も並行搭載してくれないと、個人的には中途半端と言わざるを得ない(実装してるソフトもないではないが、少数という印象がある)。
で、これらはDAW側からどうにかすることは、いずれ、もしかしたらマイクロチューニングの機能同様、コード進行トラックをプロジェクト内に作成することでソフトシンセ内のスケールを制御するという形で実現されるかもしれないが、現状では不可能。何ならAIをその(ホストとプラグインとの間の)インターコミュニケーションに応用してほしいものだが…。実際に演奏されているコード進行のMIDIからスケールを解析してプラグインソフトに送り込むくらいできそうなんよ。

「このトラックに録音」後、スケールクオンタイズ

MIDIをここに録音
MIDIをここに録音

わりと混乱が少ないのは、右図のように最下段のMIDI FXをクリックしてMIDIをこのトラックに録音する方法ですが、これはMIDIキーボードを弾いて行うことが前提になっています。

※IACドライバを使えば、既存のMIDIリージョンを別トラックにフレーズとして録音することが可能ではあるので、その方法を知りたい方はうちの過去記事をIACで検索するか、ググってください。

で、うまくレコーディングすると下の図のようになり、ここでスケールクオンタイズ(赤枠部)を適宜選択すれば音程が補正(赤点線枠は修正後の音程)されます。

スケールクオンタイズの反映
スケールクオンタイズの反映

TransposeのMIDI FXを使う

Logic Pro "Transposer"
Logic Pro “Transposer”
Logic Pro "Transposer"
Logic Pro “Transposer”

もうひとつの方法としては、MIDI FXのTransposeを使って、鳴らしたくない鍵盤を除外していくこと。

LogicのMIDI FXの仕様は、鍵盤ないしMIDIリージョンのMIDI情報を受け取って、実際に音として鳴らす前に情報を書き換えちゃうというものであり、ソフトシンセに搭載されたシーケンサーではできない「細工」が行えます。

これにより、今回の設定でいえば、C鍵盤を押して鳴らされるマイナーコードがCメジャーに書き換えられ(理想)、A鍵盤を押して鳴らされるマイナーコードは書き換えられない、ってことが実現できます(理想)。

「理想」と書いた通り、理屈上はそうなのですが、残念ながらC鍵盤を押して鳴らされる音程は、D#がDに、A#がAになります。これはフラットよりシャープが優先されてしまうせいで、これをどうにかできる設定箇所がもしかしたらどこかにあるのかもしれませんが、見つけられませんでした。
ワークアラウンドとしては、C鍵盤を押す代わりにC#鍵盤を押せばCmaj7のコードでアルペジオが鳴ります。Cmaj7を鳴らすときにC#を鳴らすという、几帳面な人にとっては非常にムズムズする仕様。

この程度のアルペジオであれば大きな問題でもないんですが、クロマチックなフレーズっぽくなってくると正直どうなるかわかりませんね。

Komplete Control経由でソフトシンセを使う

これもたしかスケール修正機能が搭載されていた記憶があるので、Komplete Controlをメタプラグインとして起動し、その中でお好みのソフトシンセをロードすれば、MIDI FX経由のアルペジエイターならば音程のスケール修正が行われるかもしれません。
うちではほぼ使わず、適当には書けないので、活用方法については他の方のX投稿なりブログなり動画なりでご確認ください。

ScripterまたはReaktorを使う?

Logic Pro "Scripter"
Logic Pro “Scripter”

要は入力されるMIDIノート#を別の音程に置き換えるだけのことなので、ScripterもしくはReaktor FX(これをMIDI FXとして使用したことはないので、詳細は不明)でそのように自力で記せるのなら、そうしたほうがいいと思います。


率直に言って、すっきりとした解法はなさそう(自分は平気だけど、他人に勧めるにはかなり抵抗があるという意味で)。

理想としては2点。

  • 先に記したように、ホストとプラグインとの間でスケールの情報を交換(共有)するものがあってほしい。
  • Transposerプラグインおよび、Logic Pro内のスケールクオンタイズ自体に、「どの音程をどこに移すか」のカスタマイズ機能がほしい(Scripterを使えない人用に)。

前者については、正味な話、マイクロチューニングの情報をDAWとプラグインとで共有できないもどかしさが10年どころじゃなくずっとあったわけですが、この2,3年のマイクロチューニング(マイクロリズムもだが)やMPEの流行りもありますんで、DAW側にテコ入れをしたり何らかのフォーマットをブチ立てるなら今がイイ機会じゃないかなと個人的には思います。

あと、あれこれシンドそうなことやったり思案してはみたけど、実はコレ一発で解決するって方法があるかもしれません