Bus Balance

One instance on each group bus. Each instance measures its bus in short-term LUFS and shares it with the others, so a bus can hold a set distance from another group as it is actually heard, and every window shows the whole ladder. The ride is slow and narrow on purpose; most of the work is done by looking at the ladder, pressing Bake and moving on.

Bus Balance window

Where it goes

Last insert on each group bus: Kick, Drums, Bass, Vocals, Backing Vocals, Music. Set each instance's role. One group is the anchor with an absolute target, the others are relative to a group. In most styles the kick is the anchor: vocals one or two LU above it, bass two or three below.

Controls

ControlWhat it does
This bus isThe role of the bus this instance sits on. The ladder lists instances by role.
Relative toAbsolute: ride to Target. A role: ride to that group's level as heard (after its own correction) plus Offset. Two buses with the same role count as playing together. If the role has no instance in the session, or its chain of references comes back to this bus, the ride holds and the status line says so.
Target-40 to -6 LUFS, the absolute target for the anchor.
Offset-12 to +12 LU from the referenced group.
Range0 to 6 dB. The ride never travels further than this. Default 3.
Speed0.5 to 6 dB per second. Default 1.5. Faster than about 3 flattens verse against chorus.
GateBelow this the bus is absent and the ride holds. It also holds while the bus is dropping out, so a breakdown does not pull the gain up over the three seconds the short-term window takes to fall.
Trim±12 dB static gain. Bake writes it; you can also set it by hand.
FREEZEStops the ride where it is.
BAKEAdds the last five seconds' average ride to Trim, restarts the ride at zero and freezes. The level as heard does not change; the correction is now static and stays.
BYPASSRide and trim fade to 0 dB. The big number shows the correction that is applied.
Style ladder, APPLY TO ALLFills Relative to, Offset and Target for this bus's role from one of seven ladders (Pop, Hip-hop, Rock, Electronic, Acoustic, Country, Ambient). APPLY TO ALL does the same in every instance in the session. The numbers are starting points.

The ladders

RolePopHip-hopRockElectronicAcousticCountryAmbient
Kick-20 LUFS-18 LUFS-20 LUFS-17 LUFSVocals -2-20 LUFSMusic -3
DrumsKick -1Kick -3Kick 0Kick -2Kick -2Kick -0.5Kick -4
BassKick -2.5Kick -1Kick -2Kick -2Kick -3Kick -2.5Kick -1
VocalsKick +2Kick +1Kick +1Kick 0-18 LUFSKick +3Music 0
Backing VocalsVocals -6Vocals -7Vocals -6Vocals -8Vocals -5Vocals -5Vocals -3
MusicKick -3Kick -6Kick -1Kick -4Vocals -2Kick -1-22 LUFS

Short-term loudness of each bus on its own, measured after that bus's correction. The absolute level of the anchor only sets where the mix ends up before the master; the distances are the point. Country puts the lead a step further forward than Pop, the harmony stacks closer to it and the acoustic bed nearly level with the kick. Ambient anchors on the music bed instead, with a quiet kick and no real drum presence.

Working with it

  1. Insert an instance on each group bus and set its role.
  2. Pick a style in one window and press APPLY TO ALL, or set anchor and offsets by hand.
  3. Play the chorus. Watch the ladder: the bar is the level as heard, the tick is the target, the right-hand columns show level, target, correction and state.
  4. When the bars sit on their ticks, press BAKE in each window. The correction is now a static trim and nothing moves any more.
  5. Play the verse. If a group is off by more than you want, let it ride there too, or bake again; the second bake adds to the trim.

Under the hood

Each instance runs the same EBU R128 meter as the loudness panel on its input, and a second one on its output. The short-term value (3 s) sets the ride, the momentary value (400 ms) decides presence. Instances share a small table in the plugin's memory inside Logic: role, level as heard, target, correction and state, written by the audio thread without locks. A reference is resolved every block: the referenced role's instances are summed in power, the offset is added, and the ride moves towards the error at Speed, clamped to Range. Gain changes are smoothed over 30 ms. Zero latency.