Skip to content

Group Tracks on a Bus

A track has one output, master unless you change it. Point several tracks’ outputs at one track, and that track is the group’s bus. The Audio Graph explains the model.

Make the bus, give it the effects the group shares, and set each track’s output with >>:

use "std/instruments" { Sampler, Kit };
use "std/effects" { Lowpass };
let drum_bus = AudioTrack("drum_bus").set_effects(#[Lowpass("lowpass", 4000)]);
let kick = AudioTrack("kick").set_instrument(Sampler(Kit("CR-78")));
let snare = AudioTrack("snare").set_instrument(Sampler(Kit("CR-78")));
kick >> drum_bus;
snare >> drum_bus;
kick << [bd*4];
snare << [_ sd _ sd];
PLAY;

The bus reaches master by itself, so the group has one fader: drum_bus.volume.

>> chains hops, so kick >> drum_bus >> master routes a track and its bus in one line.

Route it back to master:

snare >> master;
drum_bus.delete();

The tracks that output to the bus now output to nowhere — Live’s Sends Only — and stop sounding until you route them again (kick >> master;). Nothing is rerouted for you. Sends into the bus are removed and sidechain inputs it fed are unwired; the console names every track this touched.