Be-Music_Script

**BMS**（英語：Be-Music Source）是 1998 年由日本人 Yaneurao 和 NBK 所研發的檔案格式。可用來製作音樂或在相關軟體上演奏。著作權為公開免費。

原指運用在音樂遊戲類比軟體《**BM98**》之上的檔案，如今則廣泛指稱為任何可以運用在類似類比軟體的譜面檔案，又或、類似的類比軟體系統也可以廣泛歸類在 BMS 類型下方。

## 由來

開發者やねうらお表示「BMS」格式和電腦軟體程式《BM98》皆是完全原創。根據 BMS 檔案的指令碼指令，wav、ogg 等音樂格式檔案可對應指令碼中的指定位置鳴響，達到演奏音樂的效果，屬於 Module file 的音樂遊戲格式。

但一般認為，《BM98》的遊戲方式非常相似 KONAMI 知名音樂遊戲《狂熱節拍》的運作模式，KONAMI 也曾經對開發者 Yaneurao 提出抗議，Yaneurao 因此撤下個人網站所發布的《BM98》，停止公開程式，如今只能透過其他製作者取得類似軟體。另一方面，「BMS」格式可被『BM98』軟體運用，但構造上跟軟體天差地別，因此公開 BMS 檔案在著作權上面並不構成問題。

## 概要

狹義上， BMS 為純文字檔案，指令以＃字號開頭，記述 Tempo、曲名、聲音鳴響的時間點。BMS 指令碼就像是樂譜，但不包含圖像和音樂，其他檔案需要自行附加。

廣義上， BMS 由三種檔案構成：
「BMS 指令碼」、「WAVE 檔案或「MIDI 檔案等音聲檔案，以及「點陣圖檔案」作為搭配音樂的影片。只要滿足前二者，就可以算是 BMS 檔案。

## 基本格式

這裡對《BM98》中使用的檔案格式進行說明。其他 BMS 平台的玩家也可以使用同樣的格式。

* BMS 檔案可分為 Header 部分和 Note 部分。Header 部分記錄遊玩人數、樂曲名、BMP 等，以及定義要使用的 WAV 檔案、BMP 檔案。
* Note 部分主要記錄譜面相關的內容，包括 Note 的放置的位置、Note 觸發的聲音、用於觸發 Note 的按鍵等。
* 書寫格式為 #aaabb:cccccccc (aaa: 小節編號 (000-999),bb:Channel,cc:Note 組態）。

下面舉一個簡單的例子。

```
*---------------------- 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  // 第一小节的1key对#wave01配置四分音符
#00211:0101010001010100  // 第二小节的1key对#wave01配置为八分音符三连+八分休止符*2
```

### Header

**#PLAYER x**
: 定義玩家人數。x=1 時為單人遊戲，2 時為 Couple Play，3 時為 Double Play (省略時 x=1)。

**#GENRE**
: 定義曲風。

**#TITLE**
: 定義曲名。

**#ARTEST**
: 定義作曲家。

**#BPM**
: 定義 BPM。不指定時為 130

**#MIDIFILE**
: 支援使用 MIDI File 作為 BGM 來使用。

**#PLAYERLEVEL 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,65535 色的點陣圖)。(xx 為 00-FF、00 為 Poor 時的圖片)

**#TOTAL xxx**
: 設定計量表增量 (使用浮點數記錄)。省略時為 200+Note 數

**#RANDOM x**
: 分支命令。生成從 1 到 x 之間的隨機自然數。

**#if , #ENDIF**
: 分支的開始、結束.

**#ExtChr**
: 與 Extended Object 功能組合使用。詳細請參考 [1] （頁面存檔備份，存於網際網路檔案館）。

### Channel

* 01 - 指定作為 BGM 播放的 WAVE 檔案。
* 02 - 縮短小節 (十進位 / 浮點數)
* 03 - 改變 BPM (十六進位)
* 04 - 替換 BGA 的圖檔
* 05 - Extended Object
* 06 - 指定 Poor 時的 BGA
* 11-17 - 1P 的演奏 Note (11-15 為鍵盤，16 為刮板，17 為自由區域)
* 21-27 - 2P 的演奏 Note (同 1P)
* 31-36 - 1P 不可見的 Note
* 41-46 - 2P 不可見的 Note

### きくちゃん版本的擴充

* **從 Ver.3.28 到 Ver.3.29b**

　
: **#PLAYER 4(Battle Play)**

* **從 Ver.3.29G8 到 Ver.3.30R4.2**

　
: **#STAGEFILE aaa.bmp**
: 指定曲目開始時顯示的圖檔

**#RANK 4(?????)**
**#BMP**
: 可使用 JPEG。

**#ExtChr (風格改變)**
**增加 Channel 編號**
: 07 - BGA Layer

* **從 Ver.3.31 到 Ver.3.32**

　
: **#BGAn1 n2 x1 y1 x2 y2 dx dy**
: 設定擴充 BGA 的區域

**#WAVxx (將 xx 擴充至 01 - FZ)**
**Materials**
: 可以將 Materials 資料夾內的 wav、bmp 檔案指設定為 #WAV、#BMP 檔案

　
: 此外、將下述 BMS 的擴充 7Key 化 (支援讀取 BME)、擴充 BPM 改變、#BMP 可以使用 PNG、GIF 等所有被 Susie 外掛程式支援的檔案。

 

## 延伸

由於 BMS 檔案的構造簡單易流傳，如今被採納在許多免費的節奏遊戲之上。BMS 有許多擴張模式，譬如 BME 格式（類比七鍵的 Beatmania IIDX）、DTX 格式（類比 DTXmania）、PMS 格式（類比音樂遊戲 Pop'n Music）、長音模式等。

2000 年代中期曾颳起一陣玩家使用 BMS 自行創作樂曲的風潮，發展為創作型活動。BMS 作曲家之中，不少人轉向職業音樂家或 VOCALOID 音樂家發展。在網路上每年一度舉行的 BMS 賽事「The BMS of Fighters」（簡稱 「BOF」）是目前最大型的 BMS 創作樂曲比賽。

## 參考資料

## 相關項目

* 音樂遊戲
* beatmania
* 同人音樂

## 相關連結

* ＢＭ９８関連のコンテンツ（頁面存檔備份，存於網際網路檔案館） - 開發者やねうらお網站
* THE BMS OF FIGHTERS Terminal（頁面存檔備份，存於網際網路檔案館）