So, if S_max denotes the highest magnitude sample within the n-th frame, then the maximum possible gain factor for the n-th frame will be G=Peak/abs(S_max). Next, it computes the maximum possible gain factor (without distortions) for each individual frame. The Dynamic Audio Normalizer then finds the highest magnitude sample within each frame, individually and independently. A frame typically has a length 500 milliseconds, but the frame size can be adjusted as needed.
That's because the "loud" parts can not be amplified any further (without distortions) and thus the "quiet" parts will remain quiet too.ĭynamic Audio Normalizer solves this problem by processing the input audio in small chunks, referred to as frames. If, however, the volume of the input audio varies significantly over time – as is the case with many "real world" recordings – the standard normalization algorithm will not give satisfying result. This works fine, as long as the volume of the input audio is constant, more or less. So if S_max denotes the highest magnitude sample in the whole input audio and Peak is the desired peak magnitude, then the gain factor will be chosen as G=Peak/abs(S_max). Consequently, the gain factor must be chosen in a way that won't cause clipping (distortion), even for the input sample that has the highest magnitude. How It WorksĪ "standard" (non-dynamic) audio normalization algorithm applies the same constant amount of gain to all samples in the file. The "native" API is written in C++, but language bindings for C99, Microsoft.NET, Java, Python and Pascal are provided. Last but not least, the "core" library can be integrated into custom applications easily, thanks to a straightforward API (application programming interface). Furthermore, it can be integrated into your favourite DAW (digital audio workstation), as a VST plug-in, or into your favourite media player, as a Winamp plug-in. The Dynamic Audio Normalizer is available as a small standalone command-line utility and also as an effect in the SoX audio processor as well as in the FFmpeg audio/video converter. It will retain 100% of the dynamic range within each "local" region of the audio file. Note, however, that the Dynamic Audio Normalizer achieves this goal without applying "dynamic range compressing". In other words: The Dynamic Audio Normalizer will "even out" the volume of quiet and loud sections, in the sense that the volume of each section is brought to the same target level. This allows for applying extra gain to the "quiet" sections of the audio while avoiding distortions or clipping the "loud" sections. However, in contrast to more "simple" normalization algorithms, the Dynamic Audio Normalizer dynamically re-adjusts the gain factor to the input audio. It applies a certain amount of gain to the input audio in order to bring its peak magnitude to a target level (e.g.
This software is provided 100% free of charge ĭynamic Audio Normalizer is a library for advanced audio normalization purposes.
If you download any of the Windows MP3Gain files above, this file is included. I'm still figuring it out.Ĭ++ files (plus Visual C++ project information files) used to create the mp3gain.exe back endĬommand-line only version of mp3gain.
There seem to be some cases where this version accidentally shortens the filename.
Normal MP3Gain install for version 1.3.4 Do not use this version unless you really need the experimental Unicode support. You'll also need the mp3gain-1_5_2_r2-src.zip file. The GUI is just a front end for the command-line program mp3gain.exe, so if you want to completely re-compile MP3Gain from scratch, then Visual Basic source files used to create the MP3Gain GUI.
Normal MP3Gain plus VB run-time files), but with no installer
If you ever download a newer version of MP3Gain after doing a Full install, you will only need the Normal version.įull MP3Gain (i.e. Or if you want to save some download time, then try If you're not sure, then go ahead and download this Full version. The VB run-time files only need to be installed on a computer once, so they might already be in your Windows folder. This is what most people will want to download.Įxactly the same as the Normal install, but also includes the Microsoft Visual Basic run-time files. There are two Mac ports that I know of: MacMP3Gain, and MP3Gain Express. Here's a list of what you'll find at the SourceForge download page for MP3Gain. AACGain support: You will also need to download AACGain, rename it to "mp3gain.exe", and put it in the MP3Gain folder after installation.