BMS (音楽ゲーム)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
BMS
拡張子 .bms
開発者 やねうらお, NBK
種別 音楽
包含物 譜面データ
派生元 テキストファイル
拡張 BME, BML,PMS

BMS(ビーエムエス、Be-Music Source file[1]、またはBe-Music Data Format '98[2])とは、1998年、やねうらおとNBKによって考案されたMOD感覚で音楽製作、演奏が可能なファイルフォーマットである。

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

2000年代中盤頃までは、「ネットユーザーのPCには何かしらのBMSプレイヤーが入っている」と言われるほどの一大ムーブメントを巻き起こしていた。[要出典]現在はブームが沈静化しているものの、未だに新作BMS楽曲が作られるなどの根強い人気を保っている。かつてのBMS作曲家の中には、プロに転向した者や著名なボーカロイドプロデューサーも多い。

概要[編集]

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

基本フォーマット[編集]

ここでは基本となる、やねうらおが作成した初代『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の拡張[編集]

またBMSファイルの拡張として「BME (Be-Music Extend format) ファイル」や「BML (Be-Music Longnote format) ファイル」、「PMSファイル」があり、BMEは『beatmania IIDX』のような7鍵盤とターンテーブル用の譜面データ[4]のために作られたファイル形式、BMLは『KEYBOARDMANIA』などで見られるような一定時間押し続けるロングノートに対応した形式[5]、PMSは『pop'n music』のような9ボタン用譜面データ[6](プレイヤーのスキン次第で『beatmania III』のようなフットペダルを使った仕様も可能[7])のために作られたファイル形式である。

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

派生フォーマット[編集]

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

  • MBM (MacBeat)
  • DTX (DTXMania)
  • GFS (Guitar Friends 98)
  • MGQ (MGQ)
  • BAS (beat arranger)
  • KMS (KeyMani)
  • EMS (AngelicPianizm)

次世代フォーマット[編集]

BMS書式の拡張性の乏しさを唱える者も多く、BMS CREATORの作者であるTIXらが策定した「BMX (Be-Music eXtend format)[9]」や、ナナシグルーヴの作者である激辛党らが策定した「BM3[10]」などの次世代規格が案出されたが、実現することなくプロジェクト自体が終了していった。

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

主なBMSプレイヤー本体[編集]

キー音無しBMS[編集]

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

  • 市販のCDをそのままリッピングした物をBGM化など、違法性の高い物がある。
  • キーを押すタイミングの成否に関わらず初めから完成したBGMが流れるため演奏感がない。
  • BMSというフォーマット自体、本来は演奏することを前提に作られている。

よって、これらのBMSは評価イベントへの投稿が禁止されていたり、BMSプレイヤーのひとつ『LunaticRave』では使用禁止となっておりIR(インターネットランキング)に登録できなくなっている[11]など、使用が自粛される傾向が見られる。

また、ダンスシミュレーションゲームなど演奏を前提としていない物(キーを押しても演奏音がないもの)については、BMS CREATORの作者のTIXがBMS形式のダンスシミュレーションゲームであるBMS to DDRを開発し、これに使用されたBMS形式が、Delight Delight Reduplication等にも採用され、ある程度普及したが、その後、BMSとは全く異なるフォーマットであるDance With Intensityで用いられるDWI形式やステップマニアで用いられるsm形式の普及に伴いほとんど利用されなくなった。

GDA[編集]

GDA
拡張子 .gda
開発者 Linner-System
種別 音楽
包含物 譜面データ
派生元 テキストファイル
拡張 G2D

Linner-Systemによって考案されたファイルフォーマットである。BMSフォーマットをベースにKONAMIの音楽ゲーム『ギターフリークス』及び『ドラムマニア』を模したシミュレータにあたる『BandJAM』用の譜面データフォーマットとして開発された。拡張フォーマットとしてouUrakiが考案したG2Dフォーマットがあり、ベースパート等が追加された。

BMSとの相違点[編集]

基本的な構成は前述のBMSと同じであるが、チャンネルナンバーの変わりに二文字の英数字のコマンドを用いる。また、音番号列に"_"を入れることが可能となっている。[12]

関連項目[編集]

脚注[編集]

  1. ^ BMS Format Specification
  2. ^ 今後のBM98活動のあり方について
  3. ^ BM98 ver.3.18のヘルプファイルより
  4. ^ 藤井智弘が考案した『FlashTermial』用の7Key方式でうらみが考案したProjectIIDX方式(BM98で7鍵盤とスクラッチを実現するために#PLAYER 3とチャンネル11-16、21、22、31-36、41、42を使用)は含まない。
  5. ^ NvyUが考案したRDMタイプ2方式(#LNOBJ)で、NvyUが考案したRDMタイプ1方式(#LNTYPE 1)やquestが考案したMGQ方式(#LNTYPE 2)は含まない。
  6. ^ 猫実が考案した『ふぃーりんぐぽみゅせかんど』用の9Key方式で、チャンネルはx1-x9が使用される。PMS形式が定義された当初(初代Feeling Pomu)は、かわうそが考案したポップン化計画方式(BM98で9ボタンを実現するために#PLAYER 3とチャンネル11-15、22-25、31-35、42-45を使用)が採用されていたが、ふぃーりんぐぽみゅせかんどで可視キーが拡張したことに伴い仕様変更している。
  7. ^ BMSファイルとしては同じ物であるため、.bmeか.pmsかの拡張子の違いで7鍵盤+ターンテーブル+フットペダルか9ボタンの判別を行っているプレイヤーもある。
  8. ^ MixWaver1.0betaまで採用されたが、EZ2DJエミュレータと称してEZ2DJ風スキンとEZ2DJ楽曲のbmsを同梱した物が韓国のサイトに多数出回ったためMixWaver正式版より削除された。(MixWaver公式サイト)同様の仕様がナナシグルーヴ以降登場したBMSプレイヤーで採用されている。
  9. ^ BMEX Project
  10. ^ 旧BMS WIKI
  11. ^ 『LunaticRave』の後継ソフトである『LunaticRave2』では、1分を超える音声ファイルが存在するBMSはIRに登録できない。
  12. ^ BandJAMマニュアルより