Be-Music Source

BMS（）是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功能组合使用。详细请参考 。

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

文件格式
音樂遊戲