Posted by & filed under Projects, Synth DIY, VCAs + Amplifiers.

CrossfaderGraph

There are a number of situations where it is useful to be able to crossfade between two different signals with a single control. Examples might be a wet/dry control on a delay effect, or a waveform knob on an oscillator that goes from ramp to square continuously.
The simple and obvious way to do this is with a dual-gang pot. Each gang controls one signal, and it’s easy to wire so that as one increases in level, the other decreases, as shown in the graph.

But can it be done with a normal single-gang pot? Well, yes, it can.

CrossfaderPot

This circuit idea shows how. A differential op-amp has its inverting input fed from Input A, whilst its non-inverting input is fed from Input B. The output from the diff amp is Input B plus an inverted copy of Input A. With the Pot grounded, the output mixer only sees the direct signal from Input A. With the pot at the top, the direct signal from Input A is cancelled by the inverted copy coming from the diff amp, and all that you get is the non-inverted Input B. In-between these two extremes, you get a linear crossfade from one input to the other.

We can use this same concept to build a single VCA crossfader too. In fact, the single VCA version comes out simpler, since the VCA can fufill the roles of both the differential amp and the pot, and the I-to-V stage that often follows a VCA can be used as the final mixer.

Shown below is an experimental voltage-controlled Big Muff Pi tone control that I developed. The Big Muff’s tone control is essentially a passive cross-fade between a lowpass filter and a highpass filter. The circuit isn’t perfect, since the two inputs have different impedances, and the impedances are low enough to interfere with the passive filter networks, but there’s a ton of interactions in the original anyway, and this circuit works well enough as-is.

If you remove the lowpass RC and highpass RC and feed the two inputs from different signals instead, what you’ve got is a voltage-controlled single-VCA crossfader. Cool, eh?!

VCBigMuffTonecontrol

I built this using half a 13700 VCA, but it’d work equally well with the (extremely similar) CA3080 single VCA. Or you could use both halves of the 13700 and build a crossfader for stereo signals.

    Related Products

  • CA3080 Single OTA

    The CA3080 was the first operational transconductance amplifier (OTA) chip available. It’s not the quietest chip in the world, but it’s got that vintage sound! Download CA3080 datasheet These chips are original unused Harris CA3080E.        ...

    More Info Buy Now
  • LM13700 Dual OTA

    Now, this is classic chip! People have been building filters and VCAs around this since it was first introduced, and it appears in many, many analog synths. Download LM13700 datasheet    ...

    More Info Buy Now

11 Responses to “Single VCA crossfader”

  1. michael sigl

    when looking on your Expierimental V1-Schematic, i have following questions:
    instead of LPF & HPF i could use a Audio-Jack and have 2 Inputs (instead of crossfading between LPF-HPF)?
    the 0-5V CV is this liniar? meens 2,5V is middle (booth Signals equal Gain?) or is it logaritmic… i ask because i will use a DAC to controll it.
    thx mike

    Reply
    • Tom Wiltshire

      Hi Michael,
      Yes, absolutely, you can drop the LP and HP filters and crossfade between two audio inputs. The VCA CV is linear. Controlling it with a DAC shouldn’t be too difficult. Let me know how you get on!

      Reply
  2. Anton

    “Or you could use both halves of the 13700 and build a crossfader for stereo signals.”
    This is exactly what I will be doing!

    Quick question:
    What is U1 in the schematic?

    Reply
    • Tom Wiltshire

      U1 can be any audio op-amp. I used a dual package. TL072 would probably be the “standard”. You could also use LF353 or a 1458. There are plenty of other more audiophile options too, with prices to match!
      HTH,
      Tom

      Reply
  3. morc

    the schematic looks very interesting. I am looking for a simple single pot (fader!) crossfader. Am I correct than the value of the pot or fader doesn’t matter too much (it goes linearly between the two extreme case, so any value should do that).
    And would input A not be inverted (if the pot goes to ground)?

    Reply
    • Tom Wiltshire

      The value of the pot isn’t critical, but you need to think about it in relation to the value of the resistors. The input impedance of the inverting op-amp will load the pot down if the resistors are of a similar or smaller value than the pot. A good general rule of thumb is that the input resistor should be 10 x the pot value, so with 100K resistors used throughout, you’d use a 10K pot. That way the response of the pot stays genuinely linear.

      Since the final output mixer is inverting, the output is inverted with respect to *both* inputs, not just input A. Add another op-amp to compensate if that’s a problem. Often this circuit snippet is part of a larger circuit and you can arrange to get one extra inversion elsewhere in the circuit, or sometimes it simply doesn’t matter (mixing oscillator waveforms in a synth, for example).

      HTH,
      Tom

      Reply
  4. Sigfreed

    Hello tom

    Were you able to get the top circuit working? I built it with all equal value resistors, and the signal in the “B” input never fully cancels out. It is always at 25$ blend regardless of the pot setting. Any ideas?

    -Sig

    Reply
    • Tom Wiltshire

      You say it’s always at 25% regardless of pot setting? That’s not right. With the pot at the bottom, the Input B signal should be grounded, and there shouldn’t be any way it can get to the output. Try only feeding it one signal and makes user you get the result you expect for each channel, and then try both again. Something is definitely fishy!

      HTH,
      Tom

      Reply
  5. Dekel Maman

    Hi Tom
    I built the circuit and its work great (as crossfader)
    but i have some issues
    1. As “Sigfreed” mentioned above: the input “B” is never get to 100% always i got little from the input “A”, i changed the feedback resistor to 100k trim and its got much better (around 31K) but its never make full crossfaded to B signal, there is any way to get it work properly make 100% A with 0 volts and 100% with 5 volts??
    2. the output is decreased by -8db than the input signal.
    3. I’m also tries to use it as “Volume control” and Connected “A” input to Ground, again ther’s no completely silent when the pot is Fully in CCW posiiton (0V), so i removed R4 (feedback resistor) and the 200K input resistor, so the ground connected directly to the LM input.
    Its worked good but still have the -8db decreased issue, so i tried to feed it with 15V CV , and the gain raised back to correct volume, but when i crossed the ~12.5V I’m getting “pop/click” noise (and its happen just before getting the pot to full CW, around 3 o’clock position),
    I saw the answer you written above about the 10 times input resitor value, you think its should solve that issue?
    Regards

    Reply
    • Tom Wiltshire

      Hi Dekel,

      1) This is question of getting the balance right between the two signals. As you’ve noticed, having the feedback resistor as a trimmer helps balance them. I don’t know which way around you have “A” and “B” on the VCA, but perhaps the VCA isn’t shutting off completely.
      2) You can adjust the output level by altering R3/47K on the output I-to-V stage.
      3) What you’re doing here is converting the circuit back to a VCA. You’d be better off looking for a circuit that’s intended as a VCA to begin with. I haven’t got one here, but this is a good link:
      http://srv4.electro-music.com/forum/topic-57995.html
      There are also examples in the LM13700 datasheet.
      The pop/click comes from offsets at the inputs of the OTA. These can be trimmed out, and for VCA applications you’ll often see a “zero trim” on one of the inputs for exactly this reason.

      Good luck!
      Tom

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *