AudioUtilsaudio-utils.com

Command Palette

Search for a command to run...

BPM 検出

対応形式: 9 形式· すべて表示

MP4, MOV, WebM, AVI にも対応 — 音声は自動的に抽出されます。

トラックをドロップして、テンポを BPM で取得。純粋な TS 解析がブラウザ内で実行 — アップロード・登録不要。

ファイルがデバイスから出ることはありません。すべての処理はこのブラウザタブ内で行われます。

BPM (1 分あたりの拍数) は楽曲の鼓動です。1 拍ずれればリミックスはロックしませんし、1 オクターブずれれば DJ セットは崩壊します。この検出器は、オンセットエンベロープの自己相関にオクターブ誤差補正を組み合わせ、ブラウザ内で任意のオーディオファイルのテンポを読み取ります。ファイルをドロップすると数値が返ります — リズムが明瞭な素材なら通常 ±2 BPM の範囲に収まります。

BPM 検出が実際に測っているもの

BPM 検出は、信号のエネルギーエンベロープに含まれる周期性を見つけ出します。古典的な手順は、短窓 RMS を計算し、半波整流した差分をとってオンセット信号にし、自己相関で最も可能性の高い拍周期を求めるというものです。難しいエッジケースには、整数フレーム境界に乗らないテンポ (174 BPM は有名な難物)、半小節への強いアクセントによって検出器が半分のテンポを返してしまう曲、そして明確なリズム要素を持たない曲があります。よくあるオクターブ誤差については、倍速のテンポにも強い自己相関ピークがあるかをチェックして緩和しています — あれば速い側の読みを優先します。聴感上のテンポは通常 100-180 BPM の範囲にあるためです。

この検出器の仕組み

オーディオは Web Audio API でデコードしてモノラルにミックスします。フレームレート 100 Hz (10 ms ホップ、20 ms 窓) で RMS エンベロープを計算し、その一階差分を半波整流してオンセットを抽出します。自己相関は 60-200 BPM に対応するラグ範囲を走ります。最も強いピークを選んだあとに事後オクターブ補正を適用: 半ラグ (= 倍速テンポ) のピークが選択ピークの 45 % 以上の強さを持っていれば、速い側の読みに切り替えます。選んだピーク周辺で放物線補間を行い、サブフレーム精度の BPM を得ます。すべては Float32Array 上のブラウザ TypeScript で動作 — 外部ライブラリも、サーバーも一切ありません。

このツールが役立つ場面

  • DJ セットやライブ演奏のためのビートマッチング
  • リミックスやステムをリファレンス曲のテンポにロックする
  • 録音テイクを取り込む前に DAW のプロジェクトテンポを設定する
  • ドラムサンプルやループのラベルが正しいかの検証
  • すぐに拍を取れない曲のリズムの当たりをつける

よくある質問

検出はどれくらい正確ですか?
リズムが明瞭な素材 (ドラムのあるポップス、ダンス、ヒップホップ、ロックなど) では概ね ±2 BPM 程度です。打楽器が弱い・無い素材 (オーケストラ、アンビエント、アコースティックバラード) ではアルゴリズムが掴むものが少なく、半分や倍のテンポを返すことがあります。BPM と一緒に信頼度も表示されるので、低いスコアのときは結果を鵜呑みにしないでください。
ときどき期待値の半分の BPM になるのはなぜですか?
BPM 検出は本質的に曖昧な問題で、複数の調和関係にある周期が同時に存在しうるためです。このケースを検出して速い側の読みを優先しますが、強い細分化を持つ非常に遅い曲 (60-80 BPM) では検出器が倍速テンポを選び続けることがあります。納得できないときは自分で tap-tempo を取って比べてください。
テンポが変動する曲にも使えますか?
あまり得意ではありません。インテグレーテッドな読みは曲全体の平均テンポを反映します。セクションごとにテンポが変わる曲には、フレーム単位の出力を持つビートトラッキングアルゴリズムが適切ですが — それはずっと重く、無料のブラウザベースのユーティリティには向きません。
ドラムが無いトラックではどうなりますか?
アコースティック/アンビエント/非打楽器素材は最も難しいケースです。オンセットエンベロープは音程音の立ち上がりを拾いますが、ドラムヒットに比べてはるかに弱いものです。信頼度は低くなり、結果も当てになりません。こうしたトラックでは、作曲者の意図に基づいて手で BPM を入力するほうが良いことが多いです。

プライバシー

ファイルはこのブラウザタブ内で完結して解析されます — Web Audio API でデコードし、ブラウザ TypeScript で処理し、アップロードは一切しません。タブを閉じれば作業中の状態はすべて消えます。