atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
BMSまとめ @wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
BMSまとめ @wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
BMSまとめ @wiki
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • BMSまとめ @wiki
  • BMS規格

BMSまとめ @wiki

BMS規格

最終更新:2018年01月28日 21:29

Bot(ページ名リンク)

- view
だれでも歓迎! 編集
注:この記事は書きかけです。

  • 基本
  • BMS
    • ヘッダ
      • #PLAYER
      • #GENRE
      • #TITLE
      • #ARTIST
      • #BPM
      • #PLAYLEVEL
      • #RANK
      • #VOLWAV
      • #TOTAL
      • #WAV??
      • #MIDIFILE
      • #BMP??
    • メインデータ
  • 参考リンク
  • コメント欄
BMSの仕様について書いたページです。記事作成にあたってhitkey氏のBMS Command Memoを大いに参考にさせていただきました。
BMSの仕様について解説するページであり、BMS作成講座とは区別をつけていますのでその点はご了承ください。

基本

BMSは主に、
  1. BMSファイル(〜.bms、〜.bme、〜.bmlなど)
  2. 音声データ(〜.wavまたは〜.oggファイルの集まり)
  3. BGAデータ(〜.bmpや〜.pngなどの画像データの集まりか、あるいは〜.mpegなどの映像データ)
からなる。だいたいの場合、これらのデータは一つのフォルダにまとめられ、「BMSをダウンロードする」「BMSを発表する」などといったらこのフォルダ単位で扱われる。中には3.が無くて演奏データだけだったり、2.が無くてBGAデータだけだったり、1.2.3.に加えてテキストファイル(Readme)が同梱されているものも普通にあるが、BMSプレーヤー側が「BMSデータ」と認識して読み込むのは基本的にこの3つである。

BMSファイルはおおよそ次のような要素から構成されている。
*---------------------- HEADER FIELD
#PLAYER 1
#GENRE Trance

・・・

#TOTAL 400
%URL

#WAV01 kick1.wav
#WAV02 vocal1.wav

・・・

#WAVF7 bgm5.wav

#BMP01 white.bmp
#BMP02 aa.bmp

・・・

#BMPFF fin.bmp

*---------------------- MAIN DATA FIELD

#00101:4F
#00104:0102030401020304
#00111:01010101

・・・

#07115:D2
  • 行頭に必ず書く記号は#、%、*の3種類。
    • このうち最も重要なのが#から始まるコマンド。ヘッダや譜面データを記述するのに使われる。
    • %から始まるコマンドはBMSデータと直接関係はないが、作者のサイトやアドレスを補足するのに使われる。
    • *から始まる文はコメントと見なされ、BMSの実データとして読み込まれない。
  • #PLAYERや#WAV??などは「ヘッダ」と呼ばれるデータで、主にBMSに関する基本的な情報(曲タイトルやBPMなど)を設定したり、プレーヤー上で使用する音声ファイルやBGAファイルを指定したりする。
  • #00101:〜などの文字列はメインデータで、実際の譜面データが記録されており、プレーヤーはこのデータに沿って音を鳴らしたりノーツを配置したりBGA画像を表示したりする。
BMSプレーヤーが実際の譜面データを読み込むおおまかな流れとしては、
#WAV01 kick1.wav
でプレーヤーに「kick1.wavを『データ01』として扱うんだな」と認識させ、
#00111:01010101
でプレーヤーに「1小節目で一番左端の白鍵盤のレーンにデータ01(つまりkick1.wav)が鳴るオブジェを4分音符の間隔で4つ落とせ」と命令している。
(文字で説明するより見たほうが早いんだけど、それっぽい画像が見つからないので誰か用意してくださいorz)

BMSファイルには幾つかの形式がある。基本はどれも上に示したような書き方だが、使えるコマンドやチャンネル(メインデータの項で解説)が増えているのでそれぞれ別の項目として解説していこうと思う。

BMS

ファイル形式は〜.bms。やねうらお氏が開発したフォーマットであり、最初に作られたBMS形式である。

ヘッダ

ヘッダに記述するデータ。"#コマンド パラメータ"の形で書く。

#PLAYER

