The final plugin name is… “Limiter №6″!
“There are five of them in all here. Only one is of the upper class, the rest are all artisans.”
Ward No. 6
By Anton Chekhov
Read more of this post
I’m glad to introduce public alpha version of new limiter plugin (codename “Limiter6″)!
This plugin is unique combination of slow RMS-compressor, peak limiter, high-frequency limiter, oversampled clipper and inter-sample limiter. The idea of this combination is “gain staging” when each stage used a little to make a most clean sound.
This is not a plugin with 1 knob and smart brain inside, which allow making your mix 0 dB RMS. All settings are manual and there’re a lot of knobs.
The GUI is a draft yet and will be redrawn to photorealistic military style.
Read more of this post
I’m continuing my experiments with new plugin to prepare public alpha version. You can check my test of using it on master.
This is my old work for Sound on Sound “Flags” remix competition. Just mixdown. No mastering processing. “Molot” was the only type of compressor used for this mix.
(as usual I recommend you do not press “play” and listen soundcloud’s encoded mp3 but download wave file by pressing “arrow down” button)
And this is my try to use new limiter plugin on master.
This is the screenshot of settings (public alpha will come soon and you’ll be able to try it).
And also Sound on Sound’s Mike Senior version of remix just for kicks.
Check also this:
And a note about last freeware compressors released. I like these compressors very much:
I’m experimenting with usage of new plugin as dynamics processor effect in mixing to try to make presets and to find its weakest points. A year ago I tried to use only Molot in test mixes and now I try to use the new plugin.
It is an interesting test. To compare the character of new plugin with Molot I used both of them for 8 track drum record which is the part of the mix I was experimenting with.
NOTE: These are soundcloud links but don’t press “play” button because due to mp3 soundcloud’s encoder they contain a lot of encoding artifacts. Just download these records (as 32-bit waves ~70 Mbytes each, press “arrow down” button to do it) and then listen to them.
#1. Molot compressor. Presets “kick”, “snare”, “overheads”, “room”, “DRUM BUSS”, “Master BUSS” were used. The sound is… aggressive and hammering!
#2. New plugin was used for kick, snare, room tracks and drum and master busses. The sound is… For me it’s very soft, wide and with a lot of depth.
#3. Molot plus new plugin. Molot plugin was used for kick, snare, overheads and room tracks. New plugin was used for drum and master busses. For me these plugins are like the best friends
Also the screenshot of settings that were used:
The latest version for arrangement of controls is on the picture. The concept called “big indicators”
The signal chain is: RMS compressor -> Peak limiter -> HF limiter -> Clipper -> True peak limiter
The plan is:
- Prepare public alpha version of limiter plugin. This version will have draft GUI but all functionality included and working.
- Prepare next release of Molot compressor.
- Take a break and make photorealistic GUI for limiter plugin.
Just did last changes in true peak limiting module allowing to clip sound without inter-sample clipping. First it was mentioned in this post. And this is the last version.
After that I’ve made union of all modules to new Limiter6 plugin mentioned here. Unfortunately it has too many parameters and without GUI and levels indication it’s truly brain damage to try to use it:
The concept was changed a bit. Now this is slow RMS limiter followed by very fast peak limiter followed by the clipper and ended with true peak limiting stage. All stages can be turned on and off. Peak limiter and the clipper can work in M/S mode. Peak limiter can also work as high-frequency limiter. The whole plugin can work in stereo mode for master or mix busses and in mono mode for instrument tracks which I believe can be useful.
The conclusion? I have to do simple GUI for it and try to use the plugin in sample projects to find its strongest and weakest points. That’s the way.
Okay, I have started making the new limiter from all modules I have.
The signal chain will be: DC Cut Filter -> RMS Limiter -> Peak Clipper -> Peak Limiter -> Output Clipper
- DC Cut Filter – to cut unnecessary lows (and to remove DC offset);
- RMS Limiter – to stabilize crest factor and to average loudness;
- Peak Clipper – to cut very strong peaks to help peak limiter not to “thump” on them (can work in M/S mode, have different knees to switch);
- Peak Limiter – to limit peaks (can work in M/S mode, can work as high-frequency limiter just to soften the sound);
- Output Clipper – (can work in true peaks mode to avoid inter-sample clipping or in simple mode just to clip samples, has switchable auto-gain mode to automatically level up the sound to -0.3 dbFS).
Maybe soft-knee control can be useful for Peak Limiter (I’ll check this soon). Maybe DC Cut Filter is better to place just before output clipper (I’ll check this later). I have no ideas about GUI yet.
By the way, I found that use regular compression curves with no high ratios (4:1 for example) for RMS limiter is better than limiting curve. I reimplemented the last RMS Limiter module (see previous post) with “Ratio” parameter and I think it sounds now pretty good. (Actually, I love how it sounds .) If you interested in you can check this [RMS limiter VST plugin (x86,x64)].
PS. I think the idea to show each small step of development of new plugin is better than keeping silence for year and after that to show only the last final step: the release version. I prefer continuous development process on each step of that you have something to check and to listen.
Let’s talk about 32-bit vs. 64-bit sound processing in VST plugins (not only talk but also I have [3 plugins to perform audio tests]!)
1. 32-bit single precision floating point format (a.k.a. float)
Used in most DAWs. The main format for VST plugins to process (AudioEffect::processReplacing).
- Sign bit: 1 bit
- Exponent width: 8 bits
- Significand precision: 24 (23 explicitly stored)
The sample values for 0 dbFS are between -1.0 and 1.0. So it’s actually 24 bits per sample.
2. 64-bit double precision floating point format (a.k.a double)
Optional format for VST plugins to process (AudioEffect::processDoubleReplacing starting from VST 2.4). Some DAWs declare if all plugins in chain use 64-bit processing the whole signal chain has 64-bit processing.
- Sign bit: 1 bit
- Exponent width: 11 bits
- Significand precision: 53 bits (52 explicitly stored)
The sample values for 0 dbFS are between -1.0 and 1.0. So it actually 53 bits per sample.
There’re 2 main questions to use double instead of float:
- How much is performance degradation?
- Is it noticable audio quality enhance?
Read more of this post
I want to share 2 fresh conclusions I’ve got:
- Hard-clipping sounds bad.
- If hard-clipping sounds good it’s really soft-clipping.
My old opinion was: “Hard clipping sounds better than soft clipping because hard clipping starts later and affect signal for a shorter time”. Now I think I was wrong.
And I did VST clipper plugin just to check idea:
[download VST clipper plugin (windows 32-bit, 64-bit)]
- 4x linear phase oversampling
- 256 samples of latency
- The main signal is not resampled. Only gain reduction signal passes through oversampling stage.
- “Gain” – input gain before clipping. Just set it to +6 dB and see the result!
- “Thresh.” – clipping threshold. I limited maximum value to -0.3 dBFS.
- “Shape” – soft knee shape (A: -6 dB knee, B: -3 dB knee, C: -1.5 dB knee).
- “Hardclip” – due to oversampling imperfection (and Gibbs phenomenon too) output signal can overshoot threshold given. To deal with that the output signal have to be digitally clipped controlling by this parameter:
- “Off” – no output digital clipping is used. Use this value if the threshold is very low or this plugin is not the last plugin in chain (for example it used before brickwall limiter to reduce pumping effect).
- “Thresh+” – output digital clipping has threshold +0.2 dB higher than soft clipping threshold but can’t exceed -0.15 dBFS. So if you set clipping threshold to -0.5 dBFS output signal can’t exceed -0.3 dBFS.
- “-0dbFS” – output digital clipping has threshold of -0.15 dBFS regardless of soft clipping threshold.
- “DC.flt” – if “On” the 2nd order high-pass filter for 25 Hz is turned on. Filter works in the beginning of the chain e.g. before clipper. Added just to experiment. I think it doesn’t sound good. BTW, the best high-pass filter I ever heard was in preFIX plugin of Variety of Sound).
- Plugin doesn’t prevent inter-sample peaks to exceed threshold level.
See how soft clipping works in Lavry AD122 converter (see p.18 in [manual]).
Now I should work on slow limiter to limit not signal peaks but signal “body” for upcoming clipper/limiter plugin.
When working on new clipper plugin I suddenly found that oversampling can’t avoid intersample clips in all cases. Oversampling can reduce possibility of them but not completely avoid. See cooly picture (top samples are exactly 0 dB but the real signal is far above):
The idea is first to calculate real peak value using oversampled peak meter and next apply gain reduction not for single sample but for some window around it.
I’ve implemented both oversampled peak meter and window function-based gain reduction stage in this softclipper test plugin:
[Serp 2 Clipper Win 32 64 VST version]
Read more of this post