REAPER使いがループBGM素材を用意する方法を考える(怠惰編)

23/07/03 追記
自サイトにてもっと楽にして完結編書きました。↓

WAVのsmplチャンクにループさえ設定してしまえばこのツールで一括変換できるので、このページの変換関連の説明はほぼ全部不要となりました。
興味のある方はぜひ。

結局.RPP一本で何とかなりましたね…

.RPP一本じゃ限界を感じる

前回こういう記事を書いたけど、
曲素材として配布する場合mp3,ループoggだけでは不十分な気がしてきた。
正常にループ設定されたoggでもそのまま使えないパターンは今でも普通にあるようで、
Unityの場合どうも単一oggファイルだと曲頭からのループのみ対応。
ファイル一つで曲の途中からループさせる場合はsmplチャンクでループ設定したwavファイルが必要で、
実装時にUnity側でVORBIS変換するのがデフォな模様。

これマズくね?

Unreal Enginは5からループタグで再生できるようになったっぽい?
まあでも多環境で楽に扱えるよう初めから分割ファイルを用意したほうが良いのは間違いなさそう。
「タグ付きOGGさえあればええやろ」と思っていた私の浅はかな考えは頭から叩き落とされました。

と言うわけでループBGM用意に関してREAPER環境でどう用意すれば効率良さげか考えてみます。

あ、あと怠惰編以外ないです。

そもそもどの形がベストなのよ

間違いなく↓

この手の界隈だと言わずと知れたユーフルカさん運営の老舗サイト。
いつの間にかサイト名変わってリニューアルしてました。
MP3もあるけど重要なのはループ素材の内容↓

ループogg & m4aとタグ読み込み未対応環境向けの分割OGG、
加えてループ設定をソフト側で打ち込まなければならない時のために、
LOOPSTART&LOOPLENGTHの数値記載txt付き。

これはゲーム用BGMとして見た場合の話ですが、
フリーBGM提供サイトとして最強と言っても過言ではないと思っています。

もちろん動画用の曲素材として使うならこれらはほぼ意味を成しません。
そもそもそういう用途で素材探してる人のほうが多そう。
でも自分で作ってる曲はガッツリそういう方向から逸れてるので、
もうこの形でいいんじゃないかと思った。
ループwavは容量的に避けたいし…

極力シンプルに準備したい

oggだと不具合出てもm4aなら問題ない場合もあるらしいので、
m4aも一応あったほうがよさそう。
だがREAPERでは.m4aもといAAC書き出しには対応していない。

分割oggはリージョンレンダリングで出来んこともないけど、
このやり方だとループ部分の曲頭には無音など存在しなくなる。
コンプ等のエフェクト使ってると支障が出る場合が多い。
てか出た。

一旦マスターwav書き出しで対応するしかなさそう。
音声周り都度弄るの面倒だからポータブル版導入してWaveOutで使います。

テンプレやらなんやら設定完了

まあmp3は元のプロジェクトで書き出せばいいとして問題はoggとm4a。
理由は置いておきますが、
とにかくタグにLOOPSTARTとLOOPLENGTH仕込んだwavを作ります。
が、REAPERじゃ何しても今のところ多分不可能です。
最低でもID3で書き込む必要があるがなんかバイナリ弄ってもダメだった…

foobar2000+Columns UIでループタグ書く

もう頭来たので力業で行く。
とりあえずループに必要な範囲決めてwavに書き出します。

ここでfoobar2000のご登場です。

foobar2000も普段使いしてるので別途ポータブル導入。
v2.0 beta 24 64bit版で作業してます。
とりあえず↓2つを入れて…

後は説明が面倒なのでもうColumns UI用設定ファイル置いときます↓

デフォルトUIだとプレイリストからタグ情報は弄れずプロパティから編集する必要がありますが、(あるよね?)
Columns UI導入するだけで好き放題弄れるようになるので、
それ使って速攻設定してやろうっていう魂胆です。
プロパティだとLOOPSTART等の文字列も全部撃ち込む必要がありますが、
この方法だと数値入力すれば自動で適用されます。
ループ確認方法は前回記事でやったので省略。

やっと下準備完了

なぜwavにループタグ仕込んだかですが、
foobar2000って右クリメニューからファイル変換できますよね。
しかもタグ情報維持したまま。

つまり…

エンコーダー準備やら変換設定やらは各自でしてね

このためです。
非可逆→非可逆を避けて楽しようとしたらこれしか思いつきませんでした。
このwavはもう使わないので削除。
一覧からタグ仕込むだけならMp3tagで同じことはできますが、
その場合事前にファイルをm4aとoggに変換して片方にループタグ入力した後タグコピーする必要があります。
もちろん変換は別ソフトで行わなければいけません。

面倒ですね(断言)

一つのソフトで一度タグ入力して変換するだけで済むのが利点。
似たような作業できるソフトならfoobar以外でも良し。

折角ならこのままfoobarで確認と行きたいところだけど、
プラグイン入れても拡張子を.loggとかに変えないと無理。
いちいち書き換えて確認は面倒くさい。
例のウディタプレーヤーじゃm4aのループ確認はできないし、
しょうがないのでKbMedia Playerで確認するようにした。
foobarだけでなんとかするにはプラグインのソースいじってビルドまでしなきゃならんから流石に…

実際に再生してみて問題なければループogg,m4aの作成は完了です。

分割oggを出力する

最後に分割oggですが、

リージョンに名前入力
「-$region」でハイフン+リージョン名で出力できる
終了

これだけで終わり。
名前はパクってintroとloopにしたけど分かれば大丈夫やろ(疲労困憊)
この再生確認はDAWに突っ込んでやるのが手っ取り早い。

違和感なく再生できていればこれで終わり

ちなみにREAPERでループWAVを作りたい場合、
ループさせたい部分でリージョン1個作ってwav書き出し時にリージョン情報書き込むだけで大丈夫そう。
Wavosaurなどで開くと既にループポイントが設定されているはず。
仕様なのか曲終端でループ終わるようなファイルは作れなさそうなのと、
マーカーではループ設定不可能なので複数リージョン扱ってる場合は書き出し時に工夫が必要。
このwavをループogg&m4aに楽に変換する方法を探したけど分からん…
そもそもこの方法で仕込むの秒数らしくて数値変換必要臭い。

多分これが一番楽だと思います

まあREAPER使いの場合っていうのが大前提ではありますが、
思いつく限りではこれが一番手っ取り早そうです。
MP3の時にピークガーって言っときながらこのやり方だとOGGもm4aもピーク変わっちゃってるんですけど、
そこはもう綺麗サッパリ諦めます。
そこまで気にし始めたら永遠に作業終わらないので…

あくまで一個人の例なうえぶっちゃけまだ無駄が多い気がするので、
もっと楽な方法思いついたら試してみてください。


…まあ色々書いたけどとにかく今回一つだけハッキリしたことがある。



これ前回のバイナリ改造記事全く意味ねえわ…