맨위로가기

Be-Music Script

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Be-Music Script(BMS)는 노트 배치와 플레이어의 동작에 따른 게임 반응을 설명하는 텍스트 파일 형식이다. BMS 파일은 헤더 필드와 메인 데이터 필드로 구성되며, # 문자로 시작하는 지시어 라인으로 구성된다. BMS는 악보를 정의하는 파일로, 배경 음악, 효과음, 영상 등에 사용되는 파일을 포함한다. BMS는 다양한 확장 포맷을 가지고 있으며, BMSON은 JSON 기반의 새로운 형식이다. BMS는 BM98을 시작으로 다양한 구동기를 통해 구동되며, BMS 이벤트 형식으로 배포되어 BMS 문화가 형성되었다.

2. 포맷

BMS는 텍스트 기반의 스크립트 파일로, 노트 배치, 배경 음악, 이미지, 동영상 등을 정의한다. BMS 포맷의 종류는 다음과 같다.

포맷 종류
BMSBMEBMLPMSBMSON
특징기존 포맷7키 포맷롱노트 추가9키 포맷JSON을 기반으로 한 포맷



비트매니아비트매니아 IIDX 시리즈와 유사하게, 게임의 목적은 화면 상단에서 내려오는 노트를 맞춰 치는 것이다. 일반 노트 외에도, 잡고 있어야 하는 롱 노트와 맞으면 폭발하여 게이지를 감소시키는 지뢰 노트가 있다.[14]

2. 1. 기본 포맷

BMS 파일은 노트의 배치와 게임의 반응을 설명하는 텍스트 파일이다. `#` 문자로 시작하는 "지시어" 라인으로 구성되며, `#`[정의 설정자] [정의자]` 형식을 따른다. 정의 설정자와 정의자 사이에는 공백이 필요하다.

BMS 파일은 크게 헤더 필드와 메인 데이터 필드로 나뉜다.

  • 헤더 필드: `#PLAYER`, `#GENRE`, `#TITLE`, `#ARTIST`, `#BPM`, `#PLAYLEVEL` 등 곡의 기본 정보를 정의한다.
  • 메인 데이터 필드: `#XXXYY:ZZZZZZ` 형식으로 노트 배치, 배경 음악 재생, 이미지 출력 등을 정의한다.
  • `XXX`: 마디 번호 (000-999)
  • `YY`: 채널
  • `ZZ`: 36진법을 사용한 마디 구성 요소


아래는 BMS 파일을 텍스트 편집기로 열었을 때의 간단한 예시이다.

```

  • ---------------------- HEADER FIELD

#PLAYER 1

#GENRE Sample

#TITLE Sample

#ARTIST Sample

#BPM 120

#PLAYLEVEL 5

#RANK 2

#bmp00 miss.bmp

#bmp01 1.bmp

#wav01 1.wav

  • ---------------------- MAIN DATA FIELD

#00111:01010101 // 제1소절의 1키에 #WAV01을 4분 음표 단위로 배치

#00211:0101010001010100 // 제2소절의 1키에 #WAV01을 8분 3연음 + 8분 쉼표 × 2 배치

```

이 예시에서 `#WAV01`은 재생할 WAVE 파일을, `#bmp01`은 표시할 비트맵 파일을 나타낸다. `#00111:01010101`는 첫 번째 마디의 1번 키에 `#WAV01` 소리를 4분 음표 간격으로 배치한다는 의미이다.

BMS는 기본적으로 "BMS 파일", "WAVE 파일" 또는 "MIDI 파일", "비트맵 이미지 파일"로 구성된다.[14]

2. 1. 1. 헤더 명령어

BM98에서 처음 등장하여 오리지널 BMS 데이터에서 사용된 명령어는 다음과 같다.[3][4]

