BruceJames · Version 1.3.1

# MDA

MultiDimensionalArray is a cross-track compressor. One MDA Sum makes the decision; each MDA Send applies that decision to its own track.

01 · Quick start

## One brain. Many tracks.

MDA Sum: one shared control surface for every Send on the selected bus.
Step 1 Insert MDA Send on every source track that should participate.
Step 2 Insert one MDA Sum on a blank track. The Sum intentionally produces no audio of its own.
Step 3 Set every participating Send and its Sum to the same Bus number, then shape compression from the Sum.

Important: do not route source audio through MDA Sum as if it were a conventional bus insert. Its job is to observe the matching Sends and publish control data back to them.

02 · Signal flow

## Compression without summing the tracks

Each Send publishes a level/detector view of its track. The Sum evaluates all Sends on the selected Bus and returns the shared settings plus its collective detector decision. Cohesion moves from Independent on the left to Joined on the right, while track separation and downstream routing remain intact.

### Latency and alignment

The plug-ins report a stable bridge round-trip latency to the host. Keep delay compensation enabled. Bypass remains latency-aligned, so switching it does not move the track in time.

### Bus matching

Bus values run from 0–15. A Sum only controls Sends with the same Bus value. Use separate numbers for independent MDA groups in one session.

### Session limit

Up to 15 MDA Sum and Send instances total can be connected in one session (across every Bus combined); one slot is reserved for session-wide settings like Lag.

03 · MDA Sum

## The shared compressor controls

Threshold
  The level where compression begins.
Ratio
  The amount of gain reduction above the threshold.
Knee
  Softens the transition into compression.
Attack
  How quickly gain reduction responds to a new peak.
Release
  How quickly gain reduction recovers.
Lag
  Delays when every Send applies its already-computed gain reduction, by up to 200 ms, letting the start of a transient through before compression clamps down. Detection itself is unchanged. Session-wide rather than per-Bus: with more than one MDA Sum in the same session, only the first one loaded controls Lag; the others' own Lag knobs have no effect until that one closes.
Auto Release
  Uses program-dependent recovery around the Release setting.
Release Sync
  Locks release to the host tempo from 1/32 through 1/4, including triplets.
Detector
  Chooses Peak or RMS level detection for the group.
Makeup
  Applies post-compression output gain at every Send.
Mix
  Blends the latency-aligned processed and dry paths.
Cohesion
  Blends between as many independent compressors as you have Sends (0%, each track reacts only to itself) and one shared compressor listening to the summed mix (100%, every track ducks together). This changes which signal decides the reduction, not how much reduction happens overall. Both ends apply real gain reduction, so don't expect a loudness meter to move much between them. What changes is timing and character: independent per-track ducking at 0%, unified "glue" pumping at 100%.
LR Link
  At 0%, the left and right channels use independent gain-reduction envelopes. At 100%, the louder channel drives both sides.
HPF / LPF
  Filter what the Sum's own collective detector listens to, without filtering the audible signal. Independent of each Send's own Detector HPF/LPF; the two never combine.
Collapse
  Not related to Cohesion. Adds up to 4 dB of fast extra reduction only on hard transient hits, then blooms back. A separate, small dip layered on top of the main gain reduction, not a control over how much of the shown reduction gets applied.
Null Test
  Outputs processed minus dry at every Send, making the change easy to audition.

04 · Distribution

## Choose how the group reacts

### Standard

Every Send applies the Sum settings to its own signal. This is the clean, predictable starting point.

### Adaptive

The effective ratio steepens as an individual track pushes farther above threshold.

### Density

The ratio grows as more Sends cross threshold, letting a crowded moment tighten more than a sparse one.

### Peer

A track is compressed more as it rises above the participating group’s mean, helping outliers sit back into the arrangement.

05 · MDA Send

## Per-track preparation

MDA Send: the per-track insert that publishes to, and applies the decision from, its matching Sum.

Most of what a Send shows is local to that track: its own Input Trim, LR Link, Cohesion band, Detector Sidechain filtering, and a Gain Reduction (Local) meter with Attack/Release LEDs for the compression this track is actually receiving right now. Threshold, Ratio, Knee, Attack, Release, and the Distribution law itself are dialled once on the Sum and applied here; a Send has no controls of its own for them.

Input Trim
  Changes the level entering both the local compressor and the shared detector.
Detector HPF
  Removes low frequencies from this track’s local detector only; the audio is not filtered.
