Command · Auto-Duck Music
audio.autoDuck
Lowers music under speech: finds speech on the dialogue tracks (transcript words, or the audio level where there is no transcript) and writes volume keyframes on the music tracks' clips - down by "amount" over "attack" before each phrase, back up over "release" after "hold", bridging short pauses.
- v1
- Capability EditSequence
- Tool
audio_autoDuck
Request
{
"command": "audio.autoDuck",
"params": {
"amount": -15,
"release": 1
}
}Parameters
amountnumber (-60.0..0.0)- How far the music goes down, dB (default -12).
attacknumber (0.0..10.0)- Seconds to go down, ending where speech starts (default 0.25).
dialogue(integer | string)[], min 1- Speech tracks (default: the dialogue-role tracks).
frominteger | string- Only from this time (default: the start). Timecode in the sequence's rate ("00:01:02:03") or ticks.
holdnumber (0.0..10.0)- Seconds to stay down after speech (default 0.25).
includeMusicboolean- gameUnderVoice: the music tracks duck with the game (default true).
minSpeechnumber (0.0..5.0)- Ignore speech shorter than this (default 0.12).
music(integer | string)[], min 1- Tracks to duck (default: the music-role tracks).
preset`default` | `gameUnderVoice`- The timing and tracks to start from (default: default).
releasenumber (0.0..10.0)- Seconds to come back up (default 0.75).
sequenceinteger (1..)- Sequence id; only needed when the project has several.
source`auto` | `transcript` | `energy`- Where speech is found (default auto: transcripts, else the audio level).
tointeger | string- Only up to this time (default: the end). Timecode in the sequence's rate ("00:01:02:03") or ticks.
Discussion
Lowers music under speech: finds speech on the dialogue tracks (transcript words, or the audio level where there is no transcript) and writes volume keyframes on the music tracks' clips - down by "amount" over "attack" before each phrase, back up over "release" after "hold", bridging short pauses. Replaces the music clips' volume keyframes in the range (like Premiere's Auto Ducking); the keys stay editable. "preset": "gameUnderVoice" ducks a gaming recording's game audio and music under the streamer's mic: the tracks named Mic (else the dialogue-role ones) are the speech, the tracks named Game or Desktop Audio (else the effects-role ones) and the music tracks duck, -10 dB with a 0.12 s attack, 0.35 s hold and 0.8 s release; given parameters still win. The report names the tracks used. One undo step; dryRun previews it.
Run it with wabcut-cli cmd <project> --json, from an MCP client as audio_autoDuck, or from an extension. See Edit commands for requests, references and results.
See also
audio.*
- audio.addEffect
Add Track or Master Effect. Adds an audio effect to an audio track's stack (applied to the track's mix, before its fader) or to the master bus (applied to the sequence's mix, before the master fader).
- audio.addKeyframe
Add Track or Master Keyframe. Adds a keyframe to a parameter of a track or master effect, or (no "effect") to the fader: "volume" or "pan" - at a timeline time (track and master curves run in timeline time).
- audio.channelLevels
Measure Channel Levels. Peak and RMS of each source channel of audio clips (the clip's source range, at most 120 s), and the channels 30 dB or more under the loudest ("silentChannels"): which microphone is on which channel, and whether a recording has sound on one side only.
- audio.channels
Audio Channels. What each audio clip plays (its source channel count and channel map: the clip's, its media item's or none), each audio track's channel format and 5.1 panner, and the master's format.
- audio.effects
Audio Effect Stack. The effect stack of an audio track or of the master audio bus: instance ids, effect ids, enabled, parameter values (constants or keyframes in timeline ticks), and the fader after it: "volume" (dB) and, for tracks, "pan".
- audio.enhanceSpeech
Enhance Speech. Studio-quality dialogue (Premiere's Enhance Speech, Resolve's Voice Isolation): renders each clip's media with DeepFilterNet3 on this computer (no audio leaves it; the model downloads on first use), records the enhanced take on the media item and puts the Enhance Speech effect first in each clip's stack: the clip plays the take blended with the original by "strength" (toggle the effect to compare), before its level and redactions.
- audio.essentialSound
Essential Sound. Premiere's Essential Sound panel: tags clips as dialogue, music, sfx or ambience and applies a preset of that type as ordinary, editable effects at the top of each clip's stack (an Essential Sound record with the type and options, then one marked effect per setting: Gain for loudness; Dialogue Repair: Reduce Rumble (high-pass), DeHum, Reduce Noise or Enhance Speech, Noise Gate, Reduce Reverb (expander), DeEss; Clarity: EQ preset (podcastVoice, phone, radio, streamerVoice), Dynamics (compressor) and a true-peak limiter last; Creative: reverb (smallRoom, largeRoom, hall, plate, outside); Stereo Width), then matches each clip's loudness to the type's target.
- audio.fillChannel
Fill Channel. Premiere's Fill Left with Right and Fill Right with Left: both sides of the clips play one channel - for audio heard on one side only ("fix the left-only audio": from left).
- audio.loudness
Measure Loudness. EBU R128 / ITU-R BS.1770 loudness as it renders: integrated LUFS, loudness range (LU), true peak (dBTP), sample peak, loudest momentary and short-term LUFS.
- audio.masterLimiter
Master True-Peak Limiter. Puts a true-peak brick-wall limiter at the end of the master audio bus (or updates the one there): no true peak of the mix goes above the ceiling (default -1 dBTP, the streaming and EBU R128 maximum).
- audio.moveEffect
Reorder Track or Master Effect. Moves an effect to another position in a track or master stack.
- audio.moveKeyframe
Move Track or Master Keyframe. Moves keyframe
indexof a track or master effect parameter or of the fader ("volume" / "pan", no "effect") to another timeline time; fails if another key is there. - audio.normalize
Normalize Loudness. Sets a gain so the loudness hits a delivery target: YouTube / Spotify -14 LUFS, podcasts and Apple Podcasts -16, broadcast EBU R128 -23, ATSC -24, or a custom "lufs".
- audio.remix
Remix Music. Premiere's Remix: retimes a music clip to a target length by rearranging its own bars - repeating or skipping sections where the music around the jump sounds alike (beats and bars, then chroma and MFCC self-similarity) - never by stretching it.
- audio.remixRender
Render Music Remix. audio.remix rendered into one file: the remix of the music clip (the same plan: its own bars rearranged, intro and outro kept, crossfaded joins) becomes a new media item derived from the song (a float WAV in the user's cache), and the clip plays it from its start.
- audio.removeEffect
Remove Track or Master Effect. Removes an effect from a track or master stack.
- audio.removeKeyframe
Remove Track or Master Keyframe. Removes keyframe
indexof a track or master effect parameter or of the fader ("volume" / "pan", no "effect"); the last one leaves a constant. - audio.separateStems
Separate Stems. Splits a music or mixed clip's audio into vocals, drums, bass and other with HTDemucs on this computer (no audio leaves it; the model downloads on first use, and the job refuses on a computer with too little free memory).
- audio.setChannelVolume
Set Channel Volume. Premiere's Channel Volume: the volume of one channel of audio clips (1-based clip channel), dB, a constant, or with "time" a keyframe there (the channel's volume becomes animated).
- audio.setChannels
Modify Audio Channels. Premiere's Modify > Audio Channels on clips: which source channels feed each of the clip's channels, in a clip format (mono, stereo, 5.1, adaptive), with mutes and per-channel volume.
- audio.setEffect
Set Track or Master Effect. Enables or disables an effect of a track or master stack, or sets constant parameters.
- audio.setMediaChannels
Modify Media Audio Channels. Modify > Audio Channels on media items: the channel map every audio clip of the item plays unless it has its own (audio.setChannels).
- audio.splitToMono
Split to Mono. Splits a clip's channels into linked mono clips, one per source channel, on separate audio tracks (the clip keeps channel 1; the others go on the free audio tracks below it, new ones when needed, or on "tracks"): "split the two mics into separate tracks".
- audio.syncClips
Synchronize by Audio. Lines recordings of one event up by their audio: a camera's scratch audio and a separate recorder (dual-system sound), or several cameras.