REAPER

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

REAPERで演奏していたMIDIをItem化するMIDIキャプチャ

今回はいわゆる「MIDIキーボードで今演奏したやつすごくうまく弾けたけどレコーディングしてなかったああぁ!」を救ってくれる、MIDIキャプチャ機能の紹介です。



MIDIキャプチャ機能とは

REAPERではTrackのArmをONにして録音待機状態にすると、MIDIコントローラでVSTiなどのインストゥルメントを演奏して音が出せますが、毎回必ずレコーディングしながら演奏するかというとそうでない人も多いかと思います。

ただし、レコーディングしていないと演奏していた情報は残らないために「あぁ、さっきのいい感じに弾けたからレコーディングしておけばよかった!」となることも多いでしょう。

ところがREAPERではバックグラウンドでMIDI演奏をレコーディングしてくれていて、「今のよかったな」と思ったら、それをMIDI Item化して演奏データを復元することが出来ます。便利ですね。

この機能はREAPERより以前に、確かAbleton Live 10あたり(?)で実装されて少し話題になった記憶があったのですが、REAPERではしれっとv6.67あたりで機能が入ったものの、自分の視野の範囲内では特に騒がれずに過ぎてしまっていた気がします(個人的には興奮気味でしたが)。

また、REAPER公式では特にこの機能を「MIDIキャプチャ機能」とは言ってない(多分「Retroactive MIDI Recording」という機能)ですが、Ableton Liveの前例もあり分かりやすい用語として、以下も「MIDIキャプチャ」と勝手に言うことにします。


MIDIキャプチャ機能の使い方

基本的な使い方

MIDICapture01

使い方は簡単で、以下の手順で過去に演奏したMIDIをItem化出来ます。

  1. TrackのArmをONにしてVSTi等を演奏できる状態にし、MIDIキーボードで好きなように演奏します。この際、演奏したMIDIデータはバックグラウンドで記録されています。
  2. Item生成先のTrackを選択して、以下のActionを実行すればMIDI Itemが出来ます。
    MIDI: Insert recent retroactively recorded MIDI for armed and selected tracks
    この際、選択するTrackと演奏していたTrackは特に関係性がないので、単純に生成先を選ぶだけだと考えれば良いでしょう(複数のTrackを選択して生成すると、同じ内容のMIDI ItemがそれぞれのTrackに生成されます)。

MIDIキャプチャ用のAction

MIDIキャプチャ用のActionとしては、以下のものがあります。

  • 直前に演奏したMIDIをキャプチャするAction
    - MIDI: Insert recent retroactively recorded MIDI for armed and selected tracks
    - MIDI: Insert recent retroactively recorded MIDI for armed tracks
    ちなみにMIDIキーボードでの演奏が終了してからしばらく経過すると区切られるようで、このActionでMIDI Itemを生成すると、比較的最近演奏したものだけがMIDI Itemに含まれます。
  • 今まで演奏したすべてのMIDIをキャプチャするAction
    - MIDI: Insert all available retroactively recorded MIDI for armed and selected tracks
    - MIDI: Insert all available retroactively recorded MIDI for armed tracks
    REAPERを起動してからArmして演奏したMIDI演奏データが全て含まれたMIDI Itemが生成されます。
  • 過去のMIDI演奏データをクリアするAction
    - MIDI: Clear retroactive MIDI history
    過去の演奏記録を全て破棄してしまいたい場合に使用します。

こういった機能を利用すれば、レコーディング状態にせずとも後から回収する前提でリラックスした状態でMIDI演奏出来ますね。良かったと思ったら後から回収できるというのは、シンプルですが素晴らしい発想だと思います。

あと、MIDIだけではなくオーディオも同じようなことがGlobal Samplerというスクリプトで可能なので、こちらも興味があれば使ってみる事をお勧めします(以下の記事参照)。


REAPERのチャンネルルーティング制御用FX

今回はREAPERでTrackのチャンネルを切り替えたり、チャンネルルーティング設定を行うためのFX(JSFX)を紹介します。地味なユーティリティではありますが、いざという時にかなり役立ちます。


JSFXについて

JSFXはREAPERのスクリプトベースのエフェクト機能で、VSTなどのエフェクトと同様に扱えるものです。FX挿入時に、[All Plugins] か [JS] という項目の中にあります。

