At 7/10/12 07:14 AM, Buoy wrote:
no, not worth it
- You still have to change your volume a lot. A highly compressed electronic song sounds much louder than a dynamic solo guitar piece with transients.
That can only happen to a rather small degree. Certain bits may be louder. The frequency content plays a big role are well, so the more aggressive the sound, the louder it can seem, but even then the differences are not considerable in overall loudness. The most extreme example in the clip mix is Norah Jones versus Metallica's track from the Death Magnetic Album and it's pretty easy to spot just how horrid the Metallica song does.
The loudness situation would in fact improve dramatically, though it never can be perfect, which research suggests is an impossible goal.
- Automated normalization can lead to inter-sample clipping and requires additional dithering.
This can happen with dramatically dynamic material, which is also why Replaygain tags include a peak parameter. This would be the last safety net to avoid clipping.
An interesting fact is that with todays style of mastering and compression that so many on the site seem to employ, a truly full-volume flash player will be clipping the DA converters almost all the time when decoding those crunched MP3 files.
At the very least this clipping distortion, which is often masked by even more distortion from the actual tracks from compression, limiting, saturation or deliberate clipping, could be avoided. The peak parameter gained from the Replaygain scan would lower the playback volume as much as needed just in case some fantastically dynamic material comes along.
- You have to either 1. make it flash-based, which hogs resources and makes the site version sounds different from the downloaded one or 2. apply it to an mp3 and then re-encode it as a new mp3 file, leading to a file with low quality relative to the filesize which is definitely not what you want when you're using it in games and movies.
These are solvable problems.
1. The Flash player only needs to apply one level of gain in addition to what it already does. This costs next to no performance.
2. The site could tag the original MP3 files themselves before offering them for download, and suggest to the user to replaygain-tag them themselves as well, and then check them in a player that supports replaygain tags.
I'm going to make the assumption that the site produces a 128 kbps MP3 for playback in the Flash player.
There is the option of destructively altering the MP3, which however does not require re-encoding. The MP3 format has descriptions for every frame that lets you scale the volume in 1.5 dB steps. This is what the commandline tool MP3Gain lets you do, as well as Foobar2000 wiht its "Apply Track ReplayGain to MP3 data" and "Apply Album ReplayGain to MP3 data" functions.
That will still leave a margin of error of up to 0.75 dB in the loudness of the track when played in a player that does not support Replaygain, but it would still improve the situation. The peak parameter would be taken in to accout at this stage too.
Tagging the original file and the Flash player MP3 would be the least intrusive option. Btw, nobody needs to be worried about quality degredation. It's a simple gain applied to a single descriptor in an MP3 frame. The MP3 compression makes a real difference.
The cost of the entire process is likely to be two additional decoding passes and one tagging process. This assumes that the original is scanned, tagged, and then used to produce the already Replaygained new 128 kbps MP3.
A commandline version of a Replaygain scanner using the EBU R128 standard is already available and it's open source.
The question is, will or can the site maintainers pull this off.
If this is done, nobody will be louder than the other. This is the real benefit as the focus will fall more strongly on the sound quality of tracks, the production and the mix. Nobody would either have to turn something up again, or be surprised in a horrible way and turn a track down, which I consider the worst thing that could happen to anyone's music.