🎼

音声ファイルをループ音源にする方法【RPGツクール】

2022/05/17に公開約4,700字

「ループ音源」というファイルは存在しない

「ループ音源」と言った時、素人にとってはおそらくこの2つの意味で解釈される。

  • ゲームで使うような繰り返し同じフレーズを流す音声ファイル
  • 音声の最初と最後が繋がるように作られた音声ファイル

これは僕が陥ったことでもあるんだけど、実はそもそも前者のような
ファイル単体でループ機能を持っている音声ファイルは存在しない。

前者のようなものがないか探しても出てくるのは、後者のファイルを使ったDTMの解説ばかり。
それもそのはず。そんなものはないのだから。

調べてわかったのは、RPGツクールのゲーム内でループする音源には
RPGツクール専用の「とある処置」が必要だということ。
そこで今回は

  1. RPGツクールで使用可能なファイルの種類
  2. ループ化の方法と必要なモノ
  3. 手っ取り早く確実な手順

といった感じの内容を紹介します。

RPGツクール専用の「音源ループ化」

まずこちらのサイトから要約すると、以下のことが分かります。

https://andy-hiroyuki.hatenablog.com/entry/2015/11/25/221218

・RPGツクールで使える音声ファイルは基本的に「.m4a」と「.ogg」のみ
・それ以外の音声ファイル形式(.mp3や.wavなど)には対応していない
 →使いたい場合は「.m4a」と「.ogg」に変換する必要がある。
・Win/Mac上でのみ使えればいいという場合は「.ogg」ファイルのみでOK
・web上で使いたい場合は「.m4a」と「.ogg」両方が必要
 →ただし、oggファイルだけで音声を高速再生するプラグインも存在する
・.wavや.mp3を.ogg へ変換できる無料ソフト(Audacityなど)も多数存在する

そしてここからが重要。

普通に ogg に変換したいだけであれば他にもツールはあるのですが、
RPGツクールで使用 (ループさせる)するのであれば ogg に変換するだけではダメです。

ツクール上で音楽BGMを意図した場所へにループさせるには、
ループタグという情報を ogg ファイルに埋め込まなければなりません。

ここで正直心が折れそうになった。(なんか難しそう・・・)
だが、色々調べると案外簡単にできる方法があったので紹介します。

今回紹介する方法(多分一番簡単)

※無駄がないとは言ってない
まず全体の手順はこんな感じ。

  1. 音声ファイルを用意する
  2. Audio Extractor で .ogg あるいは .m4a に変換する
  3. StudioOneでループの開始位置と終了位置を確認
  4. MP3tagでループタグを埋め込む

以上です。
では、次に詳細について解説します。
1.についての解説は不要だと思うので2~4について。

2.音声ファイルの変換

正直変換の方法なんて調べればいくらでも出てくるんですが、
せっかくなのでオンライン上でできた方が楽だよね、ということでこちらの紹介。

Audio Extractor

https://audio-extractor.net/ja/
説明するほどでもないけど、
ファイルを開いて変換したいファイル形式を選択して実行するだけ

他にも色々な方法があるので、自分に合ったやり方でOK
選択肢としておまけで挙げておくとこんな感じ
https://www.aconvert.com/jp/audio/
https://www.gigafree.net/media/encode/

3.ループの開始~終了位置を確認

おそらく多くのサイトでは「Audacity」を推している人が多いと思いますが、
個人的に使いにくいところが多かったので、ここでは別の無料ソフトを紹介したいと思います。

それがこちら

StudioOne Prime(無料版)

https://www.mi7.co.jp/products/presonus/studioone/prime/
見て頂いたら分かると思いますが、これは楽曲作成ソフトです。

無料版と有料版がありますが、正直無料版でもこれでもかというくらい高機能。
ogg と m4a の出力もできるので、これがあれば先ほどの手順もこのソフトで
完結出来ます。(ここでは説明しませんが)

それではループが始まる位置と終わる位置を確認する手順を説明します。


まず、新規ソングを立ち上げたらテンポを修正する

音声のテンポを設定する理由について

正直どっちでもいい。
ただ、テンポがあってる方が後々やりやすいというだけ。


ogg ファイルをドラッグ&ドロップ


下の方にある図の部分を「小節」から「サンプル」に切り替える


カーソルをループ開始位置に置いてサンプル数を確認
(図だと 306783 となっていることが分かる)


カーソルをループ終了位置に置いてサンプル数を確認
(図だと 920348 となっていることが分かる)

ここから次のことが分かった。

ループ開始位置 ループ終了位置 ループの長さ
306783 920348 ( 920348 - 306783 = ) 613565

次の手順で使うのは 「ループ開始位置」「ループの長さ」

4.ループタグを埋め込む

いよいよこの記事の本命。
ループタグについてはこちらのサイトで開設されてますが、要約すると

・RPGツクールでは BGM と BGS は (何もしなければ)曲全体をループしてしまう
・ME と SE は 何をしてもループしない
・BGM および BGS を途中からループさせるには2つのループタグが必要

ということです。
上記の3点はしっかり押さえておきましょう。

このサイトによれば、ループタグは以下の2種類あるとのことです。

< LOOPSTART > < LOOPLENGTH >
ループが始まる位置 ループの長さ

先ほど調べたサンプル数はここで使うという訳です。
それでは実際にループタグを埋め込んでみましょう。

ループタグの埋め込みにはこのソフトを使います。

MP3Tag

https://www.gigafree.net/media/mu/mp3tag.html
ソフト起動後、ファイル > ディレクトリを追加 > ogg ファイルがあるフォルダを指定
すると指定したフォルダ内にある音楽ファイルが読み込まれます。

表示 > カラムの表示項目を編集 > 不必要なカラムのチェックを外す


新規作成 > LOOPSTART と LOOPLENGTH を図の通りに入力


画面を戻したら右クリック > 追加したLOOPSTART と LOOPLENGTHカラムにチェック入れる


追加したループタグのカラムが表示されるので、
LOOPSTARTループ開始位置の値
LOOPLENGTHループの長さの値 を入力する

あとは勝手に保存してくれるので、これで曲の途中からループする音源の完成です!
ツクール上でこのファイルを設定してあげれば意図通りの動作になっているはず。
お疲れ様でした。

Discussion

ログインするとコメントできます