Understanding OT's chorus effect

I thought this one was going to be relatively simple to understand given what I learned working with the flanger. That has not been the case.

I had a bunch of questions at the outset:

  • Could I use the chorus to create a vibrato?
  • Why are taps labeled 1-5 on the OT, but it is described as 2-10 taps in the manual?
  • What does Width do?
  • Is Feedback within a tap or the full effect?

I haven’t sorted all of these out yet. My main tool to assess is a 20 Hz “needle” sample. That gives a very short, rich blast that I can see when looking at waves in my DAW. Each repeat in the chorus is a clean bit of audio.

There are standard descriptions of what the controls do in the manual, so I won’t belabor describing them. DEL, DEP, and SPD work how one would imagine. So let’s talk about the ones that surprised me a bit.

MIX - This never goes fully wet. Even at 127 you see some of the original signal. This keeps the chorus from doing double duty as a vibrato. C’est la vie.

WID - I think this is the same architecture as the Phaser and Flanger. Basically, it shifts the phase of the LFO modulation by up to 90 degrees on the right channel.

TAPS - I confirmed that there are 1, 2, 3, 4, or 5 “taps” available, with caveats. If the LFO depth is 0, then all of the taps are on top of each other. This was a big surprise to me, as I expected 5 taps would always yield five different delay times - that’s the typical way taps are described. Nope. Instead, my assessment is that each of the taps basically gets a different variant of the LFO. I have not full figured out how that’s parameterized.

FB and FBLP - I haven’t gotten into these in much depth yet. I do note that you can get comb filter sounds of out it, but they definitely work better with WID at 0.

Any of you have Chorus-related insights that might help me figure this one out?

Here’s an example of a 5-tap chorus with stereo widening. You can see the initial signal, then the five taps on left and right.

6 Likes
  • not as a pure vibrato since the dry signal is present
  • Left has up to 5, right has the same. Depending on LFO and WID settings you get 5 or 10.
  • phase offset of right channel’s LFO
  • still unanswered
2 Likes

Here’s my working model for the chorus, followed by the experiments that support it.

The model

One shared LFO drives multiple delay read heads, each offset in phase. Left and right channels use the same set of read heads, but the right channel gets an additional phase offset controlled by WIDTH:

Left channel: d_i(t) = D + A·sin(θ(t) + φ_i)
Right channel: d_i(t) = D + A·sin(θ(t) + φ_i + ΔW)

where D is the DEL parameter (center delay), A tracks DEPTH (modulation amplitude), θ(t) is the common LFO phase, φ_i is the phase offset assigned to read head i, and ΔW is the WIDTH-driven phase offset applied only to the right channel.

Signal flow, best guess: LFO → phase-offset read heads → shared delay memory → feedback loop (FBLP inside the loop) → dry/wet mix.

If Elektron uses the same architecture across tap counts, the read-head phase spacing should be:

  • 1 tap: 0°
  • 2 taps: 0°, 180°
  • 3 taps: 0°, 120°, 240° (verified below)
  • 4 taps: 0°, 90°, 180°, 270° (prediction)
  • 5 taps: 0°, 72°, 144°, 216°, 288° (prediction)

Experiment 1: freezing the LFO

Setting SPEED = 0 with DEPTH > 0 doesn’t just slow the LFO to a crawl — it freezes it. That turns the chorus into a static delay network, so you can measure individual read-head positions directly instead of inferring them from a moving, audible effect. This is what made the rest of the measurements possible.

Experiment 2: three-tap phase fit

With TAPS=3 and the LFO frozen, I tracked the three delay taps across one full LFO cycle and fit each trajectory to a sine wave by least squares (after correcting the tracking so each column of data corresponded to one consistent physical read head). Results:

  • Common period: ~54.7 frames
  • Common amplitude: ~32 samples
  • Common center delay: ~33 samples
  • Phase offsets: roughly -136°, -17°, +101°
  • Phase differences between taps: 118.9°, 118.1°, 122.9° — essentially perfect 120° spacing
  • RMSE: well under one sample

This is the strongest single piece of evidence for the model — it directly confirms the 3-tap prediction.

