どうも!GAMの相葉まことです。
皆さんはギターのストラムをノートで全部打ち込む時、
レガート処理がめんどくさいと思ったことはありませんか?
バッキングでダウン、アップストロークを作ると、
どうしても隙間の処理がめんどくさいですよね。
でも、cubaseのレガート機能って一括で選択したノートにかけられないんですよね。
そんなあなたに吉報。
1~6弦のノートの打ち込みのレガート、まとめて処理しちゃうコマンド作りました!
挙動はこんな感じ。
今回必要な処理内容は以下。
※Guitar_全弦レガート骨組みの七段目、カーソル以降サイクル内選択は、
全て選択に差し替えてください。
コマンド一覧
順不同ですが、ざっくり。
・カーソル以降サイクル内選択
その名の通りのコマンドです。
・選択_Pitch_0
ノートの重なりから一番下の音程のノートを選択します。
・マージンノート
選択したノートの重なりから一番上の音程のノートより、1つ上にノートを挿入します。
・マージンノート選択
サイクル内のノートの重なりから一番上のノートを選択します。
・マージンノート削除
ノートの重なりから一番上のノートを選択し削除します。
◆どういう処理がされているのか。
このコマンドを紐解いていきましょう。
まずは骨組み。
①ロケータートゥセレクトで選択したノートの範囲でサイクル内を決める。
②サイクル内を選択するコマンドでサイクル内のノートを取得する。
③その中のトップノートを選択し、その上に一個ノートを追加する。
④その後同ノートとサイクル内の最低ピッチ音を選択する。
⑤レガート処理をする。
⑥その後一番下の選択されたノートをミュートにする。
これが骨組みとなっており、これを1セットとします。
次にこれらをマクロとして作ったら、
新しいマクロを作ります。以下のマクロとなります。
①上記骨組みを6回組み込む。
②全て選択を実行。
③イベントのミュートを解除する。
④一番上のノートを選択する。
⑤それを削除する。
⑥上記の④と⑤を六回組み込む。
詳細は以下。
まず、レガートの実行は複数選んでも一行ずつしか実行されない。
なので当初は六弦個別に、選択したあとレガートするというコマンドを作った。
しかしコマンドを実行すると、4弦のコード弾きなどの際、余剰分のレガート処理が
他のノートに影響を与えていた。
なので今回のコマンドでは、受け皿になる余剰分のノートを追加している。
これは六回分実行されるため、例え4弦であっても6個分のノートが挿入される。
その処理を踏まえた上で、
下から順番にレガートし、ミュートを加えて選択外にする。
これを六回行う。その分上にノートも加算される。
これで六弦分の処理を実行できるし、コマンドも一括同様のものを使い回せる。
その後ミュートされたイベントを一括で解除するために全選択を行う。
ただし、これは同トラックのノートで、他にミュートイベントがあった場合それも解除してしまう。
自分の制作環境ではあまり使わないので問題ないが、そうではない方は自分で調整してね。
なぜこういった上記の処理にしたというと、当初予定していたサイクル内のノート選択では、
ロケータートゥセレクトと選択ノートの関係で最終的にトップノートの頭とおしりまでが
範囲として設定されてしまう。
つまり、ストロークの階段状のズレがあると、当然トップノートはアップダウンで
範囲が変わるため、そのズレの分だけ選択範囲が変化し、全てのミュートを解除できなかった。
話は戻って、ミュートを解除したあとは、
上に六個挿入されているであろうノートを選択し、
それを削除するというコマンドを6回実行してあげる。
例え選択したストローク用のノートが6弦分であろうと、
4弦分であろうと、2弦分であろうと、
挿入処理は六回されるため、上には余分なノートが六個挿入されているはず。
最後にそれを全部消してあたかもノートの伸ばしを
一括で処理させているのである。
と、言うわけで今回も無駄なコマンド作ってしまいました。
よかったらブックマークとかコメントくださると励みになります!
コメント