The Loudness Wars...

Just a quick note to report that I've just released a couple of software fixes related to the problem of sub-optimal loudness levels in music files ripped from CDs or other sources.

Firstly, MAXV has been bumped to version 1.08, because of the addition of a tiny bux-fix that stops the grep utility sometimes thinking that what it's being asked for is a binary file rather than a text file. It's not a major deal, and if you choose not to upgrade, you probably won't be missing out on much, as the bug raises its head only exceptionally rarely. But, it's there if you want it. Run maxv --checkver to get it.

Now, I wrote MAXV to deal with the specific problem of rips from SACDs, where (for obscure technical reasons that needn't detain us) the recording engineers often master the SACD audio at around 6dB (decibels) lower than 'normal'. Rips from these sources accordingly sound consistently quieter at any given volume knob setting than audio ripped from a standard CD. MAXV just finds the loudest file in a folder of music, finds the volume boosted needed to bump that one file up to its maximum, non-distorting volume and then applies (after asking permission from you!) that volume boost to all music files in that folder. Thus all files end up louder by the same amount: their relative volume doesn't change, but their absolute volume gets increased by a safe amount, without introducing distortion.

MAXV works fine and all my SACD rips have benefited from it. But it didn't take me long to uncover a dirty little music engineering fact: quite often, CDs are mastered as a single 'thing', with the maximum volume set for the entire CD as a single entity. This isn't always true, but it is definitely true for a lot of my 'normal' CDs. What I mean is, suppose you have a CD of two Beethoven symphonies (so 8 tracks in all). Their volumes might be 0.2dB, 1.8dB, 3dB, 1dB for the first symphony and 1.8dB, 4dB, 3dB and 2dB for the second. If you think of the CD as the 'product we are interested in', this is already optimised for loudness: track 1 there at 0.2dB is very, very close to the theoretical maximum volume limit of 0dB (don't ask me to explain why, in audio circles, volumes are all worked backwards, with 0 being the loudest. Just run with it for now!) If we ran MAXV against all 8 tracks, indeed, you would be told the folder was already volume-optimised for that very reason: track 1 cannot be volume-boosted safely, so none of the tracks can be (otherwise we'd be altering their relative loudness, not just their absolute loudness).

But, of course, we don't (on this site at least!) regard the CD as anything other than a delivery mechanism! For me, it's wrong to compare all 8 tracks against each other: they merely happen to share the CD, but they represent two completely different compositions, and there's no Earthly reason why the volume level of one work should mandate the volume level for the other. So, in these parts, I'd rip that CD into two separate folders, each containing one complete symphony of four tracks a-piece. Having done that, it is then readily apparent that whilst the first four tracks are still volume-optimised, the second four are now not. Their loudest file at 1.8dB is some way off the 'ideal' of 0. Run MAXV against just those second set of four tracks, therefore,  and you'd be offered a volume-boost of +1.3dB (because MAXV lops off 0.5dB from the maximum possible volume boost to stay on the safe side of not introducing distortion by amplifying things).

Put simply: a lot of my ripped-from-ordinary-CD music files need a volume boost, because they came from CDs that had been volume-optimised across the entire source CD, rather than by individual composition or work. For me, that means rather a lot of my music collection could potentially be volume-boosted... and MAXV's approach of requiring you to run it in a single folder of FLACs before determining if a volume boost could be applied is a little time-consuming when there are something like 12,000 folders to move to!

So, the second software release is a completely new program called MAXVRPRT (i.e., MAXV in Reporting-Only Mode). Run this in a folder that either contains FLACs itself, or is parent to a bunch of sub-folders (and sub-sub-folders, etc!) that themselves contain FLACs and you'll get a report of which folders contain music files that could benefit from a volume boost. It only generates a report for you, though: it doesn't actually boost the volume of anything at all, so it's quite safe to run against even very large music collections. By default, the reporting tool only reports on files that could benefit from a +5dB volume boost (which is fairly substantial and pretty close to the ~6dB volume reduction SACD engineers generally reduce their volumes by). But by supplying a --threshold=x parameter when running maxvrprt, you can make the tool more or less sensitive as you prefer (though there's a minimum sensitivity of 1 and a maximum of 40). The software is more fully documented on its 'manual page' and is available for download from the usual place. If you'd like to automate the installation of the program, just issue these two commands:

bash abc_installer --maxvrprt

You'll be prompted for the sudo password at one point (because only root has the necessary permissions to install the software into the /usr/bin folder), but otherwise it's all entirely automated. You then just open a terminal, cd to a folder of music (or to a parent folder of music folders) and type maxvrprt to run it. If you have a lot of music files to analyze, don't expect the program to run to a conclusion in a hurry: it has to read each one in turn and establish its peak loudness before coming to a conclusion as to whether a volume boost is possible or not. The report produced at the end of its work is always found in $HOME/Logs, called bulkmaxv.txt. Read it, then use its contents to guide you to launching MAXV manually in each folder you want to volume-boost. Remember, the reporting tool never modifies volumes itself: that's still up to you to do, manually, one folder at a time.

Edited to add: just because MAXRVPRT tells you a track can be volume-boosted, it doesn't mean you should volume boost it! I have discovered, for example, a piece of organ music recorded at an astonishing -20dB in Norwich Cathedral. I non-destructively boosted it with MAXV (i.e., I kept the original, just in case) and immediately realised why it had been mastered at such a low volume: a cathedral is a cavernous place with every footstep audible when amplified to the max! Also, ambulance sirens were audible in the far background! Clearly, the recording engineer had kept volumes low to make that sort of background audio stay below the threshold of perception. I didn't keep that particular boost, basically, reverting to the 'quiet' original fairly swiftly. From this, I've decided anything with a proposed volume boost of around 8 - 4 dB might be worthwhile, but there are probably good reasons (i.e., bad acoustic ones!) for anything significantly quieter than -8dB staying that way 🙂