doubledepth

Memo about THE BMS OF FIGHTERS ULTIMATE

Included Extra patterns:
Imperial Regalia\[Umiai] ShizundaOmoideUchiagete\_99bms[SPKfix]
No-Name\!bofu_doileirigh\accordion1_001.ogg
α-125\[Alpha-1]RISE_AGAIN\RISE_AGAIN_F7.b
α-125\[Alpha-1]RISE_AGAIN\RISE_AGAIN_K7.b
α-125\[Alpha-2]AtEoD\AtEoD_K7.b
α-125\[Alpha-5]kot\kot_F7.b
クロシロ\[Regats_and]Whiteout_ogg\whiteout r.xxx
仮装舞踏会 2015\[kasou]busyfactory\_09_busyfactory-kamaboko.xxx
創作トランス推進委員会\[69 de 74]新たなる決意\_決意.xxx
奴は四天王最弱\75_Andro_ogg\04_andro_b.bug
愛知情操新世界(仮)\sm-nx osuobore\_sm-nx_osuobore_DDRDP.bm
愛知情操新世界(仮)\sm-nx osuobore\_sm-nx_osuobore_DDRSP.bm
\└〇ω〇Θ<ついに俺がBMSに参上だ!!!!\DS\DS_kakushi.RAR
\└〇ω〇Θ<ついに俺がBMSに参上だ!!!!\somnimu\somi_kakushi.RAR
Team Yesod\litmus_allisfair_ogg\PASSWORD = MULTIPLY OF ALL 3 SECRET CODES.zip
Passwords: 7a (#04701), 7h (#WAVY9), 7n (#05001)
天霧ル孤月\sitosoym_lyra_sakamiya_ogg\_.rar
天霧ル孤月\Memoca_in_Patri_sakamiya_ogg\Others.rar
天霧ル孤月\A_chasing_Y_sakamiya_ogg\_.rar
Passwords: readme.txt (Shift_JIS)
For LR2 (LR2b3_100201\LR2files\Sound\lr2)
大血戦で血の池温泉\[BOFU2015]混浴タイムズ[ogg]\混浴タイムズ選曲BGM.zip
For StepMania
CronyWorks\[Sho Fish]Green Cherry\SM.zip

BmsONE alpha 0.0.4

  • Fixed a bug that sequence view goes totally wrong when a sound note in BGM lane is previewed.
  • Unicode characters are now supported also in extra info fields and sound file names.
  • D&D files into the EXE file now works (Windows only).

BmsONE alpha 0.0.3

小節線/BPM eventsを編集可能になった。設定を外部に書き出すようになった(Windowsの場合、C:\Users\<USER>\AppData\Local\BmsONE\Settings.ini)。状態はByteArrayとして保存されている。

未知のpropertiesを捨てないようになった。ただし拡張情報 (Extra fields)の内容は改竄されうる[追記] 0.0.4にて修正済み

test.bmson (UTF-8)
{"info": {"banner": "🎹.png"}}

保存するか、focusを拡張情報 (Extra Fields)からレベル (Level)に移すと、"banner": "??.png"に文字化けする。

test2.bmson (UTF-8)
{"info": {"banner": "🎹.png", "stagefile": "asso-.png"}}

これも前述の例と同様に、non-ASCII部分がmojibakeする。

test3.bmson (UTF-8)
{"info": {"banner": "🎹.png", "stagefile": "ふーん.png"}}

これは改竄されない。

Firefoxが強制する新しいsearchbarの問題

  1. 私は新しいsearchbarに検索語句を入力し、さらにmouse hoverによってsuggested itemにfocusした。この状態でさえ、searchboxのcaretはarrow keys (Left/Right)によって移動できてしまう

    (例: 検索語句は“service”, 検索候補“service pack”にfocus, 検索語句“service”のvとiの間にcaretを移動)

  2. caretを移動できるということは、検索語句を編集できるということだ。私は検索語句を編集するつもりでDelete keyを押した。すると検索語句の文字ではなく、focused suggested itemが消えた。これは、検索履歴のひとつが失われたことを意味する。

    (例: 検索語句“service”を編集するつもりでDelete keyを押すと、focusされていた検索候補“service pack”が消えてしまう)

Old searchbarにおいて、入力されたarrow Left/Right keysはsuggest-listを畳むので、前述の事故は発生しない。しかしbrowser.search.showOneOffButtonsはいずれ削除される (1119250 – Remove the old searchbar UI)

新しいsearchbarを使わざるを得ないusersは、自衛のために新しい習慣を身に付けなければならない—たとえば検索語句を編集する前にEscを押す習慣。UI改造系add-onsは一年以内に使えなくなる予定なので、usersは公式が用意する操作方法に順応しておくほうがよい。あるいは他のbrowsersに乗り換えるべき時期かもしれない。

BMSおじさんたち

BOFU2015始まったから来たよ!かぷぷだよ!(多分二年ぶりの出没で忘れられてないかな・・・)

ここで使ってたハンドル忘れかけて、心配でググって確認する位頭弱ってるのに

自分のだめっぷりと比べてひっきーさんの頑張りっぷりの凄さよ・・・

BOFで面白い作品あったら是非記事にして欲しいっす(忙しくなければ)

んじゃ、そゆことで!(゚ω゚)ノシ

おお、お久しぶりです! 十五年前の血戦を知る氏が普通に「今年のBOF」を楽しんでおられる光景に和む。そしてBOFに向き合う体力がある時点で十二分に凄いですから! こちとら2010年代のBOFはつま程度にしか追えておらず、今年も十月から年末まで当日記を停止する予定でして、BOFに関する個別記事は書けません……嬉しくも申し訳ない。BOFと異なる文脈でならBOF作品にもたまに言及するかも、気が向いたら覗いてね〜

BmsONE version alpha 0.0.2 ()

良い感じ。BMS EditorにおけるBGM columnsは、BMSON EditorにおいてWaveform columnsに置き換えられる。音声を実際に裁断する構成も許されてはいるが、1 fileにつき1 columnが割り当てられる仕様から、新形式に最適化された構成のほうがいろいろ有利。従来型は音声filesをgroupingして折り畳めると良さそうだが。


PNG関連の雑記 (2)

PNG画像はmetadataとしてEmbedded ICC profileを持ちうる。iCCP chunkはBMS用PNGにも偶に紛れている。一部のBMS applications (e.g. Angolmois 2.0 alpha 3, Sonorous)は、このchunkを検出して警告をprintする。

Error detection in some chunks has improved; in particular the iCCP chunk reader now does pretty complete validation of the basic format.  Some bad profiles that were previously accepted are now accepted with a warning or rejected, depending upon the png_set_benign_errors() setting, in particular the very old broken Microsoft/HP 3144-byte sRGB profile.

libpng 1.6.x以降でError検知が改善され、とりわけiCCPは厳格に判定されるようになったらしい。WindowsやHewlett-PackardのsRGB IEC61966-2.1 (C:\Windows\System32\spool\drivers\color\sRGB Color Space Profile.icm (3144-byte!) )は、名指しでbad profilesのひとつとみなされている。警告を免れる「妥当なEmbedded ICC profile」は、たとえばICC-profile-labelled PNGs (1/1.0) on HTML Colors”などに見ることができる。

OptiPNG HGで最適化ついでにiCCP chunkを削除しておけば、libpng由来の警告は抑止できる:
optipng -o7 -zm1-9 *.png
optipng -strip iCCP *.png
  • HG版でない場合は、metadataを全部剝く-strip all”しか指定できない。iCCPの狙い撃ちは無理。
  • -o 7” (with space)でも、-o7” (without space)でも、結果はまったく同じ。
  • 過度に最適化されたPNG filesによるBGAは、low-spec PC上では、BMS playingに支障が出る規模の遅延を発生させうる。私が昨年まで使っていた十年以上昔のPCでは、まさにPNGの展開による遅延が発生した。-o0 -strip all *.png”なら、IDAT chunksは最適化されず一塊にまとまるだけなので安心。

[追記] OptiPNG HGは公式に打ち切られました。代わりにImageMagickなどを使用してください。

iCCP chunkを削除すると、場合によってはPNGの色味が変化する。Web browsersでいえば、Internet Explorer 9+, Edge 12+, Firefox 3+, Chrome 22+, Opera 15+などの上では、後述の画像の見え方が異なる(はず)。AnimationはCSS @keyframesによる(IE10+, Firefox 5+が必要)。Edgeのversion番号はJavaScriptから確認

Quote from “Mirage Garden
iCCP -strip animation

Flying purple butterfly (with PNG iCCP chunk)

Flying purple butterfly (without PNG iCCP chunk)

Flying purple butterfly (with/without PNG iCCP chunk)

前述のPNG filesの見え方が異なるBMS applicationを、私はまだ見つけていない:
#TITLE iCCP vs. -strip
#BPM 120
#BMP01 flying_039-iCCP.png
#BMP02 flying_039-strip.png
#00104:0102010201020102
#00204:0102010201020102
#00318:01

もしWeb BMS playersがBGAを表示するようになれば、iCCP chunkを残すか削るかの判断はもう少し悩ましいものになるかもしれない。しかしいまのところは、PNGのmetadataは迷わず全部消して良さそうに見える。

(2)

A study of loudness in BMS files

Hi! This is Thai (flicknote). I'm quite amazed that you posted about `bms-renderer`. Thanks a lot!

In fact, I created it in order to study about loudness of BMS files. The results have been published here. https://qiita.com/dtinth/items/1200681c517a3fb26357

I hope you (and others) will find them useful.

Thanks for posting! I'm certain that your very wonderful article will rescue all BMS users. Most of BMS users have an extraordinary interest about making the loudness of BMS works even. Any BMS participants would be able to consult your article greatly. This is one of must-read articles for BMS users.

btw, your article also told handy Windows terminals. I'm not a developer, but “ConEmu” is useful even for me.

A study of loudness in BMS files”の大雑把な意訳(概要のみ)

BMSにおけるloudnessの研究

やあ! BMS楽曲のloudnessにおける傾向をReplayGainの見地から測るために、 (dtinth)はこの記事においてGENOSIDE BMS Starter Package”から67のBMSを分析したよ。平均ReplayGain値は、-12.2 dB。あなたのkeysound filesにgainを適用すれば、あなたのBMSを、この研究の殆どの楽曲と同じloudで鳴らすことができるよ。bms-renderer (Mac / Unix)とBMX2WAVのための手順も見てね。

……という感じの記事。“The Loudness War”は日本語でいう『音圧戦争』。このloudnessという語を、私はどのように翻訳するべきか分からない。しかし記事は平易な英語で書かれており、有用な情報が提供されている。32-bit float WAVによってReplayGainを測定する手法は特に興味深い。ぜひ一読されたい。

PNG関連の雑記

Swellは画像をBI_JPEG (JPEG-compressed BMP)やBI_PNG (PNG-compressed BMP)に変換できる。しかし……

実は、BI_JPEG」と「BI_PNG」を指定して作成されるBMPが正しいかどうかは作者にも判りません。

Ver.1.11.1
  • BI_JPEGBI_PNG 周りを MSDN 上の情報からこうであろうと予測できる範囲で修正。
  • Swell 1.11.1上でs_bmp.zip画像群を閲覧すると、win-jpeg.bmpおよびwin-png.bmpだけ上下が反転する
  • win-png.bmpの更新日時: (Swell Ver.1.7.0未満による変換?)
  • optiPNGはVersion 0.6 ()以降からPNG-compressed BMPをsupportしている。問題のwin-png.bmpをoptiPNG 0.7.5に放り込むと、他のBMP filesと同じ向きのPNGが生成される。

PNG alpha channelは、BMSにおいてどの程度使われているのか。すぐに思い出せる範囲では、BOF2009におけるxi氏の諸作品や、東方音弾遊戯7における映像素材のsample BMSなどが挙げられる。他が思い出せない。

雑記

  • : WinRAR 5.30 beta 4
  • : KbMedia Player 2.62beta.2015.0915
  • : bms-renderer (1.0.0) “Renders BMS to 32bit float wav file (like BMx2WAV)”

    Like BMX2WAV, but written in JavaScript, works on a Mac, and outputs 32-bit floating point WAV files.

あたりからあたりまでの約半日間、nekokan serverがdownしていた模様。真夜中にも関わらず対応してくださった管理者Nekokan氏に私は声援を送る。

まさに備忘録

  • : EpubCheck 4.0.0 ( java -jar epubcheck.jar mybook/ -mode exp -save )
  • : K-Lite Codec Pack 11.4.3
  • : LR2 PMS View Helper 1.15.910.0 (usage / new option -F — force LR2 9-keys PMS mode)
  • : Oggenc2.88, oggdropXPd V.1.9.2
  • : calibre 2.38 (Windows用としては珍しく、ePub内を全文検索できる)

Microsoft® HTML Help Executable (hh.exe)はTridentを使うhh.exeのUser-Agent StringはInternet explorer (Document Mode: IE7)”であることを主張する。IE8から実装されているnative JSON objectなどをCHMで使う場合、<meta http-equiv="X-UA-Compatible" content="IE=edge" />”などを書いておく必要がある(Windows XP SP3, Windows 8.1, Windows 10にて確認)

Sakura Editor Help (CHM)の本文部分にfocusがあるとき、Esc keyはCHM windowを閉じる。この挙動はJScript + HTML Help ActiveX Controlによる。sakura.chmの同位にmacro.chmplugin.chmなどを置くと、複数のHelp filesの目次 (Contents) tabが統合される。script56.chmの日本語版は、scd56jp.exe (1.7MB)から入手できる(実行せずに7-Zipなどで中身だけを取り出す)。“HTML help merge”で検索すれば関連記事が引っ掛かる。

xCHMWindows用binaryは、ActiveXやJavaScriptどころかCSSさえ用いない。style要素やstyle属性も無視される。<font color="#xxxxxx">などは反映される。文書にはweb browsers' default styleに近い外観が適用されるが、dt + dd ~ ddmarginが反映されない等の違いもある。CHM filesの統合はsupportされない。

CHMの目次(Table of Contents, *.hhc)は普通にHTMLとして書ける。

<!DOCTYPE html>
<html dir="ltr" lang="ja">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
    <title>bmse help</title>
  </head>
  <body>
    <object type="text/site properties">
      <param name="ImageType" value="Folder">
      <param name="Window Styles" value="0x800024">
    </object>
    <ul>
      <li><object type="text/sitemap">
          <param name="Name" value="index">
          <param name="Local" value="_RESOURCE\index.htm">
          <param name="ImageNumber" value="11">
      </object></li>
      <li><object type="text/sitemap">
          <param name="Name" value="インストール">
          <param name="Local" value="_RESOURCE\0.htm">
          <param name="ImageNumber" value="11">
      </object></li>
    </ul>
  </body>
</html>

cmd.exeから直接compileする場合は、以下のようにhhc.exeに対しMicrosoft HTML Help Project fileを渡す。

"C:\Program Files (x86)\HTML Help Workshop\hhc.exe" "D:\bmse_help\bmse_lite.hhp"

空要素をXHTML記法で閉じると(<param />)、目次の項目がその時点で終わってしまう。上記の例でいえばsidebarが“index”だけになってしまい、「インストール」以降は目次に含まれない。あとli > objectは一行で書かないと意味不明なcompile errorが発生する。param要素まで含めて一行で書くとcompileが通る。

SoftwareのManualに関するmemo

  • CrystalDiskMark 5.0.2のF1 keyは、従来のようにCHMを開くのではなく、Online Help (webpage)を参照する。旧3.0.4が開くCHM filesはUTF-8として符号化されており、non-ASCII文字がまともに検索されない。
  • GoldWave v6.15はもはやv5.70のようなCHMを持たないが、F1 keyによって呼び出されるManualはCHMのように表示される。GoldWave\Help\にはHTML filesと画像しか見当たらない。仕組みがわからない……
  • ExplzhのOffline manualは、Online manualを参照するための目次に過ぎない。検索tabさえないので文字化けしようがない。潔すぎ。ちなみにHTML部分はUTF-8として符号化されている。
  • 私の環境が原因かもしれないが、Windows 10でHTML Help Compiler (hhc.exe)がまともに働かないので、ePubへの乗り換えを検討中。非公式BMSE Help軽量版で試してみたが、sidebar部分さえShift_JISにしておけば、CHM本文部分はUTF-8で書いておいても普通にnon-ASCII文字が検索できているような気がする…… 追記: そのような事実はなかった。私は勘違いしていた。さらに追記: Windows 10でもhhc.exeは正しく動作した。書き込み権限のない場所にCHMを出力しようとしていた私が愚かだった。

(見出しを書き忘れていた)

  • : Mid2BMS version 20150812 (素で見落としていた……)
  • : GoldWave v6.15 (Windows 7 (64 bit) or later required)
  • : Wine 1.7.51 Development
  • : KbMedia Player Version 2.61.2015.0906
  • : fbmsonplay (uBMplay helper for BMSON)
  • : WIN SCORE SHARE ver.2.01 Test版 (SoundEngineへの期待も兼ねてmemo / Windows 10対応)
  • : CLCL Ver 2.0.1 (10年ぶり更新 / Windows 10対応 / 私はCliborに移行済みだった……)
  • tonkatsu”はBMX2WAVやin_BMでのみ正しく再生される。類似技術の解説を参照。
  • Windows 10上のInternet Explorer 11が、HTML要素の1000層の入れ子表示できることを私は知った。Windows 8.1上のInternet Explorer 11は、依然として約750層を描画した時点で強制終了する。

どんどん日本語が不自由になっていく雑記

  • : PHP [5.4.45, 5.5.29, 5.6.13, 7.0.0 RC 2] (脆弱性が見つからない限り、5.4.45が5.4系の最終版

    There may be additional release if we discover important security issues that warrant it, otherwise this release will be the final one in the PHP 5.4 branch.

  • : Explzh Ver.7.29
  • Yutakichi氏 (@BMSyutakichi)が期間限定公開されているlegacy BMSのひとつから引用:

    メドレーのBMSを遊ぶ時はBM98をお勧めします。

    他のプレイヤーだと、正しく動作しない事が有る様ですので御注意下さい。(現在)

    このMedleyの分岐はinitial #BPM#WAVなども含んでおり、MixWaverやRDM/ruvitでは正しく再生されない。

  • BM98k330r42\BM98_K.hlp (+ BM98_K.cnt)を開くための方法が、Windows 10には用意されていない。Windows 10用のWinHlp32.exeが提供されるかどうかも、現時点では不明。bm98_beta1.zipからCHM helpを一応入手できるが、構造や操作方法はBM98k330r42のものと微妙に異なる。

雑記

BMSとFLACに関する備忘録

LR2では表記が.wavであればflacとogg flacのどちらも使えることを確認(何故か拡張子を合わせても読み込んでくれない‥‥)。

BMSEは拡張子を.oggにすればogg flacが使えることを確認。

uBMPlayは残念ながらどちらにも非対応。

鳴らせない場合は音声filesの基底名が重複しているかもしれない。(flac-opus-speex.zip)

Native FLACとOgg FLAC (aka FLAC in Ogg container)があるCommand-lineによる変換の場合:

拡張子を変える発想はなかった! 私は64-bit Windows 10にOgg Codecs 0.82.16930 (32-bit)”を導入している。私の環境において、[native FLAC, Ogg FLAC, Ogg Opus, Ogg Speex].oggは、BMSE/iBMSCの上で鳴る。

[追記] 私はK-Lite codec pack (LAV Filters)を導入したことを忘れていた。すみません。

Reply

馬鹿なものでコレが届いているのかよく解りませんが、ユタキチです。

ふとした拍子にBMSの事を思い出して、自分のこと覚えてる人とか居るのかなーと思ったら3年ほど前に紹介されてたようで、なんか嬉しかったです。


…あ、それだけですw

なんとなく生存報告したくなったのと、BMS作るの辞めてから連絡手段が途絶えてたので、誰かと話をしてみたくなった感じですね。


ではでは、急に変なコメントしたりして失礼しました。

BMSにおける旧き神々の一柱がしれっと降臨されていて我が目を疑いました。私の記憶が確かなら、氏が最後にBMSを公開されてから干支が一巡しています。生きておられて喜ばしく思います(こういう言い方はなんですが)。あと“web clap”の参照先に対して、私はいまさらながら注釈を加えました。ご不便をおかけしました。

#37, #38 (+ BGA), #40あたりは単純に譜面がとても楽しいので、世代を問わずBMS usersにおすすめしたくなります。BMSをLR2という再生本体で遊ぶ場合、既定の音量設定ではKEY音が相対的に強調されるのですが、これが氏の「focused/targeted partを巧みに切り替えていく、美味しいとこ取り譜面」と調和して最高です。ぜひご本人に試していただきたいです。そしてもし気が向かれたら、ご自身の過去作品を(もし今もお持ちであれば)再びuploadしてみませんか、と提案してみます。

最近はBMS usersの多くが、主な活動の場をSNS上に移しているようです。私自身はSNSについて詳しくないので確言しかねますが、こちらも気が向かれましたらTwitterなどのIDを取得されておくと便利かもしれません。

なお今月中旬から、世界最大規模のBMS event “大血戦 - THE BMS OF FIGHTERS ULTIMATE”が開催されます。日本 (Japan)韓国 (Korea)泰国 (Thailand)諾威 (Norway)など、古今東西のBMS関係者が一堂に会するわからないeventです。こちらをご覧になれば、おそらくBMSの話題には当面困らないでしょう。というかじつは参加されていたりするのでしょうか、などと尋ねるのもうまくないですし、氏の作品をまた遊べるなら私は幸せです、とだけ。

なんというか、Webmaster冥利に尽きるCommentでした。ありがとうございました。

日記

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
雑多なメモ
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

その他

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