THAT (was Fet) Compressors

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Re: the 572 rectifier, I see the first amp current mirrors into the two rectifiers, But what is the buffer amp between them doing?

JohnRoberts said:
On the subject of THAT dynamics engines, over on Wayne's forum I gave them a schematic for a variable capacitance multiplier that could be used with the THAT rectifier to make the time constants variable. (I never melted solder but believe it should work.).

Found it:
http://www.waynekirkwood.com/forum/php/viewtopic.php?f=6&t=616&p=6978&hilit=jr%27s+variable&sid=9eb5bf8704b4a34dd6b2f9f585756fb5#p6978

I'll play with that today and report back...Thanks!
 
I tried JR's variable attack and release circuit in the previous post, and with some finagling it did work, it oscillated with shown values. Making the caps bigger and the 1M feedback resistor smaller stabilized it. Regardless I figured out I just don't like what the RMS detector does in general. I'm going back to more traditional timing circuits. If you like the RMS detector it might be worth your time to play with JR's design or use the "slew" timing circuit shown further down in that same thread:

http://burnit.co.uk/sdiy/images/boxotrix/schematic_compressor.gif

I also tried the VCA in the feedback loop of an op amp and was able to get that working. Kind of excited about that!  The VCA definitely has to be in parallel with a gain setting resistor for all those who what to play with this.  There is some balancing between the op amp gain and the VCA gain that has to be done.  Still messing with it.

I'll start a new topic in the Drawing Board if I make any ground breaking discoveries... :)
 
bluebird said:
I'm going back to more traditional timing circuits.
You have to remember that the actual timing behaviour depends on the VCA control law. The typical gain cells associated with "traditional" TC have a 1/x (hyperbolic) control law, and are used in a feedback arrangement. That makes a lot of variables.

If you like the RMS detector it might be worth your time to play with JR's design or use the "slew" timing circuit shown further down in that same thread:

http://burnit.co.uk/sdiy/images/boxotrix/schematic_compressor.gif 
They actually work also with "traditional" rectifiers. ATM out of my memory, but I remember having seen several examples in the past.
 
bluebird said:
I tried JR's variable attack and release circuit in the previous post, and with some finagling it did work, it oscillated with shown values. Making the caps bigger and the 1M feedback resistor smaller stabilized it. Regardless I figured out I just don't like what the RMS detector does in general. I'm going back to more traditional timing circuits. If you like the RMS detector it might be worth your time to play with JR's design or use the "slew" timing circuit shown further down in that same thread:

http://burnit.co.uk/sdiy/images/boxotrix/schematic_compressor.gif

I also tried the VCA in the feedback loop of an op amp and was able to get that working. Kind of excited about that!  The VCA definitely has to be in parallel with a gain setting resistor for all those who what to play with this.  There is some balancing between the op amp gain and the VCA gain that has to be done.  Still messing with it.

