![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Intelligent dynamic range compressionDimitrios Giannoulis, Michael Massberg, Zheng Ma, Jacob Maddams, Saoirse Finn, Joshua D. Reiss This project investigates the design of high performance dynamic range compressors with the parameter settings automatically configured based on the signal content. Dynamic range compression, despite being one of the most widely used audio effects, is still poorly understood and there is little formal knowledge and analysis of compressor design techniques. In this tutorial we describe several different approaches to digital dynamic range compressor design. Digital implementations of several classic analog approaches are given, as well as designs from recent literature, and new approaches that address possible issues. Several design techniques are analysed and compared, including RMS and peak – based approaches, feedforward and feedback designs, and linear and log domain level detection. We explain what makes the designs sound different, and provide distortion-based metrics to analyse their quality. We provide recommendations for high performance compressor design. We minimised the number of user-adjustable controls by developing methods to automatically set the different compressor parameters at run-time and dependent on input signal statistics. The resulting automatic compressor can be operated with only one control and is implemented as a real-time audio plug-in. Finally we evaluate the automatic compressor settings against those made by expert human operators. We then designed a system
for automatically setting the parameters of multiple dynamic
range compressors (one acting on each track of the multi-track
mix) is described. The perceptual signal features loudness and
loudness range are used to cross-adaptively control each compressor. Source code matlab source code for tutorial autocompressor VST plugin and source code Audio samples to appear Publications
|