← APU TrueGainUser Manual · v5.7.1

1. Introduction


APU TrueGain demonstration

APU TrueGain is an ‘equal-loudness’ contour based gain correction plug-in released by APU Software, LLC. Here you can read about the different features and parameters available with the plug-in.

2. Parameters


This software supports a variety of parameters, most of which can be adjusted in real-time. This section provides an overview of each parameter, with each subsection detailing the parameters for the associated tab in the user interface. From within the user interface, you can also hover the mouse over a slider, combo-box, or checkbox to see a popup description of the parameter.

2.1. TrueGain


The TrueGain tab contains configuration and visualization for equal-loudness based gain compensation. This section details each of the individual parameters and components.

TrueGain also supports mini mode for a compact control-focused layout.

To ensure TrueGain’s perceptual modeling is accurate for your specific environment, a simple calibration process aligns the plugin with the true Sound Pressure Level at your listening position.

Calibration for Speaker Monitoring:

First, place an SPL meter at your listening spot, using a C-weighted, slow response setting. In the plugin, click the “Calibrate SPL …” button to play a band-limited pink noise signal (a 1 kHz sine wave option is also available). Now, simply adjust your speaker volume and/or the reference SPL parameter until the reading on your external SPL meter matches the reference level set within TrueGain (for example, 83 dB SPL).

Calibration for Headphone Monitoring:

Select a headphones calibration signal from the calibration signal type drop-down. This will play a spoken dialog calibration signal. Adjust the calibration offset until the perceived loudness of the calibration signal matches a “normal conversational” level at about 3 feet distance in a quiet room. The Reference SPL parameter will be automatically updated to reflect the appropriate SPL for headphones.

For convenience, you can also toggle through standard reference levels using the drop-down next to the reference SPL parameter.

Once calibrated, all of the plugin’s loudness simulations and compensations are precisely matched to your physical listening environment.

2.1.1. Presets


TrueGain’s presets combo-box contains a collection of basic presets.

The preset browser includes user-scope load options for ordinary preset changes. Reset on preset load runs a filtered parameter reset before the preset is applied. Load preset visuals controls whether the preset can change the hinted theme and visualization settings. Full Reset always restores all default parameter values, regardless of these options. You can switch between loading dark or light themes through the dark mode parameter.

Currently, the following presets are available (“Full Reset” restores all default parameter values):

2.1.2. Channel mode


The channel mode parameter determines which channel the visualizer shows. Channel-linked shows the average of all channels, while channel-select shows only the selected channel.

2.1.3. Output type


The output type options allows you to configure which type of samples to output.

Output gain and dry/wet are bypassed for Delta output type

2.1.4. Visualization


The visualization component displays a continuously evolving real-time view of your source, target, and output spectrum over time.

You can hover the mouse over a bucket to see the frequency range and loudness the bucket corresponds to.

Detailed visualization settings can be adjusted from the visualization tab, with some features also available by right clicking on the visualization component.

You can double-click the visualization component to resize and hide everything else.

2.1.5. Mini mode


The mini mode button in the upper-right of the editor switches TrueGain into a compact editor layout. This is useful when you want to keep TrueGain visible while working elsewhere in the session without taking up the full editor area.

In mini mode, TrueGain keeps the most relevant control for the current true gain mode visible. Compensated Gain Control and Gain Control show true gain, while Compensated AGC and Translation Check show target SPL. A small peak meter remains visible to the right.

Use the expand button in the upper-right corner of mini mode to switch back to the full editor.

2.1.6. FFT scale type


The FFT scale type parameter determines the frequency scale used for the visualization. The following options are available:

2.1.7. FFT window type


The FFT window type parameter determines the window type used for the spectral histogram’s FFT. The following options are available:

When using the Kaiser window, the Kaiser beta parameter is used to determine the window shape.

2.1.8. FFT window size


The FFT window size parameter determines the size of the spectral histogram’s FFT window.

