There doesn't seem to be an option so I'm not sure whether FLAC.exe will automatically interpret ReplayGain tags or not.
It doesn't use the ReplayGain tags on decoding, so the output is not ReplayGain'ed, like the original.
If you are able to pull the current CVS version and compile it, there is a new option:
--apply-replaygain-which-is-not-lossless
If you can't do this, you'll have to wait for the next version.
--jth
If you are able to pull the current CVS version and compile it, there is a new option:
--apply-replaygain-which-is-not-lossless
Does the new option allow the user to specify a manual gain value (as WaveGain does), or is it limited to reading ReplayGain information stored within the FLAC tags? Alternately, if no ReplayGain information is already stored in the tags, can the
--apply-replaygain-which-is-not-lossless switch be used in conjunction with an
album or
radio parameter to perform the desired gain,
without storing the newly calculated values within the FLAC tags?
- M.
Edit: Wording changed for clarity... hope it worked.
[Does the new option allow the user to specify a manual gain value (as WaveGain does), or is it limited to reading ReplayGain information stored within the FLAC tags? ...
I haven't been successful in compiling it yet, so I'll have to defer on your question. You could always check the source code.
I haven't been successful in compiling it yet, so I'll have to defer on your question. You could always check the source code.
Ah... but I am not a programmer. My understanding of source code may be better than the average person on the street (I can wade through it with difficulty), but I would not rely upon my limited comprehension of code for a definitive answer to my - or anyone else's - question!
- M.
There doesn't seem to be an option so I'm not sure whether FLAC.exe will automatically interpret ReplayGain tags or not.
As another Option, I tend to use foobar2000 to replaygain my FLAC files. It is easier IMHO, and if you have a single file with multiple tracs via CUE sheet, It will replaygain each file individually.
Does the new option allow the user to specify a manual gain value (as WaveGain does), or is it limited to reading ReplayGain information stored within the FLAC tags?
you can't specify a manual gain (I guess that could be added) but you can specify a relative adjustment to the existing gain.
Alternately, if no ReplayGain information is already stored in the tags, can the --apply-replaygain-which-is-not-lossless switch be used in conjunction with an album or radio parameter to perform the desired gain, without storing the newly calculated values within the FLAC tags?
nope. that would require 2 passes over the audio, one to calculate the gain and one to apply it.
Josh
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?
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? Based on the other responses I've read, that does not seem to be the case as this would not be a truly lossless version of the original, but it would be nice to have this option for cases when this would be useful, such as converting to WAV for purposes of burning to CD.
Does the new option allow the user to specify a manual gain value (as WaveGain does), or is it limited to reading ReplayGain information stored within the FLAC tags?
you can't specify a manual gain (I guess that could be added) but you can specify a relative adjustment to the existing gain.
Alternately, if no ReplayGain information is already stored in the tags, can the --apply-replaygain-which-is-not-lossless switch be used in conjunction with an album or radio parameter to perform the desired gain, without storing the newly calculated values within the FLAC tags?
nope. that would require 2 passes over the audio, one to calculate the gain and one to apply it.
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!"?)
... and for us non-programmers, is there a downloadable CVS compile with the
--apply-replaygain-which-is-not-lossless switch enabled?
- M.
... and for us non-programmers, is there a downloadable CVS compile with the --apply-replaygain-which-is-not-lossless switch enabled?
You could always wait... or just use the current version to decode and then run WaveGain on it.
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 (http://www.hydrogenaudio.org/forums/index.php?showuser=3664) was asking about it in another thread, for use with the Slim Server; maybe those guys have a binary.
Josh
For anyone that wants to play, I've just uploaded a complete set of compiles of the current FLAC CVS to Rarewares/Lossless page.
Be Aware these are untested and, unless Josh says otherwise, should not be used for anything other than testing new features.
yes, and especially don't encode to ogg flac with it; the files will be silently corrupt as I still have some fixes to make.
Josh
Hmm does this new version feature any size improvements, i.e. smaller filesize for same quality?
john33:
I don't see the
--apply-replaygain-which-is-not-lossless[=<specification>]
option using the binaries from Rarewares...does it not come up with --explain or --help?
C
Hmm does this new version feature any size improvements, i.e. smaller filesize for same quality?
quality is always "lossless" but there are no compression or major speed improvements.
john33:
I don't see the
--apply-replaygain-which-is-not-lossless[=<specification>]
option using the binaries from Rarewares...does it not come up with --explain or --help?
--apply-replaygain-which-is-not-lossless is not documented and won't show up in the help. if you want to know if it's there or not, try --apply-replaygain-which-is-not-lossless=dfjsdkfjsl and see if it prints an error about the specification, or unknown option.
Josh
Is there any way that we can get this added to FLACDrop, in the same sort of fashion that Musedrop has the 'custom decoding' option? I don't know how to get a hold of the author (Layer3Maniac).
Hmm does this new version feature any size improvements, i.e. smaller filesize for same quality?
quality is always "lossless" but there are no compression or major speed improvements.
john33:
I don't see the
--apply-replaygain-which-is-not-lossless[=<specification>]
option using the binaries from Rarewares...does it not come up with --explain or --help?
--apply-replaygain-which-is-not-lossless is not documented and won't show up in the help. if you want to know if it's there or not, try --apply-replaygain-which-is-not-lossless=dfjsdkfjsl and see if it prints an error about the specification, or unknown option.
Josh
God damn it, I'd been debugging a weird issue with FLAC where I hadn't been able to find documentation for an option in the --help MAN, never even thought to check whether applying the option directly would throw an error for the option specification or an unknown option error. Feel like a moron but that post just saved me a hell of a lot of time and confusion - cheers! Looks like a decent forum too, think I might stick around