[Ardour-Users] Normalize RMS

Robin Gareus robin at gareus.org
Sun Dec 20 05:13:02 PST 2015

On 12/20/2015 01:38 PM, Niko Efthymiou wrote:
> Hi everybody,
> is there a way to normalize a bunch of reagions to their RMS volume
> instead of the peak?

No, but this is on the long term ToDo list along with EBU-128 LUFS
normalization post-export etc.

> If not, can someone give me a few pointers to where the normalization
> happens in the code and where the corresponding UI is?

`grep -rli normalize ardour-source/` #:)

This is better suited for the ardour-dev email list or even better on
IRC where we coordinate development. Anyway, here we go:

the GUI:
 * gtk2_ardour/editor_ops.cc -- Editor::normalize_region()
 * gtk2_ardour/normalize_dialog.cc

processing is in libs/ardour/audioregion.cc
 * AudioRegion::maximum_amplitude()  -- detect
 * AudioRegion::normalize()  -- apply

The above will lend itself for a quick hack, note however that this old
code that will sooner or later go away in favor of the newe[er] API:
AudioAnalyser, Filter.

Compare to "Strip Silence" or Onset and Transient Detection which
already use the new API.

The GUI part is in gtk2_ardour/editor_ops.cc
 * Editor::apply_filter()

The backend is in libs/ardour/region.cc -- Region::apply(), the
API for analysis and filter are in libs/ardour/ardour/audioanalyser.h
and libs/ardour/ardour/filter.h respectively.


More information about the Ardour-Users mailing list