A try-out to enable some sort song-generation with a meaningful way for the settings of different parts of the song.
It features a main "compex counter" that randomly creates an amount of poly-rhythmic measures based on a base measure-size, amount of measures per bar and amount of bars that the "part" of the song may have.
By adding attribute-based sequences with names, a song can be "set-up" that control other modules that will perform the dedicated function eg. the genre-sequence might be used to select different presets from a drum-sequencer to set each part of a song to another genre.
Basically, it just spits out sequences of index-numbers for all counting positions of beat,measures,bars, parts and the manual settings per part, that can be used to control modules. The meaning of each setting is completely up to you, I just provided several naming/meaning examples that would still need other "receiving" modules to actually perform the corresponding function selected by the index.
I've tried to make this as simple as possible to customise, so people can make their own lists of meanings/functions to control.
Note that this bunch probably already takes quite some memory of your patch-size (look at the file size! haha), so it would be mostly used in case you've got multiple axoloti that work together to create a full song and you use a single axoloti to control all of them over midi or using the analogue/digital ins/outs, or whatever way you use to make them communicate.
song creator1.0.axp (559.9 KB)
Cleaned up patch without explanations&displays of the different parts, but added an even more simplified version of the ALL SETTINGS modules.
Also shows how to add more of them to provide loading/saving song settings with multiples of 16 settings.
song creator1.2.axp (543.7 KB)
ps. to minimise the amount of midi-messages being send, some of the indices can be combined as they're just a couple of bits and send as one midi CC value message like this:
This way, the first 4 bits are for index A (numbers 0-15) and the next 3 bits can be used for index B (numbers 0-7).
The receiving side can then decompose the message like this: