Alpha compositing with Marble Index



Let’s discuss patching techniques for Marble Index, the LZX Expedition series analog alpha compositor module.


Admin note: This question asked by Leslie Rollins on the former LZX Knowledgebase

With all settings set to the defaults as shown in the User Reference Card I’m experiencing behavior that I don’t fully understand. Using hard keyed ramps from Visual Cortex, through two separate Doorway modules, when I input the H ramp into Marble Index Ch. A red input, V ramp into MI Ch. B red input, and red output into Channel A red input on VC, I get this result with the Opacity knobs 1 & 5 each set to the middle position:

Then, with the Opacity knob 1 left in the middle position & Opacity knob 5 turned fully right, I get this result:

It seems like Opacity B takes precedence and removes A completely from view. If I swap the settings and turn knob 1 all the way right and leave knob 5 in the middle, the image doesn’t change from what is shown in the second image. In order to produce a similar effect in Channel A, I need to turn knob 1 all the way right, and knob 5 all the way down. Can someone please explain why it works this way?


Marble Index uses Alpha-channel based mixing to create layered composites from three different RGB images (Background, Channel A, and Channel B.) Here are some illustrations that show how this works using similar sources to what you’re doing. If you’re more used to thinking in terms of crossfaders than alpha channels, you can think of Opacity A as a crossfade between the Background and Channel A inputs, and Opacity B as a crossfade between the first fader’s output and Channel B. Another important thing to remember is that with no input, the image for the channel is simply a black/blank screen. The RGB offsets make it easy to dial in a background matte color if applied to the BG inputs only.


Here’s my basic patch for Marble Index exploration:

Marble learning Patch: MI RGB outs to left Cortex RGB In. All cortex controls default per MI Reference Card

Patch Horizontal lines to Red BG, a SHAPE to Red channel A, and Vertical lines to Red channel B (ONLY USE ONE COLOR CHANNEL). All switches off.

Use the Opacity controls to fade between BG/A/B. Return Opacity. Start throwing ONE switch at a time and then turning Opacity controls (and RGB Offsets for corresponding switches) and Opacity A/B and then returning each switch to OFF.

Do this until you have run through ALL the switches.

Repeat systematically until you have a feel for the controls, then try them in combinations. THEN add in other related or dissimilar signals into G and B of each section of MI. Repeat. Repeat. Repeat.


There’s GOLD in @wiatrob’s hills! The tips he shares above really, really helped me get to grips with Marble Index. :slight_smile:


Glad it’s helpful! If anyone has tips to add, please be sure to post 'em!


Still playing and experimenting. Hope to develop some tips and tricks to share.

Lars Condensation (info by module & topic)

More cross posted info from Facebook on how Marble Index works.

Lars Larsen - Marble Index is more about voltage controlled mixing between sets of RGB inputs. On top of this, Marble Index has a LOT more circuitry related to complex blending modes – so it’s kind of more like an analog computer designed to achieve compositor math typically found in computer graphcis. I’m not sure if anything like it really exists… trying to do something totally new. You can think of Marble Index more like a video mixer, except instead of A/B banks you have 3 layers, and instead of an A/B fade control, you have 2 opacity controls.

Lars Larsen - You can read more about the math behind blending modes here:
Most of the modes described on this page can be achieved (with analog circuitry) using different combinations of modes on Marble Index.

Lars Larsen - Likewise, most of the Porter-Duff compositing methodologies are achievable using a pair of Doorway keyers to manipulate alpha channels (which then get passed along to control the Opacity CV inputs on Marble Index.)

More reading

Lars Larsen - Marble Index, once available, is really the final piece of “glue” between all of the color mixer/manipulation modules we’ve designed for the system so far, and can function in harmony with Passage, Mapper, Color Chords, Cortex compositor, etc to enable a huge variety of different workflows that have complex hierarchies and full expandability without any “end points.” Cortex is designed to be the system’s primary RGB/color module in under 3U systems, but as systems expand, the color complexity can be relegated to other modules and Cortex then becomes like a final output processor, where it’s easy to do “fade out to black/color” or output effects (like Negative, really handy for external feedback loops)


@destroythings Thanks for posting these helpful notes over here it will be a great resource to search this forum once things have fully migrated over here.


This was an awesome read. It would be cool to work with you and anyone else who has an interest in compiling these sorts of notes from Lars into a more obvious and organized community resource. @creatorlars (Let’s do this<–)


Yes that would be great. I have generally just cross posted stuff when i noticed a question asked here that had previous had a response on the facebook group but could really do with taking time to mine the facebook group for info thats not available here.


We cry on the inside everytime a 30 minute scouring of nested Facebook comments yields more insight than the reference cards for a device. Let’s save the future of LZX consumership from having to spend more time scrolling Facebook for Lars gold than they do patching!


One of the reasons FB is not an ideal repository for such info! My only New Years resolution is to be better about checking in here…


Just gonna copy and paste something from FB. Good info here about the opacity VC:

Lars Larsen - “Know your reset position for all the switches and then just get signal passthru going, one channel at a time. Understand how making a key from your source (Polar Fringe or Doorway or just a raw luma channel) works, and then patching it into the Opacity CV inputs to control layer opacity. Remember that using the same source for RGB and Opacity can be a good idea (this is how Color Chords works.) Then, small changes, steady as she goes, as you explore the blending mode options or activating the offsets. Reset the switches between each new thing you try so you don’t get lost. Or, on the other side of things, feed it tons of shapes and waveforms and flip switches randomly until something excites you. It’s designed to work either way!”


Very nice tips here, thanks for sharing!! It makes a huge difference when trying to understand how these things work.


More cross posting from the facebook LZX group.

Another good source for Opacity input is the Luma component of a corresponding RGB source. Run it through a Doorway for Luma keyer control. This is why the Cortex input decoder and the memory palace/tbc2 all have Luma out in addition to RGB.


If y’all wanna get deep into some reading material check this book out:


In before anyone rolls their eyes at this gem, picked it up yesterday and haven’t put it down. A few hundred pages in and all the industry illusions of movie magic have been distilled to concepts I can interact with on a discrete level. Sometimes I’m not sure what wizardry is afoot behind the curtains of the LZX knowledge base, but I will tell you this book has certainly contributed a large part to understanding what’s going on beneath the surface. Without fanboying any harder, I’ll leave it is as follows: if you’ve worked with any of the tools existing on the spectrum from analog to digital, you owe it to yourself to read what could be considered the abridged owner’s manual to the Fundamentals.


Anyone use the Kindle version of this? I prefer it these days, but sometimes the hard copy is the better buy for formatting, etc. Didn’t see reviews for the Kindle version on Amazon.


I haven’t seen the Kindle version myself, but there is a .pdf out there with great formatting/fully functional links etc.