DynamicsProcessing is an audio effect for equalizing and changing dynamic range properties of the
sound. It is composed of multiple stages including equalization, multi-band compression and
limiter.
The number of bands and active stages is configurable, and most parameters can be controlled
in realtime, such as gains, attack/release times, thresholds, etc.
The effect is instantiated and controlled by channels. Each channel has the same basic
architecture, but all of their parameters are independent from other channels.
Where the stages are:
inputGain: input gain factor in decibels (dB). 0 dB means no change in level.
PreEQ: Multi-band Equalizer.
MBC: Multi-band Compressor
PostEQ: Multi-band Equalizer
Limiter: Single band compressor/limiter.
An application creates a DynamicsProcessing object to instantiate and control this audio
effect in the audio framework. A DynamicsProcessor.Config and DynamicsProcessor.Config.Builder
are available to help configure the multiple stages and each band parameters if desired.
See each stage documentation for further details.
If no Config is specified during creation, a default configuration is chosen.
To attach the DynamicsProcessing to a particular AudioTrack or MediaPlayer, specify the audio
session ID of this AudioTrack or MediaPlayer when constructing the DynamicsProcessing.
Class for Limiter Stage
Limiter is a single band compressor at the end of the processing chain, commonly used to
protect the signal from overloading and distortion.
Class for Multi-Band compressor bands
MBC bands have multiple controllable parameters: enabled/disabled, cutoffFrequency,
attackTime, releaseTime, ratio, threshold, kneeWidth, noiseGateThreshold, expanderRatio,
preGain and postGain.
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
Class constructor for the DynamicsProcessing audio effect
Parameters
priority
int: the priority level requested by the application for controlling the
DynamicsProcessing engine. As the same engine can be shared by several applications,
this parameter indicates how much the requesting application needs control of effect
parameters. The normal priority is 0, above normal is a positive number, below normal a
negative number.
audioSession
int: system-wide unique audio session identifier. The DynamicsProcessing
will be attached to the MediaPlayer or AudioTrack in the same audio session.
cfg
DynamicsProcessing.Config: Config object used to setup the audio effect, including bands per stage, and
specific parameters for each stage/band. Use
DynamicsProcessing.Config.Builder to create a
Config object that suits your needs. A null cfg parameter will create and use a default
configuration for the effect
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2026-08-03 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-08-03 UTC."],[],[]]