edit: Kent, your original question is not clear, flac can encode or decode, and can do different things with replaygain for each. what do you mean by interpret?
When I use flac -d to decode a file, will it read the embedded ReplayGain tags and apply them when decoding?
gotcha. yes, but only with --apply-replaygain-which-is-not-lossless which is not yet released.
All right, but based on this can one specify a relative gain adjustment for files which do not already have an existing gain tag? (That part still seems unclear. If I have FLAC without gain information stored in the tags, but I know what the gain/scale information is from having previously analyzed the WAVs in WaveGain and storing a log, can I say, "I want this much gain applied - don't ask questions!"?)
if there is no gain tag, the option will have no effect. here's the usage:
--apply-replaygain-which-is-not-lossless[=<specification>]
Applies ReplayGain values while decoding.
WARNING: THIS IS NOT LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS OPTION.
The equals sign and <specification> is optional. If omitted, the default is 0aLn1 (see below).
The <specification> is a shorthand notation for describing how to apply ReplayGain. All components are optional but order is important. '[]' means 'optional'. '|' means 'or'. '{}' means required. The format is:
[<preamp>][a|t][l|L][n{0|1|2|3}]
<preamp>
A floating point number in dB. This is added to the existing gain value.
a|t
Specify 'a' to use the album gain, or 't' to use the track gain
l|L
Specify 'l' to peak-limit the output, so that the ReplayGain peak value is full-scale. Specify 'L' to use a 6dB hard limiter that kicks in when the signal approaches full-scale.
n{0|1|2|3}
Specify the amount of noise shaping. ReplayGain synthesis happens in floating point; the result is dithered before converting back to integer. This quantization adds noise. Noise shaping tries to move the noise where you won't hear it as much. 0 means no noise shaping, 1 means 'low', 2 means 'medium', 3 means 'high'.
For example, the default of 0aLn1 means 0dB preamp, use album gain, 6dB hard limit, low noise shaping.
--apply-replaygain-which-is-not-lossless=3 means 3dB preamp, use album gain, no limiting, no noise shaping.
flac uses the ReplayGain tags for the calculation. If a stream does not have the required tags or they can't be parsed, decoding will continue with a warning, and no ReplayGain is applied to that stream.
... and for us non-programmers, is there a downloadable CVS compile with the --apply-replaygain-which-is-not-lossless switch enabled?
nope, sorry. Cerebus was asking about it in another thread, for use with the Slim Server; maybe those guys have a binary.
Josh