Questions about DSG3


I’m planning on making a Tools & Techniques video for my most beloved Gen3 module, DSG3. Before I open mouth / insert foot, I want to make sure I understand it well.

Actually, I’m going to make a video for VU005 first, but there’s some quasi feature overlap there, so I’ll want to refer to DSG3 in passing. So I still need to get my story straight.


The summing blending mode output seems to always divide the respective A and B signal levels in half. Based on discussion with @creatorlars in another thread, I thought this was an artifact of the dummy plugs I use. I thought that pluggin’ a zero volt source into either A or B would give me a full strength signal at the SUM output. That’s not happening, so I must have misunderstood.

Is the following accurate?

"SUM" = (A/2) + (B/2)


The absolute output seems to be like the Photoshop “Difference” blending mode. Is the following accurate?

"ABS" = abs(A - B)

(Could be abs(B - A), it’s the same result.)


Unexpected results from the Curve switch. Logarithmic mode is really hot. Looks like 2x the input voltage, clipping to a max of 1v. Exponential mode isn’t hot enough, looks like 1/2 the input voltage.

Based on Arch, I thought these were powers of two. Exponential output is labeled “Square”. One to the second power is … one. The square root of one is … one. I have 3x Arch, and they’re all a bit different, but generally I’m getting expected results where the output is more or less normalized to the 0 to 1 v range. I thought this was one of the cool things about the LZX modular standard, the math of 0 to 1 is so simple that even a dumb artist like me can almost understand it.

But DSG3 is giving me something else. Am I doing it wrong?



Correct, it is a 1:1 weighted sum.

“ABS” = abs(A - B)


Unexpected results from the Curve switch. Logarithmic mode is really hot. Looks like 2x the input voltage, clipping to a max of 1v. Exponential mode isn’t hot enough, looks like 1/2 the input voltage.

In this case we use a parabola shaper rather than a squaring function. The gains are as you’ve observed – at the time I was designing it, I felt like this provided the most variety in output shapes and patterns.


OK, cool. It’s good to get some background on the design process. This seems to indicate that the “shape generation” aspect of DSG3, its standalone operation, was/is a primary intended use case.

And it’s great to have different shaping options. Arch is out of production, but we can still get square/log functions from the Foxing Hour Gamma module.

Thanks again!


You can also get a squaring function with any linear VCA by multiplying the input signal with itself.


And here’s another neat trick:

EXPO = (INPUT * 2) - LOG

This is exactly what Arch is doing.


In the interest of demystification, when it comes to pretty much any analog DC function in the entire 1V world, the basic ingredients are a short list:

  1. Reference Voltages (1.0V, variable voltages from pots)
  2. Diff Amps
  3. Multipliers (2Q and 4Q)
  4. Rectifiers
  5. Comparators

That’s not getting into oscillators or filters, which are different topics. But with a couple dozen of each of the above, you could patch the same functions present in Arch, DSG3, Bridge… even FKG3!

So why don’t we just make modules with those base functions and call it done? Because of functional footprint and physical footprint requirements of the end product. That’s what module design is all about.

Some users may prefer this kind of granularity of base functions only. That’s why we’re trying to make sure to offer things like Keychain, Matte, and Proc, etc. A lot of the other module’s functions can just be recipes, if you have a giant system of those.

Whereas for core modules in the system (FKG3, DSG3, etc.) it’s important to pack more functions in a smaller cost/space. Patching up a chroma keyer across dozens of discrete functions is all well and good, for example, but what happens when you need a second one? You probably never get there. So that’s why encapsulating higher order functions in 12HP modules enables another layer of system design. That 3-channel priority mixer/chroma keyer is possible in 36HP with triple FKG3, whereas it was much harder to “build” that type of functionality before.

This is also why, even if there are multiple modules with the same function (like a Square function) that they are all unique and possibly the right answer for someone’s system. The frontpanel footprint is a fixed resource, so a wide variety of different approaches can exist among 1V modules from LZX and others, and I don’t feel like anything is being made redundant. In other words, there’s probably several hundred valid takes on how to put a differential amplifier or multiplier circuit on a front panel.


So, e.g. we could plug the same signal into the A and VC inputs of Bridge and get the square of that signal?

