BMS (音楽ゲーム)

BMSとは、1998年、やねうらおとNBKによって考案されたMOD感覚で音楽製作、演奏が可能なファイルフォーマットである。初期は「BM98曲データ」という別称も存在した。

元々は、KONAMIの音楽ゲーム『beatmania』を模したシミュレータにあたる『BM98』用の譜面データフォーマットとして開発されたため、現在では同様のシミュレータに用いる譜面データ、あるいはゲームシステム全体を指す場合が多い。

2000年代中盤頃までは、BM98をベースとして様々なプレイヤーが開発された経緯があり「ネットユーザーのPCには何かしらのBMSプレイヤーが入っている」と言われるほどの一大ムーブメントを巻き起こしていた。それに肖り、企業運営のコミュニティサイトでも同様のサービスが人気を博した。人気が高かったが配布終了となった楽曲などは、2ちゃんねるやWinmxなどのP2Pを用いて第三者により拡散されることも多かった。現在はブームが沈静化しているものの、未だに新作BMS楽曲が作られるなどの根強い人気を保っている。かつてのBMS作曲家の中には、プロに転向した者や著名なボーカロイドプロデューサーも多い。

1. 概要
-----

広義のBMSは基本的に「BMSファイル」、「WAVEファイル」または「MIDIファイル」、「ビットマップ画像ファイル」で構成される。BMSファイルは譜面を定義するファイルで、曲データの核を成すものである。WAVEやMIDIはBGMやキーを押した時の効果音  に、ビットマップファイルは演奏中に流れるムービー  に使われる。

2. 基本フォーマット
-----------

ここでは基本となる、やねうらおが作成した初代『BM98』におけるファイルフォーマットについて解説する。その他のBMSプレイヤーでも同様の形式が使用されている。

BMSファイルはヘッダ記述とオブジェクト記述からなる。ヘッダにはプレイ人数・曲名・初期BPM等や使用するWAVファイル、BMPファイルを定義する。
オブジェクトには、譜面に関する記述で、どの音をどこに配置して、どの鍵盤で鳴らすかなどを定義する。
書式は#aaabb:cccccccc ,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を配置

2.1. ヘッダ
--------

#PLAYER x プレイヤ数を定義する。x= 1でSingle Play, 2でCouple Play, 3でDouble Play #GENRE 曲のジャンルを定義する。 #TITLE 曲のタイトルを定義する。 #ARTIST 作曲者を定義する。 #BPM BPMを定義する。指定なしの場合130 #MIDIFILE MIDIファイルをBGMとして使用することができる。 #PLAYLEVEL x レベルを指定。指定なしの場合3 #RANK x 判定ランクを指定。x=0でvery hard,1でhard,2でnormal,3でeasy #VOLWAV xxx 元の音量を100としたときの全体の音量を定義する.省略時100 #WAVxx yyyyyyyy.wav 音声ファイルを指定する. #BMPxx yyyyyyyy.bmp 画像ファイルを指定する. #TOTAL xxx ゲージの増量設定.省略時200+オブジェ数 #RANDOM x 分岐命令.1からxで指定した自然数の間まで乱数を生成. #if , #ENDIF 分岐の開始、終了. #ExtChr Extended Object機能とを併用して使う.詳しくは[1]を参照.

2.2. チャンネル
----------

01 - BGMとして再生するWAVEファイルを指定する。
02 - 小節の短縮化
03 - BPM変更
04 - BGAの画像ファイル切り替え
05 - Extended Object
06 - Poor時のBGAを指定
11-17 - 1P側の演奏オブジェクト
21-27 - 2P側の演奏オブジェクト
31-36 - 1P側の不可視オブジェクト
41-46 - 2P側の不可視オブジェクト

2.3. きくちゃんバージョンで追加された拡張
-----------------------

Ver.3.28からVer.3.29bまで #PLAYER 4
Ver.3.29G8からVer.3.30R4.2まで #STAGEFILE aaa.bmp 曲開始時に表示する画像ファイルを指定する。 #RANK 4 #BMP JPEGに対応。 #ExtChr チャンネルナンバーの追加 07 - BGAレイヤー
Ver.3.31からVer.3.32まで #BGAn1 n2 x1 y1 x2 y2 dx dy 拡張BGA領域を設定 #WAVxx Materials #WAV、#BMPのファイル指定でMaterialsフォルダからwav、bmpファイルの指定が可能 その他、下記のBMSの拡張の7Key化、拡張BPM変更、#BMPにPNG、GIF等の全てのSusieプラグインに対応。

3. BMSの拡張
---------

BMSファイルの拡張として「BME  ファイル」や「BMLファイル」、「PMSファイル」があり、BMEは『beatmania IIDX』のような7鍵盤とターンテーブル用の譜面データのために作られたファイル形式、BMLは『KEYBOARDMANIA』などで見られるような一定時間押し続けるロングノートに対応した形式、PMSは『pop'n music』のような9ボタン用譜面データのために作られたファイル形式である。