The FFT window size determines a trade-off between frequency resolution and time resolution. A larger window size provides better frequency resolution, while a smaller window size provides better time resolution.

2.1.9. Kaiser beta


The Kaiser beta parameter determines the shape of the window when Kaiser FFT window type is selected.

2.1.10. Raster type


The raster type parameter allows you to enable/disable the spectral histogram raster visualization.

2.1.11. Raster orientation


The raster orientation parameter allows you to specify the rotation of the raster visualization. You can select between horizontal and vertical orientations.

2.1.12. Play calibration signal


The play calibration signal parameter allows you to play a calibration signal through the source signal. This allows you to calibrate reference SPL with your playback system.

Calibration signal type determines the type of calibration signal played.

See TrueGain for general calibration process

2.1.13. Calibration signal type


The calibration signal type parameter determines the type of calibration signal played when play calibration signal is enabled. The following options are available:

See TrueGain for general calibration process

2.1.14. Calibration offset


The calibration offset parameter is used to help calibrate the Reference SPL as part of the headphones calibration process.

See TrueGain for general calibration process

2.1.15. Adaptive SPL


The adaptive SPL parameter allows you to enable or disable dynamic adjustment of the reference SPL based on the input signal. This can be used to improve the accuracy of loudness compensation in dynamic audio.

Adaptive SPL adjustments are based on the current loudness type configuration. When using a channel-split loudness type, adaptive SPL operates separately for each channel.

You can control the range of adjustment using the reference offset parameters.

2.1.16. True gain mode


The true gain mode parameter determines the mode used for true gain processing. The following options are available:

The target SPL parameter is hidden while either Gain Control mode is active, since it is not used in these modes.

2.1.17. Phase mode


The phase mode parameter determines the phase mode used for the FIR filters. The following options are available:

2.1.18. SPL contour type


The SPL contour type parameter determines the type of loudness contour used for gain compensation. The following options are available:

2.1.19. Ballistics type


The ballistics type combo-box allows you to change TrueGain’s ballistics behavior.

Inertial ballistics are more responsive to sudden changes in loudness, but may sound less natural.

2.1.20. Reference SPL


The reference SPL parameter determines the baseline sound pressure level used for gain-correction and translation checks.

See TrueGain for general calibration process

2.1.21. Target SPL


The target SPL parameter determines the target sound pressure level used for Compensated AGC and Translation Check true gain mode.

See TrueGain for general calibration process

2.1.22. True gain


The true gain parameter determines the amount of gain and/or frequency-compensated gain applied to the source signal. See true gain mode for more information.

True gain is hidden while Compensated AGC or Translation Check mode is active, since it is not used in these modes.

2.1.23. Max range


The max range parameter allows you to specify the max gain reduction or gain amplification for the associated True Gain parameter. Note this parameter has a positive and a negative version, so you can set them independently.

2.1.24. Attack/release (ms)


The attack and release parameters allow you to smooth changes made to gain and frequency parameters.

Attack applies when a parameter is falling, while release applies when a parameter is rising.

2.2. Loudness


The loudness tab contains parameters relating to loudness measurements and detector behavior.

2.2.1. Loudness type


The loudness type combo-box and channel-link button allow you to configure the type of loudness measurement to use. Each loudness type supports channel-split or channel-linked processing. Channel-split treats each channel independently, while channel-linked integrates across all channels.

Three of the supported loudness types use a popular modern measurement standard for perceived loudness called LUFS. These loudness types are momentary (400ms window), short-term (3s window) and Integrated (infinite window).

There are also two peak loudness types (True Peak and Peak) as well as traditional RMS. True Peak is an improvement on peak which takes into consideration waveform behavior between samples, which allows it to properly respond to inter-sample peaks. Peak mode loudness types use a blocksize window.

Integrated loudness type window can be reset by pressing the reset button.

2.2.2. IIR contour type


The IIR contour type combo-box allows you to change the LUFS loudness type’s IIR filter contour. The following contours are supported:

Contours other than K-weighting no longer conform to the LUFS standard, but are provided for flavor and perceptual precision.

2.2.3. RMS window


The RMS window parameter allows you to adjust the duration of the RMS window in milliseconds. Lower window durations respond more quickly to changes in loudness, while higher window durations provide a more stable loudness measurement. The RMS window is used by the RMS loudness type.

2.2.4. Momentary window


The momentary window parameter allows you to adjust the duration of the momentary window in milliseconds. Lower window durations respond more quickly to changes in loudness, while higher window durations provide a more stable loudness measurement. The momentary window is used by the Momentary loudness type.

2.2.5. Short-term window


The short-term window parameter allows you to adjust the duration of the short-term window in milliseconds. Lower window durations respond more quickly to changes in loudness, while higher window durations provide a more stable loudness measurement. The short-term window is used by the Short-term loudness type.

2.2.6. Adaptive startup


The adaptive startup parameter enables or disables adaptive startup behavior for loudness measurements. When enabled, the loudness window begins small and grows as the window fills. This can be useful for reducing transient artifacts at the start of playback.

2.2.7. Adaptive edges


The adaptive edges parameter enables or disables adaptive edge detection for loudness measurements. When enabled, loudness values crossing the configured adaptive threshold, or silence, will be detected and the loudness window will be reset. This causes the adaptive startup behavior to apply to every transition to/from silence. This can be useful for reducing transient artifacts during sudden changes in loudness.

2.2.8. Adaptive type


The adaptive type parameter allows adaptive startup and adaptive edges to be configured for Silence or adaptive threshold modes. Silence mode will only reset the loudness window when the input signal is silent. Adaptive threshold mode will reset the loudness window when the input signal crosses the configured adaptive threshold.

2.2.9. Adaptive threshold


The adaptive threshold parameter allows you to configure the threshold used by adaptive edges in adaptive threshold mode. This threshold is specified in the same units as the current loudness type.

2.2.10. Look-ahead


The look-ahead parameter allows you to configure how far in advance the loudness measurement looks for the source signal. This can be used to align TrueGain’s response to account for the loudness window time and/or attack/release times, or simply as a creative effect.

Look-ahead requires that the look-ahead budget parameter is configured via the settings tab. This method of look-ahead configuration is used to support real-time adjustments of look-ahead without causing stuttering which would otherwise interfere with A/B testing.

Note that look-ahead budget adds latency to the truegain in order to function.

2.2.11. Reference Offset


The reference offset parameter determines the min/max offset applied to the reference SPL used for the contour filter for adaptive SPL.

See TrueGain for general calibration process

2.3. Visualization


The visualization tab contains parameters related to real-time configuration of TrueGain’s visualizations. This section describes these various settings.

2.3.1. Auto range


The auto range parameter enables or disables the visualization’s auto range finding capabilities. This feature operates by analyzing the continuous histogram at each frame to determine a reasonable range for that moment in time. This range is then followed and adjusted smoothly over time.

2.3.2. Visual range presets


Visual range presets are provided for convenience to quickly adjust the dB range of the visualizer.

Currently, the following visual range presets are available:

2.3.3. Loudness range


The loudness range parameter allows the visualization loudness range to be set manually. In order for this range to be enabled and used, the visual range presets parameter must be set to “Custom Range”

See range sliders for information about range sliders in general.

2.3.4. Snapshots


The snapshots feature allows you to take a snapshot of the current histogram. This can be useful for comparing histograms.

Each source/target/output signal has its own snapshot. The snapshots are persisted with plug-in state, so they will be available when you reopen the project.

Snapshots can be operated using the popup menu or via keyboard shortcuts.

The following snapshot parameters are available:

On Windows, use Ctrl instead of Cmd.

2.3.5. Layout options


