How to: Live-Coding Jams
Over the last month or so, I have been playing jams on Estuary every weekend, with a handful of people from the Tidal Club forum and the occasional friend they bring. This was a very rewarding experience, which made me understand a few things on what makes or breaks good collaborative algorithmic music.
The advice I'm going to give here is fairly Tidal-centric, as it is the main language that I use, but some of it might be valuable for other paradigms as well.
Listen to others!
Most of this advice can be summarized in one sentence, that pretty universally applies to every kind of jamming: listen to what others are playing.
First, in terms of sound: be careful with the sounds that you introduce, and how you introduce them. If you are dealing with a sound bank you're not familiar with, don't go through all the samples at full volume until you find one that you like. You can either introduce them in a toned-down version, either by applying a
hcutoff filter or by diminishing their gain, or you can choose just one, stick to it, and let repetition legitimize it. Relatedly, be conservative when it comes to "novelty" sounds (yes, I'm thinking of you, "baa" and "yeah" default samples from SuperDirt): until you're feeling confident that you can pull off more, only use one of these at once.
Second, listen to the rhythm (or look at it in your partners' code): try to determine the "time signature" of what is already being played (ie, in how many sections the cycles are being divided). Once you've noted that, you can either build your pattern upon a similar division, or you can go the polyrhythmic route, but then better start off with something simple, check how it sounds, and then complexify it from here.
Third, try to be aware of the tuning of the samples you use (when applicable). It's not always easy, because there is no quick way to access this information, so you have to either rely on your ear, or retrieve it in advance, but when you start paying attention to it, this will greatly improve how the music you play sounds. You can find such information for some popular samples on here.
In a more general manner, pay attention to the motion of the music, how it is evolving, which transitions could be done, including the end of the performance. Make generous use of the built-in chat to communicate with others!
Careful with that performance, Eugene!
There are also some other things to be noted that pertain more to the technical characteristics of Tidal and Estuary, and they mostly have to do with being gentle with you and your partners' CPU.
For starters, avoid generating too many events in a too short time: be parsimonious with functions like
chop. Be also wary of too long samples, as they can lead to some distortion and saturation: use function
cut to mitigate this effect.
shape parameters have also be know to cause performance issues, but a safe mode (active by default) has recently been added to Estuary, which deactivates them.
Make good use of the
gain function. Use it to lower the volume of your sound if you feel it's drowning out what other people are playing, but be careful when setting a gain over 1 to boost your own parts, for you risk inducing some distortion (which can be what you're going after, but only do it with intent).
Obviously, these are more guidelines than hard dictates, and the more experienced you get, the more extravagant music you will be able to pull off. Take this advice as "how to play it safe when you're a beginner", and as you grow and mature, you will know how and when to detach yourself from it.