beatoraja/HDX専用BSS図表の例
“Antipode”のHYPER図表をbeatoraja専用に微修正した差分。今回は例としてBMS形式の図表も同梱したが、LR2などを徒に混乱させないようにBMSON形式の図表だけを示すほうが安全かもしれない。
余談:
元のHYPER図表やANOTHER図表は、意図的にか事故なのか元のBEGINNER図表とは微妙にrhythmが異なる。全小節全列のrhythm座標を統一的に取り扱うBMSEやBMSONの方式で算出すると、元のHYPER図表を正しく表現するために必要な小節分解能は6970656
(BMSON形式の拍分解能換算で1742664
)、元のANOTHER図表が要求する小節分解能は195832512839968804800
となる。元のBEGINNER図表は小節分解能96
(BMSON換算24
)が最低限必要であり、分解能192のBMSEでもrhythmを改竄なしで編集できる(ただしBMSEではBGM列数が足りず音抜けが生じる)。元の図表の#WAV7U
が未使用かつarchiveに含まれていなかったり、元のNORMAL図表#025
の#WAV81
が他の図表とずれていたりして、どの図表を基準とするべきかよくわからないところがあるが、差分作成用のbaseとして最も無難そうに見えたBEGINNER図表に今回は合わせた。
beatoraja/HDX専用BSSをbeatorajaで演奏する際、終端側のnoteは明示的に逆回転を入力する必要がある。疑似BSSならいわゆる押し押し(同方向へのturntable device二回入力)やShift key連打などでも判定されたかもしれないが、専用BSSの場合それらの入力はmissとなる可能性が高い。beatmaniaIIDX専用controllerなら逆回転は問題なく入力できるが、PC keyboardで遊んでいる人は複数keysの入力を強いられるので最初は戸惑うかもしれない。事前に選曲画面を経由してkeyconfigを行い、scratchを複数keysに割り当てておくとよいでしょう。
現在は既に修正されているが、“Teunim”の24 keys/48 keys図表がbeatorajaの曲更新を不可能にしていたらしかった。修正前の現物をいただけたので調べてみたが、"bpm_events"
配下に"bpm": 0
のeventが一個でも含まれていると、
(Log)
11月 12, 2021 7:45:48 午後 bms.player.beatoraja.MainController$SystemSoundManager <init>
情報: 検出されたBGM Set : 1 Sound Set : 1
java.lang.RuntimeException: Wait timed out
at com.portaudio.BlockingStream.writeFloats(Native Method)
at com.portaudio.BlockingStream.write(BlockingStream.java:119)
at bms.player.beatoraja.audio.PortAudioDriver.run(Unknown Source)
at java.base/java.lang.Thread.run(Thread.java:831)
[Controllers] added manager for application, 1 managers active
11月 12, 2021 7:45:49 午後 bms.player.beatoraja.audio.AbstractAudioDriver setModel
情報: 音源ファイル読み込み開始。
Exception in thread "LWJGL Application" java.lang.NegativeArraySizeException: -1511826
at bms.player.beatoraja.song.SongInformation.<init>(Unknown Source)
at bms.player.beatoraja.song.SongData.setBMSModel(Unknown Source)
at bms.player.beatoraja.song.SongData.<init>(Unknown Source)
at bms.player.beatoraja.PlayerResource.setBMSFile(Unknown Source)
at bms.player.beatoraja.MainController.create(Unknown Source)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:150)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:127)
11月 12, 2021 7:45:49 午後 bms.player.beatoraja.audio.AbstractAudioDriver setModel
情報: 音源ファイル読み込み完了。音源数:11
11月 12, 2021 7:45:49 午後 bms.player.beatoraja.audio.AbstractAudioDriver setModel
情報: AudioCache容量 : 8 開放 : 0
11月 12, 2021 7:45:49 午後 bms.player.beatoraja.external.BMSSearchAccessor read
重大: BMS Search更新中の例外:Error parsing JSON on line 2 near: IC "-//IETF//DTD HTML 2.0//EN">
*ERROR*<html><head>
<title>301 Moved Permanently</title>
</head><body>
11月 12, 2021 7:45:49 午後 bms.player.beatoraja.play.bga.BGAProcessor setModel
情報: BGAファイル読み込み完了。BGA数:122
_
BMS parsing中に例外が発生し、以降もcommand lineが停止しないっぽい(これはBMSON形式のみで生じる問題で、BMS形式の拡張BPM変更で値0
の定義を参照した場合は特に何事もなく演奏が進行する)。
なぜこんな変換結果になっているのだろう? これらはμBMSC私家版3.5.0.2の24 keys用themeを介して作成・変換された図表のように見えるが、私が変換を試したときは(wheel列の変換結果が狂ったことを除けば)こんな誤変換は生じなかったように記憶している……