LZX Module Releases Preview 2022

Not really, other than the overall Gen3 enhancements (dual VCA based active attenuverters, upgraded physical components, cleaner DC power input.)

7 Likes

FWIW, just thought I’d add that I appreciate the work that seems to have been put into providing density of functionality and patching, with lots of ins/outs, while still maintaining relatively well-spaced manual controls, in the Gen3 modules thus far.

5 Likes

Thanks! There is a very rigid grid imposed, that is based on our previous grids, but maximizes it. In Expedition series there is a little 0.5HP border on the sides of each module, but with Gen3 we went back to the Visionary series approach of spacing everything horizontally in a limited number of HP increments. This creates the illusion of a seamless frontpanel across all modules. The ergonomic spacing for pots is most derived from Cadet – 4HP x 1000mil (1 inch). We want this series to feel like a “video synth construction kit” to the user.

6 Likes

Will escher sketch be revived in some way? Realized today I’d probably want that paired with chromagnon…

3 Likes

They would definitely play well together. We plan to migrate all of our previous functional blocks and module designs into Gen3 over time. It will be easier to make those plans after the first wave of Gen3 is out the door (Chromag, TBC2, first 5 12HP modules.) All the hard infrastructure work is in these, so on the other side we’ll be able to get back to a regular stream of releases and a more predictable schedule.

8 Likes

14 Likes

@brownshoesonly

Keep’em coming! Anymore hiding out?

Maybe a…… “Marble Catalog” or “FRMBUFR3”

:grinning: :smile: :laughing:

Sorry about the deleted posts. The forum software didn’t like me making multiple posts, so I’m consolidating them.


So Keychain is three independent multipliers / VCAs?


Matte is just a 6x static voltage generator with a bonus output that sums pairs of voltages? What’s the output range, -2 to +2, or just -1 to +1? The former would be more useful, and in accordance with the attenuverters on other Gen3 modules.

Oh, and if the A and B outputs are -2 to +2, does that mean the A+B outputs are potentially -4 to +4?


Color Wheel… it sounds like it’s not two independent channels. What exactly is the signal flow here?

(RGB in) + (YUV in) → (RGB out and YUV out)


Are the Stencil inputs self-normalled?


What’s up with the Stairs I/O? It can accept a luminance input or an RGB input? Are those RGB inputs weighted? If so, how does the module know whether to apply the weighting or not? Does it depend on how many inputs are active? I.e., I plug signal just into Red, not Green or Blue… Stairs passes that through without a voltage adjustment. But if I plug into all three inputs, the voltages get weighted according to their respective luminances? 0.299 R + 0.587 G + 0.114 B

And it’s outputting just a single channel at each frequency / harmonic? So, for example, if I wanted to multiply the frequency of an RGB color signal, I’d need three modules?


This all looks awesome, especially Color Wheel. @wednesdayayay comment about combining it with Sandin function generator… that is solid gold. Can’t wait to put that into practice with 2x @reverselandfill Triple Function Generators.

And finally, I know the deal is already sealed on Stairs… but what I really want is a true fractal frequency generator. Instead of fixed harmonics at powers of two, a control for the iteration frequency and a gain for the iteration intensity ratio. Both should be on attenuverters to allow positive, fractional, or negative values.

Thanks

1 Like

It is three independent voltage comparators (hard key generators.)

Matte is just a 6x static voltage generator with a bonus output that sums pairs of voltages? What’s the output range, -2 to +2, or just -1 to +1? The former would be more useful, and in accordance with the attenuverters on other Gen3 modules.

It is specifically optimized as an RGB Matte source / color selector, so the knobs go from zero (0%) to 1V (100%). This is so you get the whole sweep of the pot to indicate the color channel’s brightness. If you need +/-1V bias generator, Proc is a good option there (and having the extra attenuverter/sum doesn’t hurt!)

