• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Plugin with equal loudness volume control

I haven't yet released a plug-in specifically for the loudness contour EQ, but the compressor tools I developed operate in LUFS units. So internally they're using K-weighting according to the EBUR 128 spec. I'm new to the forum so not sure if linking is OK since it's my company (just me). But it's the APU Loudness Compressor and Dynamics Optimizer.

It's on my backlog to put together a free EQ filter.
 
I haven't yet released a plug-in specifically for the loudness contour EQ, but the compressor tools I developed operate in LUFS units. So internally they're using K-weighting according to the EBUR 128 spec. I'm new to the forum so not sure if linking is OK since it's my company (just me). But it's the APU Loudness Compressor and Dynamics Optimizer.

It's on my backlog to put together a free EQ filter.
Sounds very interesting - please keep us posted. Regarding a possible plug-in for dynamic loudness: a proper windows implementation (like in Equalizer APO but with a loudness curve according to known FM-standards) is sorely missed
 
Sounds very interesting - please keep us posted. Regarding a possible plug-in for dynamic loudness: a proper windows implementation (like in Equalizer APO but with a loudness curve according to known FM-standards) is sorely missed

I'm now working on an equalizer which will be "loudness" focused. You'll be able to select between a variety of "equal-loudness" contours. There will be K-weighting (LUFS), ECMA-418, ISO 226, Fletcher-Munson, ITU-R 468, A/C-weighting. Linear phase and minimum phase for each (some via FIR some via IIR, depending on the characteristics). It's been a fun deep dive into filter design which isn't something I've been involved with in my career until now. It'll also have a parametric style EQ and the bands will be in some way weighted according to the current loudness contour, so it responds according to equal-loudness instead of fixed dB scale.

1745106915847.png
 
APU Loudness Compressor

I tried this once (not a pro, though), and I found it very complex, although the concept seemed very appealing. iirc I ended up using another plugin cause I couldn't dial yours in. Of course, I could have gone through the manual, but the workflow didn't allow it. Just giving you some feedback. I would have never guessed this is the work of a single person. Very impressive.
 
I tried this once (not a pro, though), and I found it very complex, although the concept seemed very appealing. iirc I ended up using another plugin cause I couldn't dial yours in. Of course, I could have gone through the manual, but the workflow didn't allow it. Just giving you some feedback. I would have never guessed this is the work of a single person. Very impressive.

If you want to give it another go sometime, feel free to shoot me a message. Might be able to suggest an approach and/or improve the user interface to make things easier.
 
If you want to give it another go sometime, feel free to shoot me a message. Might be able to suggest an approach and/or improve the user interface to make things easier.
Is it possible to use your new equalizer to make simple volume adjustment with ISO226 compensation?
 
Is it possible to use your new equalizer to make simple volume adjustment with ISO226 compensation?

Yes. You'll be able to set the EQ to an ISO 226 contour and use a contour gain slider to adjust the magnitude. Positive values raise the level with the correct equal‑loudness shape; negative values lower it with the inverted shape; zero is transparent. The ISO 226 contour will allow you to select between the different phon curves (I'll likely also have it interpolate between those, but haven't coded that part yet).
 
Yes. You'll be able to set the EQ to an ISO 226 contour and use a contour gain slider to adjust the magnitude. Positive values raise the level with the correct equal‑loudness shape; negative values lower it with the inverted shape; zero is transparent. The ISO 226 contour will allow you to select between the different phon curves (I'll likely also have it interpolate between those, but haven't coded that part yet).
Not sure I understand exactly. You mean that given the reference level in dBFS I can adjust both gain and compensation curve with a single slider or knob?
A real volume regulator with automatic loudness compensation so?
 
Not sure I understand exactly. You mean that given the reference level in dBFS I can adjust both gain and compensation curve with a single slider or knob?
A real volume regulator with automatic loudness compensation so?

Oh sorry, it just clicked what you're asking.

I hadn't really thought of that, but that should be doable. In addition to the contour magnitude control and the reference level, I'll add a gain control with an option to automatically compensate the contour relative to that gain. So when you increase the gain, it applies the appropriate contour with the appropriate magnitude to compensate for the volume difference.
 
Oh sorry, it just clicked what you're asking.

I hadn't really thought of that, but that should be doable. In addition to the contour magnitude control and the reference level, I'll add a gain control with an option to automatically compensate the contour relative to that gain. So when you increase the gain, it applies the appropriate contour with the appropriate magnitude to compensate for the volume difference.
Consider me a customer :)
Will it be 32 or 64 bits of precision?
Will the correction be approximated or will the exact interpolation of the points defined in ISO226 be calculated?
How about making a separate plugin dedicated to this?
 
Last edited:
Consider me a customer :)
Will it be 32 or 64 bits of precision?
Will the correction be approximated or will the exact interpolation of the points defined in ISO226 be calculated?
How about making a separate plugin dedicated to this?

The FIR/taps are 64-bit and the sample processing is 32-bit float.

The filter taps for each Phon level in ISO 226 are designed separately and validated via Python analysis on the filters themselves and through frequency sweep run through the C++ implementation to make sure they are within tolerances for each point on the contour. For intermediate levels the FIR taps will be linear interpolated.

This is a separate plug-in (if you mean separate from the compressor?). The EQ will have this and a parametric EQ. Possibly a built-in limiter but disabled by default.

Did you mean separate from the EQ, as in a trimmed down version which just has the loudness-compensated volume control? I do have plans in general to create simplified versions of the compressor (vocal rider, ducker) so that might make sense.
 
