redline-v1

AI timing for osu! โ€” a 45M-parameter frame-level model that turns raw audio into osu! timing (redlines: BPM / offset / meter), built for the songs that are hard to time by hand: live drummers, metal, rubato, accelerandos. Output is a starting point to verify by ear.

Code and solver: https://github.com/Tiger14n/Redline

Model

Encoder-only transformer (rotary attention, conv frontend over log-mel + onset flux), per-frame outputs at 50 fps:

head output
beat beat-here logit
down downbeat (measure start) logit
off sub-frame offset (recovers ~2-5 ms precision from 20 ms frames)
tempo BPM-bin logits (per-frame tempo curve)
change major (audible) tempo/meter change logit
red notation logit โ€” where a human mapper writes a redline, including convention re-anchors

d_model 512, depth 14, 8 heads, FFN 2048. Trained on ranked osu! beatmaps (three-stage lineage; configs in the repo) on a single RTX 3080.

Results (held-out data)

Model heads, 400 held-out mapsets: beat F1 0.955, downbeat F1 0.892 (frame-level, ยฑ40 ms), offset MAE 4.7 ms.

End-to-end (audio โ†’ redlines, 366 held-out ranked mapsets, ~50+ per genre, scored against the ranked map's human timing):

genre beats within 10 ms (avg) typical (median) map
Pop (55) 88.6 % 96.5 %
Metal (48) 88.1 % 95.7 %
Rock (51) 86.7 % 94.4 %
Electronic (49) 84.2 % 97.1 %
Video game (54) 82.8 % 97.0 %
Anime (55) 79.7 % 95.0 %
other (54) 80.2 % 93.2 %
all (366) 84.2 % 96.0 %

The typical song comes out essentially on-grid (median 93โ€“97 % in every genre); a hard minority (live/rubato, quiet audio) needs hand-finishing. Songs whose human timing is a single redline get a median of exactly 1 redline. Full tables, redline-placement metrics and methodology in the repo README.

Usage

pip install -r requirements.txt   # from the repo
hf download Tiger14n/redline-v1 redline-v1.pt --local-dir models/
python -m redline.generate_timing song.mp3 --osz

The checkpoint contains model (state dict) and args (data representation + architecture), which redline.infer.Model2Beats uses to reconstruct the exact training-time pipeline.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support