Deliverance

An experimental multitap delay with unique tap level and spacing options.

This is a multitap delay with 8 delay lines in series, but instead of a traditional delay setup where each tap decreases in level this offers a few different options: taps can also increase in level (so a reverse effect!), go up-and-down in level (pendulum), and there’s a few custom multi-tap patterns. There are also some choices for panning to space the taps across the stereo field.
The delay time can be set via Tap Tempo or synced via MIDI, and – this is where things get weird – the delay time can be ‘skewed’ so that early taps are closer together and later taps are further apart (or vice versa of course). Fun fact: the TOTAL delay time remains the same, so whatever weird blanket of repeats you’ll build, the 8 taps together are still going to be synced up!
Combine all this with a freeze function (locking into infinite feedback without feeding new audio in), and you’ve got some unique possibilities here, from strange ambient to ridiculous rhythmic weirdness!

=====

[OVERVIEW]
-Input/Output: Stereo in/Stereo out (dry path maintains stereo field)
-CPU load: Around 102%
-Build: Initial version built with firmware 2.80
-MIDI: All MIDI related modules (in PEACH colour) are on the 3rd page marked MIDI. I always use channel 10. If controls are set to CC’s I use CC channels 21/36 (see CONTROLS section for details).
-CV Inputs: Unused.
-CV Inputs: Unused.

[REVISIONS]
1.0: Initial patch.

[CONTROLS]
All the main controls are on PAGE0 and are labeled and starred (see below for a “Picture Manual” in the comments). The Stereo Output module with gain parameter is on PAGE1.

MIX (sets the mix between dry and wet)
FBCK (sets the feedback of the last delay line back into the first; will looping infinitely at max)
SKEW (sets how skewed the delay taps are; bidirectional control, neutral is at “0”)
VERB (sets the level and decay time for the Reverb Lite)
MOD (sets the modulation depth)

TAP TEMPO (pushbutton to tap in the tempo; turns white when tempo is changed. There’s a Clock Divider on PAGE1)
FREEZE (toggles infinite Freeze; white = on, cyan = off)
BYPASS (toggles bypass; white = on, red = bypassed)

TAP STYLES (press to choose between settings):
Ptn-Increase (tap levels in reverse order)
Ptn-Pendulum1 (tap levels falling then rising)
Ptn-Multi1 (tap levels follow a rhythmic multitap pattern)
Ptn-Multi2 (tap levels follow a rhythmic multitap pattern)

Ptn-Decrease (tap levels in decreasing order; on PAGE1)
Ptn-Pendulum2 (tap levels rising then falling, on PAGE1)
Ptn-Multi3 (tap levels follow a rhythmic multitap pattern, on PAGE1)

PAN STYLES (press to choose between settings):
Pan-Pingpong (panning bounces hard left/right)
Pan-Multi (panning follows a rhythmic pattern)
Pan-Pendulum (panning rotates left to right and back)
Pan-Mild (slightly softer bouncing pattern)

ZEBU LEFT / RIGHT button = Unused
ZOIA LEFT stomp = Tap Tempo
ZOIA MID stomp = Toggle Freeze
ZOIA RIGHT stomp = Toggle Bypass

=====

[PATCH STRUCTURE]
This patch started as an attempt at reverse reverb using a lot of delay lines (which later became “Reverence”, so let’s call it a companion patch to that one) but it became its own weird little thing.
There’s 8 delay lines in series, each with their own VCA, and the gain of those is set via a 7-way CV switch, with settings pre-tweaked for a few nice flavours:
Decrease/Increase, Pendulum 1/2, Multi1/2/3.

The Increase setting is where the patch started because it can give the impression of reversing the sound (best combined with a high VERB setting). But even the Decrease setting is far from a ‘standard delay’, cause even though the 8 taps decrease in level, the next cycle of 8 taps can start louder (depending on Feedback setting). Pendulum options give a nice middle-ground between Inc/Dec, with levels starting high (or low) for early taps, swinging the other way, then back up (or down) for the last taps. The Multi patterns are more typical rhythmic multitap delays.

