| Name | base BMS | Requirements | LR2 | nanasi | fgt++ | ruvit | nazo | pomu2 | uBM | PMSee-V | bmx2wav |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Sofa $15 -> $1 / sta (Video: sm4809390) | - | #RANDOM 246 |
○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| 負数BPM スクロール逆流 | ○特例 | 無視 | ○ | ○ | ○ | 無視 | ○ | ○ | 独自解釈 | ||
| 分解能 4032 (*1) | ○ | △a | △b | ○ | × | ○ | ○ | ○ | ○ | ||
改行コード CRLF+LF (#if 52) |
×? | ○? | ○? | ○? | ○? | ○? | ○ | △? | ○ | ||
| データ文字列長が奇数の行 (*2) | 末尾- | 末尾+ | 末尾+ | 末尾- | 末尾- | 末尾- | 末尾- | 末尾- | 行- | ||
#PLAYER 1で2P側にもオブジェ |
ch次第 | ch次第 | funny | DP化 | ◎ | ch次第 | DP化 | ch22-25 | 問わない | ||
| 譜面末尾が改行で終わってない | ○ | ○ | ○ | × | × | ○ | ○ | ○? | ○ | ||
#000 の演奏オブジェへの配慮 (*9) |
○ | ○ | △ | ○ | × | △ | × | ○ | 無関係 | ||
| オートメーション工場 / sta (パッチ差分) | - | headerも括る大量の#random (*3) |
○ | ×落 | ○ | ○ | △ | ○ | ○ | × | ○ |
定義ミスura_63..wavも鳴らす |
× | × | × | × | × | × | ○ | × | × | ||
μ-law (crash_00.wav) |
○ | × | △ | ○ | × | ○ | ○ | ×落 | × | ||
入れ子#random (347781-409539) |
× | ○ | × | × | × | ○ | ○(*10) | × | × | ||
| U9 / futher (Video: sm9091918) | L9 / paraoka | #RANDOM 6 (exBPM 6種類) |
○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| 負数BPM スクロール逆流 (if 3) | ○特例 | 無視 | ○ | ○ | ○ | 無視 | ○ | ○ | 独自解釈 | ||
| スクロールオブジェの精度 | ○ | △? | × | ○ | × | △ | ○ | ○ | ○ | ||
STOP 空定義 (#05209: のFD) |
無視 | 無視 | 無視 | 無視 | 無視 | ∞停止 | 無視 | 無視 | 変換中止 | ||
| L / (^^) (Video: sm5406031) (パッチ差分) | L9 / paraoka | #RANDOM 3通りの分岐が計101回 |
○ | ×落 | ○ | ○ | △? | ×? | ○ | ○ | ○ |
| 空分岐 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ||
| 分解能 192000 (*4) | △? | ×? | × | × | × | × | ◎ | △(96000) | △(9600) | ||
| L9999999999999^99999999999 / (^^) (Video: sm5089672) | L9 / paraoka | 分解能 1536 (*5) | ○ | △? | △? | ○? | △? | ×? | ○ | ○ | ○ |
| スクロールオブジェの精度 | ○ | △? | × | ○? | × | △? | ○ | ○ | ○ | ||
| 糞mt / (^^) (エッセンス抽出差分) | klimt / judithz | ch17 (FreeZone) | △(*6) | ○ | × | × | × | ○ | × | ○ | ○ |
| ninth -forbidden story- / sta ("(^^)"用に移植した差分[1]) | ninth / sta | parserに変なもの突っ込みまくり | TN1305 | 847 | 935 | 853 | 1303 | 790 | 1169 | 1225 | - |
+ch17 (FreeZone) #004 |
△ | ○ | × | × | × | ○ | × | ○ | ○ | ||
| 非Shift_JISのバイナリコード混入 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||
| 「韓国」について / sta ("(^^)"用に移植した差分[2]) | ninth / sta | データ文字列長が奇数の行 | 末尾- | 末尾+ | 末尾+ | 末尾- | 末尾- | 末尾- | 末尾- | 末尾- | 行- |
| 演奏オブジェ数 487629? | ×? | × | × | ×? | △? | × | ○? | × | ○? | ||
| 内部オブジェ数 648943? | |||||||||||
| parserに変なもの突っ込みまくり | |||||||||||
| 素粒子レベルの分解能 (*7) | 丸め? | (15360) | |||||||||
| Mokugyo AllCenturyMIX (longLONG) / sta | 木魚 / HIROHIO | #001-999 [BPM 4][小節長256] | ×? | ×? | ×落 | ○? | ×? | ×? | ○? | ×? | ×当然 |
| 演奏時間177日14時間24分弱(*8) | × | ○? |
'○' は期待通りに動作する
'△' は部分的には動作する
'×' は期待通りに動かない
'?' は'特に'よくわからなかった項目
TN = Total Notes (演奏オブジェ数)
PCスペックに左右される部分とか把握してないし, 信用しないでね
○×は必ずしも性能の良し悪しを指しているわけではありません (たとえば (*9) などを参照)
この譜面で分解能が最大になる分岐 (最も細かいリズムが指定されている分岐) は, #IF 183 (& ほか数ルート)
#IF 183 には、小節長1を448等分している小節と、小節長1を288等分している小節がともに存在する
したがってこの分岐全体で要求されるリズム解像度 (配列数) は, 448 & 288 の最小公倍数 = 4032
ちなみに, 小節長1を25等分する分岐も存在する (#IF 186 ほか)
#IF 183(演奏オブジェ総数2720)を正常に解釈できる#00111:01020 というデータ文があったとき,
合計で 6177 回も #RANDOM n が出てくる
#RANDOM statements Limit < 1192)#RANDOM を #ENDRANDOM で閉じる必要がある (でないと48個連続した時点で強制終了する)小節長0.01の160等分(#996-), 小節長0.005の192等分(#019-), つまり16000と38400の最小公倍数192000が必要
小節長0.5 の192等分(#017-), 小節長0.375の192等分(#018-), つまり384と512の最小公倍数1536が必要
一律192分配置なので中身は把握しやすい
LR2 は譜面拡張子をpmsに変更すれば, ch17/27のオブジェも計上可能
小節長0.9を 1544.5/210/1485.5/810.5/971.5/972/865/1173/858/1093/811/1047.5/1024/256 等分してたり宇宙
木魚は低スペックPCでは起動すらできず完走確認も不能. LR2/pomu2 はギガ単位ページフォルト祭り
LR2 の再生可能限界時間は約7日19時間弱?
#000小節1拍目から演奏オブジェが存在した場合, 空小節を挿入するなどの配慮がないと対処不能
ただしもちろん, 演出として意図的に#000から演奏オブジェを配置する場合もある
○は#000の前に, 4/4拍子1小節分の余白を挿入
fgt++は任意キー押下を待ってからスクロール開始 (ただし#000のみで終わる譜面はバグる)
pomu2は'Are you ready?'と一拍待ってからスクロール開始 (ただし譜面表示時点から入力を判定してしまう)
uBMplay はnazoの挙動を忠実に踏襲
bmx2wav は
[1.0.8pre] fix#000の1拍目オブジェ1個のみで終わる譜面は"有効な音声オブジェ無し"とみなされ変換不能
uBMplay 1.5.0 にて入れ子に再対応したため、譜面を正しく再生できるようになった (1.4.6 以前は入れ子を外すので不正確)
#RANDOM の入れ子の項目を追加#000 先頭の演奏オブジェが解釈されるようになってたので反映#000配慮を追加, 空分岐を追加, 表現や○×などの些細な修正