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].
This is a very cool approach to UI. I've been struggling to design a reasonable UI for poly. I think I saw a similar thing on the youtube channel of Yogev Gabay, but I forgot the name.
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.
So I went through the tutorial and got it set up on my old linux laptop, got it making sounds and managed to go through the workbook tutorial to hear that working. Maybe this will be my excuse to get a bit better with Haskell.
(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...
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?
That video is of Mike Hodnick, not myself. But to answer your question, the timbres are generally a combination of both things you mention. At its core TidalCycles triggers synths and samplers in SuperCollider. It also controls the effect chain they go through, though, so you can pattern "clean DISTORTED clean clean DISTORTED" as easily as "kick hat snare hat". And sufficiently high-frequency control of the synths will have timbral consequences, too -- alternate, for instance, between two constant frequencies sufficiently quickly and you've built a simple FM synth.
They have different aims. SuperCollider gives you outstanding timbral control, but patterning at the melodic or chord level is awkward. TidalCycles is a language for musical patterns, not for generating waveforms directly. If you want to mess with both, I'd recommend starting from the definitions of the synths in SuperDirt, the collection of SuperCollider synths that TidalCycles uses.
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.
The landing page: https://tidalcycles.org/
An example of some music made live with it: https://www.youtube.com/watch?v=mlUOWjC5fpY