[Project Bases] Random L/R positions (or other parameters) synchronized between instruments triggered simultaneously

Post Reply
User avatar
Saltbearer
Posts: 148
Joined: Thu Sep 04, 2014 2:18 am
Location: Caflirinoa
Contact:

[Project Bases] Random L/R positions (or other parameters) synchronized between instruments triggered simultaneously

Post by Saltbearer »

Project bases, not metamodules. Don't think they could be metas.

Original: Randomized L/R positions.
Layer 2 contains LFOs, MultiCtls, and Sound2Ctls for randomization.

Layer 3 contains Velocity2Ctls, and MultiCtls to send randomized, identical min + max values to them.

Layer 1 contains MultiSynths. Each triggers 1. two Velocity2Ctls from Layer 3, sending their current random values to (in this case) the L and R controllers on an LR Position module, and 2. an instrument you select, which is routed into that LR Position module. There is also a MultiCtl to introduce some random desynchronization to the values given to the Velocity2Ctls connected to the channel position controllers.

Result: MultiSynths triggered at the same time apply identical randomized values to instruments' stereo channel positions (or whatever you connect). When one is triggered apart from another, it will not affect the other's L/R positions (etc.), so release tails, reverb, etc. will not be broken (though they can still do this to themselves).

Possible modifications:

Disconnect MultiCtls 1D and 22 and set their Velocity2Ctls' minimums to 16384 to make stereo positions converge on center as velocity lowers.

Obviously, the randomized parameters could be anything, not just stereo positions.

I suppose I added the MultiSynths to provide an easy bridge to the Velocity2Ctls. You could directly replace the MultiSynths with your instruments. Or disconnect them from instruments and trigger them parallel, while using instruments' local controllers and velocities, maybe skipping a MultiSynth trigger to let a release tail play out, maybe curving the MultiSynths' velocities and shifting around the Velocity2Ctls' min/max ranges so their velocities are relevant.

The version above contains 31 modules. Each new synchronized instrument requires a Velocity2Ctl per synced parameter, whatever module(s) they connect to, your instrument, and a MultiSynth if your instrument doesn't trigger the Velocity2Ctls directly. If you want more slots and don't want to keep the fuzzing option, remove these and let 1D and 1E control 1F and 20:

Image

Here's the most barebones base possible, with the fuzzer, compressors, synths, target modules, and two Velocity2Ctls removed (leaving 7 modules):
BASE-pull value from randomized source.sunvox
(6.51 KiB) Downloaded 333 times
EDIT: You know, it never occurred to me to actually test whether or not a generator routed into a Velocity2Ctl would actually trigger it. It does not. So I guess you need MultiSynths. I'm lazy and currently working on something so I'm not going to change the "barebones" file, or whatever else I said above. :V
Post Reply