mkogg.py: Fix 'self.get_mp4_metadata(self, source)'
[blog.git] / posts / Replay_gain.mdwn
1 Some songs are louder than others, and it's annoying to have to
2 constantly tweak the volume knob to keep things at a reasonable level.
3 Enter "replay gain".  You use a tool to go through your music and add
4 tags marking how loud each song/album is, then you play them with
5 something that understands the tags and adjusts the volume for you.
6 Very convenient.  Robert Downes (Bobulous) has a [nice post with
7 scripts for tagging FLAC files][post] (the heart of his scripts is
8 `metaflac --add-replay-gain *.flac`).  Then just add
9
10     replaygain "album"
11
12 to `/etc/mpd.conf` and restart [[mpd]].  VoilĂ !
13
14 If you're not using `mpd`, modern versions of [flac][] come with an
15 undocumented `--apply-replaygain-which-is-not-lossless` option.  It's
16 annoying that they haven't gotten around to documenting this option
17 (since 2004!), but the syntax itself is pretty simple (description
18 from [this post][syntax]):
19
20     --apply-replaygain-which-is-not-lossless[=<specification>]
21
22 where `<specification>` has the format:
23
24     [<preamp>][a|t][l|L][n{0|1|2|3}]
25
26     <preamp>    Floating point dB to add to the existing gain.
27     a|t         Album (a) or track (t) gain.
28     l|L         Peak-limit (l) or 6dB hard limiter (L)
29     n{0|1|2|3}  Noise shaping from none (0) to strong (3) when
30                 dithering back to integer amplitudes.
31
32 The default is `0aLn1`.  If you look in the `flac` source, this
33 documentation is in `doc/html/documentation_tools_flac.html` (where it
34 is commented out).
35
36 [post]: http://www.bobulous.org.uk/misc/Replay-Gain-in-Linux.html
37 [flac]: http://flac.sourceforge.net/
38 [syntax]: http://www.hydrogenaudio.org/forums/index.php?showtopic=17293&pid=171075&mode=threaded&start=#entry171075
39 [[!tag tags/linux]]
40 [[!tag tags/fun]]