jhurliman/allinone-targetbpm

Analyzes music structure (BPM, beats, segments) with optional BPM locking to fix tempo misdetection

Public
151 runs

All-In-One Music Structure Analyzer with BPM Constraints

Fork of mir-aidj/all-in-one with added target_bpm parameter to lock tempo detection.

Features

  • BPM detection with optional constraints
  • Beat and downbeat tracking
  • Segment detection (intro, verse, chorus, bridge, outro, etc.)

Why this fork?

The original model sometimes misdetects tempo by half or double (e.g., 140 BPM detected as 81 BPM). The target_bpm parameter constrains the beat tracker to ±1 BPM of your specified tempo.

Usage

  output = replicate.run(
      "jhurliman/allinone-targetbpm",
      input={
          "audio": open("track.wav", "rb"),
          "target_bpm": 140  # Optional: lock to specific BPM
      }
  )

Citation

  @inproceedings{taejun2023allinone,
    title={All-In-One Metrical And Functional Structure Analysis With Neighborhood Attentions on Demixed Audio},
    author={Kim, Taejun and Nam, Juhan},
    booktitle={IEEE WASPAA},
    year={2023}
  }
Model created
Model updated