Skip to main content

Topic: Does FLAC.exe decode support ReplayGain? (Read 53255 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Kent Wang
  • [*][*]
Does FLAC.exe decode support ReplayGain?
There doesn't seem to be an option so I'm not sure whether FLAC.exe will automatically interpret ReplayGain tags or not.
Everything I've learned about space, I've learned from psytrance.

  • sinan
  • [*]
Does FLAC.exe decode support ReplayGain?
Reply #1
It doesn't use the ReplayGain tags on decoding, so the output is not ReplayGain'ed, like the original.

  • jth
  • [*][*][*]
Does FLAC.exe decode support ReplayGain?
Reply #2
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

  • M
  • [*][*][*][*][*]
Does FLAC.exe decode support ReplayGain?
Reply #3
Quote
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. 
  • Last Edit: 08 January, 2004, 09:30:30 AM by M

  • jth
  • [*][*][*]
Does FLAC.exe decode support ReplayGain?
Reply #4
Quote
[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.

  • M
  • [*][*][*][*][*]
Does FLAC.exe decode support ReplayGain?
Reply #5
Quote
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.

  • spase
  • [*][*][*][*][*]
Does FLAC.exe decode support ReplayGain?
Reply #6
Quote
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.

  • jcoalson
  • [*][*][*][*][*]
  • Developer
Does FLAC.exe decode support ReplayGain?
Reply #7
Quote
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.

Quote
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?
  • Last Edit: 08 January, 2004, 01:42:43 PM by jcoalson

  • Kent Wang
  • [*][*]
Does FLAC.exe decode support ReplayGain?
Reply #8
Quote
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.
Everything I've learned about space, I've learned from psytrance.

  • M
  • [*][*][*][*][*]
Does FLAC.exe decode support ReplayGain?
Reply #9
Quote
Quote
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.

Quote
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.

  • Kent Wang
  • [*][*]
Does FLAC.exe decode support ReplayGain?
Reply #10
Quote
... 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.
Everything I've learned about space, I've learned from psytrance.

  • jcoalson
  • [*][*][*][*][*]
  • Developer
Does FLAC.exe decode support ReplayGain?
Reply #11
Quote
Quote
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.

Quote
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:

Code: [Select]
--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.


Quote
... 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

  • john33
  • [*][*][*][*][*]
  • Developer
Does FLAC.exe decode support ReplayGain?
Reply #12
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.
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/

  • jcoalson
  • [*][*][*][*][*]
  • Developer
Does FLAC.exe decode support ReplayGain?
Reply #13
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

  • atici
  • [*][*][*][*][*]
  • Members (Donating)
Does FLAC.exe decode support ReplayGain?
Reply #14
Hmm does this new version feature any size improvements, i.e. smaller filesize for same quality?
The object of mankind lies in its highest individuals.
One must have chaos in oneself to be able to give birth to a dancing star.

  • Cerebus
  • [*][*][*]
Does FLAC.exe decode support ReplayGain?
Reply #15
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

  • jcoalson
  • [*][*][*][*][*]
  • Developer
Does FLAC.exe decode support ReplayGain?
Reply #16
Quote
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.

Quote
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

  • Cerebus
  • [*][*][*]
Does FLAC.exe decode support ReplayGain?
Reply #17
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).

Does FLAC.exe decode support ReplayGain?
Reply #18
Quote
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.

Quote
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