コーデックパック、C++ランタイムDLL、シェーダーコンパイラ、組み込みDBは不要で、.exe一つで動作します。プレイヤー本体はリリースビルドで約2.85 MBです。
判定とノーツ位置を、オーディオハードウェアが実際に再生したサンプル数から計算します。フレームレートの変動やラグがあっても判定誤差は蓄積しません。
ファイルI/Oとオーディオデコードはバックグラウンドスレッドが担当し、キー音はロード時にPCMへ事前デコードするため、プレイ中のデコードは一切ありません。
BMS / BME / BML / PMSに対応し、5鍵・7鍵・9鍵・14鍵(DP)を自動判別します。BPM変化、#STOP、ロングノーツ(LNOBJ/LNType1)を処理します。
Hi-Speed(0.5x~10.0x)、判定オフセット、レーンカバー、サドゥン、Mirror / Random / R-Random / S-Random、Groove · Survival · EX-Hard · Easyゲージに対応します。
リプレイの録画/再生(.rep)、小節早送りの練習モード、オートプレイ、キーコンフィグUIを内蔵しています。
判定とノーツ描画位置のどちらも、AudioClock(実際の再生サンプル数)を唯一の基準にします。
オーディオコールバックはミューテックスやヒープ確保なしに、SPSCリングバッファ(rtrb)でコマンドを受け取ります。
OS標準のDirect3D 11を外部クレートなしで直接呼び出し、共有アトラスで画面の大部分を1回のドローコールで描画します。GPUがない場合はWARP(CPUラスタライザ)で同じパイプラインを実行します。
BMSプレイヤー
パッケージマネージャー CLI
パッケージマネージャー GUI
opt-level="z"、LTO、panic="abort"、strip適用の単一静的バイナリです(2026-10-04測定)。組み込みのサブセットフォント(Noto Sans KR/JP、約1.5 MB)が、目標の1 MB未満を超える主な理由です。
BMSフォルダを標準の.bmspアーカイブにまとめてインストール・バージョン管理し、差分(.bmdp)パッチでアトミックに更新できます。CLI(bpm)とスタンドアロンGUI(bpm-gui)を提供します。
bpm import ./songs/my_song/
bpm pack ./songs/my_song/ -o my_song-1.0.0.bmsp
bpm install ./my_song-1.0.0.bmsp
bpm update patch-1.1.0.bmdp
bpm list
現在はGitHubリポジトリから自分でビルドしてお使いください。(Windows上のRustツールチェーンが必要です)
git clone https://github.com/orphera/beetle でソースを取得します。
cargo build --release を実行すると、target/release/ に実行ファイルが作られます。
bpm import <BMSフォルダ> で曲を登録し、beetle-app.exe を起動します。
↑↓ 移動 · Enter 開始 · Tab プレイオプション · F12 キーコンフィグ。7鍵の標準配置は LShift(スクラッチ) + Z S X D C F V です。