Slashdot Mirror


Normalizing Music?

Beans asks: "I have a couple classical music CD's which I listen to at work, and use for putting the baby to sleep. I can never find the correct volume, I can't hear soft spots, so I turn it up, only to have a rising crescendo rouse the baby, or at work, have co-workers glace over. What is a good way to normalize them (read on for what I mean by normalize)? All of the normalizing software I have seen uses the entire song for the window of normalzing. Basically makes determines a static value required to get the average volume of the song to the user defined level, then applies that value to the entire song. What I need is something that normalizes over a sliding window, or say 5 seconds, or whatever. In effect making soft spots louder, and crescendo's quieter. Not the way the music was intended to be heard, but perfect for music-at-work, or putting kids to sleep. Does anyone know of any software that does this? On a side note, I work for a Seismic processing company, and we do stuff like this all the time on Seismic waves, not sound waves. If I can't find any canned software to do this, I may modify some of our code to work with WAV files, but I don't want to reinvent the wheel."

9 of 136 comments (clear)

  1. Look up information about audio engineering, by MoOsEb0y · · Score: 4, Informative

    it seems the music "industry" has been doing a very good job of this. What exactly you want is dynamic compression, not normalization. click here for more information.

  2. Plugins by Noah+Adler · · Score: 5, Informative

    I've used normalizer plugins in both XMMS and Winamp. They aren't perfect, but they're generally alright.

    Check out http://volnorm.sourceforge.net/ for an XMMS plugin, or one of the many Winamp plugins here.

  3. Dynamic Compression with Audacity by mbrubeck · · Score: 5, Informative

    What you want is a compressor. Audacity (GPL software for Linux, Mac, Windows) includes a simple built-in compressor, and also works with compressor plug-ins like SC4 by Steve Harris. (You can get SC4 by installing the swh-plugins collection on Linux or Unix; it's also included with the Windows version of Audacity).

  4. Classical != Quiet by yasth · · Score: 4, Informative

    Classical music with its large dynamic ranges is meant to be loud at times. People think classical is something nice and calm like a little old lady, but much of it is meant to be exciting, and brash.

    --
    I'd do something interesting, but my server can't handle a slashdotting.
  5. Compression, not normalization by ChadN · · Score: 4, Informative

    What you want is 'compression', not normalization. I don't mean data compression (ie. making smaller file), btw.

    Music studio use "compressors" to reduce the dynamic range of sound. Ones that work in real time have to be a bit sophisticated (sliding window, like you said), but doing it offline is easier, since you can know the max and min sound values beforehand.

    I don't know what tools are out there in PC land, hopefully someone will answer. But I will mention that I used to have a portable CD player with a built in compressor (to help keep your music above the ambient background noise, espicially when driving) and it was GREAT! It is a feature that I don't see much in portable devices anymore, which surprises me...

    Anyway, hopefully this might give you a new term to google for, at least. Try searching for "dynamic range compressor", or something...

    Alright, I found some windows plugins that might help; Anyone with some Linux/MacOs/Unix equivalents?

    http://www.divx-digest.com/software/tfm_filter.h tm l
    http://www.divx-digest.com/software/dedynamic.h tml

    --
    "It's overkill, of course. But you can never have too much overkill." - Anonymous Slashdot Coward
  6. Re:WMP9 or 10 by DetrimentalFiend · · Score: 4, Informative

    It sounds like volume equalization is what microsoft calls compression. Compression is where the amplitude of music is altered depending on the average amplitude of the last few moments of music. It's basically like the device/computer has its hand on the volume nob and tries to keep the volume comming out at the same level, which is exactly what the poster described. Any good sound editing program has compression effects and I would be supprised if many audio players didn't offer it as well. I know my creative nomad has the feature available. FYI, audio compression is also what radio stations use to make their station sound louder.

  7. Compression by ratboy666 · · Score: 4, Informative

    http://trikuare.cx/code/AudioCompress.html

    Works with most players -- xmms plugin as well.

    Ratboy

    --
    Just another "Cubible(sic) Joe" 2 17 3061
  8. Volume Logic with Automatic Gain Control by Michael.Forman · · Score: 4, Informative


    I recommend the Volume Logic plugin for iTunes. It provides dynamic automatic gain control (AGC) over multiple bands. I find it really brings out the nuances in quiet music without blowing me away, when things get loud.

    Michael.

    --
    Linux : Mac :: VW : Mercedes
  9. You want a compander. by klaws · · Score: 4, Informative

    What you want is a compander. (compressor/expander). It is so called because it compresses or expands the dynamic range of the input audio. Sox includes one, if you like command lines.

    For winamp, I've found Rocksteady is beautiful, and does separate compression for several frequency bands (i can't begin to express how good this is for pop/rock).

    For XMMS, AudioCompress does a sufficient job, although the windowing is somewhat stupid (not predictive == you'll get pops if things suddenly get loud) and it doesn't separate into multiple frequency bands, so it won't sound so good if you're playing something where the bass is really pushed (like Fiona Apple) next to something where it's not (classical).

    Neither allow you specify complex transfer functions (of input volume to output volume).

    For your purposes, sox is really the right thing, although it may feel a bit like "ack! drowning in sea of unexplained options!". You could start off trying:

    $ sox infile.wav outfile.wav compand .1,.1 -60,-10 0 0 .1

    will give you VERY hard compression. Change the .1s to specify how fast it changes the volume; change the -60,-10 (always negative) to more similar values to make the compression less severe.

    $ man sox
    will tell you something more.

    --
    - KLS