명령어 이름설명
`#PLAYER`플레이어 수를 정의한다. 1은 싱글 플레이, 2는 커플 플레이, 3은 더블 플레이를 뜻한다. 최신 BMS 시뮬레이터는 `#PLAYER` 명령어에 의존하지 않고, 파일 확장자와 메인 데이터 필드에서 사용되는 지시 라인으로 플레이 스타일을 정의한다.
`#GENRE`장르를 정의한다.
`#TITLE`곡 제목을 정의한다.
`#ARTIST`아티스트를 정의한다.
`#BPM`곡의 속도를 분당 비트 수(BPM)로 정의한다.
`#PLAYLEVEL`곡의 난이도 레벨을 정의한다.
`#RANK`노트 타이밍의 엄격한 정도를 정의한다. 0은 매우 어려움, 1은 어려움, 2는 보통, 3은 쉬움을 뜻하며, 시뮬레이터에서 다르게 설정하지 않는 한 이 값을 따른다.
`#WAVxx`메인 데이터 필드의 재생 채널과 사운드 채널에서 숫자 `xx`가 나타날 때 재생되는 음악 파일을 정의한다. BMS에서 가장 일반적으로 사용되는 음악 파일 유형은 WAVOGG이다. `#WAV00`은 마인 노트를 칠 때 재생되는 사운드를 설정한다.
`#BMPxx`메인 데이터 필드의 그래픽 채널에서 숫자 `xx`가 나타날 때 표시될 그림 또는 비디오 파일을 정의한다.
`#TOTAL`노트가 적절하게 맞춰졌을 때 게이지가 얼마나 증가할지를 정의한다.
`#LNOBJ`이 매개변수로 정의된 노트는 메인 데이터 필드의 재생 채널에 나타날 때 롱 노트의 종료 지점으로 작용한다.


2. 1. 2. 채널

Be-Music Script|비-뮤직 스크립트영어에서 채널은 `#XXXYY:ZZZZZZ` 형식으로 작성된다. 여기서 XXX는 마디 번호를, YY는 채널을, ZZ는 36진법 두 자리 숫자를 사용하여 마디의 구성 요소를 정의한다. 정의자와 구성 요소를 구분하는 콜론(:)은 필수이다.[14]

각 채널 번호에 따라 다음과 같은 역할을 한다:

채널 번호역할
01BGM으로 재생할 WAVE 파일을 지정한다.
02마디 단축(10진/부동 소수점)
03BPM 변경(16진수)
04BGA의 이미지 파일 전환
05확장 오브젝트 (Extended Object)
06Poor 시의 BGA를 지정
11-171P 측의 연주 오브젝트 (11-15는 건반, 16은 스크래치, 17은 프리존)
21-272P 측의 연주 오브젝트 (1P 측과 동일)
31-361P 측의 비가시 오브젝트
41-462P 측의 비가시 오브젝트



비트매니아 III나 EZ2DJ와 같이 5개의 건반과 턴테이블, 풋 페달을 사용하는 형식, O2Jam이나 DJMAX 온라인의 7키를 재현한 형식 등 다양한 형식이 존재한다.

2. 2. 확장 포맷

BMS는 여러 확장 포맷을 가지고 있으며, 각 포맷은 특정 게임의 특징을 반영하여 만들어졌다.

확장 포맷 종류
포맷특징대응 게임 (예시)
BME7키 + 턴테이블 지원beatmania IIDX
BML롱노트 추가KEYBOARDMANIA
PMS9키 지원pop'n music
BMSONJSON 기반, 키 사운드 수 제한 없음beatoraja

[15][16][17][18]

BMSON은 wosderge가 개발한 JSON 기반의 새로운 포맷이다.[8] 기존 BMS 포맷은 키 사운드 수에 제한이 있었지만, BMSON은 이러한 제한이 없다.[9] beatoraja 등의 플레이어에서 지원하며, BMS에서 BMSON으로 변환하는 도구도 출시되었다.

3. 구동기

Be-Music Script 구동기는 다음과 같다.

국가구동기설명
대한민국MixWaver대한민국 최초의 BMS 구동기이다.[1]
대한민국Ruv-it!Nvyu가 제작한 Rhythm-it의 후속 구동기이다.[3]
일본BM98 Kikuchan Version Drink Edition우라오 야네가 일본에서 고안한 세계 최초의 BMS 구동기이다.[1]
일본LunaticRave 2비트매니아 IIDX와 가장 흡사하며, 일본에서 가장 많이 쓰이는 구동기이다.[1]
일본beatoraja풀 HD, 120fps 지원 등 현대 환경에 맞는 기능을 탑재하고 있다.[1]
일본ななしグルーヴNazo Player, Lunatic Rave와 더불어 일본에서 많이 쓰이는 구동기이다.[1]
중국O2ManiaO2JAM을 개조해서 만들었기 때문에 불법으로 간주되어 공개되지 않고 있다.[1]
중국Synth'n디제이맥스 온라인을 개조해서 만들었기 때문에 불법으로 간주되어 공개되지 않고 있다.[2]
unofficial nazobmplay
Delight Delight Reduplication
bemaniaDX
ふぃーりんぐぽみゅ せかんど
おたま
StepMania
DTXMania


