#STOP
sequenceに関する備忘録
iBMSC#STOP
#STOP
1
とした場合の比」として扱います(⁴⁄₄拍子1小節の長さを基準値1
とする小節長のように)。#STOP
#STOP01 0.57142857142857142857142857142857142857142857142857
前述の停止時間は「192分音符の⁴⁄₇の長さ」、すなわち336分音符1個分とみなすことができます。このような微小な値はたとえば、#STOP
sequenceを敷き詰めることによって#BPM
を変えずにscrollingを遅らせる、いわゆるsleep()
前述のBMS図表例に現れるrhythmは、336
をそのままBMSON形式に変換すると、変換後の図表からは拡張の余地が失われます。拍分解能84
の環境では、
Grid | 4 |
7 |
8 |
12 |
14 |
16 |
24 |
|
48 |
56 |
|
84 |
112 |
168 |
|
336 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pulse | 84 |
48 |
42 |
28 |
24 |
21 |
14 |
|
7 |
6 |
|
4 |
3 |
2 |
|
1 |
このような理由から、lcm(192, 336)
32
・64
・192
を選んでも問題なくnotesを書き込める、という意味です)。
書き忘れ追記
以下のBMSは小節分解能1
であるにもかかわらず、
#TITLE not divided, but…
#BPM 140
#WAV01 kick.wav
#STOP01 0.57142857142857142857142857142857142857142857142857
#00109:01
#00111:01
BMSONizeする際は、拍分解能336
が必要です(Grid 192を確保しつつ、停止時間336
分音符を表すため)。
{
"info": {"init_bpm": 140, "resolution": 336, "title": "not divided, but…"},
"lines": [{"y": 1344}, {"y": 2688}],
"sound_channels": [{"name": "kick.wav", "notes": [{"x": 1, "y": 1344}]}],
"stop_events": [{"duration": 4, "y": 1344}],
"version": "1.0.0"
}