プレイヤー数(プレイスタイル)を指定する。
  • 1〜4の数字を指定する。数字の意味は以下のとおり
    • 1:シングルプレイ
    • 2:カップルプレイ
    • 3:ダブルプレイ
    • 4:バトルプレイ
例)
#PLAYER 1
  • 省略(何も書かない)時は#PLAYER 1(シングルプレイ)とみなされる。

#GENRE

曲のジャンル名を文字列で指定する。
例)
#GENRE HIPHOP
  • 省略時は空白になる。

#TITLE

曲のタイトル名を文字列で指定する。
例)
#TITLE cruse

#ARTIST

作曲者名を文字列で指定する。
例)
#ARTIST gomd

#BPM

曲のテンポの速さを数字で指定する。
例)
#BPM 120
  • 省略時は#BPM 130と見なされる。(ナナシグルーヴでは150)

#PLAYLEVEL

難易度を数字で指定する。
例)
#PLAYLEVEL 5
  • 省略時は#PLAYLEVEL 3とみなされる。
  • 0を指定することも可能。その場合プレーヤーによっては「?」と表示される。

#RANK

判定の辛さを数字で指定する。
  • 0〜4の数字で指定
    • 0:veryhard
    • 1:hard
    • 2:normal
    • 3:easy
    • 4:very easy
例)
#RANK 3
  • あくまでも相対的な辛さであり、同じRANKでもプレーヤーによって実際の判定は変わってくる。

#VOLWAV

BMS全体の音量の大きさを数字で指定する。
  • 単位は%。
例)元の音量の150%(1.5倍)の大きさにする
#VOLWAV 150

#TOTAL

ゲージの増加のしやすさを数字で指定する。
  • 設定した値=「全ノーツで最も良い判定を取った時のゲージの増加量」になる。
  • 数字が大きいほどゲージの増加量が大きくなる。
例)
#TOTAL 300
  • 省略時にもTOTALは割り当てられるが、その値はプレーヤーによって異なる。
    • TOTAL値を設定してもプレーヤー側のゲージ増加量の計算のしかたが違えば、当然ゲージの増加量はプレーヤーによって変わってくる。再現性を考えるなら「△△のプレイヤー推奨」とか書くのがいいかも。

#WAV??

音声ファイル定義。繰り返し使う。
  • ?には0〜9、A〜Fまでの文字を1つ入れる。ただし00は使えない。
  • パラメータには音声ファイルの名前.wavを指定する。
    • 実際のファイルの拡張子が.oggでも定義では.wavを使用する。なぜこのような仕様になっているのかは謎。というか誰か教えて下さい。

例)データ01にkick1.wavを指定
#WAV01 kick1.wav
  • データ(01)と音声ファイル(kick1.wav)は1対1に対応しており、1つのデータに複数の音声ファイルを定義することはできない。
#WAV01 kick1.wav
#WAV01 bass1.wav (データがかぶるのでダメ)
#WAV02 bass1.wav (番号を変えればOK)
  • データは01〜FFなので、使える音声定義は最大で255となる。つまり最大255個の音声ファイルを扱える。
    • 拡張版では01〜FZ(575個)あるいは01〜ZZ(1295個)まで定義できるようになった。
  • 指定した音声ファイルはBMSファイルと同じディレクトリ(フォルダ)内に置かないと読み込めない。指定した音声ファイルが見つからない場合は音の鳴らないデータとなる。(プレーヤーによって違う?要検証)
  • メインデータの項目を見ればわかると思うが、#WAV00はオブジェ間の空白を表すものとなるため使えない。

#MIDIFILE

MIDIファイルをBGMとして指定する。
例)
#MIDIFILE bgm.mid
  • 現在はほとんど使われていない。

#BMP??

BGAに使う画像ファイル定義。繰り返し使う。
  • ?には0〜9、A〜Fまでの文字を1つ入れる。
  • パラメータには画像ファイルの名前.bmpを指定する。
    • 実際のファイルの拡張子が.pngだろうが.jpegだろうが定義では.bmpを使用する。なぜこのような仕様になっているのかは謎。というか誰か教えて下さい。
