doubledepth

睡眠障害に悩まされる

これは正式な病名ではないけれど睡眠導入時無呼吸症候群みたいな感じ。意識を眠りに落とす際、通常は呼吸をだんだんゆっくり深くしていくが、このごろの私は呼気を吐ききった状態からなぜか何秒間も次の息を吸えなくなる状況に何度か陥って、このとき自分の意識はまだぎりぎり残っているのでものすごく恐ろしい。寝入りばなに自覚される無呼吸状態があるということは、寝ているときも同様の症状が発生している可能性がありそう。日中やたら眠たいのは梅雨による気鬱だろうと思っていたけど、全然違う理由だったかもしれない。

BMX2WAV 1.ZZ.02

Windows環境変数が各所で展開されるようになった。使い方次第ではBMX2WAVを持ち運びやすくなるかも(私には使いこなせそうにないけど)。↓使える変数が増えたのが地味にありがたかった。

  • 出力ファイル指定テンプレート」に@@bmx2wav_directory@@\@@input_bms_basename_auto_extension_change@@を指定。
  • 適当な場所にflac.exeを置いて、「後処理」tabの「実行ファイル」欄にそのfull pathを指定。
  • 「後処理」tabの「実行時引数」欄に--best "@@output_file_path@@"を指定。

↑先日の例も@@bmx2wav_directory@@\を足しただけで全部うまくいくようになった。

  • 全般tabの「ログファルのパス」は脱字だった。
  • 音声tabの「標本廃棄」は誤字、に見えたけど、意味は「少ない」で正しいっぽい。

Toy Musical 3でガレキNとレディオウェイヴディヂタルハードコアNをFULLCOMBOできた。前者は音声をMUTEして自分の打鍵音だけでrhythmを覚えたら一発でつながった。後者は普通に覚えた。

今でも覚えてるけどサニーデーストロールEX、同時押しが効かない環境で既定のkeyconfigでC判定しか取れず、EX譜面全般をnot for meとして数年間放置するも、一部の楽曲を解禁するためにしぶしぶkeyconfigを変更したらいきなりSSS判定でFULLCOMBOできて、なんか、うん。

ohenge henge

ちょっと足りなくてフォルダ指定からの再帰的に BMS ファイルを探すのはまだですね。

あ〜っそうでしたすみません。まあ他所で列挙した結果をBMX2WAVにdropすればそれっぽいことができたりもするので、せっかちさんにはEverythingとかをお勧めしてみます。

もう基本的には 64bit だけで良いんじゃ無いかなーと。同梱にするとスクリプトファイル等もあるので煩雑になってしまうかなと。32 bit が欲しくなるような場面てありましたっけ?

2014年頃ならいざ知らず、この2020年に32-bit Executableが必要な場面というのは、すくなくとも私には思い浮かびません。特にPC Gamers層ならほぼ64-bit環境とみなせそうです(2020年5月の32-bit Steam usersの割合は全体の0.54 %)。最近のBMS関連appsでいうとQMS-playerやmBMplayが64-bit版と32-bit版を別々に配布していましたが、QMS-playerのx86版はVer 0.940までで終了した模様。

プログラマからすると実行時の作業フォルダからのパスってのは普通なんだけども通常のユーザの感覚や実用上でどうあるべきなのかなと。

はい、私にとってもそれが自然な感覚だったので、最初は出力先にも後処理器にもfull pathを指定し、それでうまくいきました。次に「※ 出力 WAV ファイルは @@output_file_path@@ で指定できます。」とあったのを以下の条件で試してみました。

  • 出力ファイル指定テンプレート」に@@input_bms_basename_auto_extension_change@@を指定。
  • 後処理器に「BMX2WAVとは異なる場所に置いたflac.exe」のfull pathを指定。
  • 後処理の引数に--best "@@output_file_path@@"を指定。

@@output_file_path@@が「bmx2wav.exeのcurrent directory内に出力された変換済WAV file」のfull pathに置き換えられるかな〜と私は素朴に期待しましたが、もちろんそうはなりませんでした。この結果から「なるほど、ここは『出力ファイル指定テンプレート』の値を素通ししているのだな」と納得し、私は先日の日記を書きました。これが「通常のユーザの感覚」なのか自分ではわかりません。

またpath入力枠内に指定したWindows環境変数が展開されないのも一般的な挙動だと思われます。これはたとえばBMSEなども同様ですし、filer appsのaddress barと同じ挙動を期待するuserが非常識といいますか、そもそも%USERPROFILE%という名前のfolderを普通に作れるWindows自体が難しすぎ。Windowsにおけるファイルコピーに関する驚くほど複雑な注意点」とか、あっ私むりってなる。

最大分解能 : 192; Bar Number : 16 ってあったら、#016 がその最大分解能になった最初の小節という事ですね。

