Algorithmic Composition With Renoise

Hey all,
I’ve started experimenting a bit with algorithmic composition in renoise using lua. I’m surprised more people haven’t played around with this. If anyone’s interested, I put up a test here: (scroll down to b-sides). It’s just a 10 second glitch-test for now (no vst’s used), but the possibilities are pretty interesting.

are you creating tools as well?

At the moment, I’ve mostly been writing scripts for my own use (hacking a few minimal interfaces to deal with the process slicing and control parameter).

It might be interesting to exchange ideas with the community and release a few tools, but I don’t know if there’s really enough interest in this kindof thing - this might be too much of a niche to justify general purpose tools. Personally I think it opens up some cool possibilities though, e.g. turning renoise into a granular synthesis monster, new sound design methods…


I’ve made random generated ambient with native devices

definitely interest here :)

What do you mean with process slicing? Since you mentioned granular as well, are you manipulating sample values or 9XX patterncommand vales in an algorithmic way?

I’m interested in creating randomly generated note sequences / (automation) values that run over time (=multiple patterns) within a variable mask (changing upper and lower boundaries).

If you need some inspiration, check out this bible:

Definitely way interested in far more info on algorithmic Renoise, and the availability of your code/the possibility of generative tools for Renoise.

Jonas - The retriggering here wasn’t just 9xx, they’re notes. One idea I have (of which this was a primitive example) is that i have is that if you splatter enough notes, you can effectively turn notes into sonic “grains” and note-cloud-like gestures. I have some ideas of other ways to do this that aren’t as “machine-gun” as this. Using some scripting, you can express ideas like this that would take an annoying amount of note entries to pull off.

Here’s the basic idea for this one (it’s not super-original, but hey, gotta start somewhere…):

  • retrieve contents of a specified directory and grab 30-40 random samples (it’s kindof fun to have the program pick the samples for … I just pointed it to my bass drums and snares directory)
  • Cycle through each sample for each block of rows (a block can be, say, 12 rows … I have the tempo up really fast!)
  • Take a block and divide it by 2,3,4,6,12 -# of notes / “manual” retriggers
  • Pick a random start and end volume to interpolate notes in the block through that range
  • Enter retrig notes, with some probability perform a “sweep” or “buzz”
  • A “sweep” is a block of retrigs with each note transposed up by some fixed amt
  • A “buzz” adds 9xx to each note
  • to add some stereo spread, copy everything to N other channels, randomly panning and delaying on a per block basis

Thats the idea. Of course it takes some tuning to get parameter/note/volume ranges/probabilities and prepare the sample library to make this musical. I didn’t do that :slight_smile: so at the moment, its not all that musical, but this is more of a proof of concept at this point. Next time I’ll try to come up with something that’s a little more expressive.

Re: process slicing- I think there’s an example of this in the scripting demos somewhere … my jobs were timing out sometimes cause I was making this on an underpowered rinkydink netbook.

I do most of my generative/algorithmic doodling in Bidule or my Nord Modular, but this is an interesting project…I look forward to seeing where you take it!

Scripts that would enable soundsculpting this way would be a great improvement over inputting all the notes by hand indeed, like done in the old days with timestretch emulation through high bpm, lots of note events and 9XX offset command.

Besides the more exotic granular stuff you are speaking off, maybe a timestretching tool that automatically fills in the patterns with notes and offset commands would be an easier scripting start?

It should fetch the highlighted sample in the instrument list, fill enough patterns with base-note’s c4 and offset command running from 900 to 9FF, at high enough bpm / lpb. Than add extra features later on like arpeggiated, variating note or offset patterns to create crazier timestretches.

Ooh, I like this! :) This would make a great tool for me already, some kind of random kit creator. Direct the tool to a directory, specify an amount of samples and have it generate the instrument list accordingly. Please share if you have this done!

Good stuff, like to beta this!

I think an option to insert variating bpm & lpb more easily in renoise, like through drawing an envelope, would be great to have for these kind of sample manipulations. Some way to specify fluctuating speeds algorithmically over time is worth exploring too.

that is a really great idea.

Run a couple sources of noise from one source or another through a bunch of stuff, attach LFOs to just about every parameter, attach LFOs to every LFO’s rate, and attach a Hydra to all of the second level LFOs for each effect. Attach another LFO-modulated LFO to the Hydra. Then make a master Hydra that controls all of the highest order LFOs and slap an LFO-modulated LFO on that. Adjust all parameters to taste.


PS: Oh, and switch some of the high order LFOs to random and fidget with the inertia on a lot of them.