What’s up with the Stairs I/O? It can accept a luminance input or an RGB input? Are those RGB inputs weighted? If so, how does the module know whether to apply the weighting or not? Does it depend on how many inputs are active? I.e., I plug signal just into Red, not Green or Blue… Stairs passes that through without a voltage adjustment. But if I plug into all three inputs, the voltages get weighted according to their respective luminances? 0.299 R + 0.587 G + 0.114 B

Patch into just the top jack, and it is a mono input (single cable.) Patch into all three and it is a luma input (RGB jacks are weighted as an RGB to Luma converter.) All of the inputs on FKG3 work the same way, when you are in the Luma key mode.

So, for example, if I wanted to multiply the frequency of an RGB color signal, I’d need three modules?

Correct, but you could define independent frequencies per color channel – in other words, it’s 3x single processors rather than a function that is necessarily RGB specific.

The RGB-to-Luma input makes Stairs more versatile as a single step Colorizer, that is it’s main purpose. You can recolorize an RGB source based on its luma in 8HP quickly. Keychain can fit the same “role”, but has a more digital than continuous flavor.

And finally, I know the deal is already sealed on Stairs… but what I really want is a true fractal frequency generator. Instead of fixed harmonics at powers of two, a control for the iteration frequency and a gain for the iteration intensity ratio. Both should be on attenuverters to allow positive, fractional, or negative values.

I definitely think there’s room for more complex waveshapers (modulus operators, etc.) But I think this is already what you are asking for. The powers of 2 outputs are simply “taps” from the wavefolder chain. The “Steps CV” works like a variable frequency / fractional iterations control, that responds under video rate modulation. So all the outputs contract and expand continuously in response to the Steps control.

Are the Stencil inputs self-normalled?

This is a “Luma-to-RGB-to-Luma” input, same as described above. It allows you to patch in a luma/mono value, an RGB value, or any RGB channel swap, just by the input structure. Some modules will use it as a Luma input, some modules will use it as an RGB input, some modules will use it as both (like FKG3 in Luma key mode.)

We may try something different for Stencil (like a hard key with voltage controlled Hysteresis / denoise control) since Keychain covers the “lots of keys in little space” use case well.

5 Likes

Nick gave a quick breakdown of each module but then put Keychain centre stage & under the show lights during the latest stream on the LZX Twitch channel, about 7hrs ago.

2 Likes

Color Wheel… it sounds like it’s not two independent channels. What exactly is the signal flow here?
(RGB in) + (YUV in) → (RGB out and YUV out)

Like so:

This is about as complex as the guts for a single function module should ever get, I think. It’s a good example of a function which is very usable and familiar to an artist, but that involves quite a function under the scenes. (There should be an extra VCA here, in the brightness proc, but otherwise this is a good top level look at what’s involved.) Inside the Affine/Pol2Cart blocks there are some very large circuits.

3 Likes

Thanks for answering my questions Lars… now to veer off topic once again into idea land…

I think what I’m talking about is different. My inspiration is from fractal noise generation algorithms. I’m sure there’s a solid mathematical representation of this, but I am crap at that, so will have to use my linguistic skills.

  1. Generator has a base frequency / first iteration

  2. Multiply current frequency by some arbitrary value, usually a positive float, to create a higher frequency. This is sometimes called Lacunarity; the ratio between the frequencies of subsequent iterations.

  3. Multiply current iteration amplitude by some arbitrary value … this is often called Gain. It’s the ratio between the amplitudes of subsequent iterations.

  4. Add or multiply current iteration with the output of previous iterations

  5. Goto 2, loop for a specified number of iterations.

If I’m not mistaken, Stair/case has a fixed frequency multiplier of 2. The artist can change the base frequency and the phase relationship between iterations.

Thanks for typing up the pseudocode, that makes it easy to understand!

Steps #1, #2, #3 could all be describing a patch between one or more Stairs modules and external VCA / Sum blocks.

