This plugin for WinAMP 2.x attempts to address one of the evils of larger MP3 collections - significant differences in volume between files. It does this by digitally normalizing the output of the WinAMP player to the maximum possible value without causing clipping. It determines this value by listening to the file the first time it is played, to determine the 100% normalization factor for the next playback. Unfortunately, while this helps, it seems that just normalizing the output does not fix enough volume problems to be worth pursuing further, so this project will not be finished beyond the proof of concept stage.
Yes, it doesn't work that well (see below for the details). But it does work some, and helps with some songs in my collection. And I hope that by releasing it, somebody else might pick up the code and develop a more advanced gain control that makes the results more compelling than in this version.
The files need to be played all the way through before an accurate gain value can be determined. If you skip to the end of the file, the plugin will think you played the entire file and store possibly incorrect gain values for that file.
If you have two MP3s with the same title, the plugin only can store one gain value, and it will be for the last MP3 played.
Unless the file was poorly mastered (which does happen), normalization doesn't help that much to louden quiet files, and it does nothing for files with large dynamic range, or one singular loud point in an overall quiet song.
If you play two files of exactly the same length in a row, the plugin will not save and restore the correct gains for ether file. Sorry, but this is a proof of concept project only. This bug is very rare, though it would not be hard to fix if it became worth doing so.
GPL + if you come up with something based on this code, you should let me know about it.
Copy the dsp_volumeFix.dll file into the plugin directory of Winamp, restart, and select it as the new dsp plugin.
©2003 Alan Robinson (arobinsonhampshire.edu)