Ok, so here it is, the ultimate cludge for mpg123. The patch is butt-ugly, so it fits right in with the original code... The function is quite simple, mpg123 takes two new flags which together till save you from the sudden shock when a really soft and somewhat quietly recorded ballad is followed by Korn or Metallica... The flag -M (stands for magic cookie, lousy choice of name, I know) prints out the peak sample after a song is completed. Like this: Peak sample: 0x5f95 Now, if that is added to the id3-tag as a comment (for example by running id3ed -qc "Peak sample: 0x5f95") and mpg123 is started with the -N option, the signal will be amplified by the factor 0x7fff/0x5f95 and thus normalized. The script mp3cookiejar (in this dir) does this for you. Just make sure mpg123 (the patched one) and id3ed are in the path and feed it with a lost of mp3:s to stdin. I won't bother claiming copyright and similair for this hack (it's too small and too ugly for such claims in my eyes), but on the other hand I won't guarantee it's function as well, so don't bother complaining when it wipes your harddisk. ;> It's only tested when compiled with make linux and using OSS. There's probably situations when it'll fuck up completely, and if it does you're welcome to send me a cludge to my hack and I will add it. Also; to make it work I had to activate the buffer, so the default size of the buffer is changed from 0 kbyte to 100 kbyte. If you set -b to 0, the buffer will be deactivated, but that will also deactivate normalize even if you try to activate it with -N. The source for mpg123 itself can be fund at http://www-ti.informatik.uni-tuebingen.de/~hippm/mpg123.html The source for id3ed can be downloaded from http://www.azstarnet.com/~donut/programs/id3ed.html Do this to compile and patch mpg123 for Linux and OSS: $ tar -xvzf mpg123-0.59r.tar.gz $ patch -bp0 < mpg123-0.59r_normalize_hack_v0_1.diff $ cd mpg123-0.59r $ make linux And, as usual, if you really like this thing and want to reward me in some way, send me a rubberduckie.