あ〜っそのSEMICOLONは英語の約物みたいな意味でしたか、これはしたり。手元で確認したところ、確かに分解能はそのようになっていました。


BMSパッケージ企画「ゆるゆる」” Phase 8の“morning 06”、BEGINNER譜面だけ#044が他と違う。

BMX2WAV 1.ZZ.01

今回の版でBMX2WAVは旧1.3系と同等以上の機能的特徴を備えるようになった。たとえばBMS filesの複数一括変換などが可能になった。ただし意図的にか否か、32-bit版は同梱されなくなった。

  • Menubarの「編集」→「共通設定の編集」から各種設定を行える。

    • 全般tabのpath入力枠には「bmx2wav.exeからのpath」または「Drive先頭からのpath」を指定できる。たとえばbmxlog.txt.\bmxlog.txt..\bmxlog.txtは可、C:\Users\IRUser\Desktop\bmxlog.txtなども可。Windows環境変数をpathに指定すると強制終了する(たとえば%USERPROFILE%\Desktop\bmxlog.txtは不可)。

    • 出力tabの「出力ファイル指定テンプレート」入力枠にも、bmx2wav.exeからのpath」または「Drive先頭からのpath」を指定できる。さらにここにはいくつか用意された変数を指定できる。たとえば@@input_bms_basename_auto_extension_change@@とだけ指定すれば、変換後の音声filesは「bmx2wav.exeが存在するfolder」内に出力される。

      後処理を行う場合は「出力ファイル指定テンプレート」をD:\BMX2WAV_output\@@input_bms_basename_auto_extension_change@@のような形にしておくほうが楽と思われる。

      ちなみに初回起動時は「出力ファイル指定テンプレート」が指定されていないので、BMSをWAVに変換してもそれを「wavとして保存する」などで明示的に出力するまではMEMORY上にしか変換結果が存在しない。これは曲の切り抜き範囲を試行錯誤したい場合などに余計な出力名とか考える必要がないという意味では便利かもしれない。

    • 後処理tabには別の変換器を指定したりできる。たとえば二週間前にupdateされていたらしいWindows用FLAC 1.3.3などを拾ってきて、実行時引数を--best "@@output_file_path@@"のように指定しておけば、「BMX2WAVによって変換されたWAV」がさらに自動的にFLACに変換される。Path入力枠には「bmx2wav.exeからのpath」または「Drive先頭からのpath」を指定できる。

  • BMX2WAV v2 Core TEST ( 2020/05/04 )版以降、LogのBar Numberの値が何を指しているのか、よくわからない。たとえば私の手元では“L9”Bar Numberの値は16になる。16とは……

BMSパッケージ企画「ゆるゆる」” Phase 8の“morning 06”がとても好き。これはBMSを演奏するのも面白いけど、BMX2WAVで変換して目を閉じて聴くのも楽しい。拍とBPMの多義性に浸れる。BGAもbeat indicator制御命令がもし存在するならこんな感じだろうと思わせる興味深いものだった。

プナイプナイカッター(仮)

音声fileを裁断するためのtool。BMS sceneにおけるこの分野はwoslicerII/IIIの一強状態だったが(BMSE/μBMSCと連携できるため)、プナイプナイカッターはwoslicerとは別の用途を狙っているような気配がある。ゆくゆくはMIDIの表示が実装されるらしいが……?


約二週間ぶりにBMSに触った。「ゆるゆる」は今年度分packagesもとても良かった。

無名戦117つまみ食い

譜面がEASY判定である率が95 %を超えていた。

Rising ZoneのBMS filesと一部の音声filesが、FULL STOPから始まるfilenameを持っていた。仮想環境UbuntuのNautilus(WindowsでいうExplorer的な存在)上で、通常これらのfilesは見えない。隠されているだけで存在してはいるので、java -jar beatoraja.jar "bms/Rising Zone/.2.bms"のように指定すれば問題なく演奏できるし、.bgm1.oggなどの音声も正しく鳴る模様。「MacやLinux上のbeatorajaの選曲画面」にこれらのBMSesが列挙されるか否かについては、私は確認していない。

from_Hauser’s_brainの全譜面とも、notes全体が半拍分手前にずれている。BMSEで開いてCtrl+Aで全選択して半拍分後方に送れば正しい形になるはず。しかしこの半拍分の伏線がどこかで回収されるものと身構えながら演奏していたら最後までそのままだったので、最初に遊んだ際は驚かされた。遊びながらとても奇妙な気分を味わえたので、これはこれで楽しかった。あとreadme.txtも奇妙だった。Hex Editorで開くと無関係のBMSのreadme.txtに案内される……

Awakening GirlのHYPER譜面を遊び、kickやmain phraseが「演奏しなくてもBGM側で同じ音が鳴っている」かのように聴こえて戸惑った。実際は「KEY側とBGM側でそれぞれ別の似たような音が同時に鳴っている」という状況だった。全部BMSONのLayered Notesとしてまとめたくなった。

