Skip to content

Script for Giant Steps benchmarking & improved BPM inference (Octave Correction) #13

@Paulllux

Description

@Paulllux

Hi @fosfrancesco and team,

I've been using beat_this and achieved excellent results. I wanted to share a Python script I wrote that helps benchmark the model against the Giant Steps dataset.

It implements a custom post-processing routine that:

Corrects Octave Errors: Uses a specific heuristic (78-185 BPM range) to fix the common double/half-time errors found in Trap/DnB.

Calculates "Advanced BPM": Uses a phase-aware circular mean and linear regression on the beat grid to derive a highly precise stable BPM value from the raw beat times.

Runs in Parallel: Processes the dataset using ProcessPoolExecutor for speed.

I thought this might be useful for the community or for future reproducibility tests.

final.py

These are the results i got with the giant steps database ============================================================
FINAL RESULTS

Tracks: 664
Time: 364.4s

Acc1 (Strict 4%): 89.31%
Acc2 (Octave Safe): 95.03%

i got even higher when trying the small models in ensemble

============================================================
FINAL RESULTS (Ensemble)

Time: 790.1s

Acc1 (Strict): 90.92%
Acc2 (Octave): 96.37%

final_ensemble.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions