
Anyone want to try it out for me? Download - Screenshot
version 0.9.7 now up (same link above). Changes as follows:
- Fixed stupid mistake in output MS matrix
(0.9.6)
- "MS" parameter now correctly named internally
- Slight tweak to gain structure and soft clipping threshold in MS mode
(0.9.5)
- "FB" button to engage feed-back mode (turn down the Range knob before trying this with upward expansion!!)
- "MS" button to switch in internal MS matrixing of inputs and outputs
(0.9.4)
- Soft clipping and oversampling can now be switched separately
- Denormals killed in sidechain
- Custom scale for Range knob: now goes down to 0.1dB with extra resolution at lower settings
- Finer resolution for Threshold and Gain knobs
I used Skinman and Knobman to try to make it look reasonably nice, but that's not really my main concern. I'm not that interested in GUI comments (unless its an offer to make a better one for me!) as I've spent longer on it than I wanted to already... but I would be interested in your opinions on the sound. Feature list as follows:
- All 4 dynamics modes available: upwards and downwards compression plus upwards or downwards expansion
- Ratio can go beyond infinity:1 (ie: above 100%)
- Range control to limit the amount of gain modulation
- Fully variable knees both for the main Threshold and the secondary Range threshold
- Stereo linking variable from 0% to 200% *
- Envelope smoothing by rate of gain change (therefore time constants are calibrated in dB/s or dB/ms)
- Hold parameter, to hold maximum or minimum modulation levels for specified time (calibrated in ms)
- Peak sensing, or RMS sensing, or a mixture of both
- Variable RMS window size (from 1ms to 100ms)
- Sidechain high-pass filter (can be switched into audio signal path if required)
- External sidechain inputs
- Dry and Wet mix controls for parallel compression
- Soft clipping option to gently clip peaks to 0dBFS
- 2x oversampling option for gain stage and soft clipping if enabled. Introduces 4 samples of latency (reported to host).
- Feed-back option for a more 'vintage' style compression
* 0% = no linking, 100% = conventional stereo linking, 200% = left channel dynamics modulates right channel's gain and vice versa.
Things to be aware of:
I use a look-up table to handle the transfer curve, so the calculations only run when you adjust the knobs, and are then stored in an array to save cpu. Although I haven't actually tried it out yet, this probably means that certan parameters are not suitable for automation: it would probably increase the plug's cpu use noticeably, and may cause glitches in its output. Parameters in question are: Threshold, Ratio, Range, and both Knee controls. All the rest should be ok.
Also: the 2x oversampling feature adds 4 samples of latency and some phase smearing at the top end due to the AA filters. The 4 samples are latency are reported to the host, so hopefully its PDC will correct for that, but nevertheless: if you are running this as a parallel comp in a send/return loop it might be better not to use the oversampling. Using the internal Dry & Wet faders with oversampling on should be fine.
The Feed-back option could potentially be dangerous when used in conjunction with upward expansion: the gain increase is self re-inforcing, and can rapidly build up to speaker and/or ear destroyng levels. I wouldn't have allowed it at all (and might still remove the option... thoughts?) were it not for the Range control, which can be used to keep the gain modulation within sensible limits. I urge you to turn down the Range knob before switching to FB mode if you are using the expansion option! I have also added another safety precaution: FB mode automatically dis-engages if you either (a) switch from 'compress' to 'expand' mode or (b) switch from 'below' to 'above' while in expand mode.
So, what do you all think? Have I been wasting my time..?

