Hi-Res Audio Software - Part 2

To re-cap: I'm not a fan of hi-res audio (i.e., anything with sampling rates and bit-depth greater than standard CD audio) myself, but I recognise that other people are, and for them my music management/playing software tools could usefully be modified to work with hi-res FLAC files. Accordingly, I have added the ability to play hi-res FLACs to AMP (version 1.19 and above). Additionally, I adjusted AUAC (version 2.05 and above) so that it could convert an SACD ISO to a hi-res FLAC, or convert a hi-res FLAC to a standard-res one.

Today, I bring the equivalent hi-res functionality to all my other tools.

One tool required no re-coding at all:

  • Composition-at-Once (CAO) already had the ability to turn a set of per-track hi-res FLACs into a single 'super-FLAC' that retains the same high sampling and bit rates of its constituent files (but see below)

The only tools not undergoing hi-res audio change are:

  • The Classical CD Ripper (CCDR): since you're ripping a standard CD, it makes no sense to give CCDR an ability to rip to anything other than standard 44.1KHz/16-bit CD Audio-quality FLACs.
  • The Set Performer Utility and the Auto-Ellipsis Script are both only concerned with making one-off corrections to FLAC metadata and they can do that for hi-res and standard FLACs equally well already (i.e., tagging in and of itself needs no hi-res awareness, basically. It's only when you start checking if a FLAC file is internally corrupt that you run into hi-res specific issues, and neither of these tools does this).

So, basically, the complete set of utilities that need hi-res capability now has it, and all except four packages will now have release dates of, or around, 27th March 2021 on the software download page. Those that don't need it (or for which it makes no sense), don't.

There's just one word of warning (and regret): CAO cannot split a hi-res super-FLAC. That is, CAO has been successfully modified to be able to combine per-track hi-res files into a single hi-res Super-FLAC, without downgrading the sample rate or bit depth, but it cannot subsequently break out a hi-res Super-FLAC back into its component per-track files. The reason is that, to do this "--asunder" trick, CAO makes use of a utility called shnsplit. To my horror, I discovered just yesterday (having never previously had occasion to check!) that shnsplit hasn't really been updated since 2009, though it's been easy enough to check all this time:

[hjr@britten ~]$ shnsplit -v 
shnsplit mode module 3.0.10 
Copyright (C) 2000-2009 Jason Jordan <[email protected]>

I'm afraid the copyright notice there gives you all the bad news you didn't want to hear! As a 12-year old program, the hi-res audio scam revolution rather passed poor old shnsplit by, and it simply cannot split apart hi-res FLAC files. CAO therefore inherits this same limitation. I shall be investigating if there are workarounds, of course, but at this time there are none. So, just be aware that, for the foreseeable future, if you CAO your hi-res files into single-file Super-FLACs, it's currently a one-way street: there's no reversing the process at this time (at least, not with CAO).

I'll mention in passing, too, that CCDT and AFC were quite tricky to update because -something I didn't previously realise- their default hashing algorithm always turns an audio signal into a 16-bit date stream before computing the hash. This meant that the computed hash for hi-res files was always intrinsically wrong, because it was being silently down-sampled before the hash computation could take place. Fortunately, that's only the default way to compute hashes: it's possible to demand that ffmpeg uses non-default ways of doing it and thus to obtain 24-bit hashes when needed. But anyway: that little bit of internal skulduggery is why those two utilities needed tweaking to work in a hi-res world.

As usual, the updates to all these programs are downloadable from the Software Page on this website. Somewhat more efficiently, if you are already running fairly recent versions of any of these packages, a simple run of each with the --checkver run-time command-line parameter will ensure a painless automatic upgrade to the latest versions. As a final alternative, you can simply re-install the lot by issuing the commands:

wget https://absolutelybaching.com/abc_installer
bash abc_installer --all

...which will download the latest versions of all utilities and install them correctly for you, over-writing the older versions. However you choose to upgrade: happy (mostly pointless 🙂 ) hi-res'ing in the future!

One thought on “Hi-Res Audio Software - Part 2”

Comments are closed.