BMS Analysis とは
手持ちのBMSファイルを検索して内容を解析・分析し、その結果を様々な形式で出力するアプリケーションです。 出力したい項目や項目の並び順、出力形式ごとの設定を細かく行うことができ、出力された結果から多種多様な 分析を行うことを目的としています。

以下のリンクから最新版を入手できます。
ダウンロードしたファイルを任意のフォルダに解凍してください。

BMS Analysisの起動
解凍したファイルの中にある「bmsanalysis.exe」を実行します。
bmsanalysis.exe
Java実行環境
BMS Analysis の実行には Java17 実行環境が必要です。お使いのPCにインストールされていない場合、以下のようなメッセージが表示されます。 (※英語・日本語・韓国語で同じ意味の文章が表示されます。環境によっては一部の言語が文字化けする場合があります)
起動時に以下のメッセージが表示された場合は こちらのページ の内容に従って Java17 実行環境をインストールしてください。
Java17実行環境未インストール時のメッセージ
表示言語の選択
初回起動時はアプリケーション上での表示言語を選択する画面が表示されます。表示に使用したい言語を選択し、OKボタンを押してください。
表示言語の選択画面
起動直後の画面
BMS Analysis の起動に成功すると以下の画面が表示されます。具体的な使用方法については次章を参照してください。
BMS Analysis メイン画面

BMS Analysis の主な使い方について解説します。
入力元の選択
最初にBMSファイルを検索するフォルダ、またはファイルを選択します。フォルダの場合、選択したフォルダとその配下のサブフォルダから BMSファイルを検索しようとします。ファイルの場合、対応する圧縮ファイル(※1)を選択します。対応形式はZIP/7-ZIP/RAR(※2)の3種類です。 圧縮ファイルの中に格納されている全てのBMSファイルを検索しようとします。
入力元の選択

※1 現在、非常に低速な動作となっています
※2 RAR5には対応していません

出力形式の選択
BMSファイル分析結果の出力形式をリストから選択します。出力形式ごとの詳細設定を行う場合には隣の詳細設定ボタンを押し、細かい出力設定を行うことができます。
出力形式の選択
出力項目の編集
分析結果として出力したい項目とその順番を編集します。左側のリストが実際に出力する項目とその順番、右側のリストが出力可能な項目を表します。
出力項目の編集
ソート順の編集
分析結果の並び順を決定するための項目を編集します。左側のリストが実際の並び順、右側のリストが並び順に利用可能な項目を表します。 左側リストの「△」はその項目の昇順ソート、「▽」は降順ソートを表します。また、ソート順はリスト上部の項目から順に評価していきます。
ソート順の編集
出力開始
最後に出力先のファイルパスを入力すると、画面下部の出力開始ボタンを押せるようになります。ボタンが押せない場合は入力内容に不備があるので、 各種設定内容に間違いがないか再確認してください。
※開始前に出力ファイルが閉じられていることを確認してください
出力開始
分析結果出力中の画面
各種設定内容に従ってBMSファイルの検索、分析を行っている間は以下のような画面で進捗状況が表示されます。 ファイル数にもよりますが処理するファイルが多いと数分~数十分ほど時間を要する場合があります。 全ての処理が完了するまで画面を閉じずに待機してください。
分析結果出力中の画面

