1. Introduction
APU Dynamics Optimizer is a loudness optimization tool released by APU Software, LLC. You can read about the different features and parameters in this documentation.
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. Optimization
The optimization tab leads you through the optimization process. First, you can open an audio file for analysis. You can either use the file open button to browse for a file, or you can drag and drop a file onto the window. From that point, you’ll be able to select a range of the audio to optimize.
The default range is set to match the percentiles used by the LRA (“loudness range”) algorithm. This is generally a good starting point for most audio. However, you can adjust the range to suit your needs. Loudness outside of this range will have make-up gain applied automatically, and you can adjust that behavior further using the low-level type parameter.
You can also simply select the entire range (100%, 100%) and then adjust the distribution skew parameter to roughly match the shapes. This gives you a good starting point for adjusting the overall loudness and dynamic range after optimization.
Once you have selected a range, you can press the right arrow button to perform the optimization. After optimization is complete, you can use the playback controls to listen to the results. From here you can make adjustments to attack/release and other parameters. Once you are happy with the results, press the downward arrow button to render to 32-bit float wav file.
All processing done by this optimizer is done in the same sample rate as the input file, using 32-bit float samples. This is done to maximize the quality of the output file and to avoid any clipping.
2.1.1. Presets
Dynamics Optimizer’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 Dynamics Optimizer’s output
- Bypass output type corresponds to Dynamics Optimizer’s source
- Delta output type corresponds to Dynamics Optimizer’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. 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.10. 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 optimizer using the configured attack/release and/or linear attack/release parameter settings.
The source range is adjusted using percentile + offset parameters. This allows you to set the source range to span a particular percentile of the input loudness distribution. The offset parameter allows you to adjust the source range up or down in loudness. Both of these parameters are controlled in units of percentiles.
The LRA preset can be used to match the range used by the LRA algorithm.
2.1.11. Source range presets
Source range presets are provided for convenience to quickly set the source range to span a particular percentile of the input loudness distribution.
Currently, the following source range presets are available:
- Full
- LRA
2.1.12. Target range
The target range parameter allows you to specify a range for the target signal. See distribution range type for more details.
2.1.13. 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:
- 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.14. Analyze all
The analyze all parameter allows you to specify whether analysis should include all loudness types or only the currently selected loudness type. This allows you to save time when processing long audio files by only analyzing the loudness type you’re interested in.
2.1.15. Playback controls
The playback controls allow you to hear the optimizer’s output prior to exporting. You can play, pause, stop, and seek the audio while listening to the results in real-time. The seek bar may be used to set the current playback position. Using these controls, you can quickly audition the optimizer’s output and make any necessary adjustments before exporting.
Press the ‘Export file(s) …’ button to save the optimizer’s output to a file. The result will be saved in 32-bit float wave format, which is the same format used internally by the optimizer.
If you have multiple files loaded, the optimizer will export all files with the same settings.
2.1.16. Distribution range type
The distribution range type parameter allows you to change how you configure the target distribution range.
- Min/Max allows you to specify the range as min/max values
- Loudness/Range allows you to specify the range as loudness/range values
2.1.17. Distribution skew
The distribution skew parameter allows you to adjust the shape of the target distribution. This parameter applies only to normal distribution type, and is implemented using standard skewed normal distribution formula. The skew parameter is a floating point value that can be positive or negative.
2.1.18. Distribution type
The distribution type combo-box allows you to change the distribution algorithm type.
- Uniform distribution is a flat distribution.
- Normal distribution is a bell curve distribution.
- Source distribution preserves the analyzed source histogram shape while mapping into your configured target range.
- Reference distribution matches the histogram shape of a second analyzed file.
Normal distribution can be skewed using the distribution skew parameter.
Source distribution is useful when you want to compress or expand while keeping the original histogram shape.
Reference distribution requires loading a reference file after source analysis and before optimization. After loading, target range is initialized from the reference file’s equivalent range and is re-synced when source percentiles change.
2.1.19. Ballistics type
The ballistics type combo-box allows you to change Dynamics Optimizer’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.20. 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.21. Low-Level type
The low-level type combo-box allows you to change Dynamics Optimizer’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.22. 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.23. 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 optimizer 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.24. 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.25. 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.26. 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.27. 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 optimizer 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 optimizer from attacking or releasing too rapidly during extreme fluctuations in source loudness.
2.1.28. 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 Dynamics Optimizer’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 optimizer in order to function.
2.1.29. 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.30. 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.31. Output gain
The output gain parameter allows you to apply additional gain to the output of the optimizer.
2.2. Loudness
The loudness tab contains parameters relating to loudness measurements and detector behavior.
2.2.1. 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.2. 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.3. 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.4. 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.
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.4. Visualization
The visualization tab contains parameters related to real-time configuration of Dynamics Optimizer’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.
- show thresholds : Specifies whether or not to show thresholds.
- 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 optimizer 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 optimizer 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 and target range.
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 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.22. 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.23. 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.24. 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.25. 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 analysis, changes to these parameters are deferred until you click the Apply button, and will require the current file to be closed.
2.6.1. BPM
The bpm option allows you to set the BPM used by tempo-relative parameters.
2.6.2. Dither
The dither parameter determines the strength of ballistics dithering. This parameter applies only to dithering ballistics type modes.
2.6.3. 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.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 Dynamics Optimizer’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 optimizer 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.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. Standalone CLI
APU Dynamics Optimizer’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\optimizer-startup.preset"<standalone-app> --resetParams --savePreset="C:\Temp\optimizer-reset.preset"<standalone-app> --loadPreset="/tmp/optimizer-session.preset"<standalone-app> --loadPreset="/tmp/optimizer-session.preset" --savePreset="/tmp/optimizer-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.
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.
- 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.
4.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.
4.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.
4.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.
4.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.
4.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.
5. Credits
This software was developed by APU Software, LLC and is available as 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)
- r8brain (Sample rate converter designed by Aleksey Vaneev of Voxengo)
Demo video song credits:
- Dan Phillipson - Feel The Drama, licensed via PremiumBeat
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. MIT License (r8brain)
Copyright (c) 2013-2023 Aleksey Vaneev
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.