Flömade差分用folder、package版だとイ﨧ヨモテに化けていた。

Detailed JudgeRank

BMS #DEFEXRANK values
Label BMS #RANK nanasigroove forgetalia++ TechnicalGroove beatoraja 0.7.8
VERY HARD048605034
HARD164807567
NORMAL2100100100100
EASY3120120125134
VERY EASY4160140150167
BMSON "judge_rank" values
beatoraja 0.7.8 _wsh_bms2bmson BmsONE bms2bmson BMS #RANK Label
2560400.00VERY HARD
5072601.01HARD
7584802.02NORMAL
1001001003.03EASY
1251201204.04VERY EASY
  • beatoraja 0.7.8のTiming Visualizer上で、#DEFEXRANK 33.01#DEFEXRANK 34と一致する。
  • beatoraja 0.7.8上で、「BMS形式における判定VERY HARD」は#DEFEXRANK 34と一致する。
  • beatoraja 0.7.8上で、#DEFEXRANK 34は「BMSON形式における"judge_rank":25」と一致する。
  • raindropやruv-it!#DEFEXRANKをsupportしているが、詳細は不明。
  • bms2bmsonやBmsONEは、#DEFEXRANKから"judge_rank"への変換をsupportしていない。

beatoraja Wiki『楽曲製作者向け資料』によれば「0.7.3以降で基準がEASYからNORMALに変更されました」とのこと。BMSON形式は現在もEASY判定が基準のようだ(今後変更されるかもしれないが)。

無名戦17のVIRAL INFECTION#DEFEXRANK 115。後半のrhythmとかbassとか好き。

Toy Musical 3のオートノミックAPは、私の体感では#DEFEXRANK 10前後(nanasigroove1基準で)。

いろいろ

BTS差分readme.htmlを微修正した。PortAudioを推奨する旨を追記し、heap関連の記述を削除した。HTML内のBase64埋め込み画像が一枚分不要になったため、readme.htmlのfile sizeが多少減った。

Toy Musical 3 Ver.2.95を遊んだ。今のところ新曲が7曲解放された。フ〇イ〇ポ〇プREMIXのHYPER譜面をCLEARしたところ、EX譜面ではなくHYPER譜面が選曲画面に増えた。たまにある。

Toy Musical 3攻略wikiのTipsの「選曲画面で未プレイの曲をすぐに探す」が便利。これをSTANDARD modeで常時適用していれば、よくわからないうちに出ていた新曲も見逃さず捕まえられる。

beatoraja 0.7.8

にreleaseされたようだ。BPM Graphに起因するMemory leakも修正された。

それとは別に拙作差分で予期しないnoiseが混入する原因を突き止めることができたかもしれない。beatorajaのAudio Outputの値は、既定ではOpenAL (libGDX Sound)に設定されている。この状態で「BTS差分readme.htmlの拡張子をbmsonに変更した隠し図表」の10:3011:10地点が演奏されると、私の環境ではnoiseが確実に混入する。この値をOpenAL (libGDX Sound)からPortAudioに変更したところ、少なくとも私の環境では私が意図した通りにBGMが演奏されるようになった。

一方でBmsONEとbeatorajaを連携する場合は、OpenALのほうが都合が良かった。BmsONEからbeatoraja(PortAudio)を呼び出すと、以降BmsONEを再起動するまでBmsONE上で音声が鳴らなくなる。そうなる理由は私には分からないし、私以外の環境で再現されるのかも私には分からない。

日記

BMS関連

拙作BMS
bubble / hitkey
二次配布BMS
ノイズの海と鯨 / moka
PARTY TIME IN MY DREAM / HAIJI
BMSE非公式ヘルプ
Lite
Lite-online
Full
Full-online
buglist
iBMSC
Web (Japanese version)
issues
BMS差分
a­nal­gam
boléro
Ketch­up
quovadis
SELF
yellows
Do not use non-ascii filenames
Brilliant Techno Square
雑多なメモ
bmsplayer data
bms benchmark
Secrets - Feeling Pomu 2nd
grid2sec
bmx2xxx
BMx Outliner
BMS command memo
BMS command memo (Japanese version)
BMS EVENT LITE
#RANDOM BMS list
BMS #OPTION command
BMS Bitmap test
Extended BPM
STOP Sequence
BMS Edge Cases
BMS extensions proposed by Sonorous (unofficial Japanese version)
BMS 2.0 (unofficial Japanese version)
BMS Editors
Do not use non-ascii filenames
BM98 Kikuchan Version 3.30 Revision #4.2
BMSON Checker
_wsh_bms2bmson.js

その他

HTML関連メモ
Dakuten on HTML
nest1000
EVS
Nervous Cascading
Source Han Sans test
User-Agent String
CSS Logical Properties