JCJR wrote:I'd need to study awhile on envelope smoothing of log values to get it straight in my mind how it would actually behave. Interesting idea.
I can save you some time and tell you it will ride the gain down too hard, but that might be less appearant with a feedback design. Also I would think any enhancement of the envelope filter would be making up for it's deficencies, but that's inevitable even with a linear envelope.
Thanks. Might eventually get back to playing with it. Had done the jsfx lookahead RMS compressor "good enough for what I wanted" then cleaned up enough for open source release. Did the jsfx lookahead oversampled true peak adaptive envelope limiter good enough for what I wanted but didn't yet get around to cleaning it up enough for open source release. Was thinking a low-ripple but fast peak compressor sometime, might play with log envelopes while I'm at it, if ever get around to it.
Though maybe the only one likely confused would be me, a potential source of confusion in feedback vs feedforward is whether talkin about the gain cell's location in the audio path, vs the source of the side-chain audio?
I gather that some modern analog vca's are finally purt well-behaved devices, but it was common in the past for gain cells to have rather narrow undistorted dynamic range, and also not unusual for them to be fairly noisy.
For instance if we have an OTA based VCA, that is noisier than we would like and has max noise at max gain, and has 1 percent distortion at 100 mv input, only getting worse at louder levels--
If we use this VCA "feedforward" in the audio path, device input goes to VCA input, VCA output goes to device output-- If we want to tolerate up to 10 volts input level at no more than 1 percent distortion, we have to first attenuate input as much as -40 dB before feeding the VCA (bad for noise), pump the attenuated audio thru the "kinda noisy" VCA, and then add EVEN MORE NOISE by makeup gain, possibly as much as +40 dB or more to deliver a good hot line level output. Its hard to add that much gain without adding some noise.
In "feedforward" audio path, if max VCA gain is set to unity, then the VCA is noisiest when input signal is quiet and no compression is happening. When the input signal gets louder and the VCA does some gain reduction, the VCA noise goes down, but loud signal would help mask the noise anyway. We would prefer minimum noise at the lowest level input signals, not the other way around.
An EE I know who keeps up with such things, sent me data sheets of modern VCA devices which claim to be lowest noise at highest gain, but AFAIK it wasn't common in the past.
So given a noisy old low-dynamic-range OTA, if we put the OTA in the negative feedback path of an opamp (in parallel with a unity-gain-setting resistor)-- For the opamp to have unity gain, the OTA in the feedback loop is basically turned off, generating no noise to speak of. As compression is added, the OTA gain is RAISED, which lowers the opamp circuit gain, because the OTA is in the feedback loop. So the highest-noise is when the compressor as a whole is running at lowest gain, where there ought to be lots of signal to mask that OTA noise.
Also, with the OTA in the feedback loop, for instance if the compressor as a whole happens to be in -40 dB of gain reduction with a 100 millivolt opamp output, the input resistor of the opamp is getting hit with 10 volts, but the OTA in the feedback loop is only getting hit with 100 mv. The feedback OTA is "protecting itself" from excessive overload distortion without having to severely pre-attenuate the hot line input signal to the opamp circuit.
I'm just saying, you could use that OTA as a side-chain feedforward compressor either feeding audio forward thru the OTA (turning DOWN the OTA gain to add compression), or a side-chain feedforward compressor with the OTA in the negative feedback loop of an opamp (turning UP the OTA gain to add compression).
And you could use either kind of audio path to make a side-chain feedback compressor.
IOW, side-chain feedback or feedforward one thang, and gain cell feedback or feedforward something else, and the two can be "mixed and matched". At least in analog, to try to make the best of imperfect components. In digital probably only the sidechain routing makes any sense to meddle with, because a simple float multiply is a near-perfect gain cell.