First: You reaaaally want to buy yourself a licensed version of Renoise Figuring out this trick required a pretty low-level mental model of Renoise’s sampler. And I wouldn’t have been able to RE that without the invaluable Render Selection To Sample feature, to inspect waveforms and see in what manner they corresponded to my expectations. Also the price!
Second: This mental model of Renoise’s sampler is not complete I only researched it as far as needed to solve this particular problem, which turned out to be mainly about disabling certain behaviour, make it act like a “dumber” sampler actually. Once disabled, I didn’t investigate how these features exactly work when enabled (and especially how they interact). That’s something for future research, maybe. But if you just want full control, this is sufficient to eliminate variables.
So, what is going on?
I love acid. I have so many basic sawtooth beepy lowpass reso-filtered cutoff envelope instruments saved in my user folder it’s not even funny (no actually it is hilarious). Now, my “basic sawtooth acid” instrument, has a single-cycle sawtooth sample and a very basic device chain of a Key Tracker, triggering a one-shot LFO (exponential decay), modulating the cutoff of a Lowpass resonance filter. And a whole bunch of macro controls. You know the drill (nowhere near a proper 303, but that’s for another post) (or possibly a whole book). Sadly this isn’t about the filters, and if you’re following along, disable them for now because the phase shift can confuse matters a little. Get this right without the filters first.
Remember that acid bass lines are monophonic. We’re not going to play chords with this. So flip that “Mono” button (top right in the sampler screen).
But now it’s just a monophonic sawtooth single-cycle chip sound! Yes, and it’s not working properly (I was gonna say “as I expected”, but IMHO it really skirts the line).
To see this, program a little 16-step “acid” bass line (lock it to the Blues scale if you must ), without note-offs, just the instrument interrupting itself through the NNAs.
So per default we have no modulation, no attack, no release, no “quick fade” (the tiny button next to Autoseek), and the NNA is set to “Note Off”, not that it should matter. So what should the waveform of this 16-step bass line look like?
My guess would be a single sawtooth oscillator playing at the desired pitch frequencies, resetting phase at every note hit. Now render the loop to sample and inspect the wave. This is not what it should look like!
You should be seeing some curvy artifacts and peaks at the spots where one note hit ends and the next one starts. Expected would be the sawtooth playing until the first note ends, reset phase and start playing the second note. What we’re seeing instead, is the first sawtooth playing normally for the duration of the first note but when it should just stop, instead it fades out very quickly, this fade running into the sawtooth of the second note!! This is why I say it’s not working properly, because my instrument is set to Mono but for that very short fade duration we actually have two voices of the sample playing at once.
Does this really matter? Well for one, it can cause unwanted signal peaks because two sawtooths peak higher than one (even if it fades out real quick). Second, if you use my trick to fix this problem, you get another elusive feature for free: A free-running oscillator!
OKAY THEN BUT WHAT IS THE TRICK?!! Sorry, I talk too much. The trick consists of two parts:
In Volume Modulation, an ADSR device with 0.0 attack, 1.0 sustain and 0.0 release. I have this one saved as a preset called “ADSR Zero”.
A phrase with a single note and G FF (glide) in the effects column. Saved as phrase preset “GFF”. Set phrase playback mode to “Program” so it plays for every note hit. “Keymap” stretched over the full note range also works.
You need both. You’d think “ADSR Zero” would be a no-op compared to no modulation, but it subtly changes what the fade out looks like, as well as how the glide operates, for some reason. Also, putting “GFF” in the box next to the Mono button instead of using a phrase won’t do the trick. The little “quick fade” button doesn’t do much (except a quick fade at the start of the loop, so you want it off). The NNA set to “Note Off” or “Cut” doesn’t seem to matter for this scenario. It’s educational to try all these different combinations, render and inspect, see how they differ (tip: use a square instead of a saw and it’ll be easier to reason about the shape of the fades: some are linear, some aren’t!). But from what I’ve been able to gather “ADSR0 + Phrase GFF” is the minimal basic setting to get the desired behaviour.
A/B it for yourself, especially at low frequencies, not resetting the phase every note hit sounds so much cleaner. Analog-like, not in the sense of “warmer” but in the sense of “cleanly crisp and accurate”. It’s easiest to hear if the notes connect with no pause/gate-off in between, but in theory, a free-running osc would result in a cleaner spectrum even when gated.
Okay, now re-enable the filter, add some slides in your loop with the Uxx and Dxx commands, macros to the filter cutoff/envmod/decay (resp. LFO Offset, Amplitude and LPC) and resonance, attach to MIDI knobs, hit play, tweak knobs, and say goodbye to your afternoon BECAUSE ACID
There’s some weird subtle behaviour going on here. ANY additions and/or insights are very welcome.
It has to do with the sample waveform being set to loop. You also get it, for example, with a looped breakbeat that you hit at the start of each pattern. Quite unwanted behaviour in this case as well, because your peak transient will often be at the start of this loop, resulting in a larger peak amplitude for your mix (and/or confused compressors!). However in this case, what also works is disabling the sample loop and just hit the sample every 4 bars (or however long it is). If there’s no loop, there’s nothing to fade. Personally, for breaks, I think that’s easier and clearer.
Happy free oscillating!