Hi, using the basic delay (mono, time, mix, feedback). My patch modulates the delay time that does not alias when modulate? The modulations are jumps. Maybe putting a slight skew on the delay times would help? Thanks
If you abruptly change the delay time you will create a short burst of very high or low pitch audio depending on which which direction you move. Essentially you can think of adjusting the delay time as moving the playback head on a tape echo. If you shorten the delay you will compress the waveform and it will rise in pitch and if you lengthen the time, it will stretch the waveform and lower the pitch. In extremes cases you can actually reverse the waveform completely.
If you need to change abruptly and wish to avoid a glitch, you might need to use multiple delays and switch between the delay outputs rather than modulate the time…
BTW, Welcome to the Forum. Glad to have you with us! There are plenty of people willing to help if you need it. Just ask.
Thanks for the welcome. I’m not new to audulus but getting to know it better because it seems to be the best visual programming environment on iOS.
I know there is a change of pitch if there is an lfo or something. Presets make instant changes all the time with no glitching, so I’m not sure that explains it well. I tried it with a a very low slew rate changing the delay. That replaces the alias noise with a pop. Turning up the slew rate acts like an lfo and changes the pitch as the rate gradually reaches its destination. The problem for me with the multiple delays, one per preset is that this delay tracks your playing to set the delay time, so it seldom makes the same time twice.
I can upload the patch if that helps
It would be fun to see your patch, it sounds interesting. I’m not sure that you will be able to change the delay time when the delay buffer is full without some sort of audio artifact but it would certainly help to see what you’re doing.
Reads time between transient onsets to count times that get sent to the delay
Still not 100% happy with the delay calculator (first column). I suspect you are correct, that changing the delay times suddenly means that the buffer gets reset with no regard for zero crossings which creates the pop. I tried being strategic with some exponential envelopes to deal with this but never quite got rid of the pops. As far as I can tell, the problem is inside the buffer and thus out of reach without an API and skills beyond what I can do. It is still tons of fun though. The left knobs and the bottom ones in the leftmost groups are used to tune the transient detection. Everything else as far as operation is pretty normal delay stuff. It likes clean guitars and drums for env inputs. Env and signal ins do not need to match.
That’s a really cool idea! I don’t see any easy way to eliminate the noise. I tried using a change detector to generate a trigger when the delay time changed and then used the trigger to momentarily suppress the output of the delay line, but it didn’t really work well enough to be useful.
I then tried using a pair of delay lines. The idea is to switch between the two. When a change in the delay time is required, you change it on the unit not currently in the audio path, then switch to that unit after the change is made. You flip-flop between the units. Here’s a patch that demonstrates the idea. The knob sets the desired delay time and the trigger executes the change. It’s not perfect since the artifact is still captured in the buffer, but as long as the changes are spaced farther apart than the feedback decay time it shouldn’t be too much of a problem. Of course it introduces more delay lines. The delay node I used to delay the time change could be replaced with a timer based delay.
edit - oops the patch had a bug so I’m fixing it.
I had accidentally switched the active delay line. It actually worked pretty well, but only because the unit with the new delay time wasn’t in the loop. After fixing the issue I realized, that the artifact was embedded in the audio stream and with any significant feedback, it would still be heard. I modified the patch so the the incoming audio was also switched but I’m not sure that this is very satisfactory either. I slewed the crossfade to give it some continuity. Either you get a pop when the buffer is compressed or you lose the feedback from the other line.
paired delay lines.audulus (45.1 KB)
Here’s a variation using a slewed pan to switch the audio input to the delays.
paired delay lines 2.audulus (430.5 KB)
It would be nice if we had a delay with a movable tap(s).