Contents
導入(概要と得られる成果)
Beat Saberで遊べるカスタム曲を自作したい方向けの実務ガイドです。
カスタム曲の選定、音声編集、BPM/オフセット調整、譜面作成、ローカル検証から公開までを順に解説します。
PC版とQuest版の違いや権利処理、主要ツールの互換確認も含みます。最短で1曲を完成させるための最小テンプレートとチェックリストを付けています。
対象読者と前提環境
ここでは想定する読者層と必要な環境を明示します。
使用するツールや手順は学習コストに差があるため、目的に応じて読み進めてください。
対象読者
対象者をレベル別に示します。各行は想定する到達点です。
- 初心者: 音声編集と最小のinfo.datを理解し、1曲をローカルで動かせる。
- 中級者: ChroMapper等で複数難易度を作成し、公開ワークフローを回せる。
- 上級者: Quest向け最適化や高度なイベント、カスタムオブジェクトを使った表現を扱える。
クイックスタートチェックリスト
最短で1曲を作るための必須項目です。準備状況を照らし合わせてください。
- 元音源(WAV推奨)と使用許諾の有無。
- 音声編集ソフト(AudacityまたはReaper等)。
- 変換ツール(ffmpeg)。
- 譜面エディタ(ChroMapper推奨、または内蔵エディタ)。
- 最小フォルダ構成(audio.ogg, cover.jpg, info.dat, 譜面ファイル)。
- バックアップ先(ゲームフォルダ・CustomLevelsのコピー)。
主要ツールと導入上の注意
ツールの役割と導入時のセキュリティ注意点をまとめます。
モッドや外部ツールは便利ですが互換性と配布元の信頼性を常に確認する必要があります。
必須・推奨ツールと用途
各ツールの代表的な用途を短く示します。
- ChroMapper:外部譜面エディタ。タイムラインとイベント編集が強力。
- Beat Saber内蔵エディタ:軽微な修正や即時検証向け。
- ffmpeg:WAV↔OGG変換、サンプルレート変換に必須。
- Audacity / Reaper:音声編集・トリミング・正規化。
- BMBF / ModAssistant 等:QuestやPCのモッド管理。導入は自己責任。
- SongCore / SongLoader:モッド環境での追加機能と互換性レイヤー。
- Mixxx等:BPM検出の補助ツール。
互換表と公式参照先(確認の方法)
ツールは頻繁に更新されます。公式情報で最終確認してください。
-
互換性や導入手順は Beat Saber Modding Group(BSMG) wiki にまとめられています。
https://bsmg.wiki/ -
マップ配布や参照は BeatSaver と BeastSaber を利用します。
https://www.beatsaver.com/
https://bsaber.com/ -
音声・変換ツールの公式サイト例:ffmpeg、Audacity、Reaper、Mixxx。
https://ffmpeg.org/
https://www.audacityteam.org/
https://www.reaper.fm/
https://mixxx.org/ -
Quest関連ツールの公式リポジトリやドキュメント(SideQuest, BMBF等)を参照のこと。公式配布ページ以外からの入手は推奨しません。
バックアップと復元方針
導入前にバックアップ運用を決めておくと安全です。代表的な保存先を示します。
- ゲームインストールフォルダのバックアップ(必要に応じて)。
- CustomLevelsフォルダのコピー。
- 設定ファイルとmodフォルダのスナップショット。
- 重大な変更は新しいフォルダ名で試験し、動作を確認した上で本番に反映する。
作業手順:音声処理から譜面作成まで
実作業の流れを短く示します。目的別に順序良く進めるのが早道です。
以下は最短で1曲を動かすための主要手順です。
権利処理と許諾取得の実務
権利関係は最優先です。書面での記録があると後が楽になります。
- 権利者の特定 → 利用条件の確認 → 書面(またはメール)で許諾取得 → 記録保存。
- 公開時は原作者表記と許諾の有無を明示すること。
- 許諾問い合わせの簡易例(雛形):
件名: カスタム譜面の使用許諾について
こんにちは。[あなたの名前]と申します。
曲名: 「[曲名]」
使用目的: Beat Saber向けカスタム譜面の制作・無償配布
予定内容: 音源の一部使用(WAV→OGG)、譜面の作成・配布
ご承認いただける場合はその旨と条件をご教示ください。
上記は例です。法的な助言が必要な場合は専門家に相談してください。
音声編集とOGG変換
音声は品質と同期が重要です。サンプルレートやチャンネルに注意します。
- 元データはWAVで作業するのが無難です。トリミングやフェードを行います。
- 最終は44.1kHzが一般的です(ツールや環境により変わることがあるため確認を)。
- ffmpegによるOGG変換例:
ffmpeg -i input.wav -ar 44100 -ac 2 -c:a libvorbis -qscale:a 6 audio.ogg
qscaleは品質とサイズのトレードオフです。4~6が一般的な範囲です。
BPM検出とオフセット合わせ
正確なBPMとオフセットが譜面品質を左右します。目視と耳の両方で詰めます。
- 自動解析でBPMを把握し、波形の強拍を目で確認します。
- 第1拍(ダウンビート)を基準にオフセットをms単位で設定します。
- previewStartやpreviewDurationはinfo.datで調整し、プレビューの切り出しを最適化します。
- VR内で再生して体感で微調整を行うと精度が上がります。
ChroMapperでの最短ワークフローと最小テンプレ
最小構成で1曲を動かす手順とテンプレ例を示します。
- 新規プロジェクトを作成し、曲名・作者情報を入力する。
- audio.oggを読み込み、BPMとオフセットを確定する。
- 拍子スナップを設定し、シングルノーツを中心に配置する。
- 最小難易度1つを作ってエクスポートする。
- 生成フォルダをCustomLevelsに置き、VRで検証する。
最小フォルダ構成(例):
- MySongFolder/
- audio.ogg
- cover.jpg
- info.dat
- Expert.dat(譜面ファイル)
最小のinfo.dat例(フォーマットはバージョン依存です。以下は概念例):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "_songName": "Song Title", "_songAuthorName": "Original Artist", "_beatsPerMinute": 128, "_songFilename": "audio.ogg", "_coverImageFilename": "cover.jpg", "_previewStart": 30.0, "_previewDuration": 15.0, "_difficultyLevels": [ { "_difficulty": "Expert", "_difficultyRank": 9, "_jsonPath": "Expert.dat" } ] } |
info.datの正確なフィールドはツールとBeat Saberのバージョンで変わります。公式ドキュメントを参照してください。
NPSと難易度設計の基準
ノート毎秒(NPS)は難易度設計の基本指標です。目安を示します。
- Novice: 0.5〜1.5 NPS
- Easy: 1.5〜2.5 NPS
- Normal: 2.5〜3.5 NPS
- Hard: 3.5〜5.0 NPS
- Expert: 5.0〜6.5 NPS
- Expert+: 6.0〜9.0 NPS(ピークはさらに高くなることがある)
連続セクションは短めにし、休憩を意図的に配置すると疲労を軽減できます。
テスト、パッケージ化と公開
ローカル検証と公開時の注意点をまとめます。公開は権利処理と互換性確認が整った後に行います。
ローカルテストの手順
ローカルでの実機検証は不可欠です。基本的な流れを示します。
- ChroMapper等からエクスポートし、生成フォルダをCustomLevels内に配置する。
- Windowsの一般的なCustomLevelsパスはLocalLow配下ですが、環境で異なるため都度確認する。
- VRで実際にプレイし、同期・視認性・パフォーマンスを確認する。
パッケージ化とアップロード準備
配布用に整理してからアップロードします。メタデータとクレジットは重要です。
- zip化する場合はinfo.datがルートにある状態にする。
- READMEやクレジット、許諾情報を同梱すると信頼性が上がる。
- BeatSaver等のアップロードフォームには正確なタイトル・作者・BPM・使用許諾を記載する。
公開時の法的・規約上の注意
公開は著作権とプラットフォームの利用規約に関わります。特に注意してください。
- 市販曲や著作権がある曲は許諾が必須です。無許諾の公開は法的リスクがあります。
- Questでのサイドロードやモッド導入は機種やバージョンによって保証や利用規約に影響する可能性があります。公式サポートや利用規約を確認してください。
- 法的助言が必要な場合は弁護士等の専門家に相談することを推奨します。
Quest向けの留意点
Quest向け配布は制約が多く、頻繁に仕様が変わります。基本的な留意点を示します。
- Questではファイルサイズや演出を削減して性能を優先する必要がある場合がある。
- BMBF等のツールはBeat Saberのバージョン依存が強い。リリースページの互換情報を参照する。
- Quest用の具体手順は時期によって変わるため、公式ガイドやコミュニティ情報を最新で確認する。
品質チェックリストとトラブルシュート
公開前後に確認すべき項目と典型的な障害対応を集約します。問題は早期にフィードバックで改善します。
品質チェックリスト
公開前に最低限チェックする項目です。
- 視認性: 背景とノーツのコントラストは十分か。
- 同期: BPMとオフセットが体感で一致しているか。
- NPSと休憩: 連続セクションに適切な休憩があるか。
- 障害物: 高さと長さは妥当か。見えない壁はないか。
- 演出: ライトや回転がプレイを妨げていないか。
- パフォーマンス: VRで安定したフレームレートが出るか。
- メタデータ: info.datの記述、カバー画像、クレジットは正しいか。
よくあるトラブルと対処法
典型的な障害とその対応策を簡潔に示します。
- 音ズレ: サンプルレート不一致やオフセット誤設定が多い。WAV→OGGのサンプルレートを揃える。
- BPM誤検出: 自動解析が外れるときは拍子線を手動で合わせる。
- JSONエラー: エディタやバリデータで構文をチェックする。文字エンコーディングに注意。
- フレーム落ち: エフェクト削減、テクスチャ圧縮、障害物の削減で軽量化する。
- Quest非対応のイベント: 配布先ごとに互換性を分け、Quest用は演出を制限する。
公開後の運用とアップデート手順
公開後に問題対応とバージョン管理を行います。
- フィードバックを収集し、優先度を付けて修正する。同期・致命的バグを最優先にする。
- 更新時はバージョン番号と更新履歴をinfo.datやREADMEに残す。
- 許諾の記録は長期保管し、リクエストに応じて提示できるようにする。
FAQ(よくある質問)
主要な疑問に短く答えます。必要に応じて用語集も参照してください。
市販曲は公開できますか?
市販曲の公開には原則として権利者の許諾が必要です。無許諾での公開は法的リスクがあります。個別に許諾を取るか、パブリックドメインやライセンス済みの音源を利用してください。
OGG以外の音声フォーマットは使えますか?
Beat Saberでは一般にOGGが利用されます。エンジンやバージョンによる差異があるため、最終的には動作確認で確かめてください。変換はffmpegが標準的です。
Questで安全に導入するには?
Questはサイドロードや特定ツールが必要です。ツールの互換性は頻繁に変わるため、公式ドキュメントや信頼できるコミュニティ情報を参照してください。保証や規約への影響がある点に注意が必要です。
info.datのフォーマットは固定ですか?
フォーマットはBeat Saberのバージョンやエコシステムの変化で更新されます。ローカルでの最小例を参考にしつつ、公式ドキュメントとツールの出力を照合してください。
用語集(略語と意味)
主要な略語と用語を短く定義します。専門用語はここで確認できます。
| 用語 | 意味 |
|---|---|
| NPS | Notes Per Second。1秒当たりの平均ノーツ数。難易度指標として使う。 |
| info.dat | カスタム曲のメタデータを記述するJSONファイル。フォーマットはバージョン依存。 |
| BMBF | Quest向けカスタム曲管理ツールの一つ。導入は互換性確認が必要。 |
| SongCore / SongLoader | モッド環境で曲の読み込みや拡張を行うプラグイン群。 |
| ChroMapper | 高機能な外部譜面エディタ。タイムライン編集やイベント設定が可能。 |
| BeatSaver / BeastSaber | マップ配布・検索プラットフォーム。公開やフィードバックの窓口になる。 |
| ffmpeg | 音声・映像の変換ツール。OGG変換やサンプルレート変更に用いる。 |
| BPM | Beats Per Minute。楽曲のテンポを示す値。 |
| オフセット | 音声再生と譜面タイミングの時間差。ms単位で調整する。 |
要点の整理(短く): カスタム曲作成は「権利処理」「音声品質」「正確なBPM/オフセット」「互換性確認」が肝です。主要ツールは公式情報で互換性を確認した上で導入し、外部配布物は署名やハッシュで検証してください。最小テンプレを使ってまず1曲を完成させ、テストとフィードバックを重ねることが早道です。