Recent versions of SlimServer and the SqueezeBox2 support Replay Gain, a technology to remove the annoying difference in recording levels between different albums. Replay Gain for FLAC is completely non-destructive - you can always choose whether or not to make use of the Replay Gain tags when playing, and if you choose not to the original data is preserved completely unchanged.
This is great, but by default most rippers/encoders don't apply replay gain and so you won't feel the benefit. To help with this, I've written FLACulance, a script which will walk a tree of FLAC-encoded albums, computing and store Replay Gain tags in each file.
I'm also assuming that, on Windows, this script (flaculance.pl) is in your path and a file association exists to execute ".pl" files with the Perl interpreter. This script makes the assumption that there is one album per directory (ie you don't mix FLAC files from multiple albums in the same directory). It doesn't matter if you have an "artist/album/track" or "artist/album - track" naming convention, however.
It's easy to use:
For example, on Windows, I could run:
flaculance.pl --directory="C:\Documents and Settings\Stuart Hickinbottom\My Documents\My Music"
or, on Linux I could run:
And it would start working.
The "--directory" is optional and if you leave it out it will use a default path - edit the script to change that path. You can also get help with "flaculance.pl --help", which will give a full description of the arguments.
Because processing a whole music tree takes a very long time, I would recommend creating a ripping and encoding workflow that will avoid re-computing the Replay Gain tags unnecessarily:
You can download the FLACulance.pl script below.