The Dynamic Audio Normalizer tries to avoid these issues by applying an advanced dynamic normalization algorithm. That's because the maximum gain factors can vary strongly and unsteadily between neighboring frames! Therefore, applying the maximum possible gain to each frame without taking neighboring frames into account would result in a strong dynamic range compression – which not only has a tendency to destroy the "vividness" of the audio but could also result in the "pumping" effect, i.e fast changes of the gain factor that become clearly noticeable to the listener. Unfortunately, simply amplifying each frame with its own "local" maximum gain factor G would not produce a satisfying overall result either. 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. 2 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.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |