osu!のBPMとオフセットとは?
タイミングは、すべてのbeatmapの土台となる見えないグリッドです。その仕組みを説明します。
BPM — 1分あたりの拍数
BPMは曲の拍の速さ、つまり1分間に何拍あるかを表します。120 BPMの曲なら500 msごと、180 BPMの曲なら約333 msごとに1拍です。osu!では、BPMがタイミンググリッド、つまりノーツを置ける位置の集まりを決めます。ノーツは拍や、拍を分割した位置(2分割、4分割など)に置かれます。だからこそ、タイミングが正しい譜面は音楽にぴったり合っていると感じられるのです。
オフセット — 1拍目の開始位置
オフセットとは、音声ファイルの先頭から最初の拍が来るまでの時間(ミリ秒)です。曲がちょうど拍から始まることはまれで、たいていは一瞬の無音や静かなイントロが先にあります。BPMはグリッド線の間隔を、オフセットはグリッドがどこから始まるかを示します。
タイミングが譜面の出来を左右する理由
リズムゲームのすべては、グリッドが正しいことを前提にしています。BPMがずれていると、ノーツは少しずつ拍から外れていきます — 最初は問題なくても、1分も経てばプレイできなくなります。オフセットがずれていると、すべてのノーツが同じだけ早く(または遅く)なり、どれだけ上手くプレイしても精度が落ちます。mapperはノーツを1つ置く前に、タイミングを合わせることにしっかり時間をかけます。また、テンポが変わる曲には複数のタイミングポイントが必要です。
曲のBPMの調べ方
- 検索する:「<曲名> BPM」で検索します — songbpm.comやtunebat.comのようなサイトで、市販曲のほとんどを調べられます。半分の速さに感じる場合は値を2倍にしてください(70と140など)。
- タップで測る:「tap BPM」サイト(taptempo.ioなど)を使い、約15秒間、拍に合わせてタップします。
- osu!のエディター:曲をosu!に入れてエディターを開き、Timing → タップするか、BPM推定機能を使います。オフセットも直接わかります。
DanceGAIではこの作業が必要?
いいえ。DanceGAIは、曲からosu! mania譜面を生成する際に、BPMとオフセットを自動で検出します — 曲をアップロードした場合も、osu!のbeatmapリンクからインポートした場合も同じです。AIがノーツを置く前に自分でタイミンググリッドを見つけるので、何も入力する必要はありません。それでも上の概念は知っておく価値があります。生成されたものでも手作りのものでも、どんなbeatmapでもタイミングの問題に気づき、説明するための知識になるからです。