例)データ01に画像ファイルwhite.bmpを指定
#BMP01 white.bmp
  • #BMP00にはミスレイヤー(プレイ中にミスした時に表示する画像)を指定する。(#WAV00と違うとこ)
    • 使えるデータは00〜FFの256個(拡張版では00〜FZ、00〜ZZまで)
  • 指定した画像ファイルはBMSファイルと同じディレクトリ(フォルダ)内に置く必要がある。
  • BGAを使わないのであれば定義しなくてよい。まるごととばしてもOK

メインデータ

譜面にオブジェを配置したり、小節線の長さを決めたりするデータ。"#XXXYY:パラメータ"の形で書く。ヘッダと違い":"記号が間に入るので注意。
  • XXX:何小節目のデータかを数字3ケタで指定する。
  • YY:「チャンネル」と呼ばれる、パラメータの役割を決める2ケタの数字(拡張版ではアルファベットも含む)を指定する。
    • 01:BGM(自動的に再生する音データ)を配置する
    • 02:1小節の長さを変える
    • 03:BPMを変える。(BPM1〜255まで)
    • 04:BGA(真ん中で動いてるパラパラアニメのやつ)を配置する
    • 05:オブジェ(譜面で上から降ってくるやつ)の画像を変更する
    • 06:ミスレイヤー(POOR判定時に出てくる画像のこと)を変更する
    • 07:スプライト画像(BGAの上に重ねて表示する)を配置する。
    • 11〜17:シングルプレイ時に各レーンに降ってくるオブジェを配置する(ダブルプレイでは左側のレーン)
    • 21〜27:ダブルプレイ時に右側の各レーンに降ってくるオブジェを配置する
  • パラメータ:チャンネルによって書くことが変わったりするが、基本的にはヘッダの#WAV??や#BMP??で定義したデータをすきまなく書き並べる。
例)1小節目、左端の鍵盤にデータ01、02、A7、05を4分間隔で配置する
#00111:0102A705
  • パラメータのデータの数がn個のとき、配置はn分音符の間隔になると考えてよい。
#00111:0101010101010101
この場合は8分間隔(縦連打に近い)になり、
#00111:010101010101
この場合は6分間隔(跳ねリズム)になる。
  • データを何も置かない部分(休符)は00として表現できる。
#00111:0101010001010100
この場合は三連打が2回降ってくる。"01 01 01 00 01 01 01 00"と分けて考えれば多少把握しやすくなると思う。

小節を増やしたい場合は順次#00211:〜、#00311:〜と書いていけばよい。また他の鍵盤にオブジェを置いたりBGMを設定する場合は#00112:〜、#00101:〜といった感じで追加する。メインデータではこれら3要素を組み合わせて譜面を作っていく。
#00101:01
#00111:0000000000000000000000000000001A
#00113:00000000000J0K1M
#00114:0000000000000I0000000000000L0000
#00115:0H

#00212:0O2Q0000
#00214:000P000R00000000
#00216:0000001S

・・・
まるごとデータがないとそのチャンネルは空白として扱われる。例えば上記のデータでは#00211:〜がないので左端の鍵盤には2小節目は何も降ってこないことになる。


参考リンク

BMS Command Memo:(短縮URL)
BMS形式(音ゲー作成マニュアル):http://www.charatsoft.com/develop/otogema/page/04bms/bms.htm
wiki.bms.ms(WebArchive):http://web.archive.org/web/20070619021620/http://wiki.bms.ms/Bms:Format
BMS関連資料:http://unhappyangel.tripod.com/bms/
BMS制作のすすめ:http://www9.atwiki.jp/coolnaurl/

コメント欄

  • とりあえず今普及している形式の一通りのヘッダと実データについて書く予定です。 -- (編集者) 2015-08-18 14:21:13
  • #WAV??と#BMP??で指定するファイルの拡張子について追加 -- (名無しさん) 2015-08-27 15:02:22
名前:
コメント:

すべてのコメントを見る

タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「BMS規格」をウィキ内検索
LINE
シェア
Tweet
BMSまとめ @wiki
記事メニュー

メニュー

トップページ
ガイドライン


初心者ガイド
BMS初心者向け解説
プレーヤーを選ぶ
BMSを入手する
FAQ

資料
BMSプレイヤー&ツール
その他プレイヤー&ツール
BMS作者一覧
スキン一覧
BMS用語集
過去のBMSサイト一覧

