Envelope Circuits: a simple discrete AR design

As a companion to my simple op-amp AR envelope circuit, here’s a discrete version. It has the same basic functionality – gated input, variable attack and release times – but is made with transistors instead of integrated circuits. Power consumption is very low (just a handful of mA), and it runs from a positive supply of your own choosing. Like its op-amp cousin, it could be powered with a battery, or in a Eurorack system, or you could add it into an existing synth like the Moog Werkstatt as a mod.

The main difference between this and the op-amp circuit, aside from it being discrete, is that I have included a very simple way to set the level of the envelope output (see below for details).

RV1 is Release, RV2 is Attack. The Gate input can be anything over a couple of volts. Negative-going inputs (eg., from a bipolar LFO) will be removed by D1. The output goes to nominally 0V when fully off (closer than the op-amp version, in fact).

Discrete AR envelope schematic

Discrete AR envelope schematic

Parts List

R1, R2, R6, R7, R10: 100k
R3, R4: 47k
R5, R8: 560 Ohm
R9: 24k
R11: 10k
R12: 1k
RV1, RV2: 1M linear pot
C1: 1µ non-polarized
D1, D2, D3: 1N4148 or equivalent
Q1, Q4, Q5: BC549C or equivalent
Q2, Q3: BC559C or equivalent


How it works

Compare the first pair of transistors with my discrete gate buffer circuit. A positive voltage on the input turns on Q1, taking the base of Q2 low. This turns on Q2, taking its collector high. This is how we drive our envelope.

Now compare the diode and potentiometer arrangement with my op-amp AR. Once you’re past the transistors, it works in basically the same way.

Q3 inverts the output of Q2, so when Q2 is on, Q3 is off, and vice versa. When the collector of Q2 is high, the capacitor charges through diode D3 and pot RV2 (Attack). When the gate input goes low, the transistors Q1-3 switch off, off, and on, respectively. In this state, the capacitor discharges through RV1 (Release) and D2.

Note the two 560 ohm resistors: one on the emitter of Q2, the other on the collector of Q3. When the gate input is high and the capacitor is charging, current flows through Q2’s emitter resistor; when the gate is off and the capacitor is discharging, current flows through Q3’s collector resistor. These two resistors put a lid on the current flow and limit the fastest times for Attack and Release. The value is a trade-off between current and snappiness. With the values shown, maximum current through these resistors is around 16mA and the fastest rise and fall times of the envelope are around 2ms.

The final two transistors in the circuit after the capacitor are the output buffer; notice the two resistors between them, forming a potential divider. With the values shown, if you run this circuit on 12V, the envelope output will be around 8V max.

There are better ways to set the peak level of an envelope, but my aim here is to keep things simple as a base for experiment.


The most obvious things to tweak are the envelope times and the output level.

The values of the two potentiometers affect the attack and release times, but the envelope can be substantially stretched by using a larger capacitor. It would be easy to add a switch that connected, say, a 4.7µF or 10µF capacitor in parallel with the existing one, which would multiply the envelope’s times substantially (use perhaps a 25V electrolytic, with its -ve terminal to ground).

The two resistors between the output buffer transistors can be adjusted to suit your requirements. If you want full-scale output (ie., envelope peak closer to the supply voltage), remove R9 and R10, and connect the emitter of Q4 directly to the base of Q5. In fact, this circuit will also work with just a single NPN as a buffer (miss out Q4 and the divider resistors, connect the cap to the base of Q5), but amongst other things the ‘zero’ value is less close to actual zero; if you want to experiment with a single transistor here, setting the level of the output can be done by replacing the 10k resistor on its emitter with a pair of resistors as a potential divider, or even a 10k trimmer with the output taken from the wiper.

Feel free to experiment with the circuit in Falstad’s handy online simulator.


Tags: , , , , , , , , , , , , , , , ,

