# Sonicmatch

Analyzes video pacing and speech to select license-safe background music with an ffmpeg ducking setup. Built for short-form clips and automated editing workflows.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 153
- Author: js713-lab
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/js713-lab/sonic-match-mcp
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/sonicmatch

## What it does

Sonicmatch evaluates the video footage directly. It inspects scene pacing, cut points, and voice activity rather than guessing from a text script. After scanning the visual energy, it selects matching background music, marks a 12–20s hook window, and builds audio ducking parameters for voice sections.

Without `ffmpeg` and `ffprobe` in your `PATH`, the server cannot run. It requires Python 3.10+ and operates in stdio or local HTTP mode on loopback. The server works out of the box with a local seed catalog of 20 tracks. External connections to Gemini, Jamendo, or Freesound remain optional and rely on environment variables.

Every recommendation includes an explicit license label. Non-commercial audio such as CC-BY-NC is excluded from automated suggestions to keep promotional content safe. Output arrives as an ffmpeg mixing recipe or an EDL-style cut list snapped to track tempo.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `GEMINI_API_KEY`, `JAMENDO_CLIENT_ID`, `FREESOUND_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Install**
- The MCP registry has no launch command for it: see the repository README

## When to use it
- match royalty-free music to the visual pace of a clip
- calculate ducking volume drops beneath voice tracks
- generate ready-to-run `ffmpeg` audio mix commands
- snap video scene cuts to musical BPM intervals

## Example prompts
- Inspect `clip.mp4` and suggest three royalty-free instrumental tracks with ducking settings.
- Analyze speech segments in `reel.mp4` and build an `ffmpeg` mix command for the chosen track.
- Align edit cuts in `video.mp4` to the beat of an imported background track.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