コラム
「コラム」カテゴリについて
BMSサイト情報
BM98 THE BEST DLリスト
ページを作るまでもないトピック集

ラボ
BGAの再生について
新フォーマット「bmson」
 bmson
 how_to_bmson
 bmson開発部
Bemuseサーバー構築

その他
加筆プロジェクト会議室
 BMS作成講座
 BGA作成講座
 ダウンロード
 BMS規格
練習用ページ
井戸端
管理用ページ

このページの来訪者数
 本日  - 人
 昨日  - 人
 累計  - 人
 現在 -人

LINK
  • BMS EVENT LTE
  • 微糖
  • BMS攻略ガイド@wiki
  • BMS制作のすすめ
記事メニュー2

最近更新されたページ

取得中です。
人気記事ランキング
  1. スキン一覧
  2. BMS初心者向け解説
  3. 過去のBMSサイト一覧
  4. beatoraja
  5. BMS作者:愛新覚羅溥儀
  6. BMS作者:LeaF
  7. BMSプレイヤー&ツール
  8. BMS作者:SHIKI
  9. BMS作者一覧
  10. LunaticRave2
もっと見る
最近更新されたページ
  • 2日前

    コメント/スキン一覧
  • 28日前

    BMS作者:わかどり
  • 28日前

    BMS作者:Nankumo
  • 28日前

    BMS作者一覧/コメントログ
  • 28日前

    BMS作者一覧
  • 28日前

    BMS作者:sasakure.UK
  • 28日前

    BMS作者:ARMYTOM
  • 28日前

    BMS作者:愛新覚羅溥儀
  • 44日前

    BMS作者:Silentroom
  • 44日前

    BMS作者:xi
もっと見る
人気記事ランキング
  1. スキン一覧
  2. BMS初心者向け解説
  3. 過去のBMSサイト一覧
  4. beatoraja
  5. BMS作者:愛新覚羅溥儀
  6. BMS作者:LeaF
  7. BMSプレイヤー&ツール
  8. BMS作者:SHIKI
  9. BMS作者一覧
  10. LunaticRave2
もっと見る
最近更新されたページ
  • 2日前

    コメント/スキン一覧
  • 28日前

    BMS作者:わかどり
  • 28日前

    BMS作者:Nankumo
  • 28日前

    BMS作者一覧/コメントログ
  • 28日前

    BMS作者一覧
  • 28日前

    BMS作者:sasakure.UK
  • 28日前

    BMS作者:ARMYTOM
  • 28日前

    BMS作者:愛新覚羅溥儀
  • 44日前

    BMS作者:Silentroom
  • 44日前

    BMS作者:xi
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. R.E.P.O. 日本語解説Wiki
  2. VCR GTA3まとめウィキ
  3. ドタバタ王子くん攻略サイト
  4. Mrs. GREEN APPLE 未発表曲wiki
  5. STAR WARS ジェダイ:サバイバー攻略 @ ウィキ
  6. ありふれた職業で世界最強 リベリオンソウル @ ウィキ
  7. アサシンクリードシャドウズ@ ウィキ
  8. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  9. パズル&コンクエスト(Puzzles&Conquest)攻略Wiki
  10. ドラゴンボール Sparking! ZERO 攻略Wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. oblivion xbox360 Wiki
  4. ゲームカタログ@Wiki ~名作からクソゲーまで~
  5. 初音ミク Wiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. SDガンダム ジージェネレーションクロスレイズ 攻略Wiki
  10. SDガンダム ジージェネレーションジェネシス 攻略Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 超越ヶ谷 にかり - ストグラ まとめ @ウィキ
  3. 千鳥の鬼レンチャン 挑戦者一覧 - 千鳥の鬼レンチャン サビだけカラオケデータベース
  4. クエスト - oblivion xbox360 Wiki
  5. 黒亜 ネマ - ストグラ まとめ @ウィキ
  6. 魔法屋 - oblivion xbox360 Wiki
  7. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  8. 登場人物紹介/忍術学園 - 忍たま&落・乱まとめ@Wiki
  9. hantasma - ストグラ まとめ @ウィキ
  10. 捌木 たいたい - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.