3. 1. 대한민국


  • '''MixWaver'''[1]

: 대한민국 최초의 BMS 구동기이다. Puzzle 모드와 같은 여러 기능이 있다.

  • '''Rhythm-it'''[2]

: 대한민국에서 Nvyu가 제작한 구동기이다. 현재는 개발을 중단하고 인터넷 랭킹만 지원한다.

  • '''Ruv-it'''[3]

: Nvyu가 제작 중인 Rhythm-It의 후속 구동기이다. 현재 베타 버전이 있으며, 베타 버전에서 일부 버그 제보를 받고 있다. 현재 인터넷 랭킹도 지원한다.

  • '''Whistle'''[4]

: 대한민국에서 만들어진 아케이드 게임인 EZ2DJ의 기능을 모방하여 만든 구동기이다. 점수 계산 체계가 EZ2DJ의 계산 방법과 같지만, 0.72 버전은 불법으로 간주되어 일부 사람들에게 회피되고 있다. 알 수 없는 이유로 인해 더 이상 개발을 하고 있지 않다.

3. 2. 일본

BM98은 우라오 야네가 일본에서 고안한 세계 최초의 BMS 구동기이다.[1] Nazo Player는 일본에서 상당히 많이 쓰이는 BMS 구동기이지만, 대한민국에는 별로 알려지지 않았다.[1] Lunatic Rave (1, 2 Beta, 2 Beta 2.5, 2 Beta 3)는 현존하는 구동기 중 비트매니아 IIDX와 가장 흡사하며, 일본에서 가장 많이 쓰이는 구동기이다.[1] 대한민국에도 많이 알려져 있으며, Lunatic Rave 2 Beta 3부터는 인터넷 랭킹 및 코스 플레이 등을 지원한다.[1] nanasigroove (ナナシグルーヴ)는 Nazo Player, Lunatic Rave와 더불어 일본에서 많이 쓰이는 구동기이다.[1] beatoraja는 풀 HD, 120fps 지원 등 현대 환경에 맞는 기능을 탑재하고 있다.[1]

다음은 일본에서 개발되었거나 많이 사용되는 BMS 구동기 목록이다.

구동기 이름설명
BM98 Kikuchan Version Drink Edition
MixWaver
unofficial nazobmplay
Delight Delight Reduplication
bemaniaDX
LunaticRave 2
beatoraja
ふぃーりんぐぽみゅ せかんど
ななしグルーヴ
おたま


3. 3. 그 외

O2Mania는 중국에서 만든 구동기로, O2JAM을 개조해서 만들었기 때문에 불법으로 간주되어 공개되지 않고 있다.[1] Synth'n 역시 중국에서 제작된 구동기로, 대한민국 온라인 게임 디제이맥스 온라인을 개조해서 만든 구동기이다. 역시 불법으로 간주되어 공개되지 않고 있다.[2]

  • BM98 Kikuchan Version Drink Edition (구: BM98, BM98 Kikuchan Version)
  • MixWaver (구: MixWaver)
  • unofficial nazobmplay (구: nazobmplay)
  • Delight Delight Reduplication
  • bemaniaDX
  • Ruv-it! (구: Rhythm-it, rub-y!)
  • LunaticRave 2 (구: LunaticRave, LunaticRave NEXTWAVE -endless music-)
  • beatoraja
  • ふぃーりんぐぽみゅ せかんど (구: ふぃーりんぐぽみゅ)
  • ななしグルーヴ (구: 名無しBMSプレイヤ)
  • おたま
  • StepMania
  • DTXMania

4. BMS 문화

BMS는 1990년대 후반부터 일본에서 발전한 독특한 리듬 게임 문화이다. "Be-Music Script"의 약자로, 플레이어가 음악에 맞춰 키보드나 컨트롤러를 조작하는 방식으로 진행된다.

