BMSE による譜面作成プロセスを大雑把に紹介します。やるべきことは要約すると 3 つだけです。
BMSE は以下の BMS 譜面エディタと同じような感覚で操作できます。
- BMSC (http://
tixlab .com /software /bmsc .shtml) - GDAC2 (https://
www .asahi-net .or .jp /~nm4j-tyn /gdac2/) - Beditor (
http://)macbeat .at .infoseek .co .jp /down .html - iBMSC (https://
hitkey .nekokan .dyndns .info /ibmsc_ja/) - μBMSC (https://
github .com /zardoru /iBMSC /releases) - μBMSC 3.5 (https://
github .com /NS-Kazuki /iBMSC /releases) - BMSE 2.x (https://
github .com /Nekokan /BMSE /releases)
これら譜面エディタの使用経験がある方は、この頁を読む必要はありません。
- じつのところ、このヘルプを読むよりも、既存の BMS 作品を BMSE で開いて、中身を覗きつつ実際にあれこれ試すほうが分かりやすいですよ。
- 前述の各エディタの差異を比較した資料も参考になるかもしれません。
この頁は拡張子を表示している状態を前提しています。
- フォルダ詳細設定から、以下の設定を全フォルダに適用してください:
- すべてのファイルとフォルダを表示する → [チェックを入れる]
- 登録されているファイルの拡張子は表示しない → [チェックを外す]
- Windows 11:
- 適当なフォルダー → 表示 (メニューバー) → 表示 (サブメニュー) → 「ファイル名拡張子」と「隠しファイル」にチェックを入れてください。
- Windows 10
/8.1 /8: - 適当なフォルダー → 「表示」タブ (リボン) → 「ファイル名拡張子」と「隠しファイル」にチェックを入れてください。
- Windows 7
/Vista: - 適当なフォルダー → 整理 (ツールバー) → フォルダーと検索のオプション → フォルダーオプション → 「表示」タブ
- Windows XP
/2000 /ME: - マイコンピュータ → ツール (メニューバー) → フォルダオプション → 「表示」タブ
- Windows 98
/95 /NT 4.0: - マイコンピュータ → 表示 (メニューバー) → オプション → 「表示」タブ
ファイルを用意する
あらかじめ BMS の素材となるファイルを調達しておきます。自前で用意してもよいし、フリー素材を頼ることもできます。必要なら各自検索してください。
作成に慣れるまでは、音声は WAV 形式 ([44100 Hz, 16-bit, 2 ch] 以下)、映像は BMP 形式 ([256 × 256 pixels, 24-bit] 以下) で用意してください。
任意の場所に新規フォルダを作成して適当に名前をつけます (これから作る BMS のフォルダ)。使いそうな素材ファイルをそこにすべてコピーします。
さらに同フォルダ内にテキストファイルを新規作成し、適当に名前を付けたうえで拡張子を *.txt から *.bms に変更します。
次の例において、
通常はこのように、作品単位でフォルダが分けられます。ある作品が持つ譜面ファイル群と、各譜面に用いられる音声・画像・動画ファイルは、ひとつのフォルダの中にまとめて並べられます。
フォルダやファイルにはもちろん任意の名前をつけて構いませんが、ファイル名には半角英数字のみを用いるのが無難です。
譜面ファイルを開く
BMSE を起動して、メインパネルにさきほど新規作成した BMS ファイルをドラッグ・アンド・ドロップします。
すると、中身が空の譜面が開かれます。手始めにヘッダ情報を埋めてみます。
設定パネルの “基本” タブから、譜面のヘッダ情報を入力します。
ジャンル・タイトル・アーティスト各欄を左クリックして、キーボードから任意の文字列を入力します。あらゆる編集情報はいつでも変更できますから、特に構える必要はありません。
BPM から、譜面の開始時のテンポを指定します。
4 分音符を 1 分間に 120 回刻む速度なら、
譜面のテンポには小数値も指定できます。
譜面ファイルを保存
ここまで編集した情報を保存します。
ウィンドウ上部のツールバーから保存アイコンを左クリックします。
BMSE 自身が異常終了したときは作業ファイルのバックアップを作ってくれますが、その機能が働かない場合もあるので作業はこまめに保存しましょう。ちなみに譜面を読み込まずに編集を開始した場合、一度保存しないとプレビュー機能などが使えません。
ファイルを定義する
事前に BMS フォルダ内にコピーしておいた音声ファイルを、エクスプローラ上で選択し、
ドロップしたファイルは “定義” され、オブジェクトとして配置できるようになります。これは絵でいえば色パレットを用意するようなものです。たとえば音声ファイル test_01.wav、
定義は逐次追加でき、譜面 1 枚につき最大 1295 種類まで音声を登録できます。リストアイテムを左クリックなどで選択すると、
映像用ファイルを定義する
BMP、
オブジェクトパネルの上部にある “#BMP” タブを左クリックしてリストを切り替え、映像用ファイルを #BMP** のリストにドラッグ・アンド・ドロップします。
音声ファイルは #WAV** に、映像ファイルは #BMP** に定義します。たとえば動画フォーマットなら #BMP** example.mpg
のようにします。
オブジェクトを配置する
BMS プレイ時、オブジェクトは配置された場所で音声や映像を再生します。
- メインパネルの縦軸 (上に向かって並んでいる横線) は時間を表します。
-
Grid ひとつにつき 1 個ずつ、オブジェクトを配置できます。
背景の “#000” は小節の番号です。
(最大で #999 まで)
メインパネルの横軸 (右に向かって並んでいる縦線) はパートを表します。
- BPM 変更、
STOP - 譜面を速度変更したり一時停止したりする、特殊なオブジェクト。時間やスクロールを制御するために使われます。
- SC (スクラッチ)、鍵盤 1 から 7
- プレイヤーが演奏するべき音声オブジェクト。
- BGA、
LAYER、 POOR - 映像オブジェクト。
- B01 から B32
- プレイヤーが演奏しない音声オブジェクト。つまり BGM です。
オブジェクト自身には レーン の区別がなく、メインパネル上のどこにでも配置されることができます。たとえば音声定義 #WAV** example.wav
は、演奏領域に移動させれば演奏オブジェクトになり、
このメインパネル上に、オブジェクトを配置していきます。
ツールバーにあるアイコン から、オブジェクトカーソルのモードを切り替えます。手始めに鉛筆アイコン を左クリックします。
書込モード
#WAV タブのリストアイテムを、メインパネル上に左クリックで書き込みます。書き込む番号は、定義リストの各行を左クリックするか、テンキー [+] [-] でリストカーソルを上下させて選択します。
細かいリズムで書き込みたい場合、ツールバーの Grid を左クリックします。選択した値によって、オブジェクトを置ける罫線の間隔が変化します。
演奏領域のレーンにおいて、
- [Ctrl を押し込んでいる間、左クリック]
- 不可視オブジェクトを配置します。
- [Shift を押し込んでいる間、左クリック]
- ロングノートオブジェクトを配置します。
編集モード
書き込まれたオブジェクトを、左クリックなどで選択できます。オブジェクトが配置されていない地点から左ドラッグを開始すると範囲選択枠が出現し、枠内に収めた複数のオブジェクトを選択することができます。
水色オブジェクトは左ドラッグで (つかんでひきずる要領で) 移動できます。
オブジェクトが配置されていない地点で右クリックするとメニューが開かれ、選択状態のオブジェクトに対していろいろな操作を行うことができます。
消去モード
オブジェクトを照準して、左クリックで削除します。
元に戻す/やり直し
モードを問わず、メインパネルの操作をまちがえた場合は……
- メニューバー【編集】→【元に戻す】を左クリックします。
- もしくは、キーボードから【Ctrl】を押しながら【Z】を押します。
-
- “元に戻す/やり直し” は、
Web ブラウザの “戻る/進む” に似ています。 - 【元に戻す】
【Ctrl + Z】は、作業の履歴を「戻る」。 - 【やり直し】
【Ctrl + Y】は、作業の履歴を「進む」。
- “元に戻す/やり直し” は、
各モードの操作をひたすら繰り返して、譜面を組み上げていきます。
自由に作業を進めて構いませんが、一般的にはまず BGM 領域に全パート全オブジェクトを配置してしまう作り方が効率的とされています。
- 曲として完全に成立する状態まで BGM を組み上げてしまい、これを作業用ベースとして保存します。
- ベース譜面のコピーを開き、演奏させたいオブジェクトのみを BGM 領域から演奏領域に移動させます。
Y 軸固定移動などを活用します。 - 曲を変えずに難易度だけを変更する譜面を複数作る場合は、必要な枚数だけベース譜面をコピーして、配置作業を繰り返します。
ベース譜面を完成させるまでの工程を効率化する Be-Music Helper や Mid2BMS などの便利なツールも活用できます。
同じ曲に対して複数枚の譜面を作る場合は、
映像の配置
音声オブジェクトと同じ要領で、
近年は “動画形式のオブジェクトを、最初に 1 個配置するだけ” という作品も多くあります。
- BGA
- 演奏中に BGA として表示される映像オブジェクト。
- LAYER
-
BGA の上に重なって表示される映像オブジェクト。
画像における、色コードが RGB
#000000
(完全な黒) のピクセルは、直下の BGA を透過して表示します。 - POOR
- 演奏ミス時に映像領域の最前面に一定時間表示される映像オブジェクト。
BGA レーンと LAYER レーンのオブジェクト配置の例
画像素材群を BMSE 上で配置し、それが実際のプレイ時にどのようにアニメーションするかを示します。
BMS 書式上の定義 | 画像 |
---|---|
#BMP01 Eg_bga1.bmp |
|
#BMP02 Eg_bga2.bmp |
|
#BMP03 Eg_bga3.bmp |
|
#BMP04 Eg_bga4.bmp |
|
#BMP05 Eg_layer1.bmp |
|
#BMP06 Eg_layer2.bmp |
|
#BMP07 Eg_layer3.bmp |
|
#BMP08 Eg_layer4.bmp |
- BGA レーン
- LAYER レーン
- BGA + LAYER
譜面のデバッグ
オブジェクト配置中は、プレビュー再生しながら概観をチェックします。
ツールバーからビューワを選択 して 再生ボタンを左クリックすると、譜面が実際にプレイしているかのように時間軸に沿って再生され、編集結果を即座に確認できます。
on BMSE:
on uBMplay:
ビューワで視聴 (試聴) しつつ、おかしな箇所を見つけ次第 BMSE 上で修正していきます。追加したいファイルが出てきたらそのつど用意して定義して配置します。
仕上げ
オブジェクトをひととおり配置し終えたら、テストプレイを重ねて細部を煮詰めます。
設定パネル “拡張” タブの項目は入力必須ではありませんが、ゲーム性に直結する #RANK
(判定の厳しさ) および #TOTAL
(ゲージ上昇量) は調整を推奨します。#TOTAL
値は大きいほどゲージが伸びやすく、小さいほどゲージが伸びづらくなります。
最後にメニューバーの【ファイル → 変換ウィザードを表示】を左クリックします。
変換ウィザードから、
- 使用していない
#WAV
・ #BMP
・ #BGA
の定義を消去 - フォルダ内の使用していないファイルを削除
-
定義リストの整列
- 可能なら古いフォーマット (
01
-FF
) を使う
- 可能なら古いフォーマット (
完成
BMSE がサポートしていない拡張命令などを使用する場合は、変換ウィザードを実行した後に拡張命令タブにそれらを記述します。
これを保存すれば、譜面の完成です。おつかれさまでした。
各機能については BMSE の機能詳細を参照してください。
完成した BMS を Web で配布するなら、もう少し頑張る必要があります。
必要なら音声ファイルを減質する
いまや廃れた手法ですが、転送量が問われるモバイル環境などでは役立つかもしれません。面倒な方はここを飛ばして OGG への変換をお読みください。
オリジナルの音声ファイルが、
fs (Hz) | bit | ch | ratio |
---|---|---|---|
44100 | 16 | 2 | 1 |
22050 | 16 | 2 | 1 |
11025 | 16 | 2 | 1 |
44100 | 8 | 2 | 1 |
22050 | 8 | 2 | 1 |
11025 | 8 | 2 | 1 |
44100 | 16 | 1 | 1 |
22050 | 16 | 1 | 1 |
11025 | 16 | 1 | 1 |
44100 | 8 | 1 | 1 |
22050 | 8 | 1 | 1 |
11025 | 8 | 1 | 1 |
[註] これら以外のサンプリング周波数・ビット深度・チャンネル数の組み合わせは、正しく再生できない機種が存在します。互換性を重視するなら 48000 Hz や 24-bit は使わないでください。#WAV
タブの概要もお読みください。
サンプリング周波数・ビット深度・チャンネル数が半減すれば、ファイルサイズも半減します。オリジナルの 16 分の 1 まで容量を削減できますが、相応に音質が劣化します。高音域を優先したい音は 44100 Hz のままにするべきです。量子化ノイズを混ぜたくない音は 16-bit のままにするべきです。音像定位を優先したい音はステレオのままにするべきです。
ある程度までなら減質作業は自動化できます。
[Format Converter]
Selection=0,-0,-1
Frequency=44100
Channel=2
Bit=16
Quality=3
Frequency
Channel
Bit
の値を適当に変更し、[Folder Open]
と [Folder Save]
を追加すれば、一括減質が可能です。パートごとにフォルダを分けて減質すると良いでしょう。高音域を残したいパートやモノラルで済むパートなどを分類しておき、それぞれに対して最適な処理を適用します。
ASIO を使いたい場合は、
必要なら音声ファイルを Ogg Vorbis 形式に変換する
手軽に容量を削減できますが、聴いて分からない程度に音質が低下します。
oggdropXPd などを使うのが簡単です。
WAV を OGG に変換する前に、
波形末尾に長大な無音が紛れていたために、問題の BMS ひとつを再生するだけでメモリ使用量が 1 GiB だか 2 GiB だかを突破した例があります。
OGG の非可逆的な音質劣化を受け入れづらい方は、
必要なら画像ファイルを減色・変換・最適化する
最近の機種は 24-bit BMP を普通に表示できますが、古い機種もカバーするなら 1-bit#BMP
タブの概要もご覧ください。
減色は Yukari が高性能です。画像によって適切なパレットやアルゴリズムが異なるので、
大抵は減色を行わず PNG 形式に変換するだけでも用が足ります。
必要なら readme を書く
一部の BMS 実装は、選曲画面などから同梱テキストファイルを閲覧することができます。ただし現行機種の大半は、テキストの文字符号化方式が ANSI コードページであるものと決め付けます。したがって、たとえばシステムロケールとして日本語が選択されている環境では、韓国語の readme.txt は文字化けします。
簡単な対策は、母国語の文章と英語の文章を併記しておくことです。むろん英語だけでも構いません。英語の文書は文字化けしません。作品タイトルと作者連絡先と “Have fun!” だけを書かれる作家氏もいらっしゃいました。
2020年代の機種に最適化するなら、テキストファイルを UTF-8 で保存するのが良さそうです。
正しく書かれた HTML 形式の文書なら、文字符号化方式に関する問題は回避できます。現行機種は選曲画面から HTML を参照することはできませんが、画像や CSS などで文書を装飾できるようになる利点もあります。<video>
要素で 40 MiB 超えの動画を使用した readme.html なども存在します。
書庫としてまとめる
通常はフォルダごと圧縮し、
ファイル名やフォルダ名に非 ASCII 文字を使わないでください。どうしても非 ASCII 文字を使う必要がある場合は、
- “だばぁ” がありうる書庫:
-
- bms1.zip
- |>BMSes + resources
フォルダを挟むことなく圧縮された書庫は、展開時にユーザ側に工夫を要求します。
BMS を書庫のままプレイできるようなソフトウェアが普及すれば別ですが、いまのところはそうなっていないので、フォルダごと圧縮してください。 - 展開時に文字化けしうる書庫:
-
- bms2_cp932.zip
-
- |>bmsフォルダ
- \BMSes + resources
Microsoft Plus! for Windows 98、および Windows ME
/XP 以降が備える圧縮フォルダ機能 (コンテキストメニュー → 送る → 圧縮フォルダ) によって作成されたこの書庫は、言語環境ごとに異なるフォルダ名で展開されます。 - 一般的な米国英語環境では “bmsâtâHâïâ_” (OEM IBM437)
- 一般的な日本語環境では “bmsフォルダ” (ANSI
/OEM CP932) - 一般的な簡体字中国語環境では “bms僼僅儖僟” (ANSI
/OEM CP936) - 一般的な韓国語環境では “bms긲긅깑?” (ANSI
/OEM CP949)
名前文字列の非 ASCII 部分は確実に文字化けします。
バイトシーケンス “
0x835F
” は CP932 では「ダ」に復号されますが、CP949 ではその符号位置に文字が定義されていないので、韓国語環境では展開に失敗したり、適当な文字に置き換えられたりします。 - bms6_cp936.zip (一般的な簡体字中国語環境の圧縮フォルダ機能で作成)
- bms7_cp949.zip (一般的な韓国語環境の圧縮フォルダ機能で作成)
これらも元のフォルダ名は「bmsフォルダ」です。
WinRAR 5.40 以降 などの、展開時にエンコーディングを指定できるアーカイバをお試しください。 Windows 圧縮フォルダ機能において、非 ASCII 文字は状況によってはディレクトリ構造さえ破綻させます。区切り文字 “\” が文字化けに巻き込まれると、
“aaa \bbb .ccc” が “aadbbb .ccc” のように展開されうるからです。 - 最も無難な ZIP 書庫:
-
- bms3.zip
-
- |>bmsfolder
- \BMSes + resources
ファイル名やフォルダ名を ASCII 文字のみで構成した ZIP 書庫は、言語環境を問わず正しく展開されます。
- バージョン 47 以降の Bemuse は、アップロードされた BMS の書庫 URL を直に指定することが可能になりました。現時点では ZIP 書庫と 7z 書庫に対応しており、
ASCII 文字のリソースに限り期待通りに演奏されます。 - たとえば
https://
は正しく再生されますが、bemuse .ninja /?archive= https:// hitkey .nekokan .dyndns .info /bmse _help _full /archives /bms3 .zip https://
は ASCII 文字の音声しか再生されません。bemuse .ninja /?archive= https:// hitkey .nekokan .dyndns .info /1F3B9 .zip (ローカル PC 上のフォルダを直接 Bemuse にドロップした場合は、後者も正しく再生されます。)
- 無難な RAR 書庫:
-
- bms4.rar
-
- |>bmsフォルダ
- \BMSes + resources
RAR 形式に対応するソフトウェアを用いれば正しく展開されます。
- RAR 形式を展開できるソフトウェアを、ユーザ側はあらかじめ導入しておく必要があります。
- 書庫レベルでは文字化けしませんが、
OS レベルでは文字化けする可能性があります。たとえば日本語環境の Windows 95 /98 /ME はハングルを扱えないので、名前文字列のハングル部分は文字化けしたり別の文字に置き換えられたりします。 - OS レベルで正しく展開できても、
BMS アプリケーションが非 ASCII 文字のパスを扱えない場合があります。たとえば一般的な日本語環境の Windows 上で、 BMSE や uBMplay はハングル名の BMS を開くことができないし、ハングル名の BMS は Lunatic Rave 2 のデータベースにも登録されません。
- 一般的な韓国語環境や簡体字中国語環境はカタカナも扱えるので、
“bmsフォルダ \bms.bms” は韓国語環境や簡体字中国語環境の BMSE /uBMplay で開くことができます。 - “bms・フォルダ
\bms.bms” を簡体字中国語環境の BMSE /uBMplay で開くことはできません。日本語の中黒 (U+30FB) を CP936 が扱えないからです。 - “bmsフォルダー
\bms.bms” を韓国語環境の BMSE /uBMplay で開くことはできません。日本語の長音記号 (U+30FC) を CP949 が扱えないからです。
「OS 側と BMS アプリケーション側の両方が Unicode をサポートしている環境」が前提なら、非 ASCII のパス名を気兼ねなく使用できます。いまのところ、
ruv-it! ・iBMSC ・μBMSC ・charatbeatHDX ・BMIIDXView2015 ・mBMplay ・Qwilight などが Unicode をサポートしています。 - bms8_rar5.rar
-
- |>bmsフォルダ
- \BMSes + resources
古い環境を切り捨てて構わない場合は、
RAR5 形式を用いてもよいでしょう。 Windows 95 /98 /ME で RAR5 書庫を展開する方法はおそらくありませんから、 RAR5 書庫を用いる限り OS レベルでの文字化けは発生しません。 Windows 2000 には WinRAR 5.00 以降を導入できません。
Windows 2000 で RAR5 書庫を展開するには、 7-Zip 15.06 beta 以降などが必要です。 - UTF-8 ZIP 書庫:
-
- bms5_utf8.zip
-
- |>bmsフォルダ
- \BMSes + resources
Windows 8 以降の圧縮フォルダー機能では正しく展開されます。
Windows 7 では KB2704299 が必要です。 - Windows Vista
/XP /ME /98 Plus! の圧縮フォルダ機能で展開すると、名前文字列の非 ASCII 部分は文字化けします。 - UTF-8 ZIP 対応ソフトウェアをユーザ側が別途導入していれば、
Windows 95 などの古い環境でも正しく展開されます。ただし古い環境では OS レベルで文字化けする可能性があります。 - OS レベルで正しく展開されても、
BMS アプリケーションが非 ASCII 文字のパスを扱えない場合があります。前述の RAR 書庫の解説を参照してください。
不要なファイルを書庫に混ぜないでください。容量の無駄というだけでなく、個人情報が漏洩する危険性さえあります。通常、以下に述べるファイルを書庫に同梱する意味はありません。
- [Windows] Thumbs.db や desktop.ini 等のシステムファイル
- [Mac OS] .DS_Store ファイルやリソースフォーク群
- [Windows Media Player や iTunes] アルバムアートワーク
WinRAR は「特定のファイルを格納しない機能」や「圧縮済みのファイルを無圧縮で格納する効率的な機能」などが揃っており便利なので、筆者は個人的にお勧めしています。
書庫を配布する
書庫を Web 上にアップロードし、それをどこかで告知します。アップロード場所は Google Drive などが無難でしょうか。一部のアップローダーは足が早かったり海外からダウンロードできなかったり糞みたいなスクリプトを仕込んでいたりするので、実績のあるサービスを選びましょう。
現在 BMS シーンはイベント駆動型という感じなので、どこかの BMS イベントに参加するのが最も手っ取り早い告知手段です。
BMS イベントや SNS 以外で作品を公開するなら、
- ダウンロードアドレスとともに、曲名・作者名・ジャンル・難易度・ファイルサイズなどを併記すると、ユーザや検索エンジンに対して親切です。
- Web サイトを運営できる方には、
Web BMS Player “Bemuse” の導入をおすすめします。レンタルサーバー用テストキットをお試しください。
自作の BMS に対する反応が欲しい場合は、やはりどこかの BMS イベントに参加するのが確実かもしれません。