AddFX_JSFX

Channel Mapper-Downmixer

ChannelMapper01

これはいわゆるChannel Matrixで、各入力チャンネルを任意の出力チャンネルに出力することが出来ます。以前こちらの記事で紹介したMeldaのプラグイン、MChannelMatrixと同じような機能ですね。

基本的な使い方はTrack FXに以下のJSFXをインサートして、チャンネル入出力のチェックを設定するだけです。

JS: Channel Mapper-Downmixer (Cockos) [utility/channel_mapper]

信号の流れはマトリックスの上から入力音声が入ってきて、チェックを入れた場所から右側へ出力されていくという感じです。音声を流すと、■の中に音量を表す緑色の点が表示されるので、分かりやすくなっています。

ChannelMapper_InOut

いくつかオプション設定などもあるので、順に見ていきましょう。

  • Channels:チャンネル数
    Trackのチャンネル数設定です。変更すると実際にTrackのチャンネル数が変更されます。
  • Unmapped outs:出力へマッピングしなかったチャンネルの扱い
    出力チャンネルに何もルーティングしなかった(横方向に全くチェックが付いていない行)場合に、何の音声を出力するかを選ぶことが出来ます。
    • Pass through
      その出力チャンネル番号に対応する入力チャンネルの信号をそのまま流します。つまり出力2chであれば、入力2chの音声が出力されます。
    • Zero out
      そのチャンネルからは何も出力されないため、無音となります。
  • Downmix:Downmix時の音量オプション
    同一の出力チャンネルに複数の入力チャンネルがルーティングされた場合、それらの音がDownmixされて出力されますが、その際の各入力チャンネルに適用される音量調整値を設定できます。
    • None
      音量調整を行いません。
    • Shared ins -3dB
      音量調整値として-3dBが適用されます。
    • Shared ins -6dB
      音量調整値として-6dBが適用されます。
    • User mix
      音量調整値を入力チャンネル毎にスライダーで調整出来ます。
  • Reset
    各種設定を初期設定に戻します。
  • Clear
    マトリックスのチャンネル指定のチェックを全て外し、User mixの値も全てクリアします。

Channel Router

ChannelRouter

Channel Routerは、入力チャンネルのペア(1ch+2chなどのステレオ信号)を別の出力チャンネルのペアに流す機能です。以下のJSFXをインサートして設定を行います。

JS: Channel Router w/Polarity [IX/PhaseAdjustingRouter]

各種設定項目は以下の通りです。

  • Input Channels
    入力チャンネルのペア指定。
  • Polarity Mode
    ステレオのどのチャンネルを反転させるかで、Normalは反転なし。
  • Output Channels
    出力先チャンネルのペア指定。
  • Output Mode
    出力先チャンネルに流れている信号とのMix方法。
    • Replace
      [Input Channels] の信号で完全に置き換えます。
    • Merge
      元から流れている音声と [Input Channels] の音声がMixされて出力されます。

8-Channel Input Switcher

8ChannelsInputSwitcher

これは8チャンネルを使用した4つのStereo音声のどれか一つを選んで出力するというSwitcherです。各ステレオ入力の音量も調整できます。以下のJSFXをインサートして設定を行います。

JS: 8-Channel Input Switcher [IX/Switcher2]

各種設定は以下の通りです。

  • Output Source
    出力するStereoペアのチャンネルを指定できます。
  • Level 1+2/3+4/5+6/7+8 (dB)
    各Stereoペアの音量調整が可能です。


これら以外にも、REAPERのJSFXにはチャンネルに対する操作を行うFXがありますので、いろいろと試してみると新たな発見があるかもしれません。


REAPERで鳴らした音を切り取って使うのが便利なGlobal Sampler

初稿:2023/08/12 21:09 - 最終更新:2023/08/16

今回は表題のとおり、鳴らした音を切り取ってすぐにItem化して使えるGlobal Samplerというスクリプトを紹介します。


Global Samplerとは

GlobalSampler01

Global Samplerは無料で利用できるREAPERスクリプトで、常時録音を行ってくれる機能です。過去1分間くらいの録音が残っている状態になり、そこから自由に切り抜いてItem化することが可能です。