I’ve done the Panning in a similar way but couldn’t afford a dedicated panner per delay tap so I compromised on 5 of them (enough to give some flexibility but shaving a few % off the CPU) and grouped a few taps to the same panner. Anyway, there’s a 4-way CV switch to control those options: Pingpong is an alternating hard panned Left-Right. Mild is a bit less extreme and has a bit of variation to how hard taps are panned. Pendulum and Multi are similar to the tap modes above.

I wanted to use a new idea for Tap Tempo in this one; normally when using LFOs or similar for tap tempo Delay Lines, the delay line buffer is reset every time they receive a tap, which can be annoying, especially when doing infinite feedback looping. So, here I used a master LFO (actually, a clock divider) which is NOT directly clocking the delay lines but clocking a non-looping 4-step sequencer, which is tapping the Tap Tempo input of the delay lines. Only the first 3 steps of this sequencer are high, and it ends on a low step, so whenever the sequence runs, those delay lines will just receive a few taps and then no new taps on every clock tick (as long as the clock is steady…).
Now the trick is to only reset the sequencer whenever the tempo changes (because then it needs to send new tap tempo). So, we just take a Tap-to-CV module and use 2 comparators to detect a change in value. The Tap-to-CV responds exactly opposite to Delay lines (i.e., higher tap rate = higher value, while higher tap = lower delay time), so it’s kinda stupid and I never really use it, BUT… it can be used in this case because the value is arbitrary – it only has to detect relative changes in tempo! Only downside (that I know so far) is that it takes a little while (a few taps) before the new tap tempo is sent to the delay lines, so for clarity I’ve made sure the tap tempo button turns white whenever the tempo is indeed changing. Ok, this was quite technical, hope this helps others too (I’ll include this in a revision of my 1-page Utilities patch in the future).

Finally, cause these tap tempo delay lines can be linearly modulated via the mod input I was able to add the SKEW control, which affects the spread of the delay taps; early taps can be closer together and later taps further apart (or vice versa). The value module is set bipolar (-1 to +1) with neutral in the middle and taps 1/2/3/4 respond in opposite fashion as taps 8/7/6/5, meaning the TOTAL DELAY TIME of a full cycle (i.e., the sum of all 8 delay lines) will stay the same! This is important, it means we can still sync the total cycle to MIDI clock (or tap tempo) while messing with the tap spacing.
Lastly, a Reverb Lite is present, can be used sparsely or almost full wet, which is great with the reverse-ish settings!

P.S. After this patch was 95% done, I found out that there’s a very similar idea by CHM Jacques called “yaleD”, but I think these two are definitely still very unique in their approach and outcome so I’m not worried about plagiarism accusations :D Still, it’s interesting to see this convergence of ideas from different ZOIAN minds…

=====

[TIPS/TRICKS]
>>> Try the INCREASE tap pattern with VERB at max for a faux-reverse reverb sound!
>>> Set the delay time REALLY short (use the clock divider!) and apply SKEW to get abstract ring mod-ish noises.
>>> Play some notes, lock the FREEZE, then fiddle with SKEW and melt your brain. You can still play on top of it though!

[THOUGHTS/IDEAS/PLANS]
This patch is done for now, though I might have to make it easier to set really short (ring mod territory) or really long (ambient looper style) delay times someday…

If there’s any bugs/questions/remarks/requests or suggestions for improvement, please let me know!
Enjoy!

(Image: Tom Hegen)

2 comments on “Deliverance
  • m4ni on said:

    This is seriously amazing, love it!

  • Leave a Reply

      1693 PM
    • Platform:
    • Category: Effect
    • Revision: 1.0
    • License: Do What The F*ck You Want To Public License
    • Modified: 3 years ago
    • Views: 2823
      Likes: 17
      Downloads: 1035
    Download
    Chat