現在の最新バージョンで対応している出力項目について解説します。
項目名 対応ヘッダ/Ch 説明
入力元パス なし アプリの「入力元」に追加されたフォルダ・ファイルの絶対パスが出力されます。
入力元格納場所 なし アプリの「入力元」に追加されたフォルダ・ファイルが格納されているフォルダの絶対パスが出力されます。
入力元名称 なし アプリの「入力元」に追加されたフォルダ・ファイルのフォルダ名、またはファイル名が出力されます。
BMSファイル絶対パス なし BMSファイルの絶対パスが出力されます。
BMSファイル相対パス なし BMSファイルの「入力元パス」からの相対パスが出力されます。
BMSファイル格納場所 なし BMSファイルが格納されているフォルダの絶対パスが出力されます。
BMSファイル名 なし BMSファイル名が出力されます。
BMSファイルサイズ なし BMSファイルのファイルサイズがバイト数単位で出力されます。
BMSファイル更新日 なし BMSファイルの最終更新日時が出力されます。
データハッシュ なし BMSファイルから算出した64文字のハッシュ値が出力されます。この値はBMSライブラリから得られた未加工の値で、現時点では意味を持ちません。
ジャンル #GENRE 楽曲のジャンルが出力されます。
タイトル #TITLE 楽曲のタイトルが出力されます。
サブタイトル #SUBTITLE 楽曲のサブタイトルが出力されます。
フルタイトル #TITLE
#SUBTITLE
タイトル+サブタイトルが出力されます。
アーティスト名 #ARTIST 楽曲のアーティスト名が出力されます。
サブアーティスト名 #SUBARTIST 楽曲のサブアーティスト名が出力されます。複数定義されている場合、"/"で区切った値となります。
ジャケット画像ファイル #STAGEFILE ジャケット画像ファイルのパスが出力されます。
バナー画像ファイル #BANNER バナー画像ファイルのパスが出力されます。
URL %URL 楽曲に関連付けられたURLが出力されます。
E-Mail %EMAIL 楽曲に関連付けられたメールアドレスが出力されます。
プレーモード #PLAYER プレースタイルの種類が出力されます。BMS Analysisでは「1」をシングルプレー、「2」「3」「4」をダブルプレーと判定します。
譜面難易度 #DIFFICULTY 譜面難易度の種別が出力されます。値「1」から順に「BEGINNER」「NORMAL」「HYPER」「ANOTHER」「INSANE」と判定し、それ以外の値では「OTHER」となります。
楽曲レベル #PLAYLEVEL 譜面制作者が規定した譜面のレベルが出力されます。小数点以下の値は切り捨てられます。
初期BPM #BPM 演奏開始時のBPMが出力されます。小数点以下の値は切り捨てられます。
判定ランク #RANK 判定ランクの種別が出力されます。値「0」から順に「VERY HARD」「HARD」「NORMAL」「EASY」判定し、それ以外の値では「OTHER」となります。
TOTAL値 #TOTAL TOTAL値がそのまま出力されます。ただし、小数点以下の値は切り捨てられます。
演奏時間 なし 楽曲の演奏時間が分:秒単位で出力されます。楽曲の先頭から最後のノートを演奏し終えるまでの範囲が演奏時間となります。
最小BPM #BPM
#BPMxx
楽曲中の最小BPMの値が出力されます。BPM変化のない楽曲では初期BPMと同じ値になります。
最大BPM #BPM
#BPMxx
楽曲中の最大BPMの値が出力されます。BPM変化のない楽曲では初期BPMと同じ値になります。
フルBPM表記 #BPM
#BPMxx
「初期BPM (最小BPM-最大BPM)」の表記が出力されます。BPM変化のない楽曲では初期BPMと同じ値になります。
総ノート数 なし 操作対象の総ノート数が出力されます。通常ノート、ロングノートがカウントの対象になります。
LN数 なし ロングノートの数が出力されます。
LN比率 なし 総ノート数に対するロングノートの比率が出力されます。
平均密度 なし 操作対象のノートが存在する期間での平均密度が出力されます。単位はNotes/秒です。
最大密度 なし 操作対象のノートが存在する期間での最大密度が出力されます。単位はNotes/秒です。
注視点傾向(LS/DP) なし スクラッチが左側にある場合、またはダブルプレーにおける注視点の値が出力されます。値は-1~1の範囲で、レーン左端が-1、中央が0、右端が1を示します。この値は楽曲全体での注視点の大まかな傾向を表します。
注視点傾向(RS) なし スクラッチが右側にある場合の注視点傾向が出力されます。
注視点変動係数(LS/DP) なし スクラッチが左側にある場合、またはダブルプレーにおける注視点の振れ幅が出力されます。値は0~1の範囲で、値が大きくなるほど楽曲の進行による注視点の振れ幅が大きいことを表します。
注視点変動係数(RS) なし スクラッチが右側にある場合の注視点変動係数が出力されます。
視野幅(LS/DP) なし スクラッチが左側にある場合、またはダブルプレーにおける視野幅の値が出力されます。値は0~1の範囲で、0が幅なし、1がレーン全体を表します。この値が大きい楽曲は横方向に対する譜面認識力が必要であることを示します。
視野幅(RS) なし スクラッチが右側にある場合の視野幅が出力されます。
視野幅変動係数(LS/DP) なし スクラッチが左側にある場合、またはダブルプレーにおける視野幅の振れ幅が出力されます。値は0~1の範囲で、値が大きくなるほど楽曲の進行による視野幅の振れ幅が大きいことを表します。
視野幅変動係数(RS) なし スクラッチが右側にある場合の視野幅変動係数が出力されます。
KEY / SCRATCH-[N] Ch:11-16, 18-19
Ch:21-26, 28-29
各キー・スクラッチに対応する操作対象のノート数が出力されます。
KEY / SCRATCH-[N](%) Ch:11-16, 18-19
Ch:21-26, 28-29
総ノート数に対する各キー・スクラッチの操作対象のノート数比率が出力されます。
BPM変化回数 #BPMxx
Ch:03
Ch:08
楽曲の進行によってBPMが変化する回数が出力されます。
譜面停止回数 #STOP
Ch:09
楽曲の進行中に譜面が停止する回数が出力されます。
ジャケット有無 #STAGEFILE ジャケット画像ファイルが定義されているかどうかが出力されます。
バナー有無 #BANNER バナー画像ファイルが定義されているかどうかが出力されます。
BPM変化有無 #BPMxx
Ch:03
Ch:08
楽曲の進行途中でのBPM変化があるかどうかが出力されます。
譜面停止有無 #STOP
Ch:09
楽曲の進行中に譜面が停止することがあるかどうかが出力されます。
ロングノート有無 Ch:11-16, 18-19
Ch:21-26, 28-29
操作対象ノートの中にロングノートが存在するかどうかが出力されます。
地雷有無 Ch:D1-D6, D8-D9 地雷オブジェが含まれているかどうかが出力されます。

