ポジティブ・アレルギー

物事を顧みず、ひたすら自身にとって都合の良い部分だけを見て突き進まなければならない、ポジティブ社会への拒絶反応

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

REAPER:クロスフェードでアーティキュレーションを切り替える

6/11、内容を少し修正

前回、キースイッチを持たないKontaktのライブラリなどを使用する際において、REAPER側でキースイッチを設定してアーティキュレーションを切り替える方法を紹介した。今回はキースイッチを持たないライブラリのアーティキュレーションをクロスフェードで切り替える方法についての話(TransMIDIfierで出来るようなことを何とかREAPER内部でできないものかと色々試しているうちにそれが可能だと分かった)。

この方法は前回の方法と組み合わせて利用することができる。例えば、ノートC1を押すと(ストリングスの)レガートとトレモロのクロスフェード・パッチに切り替わり、ノートC#1を押すとサステインのアクセントありとなしを切り替えるクロスフェード・パッチに切り替わる、というようなことが可能になる。

以下は実際にこの方法を使って録音してみたもの(音源はBerlin Strings)。前半がレガートとトレモロのクロスフェード、後半がサステイン(アクセントなしorあり)のクロスフェード。






原理自体は簡単で、コントロール・チェンジを使って其々のボリュームを上げたり下げたり、ノート情報を無効化したり有効k化したりすることによってそれを可能にするわけだが、実際にそれを行うとなるとわりとややこしいので、上記したケースを例に取り、どのようにしてそれを成し遂げるのか、まずその流れを簡単にまとめておく。

    ◆◆◆

(1)必要なプラグインをダウンロード&インストールし、REAPER上に立ち上げる。

(2) Kontaktにレガート、トレモロ、アクセントなし/ありサステインのパッチを立ち上げ、其々のMIDI入力チャンネルを1/2/3/4に設定。次に立ち上げたパッチの其々のボリュームを「Host Automation」としてアサインし、さらに適当なCC#(この例ではCC#20を使用)を選んで「MIDI Automation」としてもアサインしておく。

(3) プラグインを使い、MIDI Ch1に入力された情報がCh2に、Ch3に入力された情報がCh4にコピーされるようにする。

(4) プラグインを使ってCh1のCC#20をマッピングし、入力されたCC#20の値が小さければ小さいほど大きい値に、大きければ大きいほど小さい値を返すようにセッティングする。Ch2もそれとある程度対照的な形になるようにマッピングする。Ch3と4のCC#20もCh1と2でしたのと同じようなマッピングを施す。

(5) Ch1/2/3/4の其々に入力されたノート情報をチャンネルごとに個別に無効化するプラグインを立ち上げ、パラメータ・モジュレーションでそのプラグインの其々のバイパスとKontaktの其々のパッチのボリュームをリンクさせる。

(6) 「Multi Channel MIDI Keyswitch」でキースイッチの設定(ノートC1を押すとCh1に、C1#を押すとCh3に切り替わるよう設定)。

次に、具体的にどのようにしてそれを行うかについて。
--------------------------------------------------------------

 ▼(1)下準備

まず、予め以下のプラグインをダウンロードしてインストールしておく。


そしてそれらを以下のような順番で立ち上げる。
xfade_01b.png
最初は「midiNotesToCC」を4つとも無効化しておく。


 ▼(2)Kontaktの設定

パッチを立ち上げてチャンネルを設定。
xfade_02.png

次にアサイン。アサインは「Auto」タブから項目を選択し、ドラッグして目的のパラメータ上にドロップして行う。
xFade_08.gif

先ずは「Host Autometion」で其々のボリュームをアサイン。これで其々のボリュームをREAPER側のパラメータ・モジュレーションで用いることが可能になる。
xfade_03.png

同じく「MIDI Autometion」で其々のボリュームをコントロール・チェンジにもアサインしておく。空いているCC#ならなんでもよいが、今回はCC#20にその役割を任している。普通に考えるとMIDIラーンを使用する必要はないように思えるが、後に述べるように、今回の方法ではそれを使用しないと上手く行かなかった。
xfade_08.png

マルチマイクもののライブラリを使用する場合は(全てのKontaktライブラリが共通して持っている)普通のボリュームではなく、其々のマイクのボリュームにアサインする(其々のマイクの音をパラアウトする場合、メイン・ボリュームにしかアサインしていないと、メインのアウトプット・チャンネルに出力するようルーティングされたマイクの音量だけしかコントロールできないため)。また、プラグインが独自にボリュームコントロール・パラメータを持っているプラグインの場合も、普通のボリュームではなくそちら側をアサインする。以下はBerlin Strings(マルチ・マイクものライブラリ)を使う場合の例。
xfade_12.png


 ▼(3)チャンネルのコピー

「MIDI Keyboard Deploy」を使用し、Ch1に入力された情報が自動的にCh2にも送られるように設定する。同じように、Ch3に入力された情報がCh4にも送られるように設定する。この際、「Orginal」項目は「Pass Input - Send Notes &CC...」に設定する(ノートやCC#メッセージがブロックされるとまずいので)。
xfade_04b.png

xfade_05.png


 ▼(4)CC#のマッピング

「Midi CC Map」でクロスフェードをコントロールするCC#のマッピングを行う。「Map1」と「Map2」でワンセットと考える。まず「Map1」タブで、Ch1から入力されたCC#20の値が小さければ小さいほど大きく、大きければ大きいほど小さく出力されるようにマッピングする(但しこれはあくまで基本パターン。実際には多少山形にした方が上手く行ったりする場合などもあり、どのようにマッピングするかは音源次第と言える。但し、一方に振り切った時に値が0になるという条件は守らなければならない)。
xfade_06b.png

↓ルーティングの設定はこんな感じ。
xfade_06_map1.png

「Map2」ではCh2から入力されたCC#20の値が「Map1」とは対照的になるように設定。マッピングの設定は最初は適当でよい。どの道最後にもう一度音を聞きながら再調整することになるので。
xfade_06_map2_1.png

↓Ch1から入力されたCC#20をマッピングに従って変更した後、Ch2に出力。
xfade_06_map2_2.png

同じように、「Map3」/「Map4」も「Map1」/「Map2」と同じようにマッピングし、ルーティングを適切に設定する。

↓「Map3」。Ch3から入力されたCC#20をマッピングに従って変更した後、Ch3に出力。
xfade_06_map3_1.png

↓「Map4」。Ch3から入力されたCC#20をマッピングに従って変更した後、Ch4に出力。
xfade_06_map4_1.png

設定が済んだら「Map1~4」の「Active」ボタンを押して有効化する。

――念のためボタンの機能についても説明しておくと、「Smooth」は線を滑らかにするためのもので、「Invert」は値を反転させるためのもの。「Line1」をオンにすると127の2点を直線で結ぶ形式に、「Line2」をオンにすると5点を直線で結ぶ形式になる。
xFade_10.gif

さて、これで設定が上手くいっていれば、Ch1のCC#20値を上下させるとレガートとトレモロのボリュームが、Ch3のCC#20値を上下させるとノンアクセント・サステインとアクセント・サステインのボリュームが其々対照的な動きをするようになる。
xFade_9b.gif


 ▼(5)使用しない側のパッチのノート情報を無効化

(4)の設定を終えた時点でクロースフェードでのアーティキュレーション切り替えは既に可能になる。しかしこのままだと、音としては聞こえないものの、Kontakt上では常に2つのパッチが同時に鳴り続けることになり、その分のCPU消費やストリーミングが大きな無駄になる。

この問題を解決するために、ここでは「midiNotesToCC」を(4つ)用いる。このプラグインは元々入力されたノート情報を何らかのCC#情報に変換して出力するためのものだが、それによって使わないChのノート情報を無効化するわけだ。

下の画像はCh1のノート情報を無効化するための設定。
xfade_09.png

弄る項目は枠で囲んだ4項目。まず「Note to CC」を情報が出力されても構わない空いているCC#ナンバーに設定する。後は「Thru」を「Unconverted」に設定し、其々「In Dhannel」/「Out Channel」を「2/2」「3/3」「4/4」というように設定していく。これで其々4つのチャンネルのノート情報を個別に無効化することが可能になった。後は「midiNotesToCC」のBypassと其々のパッチのボリュームをパラメータ・モジュレーションでリンクさせ、ボリュームの挙動によって其々がオン・オフされるように設定するだけだ。

まず「Note to CC」のBypass項目をクリックし、「Last touched」が「Bypass」になっていることを確認して「Parameter Modulation」をクリック。
xfade_07.png

其々4つの「Note to CC」のバイパスをKontaktの其々のボリュームとリンクさせる。「Offset」を40くらいに設定するとある程度上手く行くと思うが、それでも上手くいかない場合は「Output」「Offset」「Scale」を様々な組み合わせで設定してみる。因みに、「Offset」と「Scale」の限界は100%だが、それ以上の数値も入力でき、それによっても挙動も微妙に変わってくる模様。マルチマイクもののライブラリは普通のボリュームではなくマイクのボリュームにリンクする。また独自に音量をコントロールするパラメータを持っているライブラリはそのパラメータにリンクさせる。
xfade_10b.png

↓設定し終わるとこんな風になる。
xFade_05.gif

以下の画像において、ボリュームがゼロ付近にまで小さくなった方のパッチの「Voices」項目が徐々にフェードアウトしていることに注目。これで2つのパッチを1つのクロスフェードとして用いても無駄がなくなる。
xFade_06.gif

因みに、KontaktのボリュームをMIDIにアサインせずCC#20でCC#7、すなわちボリュームをコントロールしたり、直接CC#7でボリュームをコントロールすると以下のように可動範囲が狭まり、パラメータ・モジュレーションでのバイパスのオンオフが上手くできなくなる。わざわざMIDIラーンを使用したのはこのため。マルチマイクもののライブラリや独自に音量をコントロールするパラメータを持っているライブラリを使用する場合はこのボリュームを使用しないため、この問題に遭遇せずに済む。
xFade_4b.gif


 (6)キースイッチの設定

「Multi Channel MIDI Keyswitch」でキースイッチの設定を行う。今回の例では、ノートC1を押すとCh1に、C1#を押すとCh3に切り替わるよう設定する。
xfade_11.png
MIDIキーボードなどで入力チャンネルを切り替えてパッチを切り替える場合はこのプラグインをオフにしておく。

これで一通り終了。後は実際にCC#20にアサインしたMIDIキーボードのツマミなどを弄りながら、最適なクロスフェードになるよう「Midi CC Map」で再びCC#マップの調整を行う。

 ***

これでキースイッチやクロスフェードのないライブラリでもそれを行うことができるようになったわけだが、Berlin Stringsなどはビブラートとノンビブラートが一つのパッチにまとめられているため、この方法でも切り替えが出来なかったりするという…。

コメント

参考になりました
ありがとうございます

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://positiveallergy.blog50.fc2.com/tb.php/672-8d551982
この記事にトラックバックする(FC2ブログユーザー)

 | HOME | 

プロフィール

後正面

Author:後正面
ひきこもりという役割を引き受け
ざるを得なかった一人として
人間について考えてみる。
でも、本当はただの断末魔ブログ。

働けど無職。
-------------------------
※コメントは記事の内容(主題)に関するもののみ受け付けています。また、明らかに政治活動的な性質を持つ内容のコメントはお控え下さい(そういった性質を持つ発言は、それを許容するような姿勢を持つ一部のブログを除いて、自分のブログで行うものだというのが私の基本的な考え方です)。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

RSSフィード

リンク

このブログをリンクに追加する

FC2カウンター

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。