Is it is simply easier to create a module that modulates some incoming signal using HSL math? Or, to put it another way, is it is harder to convert an RGB triplet signal to an HSL triplet that can be sent to other modules?
Yes. Difficulty isn’t really the question, it’s about complexity and parts count/cost – and more importantly, that those costs would inevitably just restrict you rather than giving you freedom with the signal path. Have you ever ran across any example of HSL as a signal rather than a transformation of an RGB/YUV image? There are HSL encoded images, but they are all digital and require specific encoding/decoding algorithms. If you are going to mix/manipulate those HSL image formats, they get decoded to RGB or YUV first, and that’s where the transformation or mixing takes place.
I’ll try! Hopefully I make sense – this would all be better with some formulas, charts, and example images (and a fresh night’s sleep.)
First off, Hue and Saturation are not linear signals like YUV and RGB – they are Angle/Distance transformations of a 2D point. If represented by a linear voltage, how would we map angles (something that can wrap around a centerpoint an infinite number of times) with a finite voltage? We’d have to decide on a range, like 0-360 degrees = 0-1V. And that cropped range would ultimately become a confining, annoying pain in the ass.
The UV plane
Now any HSL encoded image, when mixed with another HSL encoded image, is going to need special functions/encoders to mix those hue channels. What happens in analogue if we mixed two “Hues”? Do they wrap around with a modulus of 360 degrees? Is that a waveshaper? We can’t just sum them together, or that puts us out of range (instead of 90 degrees - 180 degrees = 270 degrees like we’d want, we get “INVALID HUE”.) Do we now need special “HUE INPUT ONLY” inputs on modules with modulus operators integrated? That’s going too far. We want to convert chroma into something that can be patched, mixed, have logic operators, etc.
So it’s much more powerful to place those kind of functions (Hue adjustment, Saturation adjustment) as part of a Polar-to-Cartesian waveshaper or rotation modulator, since now we can endlessly sum or cycle hue or adjust its rotary range as a part of the function (check out Navigator, it can do X8 rotations along a single 0-1V control input or rotate UV endlessly in either direction.)
Now, if you say “but I don’t care about mixing images properly, I want to mess with them!” Well in that case, nothing’s stopping you – combine those UV channels using any kind of analog transform (like the logic mixes on DSG3) and you will get something experimental, and likely interesting – or even demodulate UV yourself with multiplier modules – you can invent your own colorspaces or palettes. This is going to be much more organic feeling and less frustrating than a cropped angular range out of a converter. Or if you don’t like scientific recipes like HSL at all, just forget the HSL amp and invent your own transformations thru patching the basic ingredients (multipliers and summing blocks.) To put it another way, do you want your experimental chroma to be limited to a single textbook formula? Or do you want to design your own infinite angle extraction techniques from UV?
Then there’s the question of circles and squares. When we rotate hue, that is a sinusoidal transformation. It draws a circle around the center axis. Adjusting saturation is the length of the line (distance) the point is from center. If the distance is the same as the point moves, the saturation does not change. If the distance changes but the angle does not, saturation increases and hue does not change.
But how do you fit that circle into the full range UV plane? Is it oversized, does the circumference of the circle hit the corner points of the square UV plane? No we can’t do that, then your hue rotations would slide unnaturally and you would introduce cross modulation with Saturation when the UV positions exceeded bounds (that would defeat the point of Hue/Sat on separate signals.)
So what about just putting the circle entirely inside the square? Well that’s much better, and represents what a 2D hue rotation does – but if we convert Hue/Sat in that way to a signal, aren’t we cutting off the whole range of hues near the corner points? (Yeah.)
UV, on the other hand, contains the full picture of chrominance without any discontinuities. It can be converted to RGB and back again without losing any of the colors possible in the RGB colorspace, since it’s a direct linear matrix translation. You can sum two hue angles simply by mixing the UV components.
So my opinion? If you want to go “ultimate chroma” – yes, including angular displacements, the direct creation of UV thru hue waveshaping, control mixing, combination of opposing angles, etc then the obvious answer is UV signals + 2D/Quadrature processors. From my perspective, that’s the best of all worlds. A single module which can handle RGB input, RGB output, but still give you HSL transformations in between, or create RGB directly from HSL modulation inputs? You could patch an entire system up to generate that single Hue signal that gets sent into the HSL amp’s modulator. In other words, we don’t need an Angle output to do that – we can just turn any signal into an Angle!