数ヶ月前、以下のような記事が目に留まりました。
- mp3の特許ライセンスが終了 - AV Watch
http://av.watch.impress.co.jp/docs/news/1059708.html
mp3(MP3コーデック)の特許が切れたという話です。これによりアプリやゲーム開発者はライセンスの問題を気にすることなくmp3を使うことができるようになります。
というわけで早速、検証も兼ねてmp3を音声素材として使ったゲームをひとつ作成してRPGアツマールに投稿してみることにしました! ちなみにmp3を再生すること自体が可能かどうかという点については、プラグインが必須ですが可能です。プラグインについてはブログの最後で説明します。
投稿した作品の紹介
先日RPGアツマールに公開したツクールMV製の掌編アドベンチャー「その名は深く青ざめて」です。プレー時間2分ほどの気軽にプレーできるゲームとなります。
「その名は深く青ざめて」(音が出ます)
https://game.nicovideo.jp/atsumaru/games/gm4093
タイトル画面
ゲーム画面
なお、本作はやれやれ氏主催の「2分ゲーコンテスト」に参加しています。
- 2分ゲーコンテスト運営アカウント
https://twitter.com/2funge
mp3を使用するメリット
ほぼ全ての環境で再生できる
現在、ツクールMVでゲームを作ってWeb(RPGアツマール等)にアップロードする場合、ogg(主にVorbisコーデック)とm4a(AACコーデック)の二つを用意することになっています。PCブラウザやモバイルブラウザ等、様々な動作環境に対応するためですが、変換やループタグの設定、確認が面倒だったり、何より容量を圧迫するという問題があります。
これをmp3に切り替えることで一本化できる可能性があります。
mp3は普及率が高く、ゆえに様々な環境でも安定して再生可能です。下記に対応状況が記載されています。
- HTML5 の audio 要素と video 要素でサポートされているメディアフォーマット
https://developer.mozilla.org/ja/docs/Web/HTML/Supported_media_formats
上の一覧表だと一部「?」がありますが、「その名は深く青ざめて」については、公開後に運営さまから頂いた動作確認結果でも問題はなく、プレイヤーからも今のところ「再生できない」という声は聞いていません。(もしうまく再生できなければご一報ください)
mp3はoggやm4aと比べて圧縮効率が悪く、単体ではむしろ容量が大きくなってしまう傾向がありますが、それでも二つ用意するよりは(同一ビットレートであれば)マシだと思います。
デスクトップ実行(Game.exe)でどうするか
ツクールのGame.exe(NW.js)では、ライセンスの問題がありもともとmp3は再生できませんでした。ですがNW.jsは2017/05/03のリリースでmp3のデコーダをffmpeg.dllに含めるようになりました。もちろん特許の問題が解決されたためですが、なかなか迅速な対応だと思います。当然ですがm4aは依然として再生できません。
- NW.js v0.22.1 Released with Chromium 58 Update and mp3 Decoder
https://nwjs.io/blog/v0.22.1/
つまり、NW.jsを最新にすればデスクトップアプリとして実行したときもmp3を演奏させることができます。NW.jsを最新に差し替える方法についてはセアロソンク氏の以下のブログが参考になると思います。
- RPGツクールMVで出力したWindows版EXEの動作を軽量化する方法
http://b.dlsite.net/RG26890/archives/upgrading_nwjs_within_rpgmakermv
本件とは関係なく、NW.jsを最新にすることでパフォーマンスの大きな改善が見込めるので、ぜひ一度お試しください。もちろんデプロイ後だけでなく制作中のプロジェクトにも適用できます。
対応素材が多い
mp3は普及率が高いだけあって、フリー素材も同形式で配布されているというケースが多いです。変換ツールを使えばもちろん変換できますが、ダウンロードした素材がそのまま使用できるのは嬉しいです。
mp3を使用するデメリット
音質が悪い
古いフォーマットなので、oggなどの後発のそれと比べて音質が若干劣る(と言われています)。さすがにもともとogg等で配布されているものをmp3に変換するのは少し抵抗がありますね。
ツクールMVのエディタで選択できない
これがかなり致命的でした。ツクールMVでBGMやBGSを選択するときは、oggファイルしか選択対象に表示されません。拡張子のみoggに変えると選択対象に表示されますが、今度はRPGアツマールにアップロードするときに不正なファイルとして弾かれてしまいます。
よって現状ではファイルとして選択するときだけoggファイルを(中身はなんでもいいので)作成して、エディタ上で選択後、当該ファイルを削除するというなんともバカバカしい手順を踏む必要がありました。
結論
ツクールMVの音声ファイルにmp3を使用することはわりと面倒ではありますが、特に容量的な意味で一定の効果が見込めました。そこで一部の素材(例えば素材サイトでmp3形式で配信されている素材)のみmp3を使用し、基本はogg/m4aを使うのがいいのかな、と考えプラグインを作成しました。よろしければお試しください。
RPGツクールMVで使用可能な自作プラグイン「MP3オーディオ管理プラグイン」の紹介です。
プラグインの説明
ツクールMVでmp3ファイルを使用可能にします。特定のファイル(末尾にmp3と付いたファイル)のみmp3で再生することも可能です。デスクトップ環境(Game.exe)でmp3ファイルを再生させるにはNW.jsを最新にする 必要があります。
さらに、プラグイン側で独自にループタグを設定することが可能です。ループタグは曲ごとに設定できます。この設定はファイルにあらかじめ設定されていたループタグより優先されます。
ダウンロード
プラグインファイルはGithubで公開しています。
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/Mp3AudioManager.js
ダウンロード方法(Windowsの場合)
- リンク先に飛ぶ
- 右クリック
- 名前を付けて保存
- ファイル名を変えずに、プロジェクトの「js/plugins」配下に配置
利用規約
当プラグインはMITライセンスのもとで公開されています。作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)についても制限はありません。このプラグインはもうあなたのものです。
http://opensource.org/licenses/mit-license.php