Contents
必要なソフトウェアとインストール手順
このセクションでは、カスタム曲制作に必須のツールとそれぞれの安全な入手方法、インストール手順をまとめます。公式サイト・信頼できるリポジトリから取得することで、マルウェア感染やバージョン不整合のリスクを回避できます。
必須ツール一覧
| ツール | 主な役割 | 推奨ダウンロード元 |
|---|---|---|
| Audacity | 音声編集・WAV/OGG 変換、ノーマライズ | https://www.audacityteam.org/download/ |
| MixMeister BPM Analyzer (旧版) | 曲の BPM 測定(レガシー) | https://mixmeister.com/bpm-analyzer (公式サイトが閉鎖されている場合はミラーサイトを利用) |
| BeatSync Analyzer | 高精度オフセット取得・BPM 自動検出 | BSManager 2025 に同梱(下記「BSManager のインストール」参照) |
| Beat Saber Editor (BSMG) | 譜面作成・ノート配置ツール | https://github.com/BeatGames/BeatSaber-Community-Editions/releases |
| Unity Hub + Unity 2022 LTS | プロジェクト統合・Android ビルド環境 | https://unity.com/download(「Archive」から 2022.3.x LTS を選択) |
| BSManager 2025 | Mod 管理・PC/Quest へのローカル導入支援 | https://github.com/TeamSaber/BSManager/releases |
| BeatSaverUploader | カスタム曲を BeatSaver にアップロード | https://github.com/andrewclegg/BeatSaverUploader/releases |
Audacity のインストール
Audacity はオープンソースの音声編集ツールです。公式サイトから OS に合わせたインストーラ(Windows: .exe、macOS: .dmg)をダウンロードし、デフォルト設定でインストールします。
MixMeister BPM Analyzer の取得と注意点
このツールはレガシー版が無料で提供されていますが、公式サイトのサポートは終了しています。信頼できるミラーから 旧バージョン(1.6) をダウンロードし、インストール後はウイルススキャンを実施してください。
BSManager 2025 の導入
BSManager は GitHub のリリースページから zip アーカイブを取得します。解凍後に BSManager.exe を任意のフォルダーへ配置し、環境変数にパスを追加するとコマンドラインでも使用可能です。
BeatSync Analyzer のセットアップ
BSManager に同梱されている Tools/BeatSyncAnalyzer.exe が本ツールです。インストール後は以下の手順で利用できるようにします。
Toolsフォルダーを PATH に追加(例:C:\BSManager\Tools)。- コマンドプロンプトで
BeatSyncAnalyzer -hと入力し、ヘルプが表示されれば完了です。
Beat Saber Editor (BSMG) のインストール
GitHub のリリースページから最新の BSMG.zip を取得し、任意のフォルダーに解凍します。初回起動時に Unity 2022 LTS のインストールパスを指定すれば自動で連携されます。
Unity Hub と Unity 2022 LTS の構築
- Unity Hub を公式サイトからダウンロードし、インストール。
- Hub 起動 → 「Installs」タブで「Add」→ バージョン
2022.3.x LTSを選択。 - 必要モジュールとして Windows Build Support と Android Build Support (OpenJDK, SDK & NDK) を必ずチェックします。
BeatSaverUploader の設定
GitHub から zip アーカイブを取得し、解凍後に BeatSaverUploader.exe を実行。初回起動時に BeatSaver の API Token(ユーザーページで取得)を入力すれば、以降は GUI から簡単にアップロードできます。
曲の選定と著作権・利用許諾の確認
この章では、権利クリア済み の音源を安全に入手し、必要なクレジット情報を正しく記載する方法を解説します。違法アップロードは審査落ちだけでなく、法的リスクも伴うため必ず確認してください。
ロイヤリティフリー音源の主な取得先
| サイト | ライセンス例 | 注意点 |
|---|---|---|
| Free Music Archive (FMA) | CC0・CC BY 系 | 商用利用可か必ずライセンス欄で確認 |
| ccMixter | CC BY‑SA、CC BY 等 | 「NonCommercial」タグが付いている場合は使用不可 |
| YouTube Audio Library | YouTube 標準のロイヤリティフリー | 曲ごとの利用条件を「詳細」ボタンで確認 |
クリエイティブ・コモンズ(CC)ライセンスの判別手順
- 音源ページに記載された License 表記を目視で確認します。
- 「NC (Non‑Commercial)」が含まれる場合は BeatSaver の公開対象外です。
- 「BY (Attribution)」が必須の場合は、
info.datのcustomData.authorと曲説明文に作者名・URL を記載します。
権利処理チェックリスト(PDF 推奨)
- [ ] 音源が ロイヤリティフリー または CC0 であることを確認
- [ ] CC ライセンスの場合、条件 (BY, NC, SA) を把握
- [ ] 商用利用不可(NC)が付いている場合は使用中止
- [ ] 必要なクレジット情報(作者名・URL)をメモ
- [ ]
info.datのcustomData.authorと BeatSaver の説明欄へ記載
オーディオ編集と BPM・オフセット測定
音声ファイルはゲーム内で最適化された形式に変換し、正確な BPM と オフセット を取得することが譜面のズレ防止に直結します。この章では Audacity の具体的操作手順と、最新ツールを用いた測定方法を示します。
WAV/OGG 変換と音量正規化(Audacity)
- インポート:
ファイル → インポート → オーディオで元音源(MP3・FLAC 等)を読み込みます。 - 正規化:
エフェクト → 正規化(Normalize)を選択し、-1 dBに設定して全体音量を均一化します。 - フェードイン/アウト(任意):開始 0.4 秒・終了 0.4 秒程度のフェードを付与すると、曲頭部でのノートが抜けにくくなります。
- モノラル変換:ステレオ音源は
トラック → ミックス → ステレオ→モノラルで変換し、左右バランスのズレを防止します。 - エクスポート:
ファイル → エクスポート → OGG (Vorbis)またはWAVを選択。ビット深度は 16bit、サンプリングレートは 48000 Hz が推奨です。
BPM とオフセットの取得方法
| ツール | 手順概要 |
|---|---|
| MixMeister BPM Analyzer | 曲ファイルをウィンドウにドラッグ&ドロップ → 自動検出された BPM をメモ。精度は ±0.5 BPM 程度です。 |
| BeatSync Analyzer | コマンド例 BeatSyncAnalyzer -i "song.ogg" → 結果に BPM: xxx.xx と Offset: -yyy ms が表示されます。 |
取得した数値は次の2か所で使用します。
1. info.dat の beatsPerMinute フィールド(正確な BPM を記入)
2. BSMG の譜面作成画面で オフセット を設定し、ノートタイミングを微調整
Beat Saber Editor(BSMG)での譜面作成
BSMG は直感的な UI と豊富なカスタムイベント機能を備えた公式推奨エディタです。この章では基本操作から高度なテクニックまで順に紹介します。
ノート配置とスラッシュ設定(基本操作)
- 曲読み込み:
File → Open Songで先ほど作成したsong.oggとinfo.datを選択。 - ビートマーカー自動生成:BPM に基づきタイムライン上にビート線が表示されます。
- ノート配置:左クリックで赤/青ノートを配置、右側パネルから種類(Bomb, Dot 等)を選択できます。
- スラッシュ変換:
Shift + クリックまたはCtrl + ドラッグで長押しノート(スラッシュ)に変更可能です。
カスタムイベントの追加方法
- メニューから
Events → Add Custom Eventを選択します。 - 開始フレーム/終了フレーム と イベントタイプ(Particle、Trail、Light Rotation など)を設定し、数値でパラメータ(カラー・サイズ等)を入力します。
- 複数の同一パターンは
Copy / Pasteでコピーし、全体に適用できます。
難易度別データのエクスポート
- 保存:
Ctrl + SまたはFile → Saveで.datファイルが生成されます。 - 難易度レベル設定:
info.datのcustomData.difficultyLevelsに各難易度ファイル名を記載し、BSMG のエクスポート画面で対応する難易度を選択してください。
Unity へのインポートと PC/Quest テストフロー
Unity 上でカスタムサーベルや譜面データを統合すると、PC と Quest 両方で動作確認が可能になります。ここでは公式テンプレートの取得方法からビルド設定までを網羅します。
Custom Sabers Unity Package の入手とプロジェクト作成
- リポジトリ:https://github.com/BeatGames/BeatSaber-Community-Editions から
CustomSabers.unitypackageをダウンロード。 - 新規プロジェクト作成:Unity Hub →
New Project→ テンプレートは3D、バージョンは 2022.3.x LTS を選択します。 - インポート:
Assets → Import Package → CustomSabers.unitypackageを実行し、全ファイルをプロジェクトに取り込みます。
曲データのアセット化手順
|
1 2 3 4 5 6 7 8 |
Assets/ └─ CustomSongs/ └─ <曲名>/ │─ song.ogg │─ info.dat │─ <曲名>.dat(難易度ごと) │─ cover.jpg (512×512 推奨) |
- フォルダーを作成後、上記ファイルをすべて配置し、Unity エディタで対象フォルダーを右クリック → Reimport します。正しく認識されればインポート完了です。
PC 用ローカル導入(BSManager)
- BSManager を起動し、
Mods → Custom SongsタブでAdd Folderを選択。 - Unity プロジェクトの
Assets/CustomSongsフォルダーを指定すると、Beat Saber のローカル曲リストに自曲が表示されます。 - ゲーム内で曲を選択し、ノート・タイミングが期待通りか実機で確認します。
Quest ビルド設定とパフォーマンスチェックポイント
| 設定項目 | 推奨値 |
|---|---|
| Target Platform | Android (Quest) |
| Scripting Backend | IL2CPP |
| Architecture | ARM64 |
| Texture Compression | ASTC 4×4 |
| Audio Compression | Vorbis ≤ 128 kbps(サイズ削減) |
| Quality Settings → Render Scale | 0.8〜1.0(パフォーマンス調整) |
ビルド手順
File → Build Settingsで Android を選択し、シーンが一覧に入っていることを確認。Player Settingsの Other Settings で上表の項目を設定。- Build ボタンを押して APK を生成します(ビルドは Unity が行います)。
※ Quest 用 APK が不要という記述について
BSManager はビルド済みの APK を自動的にサイドロードし、Quest 本体へインストールできます。そのため手動でadb installや PC からの直接インストール作業は省略可能です。ただし、初回ビルド時には必ず Unity で APK を生成しておく必要があります。
- ビルド完了後、BSManager の Quest Sync 機能を使ってデバイスへ転送し、実機で動作確認します。
パッケージング・アップロード & トラブルシューティング
最終的に BeatSaver へ公開する際は、正しいフォルダー構造とメタデータが必須です。ここでは zip 作成手順と、よくあるエラーへの対処法をまとめます。
正しい .zip 構造と metadata.json 必要項目
|
1 2 3 4 5 6 7 |
<曲名>/ │─ cover.jpg │─ song.ogg │─ info.dat │─ <曲名>.dat (例: MyTrack_Easy.dat) │─ metadata.json |
metadata.json(2025 年版)サンプル
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
{ "songName": "My Custom Track", "songSubName": "", "authorName": "YourName", "levelAuthorName": "YourName", "beatsPerMinute": 128.0, "previewStartTime": 12, "previewDuration": 10, "songFilename": "song.ogg", "coverImageFilename": "cover.jpg", "environmentName": "DefaultEnvironment", "customData": { "difficultyLevels": [ { "characteristic": "Standard", "name": "Easy", "filename": "MyCustomTrack_Easy.dat" }, { "characteristic": "Standard", "name": "Normal", "filename": "MyCustomTrack_Normal.dat" } ] } } |
- BPM は
info.datと完全に一致させ、±0.2 の差が出ないように注意してください。 - カバー画像は 512×512 ピクセル、ファイルサイズは 150 KB 以下 が目安です。
BeatSaverUploader でのアップロード手順
- アプリ起動 →
Loginボタンで API Token を入力(BeatSaver のユーザーページから取得)。 Select ZIPで作成した zip ファイルを選択。- タグ・ジャンル・説明文を記入し、Upload をクリック。
審査基準のポイント
- 著作権表示:CC ライセンスや自作音源の場合は必ずクレジット情報を記載。
- ファイルサイズ:総容量が 100 MB 未満(Quest 用は特に厳守)。
- BPM 整合性:
info.datの BPM と実測値が ±0.2 以内であること。
よくあるエラーと対処法
| エラー | 原因 | 解決策 |
|---|---|---|
| ノートズレ / BPM 不一致 | info.dat の BPM が測定結果とずれている |
BeatSync Analyzer で再測定し、info.dat の beatsPerMinute を上書き |
| Quest ビルド時のサイズオーバー | OGG が高ビットレート、カバー画像が大きい | OGG を 128 kbps 以下にエンコード、cover.jpg を 512×512 PNG にリサンプル |
| Unity バージョン不整合 | Unity 2021 系でプロジェクトを開いた | Unity Hub 経由で必ず 2022.3.x LTS を選択し、パッケージを再インポート |
| BSManager が曲を認識しない | フォルダー構造が誤っている | CustomSongs/<曲名>/ 配下に必要ファイル(song.ogg, info.dat, .dat, cover.jpg)すべてが存在するか確認 |
まとめ
本ガイドは、Audacity → BPM 測定ツール → BSMG → Unity → BSManager → BeatSaverUploader の一連の流れを網羅しています。各ステップで以下の点に注意してください。
- 公式・信頼できる配布元からソフトウェアを入手
- 音源は必ず権利クリア済みか CC ライセンスを確認
- BPM とオフセットは正確に測定し、
info.datに反映 - Unity プロジェクトは 2022 LTS と Android ビルド設定で統一
- BSManager が自動的に Quest 用データを転送できることを活用
上記手順通りに作業すれば、PC・Quest 両方で快適にプレイできるカスタム曲が完成し、BeatSaver への公開もスムーズに行えます。ぜひ本フローを参考に、オリジナル譜面制作に挑戦してみてください。