Skip to content

Process a Live Input

A monitored input runs through its track’s effect chain and sends, like any other track.

Route the input, give the track its effects and sends, and monitor it:

use "std/effects" { Reverb, Highpass };
let reverb_bus = AudioTrack("reverb_bus").set_effects(#[Reverb("reverb", 0.5, 0.7)]);
let vox = AudioTrack("vocals");
vox.set_input(0);
vox.set_effects(#[Highpass("highpass", 120)]);
vox.set_monitor("in");
vox.set_send(reverb_bus, 0.4);

"in" monitors whether or not the track is armed. Set .set_input() before .set_monitor(): choosing an input turns monitoring off. The input is heard live; in a render it is silent.

If what you hear lags what you play, lower [audio] buffer_size — see Fix Audio Problems.