Did you mean separate from the EQ, as in a trimmed down version which just has the loudness-compensated volume control?
Yes, this is what I mean.
A simple GUI with one knob for volume+compensation and one button (to set the reference level). Possible knob controllable with MIDI.
I have detected many people looking for such a thing.
You know, tracks are mastered at a reference level (something like 77-80 dB SPL) so when you listen at different level you have a different timbre.
It must be said that ISO226 was created on individual tones, not on music or broadband sounds, therefore it is not clear whether completely suitable to compensate for musical loudness.
In addition, with high phon the high frequencies curves are missing in ISO.
But I think in the first instance it is always better than nothing.

PS. It should be linear phase.
 
Last edited:
Yes, this is what I mean.
A simple GUI with one knob for volume+compensation and one button (to set the reference level). Possible knob controllable with MIDI.
I have detected many people looking for such a thing.
You know, tracks are mastered at a reference level (something like 77-80 dB SPL) so when you listen at different level you have a different timbre.
It must be said that ISO226 was created on individual tones, not on music or broadband sounds, therefore it is not clear whether completely suitable to compensate for musical loudness.
In addition, with high phon the high frequencies curves are missing in ISO.
But I think in the first instance it is always better than nothing.
Resurches where generative in nature and go to each other findings. They are valuable for everything (all kind of sound on any kind of analog reproduction devices). In order to make it work good when compensation is big (lo SPL) crossover neads to be above equal loudness knew to prevent harmonics getting in on a masking mids levels. With out it it will work to moderate levels. For now stick to ISO 226 up to 2012 revision. From it and newer they took into account compensation for sub bass time dalay with added energy (loudness boost to bring it in front).
 
In order to make it work good when compensation is big (lo SPL) crossover neads to be above equal loudness knew to prevent harmonics getting in on a masking mids levels.
What exactly do you mean by this? Which crossover are you referring to?
 
What exactly do you mean by this? Which crossover are you referring to?
Knew is at 105 Hz so crossover for the sub's (as it will be directional that high) @ 120 Hz in 2.2 close to mains setup. When you add a lot of energy (volume) boost let's say +10 dB or more as compensation you don't want harmonics from it propagating so you use crossover to keep it on sub and dump them down. If compensation is cuple dB for uper 70 dB program it will work fine without it. I hope that makes it more understandable to you.
 
Last edited:
Yes, this is what I mean.
A simple GUI with one knob for volume+compensation and one button (to set the reference level). Possible knob controllable with MIDI.
I have detected many people looking for such a thing.
You know, tracks are mastered at a reference level (something like 77-80 dB SPL) so when you listen at different level you have a different timbre.
It must be said that ISO226 was created on individual tones, not on music or broadband sounds, therefore it is not clear whether completely suitable to compensate for musical loudness.
In addition, with high phon the high frequencies curves are missing in ISO.
But I think in the first instance it is always better than nothing.

PS. It should be linear phase.

I'm going to startup a project to do this because it's en route to the larger Loudness EQ project. It'll definitely support linear phase.
 
Resurches where generative in nature and go to each other findings. They are valuable for everything (all kind of sound on any kind of analog reproduction devices). In order to make it work good when compensation is big (lo SPL) crossover neads to be above equal loudness knew to prevent harmonics getting in on a masking mids levels. With out it it will work to moderate levels. For now stick to ISO 226 up to 2012 revision. From it and newer they took into account compensation for sub bass time dalay with added energy (loudness boost to bring it in front).

I decided to just support ISO 226 2003 and 2023 as separate filters. Fletcher-Munson as well, for completeness. The ISO 226 contours interpolate smoothly while adjusting the Reference SPL. These screenshots are from the EQ plug-in, but there is going to be a separate simplified plug-in for doing equal-loudness compensated volume adjustments.

In these shots, the contour is on the left and the source/output are on the right.

To calibrate the Reference SPL, I'm thinking there will be a Calibrate button which plays a 1 kHz tone. Then you can measure using a dB meter to set the reference SPL (or adjust your listening level to match). The contours are all 0 dB at 1 kHz (including K-weighting which typically has a slightly different offset for LUFS purposes).

1746195588794.png


1746195607785.png


1746195656038.png
 
Last edited:
@caustik I don't know about ISO 226 releases after 2012 which include time domain competition for low to sub bass. Only room fundamental can mimic that (in controled manner). So stick to 2003 to 2012 revision. Nice work by the way! I (we) tend to aim from 600 to 1000 Hz where signal is most average for SPL. Classic calibration is to focused white noise to SPL meter (or calibrated mic to serve as one) and you want it in absolute scale (C or convert to it). Tones can be easily generated and obtained (many sources).
Problem with equal loudness is to make it follow the given energy (loudness) curve especially when compensation is significant speach level or even under it (60 dB or less). Problem are harmonics under the knew which can bleed (third) and mask (second) good part of male vocal range. This is possible to resolve only with good autended crossovers right above equal loudness bass knew (let's say 120 Hz). When amount of correction is to less extent or moderate (uper/lower 70's as most folks listen anyway) it can pass without it (crossover not the ELC).
 
To calibrate the Reference SPL, I'm thinking there will be a Calibrate button which plays a 1 kHz tone.
I would suggest pink noise from 500 to 2000 Hz. If you have any effect of the room at 1kHz you risk deviating a lot from the target.
 
Back
Top Bottom