【REAPER】MIDIから音声オブジェクトを自動生成するスクリプト
インストール方法について不備があったため修正しました。
皆さんこんにちは。[まいまい]です。
以前からREAPERでこの機能ほしいな~って思いながら、なかなか実現できなかったスクリプトを見つけましたので紹介します。わーい!
概要
今回ついに見つけた機能の概要は、
MIDIを用意して、スクリプトを実行すると、
このようにピッチを変更した音声ファイルを作る、というものです。
スクリプトの導入方法と、使い方を書いていきたいと思います。
スクリプトを導入するためにReaPackをインストールする
今回使うスクリプトはbfutさんのbfut_ReaScriptsです。
そもそもREAPERには、ユーザーが拡張して使うことのできるReaScriptという機能があります。まぁ、Aviutlの拡張編集のスクリプトみたいなもんだと思ってもらえればいいかと思います。
で、スクリプトを導入したり管理するために、ReaPackというプラグインを使います。
https://reapack.com/ ここにアクセスして、画面右側のDownloadsから環境にあったものを保存します。
保存したDLLをREAPERのリソースフォルダ(特に設定を弄っていなければC:\Users\[username]\AppData\Roaming\REAPERにあるはず。オプション->REAPERのリソースフォルダを開く(R)から開けます。)にある、UserPluginsフォルダにコピーします。
REAPERを再起動しましょう。
続いて、bfutさんのリポジトリURL(更新情報URL)を登録します。
(bfutさんのリポジトリ以外にもリポジトリは多数ありますが、https://reapack.com/repos今回は他のスクリプトは入れず進んでいきます。いつかReascriptについての記事を書くときにでも紹介します。きっとね。)
ウィンドウが開かれない場合は「Extensions -> ReaPack -> Manage repositories」(翻訳してる場合は「拡張」になっています)を選択。
Import/ExportからImport repositories…を選択、
ウィンドウにhttps://github.com/bfut/ReaScripts/raw/master/index.xmlを入力。
拡張->ReaPack->Synchronize packagesを実行。
ここから追記箇所。
拡張->ReaPack->Browse Packageを開きます。
パッケージ名の左に「i」と書かれていないものはインストールされていません。
Select allを選び、ActionsからInstall/UpdateSelectionを実行して下さい。
これでインストールが本当に完了したはずです。
これでインストールが完了したはずです。
インストールが本当にできているか確認するために、アクション->アクションリストを開く、からアクションリストを開き、bfutで絞り込み下の画像のように表示されることを確認しましょう。
実行方法
まず、アクションリストを開いておきます。
そしてMIDIを用意します。
MIDIを選択して、bfut_MIDI notes to items (notes to subtrack, note pitch as item pitch).luaをダブルクリックして実行します。
こんな感じで小トラックにオブジェクトが生成されます。(やったね!)
このままだと見にくいので小トラックを解除します。
MIDIが和音になっていると一箇所にオブジェクトが重なっているので新しいトラックに移します。
このままでは音が出ないので、生成したオブジェクトを選択して、
右クリックでアイテムプロパティを選択。
新規ファイル選択をして、素材のファイルを指定します。
このまま再生すると音がプツプツと鳴るので、フェードイン・フェードアウトの時間を0:00.010にします。
ピッチを上げ下げして目的の音階になったらおk
これで完成☆
私はいちいち検索して呼び出すのは面倒なので、ツールバーに登録しました。
ツールバーの記事はそのうち、ね。(こればっかやな今回の記事…
これで大幅に作業短縮!?
それでは。(ΦωΦ)ノシ
2018/11/17 追記
えー、なんでか知りませんが、インストールできないんだけどっていう人を複数人見かけましたので、どうしてもインストールできない人向けの最終手段を載せておきます。
まず、https://github.com/bfut/ReaScriptsにアクセスし、画面右側のClone or DownloadからZIPファイルをダウンロードし、解凍します。
次に、
アクションリストを開き、
ReaScriptの読み込みを選択、
先程保存したbfut_MIDI notes to items (notes to subtrack, note pitch as item pitch).luaを開きます。
すると、一応インストールできます。
ただし、この方法だと、レポジトリを登録することの恩恵は全く得られなくなりますのでご注意を。
以上。
コメント
スクリプトを実行すると
… items (notes to subtrack, note pitch as item pitch).lua:167: bad argument #1 to ‘GetMediaItemTakeInfo_Value’ (MediaItem_Take expected)
というエラーが出てしまいます
どうすればいいでしょうか
エラー表記を見ると、アイテムをちゃんと選択できていない状態でスクリプトを実行しているように見えますが、詳しいことはわかりません
そうなんですか..
再起動したら治りました
bfut_MIDI notes to items (notes to subtrack, note pitch as item pitch).luaをダブルクリックすると毎回フリーズするんですけどパソコン上の問題ですか?
その情報だけではわかりません
本題とは異なりますが
和音を一度に別々のトラックに分ける方法は有りますでしょうか
色々調べてみましたが、和音を別のトラックに分けるスクリプト/機能は見つけられませんでした。
その代わりに、KawaScript http://kawa.works/reascript-midi-section に「和音の上/下の音のみを残す」「和音の上/下の音のみ削除する」機能のスクリプトがあるようなので、
それらを組み合わせてマクロを作ると良いかと思います。
現時点で当ブログにマクロについての記事はないため、http://positiveallergy.blog50.fc2.com/blog-entry-611.htmlを参考にしてください。