Skip to main content

audio-analysis-mcp

A Python MCP server providing audio analysis tools for AI-driven sound recreation. It imports, separates, analyzes, and compares audio so an AI agent can configure hardware synthesizers to match a target sound.

Tools

Tool Description
import_audio Import a local audio file, normalize to 44.1kHz 16-bit mono WAV
stem_separate Separate audio into stems (vocals, drums, bass, other, guitar, piano) using Demucs
audio_list_devices List available audio input devices
audio_render Capture audio from a system device (BlackHole, USB audio)
spectrum_analyze Extract mel spectrogram, spectral features, ADSR, and modulation
audio_compare Compare target vs. synthesized audio (mel spectrogram distance, per-band energy)
note_transcribe Polyphonic transcription via Basic Pitch — outputs MIDI + note events JSON
note_triage Analyze transcription, select best candidate notes for isolation
note_isolate Isolate a note from audio within a time-frequency box via STFT masking
amplitude_analyze Per-cluster ADSR analysis with cross-candidate consistency check (not ready for production — see docs/TODO.md)

Install & run

Requires uv (which provisions Python 3.11 for you — the pin matters: Basic Pitch needs CoreML/TensorFlow, which break on 3.12+).

  1. Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh

  2. Add this to your MCP client config:

    {
      "mcpServers": {
        "audio-analysis-mcp": { "command": "uvx", "args": ["audio-analysis-mcp"] }
      }
    }
    
  3. Restart the client. Most tools work out of the box; three need optional deps (below): audio_render and audio_list_devices need PortAudio, and structure_analyze needs SongFormer.

Optional: audio_render (system-audio capture)

audio_render / audio_list_devices need PortAudio (brew install portaudio on macOS), plus BlackHole for system audio. Without them the server still runs; only those two tools error.

Optional: structure_analyze (song-structure detection)

Needs SongFormer. Enable it by adding it to the run:

{
  "mcpServers": {
    "audio-analysis-mcp": {
      "command": "uvx",
      "args": ["--with", "songformer @ git+https://github.com/uribrecher/SongFormer.git@v0.2.0", "audio-analysis-mcp"]
    }
  }
}

License note: this pulls MuQ model weights licensed CC-BY-NC-4.0 (non-commercial use only). SongFormer's own code/weights are CC-BY-4.0 (ASLP-lab/NPU).

FastAPI service mode

The HTTP /jobs/* service is an optional extra: uvx --from 'audio-analysis-mcp[service]' python -m audio_analysis_mcp.service.

Development

uv sync --dev --group research --extra service   # dev tools + signalflow (tone_generation tests)
uv run pytest -m "not slow"       # fast suite (CI default)
uv run mypy src/                  # type check
uv run python -m audio_analysis_mcp  # run the stdio server from source

Scratch tools

The scratch/ directory holds ad-hoc Python scripts used during research and debugging — not part of the MCP server. They explore algorithms (clustering, ADSR fitting, envelope shapes, overlap detection), inspect intermediate outputs from real songs (e.g. Van Halen "Jump" triage clusters), and generate the plots referenced from docs/TODO.md and docs/research/.

These scripts are intentionally untested and may bit-rot as the underlying analysis modules evolve. Treat them as a notebook: useful starting points for reproducing past experiments or scaffolding new ones, not as a stable API. Run them directly with uv run python scratch/<script>.py.

License

Licensed under the GNU General Public License v3.0 (GPL-3.0-or-later). See LICENSE.

This project depends on GPL-licensed components (notably vmo and cvxopt, both GPLv3), so the combined work is distributed under the GPL.

Metadata

Release files for audio-analysis-mcp 0.1.0

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

Source distribution (sdist)

Source distribution for audio-analysis-mcp 0.1.0
File Size Uploaded
audio_analysis_mcp-0.1.0.tar.gz 1.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for audio-analysis-mcp 0.1.0
File Interpreter ABI Platform
audio_analysis_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / audio_analysis_mcp-0.1.0.tar.gz

Download URL audio_analysis_mcp-0.1.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
8da80494e51cda01bc2884e02c60589e07a6c4f44b22f9bb4679908d5fe65b9d
BLAKE2b-256 checksum
How to use checksums
7fbf778e79004d1f56ce84821ca9b0009f6ddf379889925687550462c10348b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 17, 2026.

Transparency log

Release files / audio_analysis_mcp-0.1.0-py3-none-any.whl

Download URL audio_analysis_mcp-0.1.0-py3-none-any.whl
Size 75.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ee8136518266cc2ce20cdf4a6e4cb97fe9035548c4ad0979111a7643bb9a989
BLAKE2b-256 checksum
How to use checksums
199a1416198688888e85cc4d59c07ce3c37e8132534f1da2141a4c906999d7d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

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