音楽

【ロジカルエディタ】マクロで行う一括レガート処理【cubase】

どうも!GAMの相葉まことです。

皆さんはギターのストラムをノートで全部打ち込む時、
レガート処理がめんどくさいと思ったことはありませんか?

バッキングでダウン、アップストロークを作ると、
どうしても隙間の処理がめんどくさいですよね。

でも、cubaseのレガート機能って一括で選択したノートにかけられないんですよね。

そんなあなたに吉報。

1~6弦のノートの打ち込みのレガート、まとめて処理しちゃうコマンド作りました!

挙動はこんな感じ。

 

今回必要な処理内容は以下。
※Guitar_全弦レガート骨組みの七段目、カーソル以降サイクル内選択は、
全て選択に差し替えてください。

コマンド一覧

順不同ですが、ざっくり。

・カーソル以降サイクル内選択
 その名の通りのコマンドです。

・選択_Pitch_0
 ノートの重なりから一番下の音程のノートを選択します。

・マージンノート
 選択したノートの重なりから一番上の音程のノートより、1つ上にノートを挿入します。

・マージンノート選択
 サイクル内のノートの重なりから一番上のノートを選択します。

・マージンノート削除
 ノートの重なりから一番上のノートを選択し削除します。


◆どういう処理がされているのか。

このコマンドを紐解いていきましょう。

まずは骨組み。

①ロケータートゥセレクトで選択したノートの範囲でサイクル内を決める。
②サイクル内を選択するコマンドでサイクル内のノートを取得する。
③その中のトップノートを選択し、その上に一個ノートを追加する。
④その後同ノートとサイクル内の最低ピッチ音を選択する。
⑤レガート処理をする。
⑥その後一番下の選択されたノートをミュートにする。

これが骨組みとなっており、これを1セットとします。

次にこれらをマクロとして作ったら、
新しいマクロを作ります。以下のマクロとなります。

①上記骨組みを6回組み込む。
②全て選択を実行。
③イベントのミュートを解除する。

④一番上のノートを選択する。
⑤それを削除する。

⑥上記の④と⑤を六回組み込む。

 

詳細は以下。

まず、レガートの実行は複数選んでも一行ずつしか実行されない。
なので当初は六弦個別に、選択したあとレガートするというコマンドを作った。
しかしコマンドを実行すると、4弦のコード弾きなどの際、余剰分のレガート処理が
他のノートに影響を与えていた。

なので今回のコマンドでは、受け皿になる余剰分のノートを追加している。
これは六回分実行されるため、例え4弦であっても6個分のノートが挿入される。

その処理を踏まえた上で、

下から順番にレガートし、ミュートを加えて選択外にする。
これを六回行う。その分上にノートも加算される。

これで六弦分の処理を実行できるし、コマンドも一括同様のものを使い回せる。

その後ミュートされたイベントを一括で解除するために全選択を行う。
ただし、これは同トラックのノートで、他にミュートイベントがあった場合それも解除してしまう。
自分の制作環境ではあまり使わないので問題ないが、そうではない方は自分で調整してね。

なぜこういった上記の処理にしたというと、当初予定していたサイクル内のノート選択では、
ロケータートゥセレクトと選択ノートの関係で最終的にトップノートの頭とおしりまでが
範囲として設定されてしまう。

つまり、ストロークの階段状のズレがあると、当然トップノートはアップダウンで
範囲が変わるため、そのズレの分だけ選択範囲が変化し、全てのミュートを解除できなかった。

話は戻って、ミュートを解除したあとは、
上に六個挿入されているであろうノートを選択し、
それを削除するというコマンドを6回実行してあげる。

例え選択したストローク用のノートが6弦分であろうと、
4弦分であろうと、2弦分であろうと、
挿入処理は六回されるため、上には余分なノートが六個挿入されているはず。

最後にそれを全部消してあたかもノートの伸ばしを
一括で処理させているのである。

 

と、言うわけで今回も無駄なコマンド作ってしまいました。
よかったらブックマークとかコメントくださると励みになります!

コメント