見出し画像

結局、ゲームの効果音にはどのファイルを使えばいいのか?

ゲーム開発で広く使われるオーディオデータはWav, Ogg, MP3の3種類があります。ほかにも読み込める形式はたくさんありますが、有名なゲームエンジンに共通して使えるものというと、だいたいこの3種に絞られてくるでしょう。

今回はサウンドデザインを始めたい方、個人のゲーム制作者の方向けにそれぞれのファイルがどういった特徴があるのか、結局どれを使えば良いのかを紹介します。より専門的な情報は参考文献も読んでみてください。

主に参考にしたのはGodot4のドキュメントですがゲーム・アプリ開発全般に当てはまるのではないかと思います。

これを書いている人

YouTubeでローグライク関連の情報を発信しています。サウンドデザイン、フィールドレコーディングを勉強中。仕事では音楽制作もやります。

ファイル形式ごとの特徴

WAV

軽量でCPUへの負担が少ないですが非圧縮(またはごくわずかに圧縮されるだけ)なので、ファイルサイズはでかいです。短い音、繰り返しトリガーされる効果音は基本的にWAVを使います。

Ogg

圧縮されているのでファイルサイズは小さくなるものの、再生に処理能力が必要となってきます。MP3より優れた圧縮方法という話も聞きますが、音質で差があるか?というとよくわからないです。頻繁にON/OFFする必要がない音楽、または長い効果音はこの形式が向いています。

MP3

同じ品質ではOggよりサイズが大きくなるものの、CPUへの負担が少ないという利点があります。

これに加えて、オーディオファイルは適切なクオリティでインポートすることが重要です。ここで言うクオリティとは、サンプルレートビットデプスが関わってきます。

サンプルレートとビットデプス

アナログの音をデジタルに変換する際に、

1秒間に何回データを記録するか

を表したものをサンプルレートと言います。

サンプルレートが高いほと横軸の解像度が高い

たとえば、44.1kHzでは1秒間に44,100回サンプリングされる計算です。理論上はこの数値が高いほどハイクオリティな音(グラフ横軸の目が細かくなっていく)であり、収録できる周波数の上限も上がっていきます。

また非圧縮のWAVなどはビットデプスの違いがあり、サンプルレートが横軸ならビットデプスは縦軸の細かさを決定します。

ビットデプスによって縦軸の解像度が決まる

この違いはそう簡単に耳で判別できるものではありませんが、ビットデプスが増えれば小さな音から大きな音まで、より広いダイナミクスを表現できるメリットがあります。

最近は安いレコーダーでも32bit フロート、いわゆる「音割れしない」録音ができるようになって話題になっています。

現在のスタンダードは48kHz 24bitで、だいたいはこれで録音・編集しておけば間違いないです。オーディオストックで販売されているファイルもある時期からWAVに統一されて、ほとんどが48kHz 24bitになっていると思います。CDは44.1kHz 16bitでしたが、これでもゲームの効果音としては十分な音質が保証されているでしょう。

で、結局どれを使えばいいのか

Consider using WAV for short and repetitive sound effects, and Ogg Vorbis for music, speech, and long sound effects. MP3 is useful for mobile and web projects where CPU resources are limited, especially when playing multiple compressed sounds at the same time (such as long ambient sounds).

Godot 4.2 ドキュメント

結論から言うと、

  • 短い、繰り返し鳴らす効果音にはWAV

  • 音楽やダイアログ、その他長い効果音にはOgg

という感じで、WAVとOggを使い分けるのがおすすめされています。モバイルやウェブの場合はCPUのリソースが限られているという意味でMP3も有効らしいですね。

そして、ここから大事な話ですが…

現在はハイレゾが話題になっていて、より高品質な音で聴けるストリーミングサービスも存在します。しかしゲームオーディオ分野では16bitが24bitになっても聴感上の利点はないとされており、再生速度を下げることがない限り48kHz以上のサンプルレートもほとんど無意味です(サンプルレートが高いほうが再生速度を下げても劣化しにくい)。

何らかの理由で高サンプルレートのファイルを残しておく場合、ゲームエンジンごとにインポートの設定を変えておきます。

Godotではインポートするサンプルレートの上限を設定できる
Game Makerでもサンプルレート、クオリティを設定できる

とくにサンプルレートの違いはトラブルの原因になりやすく、Halls of Tormentの音がぶつぶつ切れるような不快な現象も、サンプルレートの設定をミスっているからだと思います(Windowsのオーディオ設定が原因という説もあって、48kHzから44.1kHzにすると解決するという報告もある)。

もちろん32bitフロートで録音できる恩恵はでかいし、サウンドデザイナーが音を作りこむ段階では高サンプルレートを維持するのが望ましいです。

ただし最終的に書き出す段階で同じクオリティが要求されるわけではなく、状況やファイルサイズを加味して適切な形式でインポートすることが重要になってきます。


参考


この記事が気に入ったらサポートをしてみませんか?