Skip to main content
Glama

detect_silence

Detect silent intervals in media files using ffmpeg, returning timestamps for removal or further editing in Premiere Pro.

Instructions

Analyzes a media file's audio for silent stretches using ffmpeg's silencedetect filter, run locally via child_process -- NOT via Premiere's scripting API, which has no audio-level/RMS reading capability at all (confirmed: every audio tool in this codebase only writes levels, never reads them). Requires ffmpeg on PATH; returns an explicit error if it is not found rather than failing silently. This is DETECTION ONLY -- it does not cut or modify anything. Use the returned intervals with split_clip/ripple_delete/razor_timeline_at_time if you want to remove the silence.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mediaPathNoDirect filesystem path to the media file to analyze
projectItemIdNoProject item ID to resolve to a media path instead of passing mediaPath directly
noiseThresholdDbNoSilence threshold in dBFS, e.g. -30 (default -30). Audio quieter than this is considered silent.
minDurationSecondsNoMinimum duration in seconds for a quiet stretch to be reported as silence (default 1.5)
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It fully discloses that execution is via child_process with ffmpeg, that ffmpeg must be on PATH, that it returns an explicit error if ffmpeg is missing rather than failing silently, and that it is detection-only with no modification side effects. This is comprehensive and transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with each sentence providing essential information: method, requirement, detection-only nature, and suggested user actions. It is front-loaded with the verb and resource, and there is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (external ffmpeg dependency) and absence of annotations, the description is remarkably complete. It explains the execution environment, error behavior, output format (intervals), and typical usage, leaving little ambiguity for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter description coverage, so the description doesn't need to add much. It does not go beyond the schema's details beyond reinforcing defaults and units, which is unnecessary. Baseline of 3 is appropriate given the schema already documents each parameter clearly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Analyzes a media file's audio for silent stretches' and specifies the method (ffmpeg's silencedetect filter). It explicitly distinguishes from siblings by noting it does not use Premiere's scripting API (which lacks audio-level reading) and by stating it is detection-only, differentiating from editing tools like split_clip and ripple_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: it explains this is the only way to read audio levels in this codebase, notes the ffmpeg requirement, and explicitly suggests pairing with split_clip/ripple_delete/razor_timeline_at_time for removal. This effectively communicates when to use it and how it fits into workflows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/compimprove/adobe-premiere-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server