Experiment 3: mix and delay behavior

  • MIX = 127 is not fully wet — a dry signal is always present, so all delay measurements above were taken relative to the dry impulse.
  • Delay modulation is bipolar — it swings both longer and shorter than the DEL setting, not just one direction. Consistent with the sin() term in the model rather than a one-sided modulation.

Experiment 4: WIDTH behavior

With TAPS=1, the left delay stays fixed while WIDTH moves the right delay — confirming WIDTH acts on phase, not the audio path itself. With TAPS=5, increasing WIDTH pushes some taps earlier and others later, which rules out a simple constant delay offset and instead points to WIDTH rotating the entire right-channel phase (the ΔW term above).

Experiment 5: feedback path

FB creates repeats on every visible tap; FBLP only attenuates those repeats rather than the primary signal. That places FBLP inside the feedback loop, as shown in the signal flow above.

What’s still unconfirmed

The 4- and 5-tap phase spacing predictions (90° and 72°) haven’t been measured yet. Feedback topology — whether each read head has its own feedback tap or they sum into one shared delay memory — is also still a guess (currently leaning shared memory, based on the FB/FBLP behavior above, but not proven).

A fun animation I made from DAW snaphots of three taps:
chorus_taps_animation

And some graphs of how the delay lines evolve:

7 Likes

Who ever said the octatrack manual was complicated eh?

Stirling work @Bryan_T , Im digging your digging. While Im happy just doing everything by ear, its nice to read the details behind whats going on.

4 Likes

And some sounds inspired by my deep dive:

This is a pink noise sample into the chorus. I’m using the feedback with 5 taps. I do “draws” from the SPD so that the delay lines are randomly reset for most of the hits. Width is being modulated a bit, plus I’m playing around with depth and delay. Kind of fun to generate a drum groove from one effect on the OT.

6 Likes

So is this architecture anything special?

Not really, but there are some neat features. What I’m describing — one LFO, several taps reading from the same delay line at fixed offsets — is a standard way digital chorus effects have been built for decades. Nothing exotic there.

What is worth noting is what Elektron built around that standard core, and a couple of things that make it unusually useful for sound design rather than just a subtle stereo widener:

  • FB and FBLP turn this into a resonator, and what kind of resonator depends on whether the LFO is running. With the LFO active, feedback through a filtered loop gives you a resonance that sweeps in pitch along with the modulation — a moving, warbling comb-filter tone. Freeze the LFO at SPD=0 first, though, and the delay taps stop moving entirely, so that same feedback loop now resonates at a fixed pitch instead — much closer to a Karplus-Strong style plucked/tuned percussion sound, since you’re feeding back through fixed delay times rather than modulating ones. Same FB/FBLP mechanism, two pretty different results depending on whether the LFO’s frozen.
  • P-locking the freeze gets you randomized static voicings. If you p-lock a trig to SPD=0, the LFO freezes at whatever phase it happens to be at when the trig fires — so the voicing (and, per the point above, the resonant pitch if FB/FBLP is engaged) is fixed for that hit, but which fixed voicing you get is effectively random from trig to trig, since you can’t control the phase it lands on. That’s a nice source of per-step variation: each hit gets a static but unpredictable character rather than one smoothly moving through the sequence.

Put together: the underlying topology is unremarkable, but the parameter space Elektron exposed around it — particularly the way FB/FBLP flips between a modulating resonator and a fixed-pitch one depending on the LFO state, and the randomized-static-voicing trick from p-locking the freeze — is what makes it worth digging into for synthesis, not just modulation.

2 Likes

The Monomachine Chorus has a similar mysteries i’d love to see you deep dive on as it maybe very similar setup to OT.

Tap spacing is a chorus’s character for sure. And Elektron’s inspired the below plugin where i intended tap spacing to be a user definable parameter.

1 Like

I looked at the manual for that one. Based on the description, the architecture looks very similar. They describe it as “2x3 taps” but don’t offer a TAPS control, so I’d guess it is fixed at 3 taps (120° offset) and does the same 0-90° phase shift of one channel for the Width control. The other obvious difference is the Input control, which isn’t on the Octatrack.

I wish I had a Monotrack and a Machinedrum to explore. :slight_smile: