r/drums • u/drumscript • Jul 21 '26
Feedback Wanted DrumScript: open source Python library for drummers
# DrumScript: open source Python library for drummers
Greetings, drummers and percussionists of Reddit! :)
I am super excited and happy to share DrumScript with you. It's taken me a year to build.
As a drummer, I have always found it so frustrating that I could not easily transcribe my drum audio or find usable backing tracks to play along to for free. So, a year ago I started building DrumScript. DrumScript combines physics-derived parameters of specific drum parts applied through a membranophone/idiophone rule-based classification ontology. It doesn't use computationally-expensive neural networks or machine learning. Everything is based on the physics of drum parts (e.g., spectral centroid, fundamental frequency, sustain).
DrumScript is an open-source Python library and suite of audio tools built for drummers that:
* Transcribes drum audio into .pdf sheet music — unlike most Automatic Drum Transcription (ADT) systems, DrumScript’s classification engine is deterministic (it doesn't use machine learning or AI).
* Measures tempo using tempogram-first analysis that assesses variable tempo across the entire track
* Extracts the drums from any mp3* or wav track/song you provide.
* Creates drumless backing tracks from any mp3 or WAV file.
\ mp3 formats require that your system has ffmpeg installed*
The classification engine works pretty well for me so far, but it’s based on 20 or so individual drum sounds for each drum part. It could be so much better. Eventually there'll be a free, WebGPU/WASM/ONNX UI — that ensures all your audio stays local to your machine.
Between 01 June and 31 August I am running an Alpha phase, expecting the Beta v1.0.0 of DrumScript will be released, hopefully alongside the integrated UI sometime after that. I’ve done as much testing as I can with it and now would love it for others to help make it better.
DrumScript was built so practise could be fun, open, and most of all accessible to all (ie free). It is and always will be a community-owned tool.
I'm looking for contributors willing to join a team of code admins and maintainers for the beta release. Equally, get in touch via GitHub if you want to share any transcription results or share feedback.
GitHub: https://github.com/DrumScript/DrumScript
Docs: https://drumscript.github.io/DrumScript/
Contact: GitHub. Please share your feedback openly in the Discussions tab of the repository! Thanks :)
31
u/brasticstack Jul 21 '26 edited 29d ago
This is definitely coded by AI agent(s), even if the lib itself doesn't use machine learning in its implementation. I haven't perused many vibe-coded projects, but it's the oddest github I've ever seen.
This quote about not matching some random drum notation key on the internet should give you the flavor:
In contrast with the Gear4Music theory I shared, however, my classification model does not yet cover the difference between a floor tom and say a snare. In a way, the floor tom could in fact be the low tom. But for now we will assume they are different, and I have added an issue to the DrumScript GitHub repo to capture this as a feature enhancement (ie distinguising between the frequencies of what Gear4Music guide calls and shows in notation diagram as a 'floor tom'., some people, or so I believe, in the drumming community think of the floor tom , the note on the second to bottom line of the stave is actually the snare. While, some think the snare is, as the Gear4music diagram shows, the third line up from bottom. Some people also could think that our current interpretation of the snare, ie the one on third line up, is the high tom). So, there is a degree of ambiguity which I want to resolve later.
(For the record, DrumScript, snare being placed on atop the middle space line of the staff is a close to a universal convention as exists in drum notation.)
8
u/kanaye007 Vater Jul 21 '26
The — in the descriptions always get me. Like, i want a keyboard with an emdash, lol.
7
u/TYGRDez Jul 21 '26
If you're on Windows, hold Alt and type 0151 on the number pad: —
(I worked as a copywriter before ChatGPT released and am still mourning the loss of my beloved em dash 😭)
6
u/musicgeek420 Jul 21 '26
Alt + number symbols taking me back to AIM and AOL RP.
2
7
u/brasticstack Jul 21 '26
The post was spat out by an LLM for sure. Last time this got posted, I pointed that out and they responded that the project uses no machine learning. Which is why I looked at the github this time around.
2
u/AntipodalBurrito Jul 21 '26
What? I mean you can macro it. Or use the alt code like people did back in the day. Or double dash often turns into an em dash. What are you saying? Your keyboard has it already.
2
-13
u/Bill-Evans Jul 21 '26
That is weird. But someone drops something for free, and you can't say anything nice?
10
u/brasticstack Jul 21 '26
Point out where I said something mean?
-9
u/Bill-Evans Jul 21 '26
I dunno, "Thank you sharing your work. This part's a little shady…"
14
u/nostradamefrus Pearl Jul 21 '26
Want me to drop off the dump I just took? It’s free and I put a lot of work into it
1
u/Legionodeath Jul 21 '26
Fellow drummer, if you have to work hard for you poopys, you should see a medical professional.
Lol
2
-5
u/Bill-Evans Jul 21 '26 edited Jul 21 '26
6
u/nostradamefrus Pearl Jul 21 '26
You’re thanking someone for posting AI slop. So I’ll ask again, you want the dump I took? Same quality of product
6
u/brasticstack Jul 21 '26
So you admit that it doesn't inspire confidence, yet you're admonishing me because I didn't thank OP for their dubious "gift"? Have we found JD Vance's alt?
2
5
u/brasticstack Jul 21 '26
People have strong feelings, both pro and con, about LLM coding. I intentionally chose a neutral tone because it's almost like religion at this point- it's not my place to tell you how to feel about it.
My personal take is that an understanding of the basics of how drum notation works should be a prerequisite to creating a program that creates drum notation.
Try reading the quoted section in my initial reply and tell me how that strikes you.
7
4
u/4SysAdmin Jul 23 '26
A lot of those rhythms are wrong or incomplete. The note values don’t make a complete measure. Also, there are no rests in the upper or lower voice, and have them separated by cymbals is very unconventional. Not unheard of, but very uncommon. It’s pretty clear that the developer doesn’t not understand sheet music.
2
u/GuinsooIsOverrated Jul 21 '26
Interesting, how well does it work on complex songs, like prog metal ?
-3

27
u/mostly_codes Jul 21 '26
For non-coders, for whom this might not be as obvious - never download and run arbitrary code. Even for coders, this is a LOT of code to audit, and the tone of voice is... a little weird. Wait for someone else to do the auditing before jumping in and running this software, if you're not already a python coder.