The options menu allows you to configure the layout of the visualization. The following options are available:

Each layout mode has an AUTO option which automatically selects the best layout mode based on the current context.

2.3.6. Layout source mode


The layout source mode parameter allows you to configure the layout of the visualization’s source panel.

Currently, the following layout source modes are available:

2.3.7. Layout target mode


The layout target mode parameter allows you to configure the layout of the visualization’s target panel.

Currently, the following layout target modes are available:

2.3.8. Layout output mode


The layout output mode parameter allows you to configure the layout of the visualization’s output panel.

Currently, the following layout output modes are available:

2.3.9. Delta field type


The delta field type parameter allows you to specify the type of delta field used by the visualization.

The delta field is basically a mapping from each source pixel on the screen to a destination pixel. Pixel shaders are used to iteratively apply this delta field using interpolation and some light dithering effects. This feature is purely for aesthetic purposes and has no effect on the audio.

Raster type effects are drawn into the delta field on each frame.

2.3.10. Bits per pixel


The bits-per-pixel parameter determines the number of bits per pixel to use when rendering visualizations. The default bpp is the best performing. You can increase bpp to improve visual quality.

2.3.11. Bar Mode


The “Bar mode” parameter enables/disables bar mode. In bar mode, the visualizations will be drawn as vertical bars instead of sloped lines. This feature is purely for aesthetic purposes and has no effect on the audio.

2.3.12. Bucket size


The bucket size parameter determines the size in pixels of visualization buckets (rectangles).

2.3.13. Histogram hold


The histogram hold parameter enables or disables “hold” mode for the histogram raster types. While “hold” mode is enabled, the histogram will continuously accumulate measurements indefinitely. This can be used to capture a full duration view of your source audio. This allows you to easily adjust ranges to target to a specific region of the full dynamic range.

The histogram will still continuously accumulate measurements while “hold” mode is disabled, but for each new measurement the oldest measurement in history is replaced. This results in a continuously evolving histogram of duration specified by the history length parameter.

2.3.14. Delta X/Y/T


The delta X/Y/T parameters are provided to the visualization delta field in order to manipulate the delta field in real-time. The exact behavior of each parameter depends on the active delta field type.

2.3.15. Delta field


The delta field parameter allows you to enable or disable the visualization delta field.

The delta field is basically a mapping from each source pixel on the screen to a destination pixel. Pixel shaders are used to iteratively apply this delta field using interpolation and some light dithering effects. This feature is purely for aesthetic purposes and has no effect on the audio.

Raster type effects are drawn into the delta field on each frame.

2.3.16. Shader params


The shader parameters control various aspects of visualization rendering. The following options are available:

2.3.17. Show contour


The show contour parameter allows you to enable or disable contour drawing in the visualization.

Show contour applies to all panels in the visualization, including source, target, and output signals.

2.3.18. Panel params


The panel parameters control various aspects of panel rendering. The following options are available:

2.3.19. History length


The history length parameter allows you to change the duration of spectral history accumulated by the histogram. Each new spectrum sample contributes to the histogram while the oldest samples age out, maintaining the duration you’ve configured here.

During histogram hold the histogram has an effectively infinite history length.

2.3.20. Show peak meter


The show peak meter parameter allows you to enable or disable peak meter drawing next to the visualizer.

2.3.21. Show spectrum peak


The show spectrum peak parameter allows you to enable or disable spectral peak drawing.

2.3.22. Show axis labels


The show axis labels parameter allows you to enable or disable axis drawing in the visualization.

The axis is scaled relative to the loudness range, which can be manual or auto range.

2.3.23. Show axis lines


The show axis lines parameter allows you to enable or disable axis line drawing in the visualization.

axis lines are drawn at each Show axis labels.

2.3.24. Show alt axis labels


The show axis labels parameter allows you to enable or disable frequency axis drawing in the visualization.

2.3.25. Show alt axis lines


