jhurliman/allinone-targetbpm

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

Public
151 runs

Run time and cost

This model costs approximately $0.064 to run on Replicate, or 15 runs per $1, but this varies depending on your inputs. It is also open source and you can run it on your own computer with Docker.

This model runs on Nvidia L40S GPU hardware. Predictions typically complete within 66 seconds. The predict time for this model varies significantly based on the inputs.

Readme

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