見出し画像

REAPERで無理やりOGGのループタグを仕込む(非推奨)

もともとサイトの小ネタに上げてたネタですが、
ノートのアカウント取ってるならこっちでよくね?
と思ったのでこちらに投稿。
需要はべらぼうに低いでしょうが画像付きで詳しく書いてみます。

タイトルにもありますが非推奨です。
何が起こっても自己責任でお願いします。
またreaper.exeを直接書き換えるので、
ファイルのバックアップを取ってください。

バイナリエディタを用意する

多分純DTMerからしたらなにそれって感じだと思いますが、

こういうやつです。

画像はStirlingというバイナリエディタです。
最近のWindowsではどうも不安定な気がしますが、
今回の作業程度ならまあ問題ないでしょう。
DTMerじゃ持ってない人が殆どだと思うので各自↓から落としてください。

書き換え個所を検索する

ここからが本題。
まずはStirlingにreaper.exeをD&Dで突っ込み、
Ctrl+Fか双眼鏡マークをクリックして検索窓を出してください。

双眼鏡何個かあるけどこれです

ここまで来たら検索データにVORBIS:と入力し、
データ種別を文字列にして次検索をクリックします。

現在位置はファイル頭のはずなので検索範囲はこのままでもOK

検索窓を消すとこんな画面になっているはずです。

何これって感じだと思う

これ何が表示されてるのかって話ですが、
Project Render MetadataのVORBISの説明とIDの行の内容が、
一部を除いて全部出てきてます。
全て出てないのは他フォーマットと共有部分がある為かと思います。
詳しいことは知らん。


書き換え位置を決める

IDの行は「VORBIS:○○」の○○の部分です。
ここをLOOPSTART、LOOPLENGTHに書き換えるわけですが、
どこでもいいわけではありません。

アルバムに至っては説明文すらねえ

青下線部は最後の「.」を除いて英数字で13ないし12文字まで書き込める余裕がありますが、
赤下線部は9ないし8文字しか猶予がありません。
でもって自分で弄った感覚だと、
次の内容までの1文字分は開けておいたほうが良さそうです。
俺環だとタグエディタ起動時にREAPER落ちました。
つまり最低でもLOOPSTARTは10文字、
LOOPLENGTHは11文字書き込める場所に記載する必要があります。
今回はREAPERのタグエディタ内で縦並びになってるALBUMARTISTとPERFORMERを書き換えます。

画像の赤いマークはStirlingのマーク機能

今回使用したREAPAER  v6.73での位置はここになります。
前述の検索機能でも使って飛んでください。
PERFORMERも12文字まで書き込めるのでいい感じですね。
こいつらを右側の文字列の書き換えたい部分をクリックして打ち込みます。
…がその前に、
下の画像にある赤下線部が上書になっているか確認してください。
挿入になっていた場合はキーボードのInsertキーで上書に変更します。

挿入だとファイルがぶっ壊れます

先頭クリックしてそのまま打ち込めば全部上書きされていきます 。
ちょっと見づらいですが書き換え後がこちら。

スペースもそのまま入力できます

画像にある00書き換えは前者だけでも必ず行ってください。
正常に動作しなくなる可能性があります。

今回は説明行も書き替えていますが、
出力に関係ないので必須ではありません。
ここまで変更し終わったら上書き保存してください。
弾かれる場合は名前を付けて保存からデスクトップかどこかに一旦保存し、
REAPERのインストール先フォルダのexeと入れ替えてください。
ここまで正常に行えていれば、

試した感じ順番はどっちが先でもいいらしい

あとはこいつの値にフレーム数を仕込んでやればOKです。
書き換え後はALBUMARTISTとPERFORMERのタグはもちろん使えません。

REAPERでループ関連の数値を調べよう

REAPERで指定できるようにしたなら、
REAPERでサンプル数も調べられないと意味ないですよね。
と言う訳でまずはREAPER上で綺麗にループできるように範囲指定します。
自分で作った曲ならテンポも分かるはずなので問題ないでしょう。
他人の曲の場合は自力で調べて、どうぞ。
(その場合そもそもREAPER使うメリットないけど…)

今回はwavソースで行ってます

日本語化ファイル入れてるので英語のまま使ってる方はちょっと分かりにくいかもしれませんが、
まず再生コントローラの上で右クリックし、サンプル表示にします。

ボタン上でなければどこでも可

選択範囲の表示が↓のようになるはず。

重要なのは両端

このループ開始位置とループ自体の長さが、
まんまLOOPSTARTとLOOPLENGTHとして使えます。
こいつをREAPERのVORBIS用メタデータに入れましょう。

レンダリング時メタデータを有効にするのをお忘れなく

これでレンダリングしてみて、
ループ再生対応プレイヤーで正常にループできていれば作業完了です。
ちなみに私はウディタ製ミュージックプレイヤー2で再生確認しています。

これ使って正常にループすれば基本大丈夫

以上で終了です。
お疲れさまでした。

ちなみに…

VORBISタグのコメントの値に
LOOPLENGTH=○○ LOOPSTART=××
っていう文字列をぶち込んでやれば、
一部ツールでは普通にループできたりします。
ただ普通にコメントとして処理されてしまうことも多々あるようで、
この方法はお勧めできません。

あと覚えてしまえば問題ないとはいえ、
デフォテーマのループ関連表記は正直分かりにくい。
第三者によって作成されたテーマだとまだ分かりやすいと思う。

クッソ分かりやすい

画像はメインで使っているLCS_BlueSesshinというテーマ。
表示見切れてるけどどうせコピペでしかタグ入力しないので問題なし。

また今回はマスタリング用wavファイルで例を示しましたが、
打ち込みからマスタリングまで一つで完結したプロジェクトでも、
上記と同じように指定すればループOGGの作成が可能です。
ただしループ位置は工夫しないとぶつ切りで不自然になるので注意。
ファイルサイズも書き出し時に工夫しないと無駄にデカくなるし、
カスタム時間範囲で開始時間に負数を指定できないなど制限は多い。
(アイテム全体をナッジ移動するくらいしか選択肢が無い)

でもREAPERで指定するなら正直この使い方がメインだと思う


最後に

見切り発車でずらーっと書き連ねてみましたが伝わるでしょうか。
このご時世にREAPERでループ用曲素材を作る人間が果たしているのだろうかという感じは否めませんが、
どなたかの参考になれば幸いです。

ただし冒頭でも言いましたが非推奨です。
バイナリ書き換えはメーカーの意図しない行為ですので、
何が起きても自己責任でお願いします。

問題が起きた場合はすぐに使用を中止し、
バックアップしたexeファイルに差し戻してください。



メタデータにループ関連公式で追加されるか、
デフォルトでカスタムできればこんなことしなくていいんですけどね。
拡張でもそれっぽいの見つからないしどうしようもないんだよなぁ…