Skip to main content

clipwright-noise

MCP tool for noise detection and OTIO timeline annotation generation.

Overview

Measures audio noise floor using ffmpeg astats filter, writes denoise instructions (backend, parameters) to timeline-level metadata["clipwright"]["denoise"].

Performs detection only (OTIO annotation); realization (ffmpeg filter application) is done once by clipwright-render (design M3: separation of detection and application).

Initial render support:

  • afftdn backend: render application supported (clipwright-render injects afftdn filter).
  • deepfilternet backend: annotation only. render application not yet supported (planned in future version).

Prerequisites

  • Python 3.11 or later
  • ffmpeg / ffprobe must exist on PATH or full paths set in environment variables CLIPWRIGHT_FFMPEG / CLIPWRIGHT_FFPROBE.

Add ffmpeg to PATH directly or specify via environment variables:

export CLIPWRIGHT_FFMPEG=/path/to/ffmpeg
export CLIPWRIGHT_FFPROBE=/path/to/ffprobe

MCP Tool

clipwright_detect_noise

Parameters

Name Type Default Description
media string required Input media file path (video + audio required)
output string required Output OTIO timeline path (.otio, same directory as media)
options.backend "afftdn" | "deepfilternet" "afftdn" denoise backend
options.strength "light" | "medium" | "strong" "medium" afftdn nr mapping (light=6/medium=12/strong=24 dB)
timeline string | null null Existing OTIO timeline path (if specified, append to it)

Dependencies

Package Purpose
clipwright Shared types, envelope, errors, process.run
mcp[cli] MCP server
pydantic Parameter validation

ffmpeg / ffprobe are invoked as separate processes (via PATH or environment variables) for license independence. DeepFilterNet binary is not bundled in initial version; render-side dependency planned.

Installation and Startup

Within a uv workspace:

uv run --package clipwright-noise clipwright-noise

Or install directly:

uv add clipwright-noise
clipwright-noise

MCP Configuration (.mcp.json)

Register clipwright-noise in your MCP host configuration to expose clipwright_detect_noise as a tool.

{
  "mcpServers": {
    "clipwright-noise": {
      "command": "clipwright-noise",
      "env": {
        "CLIPWRIGHT_FFMPEG": "/path/to/ffmpeg",
        "CLIPWRIGHT_FFPROBE": "/path/to/ffprobe"
      }
    }
  }
}

Environment variables:

Variable Required Description
CLIPWRIGHT_FFMPEG Optional Full path to ffmpeg binary. If omitted, ffmpeg must be on PATH.
CLIPWRIGHT_FFPROBE Optional Full path to ffprobe binary. If omitted, ffprobe must be on PATH.

The console script clipwright-noise (registered in [project.scripts]) launches the MCP server over stdio. No CLI argument parsing is required — all inputs are passed via MCP tool calls.

Metadata

Release files for clipwright-noise 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clipwright-noise 0.4.1
File Size Uploaded
clipwright_noise-0.4.1.tar.gz 9.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clipwright-noise 0.4.1
File Interpreter ABI Platform
clipwright_noise-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.2 kB

Release files / clipwright_noise-0.4.1.tar.gz

Download URL clipwright_noise-0.4.1.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6048b8b23e59e77a2cf001babdb2f3f8c0b3d06b20076642b4f82b9707013690
BLAKE2b-256 checksum
How to use checksums
d11ef5d642c598246655c2fc101106768168eaa53dc065b2e2acc3c59619bb74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release files / clipwright_noise-0.4.1-py3-none-any.whl

Download URL clipwright_noise-0.4.1-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
021f2018dd5b365560e50cace932574de211ff93607e87c6670944825385c5c7
BLAKE2b-256 checksum
How to use checksums
4ea7fa90133ea8fa016f934a3b3d0135185a03193119ca921c6023a81b9dc958
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page