Click/pitch-free / automatable delay values in delay effect

It would be very useful, if Renoise´s internal delay effect would be improved in a way that the delay values can be automated without affecting the sound. Currently you will hear some short pitching effect if the delay values are changed.

E.g. the delay is an essential tool for pre-delaying a reverb for different depths. So you can use one reverb for multiple depths. I will upload an example soon that illustrates the usage of the delay using dynamic changing delay values…

EDIT:

Also this for mpReverb’s predelay please!

Here is an example how to build a variable reverb depth control using only one reverb instance.
The delay values of Renoise’s delay effect (which is used here for predelay) do not sound good while automated.

Try moving the “depth / pan” xy-pad on the “arp” track very fast in y-axis to hear how the delay effect “pitches” the sound on fast changes of the delay values.

Nice would be also the following features:

  1. Being able to put all stuff from “arp” track (“xy.pad”, “front-back”, “left-right”, “vol-stable-comp”, “rev send”, “panner”, “filter lp” and “stereo-x”) into one doofer:
    That would require a doofer to have send devices inside and also address outside tracks!

  2. Duplicating / copying multiple devices at once, so all connections between will stay proper.

Attachment 5274 not found.

Hm, I always wondered why any delay (also reverb, chorus, flanger) stuff in renoise dsp sounds very similliar to those old hardware digital multifx stuff I’ve seen in my life - this charakteristic scratch when changing delay times. some vst’s do very similliar - must be some ultraleet algorithm for changing the delay time, and evading the click by adding something worse.

It’s just that it isn’t planned by design to automate those values in any way, it’s rather thought to be setup once and then run at that setting.

Your example sound quite interesting, I guess you’re planning to do some diy surround simulation sollution?

Maybe you’ll have luck and find some plugin in the range of delay/chorus/flanger that does what you want. But I know only the type like renoise with that pitch-scratch, or totally naive delay lines that will cause a little “click” in sound when values are changed. Maybe you’ll have luck and find an interpolated delay line, but this will most probably pitch the sound up or down more or less when changing, depending on direction and interpolation speed. I.e. a slight doppler for free.

Think about it, it’s nontrivial to shift the ammount of a sound delay without artefacts. You’d have to do hq realtime timestretching for the transitions to get it right, as there’s a transition to be made between two time positions of a sound, easy implementations are always change speed for transition or have it click when jumping between the positions.

hm, the comb filter is just a delay line, and automatable, even with smoothing. Maybe when set wet 100% dry 0% feedback 0% it just delays the input. Problem I see is that lowest freq in the native renoise one is 20hz (but who knows what value it exactly is), which corresponds to a 50ms maximum delay, half of what you’re trying to do in your example. Also it’d require lots of fiddling and maybe lua scripting and such to map the delay values you want to the exact frequencies of the frequency slider of it.

But in Search for an automatable delay line plugin, you might also want to look for comb filters which allow a very low frequency and pure wet no feedback signal. I just thought so, because in your example you’re using very small delays to get spatial effects - possible delays in comb filter plugins are usually very small, because it is thought to resonate, and not to delay audio.

Coding an interpolated delay line plugin for just this purpose should be trivial for anyone who can code simple plugins anyway. But expect slight “doppler style” pitching with those when moving the delay fast, but it wouldn’t sound as evil as the glitches the usual delay/reverb plugs often do. Most of the time hardly noticable unless you move the delay very fast over a certain range.

multitapdelay needs interpolated delay lines …

This way it can be used as a flanger ,chorus …

Kr@ken …are you reading this …?

Your example sound quite interesting, I guess you’re planning to do some diy surround simulation sollution?

No, just a template attempt for depth control for future song projects that is as simple as possible (which is not the case here). I also tried to implement some psychoacoustic rules, like 1. instruments in the front have a long (pre-)delay on reverb and vise versa and 2. instruments in the back have less stereo separation.

Hm, I also tried now a lot of plugins but only one was able of automating delay values. I also tried native chorus and multi tap delay. Same/no transition algorithm there. Would be nice if it was possible natively.

I still wonder how those hard glitches in all delay line plugins in renoise come to scratch our ears. I mean, it really sounds like a scratchy pot or whatever in/before the reverbs. I just +1 to the idea to use the same algo that’s used for the comb filter for everything that uses a delay line, flanger, chorus, (multitap)-delay, reverb predelay. Plus maybe an extra slider for inertia like the comb filter has, for the delay values. I mean, it’s just simple interpolation/resampling after all. And fuck for aliasing. I’d love to see code that does such scratches like the current native plugs, just to see what’s going wrong there, and many vst’s I’ve heard scratch like that, too.

Using proper inertia/interpolation on all delay line will make some people unhappy who deliberately used the “effect” in some tunes. Ya know, trackerscene…

No I think it’s not just interpolation, it must be some kind of multiple, variable crossfading on each delay change…?

But it’s a common problem in delays, not just in Renoise, most of VSTs I tested also do crackles or pitching. So my/our wish to the developers is somewhat a premium feature :slight_smile: Only waves doubler seems to work without hard glitches.

if you ( we all )want click free delays …we need an variable , interpolated delay line .;

Simple as that

What do the devs think about this?

…or what about a simple additional “predelay” device, that doesn’t pitch on change (lately read in docs, that this pitching of the delay device actually is intended for some reason). A predelay device with only one slider “predelay” 1-200ms, no feedback or anything other.

You could use an inertial slider to make smoother pitch transitions. I’m not exactly shure how a predelay device should work, but maybe it’s possible to build a doofer that does this?

No, current fx pitches or clicks on ms delay change.

No, current fx pitches or clicks on ms delay change.

That is what i thought you meant, but i was thinking about a doofer that silences the clicks and smoothly fades back in when the change is completed. I almost saw a solution, but there is still one thing i’m not shure i’m able to wrap my head around.

oh, ok. I think its more easy then to use a click free vst. save your time.

xfading delay lines to avoid this “tape device simulation” (wtflol what a real cheap & bad excuse for the messy sound!) will not be as smooth as proper interpolated delay lines. If you xfade to a larger delay than before, you’ll have a gap in the throughput (and we’re talking about a 100% wet delay that will often be the main signal), probably removing a transient or such. If you xfade to a delay that’s shorter than befor, you’ll have a short doubling of sound in the signal, possibly making a slight chorus/comb style sound. Very much worse if you try to automate that delay constantly and in interpolated ways, it will really degrade the signal.

Think about it, the pitching will only be very slight, if the delay value change isn’t that big, and if it’s interpolated in some sufficient (but still short) duration. I.e. what you need is a straight no magic comb filter with frequency interpolation and the ability to be put at 100% wet and with no feedback, and probably with an option the be configured at ms delay values instead of hz frequency. A comb filter is, unless you put some extra magic into the algo, nothing less then a short delay line added to the input signal with feedback from the last iteration giving that “rrrang” sound. The renoise comb filter just doesn’t have the right value ranges for such purposes, otherwise you could use a formula device to recalc/remap your ms value to a frequency. I’ve tried when you brought up your issue, but I think the renoise comb filter has a quite high lowest “frequency” limit resulting in the maximum delay values being too short purpose.

Ok so I conclude:

Dear devs, please add interpolation to the delay values in the delay device. Thanks.