BMSは本体やツールの作者などにより様々な拡張が行われている。ここでは、よく使われている主な拡張を示す。

可視・不可視キーの拡張
7Key化 - FlashTerminalより
可視・不可視キーの16進数化 - mgqより
可視・不可視キーの36進数化 - ふぃーりんぐぽみゅせかんどより
ロングノート
 - rhythm-itより
 - rhythm-it,mgqより
ストップシーケンス - Delight Delight Reduplicationより
定義数の36進数化 - WAVはbemaniaDX,その他は名無しBMSプレイヤーより
拡張BPM変更 - bemaniaDXより
BGAに動画を指定 - Lunatic Raveより
サブタイトル
 - bemaniaDXより
SUBTITLE bbb - ナナシグルーヴより
譜面タイプ - ナナシグルーヴより
地雷オブジェクト - ナナシグルーヴより

3.1. 派生フォーマット
-------------

BMSの書式を元にして改変・独立した派生フォーマットも複数存在する。これらも各種シミュレータ用のデータフォーマットとして利用される事が多い。

MBM  

3.1.1. フットペダル、ダブルスクラッチ
----------------------

beatmania IIIやEZ2DJのような5鍵盤とターンテーブル、フットペダルやO2JamやDJMAX Onlineの7Keyを再現した形式として、LOAが考案したMixWaver1.0betaまで搭載されていたEFFECTモード用の形式があり、Virtual Orchestra StudioやMGQのEZ2DJモード、O2Maniaに採用された。他のフットペダルを使用する方式として、ナナシグルーヴ方式のフットペダルやFoot Pedal Party用の方式がある。

3.1.2. ギタドラシミュレーター向け
--------------------

かわうそがBM98の#ExtChrを用いたギタドラスキンを公開。また、このBM98と連携できるDMLK V2が公開された。その後、本格的なギタドラシミュレーターが登場した。DrumMIDI、DTXMania、BandJAM、SESSION STREAMとプレイヤーごとに仕様が乱立したが、DTXMania以外はプレイヤーの更新が早々に終了し、これらの形式に対応したプレイヤーの登場もほぼ無かったことから事実上DTX形式が主流となっている。

DTX
DrumMIDI用BMS
GDA 
G2D 
GFS (BMSの書式を使ったフォーマット。チャンネルが全く異なる。

3.1.3. KEYBOARDMANIAシミュレーター向け
-----------------------------

これらの形式が登場した時には既にドレミマニアが普及しており、これらの形式に対応したプレイヤーの完成度も低く更新もすぐに停止してしまったことからゲームとしてはあまり利用されなかった。しかし、譜面作成環境が整備されていたことと、kmsconvの登場により、ドレミマニアのPMSファイル出力の中間ファイルとして利用されている。

MGQ用BMS 、不可視オブジェクトを廃止し可視オブジェクトに置き換え。ロングノート初搭載)
KMS 、独自のヘッダを追加)
EMS 

3.2. 次世代フォーマット
--------------

BMS書式の拡張性の乏しさを唱える者も多く、BMS CREATORの作者であるTIXらが策定した「BMX 」や、ナナシグルーヴの作者である激辛党らが策定した「BM3」、「XBMS」、「BMS 2.0」などの次世代規格が案出されたが、実現することなくプロジェクト自体が終了していった。一方実現した物として、2000年に登場した「BMS-2」があり、対応したプレイヤーとしてBM-A4が登場した。その後、同形式に対応したbeat arrangerが登場。BMS-2に準拠したBASに対応したが、本体が未完成のまま開発が終了した。また、Lunatic Raveの作者であるlavalseが策定した「LRX」があり、plugout -ARCADE EDITION-で採用された。

2015年8月13日にwosdergeが次世代BMSフォーマットであるBMSONを公開した。BMSONフォーマットはJavaScript Object Notationをベースとしたフォーマットであるため、BMSフォーマットとは記述方式が異なる。また、音声ファイルの分割が不要となった。対応プレイヤーやエディタ、BMSからのコンバータも幾つかリリースされており、2016年にリリースされた『beatoraja』ではLunaticRave2のスキンデータが利用できるなどBMSONに移行しやすい環境が整備されている。

4. 関連するソフトウェア
-------------

4.1. 主なBMSプレイヤー本体
-----------------