BMS 문화는 단순히 게임을 즐기는 것을 넘어, 창작과 공유의 측면을 강조한다. 아마추어 작곡가들이 직접 만든 BMS 파일을 온라인에 공개하고, 다른 플레이어들이 이를 다운로드하여 플레이하는 것이 일반적이다.[2] 이러한 자유로운 창작 환경은 다양한 장르와 스타일의 BMS 파일이 등장하는 기반이 되었다.

4. 1. BMS 이벤트

현재 대부분의 BMS 파일은 여러 아티스트가 곡을 발표하고 점수를 겨루는 BMS 이벤트 형식으로 배포된다.[2] 2004년부터 개최된 최대 규모의 BMS 이벤트는 AOiRO_MANBOW가 주최하는 BMS of Fighters (BOF)로, 매년 250곡 이상이 출품된다.[2]

4. 2. 키음 없음 BMS

BGM에 한 곡 전체가 담긴 음악 파일만 지정하고, BGM에 맞춰 무음 오브젝트만 배치한 BMS 파일을 '''키음 없음 BMS'''라고 부르며, 다음과 같은 문제점이 있다.

  • 시판 CD를 그대로 리핑한 것을 BGM으로 사용하는 등, 위법성이 높은 경우가 있다.
  • 키를 누르는 타이밍의 성공 여부와 관계없이 처음부터 완성된 BGM이 흘러나오므로 연주감이 없다.
  • BMS라는 형식 자체는 원래 연주하는 것을 전제로 만들어졌다.


따라서 이러한 BMS는 평가 이벤트에 게시하는 것이 금지되거나, BMS 플레이어 중 하나인 LunaticRave에서는 사용이 금지되어 IR(인터넷 랭킹)에 등록할 수 없게 되는 등[29], 사용이 자제되는 경향이 보인다.

5. 역사

1998년 6월, 야네우라오에 의해 BM98이 배포되었다. 초기에는 J-Pop, 게임 음악, 미디 음원의 복사 및 편곡 등이 중심이었지만, DAI의 Rainy Heart 등 오리지널 악곡도 제작되었다. 8월에 야네우라오는 BM98의 개발 및 배포를 중지했지만, 키쿠짱이 이를 이어받아 개발, 배포를 계속했다.[30]

1999년에는 7개의 건반에 대응하는 Flash Terminal이 등장했다. 2000년 1월에는 Delight Delight Reduplication Ver.0.3에서 .bme 확장자가 사용되기 시작했다.[30]

1999년, BMS 리뷰 사이트가 등장, 오리지널 악곡을 다루는 Club Stubborn(2002년 7월 폐쇄)과 복사/편곡 악곡을 다루는 Re-Rise(2003년 6월 폐쇄)가 개설되어 악곡 제작이 활성화되었다. 이곳에서 활동했던 작곡가들은 후에 동인 CD 제작, 본가 음악 게임이나 다른 게임에 악곡을 제공했다.[30]

2002년 8월, BM98의 개발이 종료되었다. 이후 BMS 리뷰 사이트가 몇 개 개설되었지만, 과거만큼 활발하지 못했다. 그러던 중, 2004년 8월에 BMS OF FIGHTERS 2004(통칭: BOF)가 개최되었다. 이후 이벤트 사이트가 잇따라 등장하며 다시 활기를 띠게 되었다.[30]

또한, 糞譜面(쿠소후멘, 쓰레기 악보), 발광 BMS라는 고난이도 악보도 등장한다. 2003년에는 nazobmplay의 인터넷 랭킹이 시험적으로 시작되었고, 인터넷 랭킹 활성화에 따라 고난이도 악보의 인기도 증가했다. 이후 2006년부터 공개된 Lunatic Rave나 2008년부터 공개된 Ruv-it!도 인터넷 랭킹 기능을 추가했다.[30]

BMS 포맷은 지속적으로 확장되었다. 2004년에는 Ogg Vorbis에 대응, 2005년에는 지뢰 추가, 2006년에는 Lunatic Rave에서 #BMP에 동영상 파일 지정을 할 수 있게 되었다.[30]

2016년 개발된 beatoraja는 풀 HD·120fps 대응 등 현대 환경에 맞는 다수의 기능이 탑재되어, 사실상 개발이 중단된 LR2를 대체하는 존재 중 하나로 여겨지고 있다.[30]

