Why it is a practice page and not a PDF
I am a drummer and a developer. Several tools already turned audio into drum notation when I started, and they all ended the same way: a correct file, handed over, and you still open it next to your kit, find your place, start the record, pause, count bars, rewind. The machine solved the part a machine finds hard and left me the part a human finds hard.
So the transcription here opens as a page you play from. The recording lives inside it, a cursor runs through the score, any bar loops, the metronome follows the record's own pulse rather than an average tempo, and a slider rewrites the part at five difficulty levels while the song keeps playing in full. That last one matters more than anything else on the list: a beginner who fails at the full transcription of a song they love usually concludes they are not ready for the song, when they are simply not ready for that version of it.
The model is ours, and that was not a preference
The strongest published open model for this task is ADTOF (Zehren et al., ISMIR 2021), a CRNN trained on 359 hours of real music. It works well. Its entire repository — code and weights — is licensed CC BY-NC-SA: non-commercial use only. Nothing could be built on it, so the model here was trained from scratch.
Training data was the hard part. Hand-labelling drums means marking every hit to within tens of milliseconds, which is not feasible at scale, and the open datasets are mostly synthetic — drum parts played by samplers. A model trained on synthetic cymbals hears real ones badly, and no amount of augmentation fixed it; the gap turned out to be timbre, not artefacts. The answer came from rhythm-game charts, where thousands of people have spent years marking up drum parts of real recordings by hand.
How it is measured
The only number I trust is a holdout: ten songs with full human annotation, excluded from training entirely. Both engines run on the same material.
| Voice | DrumAnalyzer | ADTOF |
|---|---|---|
| Kick | 0.991 | 0.989 |
| Snare | 0.972 | 0.958 |
| Hi-hat | 0.934 | 0.925 |
| Cymbals | 0.917 | 0.879 |
| Toms | 0.885 | 0.860 |
| All voices, micro-F1 | 0.952 | 0.937 |
Two caveats that belong with those numbers. Ten songs is a small holdout, so a lead of one and a half points should be read as "no worse than the reference", not as a decisive win. And the benchmark runs on clean drum stems; on a dense real-world mix the figure is lower, around 0.92.
I would rather you judged it on a song you know by heart than on either number.
What it cannot do
Stated plainly, because the fastest way to lose a drummer's trust is to oversell:
- Open hi-hat against ride in a dense chorus is unreliable — the line where human transcribers disagree as well.
- Toms are the weakest of the five voices.
- Ghost notes and fast sixteenth-note kick syncopation come and go.
- Everything is read in 4/4. Odd time will confuse the bar lines.
Your music stays yours
An uploaded file and its results live on a private link for seven days and are then deleted. Nothing is published to a public library, indexed, or shared — result pages are closed to search engines. The single exception is explicit and requires a button press: sending your corrections, which come back to the model as training material.
That last part is the arrangement I would like this to be. Every automatic transcription is wrong somewhere; a drummer who fixes a bar teaches the model something no synthetic dataset can. Details are in the privacy page.
Getting a wrong bar fixed
If it mangles a song you know cold, that is the most useful thing you can tell me, and the specific bar is worth more than a general impression. Write to support@drumanalyzer.com, or press Fixes in the player after correcting it in the grid.
See what it produces before deciding anything. A full song, transcribed, with nothing hand-corrected.
The longer version of this story is in Transcribing the drum part is the easy half.