BM98 Kikuchan Version Drink Edition
MixWaver][ 
unofficial nazobmplay 
Delight Delight Reduplication
bemaniaDX
Ruv-it! 
LunaticRave 2 
beatoraja
ふぃーりんぐぽみゅ せかんど
ナナシグルーヴ 
おたま
StepMania
DTXMania

4.2. 譜面作成ソフト
------------

BMS Creator
GDA Creator Professional Edition
BMx Sequence Editor
μbmsc

4.3. ビュアー
---------

BMS Viewer
BMEV
nBMplay
WAview
uBMplay
PMSee-V

5. キー音無しBMS
-----------

BGMに1曲丸々入った音楽ファイルのみを指定して、BGMに合うように無音のオブジェのみを配置したようなBMSファイルはキー音無しBMSと呼ばれ、以下に示すような問題点がある。

市販のCDをそのままリッピングした物をBGM化など、違法性の高い物がある。
キーを押すタイミングの成否に関わらず初めから完成したBGMが流れるため演奏感がない。
BMSというフォーマット自体、本来は演奏することを前提に作られている。よって、これらのBMSは評価イベントへの投稿が禁止されていたり、BMSプレイヤーのひとつ『LunaticRave』では使用禁止となっておりIRに登録できなくなっているなど、使用が自粛される傾向が見られる。

また、ダンスシミュレーションゲームなど演奏を前提としていない物については、ひろさんがBM98で4パネルのダンスシミュレーションを再現するDDEを公開し、これに使用されたBMS形式が、Delight Delight Reduplication等にも採用された。また、Delight Delight Reduplicationでは6パネルの形式が追加された。BMS形式はある程度普及したが、その後、BMSとは全く異なるフォーマットであるDance With Intensityで用いられるDWI形式やステップマニアで用いられるsm形式の普及に伴いほとんど利用されなくなった。

6. 歴史
-----

黎明期1998年6月、後にコンピューター将棋で知られるやねうらおによってBM98の配布が開始される。当時はJ-Pop、ゲーム音楽、Midi音源のコピーやアレンジなどの楽曲が中心であったが、DAIのRainy Heartなどオリジナル楽曲も制作されていた。楽曲の情報等は掲示板やリンク集等で交換されていた。8月にはBM98の開発者であるやねうらおがBM98の開発及び配布を中止するが、きくちゃんが後を引き継ぎ、開発、配布を継続した。

また、1999年に7鍵盤に対応したFlash Terminalが登場。2000年1月にリリースされたDelight Delight Reduplication Ver.0.3で.bmeの拡張子が使われるようになった。

全盛期1999年になるとBMSのレビューサイトが登場し、6月にオリジナル楽曲のみを扱うClub Stubbornと11月にコピー・アレンジ楽曲を扱うRe-Riseが開設され、楽曲の制作が活性化された。これらのサイトで活動していた作曲者は後に同人CDの制作、本家音楽ゲームや他のゲームに楽曲の提供を行うなどの活動を行うようになった者もいる。

また、BM98のスコア保存機能を用いてスコアアタックを開催するサイトも登場した。2000年1月にThe envoy from darknessが開設されたり、2001年12月にBMSのニュースサイトであったDigital Emergency Exitが2001to2002 Score Attack EXPERT+を開催したりした。

BMSフォーマットの拡張としては、2000年にリリースされたbemaniaDX Ver.0.72で拡張BPM変更に対応、2001年12月にリリースされたDelight Delight Reduplication Ver.5.0beta2よりストップシーケンスに対応、12月に公開されたbemaniaDX Ver.0.95では#WAVの定義数がZZまで引き上げられ、2002年2月にリリースされたrhythm-it Ver.1.61からロングノートに対応、9月に公開されたふぃーりんぐぽみゅせかんど Ver.0.6ではPMSとダブルプレイに対応した。

停滞期と復活2002年8月にBM98の開発が終了。また、BMS楽曲については、Club Stubborn閉鎖後BMSレビューサイトがいくつか開設されたが、かつて程の盛り上がりには至らなかった。そんな中、2004年8月にいちごびびえすで提案されたBMS OF FIGHTERS 2004が開催された。その後、イベントサイトが続々と登場し、再び盛り上がりを見せることとなった。

また、糞譜面、発狂BMSという高難易度譜面も登場する。2003年8月にはクソ譜面パーティーというイベントが、同年11月にはThe Kusofumen Towerが開設。2003年2月にはnazobmplayのインターネットランキングが試験的に開始され、インターネットランキングの盛り上がりに伴い高難易度譜面の人気も増加した。その後に2006年から公開が始まったLunatic Raveや2008年から公開が始まったRuv-it!もインターネットランキング機能を追加した。

BMSフォーマットの拡張としては、2004年4月1日に公開されたDelight Delight Reduplication Ver0.50 beta5でOgg Vorbisに対応。同年8月21日に公開されたナナシグルーヴver.0.999dで定義数36進数に対応。2005年9月に公開されたナナシグルーヴver.1.150で地雷の追加、2006年8月に公開されたLunatic Rave初版で#BMPに動画ファイルの指定が可能となった。

2016年開発のbeatoraja本体はフルHD・120fps対応など現代の環境にあった多数の機能が搭載されており、事実上開発停止されているLR2本体に替わる存在の一つと捉えられている。 2021年現在はBOFなど定例のイベントは継続して一定の人気があり、多数の新曲と共に開催されている。一方かつて高難易度BMSの練習曲群として定番だった「発狂難易度表」