edytlab
Audio Tools Reference

Volume and Dynamics

Gain, fades, envelopes, buses and sends, loudness, and dynamics processors.

On this page15 tools
gain

Apply a static dB gain to a region of a track. Range: −60 to +12 dB.

Example prompt: boost the vocals by 3 dB

Returns: node_id

set_track_gain

Set the overall gain level for an entire track.

Example prompt: set track 2 gain to -3 dB

Returns: node_id

create_bus

Create a mix bus with its own effect chain. Tracks feed it through sends, so one chain of effects can serve several tracks instead of being applied to each. A new bus has no effects: add them with add_effect and scope "bus".

Example prompt: make a bus for the drums

Returns: node_id, bus_id

set_send

Route a track to a bus at a given level in dB. The send is tapped after the track's own gain and pan.

Example prompt: send the vocal to the Vocals bus at -6 dB

Returns: node_id

remove_send

Remove a track's send to a bus, leaving both the track and the bus in place.

Example prompt: stop sending the vocal to the Vocals bus

Returns: node_id

normalize

Scan a track for its peak amplitude and set its gain so the peak lands on target_dbfs. Peak-based — two files normalised to the same peak can still differ by 10 LUFS in perceived loudness, so use normalize_loudness when the goal is 'as loud as everything else'.

Example prompt: normalize the peak to -1 dBFS

Returns: node_id, applied_gain_db

normalize_loudness

Set gain so the track hits an integrated LUFS target, measured with EBU R128. Takes either a number or a platform by name — spotify, youtube, apple_podcasts, broadcast — so the target does not have to be remembered. Gain is capped at a true-peak ceiling (−1 dBFS by default) so it never clips getting there; when the cap bites, the result reports the shortfall rather than claiming success.

Example prompt: normalize for Spotify

Returns: node_id, measured_lufs, preset, applied_gain_db, achieved_lufs, shortfall_db, capped_by_ceiling

Presets: spotify / youtube −14 LUFS, apple_podcasts −16, broadcast −23. A custom target_lufs still works.

fade

Apply a fade-in or fade-out envelope. Curve options: linear, exponential, logarithmic.

Example prompt: add a 3-second fade-out

Returns: node_id

set_clip_envelope

Set a per-clip volume automation curve. Provide (time_sec, gain_db) pairs and the engine linearly interpolates between them.

Example prompt: set a volume fade: track 0 clip 0, from 0s at -20dB to 2s at 0dB

Returns: node_id

duck_under_speech

Drop a music track under the speech and bring it back in the gaps. A sidechain compressor keys on level, so a breath triggers it and a quiet line escapes it. This keys on where the speech is instead: on the transcript when there is one, and otherwise on the voice_tracks you name, where it follows the voiced (pitched) sound in their audio, so a breath, a click or hiss does not trigger it. It also ducks slightly before each line starts, which a level trigger cannot do — it only knows a line began after it has. A voice track that carries music reads as speech throughout, so name the voice alone; loud low rumble reads as speech too, and a fan that runs for part of a track is ducked under for as long as it runs.

Example prompt: duck the music under the voiceover

Returns: node_id, passages, ducks, clips, keyed_on, speech_sec, voice_tracks (when keyed on audio)

The result is an ordinary volume-automation curve on the music clip, so it is visible in the automation lane and draggable if a duck lands wrong. Short pauses inside a sentence do not un-duck: bringing the music up for a comma is a pump, not an edit.

limiter

Peak limiter: turns the gain down just enough that no sample exceeds ceiling_db, then lets it recover smoothly over release_ms (default 80). Transients are tamed without the harmonic distortion of hard clipping, and all channels share one gain so the stereo image holds. Zero latency; a sample-peak ceiling, not an inter-sample true-peak one. This edit is baked into one track; to limit the whole mix and keep it limited as tracks change, use add_effect with scope "master".

Example prompt: limit track 1 to -1 dBFS

Returns: node_id

noise_gate

Apply a noise gate: audio below threshold_db is silenced. attack_ms and release_ms control how fast the gate opens/closes.

Example prompt: gate anything below -45 dB

Returns: node_id

leveler

Apply dynamic leveling: normalise each short window to a target RMS level. Reduces variation between loud and quiet passages.

Example prompt: even out the levels on track 1

Returns: node_id

de_esser

Reduce harsh sibilant 's' and 'sh' sounds. frequency_hz sets where sibilance detection begins (default 7000Hz); threshold_db is the compression trigger level.

Example prompt: take the harshness off the s sounds

Returns: node_id

truncate_silence

Find and remove silent regions in a track. threshold_db is the silence floor; min_silence_ms is the minimum gap duration to remove.

Example prompt: remove the long pauses

Returns: node_id