Yes! But use the B and VC inputs.

If you have an inverter and a crossfader, you can make something close to a 4Q Multiplier by fading between inverted and positive versions of the same signal.


Wow, there is no end to the things I can learn. Thank you. Is this correct?

Fader VC = 0: input A (positive)
Fader VC = 1: input B (negative)
Fader VC = 0.5: black

I think I’ve actually done this patch as an RGB colorizer with 3x Bridge. One of the “Chaotica” variations. Random voltages addressing all positive and negative values in RGB.

Yes! So by “sort of like a 4QM” I am saying that the CV input is scaled 0 to 1V with 0.5V sitting at zero. So in order to make it a “true” 4QM, you’d need to take your CV input voltage, half it, and offset by 0.5V. This would maintain a -1 * -1 = 1 sort of relationship between the inputs. The gain of this 4QM would be limited to 1. The 4 Quadrant Multipliers in Navigator are built out of crossfaders this way and it works great for that application.


I’m way out of my depth here. Never understood how Navigator wizardry worked. Never heard of a four quadrant multiplier before yesterday. And we’re off topic again. But I still have questions.

4QM is a multiplier where both factors are bipolar. The immediate application I can think of is IQ processing. So I think I’m going to head over to the Swatch thread.


1 Like

Hi, I am still preparing for my epic video tutorial on DSG3. Really confused about the Min and Max outputs. I expected that they would simply return either the lower or the higher of the two voltages supplied at the inputs. But apparently that is not the case?

I tested this with a video image in one of the inputs, and Matte (or Proc) supplying a static voltage to the other. Assuming that the Min output is:

"MIN" = min(A,B)

I thought it would act like a fader / VCA. Simply fade the image to black. But that is not what I am seeing. There is some strange folding / solarization going on.

Likewise, I assumed that the Max output would simply be:

"MAX" = max(A,B)

But again, it doesn’t do what I expected. With the same static voltage plugged into B, I thought it would fade to white. But it doesn’t. Again, it’s doing this folding / solarization effect that I can see on the waveform monitor.

Additionally, the Min and Max outputs never match the amplitude of the source image plugged into A. It looks like the value is less than half.

So, what’s the actual math of Min and Max?


If A is greater than B, output = A. Otherwise, output = B.

If A is less than B, output = A. Otherwise, output = B.

So there won’t be any fading happening – for that, you would want a fader/VCA function.


Is this the same thing as so-called analog AND (min) and analog OR (max)? Or is the analog version better described as min/max?

1 Like

Yes, same thing. We typically use Min/Max/Abs for analog values and And/Or/Xor for boolean values.


this makes more sense after your discord mega circle patch discussion
the compositing I was using was in TD was Minimum and it worked beautifully so I just didn’t ask any questions :rofl: However you had said to use ANDs to go from the 24 keys to a circle.

I think my angles module is supposed to be here on friday! I’m looking forward to mixing and matching with DSG and DWO.


Ah! Thank you. That makes so much more sense. It’s not algebra, it really is video logic!

Am I correct in concluding that these are equivalent to Photoshop blending modes “Lighter Color” and “Darker Color”?

1 Like

Yes indeed! Although in this case, restricted to monochrome sources already.

In order to do “Lighten/Darken” on RGB sources, it’s a bit more complicated. You need to extract Luma from each source, compare the two Luma values, and then switch sources based on that output. This is an important function for future compositing module (Marble Index included some complex blending, but no Luma logic based modes.)

There are some interesting blending modes that relay on grayscale midpoint split logic too, like Overlay, which switches between Multiply & Screen blends based on a fixed midpoint comparison at 50% gray.


Thanks. If you make a future compositing module, it might be nice to make the channel logic switchable. I.e. user select between 1) switching individual channels, or 2) switching all three channels based on the RGB weighted luma.

So to review:


( A / 2 ) + ( B / 2 )


If A < B, then A, else B


If A > B, then A, else B


abs( A - B )

1 Like

You could also write this out as a logic statement:


If (A - B) < 0, then (B - A), else (A - B)


Yep. I’ve been considering an “alpha selector” type function, similar to FKG3, where you can extract from Luma, Red, Green, Blue, etc.

1 Like