Godotで音ゲーづくり番外編:BMS

音ゲーの元祖……とは言いすぎかもですけど、今のほとんどの音ゲーのスタイルの元になっているのはbeatmaniaだと思います(個人の感覚です)。PC用にビーマニクローンとして作られたBM98から発展した「BMS」についても調べたので、メモ書き程度に。

BMSって?

beatmaniaが世に出て割とすぐ、Windows上で音ゲーが楽しめるフリーソフト「BM98」がリリース。そのソフトのMOD感覚で曲が作れるとして広まっていったのが音ゲーデータのBMS形式、のようです。

BMSは演奏ノートのヒットで音が鳴るタイプの音ゲーです。

バリアントがかなりあるみたいなのですが、あんまり詳しくないのでBMSの歴史も含めてWikiとかでどうぞ。

本来はBMSはデータ形式の名前ですが、BMSをプレイできるアプリや楽曲も「BMS」と呼ばれているのが現状です。ややこしいので「BMSプレーヤー」「BMS楽曲」「BMSデータ」で呼び分けます。

BMS楽曲の構造

BMS楽曲のファイル構造は

  • .bmsファイル(譜面)
  • 音色ファイル(wav/ogg)
  • 背景画像データ(png/mp4)

これらをフォルダにフラットに配置したもの

BMSは既に20年前のデータ形式なのでできることは案外限られています。独自拡張されたバリアントがいくつもあるようなのですが、基本的なデータの形式はある程度統一されている模様です(BMsonを除く)。

  • ヘッダー
    • 曲情報やベースBPM、ランクや難易度
    • 背景画像の指定
    • 音色ファイルと音番号の指定
      • WAV〇〇(16進数) の定数に音色ファイル名を指定
      • 〇〇をノートの音色に使用
  • メインデータ
    • イベント
      • 小節番号
      • チャンネル
      • ノート

ビーマニ系なので、ノートは基本的にワンショット。ノートをヒットしたタイミングで、事前に読み込んだWAVを再生する機能のみに特化しています。自動で音色が変わるサンプラーみたいな感じですな。(MIDIも読めるらしいですけど割愛)

BMSデータのノート記法

ノートの記述方法が独特で、

#00211:03030303
#00212:000400040004

3桁の小節番号 + 2桁のチャンネル : 1小節に表示するノート
という構造。チャンネルは「11」が「1プレーヤーの1キー」、「12」が「1プレーヤーの2キー」みたいな感じで続きます。ノートの数字は2桁区切りで、ヘッダーで読み込んだWAV〇〇(16進数)で音色を指定しています。00だと休符。
小節の中の数字の数で拍を指定します。4個入力されていれば四分音符、8個なら八分音符、みたいな感じです。(つまりその気になれば7連符だろうが31連符だろうが可能ということ……)

上の例だと

  • 2小節目の1キーに03番の音を4個 = 4つ打ち
  • 2小節目の2キーに八分休符+八分音符を4回 = 4つ打ちの裏拍

ゲームだからカチカチにクオンタイズされてるほうが遊びやすいですし、なかなか理にかなっているというか。少なくともMIDI SMFのデルタティック表記よりはかなり直感的だと思います。

ちなみに難易度を下げるときは、見えないけど鳴る不可視ノーツとして登録すると、楽曲はそのままで演奏ノートだけを減らす事ができる仕組み。ほんとよく考えられてますねー。

ここが辛いよBMSデータ

楽器コントロールが目的のMIDIと違って、ゲーム専用のフォーマット。データ形式だなと関心しますが、結構弱点もあります。

基本的にサンプラー

はい。これにつきます。

BMSでは、あるがままのwavまたはoggを鳴らすだけ、なんです。なので流れるようなメロディーを奏でているようで、各ノートは1音ずつサンプリングなんですよね。

ということは……

素材づくりが大変

BMS用の音色ファイルづくりは、基本的にはDAWで作ったトラックをバウンス録音したサンプルにしていきます。

残響が少ない・ポルタメントがない音色だったらノートに合わせてスライスするだけでいいです。

ポルタメントがついたリードシンセとかサステインのピアノとかはリリース音がないとおかしな感じになるので、1ノートずつサンプルにしないといけなくて、ちょっとキツイんですよね。

パラアウトでバウンスしたWAVをMIDIに合わせて分解してくれるツールもありますが、そもそもリリース音やディレイサウンドをあまり使わない音作り・曲作りが必要そうです。

マスタリングが大変

BMSプレイヤーにはエフェクトとかは無いので、全音鳴った前提でマスタリングする必要があります。そうするとノート音なのに音が小さくて聞こえないとかなりがち。。。

サイドチェインでトータルコンプをかけるとかの小技が必要な感じです。

BMS文化の今後

毎年人気投票イベントは盛り上がっているようで、プレイヤーも楽曲制作者もまだまだ元気なんですけど、ツール側の進化が止まっている感があります。もっと作りやすい・使いやすい、DAWと相性がいいBMS楽曲制作ツールが作れたらいいのかもしれませんねぇ。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です