REAPERには録音機能やレンダリング機能がありますが、それよりも気軽に「今鳴らした音良かったので切り取っておくか」みたいなことが行えるので、非常に便利です。


インストール方法

インストール方法はreapackでインストールするだけなので簡単ですが、この機能は他のREAPER Extension(拡張機能)に依存するため、それらもインストールするのが必須となります。以下の手順でインストールすればOKです。

  1. SWS Extensionをインストール
    こちらからインストーラーをダウンロードしてインストールするだけです。
  2. Reapackのインストール
    インストール方法(及びReapackの使い方)はこちらをご覧下さい。
  3. js_ReaScriptAPI Extensionをインストール
    Reapackにデフォルトでこの機能のリポジトリは登録されているので、リポジトリ登録は必要ありません。メニューの [Extensions>ReaPack>Browse packages..] から、"reascript api"といった名前で検索すれば見つかるので、これをインストールします。
    Reapack_ReascriptAPI
  4. Global Samplerをインストール
    Reapackで以下のURLをリポジトリ登録(メニューから [Extensions>ReaPack>Import Repositories...)して、Reapackの[browse packages]から、"global sampler"といった名前で検索すれば見つかるので、これをインストールします。
    https://raw.githubusercontent.com/Bird-Bird/ReaScript_Testing/main/index.xml
    Reapack_GlobalSampler

Global Samplerの使い方

Global Samplerを使うには、更に以下のセットアップが必要になります。

  1. 録音したい場所(Monitoring FX)にGlobal SamplerのJSFXをインサート
    REAPERのメニューから [View>Monitoring FX] でMonitoring FXのFX Chainウィンドウを表示します。ここに以下のJSFXを挿入すればOKです。
    JS: Global Sampler [BirdBird ReaScript Testing/Global Sampler/BirdBird_Global Sampler.jsfx]
    Monitoring FXの設定はREAPERに保存され、REAPERを再起動しても残っているため、初回のみ設定すればOKです。
  2. Global SamplerのGUIを表示する
    Action Listを表示(メニューから [Actions>Show action list...])して、以下のActionを実行すればGUIが表示されます。
    Script: BirdBird_Global Sampler.lua

あとは何か音を再生するとGlobal SamplerのGUIに波形が記録されますので、その範囲をマウスドラッグで選択し、選択した範囲をArrange Viewにドラッグ&ドロップすれば、選択範囲の波形がItem化されます。

GlobalSampler01
↑ 録音した波形からItemを作成している様子


REAPER起動時にGlobal SamplerのGUIを起動する方法

Global SamplerのGUIはREAPERを落として再起動すると自動的に再表示・・・はされません。なので、毎回自分で上記のActionを使って表示する必要があります。

ただそれでは面倒なので、REAPERが起動する際に実行するActionとして登録してしまいましょう。この登録機能は上記でインストール済みのSWS Extensionにあります。やり方は以下の通りです。

  1. Action Listから前述のGlobal SamplerのGUIを表示するActionの、Command IDをコピーします。Actionを右クリックして [Copy selected action command ID] でコピー出来ます。
    GS_CopyActionID
  2. Action Listで以下のActionを実行して、出てきたダイアログに上記Command IDを貼り付けてやればOKです。
    SWS/S&M: Set global startup action

これでREAPER起動時にGlobal SamplerのGUIを表示するActionが実行されるので、毎回GUIが表示されるようになります。

ちなみにこのREAPER起動時Action実行を解除するには以下のActionを実行すればOKです。

SWS/S&M: Clear global startup action

このGUIはREAPERのDockerに入れられる作りになっているので、REAPERのメインウィンドウの上下左右の場所にくっつけておくことも可能です。


有料版のRolling Sampler

RollingSampler

Global Samplerは更にパワーアップして、Rolling Samplerという有料版が販売されているようです。

こちらはまだ使ったことがないのですが、スタンドアロン版があったり、常時録音しておくバッファの長さを変えるなどの便利なオプション機能がいろいろついているようです。


おまけ

REAPERではオーディオだけでなく、MIDIキャプチャ機能で過去にMIDIキーボードで弾いていたMIDI演奏データを復元することが可能です。以下のページにまとめてありますので、ご興味ある方はご覧になってみて下さい。


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

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

twitter: @pelori

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