Skip to content

Mixing Basics

Mixing is the craft of taking several recorded parts and balancing them into one stereo whole that sounds intentional: every element audible, nothing fighting, a sense of front-to-back depth and left-to-right space. This page defines the words you need before reading the Mixing Engine guide. It is concepts only — no code.

Where mixing sits

You usually edit individual parts (timing, pitch, noise), then mix them together, then master the finished stereo file for delivery. Mixing is the middle step that turns a folder of separate stems into a balanced song. Get the balance right here and mastering becomes a polish, not a rescue.

Tracks and channel strips

A track is one recorded part: a lead vocal, a bass DI, a stereo drum overhead pair. In a mixer, each track flows through a channel strip — a vertical lane of controls that processes just that part. The whole art of mixing is setting each strip so the parts combine well, then routing them to a common output.

ENGINE · LANE MIXERIDLE
The engine lane mixer — faders and mutes inside the playback engine

Three MIDI clips loop through the realtime engine: each track occupies a lane with its own channel strip. The faders call the strip setters and the mutes call setSoloMute — every band below is the engine’s actual per-lane output, re-rendered through renderOffline as you move the controls.

Lead fader
0 dB
Bass fader
0 dB
Drums fader
0 dB
Mute lead
Mute bass
Mute drums

Level: trim, fader, and gain staging

There are two level controls on a strip and they do different jobs:

  • Input trim sets a sensible working level on the way in, before any processing. Recordings arrive at wildly different volumes; trim evens them out so the processors that follow see a healthy signal.
  • Fader is the balance control you ride against the other tracks: vocal forward, music back.

Keeping levels sensible at every stage — not too quiet (noisy), not too hot (clipping) — is called gain staging, and it is the single most important habit in mixing. See Gain Staging.

Pan: placing sound left to right

Pan positions a track across the stereo field, from hard left to hard right. Spreading parts out gives each room to breathe instead of stacking in the center. Two refinements matter:

  • Pan mode decides how a position maps to the channels — a true pan that moves a mono source, a balance control that just turns one side of a stereo track down, or independent left/right positioning.
  • Pan law decides how loud the center is relative to the sides, so a part does not jump in volume as you pan it.

Inserts vs sends

This is the distinction beginners most often miss, and it is simple once named:

  • An insert sits in series: the whole track passes through it. Use inserts for processing that belongs to that track — a compressor on the vocal, an EQ on the bass.
  • A send routes a copy of the track in parallel to a shared destination. Use sends for effects several tracks share — one reverb fed by the vocal, the snare, and the guitar, so they all sit in the same space.

Pre-fader vs post-fader

A send can tap the signal before the fader (independent of the balance — good for headphone/cue mixes) or after it (follows the balance — so an effect stays proportional as you ride the fader). Choosing the right one is a common gotcha; the Mixing Engine page traces exactly where each tap sits.

Buses and subgroups

A bus is a shared destination that sums several signals. The most important bus is the master — the final stereo output everything reaches. Two other common roles:

  • An aux bus is the return for sends (your shared reverb lives here).
  • A subgroup (or submix) collects related tracks — all the drums, say — so you can process and ride them as one. A compressor on the drum subgroup glues the kit together; one fader controls the whole kit's level.

A VCA group is a related idea: a single fader that trims several tracks at once without re-routing their audio, useful when the parts must still flow to different buses.

Automation

A static mix is rarely the best mix. Automation lets a control change over time: push the vocal up half a dB in the chorus, fade the synth out over four bars, open a filter on a riser. The control follows a curve between the points you set — a straight ramp, an eased S-curve, or an instant jump. This is how a mix breathes instead of sitting still.

Metering: trusting your eyes as well as your ears

Ears tire and rooms lie, so mixers watch meters too. The ones that matter most:

  • Peak / true peak — the highest level; true peak catches inter-sample overs your sample meter misses.
  • RMS / LUFS — average level and perceived loudness, which is what listeners actually judge.
  • Correlation — whether the left and right channels agree; strongly negative values warn that the mix may weaken or cancel in mono.
How libsonare models all of this

libsonare's mixing engine maps these concepts to concrete objects: a strip is a ChannelStrip with input trim, EQ, fader, pan, width, inserts, and sends in a fixed signal order; a bus carries a master/aux/submix role; a send taps pre- or post-fader; automation is scheduled at sample-accurate positions with linear/exponential/s-curve/hold curves; and every strip exposes a meter snapshot plus a goniometer history buffer. A whole mixer is described by a JSON scene you can save and reload. The engine is real-time-safe — denormal-guarded, lock-free parameter changes, pre-allocated buffers, and plugin-delay compensation across the routing graph — so the same model runs offline and inside an AudioWorklet.

Related: Mixing Engine, Mixing Scene JSON, Gain Staging, Mono Compatibility, Audio Basics