INDIE INDEX

レベル:入門

BGM とは|場面の背景で流す音楽。効果音とは別に扱う

言葉の意味

BGM は、バックグラウンドで流れる音楽のことです。ゲームでは、場面が続くあいだ鳴りつづける音楽を指します。足音・衝撃音・武器の音のように、動作に合わせて鳴る音は、ここに入りません。

ゲームの音には、バックグラウンドミュージックまたは効果音といったものがあります。音のファイルを取り込む設定にも、音楽と効果音で扱いが分かれる所があります。Godot では、短くて繰り返す効果音には WAV を、音楽・話し声・長い効果音には Ogg Vorbis を使う目安があります。Unity の圧縮の形式の設定では、圧縮しない PCM は短い効果音と、ファイルが大きくなる代わりに音質を高くしたい音に、Vorbis と MP3 は中くらいの長さの効果音と音楽に当てます。Unity の読み込み方には、連続した音を扱うストリーミングがあり、圧縮されたデータをディスクから少しずつ読み、そのつど復号します。このとき使うメモリは最小限です。

たとえば、BGM を最後まで流したあとに、また最初から流し続ける場面があります。Godot では、Ogg Vorbis と MP3 の取り込みの項目 Loop(繰り返し)を有効にすると、再生が音の終わりに達したあとで、音の最初からまた再生します。Loop Offset(繰り返しの開始位置)は、再生が終わりに達したあとに繰り返しを始める位置を、音の先頭からの秒数で決める項目で、音の一部だけを繰り返すのに使えます。0 なら音の全体を繰り返し、Loop が有効なときだけ効きます。WAV と違い、Ogg Vorbis と MP3 で指定できる位置は開始位置だけで、終了位置はありません。繰り返しも前向きだけで、往復や逆向きはできません。Unity では、AudioSource の loop(繰り返し)が、音が再生し終わったあとにもう一度再生するかどうかを、取得・設定する項目です。再生中の AudioSource で loop を無効にすると、いまの繰り返しの終わりで音が止まります。

音をまとめて扱う場面では、Godot は AudioStreamPlayer のノードで再生先のバス(audio bus)を選べます。バスは、音を通す場所で、音を加工したり、別のバスへ送ったりできます。Godot の Web プラットフォームでは、バスに効果を足す働きは、AudioStreamPlayer の再生のモード(playback mode)が既定の Sample のときは使えず、Stream のときだけ使えます。Stream では、スレッドが有効でないと遅れが大きくなります。Unity は、AudioSource の出力を Audio Mixer のグループ(バス)へ送ると、その信号に効果がかかります。グループでは、音量の減衰とピッチの補正を制御できます。Unity の Audio Mixer のスナップショットは、グループのすべてのパラメータの設定を取っておく仕組みです。スナップショットのリストを作ると、ゲーム中にスナップショットの間を移り、異なる雰囲気やテーマを作れます。Web プラットフォームは、Audio Mixer に一部だけ対応しています。

曲を切り替える場面では、たとえば次の仕組みがあります。Godot の AudioStreamInteractive は、複数のクリップと切り替えの表(transition table)を組み合わせて、音楽を対話的に再生するストリームです。再生するクリップを選ぶと、いまのクリップから新しいクリップへ、表の対応する規則に沿ってなめらかに移ります。AudioStreamPlaylist は、サブストリームを順に再生するストリームです。

音のファイルを使わず、ブラウザの中で音を作って BGM と効果音を鳴らす作りは、BGMと効果音を鳴らす処理を書かせる頼み方にあります。

混同されやすい言葉

BGM と効果音は、どちらもゲームの音ですが、取り込むときの扱いが分かれます。Godot の形式のうち、WAV と Ogg Vorbis には、たとえば次の違いがあります。

形式 圧縮 再生の処理
WAV 生のデータまたは軽い圧縮(IMA ADPCM または Quite OK Audio) CPU での再生が軽い
Ogg Vorbis 強い圧縮で、ファイルがずっと小さくなる 再生に必要な処理がずっと大きくなる

Unity で読み込んだ時点で圧縮を伸ばす方法は、小さな圧縮済みの音に使う方法で、大きなファイルには使いません。

次に読む

効果音のほうの言葉の意味は、SE(効果音)にあります。

情報源

関連ページ27

このページの内容の誤りは、問い合わせの窓口で受け付けています。