Be-Music Source

From Wikipedia, the free encyclopedia

BMS
Filename extension
.bms
Developed byUrao Yane, NBK
Type of formatMusic
Container forPattern data
Extended fromtext files
Extended toBME, BML, PMS

BMS is a file format for rhythm action games, devised by Urao Yane in 1998. The format was originally developed as a format specific for a simulator of the game Beatmania by KONAMI, and currently the term BMS is widely used to describe the whole Beatmania simulating game system.

The acronym has been confirmed by Urao Yane to be Be-Music Source in the official BMS format specification.[1]

Gameplay[]

Similar to the Beatmania and Beatmania IIDX series, the purpose of the game is to hit keys as notes fall from the top of the screen to the judge line.
When the player hits the notes with the proper timing, a gauge will fill up. When the player misses a note, the gauge will drain.
In addition to the normal notes, there are also long notes where the player needs to keep holding the key until the note ends and mine notes that will explode and drain the gauge if the player is pressing the key when they hit the judge line.
To clear the game, the player's gauge must be filled to a specified level at the end of the song.

BMS songs[]

Most BMS songs are original songs made specially for the game, because the BMS format requires the sounds that compose the music to be separated into small pieces, thus making it hard to use preexisting songs to be made into a BMS.
Currently most BMS songs are distributed in BMS events, where usually several artists publish their songs and compete for scores. The largest BMS event is the BMS of Fighters (BOF) held by AOiRO_MANBOW where more than 250 songs are presented each year.

Basic Format[]

The .bms file describes how notes are arranged and how the game responds when the player takes a specific action. It is a plain text file with 'directive' lines starting with the # character.
Each directive line is formatted in the form below.

#[definition_setter] [definer]

The space between the definition setter and the definer is required.

A .bms file is generally composed of a header field and the main data field.
Below is a simple example of what a .bms file will look like when it is opened by a notepad.

*---------------------- 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
#00211:0101010001010100

Commonly used header field components[]

[2]

Commands existing from the original used in the original .bms extensions.[3]

#PLAYER Defines play style. 1 for Single Play, 2 for Couple Play, and 3 for Double Play.
Modern BMS simulators do not depend on #PLAYER anymore, but define play style by the extension of the file itself and the directive lines used in the main data field.

#GENRE
  Defines the genre.

#TITLE
  Defines the title.

#ARTIST
  Defines the artist.

#BPM
  Defines the BPM.

#PLAYLEVEL
  Defines difficulty level displayed for the song.

#RANK
  Defines how strict timing to hit the notes is.
  0 for very hard, 1 for hard, 2 for normal, and 3 for easy unless it is otherwise set by the simulator.

#WAVxx/#OGGxx
  Defines the music file that will played when the number xx appears in the played channels and the sound channels of the main data field.
  WAV00 sets the sound played when a mine note is activated.
  Most commonly used music file types for BMS are .wav and .ogg

#BMPxx
  Defines the picture/movie file that will be displayed when the number xx appears in the graphic channels of the main data field.

#TOTAL
  Defines how much the gauge will increase when the notes are hit appropriately.

Commands later developed that have become popular.

#SUBTITLE
  Defines the subtitle.

#SUBARTIST
  Defines the subartist.

#DIFFICULTY
  Defines difficulty of a song by color.
  1=green, 2=blue, 3=yellow, 4=red, and 5=purple
  Generally as the songs get harder, a higher number is assigned.

#STAGEFILE
  Defines picture displayed when the song is chosen to be played.

#BANNER
  Defines banner displayed when choosing the song to play.

#LNOBJ
  Notes defined to be this will act as an ending for long notes when they appear in the played channels of the main data field.

#STOPxx
  Defines period of the sequence stopping when the number xx appears in the stop channel of the main data field.

#BPMxx
  Defines what the BPM will change to when the number xx appears in the BPM channel of the main data field.

Main data field components[]

Main field data will be written in the form of #XXXYY:ZZZZZZ.
XXX defines the number of the measure, YY defines the channel, and the ZZ defines the components of the measure using 2digits 36 base.
The colon separating the definer and components is required.

Expansion of BMS format[]

As the original .bms format became outdated by the transfer of the KONAMI Beatmania series to the Beatmania IIDX series, other formats that adopted changes in the Beatmania series were developed.
Famous expansions include Be-Music Extend format (.bme) that allowed 7 lines and 1 scratch to be played, and the Be-Music Long note format (.bml) that allowed usage of long notes that required players to hold the key until the end of the note. A .pms extension also exists based on .bms, meant for simulating the game Pop'n Music and utilizing 9 lines.

Separate from the development of the file types, simulators have also been developed by fans.

The original simulator BM98 by Urao Yane supported only 256 music files and picture files to be played, and only supported 5 lanes plus one scratch per playside.[4]
Delight Delight Reduplication allowed the .bme format to be played, most significantly allowing the 7 line format similar to the KONAMI Beatmania IIDX series to be played.[5]
nazoBMplay allowed the number of sound and picture/movie files to increase by making the format 36 base instead of 16 base and with a patch allowed to play .ogg file type sounds.[6]
Currently the most widely used BMS player is Lunatic Rave 2 by lavalse that has its own online ranking website.
Other simulators after Lunatic Rave 2 with higher performances and wider freedoms of expansion exist but no other simulator was able to replace the position of Lunatic Rave 2 as the most used simulator, mostly due to compatibility to older formats and lack of an online ranking system.

bmson[]

bmson is a format based on JSON initially developed by . The original purpose of the format was to make an alternative to BMS that was easy to implement and use by developers, artists and chart creators alike. bmson has no limit on the amount of keysounds one can have in chart, unlike BMS which has a hard limit of 1296 keysounds.

After the format was proposed, the version 0.26 format was implemented to a couple of BMS players, such as Bemuse and raindrop.[7][8] After the initial implementation, the developers of these games as well as a few others worked together to create the bmson version 1.0 technical specification.[9]

See also[]

References[]

  1. ^ "BM98Data_format_specification".
  2. ^ "BMS形式".
  3. ^ "BMS command memo".
  4. ^ "BM98Data_format_specification".
  5. ^ "Archived copy". Archived from the original on 27 August 2015. Retrieved 1 September 2015.{{cite web}}: CS1 maint: archived copy as title (link)
  6. ^ "Uonazo".
  7. ^ "BMSON support and bms loader refactor · zardoru/raindrop@2d72a7d". GitHub. Retrieved 16 February 2016.
  8. ^ "bmson support landed on Bemuse - Qiita". Qiita. Retrieved 16 February 2016.
  9. ^ "Welcome to bmson-spec's documentation! — bmson-spec 1.0.0-beta documentation". bmson-spec.readthedocs.org. Retrieved 16 February 2016.

External links[]

Games dedicated for BMS format[]

Retrieved from ""