In class we are designing a VCA together as part of a bigger circuit. The aim is that we have an input of speech and an input of music and when we speak the the music reduces in volume.

The speech input to the schematic below comes from another circuit which is just a basic envelope detector. In the case of simulations I have just been using a DC voltage to represent the output of the envelope detector. The output of that circuit is a negative voltage so that is why it is negative DC source below.

The basic theory is, the first stage, the Voltage to Current converter turns the output of the envelope detector into a current which is set using R1. The current is fed into the current mirror which interns acts as a current sink for the long tail pair. The Q4 of the LTP acts as the input from which the music comes into, Q5 is grounded. So when the speech goes up the current goes up which interns makes the voltage increase after R3 and R3. However the voltage also has the speech voltage present, when the speech goes up so does the R3 and R4 voltages, so as they are out of phase by 180 degrees that gets fed into the subtractor which because they are out of phase, it removes the speech voltage, as its present in both branches but the music is left intact (but doubled) as its out of phase. However the last thing is that it is currently doing the opposite of what is needed so the output of the subtractor is fed into the the middle opamp (which is the unlabeled) block, and it inverts the "gain". The output after this opamp is going to be the final output, the music signal whos amplitude is controlled by the input speech signal.

While in theory it sounds like it should work, and it does, theres some behaviour im not to sure about.

I have built this circuit in LTSpice and it works under certain conditions.

As a test, if the speech is -0.1V and the music is 0.2V then the output I get is 100mv. If I go below -0.1v or above 0.2v, even by a bit the output saturates. However if I make the speech -0.2v then the output is 40mv, -0.3v then 28mv. Which shows the musics gain is being controlled by the input speech.

However if the music is 2V and speech is -1V then it works, but again the output is 100mv only.

This is what im having trouble working out. You can use any combination but it seems like the maximum output you can get is around the 180mv mark.

Using 5V music and -5.089 speech the output is around 170mV. Any lower than -5.089 then it saturates to 12V or sometimes -12V. Othertimes if I get very close say -5.088V theres some wierd effects such as a small sin wave around 6V for a few milliseconds then it drops to -12V.

So, the input speech / control has to be scaled to fit the music signal. In reality we will be dealing with millivolts and according to simulations its all going to work fine even with a 0V speech signal.

So I would just like to see if anyone can share some extra insight into the circuit and why its acting like this or if theres any advice for improvement. I was under the impression that the input speech would control the music the same way for all music signals. Such as 1V = gain of -2 for all ranges of music inputs, but obviously thats not the case.


simulate this circuit – Schematic created using CircuitLab


Your voltage to current convertor is inappropriate. With no speech signal a current flows into Q3 of approximately 12mA (\$\frac{12 volts}{1k\Omega}\$). I'd try making R3 and R4 much larger (try 10k for a start) because the "long-tailed pair" you have needs to operate in the saturation (linear resistance) region to work correctly: -

enter image description here

Operation in the saturation region means your transistors can operate similar to a current controlled resistor BUT your CE voltage needs to be low and you need to look at transistor data sheets to see how low. \$I_B\$, in effect picks the resistor value (which is the slope on the curves above). Varying I\$_C\$ in the linear region varies V\$_CE\$ because it is like a resistor and because \$I_B\$ is varying the resistance you get amplitude modulation or basic 2-quadrant multiplication BUT collector-emitter voltage needs to be low or you enter the right-hand side of the graph which is the part for normal BJT amplifiers.

Second problem is that your speech input will actually modulate your music input because the current into Q3 will rise and fall (centred at 12mA) with the signal shape of the voice. You need to track the amplitude or envelope of the speech signal and I can't make any recommendations on this other than use a precision rectifier circuit built around your first op-amp OA1.

