Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Drumscript: A simple MIDI drum machine scripting language (github.com/tepreece)
80 points by homarp on Aug 29, 2023 | hide | past | favorite | 31 comments


In 2005 I made a MIDI drum machine program[1] that could accept ASCII drum tablature as input to varying degrees of success, either by loading from a file, or you could just paste it in with the mouse (either via middle mouse button[2], or right mouse + PASTE). At the time, mxtabs.net[3] had tons of ASCII drum tab, but it shut down a short time later (2006).

My program could try to re-factor these drum tabs to pull out common repeated patterns to be represented in my program's native format. It was a fun project. (I'm a much better C programmer now than I was then.)

[1] https://github.com/smcameron/gneutronica [2] https://www.jwz.org/doc/x-cut-and-paste.html [3] https://en.wikipedia.org/wiki/Mxtabs


Wow no kidding -- what a loss re: mxtabs!

https://web.archive.org/web/20050325042659/http://mxtabs.net...

Eternal thanks to archive.org


It's awesome that you replied to this thread, because I was thinking about writing a program like this, and I'm happy that it exists.

Does it work on the modern OSes?


It's linux only, and MIDI only, and it needs GTK2, but yeah, it should work on modern linux. You can use jack[1] to connect the midi output to a softsynth, or another drum software (e.g. Hydrogen[2]) or to actual MIDI hardware.

There's a video demo[3] of my program I made 3 years ago. The pasting of drum tab is demoed at 6:20 in the video.

[1] https://jackaudio.org/ [2] http://hydrogen-music.org/devzone/ [3] https://www.youtube.com/watch?v=ZkqcNK6P1i8


If you think this is cool check out Orca, which I'd describe as a visual musical programming language: https://100r.co/site/orca.html

Spent a week playing with it last summer and it was a blast.


Everything made by 100rabbits is beautiful and worth checking out


Related:

⊥’tsh : a dependently timed drum machine language by Joachim Tilsted Kristensen

https://www.youtube.com/watch?v=9DdBnR1K4UU


That's an amazing name.


Too bad it lacks "boing boom tschak"


Have you tried pressing down the special key?


Yes, it took my breath away so I needed some Oxygene


I don't know what to do. I need a rendezvous.


apparently, it plays a special melody.


amusingly, electric cafe became the snl "dance time" for Sprockets.

of course it was sped up and looped, but very identifiable.


No disrespect to the author, but how do projects like this trend on HN? It has 5 commits all from the same day last summer. There's very little activity or engagement with the project to date. Something like this happens almost every week.


Someone who isn't the author stumbles across it, thinks maybe HN will appreciate it, and is correct.


except OP didn't just stumble, they submitted it a few months ago (with little interest)


HN sometimes invites people to resubmit submissions that got little attention.


Maybe OP should comment why they submitted it/what they find notable about it


> why submit it

the reason I post to HN is twofolds

a) it might interest other people

b) other people might post similar projects and I will learn about these projects. (e.g. https://news.ycombinator.com/item?id=37313652 )


because I was writing some golang code to play with a Novation Launchpad Mk1 (https://github.com/FMMT666/launchpad.py was very useful)

and I was searching what kind of "rhythm machine" i could interface with

and I found it interesting back then because

a) it's text based

b) it's in golang


How many commits over what period do you suggest before a project hits HN?


A project does not have to be active to be worthy of a post on HN, just cool.


yeah, the instant upvotes are a bit weird. And the increase in dupes generally


>And the increase in dupes generally.

Says someone frequently posting dupes[0][1], and even their own dupes[2][3].

[0]https://news.ycombinator.com/item?id=37296548

[1]https://news.ycombinator.com/item?id=37078576

[2]https://news.ycombinator.com/item?id=37254136

[3]https://news.ycombinator.com/item?id=37254147


Those are mostly filling in unposted articles to stop new threads starting up and instead direct to where the discussion is already happening. Because the dupes are out of control sometimes


it's an "Invitation to repost"!


A friend of mine had some content reach the front page maybe 6 months ago. I don't know this for 100%, but I think for cool projects that dang thinks are of interest to the community, he will post them to the front page manually some time after the original post date when (speculation here) the front page needs some interesting content. When something like this happened to him, my friend's post date got reset, but the votes and comments it may have received while it was waiting remained. This might explain the instant votes mentioned.

Nice little project, I'm glad to have seen it. Music generation stuff is always of interest to me.

edit: Saw this on another thread. Seems to line up with what I was talking about: https://news.ycombinator.com/item?id=26998308


would be great to put some examples in your README especially for those of us not so familiar with the concept


How does it standout from the countless MIDI sequencers out there? I don’t get it


Should it?

I find it very inspiring reading through this. It reminds me of the breadth of programming.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: