* Kevin Day <[EMAIL PROTECTED]> wrote:
> I'm toying with an idea I have, which consists of a tool
> designed for making cassette tapes from mp3 files.  (I'm still
> in the stone age, I guess :) I'm going to concencentrate on
> the interface, which, if good enough, I suppose will also be
> useful for people making mixes to other media.  I'll most
> likely not start from scratch, since most of the functionality
> is available in e.g. freeamp.  One important thing that I'm
> not sure exists, though, is the ability to normalize the
> amplitiude of a bunch of audio files.  Besides the aesthetic
> problem with files that play at differing volumes is the
> background noise of analog tape; as is well known analog tape
> should be recorded as hot as possible but no hotter.  What I
> want to do is go through a batch of mp3s, scan the decoded
> output to determine the maximum amplitude, and then associate
> a scaling factor which will be used at playback time.
> Has anyone implemented something like this?  I don't suppose
> it would be that difficult, but perhaps (CPU) time-consuming.
> Can anyone think of a better way of doing it than rendering
> the mp3 to a buffer and then scanning it?

I had a very similar problem a few years ago, trying to
normalize MOD music.  Unfortunately, the best solution I found
is the same as you've thought of.  I decoded each song,
calculated a scaling factor, and then re-decoded it with the
new amplification.

To do this for mp3's in a convenient manner, players would
probably have to implement a per-file amplification based on
extra info in, say, an id3v2 tag.  This sounds like a great
idea to me, but I'm not the one who would be implementing it..

But as was already mentioned, one thing you don't want to do is
decode, amplify, then reencode.  It's best to amplify the
original sound data, but that's not always possible.  That is
why I suggest the amplification during each playback.

 _  _ _  _ ___ ___  ---"I don't get even - I just get odder."---
( \/ ( \/ (__ (__ ) |     Scott Scriven (Toy Keeper / XYZZ)    |
 \  / \  /  //  //  |       mailto:[EMAIL PROTECTED]      |
 /  \ / /  //_ //_  |     irc:serdevian.dyn.omnipotent.net     |
(_/\_(_/  (___(___) |  http://www.vis.colostate.edu/~scriven/  |


Reply via email to