Modulation

PeloReaper Extensionの情報やダウンロードはこちらからどうぞ。
PeloReaper Extension for REAPER is here.
ReaperBanner01_50p

REAPERのTrack間ルーティングとサイドチェインの基本 (3)

前回はReaCompのような「プラグインの中にサイドチェイン機能が搭載されているもの」について扱いましたが、REAPERではサイドチェイン機能を持たないプラグインのパラメータもサイドチェインで動かす方法があります。Parameter modulationという機能ですが、今回はこれを使ってみましょう。


Parameter modulationを使ったサイドチェイン設定

Parameter modulationはVSTプラグインなどのFXのパラメータをモジュレート(時間経過とともに動かす)する機能ですが、どのように動かすかを決めるモジュレーションソースを以下のものから選べます。

  • Audio control signal (sidechain)
    音声信号の強さを元に動かす(いわゆるEnvelope Follower)
  • LFO
    LFOで動かす
  • Link from MIDI or FX parameter
    MIDIメッセージに追従させたり、他のFXパラメータにリンクさせて同時に動かす

今回は [Audio control signal (sidechain)]のみを扱います。サイドチェインの設定はざっくり以下の流れになります。

  1. 前回と同様にTrack A, Bを作り、B(1/2ch)→A(3/4ch)という感じでルーティング(前回を参照
  2. Track AにFXを挿入して、動かしたいパラメータをマウスでクリックして触る
  3. そのFXの画面上部にある [Param] ボタンをクリックして [Param>Parameter modulation/MIDI link] を選ぶ(Parameter modulation設定ウィンドウが表示される)。
  4. ウィンドウ上部の [Enable parameter modulation.~] のチェックがONになっているのを確認
  5. [Audio control signal (sidechain)] にチェックを入れ、[Track audio channel] を [3+4] に設定。
  6. あとは音声に対してどう反応するかを設定すれば完了。

では順にやっていきましょう。


Track A, Bの作成とルーティング

前回と同様に作成するだけなので、手順は省略。下の画像ではTrack A, Bにてきとーにサンプルを貼ってあります。

TrackAB02

Track AにFXを挿入してParameter modulationの割り当て

FXはReaEQとかでも何でもよいのですが、後での比較のため今回もReaCompを挿してみます。ここではReaCompでのコンプレッションは行わず(全てデフォルトのまま)、ReaCompからの出力であるWet音量を動かすだけにしてみます。

手順は以下の通り

  1. Wetのスライダーノブをクリック(さわる)
  2. FX画面上部の[Param] をクリックして [Param>Parameter modulation/MIDI link] を選ぶ
AssignParamMod01

これで直前に触ったパラメータに対してParameter modulationを設定するウィンドウが表示されます。
ParamModWindow


パラメータを動かすための設定

以下の手順で設定します。

  1. [Audio control signal (sidechain)] にチェックを入れる
  2. [Track audio signal] を [3+4] にして3/4チャンネルの音声信号を使うようにする
  3. 各種パラメータを好みの動きになるように設定してパラメータを動かす
ParamMod01

各種項目の意味は以下の通りです。

  • [Enable parameter modulation]直下にあるスライダー
    パラメータの基準位置
  • Input
    入力されてきている音声信号の音圧
  • Attack, Release
    Inputに対してどの程度速く反応(追従)するか
  • Min/Max volume
    音声入力の強さをパラメータの動く量にマッピングするダイナミックレンジを決める値
  • Strength
    パラメータを動かす量をスケーリングして弱めることが出来る
  • Direction
    パラメータを動かす方向(Negativeなら下げる方向に動かす)
  • Audio control signal shaping (右側のグラフ)
    パラメータを動かす量の感度調節用で、赤い丸を動かして調整する。
ParamModSC01
↑ 再生して動いてる様子(左側のWetが動かされている)

以上で設定方法については完了です。ここでは試しに以下のようなTrackを作ってサイドチェインの処理を行った結果を2つレンダリングしてみました。どちらもTrack Bの信号をサイドチェイン入力として使い、ReaCompで圧縮した[Comp]トラック、Parameter modulationで音量を下げた[Param mod]トラックが結果をレンダリングしたものです。どちらも反応速度(Attack)は最速(0)にして音量を下げるような設定をしているだけ。

RenderSCResult01

Parameter modulationで変化させた方は何故かサイドチェインの音声が入って来る少し前から音量の減少が始まっているのが謎ですが、レンダリング時に先読みとかして早めに反応しちゃったりするんですかね?


UVI Falcon2:Euclidean Drum + Script Event Modulation

以前の記事でEuclidean Drum SequencerにScript Event Modulation機能が付いたらいいなーと書いていたのですが、意図していたものがサクっと作れたので今回はそのお話です。

Voice毎のModulation付与スクリプト

Script ProcessorでVoice(Note)単位の情報を処理できるので、以下のような方針でスクリプトを作ってみました。

  • 何かをもとにNoteを区別して個別のModulation値を設定したいが、Euclidean Drum SequencerではVelocityくらいしか区別するものがないので、それを使用(通常とアクセントの2系統)
  • 汎用的に使えるように作用するNote番号やEventIDなどを細かく設定可能にする
  • 指定Modulation値になるまでの遷移時間設定で、継続的変化を可能にする

そして出来たのがこちら。スクリプトはこちらからダウンロードして下さい。
EDS_ModSP01

このスクリプトは受信したNote入力シグナルに対し、Note単位でのModulation値を設定します。NoteのVelocityに応じてそれが通常かアクセントかが識別され、そのいずれかに対応するModulation値と変化時間が適用されるという仕組みになっています。

GUIの各種パラメータの説明は以下の表をご覧ください。

パラメータ名説明
NoteNum反応するNote番号を指定するか(OFFの場合はNote番号に関係なく反応するようになる)
Note反応するNoteの番号
AccentThrアクセントとみなすVelocityの閾値。これより大きいVelocityが来たらアクセントだとみなす。
EventIDScript Event Modulationで識別するためのEventID
ModNml通常Velocity時のModulation設定値
RampNmlModulation設定値遷移時間(通常時)
ModActアクセントVelocity時のModulation設定値
RampActModulation設定値遷移時間(アクセント時)

使い方は以下のとおり。

  1. Euclidean Drum Sequencerで音が鳴らせるところまでセットアップ(過去の記事を参考に)
  2. ProgramのEuclidean Drum Sequencerの後ろ側に新しくScript Processorを作成し、スクリプトを読み込む(説明の都合上、以下これをSP1とする)。これでGUIが表示されます。
  3. ProgramのMODに[Script Event Modulation]を追加し、[EventId]の値をSP1の[EventID]に合わせる(番号が一緒なら任意の値でOK)
  4. Keygroup以下のパラメータにこのScript Event Modulationを結び付ける(このへんは以前の記事のDrum Sequencerと同様)
  5. あとはSP1の[ModNml]、[ModAct]、[RampNml]、[RampAct]などでモジュレーション具合を調整

可能な限り表現力を追求したい場合、セットアップのコツとしては、Note番号毎に個別にScript Processor、Script Event Modulationを用意し、全て別系統のEventIDを使うとよいでしょう。パート毎のコントロールがしやすくなります。とはいえこのモジュレーションの仕組みを正確に理解していないと難しく感じるかもしれません。

さすがに言葉による説明だけだと訳わからないかもしれないので、そのうち使用例の動画だけでも作ろうとは思っています。しばしお待ちを・・・。
(2019/11/21追記)使用例の動画を作成しました。



今回は独自のスクリプトを作って、表現力を上げるための仕組みを作ってみました。既存のものでは実現出来なくても、やる気と根性である程度実現出来てしまうのがFalconの最大の魅力と言っていいでしょう。このへんやりたい放題出来るのはREAPERとも通じるところがありますね。


UVI Falcon2:Drum Sequencer (2) Note入力毎のモジュレーション

前回から引き続きDrum Sequencerの解説です。何やら難しいことを書いているように見えるかもしれませんが、そう感じたら動画を見るだけでOKです。

Note入力毎のモジュレーション

Drum Sequencerには少し特殊な機能が実装されていて、ドラムのシーケンスとして入力したNote毎にモジュレーションの値を設定するという機能があります。シーケンス入力のVelocity、Pan、Pitch以外に、もう少しだけ変化を出したいという時に重宝する機能です。

具体的には、Script Event ModulationページでNote毎に設定したModulation値を、Keygroupの任意のパラメータ(例えばKeygroupのfxに挿入したFilterのCutoffとか)にバインドしてモジュレーションを適用するという機能になります。複数のパラメータにモジュレーションをかけることも可能なのでなかなかキてますね。


使い方

使い方は動画にしてあるので、そちらをご覧ください。

一応やり方の手順も書いておきます。

  1. ProgramにDrum Sequencerをセットアップ
    DrumSeq_Mini01
  2. ProgramのMODに[Script Event Modulation]というモジュールを挿入
    EventIdは 0 にしておく(Drum Sequencerではこれしか使えない)
    DrumSeq_SEM01
  3. Keygroup以下のパラメータで接続したいものを右クリックして[Add Modulation]からProgramに作成済みのScript Event Modulationを選択
    DrumSeq_BindMod
  4. これで接続できたので、あとはDrum Sequencer上の[SCRIPT EVENT MODULATION]ページで各Noteの場所の値をセットすればOK
    DrumSeq_SetMod

ポイントとなる部分は以下のようなところ。

  • モジュレーションといっても一つのNoteに渡せるModulation値は1つ、要するに固定値。Drum Sequencer上では、エンベロープのように継続的に変わっていくようなModulation変化をつけることは出来ません。
  • Falconのモジュレーション接続の仕組みに乗るため、複数のパラメータをScript Event Modulationモジュールに接続すれば、複数パラメータをモジュレート可能。

なんとなく思いついた要望もメモしておきます。こういうのあると嬉しい的なやつ。

  • Drum Sequencerの各パート毎のEvent Id指定の追加
    これが指定できると、複数のScript Event Modulationモジュールを使うことでパート毎に異なるモジュレーションが作れそうなので、便利になりそう。
  • Euclidean DrumにもScript Event Modulation機能追加
    Drum Sequencerと関係ないじゃん! という感じですが・・・Velocity、Accentに対応する2値だけでも設定出来たりすると、結構遊べそうな予感。
    → (2019/11/10追記)Script書けばすぐ出来ました

まぁこういうのが追加される未来を想像してしまうくらいには楽しめているということでw



今回はDrum SequencerにおけるNote毎のモジュレーションを設定する方法について説明しました。とはいうものの、自分で実験してみて動いたとかいうだけの話で、本当はちょっと違うとかいう点があるかもしれません。

というのも今回のネタは、Falconのマニュアルに現時点で一切解説がありませんし(Script Event Modulationモジュールすら記述無し)、ネット上も少し探しましたが情報を見つけられなかったので仕方なしです(まぁ見つけられていないだけでどこかにひっそりとあった可能性はありますが)。

ギリギリ情報源なのはUVIScriptのAPIリファレンスくらいで、そこにVoice単位のModulation設定があるのは把握していたので、それで「あ、あれのことかも?」と気づいたという部分はあります。

Falcon FacrotyプリセットにあるDrum Sequencer Kitについても、概ねセットアップが完了していながら、KeygroupのパラメータをScript Event Modulationに全くバインドしていないという惜しい造りになっていました。これが何かのパラメータにバインドされていれば、このプリセットの接続を見るだけで使い方が分かりそうだったのに・・・。非常にもったいないという印象でした。

っと最後になにやら残念な感じを出してしまいましたが、今回の機能はドラムパターンに変化を与えるという点で極めて強力な機能であることは間違いありません。是非みなさんもこの機能を試して遊んでみて下さいね。

このブログについて
ぺろりがREAPERで遊びたいというだけのブログかもしれない

必ずこちらをお読みください

twitter: @pelori

管理人用
  • ライブドアブログ