Skip to main content

MCP tool for noise detection and OTIO timeline annotation generation. Measures noise floor with ffmpeg astats and writes denoise instructions to timeline.otio.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clipwright_noise-0.1.1.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clipwright_noise-0.1.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file clipwright_noise-0.1.1.tar.gz.

File metadata

  • Download URL: clipwright_noise-0.1.1.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for clipwright_noise-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7980607b23129cf55276acba7a2a4e75bbdfd3abd95af4428170f07e6fc322ae
MD5 c56d7487c3992f7c9d445427c6c7a40b
BLAKE2b-256 b6784c36485a5bb0094d04b81e687df2ac81b8960bb9d8c9b16da01e74df34c4

See more details on using hashes here.

File details

Details for the file clipwright_noise-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: clipwright_noise-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for clipwright_noise-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7c9b2e8a95f091035d5c3f10e33a3c852f15b9cafd0e81579e4fdd32755a170e
MD5 baf7e60b2d153bf9baaec7890e50dcd9
BLAKE2b-256 9c14fb19c1c4a80b68e4cb6f708e5bc15b33c5b24565b39034b87da71cd8c6d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page