I made a command-line tool to assist me with writing polyrhythmic drum parts
github.com
github.com
The landing page: https://tidalcycles.org/
An example of some music made live with it: https://www.youtube.com/watch?v=mlUOWjC5fpY
those are some incredible tones you're working with in the video. are they being generated by the rytm or samples or something else?
[1] https://soundcloud.com/lil-data [2] https://scholar.google.co.uk/citations?user=APvoBhUAAAAJ&hl=...
TidalCycles does offer a lot of ways to control the timbre -- there are a bunch of effects, including some magical granular stuff. And merely triggering samples at sufficiently high frequencies, particularly frequencies that vary over time, can generate some cool sounds. But SC will give you much more control over that kind of thing.
TidalCycles uses a different language, does not tie you to any particular IDE, and is focused on music in particular, not audio in general.
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)
As we sit into our booth and the environment closes around use we are greeted with soft, soothing music.
As we get into conversation, the body language, verbal language, laughter and even facial expressions we express inform the mood of the room - and the music that it produces. A certain, unique-to-our-meeting melody. All of this is encoded and played back as music in real time.
Later we can use the melody to replay the mood and dialogue of the night - as everything that was said was encoded into the music heard - but may be decoded to have a recording of the conversation...
For further information, contact
@Cymatic.ai
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...
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
No clue what intonation pitch lattices are, but now I'm interested to learn!
I also tried making a web UI with it via Yew. I got it all compiling and running in the browser, but the crate is all about that CLI. I would have to write a lot of the code that’s in the CLI file to call the create_smf function.
It might be worth considering designing the library’s API to be a bit friendlier to an end user. I think there’s cool stuff that could be done with it. Or at least that’s something I want to do :D
It's like math notation. There is a canon of work over a very long period of time that can be used as a foundation for expressing many different intricate ideas in a compact way. And in the 20th century tons of non-traditional notation styles have been thrown into the western mix.
What I want to do is to learn a bit more about Konnakol, which is the Indian musical art expressed in percussive syllables. I have an impression that building a bridge between Konnakol and western notation can really get the creative juices flowing.
I use a eucledian pattern generator to sequence some of my drums and voices in my eurorack modular synth and it works so well
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.
https://media.ccc.de/v/456-tsh-a-dependently-timed-drum-mach...
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.
4/4 is the default.
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)
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
Also Demetori (Touhou) is great: https://www.youtube.com/watch?v=po69XUGd2v0
I had to think about that for a bit, but yeah, that's what it is alright
> For example (3,8x(3,16x-xx(3,32xx-x)))) would read as "Three
Also, I find static linking to work great with Rust, so it's quite easy to distribute your app.