Skip to content
Agentmart
Submit a tool

audio-separation

Silence a clip or remove audio over a region while keeping the picture, using the Mute Clip / Remove Audio EDL ops (graph-native, picture held).

Skill by explicit09

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/explicit09-audio-separation

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Silence a clip or remove audio over a region while keeping the picture, using the Mute Clip / Remove Audio EDL ops (graph-native, picture held).

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/audio-separation

What's inside

Skill name
audio-separation
Description
Silence a clip or remove audio over a region while keeping the picture, using the Mute Clip / Remove Audio EDL ops (graph-native, picture held).
License
Apache-2.0
Instructions
99 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Audio separation

Use this when the user wants to **change a clip's sound without changing its
picture** — "mute this shot," "cut the audio under this part but keep the
video," "drop the sound here." This is a graph-native edit: the only durable
outputs are `Mute Clip` and `Remove Audio` EDL ops applied through
`apply_edl`. Never re-render a detached audio file or drop the clip to lose
the sound.

Key distinction from `Set Volume`: `Set Volume 0` lowers a mixable level but
the muxed audio stream is still present; **`Mute Clip` / `Remove Audio` hold
the picture and remove the sound.** Reach for those when the intent is "keep
the image, lose the audio," not "turn it down."

## 1. Locate the audio to remove

Find the clip and the span from the graph and the indexes:

```
view_timeline
inspect_clip(anchor=<clip>)
read_index(channel="transcript", asset_id=<asset>)   # words/segments → spans
read_index(channel="audio-energy", asset_id=<asset>) # loud spans / silences
```

Work out the span in **clip-local visible seconds** (0 = the clip's start).
A transcript word/segment or an audio-energy window gives the timeline time;
subtract the clip's timeline start to get clip-local seconds.

## 2. Apply the edit

**Mute a whole clip** (keep its picture):

```text
*** Begin EDL
*** Mute Clip
@@ anchor: clip_uuid=<clip_uuid>
+ muted: true
*** End EDL
```

`+ muted: false` unmutes. With no other audio override on the clip, unmuting
clears the override entirely.

**Remove audio over a region** (keep its picture):

```text
*** Begin EDL
*** Remove Audio
@@ anchor: clip_uuid=<clip_uuid>
+ start_s: 2.0
+ end_s: 4.5
*** End EDL
```

Repeat `Remove Audio` to silence several spans on the same clip. Use
`+ clear: true` (no span fields) to drop all removed spans on the clip.

Anchoring also works by `transcript_snippet` when you want the span tied to a
spoken phrase rather than a uuid.

## 3. Verify

```
vedit_diff
start_render(scope="timeline")
poll_render
```

`vedit_diff` should show the clip's `montage` audio override (muted and/or
removed ranges). Render a preview and confirm by ear: the picture is
unchanged across the edit, the audio is silent where intended, and audio on
the rest of the timeline is preserved (the project switches to the decoupled
video-only + audio-mix render path automatically).

## Rules

- The picture is sacred here: never delete or trim the clip to lose its
  sound — that loses the image too. Mute/remove the audio instead.
- Prefer `Mute Clip` / `Remove Audio` over `Set Volume 0` when the intent is
  to hold the image and remove the sound.
- Spans are clip-local visible seconds with `end_s > start_s`.
- v1 audio removal supports unity-speed clips with no split edit (J/L) on the
  same clip; if the render reports `audio removal unsupported`, remove the
  speed change / split edit on that clip or clear the removal first.
- The edit graph is the source of truth. Every change lands through
  `apply_edl`; never emit a standalone audio render.

## You are done when...

- [ ] The clip and span were located from `view_timeline` / `inspect_clip`
      and the relevant index.
- [ ] The intent landed as `Mute Clip` and/or `Remove Audio` through
      `apply_edl` (not a clip delete or a bare `Set Volume`).
- [ ] `vedit_diff` shows the clip's audio override.
- [ ] A render confirmed the picture is held and the audio is silent only
      where intended, or the exact blocker was reported.

From explicit09/montage, Apache-2.0.

More from explicit09/montage

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jun 7, 2026 (4 months ago)
Last release
Jun 10, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from explicit09

Cite this page

audio-separation skill. Agent Mart. https://agentmart.dev/skills/explicit09-audio-separation (last updated 2026-10-24)