Live data from Hacker News

I made a command-line tool to assist me with writing polyrhythmic drum parts

github.com

1–10 of 63 posts

Re: I made a command-line tool to assist me with writing polyrhythmic drum parts

#2
I’m a guitar player, and I use tablature notation editors such as Guitar Pro a lot. However, it gets complicated fast when I write polyrhythmic/polymetric drum parts, because shifts tend to go over the bar lines and it’s hard to make sense it’s correct visually (may be even harder if you listen to it). The other property of such parts is: it tends to unfold from simple ideas such as “I want to create a drum part that will have a 3 against 4 feel with a kick drum against a snare drum”. The other way to think about it is that it has a simple blueprint, but it’s tricky and error-prone to express in Western musical notation. This is why Polyrhythmix exists. I wanted to have a simple tool to workshop/brainstorm rhythmic ideas and evaluate them by having a MIDI playback. I’m into modern Progressive Rock/Metal music, Fusion, so it all applies very well. I have an impression it may be useful for Indian Carnatic music as well, but I would like to get some insightful confirmation on that.

Re: I made a command-line tool to assist me with writing polyrhythmic drum parts

#5

I’m a guitar player, and I use tablature notation editors such as Guitar Pro a lot. However, it gets complicated fast when I write polyrhythmic/polymetric drum parts, because shifts tend to go over the bar lines and it’s hard to make sense it’s correct visually (may be even harder if you listen to it). The other property of such parts is: it tends to unfold from simple ideas such as “I want to create a drum part that…

This looks super cool. I'm also a guitarist that, uh, isn't a very good drummer, heh. Will kick the tires, thanks for sharing!

Re: I made a command-line tool to assist me with writing polyrhythmic drum parts

#6
If you're interested in this, there's a good chance you would enjoy the TidalCycles language for generating music. It's been a mind-expanding experience for me, particularly w/r/t polyrhythms.

The landing page: https://tidalcycles.org/

An example of some music made live with it: https://www.youtube.com/watch?v=mlUOWjC5fpY

Re: I made a command-line tool to assist me with writing polyrhythmic drum parts

#7
Thank you very much for sharing your code with everyone. I am very sorry for laughing really loudly and waking my dog when I discovered that it was written in Rust, instead of Python or another dynamic language. After taking a step back, I realized that I could learn a bit about Rust by looking at your code. If I found interesting ideas, they would have likely been translated into another language anyway, unless I was really lucky and you picked Clojure.

Re: I made a command-line tool to assist me with writing polyrhythmic drum parts

#8
> converges over 3 bars

bars of what length? a 3 against 4 polyrhythm converges after 12 beats, so here it's 3 bars of 4 beats, which is a "bar" for the second rhythm you passed in (`'4-x'`) but four or two bars for your first rhythm (depending on if you write it 6/8 or 3/4, this one could go both ways).

Would be worth letting us know in the CLI, if you think about more esoteric polyrhythms it gets more confusing.

Re: I made a command-line tool to assist me with writing polyrhythmic drum parts

#10

I’m a guitar player, and I use tablature notation editors such as Guitar Pro a lot. However, it gets complicated fast when I write polyrhythmic/polymetric drum parts, because shifts tend to go over the bar lines and it’s hard to make sense it’s correct visually (may be even harder if you listen to it). The other property of such parts is: it tends to unfold from simple ideas such as “I want to create a drum part that…

Very excited to see this. It's very much a tool I would use, excited to give it a spin after work tonight. I also look forward to reading the code.

Other cool music tools I've seen implemented in rust:

* glicol - https://glicol.org/

* tune - https://github.com/Woyten/tune

A while back I wanted to make some tools to aid in composition and was using rust. Very partially baked, but a fun pet project to learn the language with. Generates just intonation pitch lattices based on my research of Ben Johnston's compositional approach. https://github.com/jcpst/johnston

Post reply on HN