REAPERの初期設定4 -アーティキュレーション切り替えの独自設定-

(2020.10.13執筆)


前回はREAPERのActionListからショートカット設定を行いました。
今回は応用編として、SFZ音源の奏法(アーティキュレーション)切り替えを簡単にする独自の方法を紹介したいと思います。

手順

  1. 公式サイトからReaPackを導入する
  2. さらにMPL Scriptをインストールする
  3. スクリプトの一覧から、カスタマイズ元のファイル(CC64=0)をコピー
  4. コピー元を参考に、CC0=0,CC0=8,CC0=16,....といった独自アクションを作成
  5. 独自アクションを、アクションリストに新規追加する
  6. これらの独自アクションを、MIDIエディタのショートカットキーに割り当てる



尚、SFZ音源側でCC0=0の奏法、CC0=8の奏法、CC0=16の奏法。。。といった所を設定しておく必要があります。 応用すれば、CC0だけでなく、キースイッチやMIDIチャンネルでの振り分けもショートカットキーで可能かと思われます。

参考 ⇒ SFZ アーティキュレーション切り替えについて

ReaPackを導入する

Linuxの場合、reaper_reapack-~.soというファイルを公式サイトからダウンロードして、所定のフォルダの中に入れます。

公式サイト ⇒ https://reapack.com/


解凍した.soファイルを(home/user/.config/REAPER/UserPlugins/)に入れた状態でREAPERを起動し、上部にReapackのメニューが現れていたら導入完了。

MPL Scriptをインストールする中で

Reapackを導入すると、膨大な数のアクションリストをインストール可能な状態になります。
???困難管理できん。。ってくらい多い。全て入れると目当てのアクションを探すほうが面倒になるので、私は狙った動作を、元のファイルからカスタムする方法を取りました。

とりあえず、MPLスクリプトと名のつくものをインストールしてみてください。

スクリプトのカスタマイズ元の確認・コピー

所定のフォルダ(home/user/.config/REAPER/scripts/MPLなんとか)以下の中に、Reapack経由で導入したアクションリストを確認できると思います。
.configは隠しアイテムなので、ファイラーの表示設定で隠しファイルが表示されるようチェックを入れるのも忘れずに。

今回カスタマイズ元として使うのが、MPL script CC64=0.lua, MPL script CC64=127.lua,というファイルになります。

たぶんhome/user/.config/REAPER/scripts/MPL/Midi Editer/のフォルダに入ってると思うので探す。

出た?


じゃぁそのcc64=0.luaをオリジナルフォルダにコピーして、テキストで編集するんだ。
わざわざMPLを介さずとも、私のテキストからコピーしても良いですよ。使える方法は遠慮なく使ってください。

移動してコピーしてファイル名を整理した後の中身。
REAPER 独自スクリプト

home/user/.config/REAPER/scripts/Timelessberry/MIDI Editer/のフォルダを作って、その中にスクリプトファイルをコピーしました。

独自スクリプトへと変更する

ああ、Reaperのプログラミングなんてさっぱり分かりません。
ですが単純な命令であれば、数字を書き換えるだけで良いので何とかなります。

例として、Add CC64=0というアクションのスクリプトの中身(ちょっと違うけどこんな感じ)

  --[[
     * ReaScript Name: Add CC64=0
     * Lua script for Cockos REAPER
     * Author: MPL
    ]]
    
  --[[
    * Changelog: 
    * v1.0 (2020-09-23)
      + init release
  --]]
  
  function main()
    channel = 0
    MIDIEditor = reaper.MIDIEditor_GetActive()
    if MIDIEditor == nil then return end
    take = reaper.MIDIEditor_GetTake(MIDIEditor)
    if take == nil then return end
    item = reaper.GetMediaItemTake_Item(take)
    itempos = reaper.GetMediaItemInfo_Value(item, 'D_POSITION')
    if reaper.TakeIsMIDI(take) == false then return end
    pos = reaper.GetCursorPosition() 
    ppq = reaper.MIDI_GetPPQPosFromProjTime(take, pos)
    reaper.MIDI_InsertCC(take, 
                          false,--boolean selected, 
                          false,--boolean muted, 
                          ppq,--number ppqpos, 
                          176,--integer chanmsg, 
                          channel,--integer chan, 
                          64, 
                          0)
    reaper.UpdateItemInProject(item)
  end
  
  script_title = "Add CC64=0"
  reaper.Undo_BeginBlock()
  main()
  reaper.Undo_EndBlock(script_title, 0)


これと、CC64=127.luaの中身を見比べると、どの数字を弄ればどのCCを変更できるのか何となく分かるでしょう。
試しに数字を変更して動かしてみるといいのです。


このluaテキストを元に

CC0=0
CC0=8
CC0=16
CC0=24

・・・


といったアーティキュレーションのためのCCの切り替えをそれぞれの.lua(スクリプトファイル)に記述していきます。

アクションリストに、独自カスタムスクリプトを読み込む

REAPER MIDIediter loadAction

アクションの新規追加、ロードReaScriptから独自アクションを読み込めます。
後は、これらのアクションにショートカットキーを割り当てれば一連の初期設定は完了です。


Shift + 1 ⇒ CC0=0
Shift + 2 ⇒ CC0=8
Shift + 3 ⇒ CC0=16
Shift + 4 ⇒ CC0=24

・・・


やろうと思えばCC0だけで127個もの奏法切り替えが可能です。
奏法切り替えの他にも、色々応用が効くと思うので、どんどん試してみてください。


次 ⇒ REAPER日本語表示とフォント変更

REAPER・カスタマイズ設定項目

  1. 全般の設定を見直す
  2. マウス操作を使いやすくする
  3. アクションリスト(ショートカットキー等)を設定する
  4. アーティキュレーション切り替えの独自設定
  5. REAPER日本語表示とフォント変更
  6. Linux版 REAPERでMIDIキーボードを認識させる