AudioCompress
AudioCompress copied to clipboard
A dynamic range compressor/volume normalization library
AudioCompress v1.5 (2003/07/05) (c)2002-7 busybee (http://beesbuzz.biz/)
Introduction
AudioCompress is a simple one-band dynamic range compressor for keeping the volume level of an audio stream more or less consistent.
How it works
AudioCompress keeps a history of the last few seconds and sets the amplification so that the loudest peak within that time will be the reference for normalizing the sound (i.e. that peak will be amplified to full power). The amplification is smoothly interpolated and goes up relatively slowly, and if there's a very sudden loud burst, the amplification is dropped quickly (which typically isn't noticeable).
Using AudioCompress
As a commandline tool
Currently, the commandline tool only accepts raw PCM data on standard input as 16-bit native-endian signed data. Fortunately, this is how most audio players output data when you tell it to use stdout.
So, just pipe the raw PCM out from your player into AudioCompress, and then into some mechanism of playing sound. For example, if you're using mpg321 and esd, the commandline should be something like:
mpg321 --stereo -s -@ MyPlaylist.m3u | AudioCompress | esdcat
Adjust accordingly for your OS and player and so on.
Runtime configuration from the commandline can be seen by passing the -h option to AudioCompress.
As an EsounD plugin
Unless configured otherwise, the commandline tool can also be used as an EsounD (esd) filter, by adding the -e [esd host] option; for example:
esd -nobeeps &
AudioCompress -e localhost &
It is highly recommended that you run AudioCompress from the same system as esd, due to the large amount of bandwidth which audio filters take up.
Contact Information
Bug reports, patch submission, etc.: fluffy at beesbuzz.biz Latest version: http://beesbuzz.biz/code/AudioCompress/ XMMS homepage: http://www.xmms.org/