I'll start a new topic in the Drawing Board if I make any ground breaking discoveries... :)
I can actually do that with my moderator privilege (don't hate me).  8)  But I won't call it "FET compressors.

I have been thinking about this a little since I finished my tax returns (with hours to spare yesterday).

I am not in love with my variable capacitor idea... just a way to make the THAT rectifier a little more useful (if it worked).

If you are willing to melt solder I will feed you some more ideas.

My latest thinking  is to use a one pole SVF topology but with steering diodes on different resistors to change the up rate RC and the down rate RC. Ideally we can tweak values so there is a dead band below the diode thresholds each way for steady state sine waves. So a long time constant (bigger resistor) in parallel with fast up and less fast down diodes and resistors, can be smooth for low side chain ripple for steady signals.

I'll scratch up a schematic and post it over to your new thread  (some time later... after I do it.). 

My concept is to use the THAT rectifier and RMS section stock, but use a small maybe 0.1uF film cap for the timing cap there, that will give too fast attack and too fast release. Then take their buffered output through my 1 pole SVF to generate different slower up, even slower down, and really slow neither time constants. 

Only two op amps a small handful of discrete parts so not very complex. If you wanted to we could even make the attack and release times adjustable separately with pots.

JR

PS: I did comp/limiter/whatever back in the 80's (LOFT) that had all kinds of tricks, but better to start from scratch using a THAT engine. They don't publish a schematic for the innards like they did for the old 2252 but I ASSume it's similar. They no longer use an external resistor to discharge the timing cap but it looks like an internal several uA current source to pull down the cap for release (slowly).
 
abbey road d enfer said:
You have to remember that the actual timing behaviour depends on the VCA control law. The typical gain cells associated with "traditional" TC have a 1/x (hyperbolic) control law, and are used in a feedback arrangement. That makes a lot of variables.

  They actually work also with "traditional" rectifiers. ATM out of my memory, but I remember having seen several examples in the past.

Your right on both points. I'm pretty sure what I don't like is the feed forward feel. I'm probably attributing the RMS detector to that subjective experience.
One thing I don't get, is if the THAT RMS detector is already putting out a decibel linear "DC" voltage, why in all they're app notes do they tag on a full wave rectifier?  Couldn't they just add a buffer for the VCA and call it a day?

JohnRoberts said:
If you are willing to melt solder I will feed you some more ideas.

Of course!

JohnRoberts said:
My concept is to use the THAT rectifier and RMS section stock, but use a small maybe 0.1uF film cap for the timing cap there, that will give too fast attack and too fast release. Then take their buffered output through my 1 pole SVF to generate different slower up, even slower down, and really slow neither time constants. 

Can we do that in a feedback configuration?
And let me start my intentions once more. A limiter for full program material, coming after a compressor, that is as transparent as possible (within reason) but at the same time will not distort non transient material like voice or bass (reason for not using a clipper).  I accept that the more signal gets pushed into it the more it grabs and the release sound becomes more apparent. This tends to make things sound constrained and compressed. The look ahead software limiters can go pretty deep without getting grabby and constrained sounding.  I asked a plug in programmer about the  L2 Ultramaximizer plug in and he said this:

The trick behind L2 is lookahead buffer. I.e., negative time delay. The
processing and detecting circuits are spread approx 1.5ms apart. The
limiter does not have an instant attack, but it kicks in before the
signal itself and manages to duck it smoothly. It would be impossible to
implement anything similar in analog domain.

In addition to that L2 contains a compressor with a fixed attack and
decay, and so if the signal is released instantly, only the limiter
circuit is triggered, while if the signal stays at a certain level for a
while, it's caught by a compressor, which would then apply a certain
release time


I don't expect to achieve what time delay can, only want to come somewhat close. The leach design is the fastest tightest sounding sidechain so far, WAY better for this application than any of the THAT design note compressor or limiters I've tried.
I am also not trying to make a full featured limiter, Its a full featured compressor, with a limiter for icing on the cake.
So circuitry wise it needs to be slim.

JohnRoberts said:
Only two op amps a small handful of discrete parts so not very complex. If you wanted to we could even make the attack and release times adjustable separately with pots.

And that sounds like it would fit the bill. Although attack and release will not be controllable to the user, just a simple threshold knob. So only for preliminary tweaking would they be necessary.
I have to say I have gotten very close with your help already...
And since beggars can't be choosers, I will try anything you draw up without great expectation or pesky demands, and will be thankful for your help and knowledge.

Ian
 
bluebird said:
One thing I don't get, is if the THAT RMS detector is already putting out a decibel linear "DC" voltage, why in all they're app notes do they tag on a full wave rectifier?  Couldn't they just add a buffer for the VCA and call it a day?
I don't see that in the app notes; what I see is a "perfect" rectifier, that is needed to define the threshold.
If this was missing, the circuit would behave as a continuous gain-riding device, with constant output level whatever the input signal, even at its lowest.
 
Here is a quick viable attack, variable release, with slow dead band ripple filter.

This approach uses a small 0.1uF film cap at the THAT rectifier RMS block for very faqst attack/release RMS.

The 1 pole SVF with steering diodes allows separate attack, release, and dead band rates of change. 

Ideally you can make the dead band wide enough to cover steady state continuous signals with low side chain ripple, while still providing fast attack and/or fast release for signal level changes.

This does not address feed forward, feed back yadda yadda topology, just smooths the RMS voltage with more control.

Maybe later I'll address your other questions.

JR

Note: there are a bunch of value that need to be tweaked.  The voltage divider at the output of the first op amp scales up the internal loop rate voltage to appropriate voltage levels for the steering diodes and dead band to be effective.
 

Attachments

  • sidechain.bmp.pdf
    17.7 KB · Views: 68
OK I can't do time travel without some real delay but there are other angles.  I've killed a lot of brain cells messing with this stuff and there are psycho-acoustic phenomenon we can take advantage of (like I did in my old tape NR).

Human perception does not perceive brief clipping events as actual distortion. If anything it just sounds like more HF edge(?). So  we can let a dynamic path clip momentarily just not too long. Something that humans can hear is fast attack that clamps down on gain too much after brief transients (the reason I used a borrow and payback circuit in my old NR so fast attacks didn't trash the gain modulation envelope audibly.

Let me soak this in beer, but the circuit I posted will give you a good start with more control over up/down/steady side-chain rates of change.   

JR
 
bluebird said:
Can we do that in a feedback configuration?
On a philosophical POV, a feedback limiter cannot catch transients, because in order to detect them, they must have passed through. Only a feedforward or audio delay topology can actually catch offensive transients before they happen.
 
abbey road d enfer said:
I don't see that in the app notes; what I see is a "perfect" rectifier, that is needed to define the threshold.
If this was missing, the circuit would behave as a continuous gain-riding device, with constant output level whatever the input signal, even at its lowest.

I would think just one buffer with threshold DC into the inverting input would do the trick?

abbey road d enfer said:
On a philosophical POV, a feedback limiter cannot catch transients, because in order to detect them, they must have passed through. Only a feedforward or audio delay topology can actually catch offensive transients before they happen.

That makes total sense,  and made me sit in front of screen staring for a moment. But the rise and fall of voltage at 20k isn't that fast compared to electrons traveling through silicon. But now I'm going to be thinking about that...

JohnRoberts said:
Let me soak this in beer, but the circuit I posted will give you a good start with more control over up/down/steady side-chain rates of change.   

Awesome, I'll be messing with this tonight...

I see where your going, This is very similar to the slew limiter section I posted earlier:
http://burnit.co.uk/sdiy/images/boxotrix/schematic_compressor.gif

On yours the second op amp is charging the cap, and I can change the rate of charge for up voltage and the rate of discharge for down voltage. cool.
 
bluebird said:
I would think just one buffer with threshold DC into the inverting input would do the trick?

That makes total sense,  and made me sit in front of screen staring for a moment. But the rise and fall of voltage at 20k isn't that fast compared to electrons traveling through silicon. But now I'm going to be thinking about that...
It's kind of six of one half dozen another... feed forward or feedback topology can not change gain suddenly without distorting the waveform... only look ahead delay allows you to anticipate gain changes and ramp the gain control slowly in anticipation to reduce distortion.  Look ahead delay can be used with a feedback topology but it adds a another layer of computational complexity with no benefit that I can think of.

As I shared before, humans can ignore a little waveform distortion as long as it doesn't persist over too many cycles (or too long).
Awesome, I'll be messing with this tonight...

I see where your going, This is very similar to the slew limiter section I posted earlier:
http://burnit.co.uk/sdiy/images/boxotrix/schematic_compressor.gif

On yours the second op amp is charging the cap, and I can change the rate of charge for up voltage and the rate of discharge for down voltage. cool.
The two op amps together make a single pole (state variable) filter. The steering diodes allow for a different effective RC for attack, a different RC for decay, and different RC for small level changes  so you can be fast when you need to be fast, and slow when you need to be slow. 

The integrator stage by itself looks like slew limiting but the overall negative voltage feedback connected back to the first stage makes it behave like the conventional one pole LPF,,, just like a  simple RC the rate of change slows as it approached the steady state voltage.

The next trick (maybe) a large change up threshold that allows it to be very fast for sudden transients but only briefly. Changing the gain suddenly will truncate the transient not unlike a hard clipper, but you don't always want to change the side chain that suddenly. Perhaps a fast attack fast release for brief transients, separately from slower more conventional time constants for regular level changes.

Almost like a fast peak limiter on top of a slower dynamics processor. My borrow gain/payback gain was more of a tape NR trick to reduce playback mis-tracking with questionable tape signal paths, not an issue for single ended dynamics processing.

JR 

 
I added another trick... a similar borrow payback like I did before.

For large transients the zener diode conducts and speeds up the side chain attack, but this current is borrowed from a cap (by charging it up), so after the transient passes the cap discharges giving back the current stolen to attack quickly.

Try the other stuff first, this may be too clever to be useful for simple dynamics processing.

JR
 

Attachments

  • sidechainA.bmp.pdf
    19.5 KB · Views: 49
Nice! I definitely have to get the first version working, Just looking at it I have no idea what the range of voltages are going to be around the zener. Guessing R7 would be the release time for C1.
 
I played around with this for quite a while. I just put it into an existing scheme that I got working first and then switched the rectifier circuit to yours. I seem to be getting attack to get slower but release doesn't seem to be independent of attack. Just looking at the control voltage with pulses on a scope. And how would I make a variable threshold for this? I put a variable voltage at the inverting input between the 100K's (just like the shaded replaced circuit) but it only seemed to change the gain of the VCA.
Then all of a sudden it started acting like an expander! Not sure what I did but I was tired and gave up for the night...

If you see any blatant mistakes let me know...
 

Attachments

  • sidechain test v1.jpg
    sidechain test v1.jpg
    66.3 KB · Views: 53
The 100 ohm att/rel resistors seem low...try more like 10k.

The divider string at output of first op amp to scale up the internal loop voltage swing needs to be low impedance wrt 100k feedback resistor or the overall input to output voltage gain will be altered, I would scale divider network for 500 ohm or 1k on bottom resistor. I do not know how much pad is needed to deliver a decent ripple window threshold at steady state.
------
It will never be faster than raw time constant from 0.1uF Ct.  100 ohm att/rel resistors may develop significant current based on DC input offset at op amp... a more sensible value there (10k?) could reduce that effect. 

The DC voltage for steady state sine wave should be same for input and output of the ripple/time constant  filter. If the DC voltage is changed something is wrong.

Back when I was developing dynamics I used a DIY tone burst circuit, basically a gate that could mute whatever input I fed into it at a predetermined rate. I synchronized this gate to only close and open on zero crossings to prevent extra clicks, it also synchronized the slope of when it gated on/off so it always opened up for full even number of sine wave cycles, to prevent introducing DC components.

I varied the on time, duration, and rep rate. In addition I fed some dry input around the gated path, so I could vary the dynamic range of the tone burst... (very useful for listening tests to coax out artifacts ).

JR

PS: I came up with a different way to make my fast att circuit, but lets not put the cart ahead of the horse.  BTW it would take me many hours on the bench to get good results. If this was easy somebody would have already done it.
 
I will try the new suggested values. I'm working on a breadboard, towards the end I might have pulled up a wire somewhere leading to the gating effect. Like most here, this is a nights and weekends thing so I'm already burnt by the time I get home from work...

I was starting to get some results that were promising so I'm excited to put some more time in. I guess the best threshold control for this would to just put a pot on the input of the RMS detector.
 
I suspect this is more fun for me than you  8)

Here is version 3 with a different transient fast-attack strategy that doesn't involve  borrow/payback. I also simplified a few parts to maybe KISS during development.  Tweaking the multiple values and ratios will definitely take bench time (I probably spent months on my old Tape NR design).

  The new fast attack transient limiter, uses a steering diode to commutate between the 0.1uF (slow) integrator cap and a 0.01uF (fast) cap for transient  (large attack ) steps.  So it quickly attacks and releases again for those large momentary steps, while defaulting to the slower 0.1uF cap for normal gain changes.

======
I've never asked if you have a scope, I just ASSumed.

To establish the pad attenuation to scale up inner loop working voltages I'd look at the voltage swing at that inner node. For steady state signals like a sine wave  it would be nice to have ripple V less than 1.2V p-p ....

Just about every value in that design is subject to tweaking, and I haven't addressed the compressor/limiter function.. just the side chain time constants.

I really like adjustable tone burst testing for dialing in dynamics (I used to run pre-recorded audio through my DIY burst gate, so I could punch up the dynamic range XdB for testing.

JR
 

Attachments

  • sidechainB.bmp.pdf
    23.9 KB · Views: 46
Yes I have a scope, my test setup for music is a pro tools system with standard balanced line in and out. I can manipulate the audio any way I please, chopping it up in intervals. Pro tools also has a signal generator that can be used in real time, or I can record the sine wave and chop it up in bursts.  Last night I was just turning on and off the signal gen and watching the CV on the scope.  I have a bunch of test songs I'm familiar with, acoustic female vocal, pop track with big bass, rock with thick guitars, etc.

JohnRoberts said:
I suspect this is more fun for me than you  8)

Not sure about that, the joy of self torture with electronic puzzles  is what binds us all here.

I'd look at the voltage swing at that inner node. For steady state signals like a sine wave  it would be nice to have ripple V less than 1.2V p-p ....

Will do.
 
Back
Top