Trust & ProofEverything You Can Do in SelektRequest a Toolor share any idea
Follow us

We tried to beat the best open chord-recognition model. Here's the honest result.

We set out to improve open-source automatic chord recognition (chord detection) — turning audio into a time-stamped chord progression. The strongest open model is BTC (Park et al., ISMIR 2019). We built a Harmonic-CQT (HCQT) variant and a stack of other levers to beat it. Honest result: our best variant ties baseline BTC on held-out public benchmarks — it does not clearly beat it. That is a useful finding. We've published the code, methods, and benchmark results; the research checkpoint is no longer offered as a current download.

Checkpoint notice: The BTC-HCQT research weights were withdrawn from current downloads. They started from pretrained BTC weights and were fine-tuned on Beatles recordings. We have not established that this checkpoint is cleared for commercial deployment. The public code and benchmark are not a commercial-use clearance for the weights or the underlying recordings.

TRY CHORD DETECTION ON YOUR AUDIO

Have a recording to check?

Choose your file, then tell us what it contains. We'll take you to the right chord-analysis page and carry the file when your browser allows local storage. Nothing starts or charges here; you can review the price before you analyze it.

These are practical chord estimates, not the BTC-HCQT research model evaluated below. A full mix needs more processing than an isolated instrument.

Want a chord chart for your own music instead of model weights? Selekt offers one chord-analysis workflow with the right starting point for your file: Song to Chords for a full mix, MP3 to Chords if you want an MP3-focused guide, or focused piano and guitar pages for already-isolated instruments. Those practical upload pages use a separate estimation pipeline from the research model benchmarked here.

The numbers (held-out, public data)

ModelGuitarSet root / 7thsSchubert root / 7ths / mirex
baseline BTC80.9 / 64.673.1 / 55.3 / 64.1
ours (BTC+HCQT, Beatles-FT)80.5 / 63.073.8 / 55.6 / 65.3

A dead heat — BTC noses ahead on guitar, we nose ahead on classical, every gap within the 95% confidence intervals. The whole accessible field (BTC, CREMA, Chordino, and our variants) clusters around 77–82% root accuracy. Nobody is running away with it.

What we tried — and the lesson

Across separate experiments, we tested an HCQT front-end on pretrained BTC, an attempt trained from scratch on license-clean audio, real-audio fine-tuning, two- and three-model ensembles, and a reimplementation of the published BTC-FDAA-FGF additions (2025). Every lever landed at parity, never clearly past baseline. The benchmarked Beatles-fine-tuned checkpoint was not the from-scratch model.

The most useful takeaway is a cautionary one: an in-house metric showed HCQT doubling seventh-chord detection (27% → 48%). It was a recall artifact — a 7th-saturated training set taught the model to over-call 7ths. On frame-wise mir_eval the ranking flipped, and baseline BTC, which calls fewer 7ths but gets them right, came out best. Never trust a bespoke recall metric for a "we improved it" claim — use frame-wise mir_eval with confidence intervals.

A sanity check that the direction was sound: the published 2025 state of the art over BTC (BTC-FDAA-FGF) is itself built on an HCQT front-end — the same representation we chose — adding two further modules for a +1.2–2.2% MIREX gain. HCQT wasn't a wrong turn; closing the last point or two just takes a system, not a front-end swap.

Model provenance and commercial use

The checkpoint behind the BTC+HCQT result inherited pretrained BTC weights and was later fine-tuned on Beatles recordings. The upstream BTC authors describe training with Isophonics, Robbie Williams, and UsPop2002 audio obtained from music services; they did not distribute that audio because of copyright. The held-out GuitarSet and Schubert data used for our benchmark measure accuracy, not training rights.

We have not established commercial clearance for this BTC-derived checkpoint, so we withdrew it from the current GitHub and Hugging Face downloads. The MIT license on the current source code does not establish rights to the checkpoint's training recordings. For commercial work requiring documented provenance, verify all starting weights and training data—not only later fine-tuning data. Contact us with questions about research access; contacting us does not grant a license to the underlying recordings. Earlier versions may still exist in repository history or copies.

What we're sharing

  • A reproducible mir_eval benchmark harness over public datasets.
  • The HCQT variant of BTC — source code, methods, and reported results. The research checkpoint is not in current downloads.
  • A concrete extension guide for taking the HCQT base to melody, bass, and transcription.
  • A small, license-clean CC0 chord dataset sample — 400 public-domain tracks auto-annotated with chord progressions (see below).

Open dataset: 400 CC0 chord progressions

Alongside the model we're releasing a small, public chord-progression dataset: 400 public-domain recordings from the U.S. Library of Congress (Citizen DJ), each auto-annotated with a time-stamped chord progression plus detected key and tempo. It's a deliberately random, representative slice — not a curated best-of — and it ships as pointers and metadata only (no audio is redistributed; you fetch each recording from its source URL).

Read this first: the chord labels are BTC-predicted, not human-verified. That makes this useful for training, weak supervision, and exploration — not a gold-standard benchmark (you can't fairly score BTC against BTC's own labels). The annotations are released CC0; the underlying audio is public domain via the Library of Congress.

Why we did this

We're Selekt — we build cleared-sample and music-analysis tools for producers and composers, and chord recognition powers features like our chord-progression search. We needed good chord analysis, so we went deep — and we're sharing the honest result because a reproducible "here's where the field actually stands" is more useful than another unverified state-of-the-art claim.

Want a practical chord estimate for your own recording? Try Song to Chords, or start with an MP3, an isolated guitar recording, or an isolated piano recording. Those upload tools use a separate chord-estimation workflow; they do not run the HCQT research model benchmarked here.

FAQ

What is the best open-source chord recognition model?
On our reproducible mir_eval benchmark (GuitarSet and Schubert, held out from training), BTC (Park et al., ISMIR 2019) is the strongest open chord-recognition model, with CREMA close behind. Our HCQT variant of BTC ties it but does not clearly beat it — the accessible field has plateaued around 77–82% root accuracy.
Does HCQT (Harmonic CQT) improve chord recognition?
In our tests an HCQT front-end on BTC ties baseline BTC on held-out public data; it does not clearly beat it. An apparent early gain on seventh chords turned out to be a recall-metric artifact (the model over-calling 7ths). HCQT is, however, a strong substrate for extending a chord model to melody, bass, and note transcription.
Is there a reproducible open chord-recognition benchmark?
Our open repository shares the mir_eval harness, methods, and reported results for GuitarSet and Schubert Winterreise. The BTC-derived research checkpoint has been withdrawn from current downloads, so reproducing its exact scores requires access to that checkpoint. See github.com/marcusfkelley/btc-hcqt.
How accurate is automatic chord recognition?
The best open models — BTC, CREMA, Chordino, and our HCQT variant — all cluster around 77–82% root accuracy on held-out audio, a plateau. Seventh and extended chords remain the hard part.
0:000:00
Free
0st
75
Select a sample to start listening