Skip to content

Buses and Sends ​

A mixer is not just strips. It is a routing graph that sums and groups them.

Buses are the shared destinations. Sends are the taps that send signal to them.

Getting these two right is what turns a pile of strips into a controllable mix. This page grounds the routing model in libsonare's Bus and send processors; for the gentler intro see Mixing Basics.

Buses: master, aux, submix ​

A bus is a destination that sums several signals. libsonare gives a bus a role:

  • Master — the final stereo output everything eventually reaches.
  • Aux — the return for sends, where a shared effect (one reverb, one delay) lives.
  • Submix — a group that collects related tracks (all the drums) so you can process and ride them as one. In a scene this is any role string other than master (submix, subgroup, …); the string is only a label.

A compressor on a drum submix glues the kit together; one fader then controls the whole kit. The master is special only in that it is the last bus in the graph.

Strips, buses, sends, and the master
pre insertsfaderpost insertspre insertsfaderpost insertspre insertsfaderpost insertsinsertsinsertsinsertsstrip 1strip 2strip 3submix busaux busmasterpre-fader sendpost-fader sendoutputPre-fader sends ignore the fader; post-fader sends follow it. The strip’s own path continues either way.

Sends: parallel copies ​

An insert processes a track in series — the whole track passes through it. A send is different: it routes a copy of the track in parallel to a bus. Use sends for effects several tracks share, so a vocal, snare, and guitar can all sit in one reverb space without each carrying its own reverb. A compressor can also be keyed from another strip (a sidechain), which is how ducking works; see Sidechain and Ducking.

Pre-fader vs post-fader ​

A send taps either before the fader or after it, and this is the routing decision people most often get wrong:

TapFollows the fader?Use for
Pre-faderNoHeadphone/cue mixes, effects that should stay constant while you ride the fader
Post-faderYesReverb/delay that should stay proportional to the balance

A pre-fader send ignores the fader but not mute and solo: when a lane is silenced by mute or by another lane's solo, its pre-fader sends go silent with it, and a solo-safe lane keeps sounding while another lane is soloed. A disabled send contributes exactly nothing.

MIXER · SENDSIDLE
Pre-fader vs post-fader sends — drag the fader

One channel feeds two sends and the main output. Pull the channel fader down: the POST-fader send and the MAIN output follow it, because they are tapped after the fader; the PRE-fader send is tapped before it and stays put. Press play to hear it — the dry tone (post-fader) fades out while the pre-fader send (a stand-in for a reverb/aux return) keeps sounding even with the fader all the way down. That is why a vocal reverb fed pre-fader does not disappear when you ride the vocal down — the classic routing surprise.

Channel fader
0 dB

VCA groups vs submixes ​

A submix re-routes audio: the grouped tracks actually flow through the submix bus. A VCA group does not — VCA (voltage-controlled amplifier) is the console circuit this borrows its name from, and here it means a single fader that trims several tracks' levels at once without changing where their audio goes. Use a VCA when the parts must still reach different buses but you want one hand on their combined level.

How libsonare models routing
ElementRole
BusCarries a BusRole (Master/Aux/Subgroup; a subgroup is what the prose above calls a submix) and runs a BusProcessor
FxBusHosts shared effects
SendProcessorTaps a strip at a TapPoint chosen by SendTiming (pre/post-fader) and feeds a destination bus
VcaGroupApplies a shared gain offset across member strips without re-routing audio

There is no submix role value: at scene level the role field is a free string (the scene's submix and the engine's Subgroup are the same thing) in which only master is interpreted specially, so submix, subgroup, group and anything else all compile to the same generic non-master bus (the built-in drum-bus preset writes "subgroup").

The whole graph — strips, buses, sends, connections — is described by a serializable scene and runs with plugin delay compensation (PDC) so parallel paths stay time-aligned. See Mixing Scene JSON for the field-level format.

Related: Mixing Basics, Channel Strip, Automation and Metering, Mixing Scene JSON