22 responses to “Envelope Circuits: a simple discrete AR design”

  1. izash says :

    Hi N.,
    Thanks for this great looking design, I’m going to try to add it to my CMOS Cowbell.
    One question: Is there a special reason for choosing a non polarized 1uF Cap?

    • synthnerd says :

      No special reason; a polarized cap would also do the job. At the risk of being obvious, if you use an electrolytic, tie the -ve terminal to ground, and make sure its voltage rating is a little higher than the +ve rail. Also you can extend the envelope times with larger caps, so a polarized cap might then be the only option.

  2. jurek says :

    this is super great design. i have looking a simple envelope generator just made with transistors. very clever. i will make it soon. thanks!

  3. jurek says :

    could 2N3906 an 2N3904 be a substitute?

  4. ben says :

    Hi! I’ve got my werkstatt open on the operating table, so while I’m at it…How would I use this envelope generator to control the LFO? Love what you do!

    • synthnerd says :

      Thanks! The rate of the Werkstatt’s LFO can be controlled by connecting a signal to the ‘LFO in’ pin on the patch header. If you feed the LFO a positive envelope, its speed will increase in the Attack stage, and slow back down during the Release stage.

      • Ben says :

        Hmm, i thought i’d done everything according to plan, but it’s not working right. I connected the mod to the +12 tap and the ground tap on the Werkstatt, then took gate from the gate out, then took the env out to the LFO in and instead of slowly engaging the LFO it just makes it faster. And when i patch the env out to the VCF in, it likewise just drives up the cutoff frequency. And then when i patch to the VCO lin in, same thing–it just raises the frequency, without any change over time. Twiddling the pots has no effect. Any obvious thing i may have done wrong?

  5. synthnerd says :

    First thoughts: have you checked the output of the envelope is functioning correctly on its own?

    Secondly, if you route an envelope to the LFO, it *will* only affect the speed, not the amplitude. The LFO CV input is a rate control, not a level. Same for the Filter, an envelope routed to that will control the cutoff frequency.

  6. T-150 says :

    thanks a lot for the transistor version, greats from rusia\ukrein. they tend to only use opamps for active filters and all the stuff, hard is to find discrete designs for the same circuits. they may even think that they are so smart that all this is useless because is “obvious” and\or dated. but after some time they will end up totally not knowing how to make it without readymade ICs – because they also tend to only copy and paste without any understanding. as a beginner i want basic transistor designs as well – at least to, well, begin with.

    maybe you will also explain the DS addition to such circuits – your explanations are understandable.

  7. Sam says :

    WIll this work if I input my guitar and output to my amplifier?

  8. Sam says :

    Also can I use a 9v supply instead?

    • synthnerd says :

      This circuit will work on 9V, but it still won’t work as a guitar swell circuit. See my other reply 🙂

      • Sam says :

        Ah ok. Thanks synthnerd 🙂

        I have been trying to find a schematic for an envelope filter using transistors rather than op amps but can’t find anything online. Can you recommend anything?

        I wanted to make the response input based, so using LDR’s coupled to the input intensity. So if I play quiet the sound is ‘muffled’ high’s cut off… and play hard the cutoff is higher so get a different frequency peak?

        Don’t know if that makes sense.

      • synthnerd says :

        It makes perfect sense, though you don’t need LDRs, and there’s no real need to stick with transistors instead of op amps, unless you just want to make things harder for yourself 😀 The EHX Doctor Q circuit uses a transistor and op amp arrangement, is fairly simple, and easily found online… MXR also had an interesting take on envelope filter design and made one which (ab)used a logic chip.

        Of course now you’ve planted the seed of a design in my head and I might have to see what I can come up with…

  9. Leon says :

    Hi, will this work with a +9V DC power supply? I would need to change the R3 R5 and R7 resistors? Thanks a lot for sharing all this knowledge. Diy synth stuff is confusing when starting out like me.

    • synthnerd says :

      It will work on 9V just fine without modification. The resistors can stay the same, though you might want to play with the values of R9 and/or R10 to get the output sustain level where you want it.

  10. robinsutcliffe says :

    I finally got round to a video! I link this page in the description. I used the transistor ARs in the Super Drive:


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: