Python
REAPER
JSFX
Reascript

【REAPER】ReascriptをPythonで弄れるようにするには

More than 1 year has passed since last update.

はじめに

作曲ソフト(≒DAW)のREAPERへ、独自のスクリプトを書く事が出来る機能”Reascript”は、プログラミング言語"Python"を用いることが出来きます。
今回はその環境構築方法に関して、簡易的な手順とテストコードを記載しますね。
(これ関係の和訳記事が少ない為、興味ある方への手助けに成れば幸いです。)

環境

Windows10 64bit
REAPER v5.27 64bit

1. Pythonのインストール

下記URL先にてインストーラーのダウンロード&インストールを行います。
https://www.python.org/downloads/

※注意点

64bit版のREAPERをお使いの場合、Pythonも64bit版を用意しなければ今後の工程(手順3)でエラーが発生します。

2. Python"xx".dllをREAPERへ読み込ませる

上記、不思議なファイル名になってしまいましたが、「Python"xx".dll」の"xx"はバージョン名です。
僕の場合、インストールしたPythonのバージョンは3.6.1だった為、「Python36.dll」という名前になります。

2-1. Python"xx".dllのパスを入手

これから「Python36.dll」をREAPERへ読み込ませる為、そのパスを知る必要があります。
この場所は手順1のインストール先によって変動します。もし分からない場合はエクスプローラーにて「Python"xx".dll」と検索すると見つかるかと思われます。

ちなみに、「Python36.dll」が置いてあったフォルダの雰囲気はこんな感じでした。
(同フォルダ内に「Python3.dll」がありますが、こちらは使用しないものなのでご注意を。)
キャプチャ.PNG

2-2. REAPERへ読み込ませる

プリファレンスを表示させます。
Ctrl + Pもしくは、メニューバーからOptions > Preferenecs
キャプチャ2.PNG

”ReaScript”にて下記3項目の設定を行います。
設定を行い、画面下部に記載の

Python: No compatible version ofPython was found.

Python: python"xx".dll is installed.

と変われば、読み込み成功です。

Enable Python for use with ReaScript
左側のチェックを入れる
Custom path to Python dll directory:
右端のBrowse...を押し、手順2-1にて入手したパスを指定します。
Forse ReaScript to use specific Python dll:
右側に「Python"xx".dll」と入力

キャプチャ4.PNG

いかがでしょうか。
画像内の黄色いハイライトの様に表示が変わりましたら、読み込み成功ですのでOKを押し、REAPERの再起動を行います。

3. 実際にスクリプトを作成する

アクション編集画面から新規スクリプトファイルを作成し、出現したエディターからスクリプトを編集していきます。

メニューバーからActions > Show action list...
キャプチャ5.PNG

アクティブになっているボタン、「ReaScript」項のNew...をクリック
キャプチャ6.PNG

「ファイルの種類」項にて、REAPERが拡張子.pyを対応している事の確認をしましょう。
もしここで.pyが表示されていなかった場合、手順1にて異なるバージョンをインストールしている、もしくは異なるdllファイルを読み込ませている可能性があります。
キャプチャ8.PNG

適当なファイル名を入力し、その後ろに必ず拡張子.pyを入力しましょう。
ファイル名だけですと、

Extension not supported:""

「そんな拡張子(空白)は対応しておらん!」と怒られてしまいますのでご注意を。
保存を押すと、こんなスクリプトエディターが表示されます。
キャプチャ.PNG

本投稿では、具体的な表記方法についての説明は割愛させて頂きますが、
下記コードをコピペし、Ctrl + S(保存)をすると、メッセージボックスやコンソールが出現し「Hello World!」と表示してくれます。

test.py
RPR_ClearConsole()

str = "Hello World!"

RPR_ShowMessageBox(str, "title", 0 )
RPR_ShowConsoleMsg(str)

まとめ

いかがでしたでしょうか。

僕自身、プログラミングの勉強を始めて間もないですが、
今後はPythonを使って音をだしたり、機械学習関係にも手を出せたらと思います。

参考文献

敬称略。

leihcrev著「Python 3.4 Windows7-64bit 環境を作る (金融時系列解析向け)」
http://qiita.com/leihcrev/items/4971eee4e657be953895
「REASCRIPT API — DOCUMENTATION」
https://www.extremraym.com/cloud/reascript-doc/
「REAPER-ReaScript」
http://www.reaper.fm/sdk/reascript/reascript.php#reascript_basic