The show axis lines parameter allows you to enable or disable frequency axis line drawing in the visualization.

axis lines are drawn at each Show alt axis labels.

2.4. Theme


The theme tab contains parameters related to color themes. Here you can select between the bank of color theme presets, or configure the individual colors yourself.

2.4.1. Theme presets


The theme presets combo-box allows you to switch between a variety of theme presets. Each theme has a light and dark variation. Switching between theme presets will load values into source color, normal color, target color and output color.

Currently, the following themes are available:

2.4.2. Source color


The source color parameters control the red, green, and blue components of the source color.

The source color is used in a variety of contexts, from interactive widgets to visualization elements. This color signifies that an element relates to the source signal in some way. This color is expected to contrast against the normal color to some extent.

2.4.3. Normal color


The normal color parameters control the red, green, and blue components of the “normal” color.

The normal color is used in a variety of contexts, from interactive widgets to visualization elements. This color signifies that an element is essentially neutral, not related to source, target or output signal. This color is expected to contrast against the source color, target color, and output color to some degree.

2.4.4. Target color


The target color parameters control the red, green, and blue components of the target color.

The target color is used in a variety of contexts, from interactive widgets to visualization elements. This color signifies that an element relates to the target signal in some way. This color is expected to contrast against the normal color to some extent.

2.4.5. Output color


The output color parameters control the red, green, and blue components of the output color.

The output color is used in a variety of contexts, from interactive widgets to visualization elements. This color signifies that an element relates to the output signal in some way. This color is expected to contrast against the normal color to some extent.

2.4.6. Textures


The textures configuration allows you to change the user interface textures.

The panel texture is used for the background of the user interface and has the shader params applied. The meter texture is used to fill the visualization effects. The background texture is used throughout the plug-in for shading.

These settings are stored with user scope, so you don’t need to change them with every instance. Closing a texture will reverted to the default internal texture.

Typically, the panel texture should be very dark and the meter texture should be very light.

2.5. Settings


The settings tab contains various additional parameters. These parameters are broken down between General and Latency parameters. Since Latency parameters impact delay compensation, changes to these parameters are deferred until you click the Apply button. It is generally not advisable to automate the parameters in the Latency section.

2.5.1. BPM


The bpm option allows you to set the BPM used by tempo-relative parameters.

2.5.2. Host BPM


The host bpm option enables usage of the host’s BPM for tempo-relative parameters. When disabled, the bpm parameter is used instead.

This parameter is not available (nor applicable) to the standalone application.

2.5.3. Dither


The dither parameter determines the strength of ballistics dithering. This parameter applies only to dithering ballistics type modes.

2.5.4. Velocity sensitive knobs


If enabled, this will turn on velocity-sensitive dragging, so that the faster the mouse moves, the bigger the movement to the knobs. This helps when making accurate small-scale adjustments.

This parameter is saved at user scope, so it will be remembered between sessions.

2.5.5. UI Scaling


The UI scaling option allows you to set the scaling of the user interface. This is useful for high-DPI displays, where the default scaling may be too small to read comfortably.

This parameter is saved at user scope, so it will be remembered between sessions.

2.5.6. Axis Scaling


The axis scaling option allows you to set the scaling of the axis ticks, labels and text bubbles. This is useful for high-DPI displays, where the default scaling may be too small to read comfortably.

This parameter is saved at user scope, so it will be remembered between sessions.

2.5.7. Dark mode


The dark mode toggle enables/disables dark mode. When enabled, theme colors have their brightness inverted.

2.5.8. Gain change write


The gain change write mode controls how the plug-in publishes the latest signed gain change to the host as an automatable parameter. This can be useful for recording the plug-in’s gain changes directly to an automation lane when supported by the DAW.

Disabled turns gain change write off.

Native uses the format-native write path when available. For non-VST3 plug-ins, Native falls back to the same behavior as Compatibility.

Compatibility uses the generic host-notify write path, which may work in more places but is less elegant than Native when the host supports the native path.

Host support for plug-in generated automation varies. When supported, put the host into Write or Touch mode and record the Gain Change Write parameter.

Gain change write is output-only. The recorded automation lane is not read back into the plug-in’s processing.

2.5.9. Blocksize


The block size parameter determines the time frequency of FFT filtering. Generally speaking, lower block sizes will give more accurate results. However, lower block sizes also require more CPU resources, so it is necessary to find a balance. You can squeeze improved quality and/or performance by tuning this setting based on your available CPU resources.

BPM units for block size are evaluated once at the time you press Apply.

2.5.10. Look-ahead budget


The look-ahead budget parameter determines the latency budget which is available for the look-ahead parameter. Once you have configured a look-ahead budget, you can adjust the look-ahead parameter in real-time within this range without introducing artifacts.

2.5.11. Delay compensation


The delay compensation parameter determines whether or not the plug-in will report latency to the host. Delay compensation is used by hosts to keep audio synchronized across channels.

The delay compensation option is not available (nor applicable) to the standalone application.

2.6. Update


The update tab allows you to check for the latest product versions. Just click “Check for updates” to see the latest version numbers. If you’re not running the latest version, you can click “Download” to open the download page in your default browser.

2.7. About


The about tab contains basic information about the plug-in. This is also where you can activate or deactivate your product keys and check license status.

3. Standalone CLI


APU TrueGain’s standalone application exposes a small user-facing command-line interface for loading, saving, and resetting standalone preset files. This section documents the supported options only.

Supported options:

Processing order:

Examples:

Compatibility:

4. Glossary


This section defines some of the concepts used within the software.

4.1. Range sliders


Range sliders are used throughout the plug-in in order to specify the upper and lower boundaries of a range. These ranges can be controlled via mouse in various ways.

4.2. Histogram


One of the primary views into your audio that this software provides is a real-time histogram. Histograms in general provide a quick and intuitive way to understand the relative frequency of different measurements. This is very useful when judging the overall dynamic range of the audio. The histogram provided by this software is capable of changing history length, bucket size and size continuously.

4.3. Source


The term “source” is used throughout the plug-in to identify the plug-in’s input source signal. This signal is represented in the user interface by the current theme’s source color.

4.4. Target


The term “target” is used throughout the plug-in to identify the configured target range loudness. This signal is represented in the user interface by the current theme’s target color.

4.5. Output


The term “output” is used throughout the plug-in to identify the output type signal. This signal is represented in the user interface by the current theme’s output color.

5. Credits


This software was developed by APU Software, LLC and is available as VST (windows x64/x86, macOS universal), Audio Unit (macOS universal), Pro Tools AAX (windows x64, macOS universal), or Standalone Application (windows x64/x86, macOS universal). The software libraries below are utilized for portions of the software:

Demo video song credits:


5.1. MIT License (libebur128)


Copyright (c) 2011 Jan Kokemüller

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

5.2. MIT License (melatonin_blur)


Copyright (c) 2023 Sudara Williams

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

5.3. FFTPACK License (pffft)


Copyright (c) 2013 Julien Pommier ( pommier@modartt.com ) Based on original fortran 77 code from FFTPACKv4 from NETLIB, authored by Dr Paul Swarztrauber of NCAR, in 1985. As confirmed by the NCAR fftpack software curators, the following FFTPACKv5 license applies to FFTPACKv4 sources. My changes are released under the same terms. FFTPACK license: http://www.cisl.ucar.edu/css/software/fftpack5/ftpk.html Copyright (c) 2004 the University Corporation for Atmospheric Research (“UCAR”). All rights reserved. Developed by NCAR’s Computational and Information Systems Laboratory, UCAR, www.cisl.ucar.edu. Redistribution and use of the Software in source and binary forms, with or without modification, is permitted provided that the following conditions are met: