こんにちは。
Logic Proで任意のスケール(音階)を自作したいというご質問に関して、いくつかの方法をご紹介させていただきます。
1. Chord Trigger(コードトリガー)を使う方法(おすすめ)
Logic Pro内蔵のMIDIエフェクト「Chord Trigger」をMultiモードで使用すると、各鍵盤に対して出力する音を個別に設定できます。
例えば、Fの鍵盤を弾いたときにF#を鳴らしたい場合は、Chord TriggerでFの入力に対してF#の単音を割り当てればOKです。これを他の鍵盤についても繰り返せば、自作のスケールを実現できます。
この方法はGUIベースで直感的に操作できるため、シンプルで実用的です。
2. Scripterでカスタムスケールを作る方法
より柔軟な処理を行いたい場合は、「Scripter」というMIDIエフェクトを使ってJavaScriptベースのスクリプトを書くことで、任意の変換ロジックを実装できます。
以下は、例としてイオニアンスケール(長音階)をドリアンスケールに変換する簡単なスクリプトです:
var PluginParameters = [];
function HandleMIDI(event) {
if (event instanceof NoteOn || event instanceof NoteOff) {
var note = event.pitch % 12;
// Ionian(C D E F G A B)をDorian(C D Eb F G A Bb)に変換
var scaleMap = {
0: 0, // C → C
2: 2, // D → D
4: 3, // E → Eb
5: 5, // F → F
7: 7, // G → G
9: 9, // A → A
11: 10 // B → Bb
};
var octave = Math.floor(event.pitch / 12);
if (note in scaleMap) {
event.pitch = octave * 12 + scaleMap[note];
event.send();
}
// その他の音は無視(必要に応じて変更可能)
} else {
event.send(); // 他のMIDIイベントはそのまま通す
}
}
このようにスクリプトを使えば、Ableton Liveの「Scale」エフェクトと同等以上の処理も可能です。