2021년 현재 BOF 등 정기적인 이벤트는 계속 진행되어 일정한 인기를 얻고 있으며, 다수의 신곡과 함께 개최되고 있다. 한편 '발광 난이도표'(발광 BMS)는 사실상 업데이트가 중단되었으며, Stella/Satellite 난이도표와 같은 새로운 형식의 고난이도 악보가 등장하고 있다.[30]

참조

[1] 웹사이트 BM98Data_format_specification http://bm98.yaneu.co[...]
[2] 웹사이트 Beginner's Guide to THE BMS OF FIGHTERS https://keysounds.ne[...] 2023-11-23
[3] 웹사이트 BMS形式 http://www.charatsof[...]
[4] 웹사이트 BMS command memo http://hitkey.nekoka[...]
[5] 웹사이트 BM98Data_format_specification http://bm98.yaneu.co[...]
[6] 웹사이트 Delight Delight Reduplication Support Page https://web.archive.[...] 2015-09-01
[7] 웹사이트 Uonazo http://manbow.nothin[...]
[8] 웹사이트 BMSON support and bms loader refactor · zardoru/raindrop@2d72a7d https://github.com/z[...] 2016-02-16
[9] 웹사이트 bmson support landed on Bemuse - Qiita http://qiita.com/dti[...] 2016-02-16
[10] 웹사이트 Welcome to bmson-spec's documentation! — bmson-spec 1.0.0-beta documentation http://bmson-spec.re[...] 2016-02-16
[11] 문서 BMS Format Specification http://bm98.yaneu.co[...]
[12] 문서 磯崎元洋(いそざき もとひろ)
[13] 문서 今後のBM98活動のあり方について http://bm98.yaneu.co[...]
[14] 문서 BM98 ver.3.18のヘルプファイルより
[15] 문서 BMEX Project https://web.archive.[...]
[16] 문서 藤井智弘が考案した『FlashTermial』用の7Key方式でうらみが考案したProjectIIDX方式(BM98で7鍵盤とスクラッチを実現するために#PLAYER 3とチャンネル11-16、21、22、31-36、41、42を使用)は含まない。
[17] 문서 NvyUが考案したRDMタイプ2方式(#LNOBJ)で、NvyUが考案したRDMタイプ1方式(#LNTYPE 1)やquestが考案したMGQ方式(#LNTYPE 2)は含まない。
[18] 문서 猫実が考案した『ふぃーりんぐぽみゅ』用の9Key方式で、PMS形式が定義された当初(初代ふぃーりんぐぽみゅ)は、かわうそが考案したポップン化計画方式(BM98で9ボタンを実現するために#PLAYER 3とチャンネル11-15、22-25、31-35、42-45を使用)(BMS-DP)が採用されていたが、ふぃーりんぐぽみゅせかんどで、チャンネルx1-x9を使用する方式(BME-SP、BME-DP)が追加された。なお、[[pop'n stage]]のような10フットパネル用譜面データも以前は定義されており、同じくポップン化計画方式(BM98で10フットパネルを実現するために#PLAYER 3とチャンネルx1-x5を使用)(BMS-DP)が採用されていたが、ふぃーりんぐぽみゅせかんどで削除された。
[19] 문서 MacBeat独自拡張「MODもどき」規格表 https://web.archive.[...]
[20] 문서 後述のフォーマットとはオブジェクトのチャンネルナンバーが異なり互換性はない。
[21] 문서 初代SESSION STREAMのみ。SESSION STREAM2からはBMSとは無関係の独自仕様を採用するようになった。
[22] 문서 ふぃーりんぐぽみゅのPMSとは異なる形式である
[23] 문서 BMEX Project https://web.archive.[...]
[24] 문서 旧BMS WIKI https://web.archive.[...]
[25] 문서 Toy Musical 3に同梱のナナシグルーヴ2はn2s形式とい独自仕様を使用しているがBM3との関連は不明である。
[26] 문서 XBMSプロジェクト https://sites.google[...]
[27] 문서 BMS 2.0스크립트 https://hitkey.nekok[...]
[28] 문서 beat arranger infomation https://web.archive.[...]
[29] 문서 『LunaticRave』の後継ソフトである『LunaticRave2』では、1分を超える音声ファイルが存在するBMSはIRに登録できない。
[30] 문서 BGAに動画を使用すること自体は以前よりbemania DXの#VIDEO FILEで可能であったが、当時のPCスペックが低く普及しなかったこと、また、#BMPに指定した方が簡単であるなどの理由でこちらが普及



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com