Cross-fader mix control assumptions

Hi there - I’m working on a simple cross-fader (as module component, not a module itself) that will sum two signals A and B. It’s controlled by a “Mix” knob parameter with range `-1..1` that works like this:

``````-1 --> 100% A    0% B
0 --> 100% A  100% B
1 -->   0% A  100% B
``````

This works for my use case where the default centre knob position `0` should sum A and B at full power. I’d like to offset the knob parameter with a CV input, but need to check my assumptions first. The assumptions are:

1. A ±5V input range makes sense for the CV input since the knob parameter value is bipolar
2. Based on the above, something like `clamp(knob + cv / 5, -1, 1)` would be a good way to combine the two control values

I’d like for the combined “Mix” control to work in the least surprising way, so if you see anything wrong with this approach I’d love to hear about it. Thanks for reading!

The most exact cross-faders use `cos(p*PI)*A+sin(p*PI)*B` with `0<=p<=1`, as this gives least gain or loss (power is voltage squared) at the centre. Quite a lot of DJ mixers just use a linear part sum.

But yes, I think a `clamp()` would work as an end stop.

1 Like

Here are some usual crossfade curves to choose from:

IMHO to make your module most flexible, give the choice to the user.

3 Likes