Step #4 is more complicated. We have to answer the question of “where are we storing the value of the previous iteration”? In a digital graphics system, Step #4 is possible because we have a frame buffer, or a working buffer/variable in the CPU stack more likely. For example, the keyer feedback in Memory Palace performs this kind of fractal function when you have Mirror/Flip engaged inside the internal feedback loop. The feedback is created in this case because the foreground and background layers exist at different temporal points (1 frame is delayed!) In the analog patch, frame delay doesn’t really exist. It’s all happening more or less now.

Stairs I see as a single step ingredient. So much of the power with Staircase and what I liked about it involved doing processing between series waveshaper chains. For example, Waveshape → Gamma → Waveshape → Gamma is the op art mirror from hell – it wiggles its internal wobbles across multiple distorted perspectives. So the reason for an 8HP option is that I wanted something a little slimmer than Staircase to use as a building block in pairs and triples.

4 Likes

Sorry, maybe I’m not understanding the technical problem. Why do you need to store anything in a buffer? Can’t you just employ ordinary analog feedback? I mean, isn’t that what the wavefolder is doing in the first place? This is just adding a couple of extra bells and whistles… a variable frequency ratio and a variable gain stage.

Sure you can, just grab Stairs + Proc and you’re good to go. Or Stairs + FKG3 if feedback keying is more the goal. The voltage controlled variable gain stage / frequency ratio is the control labeled “Steps.”

My point is that typically in fractal algorithms, the feedback is occurring across multiple frames – whereas in the analogue patch, we cannot peek one frame into the past. The only value accessible to us is usually whatever the last couple pixels were. So we can create very fast subpixel feedback, and this may lack the spatial properties of a fractal generator.

I mean, isn’t that what the wavefolder is doing in the first place? This is just adding a couple of extra bells and whistles… a variable frequency ratio and a variable gain stage.

This wave shaper design is a series process through precision full-wave rectifier circuits, and doesn’t involve feedback. Variable frequency control is created by modulating the amplitude of the input signal (which is what the Steps CV does.)

Here’s the top level schematic, which is pretty readable:

6 Likes

Here is a spreedsheet model, I think you should be able to clone it and play with the values.

Would something like a shift register frame buffet be possible, where the register’s values can be variable? For example, you could envision this as a four frame buffer sample at a minimum value and then an every-120-frame buffer (or something) as a max value? Basically a shift register with control of the delay length; in the audio world a combination of E102 and Verbos Random Sampling. I realize this is easy to suggest and likely very hard to implement, but I think the possible results of a module like this would be really cool.

40-120 samples is possible, we do I think a 64-bit triple shift register implementation in Fortress like this for example – but if we’re talking a frame delay, that’s 349,920 samples for 1 frame of video rate delay, presuming we are wanting to access an image instead of just a single value. So FPGA/DDR3 driven systems like TBC2 and Memory Palace are much more suited for this kind of process.

Analog shift registers is definitely an area it would be cool to do more development! Russel Kramer’s Wave Comber has some neat tricks in this vein.

3 Likes

On Matte, the middle column is an average of the other two (50/50 mix.) So if Color #1 is BRIGHT RED, and Color #2 is BRIGHT GREEN, the middle column will be DARK YELLOW.

(Ansi chart for easy reference):

2 Likes

Oh, OK… it’s a rectifier and not a feedback circuit. Got it. So the whole concept of iterations doesn’t apply here. One would need to build that feedback loop via patching through external module(s).

But I’m still confused about some stuff. On the one hand you’re saying I can do this with an external patch, but on the other hand you’re saying I can’t do this because there’s no frame buffer. I still don’t see why a frame buffer is needed. There isn’t a frame buffer in the simple OSL or Bifrost implementations I’ve built. There isn’t a frame buffer in straight-up optical feedback, and that’s as fractal as can be.

And it really looks like the Stair/case Steps parameter is just changing the base frequency. If it was changing the iteration frequency, with a basic ramp input we would see that each successive “band” of luminance gets narrower. That’s not what I’m seeing in the demo video for Staircase.

1 Like