Niente is a FLAC integrity checker for Linux, Windows 10 & 11, macOS and Raspberry Pi.
You point it at a tree structure of folders full of FLACs and let it construct a database of what FLAC files exist. At any point after that initial folder scan, you can tell Niente to step through each file found in its database and analyse it for physical corruption and logical inconsistencies. After that, and at your leisure, you tell Niente to generate reports about the various sorts of corruption it has found.
Physical corruption is perhaps the most serious issue (caused by bit-rot and hard disk corruption) and is detected because during every analysis run, Niente computes a digital 'fingerprint' of the audio signal found in each file, storing the results in its database. Every subsequent analysis triggers the calculation of fresh audio fingerprints for each FLAC. Should the new fingerprint ever not match the previous one, you immediately know that some sort of physical corruption of the audio signal has taken place -at which point, you re-rip the original CD or revert to a known-good backup.
In addition to checking for physical corruption or degradation in this way, Niente will scan for various types of logical corruption or inconsistencies, as follows:
- Is the YEAR (or DATE) tag completely empty?
- If the YEAR tag contains data, is it consistent with what date is found in the ALBUM tag?
- Is the PERFORMER tag completely empty?
- If the PERFORMER tag contains data, does it match something found in the COMMENT tag?
- Are there recordings which have under-sized (or non-square) embedded album art?
- Are there recordings whose peak volume levels are significantly below what they could be (and thus could use a 'volume boost')?
Anything listed with these sorts of logical inconsistencies can be simply fixed up with a little bit of re-tagging or volume boosting (perhaps using my own Semplice program!)
Crucially, Niente will only ever perform these checks in a manner that doesn't alter the FLAC files themselves: files are only ever read from, never written to.
A large music collection can take a long time to analyse fully (my own 18,000+ FLACs take about 24 hours to scan on a 7 year old laptop, for example). Fortunately, Niente helps in this respect by allowing for both full and differential analysis runs. In a differential analysis, only new or newly-corrected/recovered files are re-analysed: files which were last assessed to have no issues are not re-analysed and are therefore skipped, which obviously works to reduce the time it takes to perform the fresh analysis. A more infrequent full analysis can then be scheduled which will re-analyse every file completely. You might therefore do incremental analyses twice a week (say) to pick up new acquisitions and tagging corrections but then schedule a full analysis just once a month.
New in Version 3, Niente is now run from a simple-to-use menu interface. Its integrity checking tasks can also, however, be automated as non-interactive command line tasks, so that time-consuming analysis of a large music collection can be scheduled during the night or at other 'off-peak' hours. It therefore shares the same characteristics (in appearance and behaviour) as its 'cousins', Giocoso (the FLAC player) and Semplice (the FLAC manager). Users of those other programs will feel comfortable with Niente from the outset, I hope.
2.0 The Name
If you are a classical music fan, you will probably already know that niente means ‘a gradual dying away of volume until only a bare whisper can be heard’ -and if you aren't, then: now you know!
The point of the name was to suggest that checking your FLACs for physical integrity and logical consistency, important though those jobs are, should become something that happens invisibly, or as a background task that you barely notice. The software should fade away from your notice until only a bare recollection of its existence is left!
3.0 The Mascot
Reasonable people will then wonder why the squirrel, in all its forms, has become Niente's 'mascot'. Well, squirrels do have a habit of bouncing into invisibility at the drop of a hat, which is always fun to watch! Moreover, though I leave out kilogrammes of peanuts for them in my garden, the peanuts just seem to disappear, too 🙂 Of course, the real reason for cute squirrel pictures adorning these pages is more prosaic: I just adore squirrels! If you think of them as 'tree rats'... well, I'm sorry about that, but I never have, so here they are and shall remain!