ver 変更内容
0.1.0
  • 出力項目「KEY / SCRATCH[N](%)」を追加しました。 ※総ノート数に対する各キーの割合
  • 出力項目「LN数 / LN比率」を追加しました。
  • 出力項目「平均密度 / 最大密度」を追加しました。
  • 出力項目「注視点傾向 / 注視点変動係数」を追加しました。
  • 出力項目「視野幅 / 視野幅変動係数」を追加しました。
  • Excelワークブック出力でヘッダ部の背景色を選択できるようにしました。
  • #STAGEFILE, #BANNER にファイルパスとして使用できない文字があると出力に失敗する不具合を修正しました。
0.0.1 新規作成

今後のバージョンアップで対応する予定の項目一覧です。優先順位をつけて順次対応していきます。
※一覧は予告なく更新する場合があります
  • BMS定義のエラー有無/エラー数を出力できるようにする。
  • 特定仕様に基づいて数値化された難易度を出力できるようにする。
  • Webブラウザで表示可能なHTML形式での出力に対応する。
  • Excelワークブックの出力機能を強化する。
  • BMS Analysis の詳細な動作設定を行う機能を追加する。
  • 譜面の深い分析を行い各種要素の評価値を出力できるようにする。(ヒント:ノーツレーダー)
  • BGA有無を出力できるようにする。
  • 乱数使用有無を出力できるようにする。
  • その他、動作・パフォーマンス改善など。