OK so some UI changes in the bag, on to the second set of issues, “Slice Management”. I made sure I found a bunch of test loops that displayed the issues I was having, and added in some that didn’t as well as adding in some “non rhythmic” material, specifically some bass loops and some long running pad sounds (cinematic material you might call it). I wanted Slice to handle all these nicely.
I’d tried (historically) all sorts of things to fix this, and the last thing was to actually slice up every loop I was going to use into 32 different wav files, and to manually edit these to get them to work. This took a huge amount of time and effort even after I’d written a bunch of python code to automate a lot of it. The hand/eye/ear editing couldn’t, it seemed, be replaced.
So I’ve been thinking about it for a while and giving each played note (slice in this product) its own envelope seemed to be a potential way forwards. So this would mean a lot of envelopes, and they can be CPU expensive…so first thing was to see how badly envelopes would affect this. Turned out not so much as we were only keeping 12 loops in memory at any time. Next was each of these envelopes would need an on/off button and a set of controls(attack, hold, decay). Clearly one of the existing slice effect buttons was going to have to go…
Here I made a serendipitous mistake(see the next episode for why this is so). The obvious candidate here was the fade-in control, after all what’s envelope attack if not fade-in? But I chose Unison instead (Clearly I had some sort of “Brain-fade” here). Unison was sort-of-OK, but it really wasn’t adding much that the volume controls for a slice could do as well if not better. So Unison (U) got replaced by Envelope(E).
Now an earlier version of Slice had already included an envelope, and as soon as I added it back in I got all the nice things it used to have – you could shorten the playback length(Hold) and get a nice gating effect(really nice on snares), or lengthen the decay to make slices blur together – making those cinematic and bass loops work seamlessly. Shortening the hold also get rid of “bumps” at the end, and adjusting the attack helped with the clicks at the start too. It could be a little fiddly but once done for each loop it was fine – and remember now I have loop-specific settings for all 10 controls. So worst case I could hand-set the controls for those loops that were unfriendly citizens.
So I realise it’d be nice to hear these changes, so (with luck) here they are, first Orbiter plays a “normal” drum loop, then plays it again with the snares gated:
Next Orbiter plays long evolving cinematic sound without envelope(there are slight clicks in the loop), next it plays the same loop but with envelopes deployed on each step to “smear” the sound to get the nice original sound back. Finally Orbiter plays the loop but uses the envelopes to give each slice a gated rhythmic feel.