Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#26867 - 17/02/2001 19:54 Is there any way...
jbauer
veteran

Registered: 08/05/2000
Posts: 1429
Loc: San Francisco, CA
...to identify if a file was normalized or not when it was ripped? (besides listening to it and taking a guess)

- Jon


Top
#26868 - 17/02/2001 23:53 Re: Is there any way... [Re: jbauer]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
...to identify if a file was normalized or not when it was ripped?

Depends on what you're trying to find out... Do you want to know about the peak level of the final file, or do you want to know what's been done to the file in the ripping process?

There are ways to determine what the peak of the song's waveform is. If the peak waveform reaches between 98% and 100%, then you can assume it's been normalized.

However, there's no way of knowing if the CD was already normalized to 98% to begin with, or if the ripping software normalized it to 98% during the ripping process.

If all you care about is the volume level of the final file, then here's what you do: Open the MP3 file in WinAmp and use its "Disk Writer" plug-in to save it as a WAV file. Then analyze that WAV file in any program that'll tell you its peak levels (SoundForge, CoolEdit, heck, even AudioCatalyst will tell you the existing peak as part of its normalization process).

Remember that normalization only increases the volume of the entire song by a fixed factor. It increases the volume so that the song's single highest peak reaches 100% (or 98% or whatever you set the normalizer to). It doesn't balance quiet/loud parts within a song, so just listening to a song doesn't necessarily tell you if it's been normalized. A song could be mostly quiet, but have one single loud peak. Normalizing such a file doesn't necessarily make it sound louder. There was an example someone gave on this BBS about a live recording of a guitarist: the loudest peaks on the recording were the sounds of him scooting his chair on the floor between songs. It could be even more subtle than that, it could be a tiny "pop" in the recording, so brief and high-frequency that you don't even hear it audibly. Or it could be the high-frequency component of a single snare drum hit that happened to be louder than the others.

Also, I've found that the vast majority of CDs are already normalized, and that the ripping software rarely needs to do anything to normalize the file. Normalization is a standard part of producing a CD.



___________
Tony Fabris
_________________________
Tony Fabris

Top
#26869 - 18/02/2001 00:52 Re: Is there any way... [Re: tfabris]
jbauer
veteran

Registered: 08/05/2000
Posts: 1429
Loc: San Francisco, CA
Wow, thanks Tony! Lot's of info!

When I first started doing my ripping for the empeg, I wasn't normalizing to 100%. Now, I realize that it's a really good idea to do that. That's why I wanted to know if there was some easy way of identifying if an mp3 file has been normalized. I was hoping that some bit would be set that would allow for you to identify it...

Oh well.

- Jon


Top
#26870 - 18/02/2001 01:05 Re: Is there any way... [Re: jbauer]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
Don't worry about not having normalized in the past. I was worried about it for a while, and then I realized that it didn't make any difference: All my CD's were already normalized, even the ones that I thought sounded too quiet.

The thing that makes one song sound louder than another isn't normalization, it's dynamic range compression, something done at the mastering stage when an album is created. It's the same reason that TV commercials sound louder than the TV shows. The TV show and the commercial both have the same peak level, it's just that the commercial compresses the dynamic range so that it hits that peak more often. Same thing with albums: Some are dynamically compressed more than others, therefore they sound louder. Normalization won't help that at all.

There have been many discussions on this BBS about the topic, do some searches and see what you come up with.

___________
Tony Fabris
_________________________
Tony Fabris

Top
#26871 - 19/02/2001 17:03 Re: Is there any way... [Re: jbauer]
PaulWay
addict

Registered: 03/08/1999
Posts: 451
Loc: Canberra, Australia
Incidentally, I prefer to normalise to 98% (although I won't adjust anything over 92%).

If you imagine the waveform as a vertical graph of the speaker's position over time, the speaker does not actually follow that graph. The speaker cone has mass, and thus inertia, which means that sudden acceleration and deceleration still takes time. To me, this means that a speaker will slightly overshoot the mark as you come up to the top or bottom of a big impulse (e.g. bass drum hit) and will move beyond where it is being told to by the electricity flowing through its coil. To me this says that normalising at 98% will give you a little bit of headroom for the speaker to move.

But, as I've realised in typing this note, this argument is false for two reasons. Fundamentally the thing that controls how far your speaker is actually going is not so much the waveform as the amount of amplification. You could wipe out a speaker on a waveform normalised to 50% simply by amplifying it by 150% of the speaker's capability. What normalisation gives you is [u]headroom[/u] - the ability to hear soft sounds above the noise floor of your system. So normalising to 100% doesn't affect anything.

I will argue that normalising less than five percent involves you in integer rounding problems that will introduce digital noise. For example, if you've got a value of 31111, and you're supposed to amplify it by 5%, then you're multiplying by 1.05. This gives you a value of 32666.55, which you would then have to round to 32667 because you're working with 16-bit signed integers. This rounding means you're introducing a slight error in your values, which will show up as noise (because it's essentially bit 'jitter').

But then, a rough top-of-brain calculation says that this will be showing up at -92db, which is almost too soft for the human ear to hear (the blood running through your ears makes more noise, I'd bet).

So much for that idea. Still, the old saying of 'if it ain't broke, don't fix it' has something in it. Since normalisation introduces noise, you're better off only using it when you will get a tangible benefit (better usage of your bandwidth).

Have fun,

Paul

Save the whales. Feed the hungry. Free the mallocs.
_________________________
Owner of Mark I empeg 00061, now better than ever - (Thanks, Rod!) - and Karma 3930000004550

Top
#26872 - 19/02/2001 17:36 Re: Is there any way... [Re: PaulWay]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
Very good description of normalization, except for one statement:

What normalisation gives you is headroom - the ability to hear soft sounds above the noise floor of your system.

In my experience, normalizing rarely makes the soft sounds much louder. The only thing that will get those soft sounds louder is dynamic range compression, which is a different animal than Normalization.

Unless the original waveform only reached 70% or something, but as I said before, the vast majority of CDs are already normalized.


___________
Tony Fabris
_________________________
Tony Fabris

Top
#26873 - 20/02/2001 03:23 Re: Is there any way... [Re: PaulWay]
peter
carpal tunnel

Registered: 13/07/2000
Posts: 4180
Loc: Cambridge, England
To me, this means that a speaker will slightly overshoot the mark as you come up to the top or bottom of a big impulse (e.g. bass drum hit) and will move beyond where it is being told to by the electricity flowing through its coil. To me this says that normalising at 98% will give you a little bit of headroom for the speaker to move.

I expect this has also occurred to the folks who design the speakers, and the rated maximum output of the speaker is such that transients don't bottom out the cone travel.

As for integer rounding problems, I'm no DSP theorist but surely the only normalisations free of rounding errors are ones where you multiply the whole lot by an integer, i.e. amplifying by 0%, 100%, 200%, 300%. So by that theory, normalisations near to an exact multiple (say 5%) should be less noisy than normalisations far from an exact multiple (say 25%). (People who know what they're talking about should feel free to destroy that argument using the power of maths if necessary.)

Peter



Top
#26874 - 20/02/2001 16:24 Re: Is there any way... [Re: tfabris]
PaulWay
addict

Registered: 03/08/1999
Posts: 451
Loc: Canberra, Australia
In reply to:

Unless the original waveform only reached 70% or something, but as I said before, the vast majority of CDs are already normalized.



I've ripped recent CDs which have had a maximum level of 80%. And I don't always buy latest releases; I'm still filling in the gaps in my collection.

Ultimately, I don't expect things to be dramatically different after normalisation - I don't expect to suddenly hear the beginning section of Holst's "Venus - the Bringer of Peace", for instance. That's what I'll use rjlov's volume adjusting kernel for. What I do want is that all the tracks that I play are getting the most out of the dynamic range. Since the mp3 medium discards a lot of volume sensitivity anyway, I'd like to hear the faint overdriven guitar in "Private Universe" by Crowded House, rather than have it disappear because the algorithm saw the signal as being too soft.

Not criticising you, Tony, just adding to my argument.

Have fun,

Paul

Save the whales. Feed the hungry. Free the mallocs.
_________________________
Owner of Mark I empeg 00061, now better than ever - (Thanks, Rod!) - and Karma 3930000004550

Top
#26875 - 20/02/2001 16:33 Re: Is there any way... [Re: peter]
PaulWay
addict

Registered: 03/08/1999
Posts: 451
Loc: Canberra, Australia
Actually, no. if you're multiplying an integer by 1.25, you've got a one in four chance that you'll end up with an integer (based on the fact that 1.25 is 5/4, and all numbers evenly divisible by 4 will produce integers). However, if you're multiplying by 1.05, you have a one in twenty (1.05 = 21/20) chance of ending up with an integer. So smaller multipliers actually end up with more rounding 'noise'.

As I say, though, this error is only in the 15th bit (the 16th is used for sign, if you like). Someone more familiar with the mathematics of decibels can work out what dB level this is, but off the top of my head it's round the noise floor of a CD: -92dB.

Hope this makes sense,

Paul

Save the whales. Feed the hungry. Free the mallocs.
_________________________
Owner of Mark I empeg 00061, now better than ever - (Thanks, Rod!) - and Karma 3930000004550

Top