BMSE による譜面作成プロセスを大雑把に紹介します。やるべきことは要約すると 3 つだけです。

  1. ファイルを用意する
  2. ファイルを定義する
  3. オブジェクトを配置する
  4. おまけ

BMSE は以下の BMS 譜面エディタと同じような感覚で操作できます。

これら譜面エディタの使用経験がある方は、この頁を読む必要はありません。

  • じつのところ、このヘルプを読むよりも、既存の BMS 作品を BMSE で開いて、中身を覗きつつ実際にあれこれ試すほうが分かりやすいですよ。
  • 前述の各エディタの差異を比較した資料 [https://hitkey.nekokan.dyndns.info/editors.html] (外部リンク)も参考になるかもしれません。

この頁は拡張子を表示している状態を前提しています。(参考 [https://duckduckgo.com/?q=拡張子+表示] (外部リンク))

フォルダ詳細設定から、以下の設定を全フォルダに適用してください:
すべてのファイルとフォルダを表示する → [チェックを入れる]
登録されているファイルの拡張子は表示しない → [チェックを外す]
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 に変更します。(これから作る BMS の譜面ファイル)


次の例において、“bmsA” フォルダと “bmsB” フォルダは別の作品です。

“bmsA” フォルダと “bmsB” フォルダはそれぞれが、自分が使用する譜面・音声・画像ファイル群すべてを収納しています。

通常はこのように、作品単位でフォルダが分けられます。ある作品が持つ譜面ファイル群と、各譜面に用いられる音声・画像・動画ファイルは、ひとつのフォルダの中にまとめて並べられます。

フォルダやファイルにはもちろん任意の名前をつけて構いませんが、ファイル名には半角英数字のみを用いるのが無難です [https://hitkey.nekokan.dyndns.info/20160103-filename.htm] (外部リンク)


譜面ファイルを開く

BMSE を起動して、メインパネルにさきほど新規作成した BMS ファイルをドラッグ・アンド・ドロップします。

譜面ファイルをドラッグ (引き摺る) して、罫線領域にドロップ (落とす) します。

すると、中身が空の譜面が開かれます。手始めにヘッダ情報を埋めてみます。

設定パネルの “基本” タブから、譜面のヘッダ情報を入力します。

(#GENRE, #TITLE, #ARTIST, #BPM)

ジャンル・タイトル・アーティスト各欄を左クリックして、キーボードから任意の文字列を入力します。あらゆる編集情報はいつでも変更できますから、特に構える必要はありません。

BPM から、譜面の開始時のテンポを指定します。

4 分音符を 1 分間に 120 回刻む速度なら、120 (B)(P)(M) です。

譜面のテンポには小数値も指定できます。(詳細 [https://hitkey.nekokan.dyndns.info/cmdsJP.htm#BPM] (外部リンク))

譜面ファイルを保存

ここまで編集した情報を保存します。

ウィンドウ上部のツールバーから保存アイコンを左クリックします。

Toolbar → SAVE Icon

[青色の 3½-インチフロッピーディスクの図像] 上書き保存 [https://www.weblio.jp/content/上書き保存] (外部リンク)
ダイアログを出さず手早く保存 (初回保存時は名前を付けて保存)
[シール部分に赤い英大文字 “A” があしらわれた、緑色の 3½-インチフロッピーディスクの図像] 名前を付けて保存 [https://www.weblio.jp/content/名前を付けて保存] (外部リンク)
元の譜面ファイルを残したい場合に、元ファイルとは別の名前をつけて保存

BMSE 自身が異常終了したときは作業ファイルのバックアップを作ってくれますが、その機能が働かない場合もあるので作業はこまめに保存しましょう。ちなみに譜面を読み込まずに編集を開始した場合、一度保存しないとプレビュー機能などが使えません。


ファイルを定義する

事前に BMS フォルダ内にコピーしておいた音声ファイルを、エクスプローラ上で選択し、BMSE ウィンドウ右下の “定義リスト” にドラッグ・アンド・ドロップします。

複数のファイルをドラッグ・アンド・ドロップで一括定義できます。

ドロップしたファイルは “定義” され、オブジェクトとして配置できるようになります。これは絵でいえば色パレットを用意するようなものです。たとえば音声ファイル test_01.wavtest_02.wavtest_03.wavtest_04.wav をリストに定義すると、この譜面はそれら 4 種類の音声を自由に選んでメインパネル上に置いていくことが可能になります。

定義は逐次追加でき、譜面 1 枚につき最大 1295 種類まで音声を登録できます。リストアイテムを左クリックなどで選択すると、BMSE 上で音が鳴ります。


映像用ファイルを定義する

BMPGIFJPEGPNG などの画像ファイル、および MPEG-1 などの動画ファイルも、音声と同じ要領で定義します。

#WAV タブは音声の定義リスト、#BMP タブは映像の定義リストです。

オブジェクトパネルの上部にある “#BMP” タブを左クリックしてリストを切り替え、映像用ファイルを #BMP** のリストにドラッグ・アンド・ドロップします。

音声ファイルは #WAV** に、映像ファイルは #BMP** に定義します。たとえば動画フォーマットなら #BMP** example.mpg のようにします。


オブジェクトを配置する

BMS プレイ時、オブジェクトは配置された場所で音声や映像を再生します。

メインパネルの縦軸 (上に向かって並んでいる横線) は時間を表します。

Grid ひとつにつき 1 個ずつ、オブジェクトを配置できます。

背景の “#000” は小節の番号です。(最大で #999 まで)

メインパネルの横軸 (右に向かって並んでいる縦線) はパートを表します。

BPM 変更、STOP
譜面を速度変更したり一時停止したりする、特殊なオブジェクト。時間やスクロールを制御するために使われます。
SC (スクラッチ)、鍵盤 1 から 7
プレイヤーが演奏するべき音声オブジェクト。
BGALAYER、POOR
映像オブジェクト。
B01 から B32
プレイヤーが演奏しない音声オブジェクト。つまり BGM です。

オブジェクト自身には レーン の区別がなく、メインパネル上のどこにでも配置されることができます。たとえば音声定義 #WAV** example.wav は、演奏領域に移動させれば演奏オブジェクトになり、BGM 領域に移動させれば BGM オブジェクトになります

このメインパネル上に、オブジェクトを配置していきます。

ツールバーにあるアイコン 「矢印・鉛筆・消しゴム」 から、オブジェクトカーソルのモードを切り替えます。手始めに鉛筆アイコン「書込モード (F3)」 を左クリックします。


書込モード (オブジェクトカーソルの鉛筆アイコンが押下されている状態)

定義リストから音声オブジェクトや映像オブジェクトを選択して、メインパネル上に書き込むモードです。 書き込む際の罫線間隔を Grid 選択枠から変更できます。

#WAV タブのリストアイテムを、メインパネル上に左クリックで書き込みます。書き込む番号は、定義リストの各行を左クリックするか、テンキー [+] [-] でリストカーソルを上下させて選択します。

細かいリズムで書き込みたい場合、ツールバーの Grid を左クリックします。選択した値によって、オブジェクトを置ける罫線の間隔が変化します。

特定キー押下中は、各キーに対応した属性のオブジェクトを書き込める状態になります。

演奏領域のレーンにおいて、

[Ctrl を押し込んでいる間、左クリック]
不可視オブジェクトを配置します。
[Shift を押し込んでいる間、左クリック]
ロングノートオブジェクトを配置します。

編集モード (オブジェクトカーソルの矢印アイコンが押下されている状態)

オブジェクト群を選択して移動したり、 切り取り・コピー・貼り付け・削除したりするモードです。

書き込まれたオブジェクトを、左クリックなどで選択できます。オブジェクトが配置されていない地点から左ドラッグを開始すると範囲選択枠が出現し、枠内に収めた複数のオブジェクトを選択することができます。

水色オブジェクトは左ドラッグで (つかんでひきずる要領で) 移動できます。

オブジェクトが配置されていない地点で右クリックするとメニューが開かれ、選択状態のオブジェクトに対していろいろな操作を行うことができます。

消去モード (オブジェクトカーソルの消しゴムアイコンが押下されている状態)

オブジェクトを照準して、左クリックで削除します。

元に戻す/やり直し

モードを問わず、メインパネルの操作をまちがえた場合は……

メニューバー【編集】→【元に戻す】を左クリックします。
メニューバー 【編集】 → 【元に戻す】
もしくは、キーボードからCtrl】を押しながら【Z】を押します
  • “元に戻す/やり直し” は、Web ブラウザの “戻る/進む” に似ています。
  • 【元に戻す】Ctrl + Zは、作業の履歴を「戻る」。
  • 【やり直し】Ctrl + Yは、作業の履歴を「進む」。

各モードの操作をひたすら繰り返して、譜面を組み上げていきます。

自由に作業を進めて構いませんが、一般的にはまず BGM 領域に全パート全オブジェクトを配置してしまう作り方が効率的とされています。

  1. 曲として完全に成立する状態まで BGM を組み上げてしまい、これを作業用ベースとして保存します。
  2. ベース譜面のコピーを開き、演奏させたいオブジェクトのみを BGM 領域から演奏領域に移動させます。Y 軸固定移動などを活用します。
  3. 曲を変えずに難易度だけを変更する譜面を複数作る場合は、必要な枚数だけベース譜面をコピーして、配置作業を繰り返します。

ベース譜面を完成させるまでの工程を効率化する Be-Music Helper [https://excln.github.io/bmhelper.html] (外部リンク)Mid2BMS [https://mid2bms.net/] (外部リンク) などの便利なツールも活用できます。

同じ曲に対して複数枚の譜面を作る場合は、Anzu BMS Diff Tool [https://yuinore.net/2015/12/difftool/] (外部リンク) で曲の同一性を検証することもできます。


映像の配置

音声オブジェクトと同じ要領で、#BMP のリストから映像オブジェクトを選択し、映像領域のレーンに配置していきます。細切れの画像素材を短い間隔で配置して “動いているように見せる” 方法が一般的でした。

近年は “動画形式のオブジェクトを、最初に 1 個配置するだけ” という作品も多くあります。

BGA
演奏中に BGA として表示される映像オブジェクト。
LAYER

BGA の上に重なって表示される映像オブジェクト。

画像における、色コードが RGB #000000 (完全な黒) のピクセルは、直下の BGA を透過して表示します。

POOR
演奏ミス時に映像領域の最前面に一定時間表示される映像オブジェクト。

BGA レーンと LAYER レーンのオブジェクト配置の例

画像素材群を BMSE 上で配置し、それが実際のプレイ時にどのようにアニメーションするかを示します。LAYER の黒地部分が、LAYER 直下の画像を透過するさまをご覧ください。

#BMP01 から 08 までを定義したリストの例
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 レーン
BGA 列にオブジェクト 01・02・03・04 を繰り返し配置すると、プレイ時に背景色が青・緑・黄・赤の順に繰り返し変化する。
LAYER レーン
LAYER 列にオブジェクト 05・06・07・08 を繰り返し配置すると、プレイ時に白文字が小・中・大・最大の順に繰り返し変化する。
BGA + LAYER
BGA 列に 01・02・03・04 を、LAYER 列に 05・06・07・08 を繰り返し配置すると、プレイ時に「青背景に小さい白文字・緑背景に普通の白文字・黄背景に大きい白文字・赤背景に巨大な白文字」の順に繰り返し変化する。

譜面のデバッグ

オブジェクト配置中は、プレビュー再生しながら概観をチェックします。

ツールバーからビューワを選択 (uBMplay 推奨) して 最初から再生または現在位置から 再生ボタンを左クリックすると、譜面が実際にプレイしているかのように時間軸に沿って再生され、編集結果を即座に確認できます。[Shift + 左クリック] で書き込む LN なら、以下のように表示されます (実際は音も映像もすべて再生されます):

on BMSE: ロングノートは開始点と終了点を別々に配置します。

on uBMplay: ロングノートは開始点と終了点が繋がって表示されます。

ビューワで視聴 (試聴) しつつ、おかしな箇所を見つけ次第 BMSE 上で修正していきます。追加したいファイルが出てきたらそのつど用意して定義して配置します。


仕上げ

オブジェクトをひととおり配置し終えたら、テストプレイを重ねて細部を煮詰めます。

Header → “Expand” tab

設定パネル “拡張” タブの項目は入力必須ではありませんが、ゲーム性に直結する #RANK (判定の厳しさ) および #TOTAL (ゲージ上昇量) は調整を推奨します。#TOTAL 値は大きいほどゲージが伸びやすく、小さいほどゲージが伸びづらくなります。

最後にメニューバーの【ファイル → 変換ウィザードを表示】を左クリックします。

MenuBar → File → Show Conversion Wizard

Conversion Wizard

変換ウィザードから、「BMS で使わなかった定義とファイルの一括削除」を実行し、必要なものだけを残します。以下の項目にチェックを入れて “実行” ボタンを左クリックします。

  • 使用していない #WAV#BMP#BGA の定義を消去
  • フォルダ内の使用していないファイルを削除
  • 定義リストの整列

    • 可能なら古いフォーマット (01 - FF) を使う

完成

BMSE がサポートしていない拡張命令などを使用する場合は、変換ウィザードを実行した後に拡張命令タブにそれらを記述します。(特殊な命令を使わないなら、特に気にしなくて構いません)

これを保存すれば、譜面の完成です。おつかれさまでした。

各機能については BMSE の機能詳細を参照してください。


完成した BMS を Web で配布するなら、もう少し頑張る必要があります。

必要なら音声ファイルを減質する

いまや廃れた手法ですが、転送量が問われるモバイル環境などでは役立つかもしれません。面倒な方はここを飛ばして OGG への変換をお読みください。

オリジナルの音声ファイルが、44100 Hz・16-bit・2 ch・リニア PCM・RIFF waveform であるものと仮定します。長さ 1 秒の場合のサイズ 176400 bytes を基準値として、これをあらゆる BMS 実装が再生可能な範囲で減質した結果を以下に示します。最小サイズは 1/16 (11025 bytes) です。

fs (Hz) bit ch ra­tio
44100 16 2 1
22050 16 2 1/2
11025 16 2 1/4
44100 8 2 1/2
22050 8 2 1/4
11025 8 2 1/8
44100 16 1 1/2
22050 16 1 1/4
11025 16 1 1/8
44100 8 1 1/4
22050 8 1 1/8
11025 8 1 1/16

[註] これら以外のサンプリング周波数・ビット深度・チャンネル数の組み合わせは、正しく再生できない機種が存在します。互換性を重視するなら 48000 Hz や 24-bit は使わないでください。#WAV タブの概要もお読みください。

サンプリング周波数・ビット深度・チャンネル数が半減すれば、ファイルサイズも半減します。オリジナルの 16 分の 1 まで容量を削減できますが、相応に音質が劣化します。高音域を優先したい音は 44100 Hz のままにするべきです。量子化ノイズを混ぜたくない音は 16-bit のままにするべきです。音像定位を優先したい音はステレオのままにするべきです。

ある程度までなら減質作業は自動化できます。BMS制作のすすめ [https://w.atwiki.jp/coolnaurl/] (外部リンク)」に、SoundEngine FREE [https://soundengine.jp/software/] (外部リンク) のスクリプトがいくつか載っています。単独ファイルへの減質処理は以下の通りです。

[Format Converter]
Selection=0,-0,-1
Frequency=44100
Channel=2
Bit=16
Quality=3

FrequencyChannelBit の値を適当に変更し、[Folder Open][Folder Save] を追加すれば、一括減質が可能です。パートごとにフォルダを分けて減質すると良いでしょう。高音域を残したいパートやモノラルで済むパートなどを分類しておき、それぞれに対して最適な処理を適用します。

ASIO を使いたい場合は、SoundEngine FREE ではなく Wavosaur [https://www.wavosaur.com/] (外部リンク) をおすすめします。メニューバーの【Tools → Batch processor】から各種一括処理を実行できます。11025 Hz への変換はできませんが、特に問題ないと思います。

必要なら音声ファイルを Ogg Vorbis 形式に変換する

手軽に容量を削減できますが、聴いて分からない程度に音質が低下します。OGG は非可逆圧縮なので、この劣化を元に戻せないことに注意してください。

oggdropXPd [https://rarewares.org/ogg-oggdropxpd.php] (外部リンク) などを使うのが簡単です。

WAV を OGG に変換する前に、BMS制作のすすめ [https://w.atwiki.jp/coolnaurl/] (外部リンク)」の SoundEngine FREE [https://soundengine.jp/software/] (外部リンク) 用スクリプト「両端無音削除」を実行してください。波形先頭側の無音部分は意図される場合もありますが、末端側の無音部分に利点はありません。 (末尾側無音部分を残す利点をしいて挙げれば、波形が極端に短い音声を OGG などに変換すると LR2 や beatoraja において特定条件下で曲途中から以降の音声が一切鳴らなくなる場合があり、この現象を回避するために末尾側に 0.5 秒ほどの余白を残しておく制作方針もないわけではないようです。)

波形末尾に長大な無音が紛れていたために、問題の BMS ひとつを再生するだけでメモリ使用量が 1 GiB だか 2 GiB だかを突破した例があります。OGG 変換後は無音部分のファイルサイズは無いも同然になるので、変換前に無駄を検出しておくべきです。

OGG の非可逆的な音質劣化を受け入れづらい方は、OGG ではなく FLAC 形式への変換を検討してもよいかもしれません。OGG ほど劇的には容量を減らせませんが、WAV ←→ FLAC の相互変換を劣化なく無限に行えます。beatoraja, mBMplay, Qwilight, μBMSC 3.5 などが FLAC をサポートしており、ユーザー環境次第では Angolmois や LR2 なども FLAC を演奏できるようです。

必要なら画像ファイルを減色・変換・最適化する

最近の機種は 24-bit BMP を普通に表示できますが、古い機種もカバーするなら 1-bit・4-bit・8-bit に限定してください。#BMP タブの概要もご覧ください。

減色は Yukari [https://web.archive.org/web/20230201163024/https://aoriika.exout.net/] (外部リンク) が高性能です。画像によって適切なパレットやアルゴリズムが異なるので、GUI 版で各カットの減色設定を吟味し、のちコンソール版で一括処理するのがよいのではないでしょうか。

大抵は減色を行わず PNG 形式に変換するだけでも用が足ります。PNG 形式への変換と最適化は OptiPNG [https://optipng.sourceforge.net/] (外部リンク) などでまとめて行えます。PNG 変換後に減色しても構いませんが、減色された透過 PNG が uBMplay (20170913 未満) を強制終了させうることや、減色が不可逆工程であることにご注意ください。

必要なら readme を書く

一部の BMS 実装は、選曲画面などから同梱テキストファイルを閲覧することができます。ただし現行機種の大半は、テキストの文字符号化方式が ANSI コードページであるものと決め付けます。したがって、たとえばシステムロケールとして日本語が選択されている環境では、韓国語の readme.txt は文字化けします。

簡単な対策は、母国語の文章と英語の文章を併記しておくことです。むろん英語だけでも構いません。英語の文書は文字化けしません。作品タイトルと作者連絡先と “Have fun!” だけを書かれる作家氏もいらっしゃいました。

2020年代の機種に最適化するなら、テキストファイルを UTF-8 で保存するのが良さそうです。beatoraja はテキストファイルを関連付けられた外部アプリケーションで開くことができます。Qwilight はエンコーディングを変更して読み直す機能を自前で持っています。ただし UTF-8 で符号化された readme.txt は、LR2 などの従来機種では文字化けするでしょう。

正しく書かれた HTML 形式の文書なら、文字符号化方式に関する問題は回避できます。現行機種は選曲画面から HTML を参照することはできませんが、画像や CSS などで文書を装飾できるようになる利点もあります。<video> 要素で 40 MiB 超えの動画を使用した readme.html なども存在します。

書庫としてまとめる

通常はフォルダごと圧縮し、ZIP 書庫か RAR 書庫にまとめます。

ファイル名やフォルダ名に非 ASCII 文字を使わないでください [https://hitkey.nekokan.dyndns.info/20160103-filename.htm] (外部リンク)。どうしても非 ASCII 文字を使う必要がある場合は、RAR 形式で圧縮するのが無難です。

だばぁ [https://qiita.com/yuinore/items/53d4796869de90dd4b8f] (外部リンク)” がありうる書庫:
bms1.zip
|>BMSes + resources

フォルダを挟むことなく圧縮された書庫は、展開時にユーザ側に工夫を要求します [https://qiita.com/5argon/items/cc7d7d9a652f57589674] (外部リンク)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 以降 [https://www.rarlab.com/] (外部リンク) などの、展開時にエンコーディングを指定できるアーカイバをお試しください。

Windows 圧縮フォルダ機能において、非 ASCII 文字は状況によってはディレクトリ構造さえ破綻させます。区切り文字 “\” が文字化けに巻き込まれると、aaa\bbb.ccc” が “aadbbb.ccc” のように展開されうるからです。

最も無難な ZIP 書庫:
bms3.zip
|>bmsfolder
\BMSes + resources

ファイル名やフォルダ名を ASCII 文字のみで構成した ZIP 書庫は、言語環境を問わず正しく展開されます。

無難な RAR 書庫:
bms4.rar
|>bmsフォルダ
\BMSes + resources

RAR 形式に対応するソフトウェアを用いれば正しく展開されます。

  • RAR 形式を展開できるソフトウェアを、ユーザ側はあらかじめ導入しておく必要があります。
  • 書庫レベルでは文字化けしませんが、OS レベルでは文字化けする可能性があります。たとえば日本語環境の Windows 95/98/ME はハングルを扱えないので、名前文字列のハングル部分は文字化けしたり別の文字に置き換えられたりします。
  • OS レベルで正しく展開できても、BMS アプリケーションが非 ASCII 文字のパスを扱えない場合があります。たとえば一般的な日本語環境の Windows 上で、BMSE や uBMplay はハングル名の BMS を開くことができないし、ハングル名の BMS は LunaticRave 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 以降 [https://www.7-zip.org/] (外部リンク)などが必要です。

UTF-8 ZIP 書庫:
bms5_utf8.zip
|>bmsフォルダ
\BMSes + resources

Windows 8 以降の圧縮フォルダー機能では正しく展開されます。Windows 7 では KB2704299 [https://support.microsoft.com/en-us/topic/japanese-characters-in-file-names-are-displayed-as-garbled-text-after-you-decompress-a-zip-file-in-windows-7-or-in-windows-server-2008-r2-a8dab642-4dc7-0872-4ee7-86cfd430a929] (外部リンク) が必要です。

  • Windows Vista/XP/ME/98 Plus! の圧縮フォルダ機能で展開すると、名前文字列の非 ASCII 部分は文字化けします。
  • UTF-8 ZIP 対応ソフトウェアをユーザ側が別途導入していれば、Windows 95 などの古い環境でも正しく展開されます。ただし古い環境では OS レベルで文字化けする可能性があります。
  • OS レベルで正しく展開されても、BMS アプリケーションが非 ASCII 文字のパスを扱えない場合があります。前述の RAR 書庫の解説を参照してください。

不要なファイルを書庫に混ぜないでください。容量の無駄というだけでなく、個人情報が漏洩する危険性さえあります [https://win2k.org/blog/2009/12/24/1042262/] (外部リンク)。通常、以下に述べるファイルを書庫に同梱する意味はありません。

  • [Windows] Thumbs.dbdesktop.ini 等のシステムファイル
  • [Mac OS] .DS_Store ファイルやリソースフォーク群
  • [Windows Media Player や iTunes] アルバムアートワーク

WinRAR は「特定のファイルを格納しない機能」や「圧縮済みのファイルを無圧縮で格納する効率的な機能」などが揃っており便利 [https://www.dropbox.com/s/eguwkrwyj1si60j/winrar-option-file.png] (外部リンク)なので、筆者は個人的にお勧めしています。

書庫を配布する

書庫を Web 上にアップロードし、それをどこかで告知します。アップロード場所は Google Drive などが無難でしょうか。一部のアップローダーは足が早かったり海外からダウンロードできなかったり糞みたいなスクリプトを仕込んでいたりするので、実績のあるサービスを選びましょう。

現在 BMS シーンはイベント駆動型という感じなので、どこかの BMS イベントに参加するのが最も手っ取り早い告知手段です。Twitter などのソーシャル・ネットワーキング・サービス上で作品を公開される方も多いようです。

BMS イベントや SNS 以外で作品を公開するなら、pupuly [https://pupuly.nekokan.dyndns.info/] (外部リンク) などの BMS レビューサイトに BMS を登録したり、ニコニコ動画などに動画を投稿したりして、それらが BMSChan Database [http://yaruki0.sakura.ne.jp/bms/BMSchan/] (外部リンク) などに捕捉されるのを待つことになるでしょうか。

  • ダウンロードアドレスとともに、曲名・作者名・ジャンル・難易度・ファイルサイズなどを併記すると、ユーザや検索エンジンに対して親切です。
  • Web サイトを運営できる方には、Web BMS Player “Bemuse” [https://github.com/bemusic/bemuse] (外部リンク) の導入をおすすめします。レンタルサーバー用テストキット [https://twitter.com/Nekokan_Server/status/784343689313136642] (外部リンク)をお試しください。

自作の BMS に対する反応が欲しい場合は、やはりどこかの BMS イベントに参加するのが確実かもしれません。LR2IR などのインターネットランキングにもたまにコメントがつく場合があるので、チェックするとよいでしょう。