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.
Also worth checking out Lil Data [1], an artist affiliated with PC Music who uses TidalCycles and also has a doctorate in some pretty interesting musical research [2].
How would you compare Tidal to stuff like Sonic Pi? I admit Haskell appeals to me WAY more than Ruby, though it seems the install process isn't as seamless as SP is.
(this set is "from scratch", meaning that it opens with an empty file and starts from there, making it clearer to understand what is going on as it builds up)
This is so dope! Love seeing the analog rytm used in a coding project like this. Want to see if I can get it to work with my mk-II, should be basically the same.
those are some incredible tones you're working with in the video. are they being generated by the rytm or samples or something else?
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.
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
I have only familiarity with western musical notation, and it too me a while to get there. Tablature and track notation (digital audio workstation) both were completely intuitive to me. Is there anything that argues for learning Western musical notation- IE, does it help express some things eloquently/efficiently/naturally? Every time I ask classically trained musicians (who started with a piano and a music book) they look at me like I'm crazy and dumb.
(it goes at length into the algorithms, but the intro is well enough; in the end you can hear some examples too)
I second the other post recommending the Tidalcycles music livecoding language, as it uses euclidean rhythms as a base from which you can compose on. Livecoding combined with euclideans is such an interesting musical paradigm that I'd name it as one of the widest musical revelations I had.
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.
I'll definitely take a look at that! I've decided against an UI for Polyrhythmix for now, as I don't have a good sense of how to make it easy to use, but retain the flexibility I can get with a DSL programmable input.
Another cool grid-breaking language for Polyrhythms and euclidian and beyond sequences is Nestup.
https://nestup.cutelab.nyc/
In addition to the website and github, It also has a great implementation as a Max for Live device and can drive Ableton. I’ve enjoyed it since it’s initial release.
This is super cool and I can’t wait to try it out. There’s more than one polyrhythm I’m trying to arrange, and being able to quickly hear it without having to come up with a sticking or arrangement would really help.
for immediate visualisation of polyrhythms, I really liked the Buchla 252e UI with the big circle. But Buchla stuff tends to be way over my usual budgets. I wonder if there is anything like it in plug-in or Eurorack format?
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.
Can't be honest about being taken aback without getting crowd downvoted by trigger-happy Rustaceans. You don't have to be that defensive I was honestly surprised by the choice of language for the application.
Jeff_Brown|2 years ago
The landing page: https://tidalcycles.org/
An example of some music made live with it: https://www.youtube.com/watch?v=mlUOWjC5fpY
al-king|2 years ago
Strudel REPL: https://strudel.tidalcycles.org/
One interesting feature of Tidalcycles is Euclidean Sequences, where various 'natural' ways of distributing X notes over Y durations are easily expressed: [1] https://tidalcycles.org/docs/reference/mini_notation/#euclid... [2] https://strudel.tidalcycles.org/learn/mini-notation#euclidia...
wwalexander|2 years ago
[1] https://soundcloud.com/lil-data [2] https://scholar.google.co.uk/citations?user=APvoBhUAAAAJ&hl=...
runevault|2 years ago
luluganeta|2 years ago
https://www.youtube.com/watch?v=1IzfMqs5NGw
(this set is "from scratch", meaning that it opens with an empty file and starts from there, making it clearer to understand what is going on as it builds up)
a_simple_dev|2 years ago
those are some incredible tones you're working with in the video. are they being generated by the rytm or samples or something else?
glimshe|2 years ago
dredozubov|2 years ago
jcpst|2 years ago
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
dekhn|2 years ago
karlgrz|2 years ago
atorodius|2 years ago
I use a eucledian pattern generator to sequence some of my drums and voices in my eurorack modular synth and it works so well
luluganeta|2 years ago
https://medium.com/code-music-noise/euclidean-rhythms-391d87...
(it goes at length into the algorithms, but the intro is well enough; in the end you can hear some examples too)
I second the other post recommending the Tidalcycles music livecoding language, as it uses euclidean rhythms as a base from which you can compose on. Livecoding combined with euclideans is such an interesting musical paradigm that I'd name it as one of the widest musical revelations I had.
iainctduncan|2 years ago
sshine|2 years ago
https://media.ccc.de/v/456-tsh-a-dependently-timed-drum-mach...
dredozubov|2 years ago
Jeff_Brown|2 years ago
ferrous69|2 years ago
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.
dredozubov|2 years ago
Tyr42|2 years ago
4/4 is the default.
sirjamespants|2 years ago
I have a web-based polyrhythm generator as well based around Euclidean rhythms.
https://e-drums-stg.vercel.app/
currently working on a v2 with a much better mobile interface and fewer clicks)
dredozubov|2 years ago
grugagag|2 years ago
moogly|2 years ago
http://www.panix.com/~jens/polymath-old.par
peapicker|2 years ago
In addition to the website and github, It also has a great implementation as a Max for Live device and can drive Ableton. I’ve enjoyed it since it’s initial release.
An interesting interview with the creators from MusicHackspace is here: https://www.youtube.com/live/wZeadB56YFs
Phelinofist|2 years ago
Also Demetori (Touhou) is great: https://www.youtube.com/watch?v=po69XUGd2v0
crtified|2 years ago
https://en.wikipedia.org/wiki/Tomas_Haake
duderific|2 years ago
I had to think about that for a bit, but yeah, that's what it is alright
dredozubov|2 years ago
thatxliner|2 years ago
xhevahir|2 years ago
xigency|2 years ago
dredozubov|2 years ago
wizzwizz4|2 years ago
> For example (3,8x(3,16x-xx(3,32xx-x)))) would read as "Three
dredozubov|2 years ago
type0|2 years ago
dredozubov|2 years ago
unknown|2 years ago
[deleted]
mastazi|2 years ago
KingFelix|2 years ago
waffletower|2 years ago
waffletower|2 years ago