edytlab
Audio Tools Reference

Effect Chains

Add, edit, bypass, reorder and remove the effects in a track, bus or master chain.

On this page5 tools
add_effect

Append an effect to a track's chain, pass scope "master" to put it on the master bus, where every track is summed, or scope "bus" with a bus name to put it on a bus made with create_bus. The chain is applied at render time and the source audio is never rewritten, so the parameters stay editable — unlike the destructive effect tools above, which bake their result into a new node.

Example prompt: put a limiter on the master at -1 dB

Returns: node_id, effect_index

An effect on the master bus processes the whole mix and keeps doing so when a track is edited later, which a mix rendered down into a new track does not. A bus processes what tracks send it with set_send, so an effect on a bus nothing sends to is not heard; name a bus by the name it was created with, or by its id if two share a name. Effects run in the order they appear in the chain. Only five kinds can stream today: gain, limiter, low_pass_filter, high_pass_filter and notch_filter. add_effect refuses any other kind, on a track, on a bus or on the master bus, with a message that lists the five and, for a kind that exists as a destructive tool (reverb, echo, eq, compressor and others), names that tool to call instead. It also refuses a parameter the kind does not read, naming it and listing the kind's own, rather than saving a setting the renderer would ignore. The names, which the schema also gives the model: gain has db; limiter has ceiling_db and release_ms; low_pass_filter and high_pass_filter have cutoff_hz; notch_filter has center_hz and q. Omitted ones use defaults.

set_effect_params

Edit an effect already in a chain, on a track, on the master bus or on a bus. Given parameters are merged into the existing ones by default; pass replace to swap the whole set instead. A parameter name the effect's kind does not read is refused, with the kind's own names in the error. The names are the same as add_effect's: db for a gain, ceiling_db and release_ms for a limiter, cutoff_hz for the low-pass and high-pass filters, center_hz and q for the notch.

Example prompt: change that low-pass to 2 kHz

Returns: node_id

set_effect_bypassed

Turn an effect off without removing it, on a track, on the master bus or on a bus. A bypassed effect renders byte-identically to one that is not there, so it is an A/B switch rather than an approximation.

Example prompt: bypass the compressor on track 1

Returns: node_id

reorder_effects

Reorder a track's chain, the master bus's or a bus's. Takes a full permutation of the existing indices — a partial list is rejected rather than silently dropping effects.

Example prompt: put the EQ before the compressor

Returns: node_id

remove_effect

Remove an effect from a track's chain, the master bus's or a bus's, by index.

Example prompt: take the reverb off the drums

Returns: node_id