はじめに
作曲ソフト(≒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」がありますが、こちらは使用しないものなのでご注意を。)
2-2. REAPERへ読み込ませる
プリファレンスを表示させます。
Ctrl + P
もしくは、メニューバーからOptions > Preferenecs
”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」と入力
いかがでしょうか。
画像内の黄色いハイライトの様に表示が変わりましたら、読み込み成功ですのでOK
を押し、REAPERの再起動を行います。
3. 実際にスクリプトを作成する
アクション編集画面から新規スクリプトファイルを作成し、出現したエディターからスクリプトを編集していきます。
メニューバーからActions > Show action list...
アクティブになっているボタン、「ReaScript」項のNew...
をクリック
「ファイルの種類」項にて、REAPERが拡張子.pyを対応している事の確認をしましょう。
もしここで.pyが表示されていなかった場合、手順1にて異なるバージョンをインストールしている、もしくは異なるdllファイルを読み込ませている可能性があります。
適当なファイル名を入力し、その後ろに必ず拡張子.pyを入力しましょう。
ファイル名だけですと、
Extension not supported:""
「そんな拡張子(空白)は対応しておらん!」と怒られてしまいますのでご注意を。
保存を押すと、こんなスクリプトエディターが表示されます。
本投稿では、具体的な表記方法についての説明は割愛させて頂きますが、
下記コードをコピペし、Ctrl + S
(保存)をすると、メッセージボックスやコンソールが出現し「Hello World!」と表示してくれます。
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