## Principle of the Blinds circuit

Let's say your signals are between -10V and +10V.

`IN` is your (bipolar) input signal (carrier). `CV` is your (bipolar) cv (modulator).

Your toolkit consists of op-amps to add and subtract signals, and unipolar linear VCAs which compute `V (IN, CV) = IN x CV / 10`, but only for unipolar CVs (no restriction on IN though).

You want to use this to build a four-quadrant multiplier that computes `IN x CV / 10` even if `CV` is bipolar. Let's do a couple of algebraic manipulations...

``````    IN x CV / 10
= IN x (CV / 10 + 1) - IN
= IN x (CV + 10) / 10 - IN
= V (IN, CV + 10) - IN
``````

And that's it... Shift the `CV` high enough to ensure that it is unipolar, and compensate by removing the input from the result.

## Swapping signal and control

Now let's get to the tricky bit. Because four-quadrant-multiplication is commutative, you can swap the inputs `IN` and `CV` and get a circuit that should (in theory!) output the same thing. Indeed we have `V (IN, CV + 10) - IN = V (CV, IN + 10) - CV`. At least algebraically...

Blinds' circuit computes `V (CV, IN + 10) - CV`, that's why you see the audio signal going into what you're believing is the control path of the linear VCA ; and the CV going through two branches.

So why this odd choice, of computing `V (CV, IN + 10) - CV` instead of `V (IN, CV + 10) - IN`?

Let's have a look at `V (IN, CV + 10) - IN`. In the real world, the two terms in this equation will go through different paths, the first term will go through a 2164 cell and an op-amp before hitting the op-amp that does the subtraction, the other term won't go through that, so the first term will have some tiny bit of distortion, noise, high frequency roll-off and slew-limiting. Which means that when `CV` is 0, `V (IN, CV + 10) - IN` won't be zero, but will contain some faint garbage (high frequencies that are not completely nulled, higher harmonics from distortion, bonus noise). However, `V (CV, IN + 10) - CV` will be 0 as expected, first term is zero because the VCA has good offness, the second term is zero.

Since people expect the output to be silent when `CV` is null, I have chosen the `V (CV, IN + 10) - CV` variant. This swap is not magical - its downside is that if `IN` is null, we'll still hear the high frequencies of the CV bleeding through. But in a typical modular applications, when using Blinds as a VCA, the signal going into `IN` is rarely silent; and the CV rarely has super hard edges. So it's less of an issue!