Next, randomisation. A Loop Player, playing loops yeah? Good things about loops = performance, sound, recording all done for you, so instant usable sound source. Bad things = Next time thru the loop playback sounds exactly like this time thru the loop playback. 2+ times thru the loop = “it sounds like you are using a loop”, and historically there wasn’t so much you could do about this, until now…
Orbiter inherited a bunch of nice randomisation functionality from Slice. You can load up patterns, that reorder how parts of the loop (slices) get played. So of course you can start at slice 1 and move sequentially to slice 32 (SIMPLESTEP – is the name of the pattern in Orbiter) but of course there are dozens of different patterns in Orbiter, including some that randomise the bar sequence (RANDROW) or some part of every bar(RANDPART) etc. So already there are lots of randomisation things in Orbiter.
But I wanted to be able to randomise nearly EVERYTHING, especially the Voice and Sound controls. So first is the randomisation of ON/OFF states for every effect selector button in every pad. So for example, you can decide to have the reverse effect in pad 4 randomly applied or not, or the Tuning in pad 19, or Volume in pad 12, or the Sends in pads 4,6 and 22 etc. etc. Of course randomisation settings require to know how often they are likely to be applied – so I added controls in the Settings tab for on/off likelihood, and then as you will see took these out again.
Next was the effect values themselves. Clearly some effects, like Reverse or Random, only have an on/off state – they are either Reverse(d) or they are not, but every other effect has a set of values; for instance the Send controls can be randomly on or off, and each of the 4 send amounts should also be randomizable. So the user could set the Send effects on randomly 45% of the time and Send 1 thru 4 amounts to be randomised 60% of the time. Again these controls get a “likelihood” dial in the settings page. So now we have a huge amount of randomisation possibilities, such that no two loop iterations would ever sound exactly the same.
All this needed a nice way to get applied quickly by users so its time to rationalise the Alt/Shift/Ctrl click usage. So I did this – now Shift-Click on an effect button and all buttons of the same type are set to its value(ON or OFF). Ctrl-Click on a button and its randomisation is turned on/off. Same with the values widgets in each dialog, e.g. Shift-Click/drag on the Volume Control in the Volume Dialog, and all pads have their Volume set to the same amount. Ctrl-Click on the same control and all Volume amounts are set to randomise.
And I played with this for a while(a few days) until I realised instead of this Ctrl-Click nonsense all I needed to do to get individualised effect control was add another pot to every effect pop up, the “likelihood pot”, so now every pad effect has the ability to set its “likelihood”. So this Ctrl-Click stuff wasn’t needed for effect buttons at least, so I removed it, and thus I also had to go back and do some cleaning up in the Settings page but it was more in tune with the overall approach Orbiter uses and it added more flexibility always a good thing. Now Orbiter offers users the ability to randomise patterns and on/off states for each pad effect and the actual pad effect settings themselves, so subtle to wild randomisation depending on your tastes, but not so much of the “classic loop repeating” sound.
Here’s what a typical dialog looks like in a pad, in this example the envelope dialog for (A)ttack, (H)old, (D)ecay and (?)Randomisation’