wavnorm - nplay - nrecord - what are they?


What wavnorm does is find the highest level in a .wav file, and then scale the entire .wav file so that the loudest point is as loud as possible without clipping. It does this "in place" on the original .wav file, so space consuming temp files aren't created. This is handy when creating demo compilation CDs of home recorded material from different sources, which can vary widely in levels. wavnorm can impose SOME degree of consistency. nplay is a simple text mode .wav file player, with a vu meter and a peak meter. It requires the newt user interface library that comes with RedHat Linux. nrecord is a simple text mode .wav recorder, with a vu meter and peak meter so it is easy to monitor the levels of the data being recorded as it goes to disk. This greatly aids setting levels with a mixer so optimum recording quality can be attained. It also makes use of the newt library. These are available as C source code. wavnorm was developed under RedHat 6.0 but should compile under any real operating system with little or no modification. nplay and nrecord presume a Linux soundcard interface and the newt libraries, so are probably more Linux specific.

why does the volume sound different even though the songs are all normalised?

Different recordings have different levels of dynamic range. Frequently in the recording process effects called compressors are used to control the dynamic range. This can make music sound loud. More info on this here and elsewhere on the web. The ecasound package has a useful unix command line compressor that can be used for this.



A new release (0.5) is finally out. I have added a few minor improvements of my own plus some patches sent in by people. Yes development has been slow, sorry! But wavnorm is largely feature complete and I suggest ecasound for more advanced audio operations.

Here is the Changelog.

REDHAT 7.0/7.1 RPM created

June 2014 : now on github

To keep this old code available for reference purposes I've also uploaded it to github. Already others have made use of the code as a starting point for interesting stuff, so github should make it easier:


source .tar.gz files

To install, do (as root):

tar xvzf wavnorm-X.tar.gz
cd wavnorm-X
make install

rpm files for RedHat 7.1 (should work on 7.0 as well)