A local Rust-based MCP server providing Claude with full audio DSP analysis capabilities, covering spectral, loudness, harmonic, rhythmic, stereo field, and structural features.
audio-analyzer-rs is a local MCP (Model Context Protocol) server written in Rust, designed to give Claude LLMs the ability to perceive audio. It converts music and sound signals into structured data for LLM reasoning through a complete audio DSP analysis pipeline implemented in pure Rust.
Core analysis capabilities span multiple dimensions: spectral analysis (centroid, bandwidth, rolloff, flatness, 7-band energy, spectral contrast), loudness and dynamics (EBU R128 LUFS, true peak, LRA, streaming platform target offsets), stereo field (phase correlation, mid/side width, L/R balance, mono compatibility), harmony and timbre (13-dimensional MFCC, chromagram, Krumhansl-Schmuckler key detection, Tonnetz), rhythm and percussion (BPM, beat tracking, HPSS source separation, attack sharpness), as well as multi-feature novelty-based section boundary detection and A/B track comparison.
The project has zero external dependencies — audio decoding is handled by Symphonia in pure Rust, requiring no Python, FFmpeg, or system-level libraries. It supports mp3, wav, flac, ogg, and aac formats, running cross-platform on macOS (Apple Silicon/Intel), Windows, and Linux. Analysis results are output as downsampled TSV time series with minimal token consumption (claimed under 1% of context window for a full 60-second analysis).
As an MCP server communicating via stdio transport, it supports Claude Desktop and Claude Code with six tools: audio_info, spectral_features, harmonic_analysis, rhythm_analysis, full_analysis, and compare, along with customizable-resolution time series data output. A standalone CLI entry point is also provided for direct command-line usage. Installation options include one-click .mcpb file for Claude Desktop, Homebrew (macOS), and cargo build from source.
Unconfirmed: README title reads audio_visualizer_rs while the repo name is audio-analyzer-rs, possibly a legacy issue; LUFS accuracy claims 0.0 dB deviation from FabFilter Pro-L 2 but no independent verification script found; HPSS algorithm variant unspecified.