Detector LPF
  Removes high frequencies from this track’s local detector only; the audio is not filtered.
LR Link
  This Send's own local dual-mono/linked blend, independent of the Sum's LR Link. At 0%, this track's local compressor runs independent left/right envelopes. At 100%, its louder channel drives both sides. Only audible while Cohesion leans toward Independent.
Sum Drive
  The default, simplified Cohesion control. It adjusts how strongly this track participates in the group over a focused 50-100% range, while its local Dry/Wet stays fully wet.
Advanced
  Reveals separate Dry/Wet and To Sum knobs with their complete 0-100% ranges. Turning Advanced off keeps those underlying values ready for later, while the sound returns to 100% wet and at least 50% Sum Drive.
Dry/Wet (Advanced)
  Fades THIS track's own individual detector's reduction toward dry, separate from the Sum's Cohesion knob and from Mix. At 0%, with Cohesion also at 0% (Independent), this track is perfectly dry; at 100% (default) it contributes its full local reduction, same as before this control existed. It only matters while Cohesion leans toward Independent; as Cohesion moves toward Joined, this knob has progressively less effect.
To Sum (Advanced)
  The mirror image of Dry/Wet: how much this track is part of the group, both ways: how loudly it speaks into the Sum's shared detector, and how much of the Sum's joined decision is applied back to it. At 0%, with Cohesion at 100% (Joined), this track is genuinely excluded from the bus glue: it neither shapes nor is shaped by the group. At 100% (default) it's a full member, same as before this control existed. It only matters while Cohesion leans toward Joined. Together with Dry/Wet, these two knobs let every track sit anywhere on the Independent/Joined spectrum on its own, regardless of the Sum's one global Cohesion setting.
Gain Reduction (Local)
  What this track’s own compressor is applying right now. The Attack/Release LEDs either side show whichever phase is currently engaged.
Bus
  Selects the MDA Sum that controls this Send.
Bypass
  Crossfades to an untrimmed, latency-aligned dry path while detector state stays warm.

Status readout: below the meter, the Send names the active Distribution law (or NULL during a Null Test) and the bridge’s round-trip latency in milliseconds, confirming it is reporting a stable value to the host for PDC.

06 · Install and authorize

## Formats and license locations

Platform | Formats | License file
--- | --- | ---
Windows x64 | VST3, CLAP, AAX | `%APPDATA%\MDA\license.json`
macOS universal | VST3, CLAP, AU, AAX | `~/Library/Application Support/MDA/license.json`
Linux x86_64 | VST3, CLAP | `~/.config/MDA/license.json`

Install both plug-ins, restart the DAW, and rescan. Open either plug-in and choose Authorize to enter the MDA license key. One MDA product license covers the matched Sum/Send pair.

07 · Troubleshooting

## Fast checks

### No compression

Confirm that MDA Sum exists, the Bus numbers match, the Sends are not bypassed, and the threshold is below the source levels.

### No sound from Sum

This is expected. Put Sum on a blank track; listen to the tracks carrying MDA Send.

### Plug-in missing

Restart and rescan the DAW. Check the standard format locations listed in `readme.txt`.

### Timing sounds wrong

Enable the host’s plug-in delay compensation and avoid mixing MDA formats or versions within the same session.

### "Wrong Track" warning on MDA Sum

MDA Sum intentionally produces no audio of its own. If it detects sustained signal on its own track input, it warns that it should be moved. Put it alone on an isolated, blank track with nothing routed into it.

### Does every Send need its own Bus number?

No. Bus is a group id, not a per-track id. Every Send that should react to a given Sum must share that Sum's Bus number, not each get a different one. A Send's Bus stepper only cycles through numbers that have a live Sum, so with one Sum in the session there's nowhere else for it to go.

### "Bus Mismatch" warning on MDA Send

This Send's Bus has no live Sum, but a Sum is live on a different Bus, usually because the Sum's Bus was changed after this Send was set up, or this Send was inserted before any Sum existed. Choose Fix Now to snap the Send onto the live Sum's Bus, or Ignore to dismiss it until the mismatch changes again.

### Why doesn't a loudness meter move when I change Cohesion?

That's expected. Cohesion changes which signal drives the gain reduction, not how much reduction happens, so both ends of the knob apply real compression. It mainly reshapes peaks and dynamic range rather than overall loudness, especially with Makeup gain compensating. To confirm gain reduction is actually reaching the audio, use Null Test on the Sum: it outputs processed minus dry, so any active reduction shows up as a clear, nonzero signal.