BMS (音楽ゲーム)
| 拡張子 | .bms |
|---|---|
| 開発者 | やねうらお,NBK |
| 種別 | 音楽 |
| 包含物 | 譜面データ |
| 派生元 | テキストファイル |
| 拡張 | BME, BML |
BMS(ビーエムエス、Be-Music Source fileまたはBe-Music Data Fomat '98)とは、1998年、やねうらおとNBKによって考案されたMOD感覚で音楽製作、演奏が可能なファイルフォーマットである。元々、『BM98』の譜面データとして開発されたため現在では、コナミデジタルエンタテインメントの音楽ゲーム『beatmania』のシミュレーターなどの譜面データ(曲データ)、あるいはゲームシステム全体を指す場合が多い。
目次 |
[編集] 概要
広義のBMSは基本的に「BMSファイル」、「WAVEファイル」または「MIDIファイル」、「ビットマップ画像ファイル」で構成される。BMSファイルは譜面を定義するファイルで、曲データの核を成すものである。WAVEやMIDIはBGMやキーを押した時の効果音 (SE) に、ビットマップファイルはムービー (BGA) に使われる。
またBMSファイルの拡張として「BME (Be-Music Extend format) ファイル」や「BML (Be-Music Longnote format) ファイル」があり、BMEは beatmania IIDX のような7鍵盤用の譜面データ[1]のために作られたファイル形式、BMLは KEYBOARDMANIA などで見られるような一定時間押し続けるロングノートに対応した形式[2]である。
また、以前よりBMS書式の拡張性の乏しさを唱える者も多く、「BMX (Be-Music eXtend format)」や、「BMS-2」、「BM3」などの次世代規格が案出されたが、普及するに至らずプロジェクト自体も終焉を迎えた。
[編集] 基本フォーマット
ここでは基本となる、やねうらおが作成した初代『BM98』におけるファイルフォーマットを解説する。[3]その他のBMSプレイヤーでも同様の形式が使用されている。
BMSファイルはヘッダ記述とオブジェクト記述からなる。ヘッダにはプレイ人数・曲名・初期BPM等や使用するWAVファイル、BMPファイルを定義する。
オブジェクトには、譜面に関する記述で、どの音をどこに配置して、どの鍵盤で鳴らすかなどを定義する。
書式は#aaabb:cccccccc (aaa:小節番号(000-999),bb:チャンネル,cc:オブジェクト配置)となる。
以下に簡単な記述の例を示す。
*---------------------- HEADER FIELD #PLAYER 1 #GENRE Sample #TITLE Sample #ARTIST Sample #BPM 120 #PLAYLEVEL 5 #TOTAL 100 #RANK 2 #bmp00 miss.bmp #bmp01 1.bmp #wav01 1.wav *---------------------- MAIN DATA FIELD #00111:01010101 // 第1小節の1キーに#WAV01を四分音符単位で配置 #00211:0101010001010100 // 第2小節の1キーに#WAV01を8分3連+8分休符×2を配置
[編集] ヘッダ
・#PLAYER x
- プレイヤ数を定義する。x= 1でSingle Play, 2でCouple Play, 3でDouble Play(省略時x=1)
・#GENRE
- 曲のジャンルを定義する。
・#TITLE
- 曲のタイトルを定義する。
・#ARTIST
- 作曲者を定義する。
・#BPM
- BPMを定義する。指定なしの場合130
・#MIDIFILE
- MIDIファイルをBGMとして使用することができる。
・#PLAYLEVEL x
- レベルを指定。指定なしの場合3
・#RANK x
- 判定ランクを指定。x=0でvery hard,1でhard,2でnormal,3でeasy(省略時x=3)
・#VOLWAV xxx
- 元の音量を100としたときの全体の音量を定義する.省略時100
・#WAVxx yyyyyyyy.wav
- 音声ファイル(WAVEファイル)を指定する.(xxは01-FF)
・#BMPxx yyyyyyyy.bmp
- 画像ファイルを指定する(256×256,65536色のビットマップファイル).(xxは00-FF、00はPoor時の画像)
・#TOTAL xxx
- ゲージの増量設定(浮動小数点表記).省略時200+オブジェ数
・#RANDOM x
- 分岐命令.1からxで指定した自然数の間まで乱数を生成.
・#if , #ENDIF
- 分岐の開始、終了.
・#ExtChr
- Extended Object機能とを併用して使う.詳しくは[1]を参照.
[編集] チャンネル
- 01 - BGMとして再生するWAVEファイルを指定する。
- 02 - 小節の短縮化(10進/浮動小数)
- 03 - BPM変更(16進数)
- 04 - BGAの画像ファイル切り替え
- 05 - Extended Object
- 06 - Poor時のBGAを指定
- 11-17 - 1P側の演奏オブジェクト(11-15は鍵盤、16がスクラッチで、17がフリーゾーン)
- 21-27 - 2P側の演奏オブジェクト(1P側と同様)
- 31-36 - 1P側の不可視オブジェクト
- 41-46 - 2P側の不可視オブジェクト
[編集] 主な拡張
BMSは本体やツールの作者などにより様々な拡張が行われている。ここでは、よく使われている主な拡張を示す。
- 可視・不可視キーの拡張
- 7Line化(ch18,19,28,29,38,39,48,49) - FlashTerminalより
- 可視・不可視キーの16進数化(ch.x1-xF) - MGQより
- 可視・不可視キーの36進数化(ch.x1-xZ) - ふぃーりんぐぽみゅせかんど
- ロングノート(#LNOBJ xx) - rhythm-itより
- ストップシーケンス(#STOPxx yyy,ch09) - Delight Delight Reduplicationより
- 定義数の36進数化(ZZまで) - WAVはbemaniaDX,その他はナナシグルーヴより
- 拡張BPM変更(#BPMxx yy,ch08) - bemaniaDXより
- BGAに動画を指定(#BMP aaa.mpg) - Lunatic Raveより
- BGAレイヤー(ch07) - BM98きくちゃんverより
- 拡張BGA(BGAn1 n2 x1 y1 x2 y2 dx dy) - BM98DEより
- ステージファイル(#STAGEFILE aaa.bmp) - BM98きくちゃんverより
- サブタイトル
- 譜面タイプ(#DIFFICULTY x) - ナナシグルーヴより
[編集] 主な本体
[編集] 派生フォーマット
- PMS(ふぃーりんぐぽみゅ)
- MBM (MacBeat)
- GDA (BandJam)
- G2D (SessionStream)
- DTX (DTXMania)
- GFS (Guitar Friends 98)
- MGQ (MGQ)
- BAS (beat arranger)
- KMS (KeyMani)
- EMS (AngelicPianizm)
[編集] キー音無しBMS
BGMに1曲丸々入った音楽ファイルを指定してBGMに合うようにオブジェのみを配置したようなBMSファイルをキー音無しBMSと呼び以下に示すような問題点がある。
- CDをリッピングした物など違法性の高い物がある
- BGMのみだと演奏感がない
- BMSというフォーマット自体演奏することを前提に作られている
よって、BMSの評価イベントへの投稿が禁止されていたり、LunaticRaveでは使用禁止となっておりIRに登録できなくなっている。 このため、ダンスシミュレーションゲームなど演奏を前提としていない物(キー音がないもの)についてはMSDおよびその拡張のDWIの使用が推奨されている。
[編集] 関連項目
[編集] 脚注
[編集] 外部リンク
- BMS Format Specification (やねうらお)
- 各種BMS仕様書
- BMS Journal
- 著作権問題に関するBMS考案者やねうらおの手記
- 音楽シミュレーションゲーム機「EZ2DJ」に対する特許侵害訴訟について