I would also point out that OA2 has no local feedback, relying on OA3 to provide negative feedback. This is a recipe for oscillations and instability. Also, I note that you have local positive feedback around OA3 and in conclusion I would ask, where did you get this circuit? On the face of it, has has smatterings of the right approach but every section is flawed with mistakes and inappropriate design.

  • \$\begingroup\$ Hi Andy, thanks for the good tips! Can I ask a couple of questions. Firstly, you mention a precision rectifier. This is exactly what we have built previous, its output is the "speech" input, I said above that in my simulations im just using a DC input to represent the speech's envelope. Adjusting the DC to see the differences in the final output. \$\endgroup\$ – binarysmacker Nov 13 '13 at 20:56
  • \$\begingroup\$ So I assume the problem of modulation is solved. About the R1 value, could you explain a little more how that is going to affect the long-tail pair and its operation? The value of R1 is chosen to scale our gain, depending on the value of the envelope that goes into the speech input depends how we should choose R1 to decide what gain should the voltage equate to, if that makes sense? The circuit is designed in my analogue project class together with the lecturer. The reason for putting the output into the non-inverting input is because we might want to add extra negative feedback at some point \$\endgroup\$ – binarysmacker Nov 13 '13 at 21:06
  • \$\begingroup\$ Also, I forgot to say that R2 of 100k acts as a bleed resistor to prevent infinite gain / saturation. \$\endgroup\$ – binarysmacker Nov 13 '13 at 21:08
  • \$\begingroup\$ OK understand on modulation. R5 is the problem, not where you put the input into OA3. If you need some local negative feedback on OA3 R5 needs to go to -Vin. I'm going to change my mind about R1 for now and suggest that to get the long-tailed pair in linear operating area, R3 and R4 should be bigger. You actually want both transistors to be saturating (linear region) so that the base can control the slope resistance of the transistors and to get into the sat/linear region you need to have a smaller Vce. Making R3 and R4 bigger reduces the voltage on both collectors down towards the -12V rail. \$\endgroup\$ – Andy aka Nov 13 '13 at 21:25
  • \$\begingroup\$ Hi Andy, im not quite sure what you mean about the opamps exactly. But you suggest to start I should increase R3 and R4? If the music was to be inputted directly to the base of Q4 and the output was taken at the output of OA3 then the music would increase in volume when the speech increased in volume. So that is why I have OA2 to "invert" the gain. Im not sure if that helps with the opamp situation. OA3 itself is to subtract the offset caused by the rising and falling current caused by the speech. Could you expand a bit on how increasing R3 and R4 will create a difference to the output. \$\endgroup\$ – binarysmacker Nov 13 '13 at 21:51

The application you're talking about is known as "ducking" -- lowering the gain of a music signal when there is a voice signal. You seem to be building a fully analog implementation of this.

For another design option, consider an ATTiny85 (or other small MPU with an ADC), a digital potentiometer (for setting the negative feedback for amplification) and a single opamp. This will let you tune the ducking envelope in MCU code for much better response than the typical envelope follower will give you. Part count will be lower, and cost will be same or lower, would be my guess. The most expensive part would likely be the digital potentiometer.

Or you can just use an off-the-shelf VCA circuit...

  • \$\begingroup\$ Digital pots can introduce zipper noise, though \$\endgroup\$ – endolith Jul 24 '15 at 21:13
  • \$\begingroup\$ 1024 steps minimum is recommended for professional audio controls. \$\endgroup\$ – drtechno Jan 19 '18 at 15:56

Ok, well the problem I see in your circuit seems to lack an rms detection circuit. Don't give me wrong, but I just don't see it in plain sight. It looks more like a dc servo loop.

When we build this circuit we have to take our signal we are going to detect (our sidechain), and just the signal, with no dc bias, and use the dc voltage that has been rectified by that incoming sidechain signal. Let me show you the classic method used. in this illustration below, we see a component level compressor circuit. Yes I took you back to the beginning as this better illustrates a compressor detection circuit: classic compressor design

As we look, the 6h6 full wave rectifier (early solid state circuits was diode bridge rectified here) get its signal from the output line stage, Its ac coupled here as any dc comming into the detector is going to add to the output asymmetrically, so that's way its typically ac coupled. In the schematic there is a little bias on the detector, but that is because of the device used (6H6). In your application, it's common to use a buffer stage before the detector (for last minute adjustment of sidechain gain plus circuit isolation from external devices), and the connection of the output stage to the detector is opened/removed/switched out when the side-chain signal is used for the detection instead of the main signal going in. You'll notice in the detector circuit, there are rc circuits that are switched to change the slope of the pulsating dc signal that gets applied to the vca (in this case the 6SK7) for different ratios for compression or limiting.

Now this is several ways a compressor can be built depending on end application, but I want to show you where the circuit originates from, so you can understand it no matter what electronics technology is applied (tube, solid state descrete, IC circuits)

The DBX company were the innovators of the ic based compressors. And those specialized ics have been the building blocks for several of compressors out there ranging from $50 to $5000. Their integrated circuits division was bought by the design team and they are now called THAT semiconductor corp.

In this link, it will take you to the design notes of a THAT corp ic based compressor. http://www.thatcorp.com/datashts/dn00A.pdf

Check out thier site for further reading, as they were the people who refine VCA technology.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.