1. Introduction
APU Loudness Compressor is a modern loudness compressor / expander plug-in released by APU Software, LLC. This plug-in is designed to improve several aspects of dynamic range control, both in terms of sound quality and user controls. Here you can read about the different features and parameters available with the plug-in, and get a general sense of how it differs from other compressors and why.
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. Compression
The compression tab contains configuration and visualization for loudness compression/expansion. This section details each of the individual parameters and components.
2.1.1. Presets
Loudness Compressor’s presets combo-box contains a collection of basic presets, one for each combination of loudness type and latency configuration. The low-latency presets introduce minimal delay, while the look-ahead presets introduce more delay in exchange for the ability to preemptively respond to the source signal.
See look-ahead for an understanding of how delay compensation works in the plug-in.
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. Load preset ranges protects source range and target range settings. When disabled, range values are skipped during both the pre-load reset and the preset load. Peak modes have their own units scale and use separate source and target ranges; those sliders are swapped into view automatically when switching between loudness modes. 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):
- Full Reset
- Mixing & Mastering - Tight (look-ahead)
- Mixing & Mastering - Tight HD (look-ahead)
- Mixing & Mastering - Focus (look-ahead)
- Mixing & Mastering - Focus HD (look-ahead)
- Mixing & Mastering - Present (look-ahead)
- Mixing & Mastering - Present HD (look-ahead)
- Mixing & Mastering - Deep (look-ahead)
- Mixing & Mastering - Deep HD (look-ahead)
- Mixing & Mastering - Traditional (look-ahead)
- Mixing & Mastering - Maximizer TP (look-ahead)
- Mixing & Mastering - Maximizer PK (look-ahead)
- Mixing & Mastering - Tight (low-latency)
- Mixing & Mastering - Tight HD (low-latency)
- Mixing & Mastering - Focus (low-latency)
- Mixing & Mastering - Focus HD (low-latency)
- Mixing & Mastering - Present (low-latency)
- Mixing & Mastering - Present HD (low-latency)
- Mixing & Mastering - Deep (low-latency)
- Mixing & Mastering - Deep HD (low-latency)
- Mixing & Mastering - Traditional (low-latency)
- Mixing & Mastering - Maximizer TP (low-latency)
- Mixing & Mastering - Maximizer PK (low-latency)
- Narration - ACX Chapter
- Mastering - Spotify Reference (Stereo)
- Mastering - SoundCloud Reference (Stereo)
- Mastering - Tidal Reference (Stereo)
- Mastering - YouTube Reference (Stereo)
- Mastering - Amazon Music Reference (Stereo)
- Mastering - Deezer Reference (Stereo)
- Mastering - Apple Music Reference (Stereo)
- Creator - Social Media Short Form (Stereo)
- Narration - Podcast Episode (Stereo)
- Narration - Podcast Episode (Mono)
- Broadcast - EBU R 128 Programme
- Broadcast - ATSC A/85 Short Form
2.1.2. 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.1.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.1.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.1.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.1.6. Output type
The output type options allows you to configure which type of samples to output.
- Default output type corresponds to Loudness Compressor’s output
- Bypass output type corresponds to Loudness Compressor’s source
- Delta output type corresponds to Loudness Compressor’s output minus source
Output gain and dry/wet are bypassed for Delta output type
2.1.7. Visualization
The visualization component displays a continuously evolving real-time view of your source, target, and output loudness over time. There are currently two main types of visualizations: history and histogram. History displays a rolling window of the most recent history of loudness samples. Histogram divides this history up into buckets and displays the relative proportion of each bucket in real-time.
You can hover the mouse over a bucket to see the loudness range the bucket corresponds to.
The visualization component also displays the source range and target range, allowing you to precisely target these ranges based on the dynamics of the audio. 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.8. Raster type
The raster type parameter allows you to specify the type of raster visualization. You can select between history and histogram views, with either loudness or delta values. Loudness values match the currently selected loudness type while delta values take the difference between source and target or output loudness.
Delta view is useful for determining how much loudness is being changed, and how much residual there is between target and output loudness.
You can also visualize target vs output residual via breath residual option.
2.1.9. Sidechain
The sidechain toggle allows you to enable/disable sidechain processing. When enabled, the source signal will come from the plug-in’s sidechain channel(s). This allows you to drive compression/expansion using an external source, which can be used for example to duck the sidechain signal.
In order to prevent overshoots, the built-in limiter does not use the sidechain signal.
Since this compressor is capable of both compression and expansion, the reverse of ducking is also possible (source amplifies in response to sidechain signal above threshold).
2.1.10. Dynamics type
The dynamics type combo-box allows you to change the dynamics algorithm type.
- Source:Target
- transforms from source loudness range to target loudness range
- Compression (downward)
- Compression (upward)
- Expansion (downward)
- Expansion (upward)
- Soft Limiting
- limits the loudness of audio above threshold.
2.1.11. Ballistics type
The ballistics type combo-box allows you to change Loudness Compressor’s ballistics behavior.
- Natural (dithered) applies light dithering to natural ballistics deltas.
- Natural (direct) applies normal smooth attack and release ballistics.
- Inertial (dithered) applies light dithering to inertial ballistics deltas.
- Inertial (direct) applies attack and release ballistics with inertia.
Inertial ballistics are more responsive to sudden changes in loudness, but may sound less natural.
2.1.12. 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:
- K-weighting
- ECMA-418
- ITU-R 468
- A-weighting
- C-weighting
Contours other than K-weighting no longer conform to the LUFS standard, but are provided for flavor and perceptual precision.
2.1.13. Low-Level type
The low-level type combo-box allows you to change Loudness Compressor’s behavior for loudness levels below the source range.
- Makeup applies the difference between target min and source min to all loudness levels.
- Hold freezes the currently established gain reduction below source min.
- Bypass leaves loudness levels below source min unchanged.
- Gate applies silence to loudness levels below source min.
The attack/release and linear attack/release ballistics apply to all low-level types
2.1.14. Gate mode
The gate mode setting allows you to choose between different gate behaviors separately for attack and release.
- sync always applies the normal attack/release ballistics
- ms applies a custom attack/release time in milliseconds while the gate is closed
- ms-soft transitions between sync and ms modes during hold time
The gate is only active when the low-level type is set to gate.
2.1.15. Vibe check
The vibe check toggle allows you to enable or disable the vibe check feature. When enabled, the pre-limiter gain target continuously cycles between attack and release phases across a fixed positive/negative correction range.
During this sweep, the current attack/release settings determine how quickly the gain moves. This acts like a magnifying glass for tuning ballistics because small timing changes become much easier to hear, while the built-in limiter still clamps afterward when enabled.
2.1.16. Source range
The source range parameter allows you to specify a min and max loudness value for the source signal. Loudness values within the source range are mapped onto the target range to determine the amount of gain reduction or amplification. The resulting target is then followed by the compressor using the configured attack/release and/or linear attack/release parameter settings.
See range sliders for information about range sliders in general.
2.1.17. Learn source range
The learn source range parameter allows you to enable or disable learning for source range.
While active, source range will be adjusted to follow the input loudness distribution rather than raw peaks. The learn algorithm uses LRA-style percentiles (10th/95th) from the input histogram and smooths updates using the current attack/release ballistics. This is useful for quickly setting the source range to a representative window of the input, then disabling learning to prevent the source range from changing.
Learn accounts for source distribution asymmetries, making it great for hitting a target range accurately.
2.1.18. Source range presets
Source range presets are provided for convenience to quickly reset the range or select the full range.
Currently, the following source range presets are available:
- APU Default (-20/10)
- Full Range (>= -70)
2.1.19. Target range
The target range parameter allows you to specify a min and max loudness value for the target signal. Loudness values within the source range are mapped onto the target range to determine the amount of gain reduction or amplification. The resulting target is then followed by the compressor using the configured attack/release and/or linear attack/release parameter settings.
See range sliders for information about range sliders in general.
2.1.20. Learn target range
The learn target range parameter allows you to enable or disable learning for target range.
While active, target range will be adjusted to follow the input loudness distribution rather than raw peaks. The learn algorithm uses LRA-style percentiles (10th/95th) from the input histogram and smooths updates using the current attack/release ballistics. This is useful for quickly setting the target range to a representative window of the input, then disabling learning to prevent the target range from changing.
2.1.21. Target range presets
Target range presets are provided for convenience as an example set of industry related loudness ranges. The average loudness and limiter peak are provided in the preset names in parenthesis. These values were transcribed from the RTW delivery standards page.
Currently, the following target range presets are available:
- APU Default (-20/10)
- Spotify Loud (-11, -2)
- Spotify/SoundCloud/Tidal/YouTube (-14, -1)
- Amazon Music (-14, -2)
- Deezer (-15, -1)
- Apple/Social/Podcast (-16, -1)
- Podcast (Mono) (-19, -1)
- ACX Chapter (-20.5, -3)
- EBU R128, Broadcast (-23, -1)
- ATSC A/85, US TV (-24, -2)
- Netflix (-27, -2)
2.1.22. Threshold
The threshold parameter allows you to specify the loudness level where the compressor becomes fully activated. The precise meaning of threshold is dependent on the current dynamics type.
This parameter is unused for source:target dynamics type.
2.1.23. Ratio
The ratio parameter allows you to specify the compression/expansion ratio. The ratio is applied to signals above or below threshold (depending on upward/downward compression/expansion).
This parameter is unused for source:target dynamics type.
2.1.24. Max range
The max range parameter allows you to specify the max gain reduction or gain amplification for the associated dynamics type. Note this parameter has a positive and a negative version, which is automatically displayed based on the current dynamics type.
This parameter is unused for source:target and soft limiting dynamics type.
2.1.25. Attack/Release
The attack and release parameters allow you to specify the amount of time it takes for a given amount of gain reduction to be applied to the source signal. Attack refers to the “attack” of applying gain reduction, while release refers to the “release” of this gain reduction. More generally, release refers to gain amplification since it isn’t always necessary for the compressor to “attack” prior to “release” and the two are not always correlated.
Attack and release are traditional ballistic parameters, similar to what you will find on most compressors. See the Linear attack/release parameters for more direct attack/release behavior. In addition to specifying the attack and release in milliseconds, you can specify them in sample, BPM-relative units, or ratio of look-ahead duration.
2.1.26. Attack/Release hold
The attack and release hold parameters allow you to specify the amount of delay before attack/release phase begins.
Release hold maintains gain reduction (“attack”) for the specified release hold time. Attack hold maintains gain amplification (“release”) for the specified attack hold time.
2.1.27. Gate attack/release
The gate attack and release parameters allow you to specify the time it takes for the gate to open or close. The gate is closed when the source signal is below the source range min.
Note that gate attack is the time it takes for the gate to open, while gate release is the time it takes for the gate to close.
The gate is only active when the low-level type is set to gate.
2.1.28. Gate attack/release hold
The gate attack and release hold parameters determine the transition time between gate attack/release and normal attack/release.
Note that gate attack is the time it takes for the gate to open, while gate release is the time it takes for the gate to close.
The gate is only active when the low-level type is set to gate.
2.1.29. Linear Attack/Release
The linear attack and release parameters allow you to directly specify the rate of change in gain reduction applied to the source signal. Attack refers to the “attack” of applying gain reduction, while release refers to the “release” of this gain reduction. More generally, release refers to gain amplification since it isn’t always necessary for the compressor to “attack” prior to “release” and the two are not always correlated.
Linear attack and release parameters are different from traditional ballistic parameters. The actual rate of change in gain reduction with the traditional controls is dependent on both the attack or release time and the residual between target gain reduction and current gain reduction. This means the alterations made to the source signal are a complicated combination of the audio’s dynamics. For linear attack and release, the actual rate of change is constant.
This setting can be configured to apply directly, completely overriding the attack/release ballistics, or as a limit to their rate. The former can be a way to get extremely fast response, while the latter can serve as a barrier to prevent the compressor from attacking or releasing too rapidly during extreme fluctuations in source loudness.
2.1.30. 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 Loudness Compressor’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 compressor in order to function.
2.1.31. Look-ahead mode
The look-ahead mode parameter allows you to specify the look-ahead algorithm.
- OFF completely disables look-ahead
- Offset reacts to the value at the look-ahead horizon
- Average reacts to the average of the entire look-ahead window
- Peak reacts to the maximum value in the look-ahead window (attack only)
- Floor reacts to the minimum value in the look-ahead window (release only)
- Percentile reacts to a percentile range of values in the look-ahead window
- Trimmed mean reacts to the trimmed mean of values in the look-ahead window
- Weighted average reacts to a weighted average of values in the look-ahead window
- Trend reacts to a linear trend prediction across the look-ahead window
The look-ahead window duration can be configured using the look-ahead parameter.
2.1.32. Knee width
The knee width parameter allows you to specify the width of the transition regions at source range and target range min and max boundaries. Inside these regions, Loudness Compressor’s gain reduction is smoothly transitioned from on to off and vice versa. Adjusting the knee width effectively makes this transition more or less sudden.
The lower knee transition begins at source min and ends at source min minus knee width. The upper transition begins at source max and ends at source max plus knee width.
Note that the target range knee width is implicitly scaled in proportion to the amount of compression/expansion.
2.1.33. Dry/Wet
The dry/wet parameter allows you to configure the percentage of compression to mix into the dry signal.
This feature can be used to apply parallel compression.
2.1.34. Output gain
The output gain parameter allows you to apply additional gain to the output of the compressor.
2.2. Loudness
The loudness tab contains parameters relating to loudness measurements and detector behavior.
2.2.1. Detector EQ
Detector EQ shapes the signal used for loudness detection without changing the audible output directly. Use it to emphasize or de-emphasize frequency regions that should carry more or less weight when Loudness Compressor decides how much gain correction to apply.
Detector EQ only affects the detector path. The audible output is unchanged unless detector EQ monitor is enabled for auditioning.
2.2.1.1. Show detector EQ
The show detector EQ parameter allows you to keep the detector EQ response panel visible in the visualization.
If this option is disabled, the detector EQ panel will still appear temporarily while adjusting detector EQ controls.
2.2.1.2. Detector EQ monitor
The monitor mode lets you audition the detector path through the main output. The following options are available:
- Monitor Off: Disable detector auditioning.
- Detector (Post Mix): Audition the detector signal after trim + EQ + mix.
- Pre-EQ: Audition the detector signal before the EQ.
- Post-EQ: Audition the detector signal after the EQ (pre-mix).
- Delta (Wet - Dry): Audition the difference between the EQ’d and dry detector signals.
Monitor does not change detection; it only routes the selected signal to the output for auditioning.
2.2.1.3. Detector EQ trim/mix
The trim and mix parameters control the overall detector EQ gain and blend.
- Trim applies an overall gain offset (dB) to the detector signal.
- Mix crossfades between the dry detector signal (0%) and the EQ’d detector signal (100%).
2.2.1.4. Detector EQ low-pass
The low-pass section filters high frequencies out of the detector signal.
- Enable toggles the low-pass band on/off.
- Frequency sets the cutoff frequency (Hz).
- Slope selects the rolloff: 6, 12, 18, 24, 36, or 48 dB/oct.
2.2.1.5. Detector EQ mid band
The mid band shapes the detector’s sensitivity around a center frequency.
- Enable toggles the mid band on/off.
- Frequency sets the center frequency (Hz).
- Gain boosts/cuts the detector response (dB).
- Q controls bandwidth (higher values = narrower band).
- Shape selects the filter type: Bell, Low shelf, High shelf, or Band-pass.
2.2.1.6. Detector EQ high-pass
The high-pass section filters low frequencies out of the detector signal.
- Enable toggles the high-pass band on/off.
- Frequency sets the cutoff frequency (Hz).
- Slope selects the rolloff: 6, 12, 18, 24, 36, or 48 dB/oct.
2.2.2. 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.3. 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.4. 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.5. 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.3. Limiter
The limiter tab contains parameters relating to the built-in limiter. The limiter scans the limiter lookahead region of blocks for peak or true peak loudness values over the limiter ceiling. When these peaks are encountered, the current gain reduction trajectory is adjusted to accomodate the peak.
The tab also contains learned gain compensation for correcting final Average or Integrated output loudness from a representative pass.
2.3.1. Limiter mode
The limiter mode parameter lets you decide which peaks, if any, will be used for detection. The following options are available:
- None: No limiting
- Peak: Digital peaks are detected
- True Peak: Intra-sample peaks are detected according to the LUFS True Peak specification.
2.3.2. Limiter threshold
The limiter threshold parameter determines the loudness at which the limiter starts to apply gain reduction. Loudness values above threshold are raised to the limiter ceiling.
2.3.3. Limiter ceiling
The limiter ceiling parameter determines the maximum peak loudness value that the limiter will allow. When the limiter detects a peak above this value, it will pre-emptively begin to apply gain reduction. Note that make-up gain is not automatically applied.
2.3.4. Limiter threshold link
The limiter threshold link parameter allows you to link the limiter threshold and limiter ceiling parameters. When linked, the ceiling will automatically adjust to match the threshold.
2.3.5. Limiter lookahead
The limiter look-ahead parameter determines the amount of time to look into the future when detecting peaks. Shorter lookahead times will result in more aggressive gain reduction, with the results becoming more gritty and distorted. Longer lookahead times will result in more transparent gain reduction, but will push the average level of the audio further down.
2.3.6. Compensation target
The compensation target slider sets the loudness target used by compensation learning.
When Learn is active, Loudness Compressor compares the selected compensation mode output measurement against this target and updates the live compensation gain. The target is independent from the individual limiter threshold and ceiling controls.
2.3.7. Compensation mode
The compensation mode combo-box chooses how Loudness Compressor measures the output signal while compensation learning is active.
- Average learns a single correction from the mean output loudness over the current render.
- Integrated learns a single correction from integrated output loudness over the current render.
Both modes are intended for learn-then-lock workflows: start learning on a representative pass, then lock the learned correction for normal playback or export.
Compensation adds a stored global offset on top of the normal compressor result. It is applied before the built-in limiter, so the limiter can still protect the configured output ceiling.
2.3.8. Compensation gain
The compensation gain slider stores an additional global gain offset in dB for Loudness Compressor.
The offset is added to the normal compressor result before the built-in limiter applies its threshold and ceiling. This lets you correct final Average or Integrated loudness while still allowing Peak or True Peak limiting to protect the output ceiling.
When compensation learning is off, you can edit this value directly for manual trim. When learning is on, the slider shows the live learned value, but the stored parameter is only updated once you lock learning.
Use the compensation action button to learn, lock, or reset this value without leaving the Limiter tab.
2.3.9. Compensation action
The compensation action button changes behavior based on the current compensation state.
- Learn starts measuring the selected compensation mode and updates a live learned correction.
- Lock stops learning and commits the current learned correction into compensation gain.
- Reset clears the stored compensation gain back to 0.00 dB.
While learning is active, the stored compensation value is not churned continuously. The live learned value is committed only when you press Lock.
2.4. Visualization
The visualization tab contains parameters related to real-time configuration of Loudness Compressor’s visualizations. This section describes these various settings.
2.4.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.4.2. Visual range presets
Visual range presets are provided for convenience as an example set of industry related loudness ranges.
Currently, the following visual range presets are available:
- Auto Range (Global)
- Auto Range (Per Panel)
- Standard Reference (>= -60)
- Full Range (>= -70)
- Custom Range …
2.4.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”
Note that there are separate loudness ranges for windowed loudness types and peak loudness types.
See range sliders for information about range sliders in general.
2.4.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:
- Save/clear snapshot (saves or clears the current histogram)
- Source = Cmd + 1
- Target = Cmd + 2
- Output = Cmd + 3
- Fill snapshot (fills the area under the snapshot)
- Source = Cmd + Alt + 1
- Target = Cmd + Alt + 2
- Output = Cmd + Alt + 3
- Show/hide snapshot (shows or hides the snapshot in the visualization)
- Source = Cmd + Shift + 1
- Target = Cmd + Shift + 2
- Output = Cmd + Shift + 3
On Windows, use Ctrl instead of Cmd.
2.4.5. Layout options
The options menu allows you to configure the layout of the visualization. The following options are available:
- layout source mode : Specifies the layout mode for the source signal.
- layout target mode : Specifies the layout mode for the target signal.
- layout output mode : Specifies the layout mode for the output signal.
- raster type : Specifies the type of raster visualization.
- show thresholds : Specifies whether or not to show thresholds.
- show xfer func : Specifies whether or not to show transfer function.
- show peak meter : Specifies whether or not to show peak meter.
- show history peak : Specifies whether or not to show history peak hold.
- show axis labels : Specifies whether or not to show loudness axis labels.
- show axis lines : Specifies whether or not to show loudness axis lines.
- show param context : Specifies whether or not to show parameter context while certain parameters are changing.
Each layout mode has an AUTO option which automatically selects the best layout mode based on the current context.
2.4.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:
- None (No source panel is displayed)
- Auto (Automatically selects the best layout mode based on the current context)
- Source only (Draws just the source signal)
- Source over Target (Draws the target signal first, then the source signal on top)
- Source over Output (Draws the output signal first, then the source signal on top)
2.4.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:
- None (No target panel is displayed)
- Auto (Automatically selects the best layout mode based on the current context)
- Target only (Draws just the target signal)
- Target over Source (Draws the source signal first, then the target signal on top)
- Target over Output (Draws the output signal first, then the target signal on top)
2.4.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:
- None (No output panel is displayed)
- Auto (Automatically selects the best layout mode based on the current context)
- Output only (Draws just the output signal)
- Output over Source (Draws the source signal first, then the output signal on top)
- Output over Target (Draws the target signal first, then the output signal on top)
2.4.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.4.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.4.11. Breath residual
The breath residual parameter can be used to help visualize compressor behavior. For each frame of the visualization, the current residual between target and output loudness is calculated and used to multiply the magnitude of the visualization delta field.
This feature helps you find sections of audio where the compressor is having a difficult time keeping up with the amount of target gain. This can help guide the configuration of the attack/release and linear attack/release parameters. The direction of the multiplication factor is also set to reflect whether the residual occurred in the attack or release direction, so it’s possible to get a sense of the overall balance between these residuals.
2.4.12. 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.4.13. Bucket size
The bucket size parameter determines the size in pixels of visualization buckets (rectangles).
2.4.14. 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.4.15. 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.4.16. 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.4.17. Shader params
The shader parameters control various aspects of visualization rendering. The following options are available:
- Shader param 1: Delta field fade rate. Lower values leave longer trails.
- Shader param 2: Curve fill transparency. Lower values make the curve more transparent, leaving only the edge(s) visible.
- Shader param 3: Curve edge thickness. Lower values make the edge thinner.
2.4.18. Show thresholds
The show thresholds parameter allows you to enable or disable threshold drawing in the visualization.
If this option is disabled, thresholds will still be drawn while changing the associated parameters.
Thresholds include source range, target range, threshold, and knee width.
2.4.19. Panel params
The panel parameters control various aspects of panel rendering. The following options are available:
- Panel param 1: Panel alpha (transparency), 0.0 to remove panel completely
- Panel param 2: Panel hue (rotates through normal, source, target, output).
- Panel param 3: Panel hue intensity
2.4.20. History length
The history length parameter allows you to change the duration of visualization history. This history is a rolling-window where each new loudness sample pushes out the oldest sample, maintaining a continuous history length with the duration you’ve configured here. Note that this setting applies both to history and histogram raster types.
During histogram hold the histogram has an effectively infinite history length.
2.4.21. Show xfer func
The show transfer function parameter allows you to enable or disable transfer function drawing in the visualization.
If this option is enabled, the transfer function will be drawn next to the configured raster type.
The transfer function is rendered using the current Loudness range.
2.4.22. Show peak meter
The show peak meter parameter allows you to enable or disable peak meter and gain reduction drawing next to the visualizer.
Positive gain delta is drawn from bottom-up, negative gain delta is drawn from top-down.
The gain delta strip uses yellow for non-limiter gain delta. Orange marks gain reduction attributed to the built-in limiter.
2.4.23. Show history peak
The show history peak parameter allows you to enable or disable peak hold drawing for history raster visualizations.
This option is only shown while the active raster type includes history.
2.4.24. 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.4.25. 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.4.26. Show param context
The show param context parameter allows you to enable or disable param context text bubbles during parameter changes.
2.5. 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.5.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:
- APU Default
- APU Red
- APU Vermilion
- APU Orange
- APU Amber
- APU Yellow
- APU Lime
- APU Chartreuse
- APU Harlequin
- APU Green
- APU Erin
- APU Spring
- APU Aquamarine
- APU Cyan
- APU Turquoise
- APU Azure
- APU Cerulean
- APU Blue
- APU Indigo
- APU Violet
- APU Purple
- APU Magenta
- APU Raspberry
- APU Rose
- APU Crimson
2.5.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.5.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.5.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.5.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.5.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.6. 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.6.1. BPM
The bpm option allows you to set the BPM used by tempo-relative parameters.
2.6.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.6.3. Dither
The dither parameter determines the strength of ballistics dithering. This parameter applies only to dithering ballistics type modes.
2.6.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.6.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.6.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.6.7. Dark mode
The dark mode toggle enables/disables dark mode. When enabled, theme colors have their brightness inverted.
2.6.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.6.9. Blocksize
The block size parameter determines the time resolution of Loudness Compressor’s source loudness measurements. 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 out of the compressor by tuning this setting based on your available CPU resources.
Fast attack and/or release times may benefit from similarly low block size.
BPM units for block size are evaluated once at the time you press Apply.
2.6.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.6.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.7. 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.8. 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. Tips & Tricks
This section provides some general tips and strategies for using this compressor in a variety of contexts.
3.1. Compression/expansion
Compression is applied when the target range is smaller than the source range and the source signal is within the source range. If the target range is larger than the source range, expansion is applied instead.
Signals outside of the source range have neither compressor nor expansion applied, but are amplified according to the difference between source and target min values. Manipulating the source range and/or target range allows you to compress, expand, and/or apply make-up gain.
One effective process for compressing or expanding with make-up gain is to:
- Configure your source range using the histogram and/or history visualizations for guidance
- Target the particular range of loudness you want to compress or expand
- Configure your target range using target range presets and/or manual configuration.
- Target the loudness range you want the source range to be mapped onto
3.2. Automatic gain control
This compressor is well suited for automatic gain control since it has support for multiple LUFS loudness types. For example, this configuration will provide very soft automatic gain control:
- Select one of the “Deep” presets which utilizes short-term LUFS loudness type
- Configure your source range so the minimum is above the noise floor and max is above the max source signal
- Configure the target range to be relatively narrow, centered at your target average loudness
- Lower the attack/release and/or linear attack/release settings as needed for transparency or responsiveness
- Fine tune look-ahead time if using a look-ahead preset
3.3. Gain riding
The compressor’s source range and target range can be dragged while maintaining range by clicking and dragging the slider area between the two range thumbs. The actual gain applied is always filtered through your attack/release settings.
4. Standalone CLI
APU Loudness Compressor’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:
--helpprints the supported standalone CLI options and exits.--resetParamsresets parameters after the standalone app loads its remembered state.--loadPreset="<path>"loads a preset file before the window is shown.--savePreset="<path>"writes the resulting preset file and exits without opening the user interface.
Processing order:
- The standalone app first loads its normal remembered standalone state.
- If
--resetParamsis present, a full parameter reset is applied. - If
--loadPresetis present, that preset file is loaded next. - If
--savePresetis present, the resulting state is written to disk and the app exits immediately.
Examples:
<standalone-app> --help<standalone-app> --savePreset="C:\Temp\compressor-startup.preset"<standalone-app> --resetParams --savePreset="C:\Temp\compressor-reset.preset"<standalone-app> --loadPreset="/tmp/compressor-session.preset"<standalone-app> --loadPreset="/tmp/compressor-session.preset" --savePreset="/tmp/compressor-copy.preset"
Compatibility:
--loadPresetand--savePresetuse the same file format as the standalone app’s standard JUCE options-button commands,Save current state...andLoad a saved state....- These file-based presets store the full standalone processor state. They are different from the in-app presets combo-box, which loads the product’s built-in preset entries and user preset-list selections.
5. Glossary
This section defines some of the concepts used within the software.
5.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.
- Click and drag the lower thumb to adjust the minimum value.
- Click and drag the upper thumb to adjust the maximum value.
- Click and drag the region between slider thumbs to move both values. This allows you to adjust the average loudness without expanding/contracting the dynamic range.
- Ctrl + click and drag the region between slider thumbs to expand/contract range without changing the average (center) value. Drag the mouse up and down, left and right are ignored.
- Shift + click and drag the region between slider thumbs to combine both. Drag the mouse up and down to expand/contract range. Drag the mouse left and right to move both values.
5.2. History
One of the primary views into your audio that this software provides is real-time history. The history view maintains a recent history of loudness measurements, continuously displaying them in FIFO order. This view helps you understand how the signal is changing over time, in real-time. History length and bucket size can be configured dynamically without forcing the history to reset.
5.3. 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.
5.4. 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.
5.5. Target
The term “target” is used throughout the plug-in to identify the “ideal” target output loudness. The actual loudness achieved depends on attack/release and linear attack/release parameter settings.
5.6. Output
The term “output” is used throughout the plug-in to identify the actual output loudness. This can differ from target loudness due to non-instaneous attack/release and/or linear attack/release parameter settings.
6. 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:
- JUCE (cross-platform audio and user interface framework)
- Boost (header-only algorithms)
- libebur128 (loudness measurements)
- melatonin_blur (blur effects)
Demo video song credits:
- Annasara - A Lifetime Rolls By, licensed via Audiio
6.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.
6.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.