ゲームのBGMには、他の音楽にはない条件があります。同じ曲が、何十分も繰り返し流れるということです。

3分間のポップスなら、多少しつこいフレーズでも問題ありません。しかし、ダンジョンで40分さまよっている間ずっと同じ2分間が繰り返されるとしたら、話は変わります。ループを前提にした設計が必要です。

この記事では、ループBGMを作るときの具体的な考え方を、構造と実装の両面から整理します。

📌 この記事の3行まとめ
① BGMは イントロ + ループ部 の2部構成。2周目以降はイントロを飛ばす
② つなぎ目が目立つ原因は、ほぼ残響の切れフレーズの完結しすぎ
③ 飽きさせない鍵は長さではなく、変化の粒度。同じ長さでも展開があれば体感が変わる

イントロとループ部を分ける

最も基本的で、最も効果の大きい構造がこれです。

[イントロ] → [ループ部] → [ループ部] → [ループ部] → …
              ↑____________________________|

1周目だけイントロを再生し、2周目以降はループ部の先頭に戻る。これだけで、曲の印象が大きく変わります。

なぜ効くのか。 イントロには「これから始まる」という機能があります。しかし、繰り返すたびに「始まる」感じが来ると、聴き手は毎回リセットされたように感じ、しつこくなります。イントロを1回に限定すると、2周目以降はループ部が滑らかに流れ続けます。

イントロに入れるとよいもの:

  • 曲の導入となる短いフレーズ、または単音の伸ばし
  • 場面転換を知らせる効果音的な要素
  • ループ部にはない、印象的な一発

逆に、イントロに曲のメインメロディを置かないのが原則です。メインは繰り返し聴かせる部分に置きます。

つなぎ目が目立つ、2つの原因

「ループの継ぎ目でブツッと切れる」「そこだけ不自然」という問題は、ほぼ次のどちらかです。

原因① 残響が途中で切れている

これが圧倒的に多い原因です。ループ部の最後の音にリバーブやディレイがかかっていると、その残響が鳴りきる前にファイルが終わり、先頭に戻ってしまいます。結果、残響が唐突に消えて「ブツッ」と聞こえます。

対処法はいくつかあります。

  • 末尾に残響を残さない。ループ末尾の音を短く切る、またはリバーブを切る
  • 残響をあらかじめ先頭に混ぜ込む。ループ部の末尾で発生するはずの残響を、書き出し時に先頭へ足しておく
  • ループポイントを指定できる形式を使う(後述)。無音の余白を持たずに、指定位置へ戻せます

チップチューンの場合、チップ内蔵のエコーは状態を持ち続けるため、この問題は比較的軽いです。ただし書き出したオーディオファイルとしてループさせる場合は、同じ問題が起きます。

原因② フレーズが完結しすぎている

音楽的な原因です。ループ部の最後がきれいに解決してしまう(トニックで終止する)と、そこで曲が終わった感じが出ます。そのあと先頭に戻ると、「終わったのにまた始まった」という違和感になります。

対処は、最後を完全に解決させないことです。

  • 最後の小節をドミナント(Ⅴ)で終える → 先頭のⅠへ自然に戻ります
  • 最後にメロディを上向きで終える(下がって落ち着かせない)
  • 1小節ぶんのフィルイン(ドラムのおかず)を置いて、次への流れを作る

コード進行の考え方はコード進行の作り方入門にまとめています。Ⅴ→Ⅰの解決を、ループの継ぎ目にまたがせるのが、最も自然につながる形です。

長さと構成をどう決めるか

「何分にすべきか」という質問をよく受けますが、長さより構成のほうが重要です。

同じ2分でも、

  • 8小節を延々と繰り返す2分 → すぐ飽きます
  • A(16)→B(16)→A'(16)→C(16) の2分 → 何周でも聴けます

という差が出ます。目安として、32〜64小節を1ループとし、その中に2〜4個のセクションを持たせると安定します。

用途別の目安は次のとおりです。

場面ループの長さ展開
タイトル画面短くてよい(16〜32小節)単純でよい。印象重視
フィールド・街長め(64小節前後)滞在時間が長いので、変化を多く
ダンジョン長め緊張感を保ちつつ、単調にしない
戦闘中程度(32小節前後)短時間で終わるので密度を上げる
ボス戦中〜長展開をはっきり作る
ショップ・メニュー短くてよい明るく、邪魔しない
イベント・カットシーンループしない場合も尺に合わせる

飽きさせないための実践的な手

長い曲を書くのが難しい場合、同じ素材を変形するのが効率的です。

① 引き算で変化を作る2周目のAメロでドラムを抜く、ベースだけにする、伴奏をオクターブ上げる。足すより抜くほうが、変化がはっきり出ます。チップチューンは音数が少ないので特に効果的です。

② 対旋律を足すメインメロディはそのままで、裏で動く別の旋律を1本足すだけで、印象がかなり変わります。

③ リズムパターンを変えるコード進行とメロディを保ったまま、ドラムパターンだけ差し替える。

④ 音色を変えるチップチューンならデューティ比を変える、FM音源なら音色を切り替える。同じフレーズでも別物に聞こえます。

⑤ 1小節だけ空白を作るすべての楽器を1拍〜1小節止める。聴き手の耳がリセットされ、そのあとの再開が効きます。

💡 「聴き続けられるか」のテスト
作ったBGMを、作業中に30分流しっぱなしにしてみてください。自分で作った曲でも、飽きるポイントや気になる箇所ははっきり出ます。集中を邪魔する音(高すぎる音、目立ちすぎるフィル)もここで見つかります。

実装:ループポイントをどう指定するか

作り終えたら、ゲームエンジンで正しくループさせる必要があります。方法は使う形式によって変わります。

形式ループの指定方法
OGG Vorbisメタデータに LOOPSTART / LOOPLENGTH(または LOOPEND)を書き込むのが一般的
WAVsmpl チャンクにループポイントを記録できる
VGMフォーマット自体がループオフセットを持つ
トラッカー形式パターンの並びでループを表現
2ファイル方式イントロとループ部を別ファイルにし、実装側で連続再生

2ファイル方式は、ループポイントのメタデータに対応していない環境でも確実に動くため、いまでもよく使われます。実装側で「イントロを再生 → 終了と同時にループ部を開始 → 以降はループ部を繰り返す」と組みます。

ただし、ファイルの切り替わりで一瞬でも隙間が空くと聞こえてしまうため、次の音を先に予約しておく(スケジューリングする)実装が必要です。フレーム処理のタイミングで再生を開始すると、環境によってずれます。この問題についてはSing With Guitar 2.0のオーディオ設計で、オーディオクロック基準で発音を予約する方法を詳しく書きました。

チップチューンならループは自然に扱える

チップチューンには、この分野で有利な点があります。曲データが「チップへの命令の列」なので、そもそもループが構造として組み込まれていることです。

オーディオファイルのように「波形の末尾をどう先頭につなぐか」を悩む必要がなく、シーケンスの何小節目に戻るかを指定するだけです。残響もチップ内部の状態として連続するため、継ぎ目が生まれにくくなります。

当社の2本のアプリは、どちらもループ前提の制作に対応しています。

MegaTune - FMチップチューンDAW10トラック(FM 6ch+PSG 4ch)のピアノロールで、パターンループ・テンポ・量子化を切り替えながら組み立てられます。完成した曲は実機準拠のVGM 1.70として書き出せるため、ループオフセットを持つ形式のまま配布・組み込みができます。

ChipWave - レトロゲーム音楽チップチューン8トラック・最大256小節のピアノロール。実機方式のエコー(ディレイ、フィードバック、8タップFIR)を持つため、残響を含めたループの鳴り方をその場で確認できます。

BGM制作全体の入り口はチップチューン完全ガイド、場面に合う音階の選び方はスケールとモードで場面を作るにまとめました。効果音づくりはレトロゲーム効果音の作り方をご覧ください。

MegaTuneをApp Storeで見る | ChipWaveをApp Storeで見る