Skip to main content
Glama
JuzzyDee

audio_visualizer_rs

by JuzzyDee

audio_visualizer_rs

Ein MCP-Server, der Claude die Fähigkeit gibt, Musik zu hören.

Richten Sie Claude auf eine beliebige Audiodatei und es kann Ihnen Tonart, Tempo, Dynamik, Klangfarbe, perkussiven Charakter, Stereofeld, strukturelle Abschnitte und die Entwicklung der Musik im Zeitverlauf nennen – alles aus reiner Audioanalyse, ohne Bilder, ohne Raten, mit weniger als 1 % Kontextfenster-Nutzung.

Vergleichen Sie zwei Tracks nebeneinander. Erkennen Sie, wo sich die Musik strukturell ändert – Intro, Strophe, Refrain, Bridge – und zoomen Sie in die Momente, die zählen.

Was ist das?

LLMs können sehen (Vision) und lesen (Text), aber sie können nicht hören. Dieses Projekt schließt diese Lücke, indem es echte Audioanalyse durchführt – dieselben DSP-Techniken, die in der Musikinformationsabruf-Forschung verwendet werden – und strukturierte numerische Daten zurückgibt, über die Claude nachdenken kann.

Es ist ein MCP-Server, der Audioanalyse als Tools bereitstellt, die Claude bei Bedarf aufrufen kann. Bitten Sie Claude, einen Song zu analysieren, und es wird das Audio dekodieren, spektrale/harmonische/Rhythmus-/Perkussiv-Analyse durchführen und die Ergebnisse als kompakten Text zurückgeben. Keine Spektrogramme, keine Bilder, keine verschwendeten Tokens.

Die vollständige Analyse eines 60-Sekunden-Tracks ist in unter 2 Sekunden abgeschlossen (einschließlich Quellentrennung). Reines Rust. Kein Python, kein FFmpeg, keine Systemabhängigkeiten.

Related MCP server: Claud-Ear

Funktionen

  • Audio-Dekodierung – mp3, wav, flac, ogg, aac über Symphonia (reines Rust)

  • Spektralanalyse – Schwerpunkt (Helligkeit), Bandbreite (Reichtum), Rolloff, Flachheit (Tonalität)

  • Frequenzband-Energie – RMS-Energie über 7 Standard-Producer-Bänder (Sub-Bass bis Brillanz) zur Mix-Diagnose

  • Spektraler Kontrast – Peak vs. Tal pro Band in dB, zeigt Klarheit vs. Matschigkeit

  • Dynamikbereich – Crest-Faktor, Lautheitsbereich (95.–5. Perzentil), Peak dBFS

  • LUFS-Lautheit – EBU R128 integrierte Lautheit (ITU-R BS.1770-4 Stereo-Kanal-Summierung), True Peak (dBTP), Lautheitsbereich (LRA), Streaming-Plattform-Zielwerte. Validated auf 0,0 dB von FabFilter Pro-L 2.

  • Stereofeld-Analyse – Phasenkorrelation (Mono-Kompatibilität), Stereobreite (Mittel/Seite-Verhältnis), L/R-Balance, Mono-Kompatibilitäts-Score. Zeitreihe pro Frame, um zu lokalisieren, wo Phasenprobleme auftreten.

  • Zeitliche Merkmale – RMS-Energie (Lautheit), Nulldurchgangsrate (Textur)

  • Timbre – 13 MFCCs (Mel-Frequenz-Cepstral-Koeffizienten)

  • Harmonische Analyse – Chromagramm, Tonart-Erkennung (Krumhansl-Schmuckler-Algorithmus), Tonnetz

  • Rhythmus-Analyse – Tempo-Schätzung, Beat-Tracking, Onset-Erkennung, Tempo-Stabilität

  • Perkussiver Charakter – harmonische/perkussive Quellentrennung (HPSS), Angriffsschärfe, Onset-Dichte

  • Erkennung von Abschnittsgrenzen – Multi-Feature-Neuheitsanalyse erkennt strukturelle Änderungen (Energie, spektral, harmonisch, Textur). Ermöglicht einen Zusammenfassung→Zoom-Workflow: Karte erhalten, dann in interessante Momente eintauchen

  • A/B-Vergleich – analysieren Sie zwei Tracks nebeneinander, erhalten Sie eine kompakte Differenztabelle, die Unterschiede in Lautheit, Dynamik, spektraler Balance, Stereofeld, Tonart und Tempo hervorhebt

  • Zeitreihendaten – verfolgen Sie, wie sich jedes Merkmal im Zeitverlauf bei wählbarer Auflösung entwickelt

  • Token-effizient – heruntergesampelte Ausgabe, kalibriert, um bequem in das Kontextfenster zu passen

In Aktion sehen

Sehen Sie, wie ein frisches Claude vier Tracks in einer Sitzung analysiert – eine originale Klavier/Blech-Komposition, Bohemian Rhapsodys vollständige Struktur mit Abschnittsgrenzen, ein A/B-Mix-Vergleich mit Produktionsempfehlungen und eine Gewitter-Feldaufnahme, bei der es Musikmetriken als „bedeutungslos“ vs. „physikalisch real“ einordnet. Alle vier Analysen passen in ein einziges Kontextfenster.

Installation

Claude Desktop – Ein-Klick-Installation

Laden Sie das .mcpb-Bundle für Ihre Plattform von GitHub Releases herunter und öffnen Sie es. Claude Desktop übernimmt den Rest – keine Konfigurationsdateien, kein Terminal, keine Einrichtung.

Plattform

Datei

macOS (Apple Silicon)

audio-analyzer-darwin-arm64.mcpb

macOS (Intel)

audio-analyzer-darwin-x64.mcpb

Windows

audio-analyzer-win32-x64.mcpb

Linux

audio-analyzer-linux-x64.mcpb

Claude Code – Homebrew (macOS)

brew tap JuzzyDee/tap
brew install audio-analyzer
claude mcp add --scope user audio-analyzer -- $(which audio-analyzer-mcp)

Claude Code – manuell (alle Plattformen)

Laden Sie die mcp-server-Binärdatei für Ihre Plattform von GitHub Releases herunter, dann:

claude mcp add --scope user audio-analyzer -- /path/to/mcp-server

Aus dem Quellcode erstellen

git clone https://github.com/JuzzyDee/audio-analyzer-rs.git
cd audio-analyzer-rs
cargo build --release
claude mcp add --scope user audio-analyzer -- target/release/mcp-server

Starten Sie Claude Desktop neu. Die Audio-Analyse-Tools werden in Ihren Unterhaltungen verfügbar sein.

Hinweis: Dies ist ein lokaler MCP-Server mit stdio-Transport, der Claude Code oder Claude Desktop erfordert. Er funktioniert nicht mit claude.ai im Browser oder in mobilen Apps.

Verwendung

Wichtig: Dieses Tool analysiert Dateien auf Ihrem lokalen Rechner. Geben Sie Claude den vollständigen Dateipfad (z. B. /Users/you/Music/song.mp3) – versuchen Sie nicht, Dateien in den Chat hochzuladen oder anzuhängen. Claude liest die Datei direkt von der Festplatte.

CLI (eigenständig)

cargo run --bin cli -- /path/to/song.mp3
cargo run --bin cli -- compare /path/to/mix_v1.mp3 /path/to/mix_v2.mp3

MCP-Tools

Nach der Konfiguration kann Claude diese Tools direkt aufrufen:

Tool

Was es tut

audio_info

Grundlegende Dateiinformationen: Dauer, Abtastrate, Abtastanzahl

spectral_features

Helligkeit, Reichtum, Lautheit, Textur, Timbre (MFCCs), Frequenzband-Energie, spektraler Kontrast, Dynamikbereich, LUFS-Lautheit, Stereofeld

harmonic_analysis

Tonart-Erkennung, Tonklassen-Verteilung, Tonnetz

rhythm_analysis

Tempo (BPM), Beat-Positionen, Tempo-Stabilität

full_analysis

Alles oben Genannte in einem Aufruf, plus perkussiver Charakter (HPSS), Stereofeld und Abschnittsgrenzen. Empfohlener Workflow: zuerst ohne Auflösung aufrufen, um Zusammenfassung + Abschnittskarte zu erhalten, dann mit start_time/end_time in hoher Auflösung in interessante Abschnitte zoomen

compare

A/B zwei Tracks – analysiert beide und gibt eine kompakte Differenztabelle zurück

Beispiel: full_analysis-Ausgabe

Hier ist, was full_analysis für einen 60-Sekunden-Jazz-Trio-Track zurückgibt:

═══ Full Audio Analysis ═══
File: /music/jazz_trio.mp3
Duration: 60.62 sec | Sample rate: 48000 Hz | Samples: 2909952
Analysis completed in: 2.02s

── Spectral/Temporal Features ──
Centroid (brightness):  2812 Hz — moderate
Bandwidth (richness):   3933 Hz — complex
Rolloff (energy focus): 6489 Hz
Flatness (tonality):    0.0824 — strongly tonal
RMS Energy (loudness):  0.1160
Zero Crossing Rate:     0.0402 — mixed
MFCCs (timbre):         [-141.3, 13.7, 0.9, 7.7, -2.5, 3.1, -1.7, 2.3, -0.9, 1.0, -0.5, 0.9, 0.6]

── Frequency Band Energy ──
Sub bass  (20–60 Hz):     0.007803
Bass      (60–250 Hz):    0.013043
Low-mid   (250–500 Hz):   0.004906
Mid       (500–2k Hz):    0.002165
Upper-mid (2k–4k Hz):     0.000203
Presence  (4k–6k Hz):     0.000166
Brilliance(6k–20k Hz):    0.000089

── Spectral Contrast (peak–valley dB) ──
Sub bass  (20–60 Hz):     10.4
Bass      (60–250 Hz):    20.4
Low-mid   (250–500 Hz):   26.0
Mid       (500–2k Hz):    30.9
Upper-mid (2k–4k Hz):     19.4
Presence  (4k–6k Hz):     16.6
Brilliance(6k–20k Hz):    55.2

── Harmonic Content ──
Estimated key: E minor (confidence: 0.538)
Top pitch classes:
   1. G  0.627 ███████████████
   2. E  0.561 ██████████████
   3. C  0.512 ████████████
   4. D# 0.495 ████████████
   5. F# 0.487 ████████████
   6. C# 0.459 ███████████

── Rhythm ──
Tempo: 84.0 BPM (confidence: 0.316)
Beats detected: 69
Mean tempo: 84.3 BPM | Median: 84.0 BPM
Stability: 0.951 (0=free, 1=locked)

── Percussive Character ──
Percussive ratio:    0.277 — harmony-dominated
Onset density:       7.0/sec — very dense
Peak attack sharp:   1.000

── Dynamic Range ──
Peak:            -0.44 dBFS
Crest factor:    16.2 dB — very dynamic
Loudness range:  76.4 dB — very dynamic
Quiet sections:  -87.5 dBFS | Loud sections: -11.1 dBFS

── Loudness (EBU R128) ──
Integrated:      -12.1 LUFS
True peak:       0.0 dBTP
Loudness range:  3.7 LU
Spotify (-14):   turned DOWN 1.9 dB | Apple (-16): turned DOWN 3.9 dB | YouTube (-14): turned DOWN 1.9 dB

── Stereo Field ──
Phase correlation:   0.257 avg, -0.822 min — some phase issues
Phase warnings:      20.6% of frames have negative correlation
Stereo width:        0.812 avg, 2.747 max — wide
Balance:             -0.095 — slightly left
Mono compatibility:  0.620 avg, 0.117 min — significant mono loss

── Section Boundaries ──
  Working BPM:     84 (confidence: 0.32)
  Boundaries:      2
     0:18.3s  energy+spectral+texture (confidence: 0.85)
     0:42.1s  energy+harmonic (confidence: 0.67)

Wenn Sie resolution: "medium" hinzufügen, enthält die Ausgabe auch eine Zeitreihentabelle, die zeigt, wie sich jedes Merkmal über die Dauer des Tracks ändert – sodass Claude den Intro-Aufbau, den dynamischen Solo-Abschnitt und das ruhige Outro sehen kann.

Zeitreihen-Auflösung

Alle Analyse-Tools akzeptieren einen optionalen resolution-Parameter, der die Zeitreihen-Ausgabe steuert:

Voreinstellung

Datenpunkte/Sek

Anwendungsfall

"low"

~0.5/Sek

Breiter Überblick, was zu dem, was Sie aus einem Spektrogramm-Bild herauslesen würden

"medium"

~1/Sek

Gute Standardeinstellung für die meisten Analyseaufgaben

"high"

~4/Sek

Detaillierte Ansicht für kurze Passagen oder zum Hineinzoomen in Übergänge

Sie können auch eine numerische Zeichenkette (z. B. "20") für benutzerdefinierte Raten übergeben.

Ohne resolution geben die Tools nur Zusammenfassungsstatistiken zurück (Durchschnittswerte über den gesamten Track). Mit ihm erhalten Sie eine kompakte TSV-Tabelle, die zeigt, wie sich Merkmale im Zeitverlauf entwickeln – Schwerpunkt, RMS, Dynamikbereich, Chroma, Onset-Stärke, perkussives Verhältnis, Band-Energie, spektraler Kontrast und mehr, alle auf derselben Zeitachse ausgerichtet.

Die Voreinstellungen sind auf Token-Effizienz kalibriert. Ein 3-Minuten-Track bei "medium"-Auflösung erzeugt etwa 180 Datenzeilen – genug, um die musikalische Struktur zu verfolgen, ohne das Kontextfenster zu sprengen.

Architektur

audio file
    |
    +---> load_audio()          -- Symphonia decodes to mono f32 samples
    |         |
    |         v
    |     compute_spectrogram() -- STFT via rustfft, time-frequency matrix
    |         |
    |         +---> spectral.rs    -- centroid, bandwidth, rolloff, flatness, MFCCs, band energy, contrast
    |         +---> temporal.rs    -- RMS energy, zero crossing rate, dynamic range
    |         +---> harmonic.rs    -- chromagram, key detection, tonnetz
    |         +---> rhythm.rs      -- onset detection, tempo, beat tracking
    |         +---> percussive.rs  -- HPSS (source separation), attack sharpness, onset density
    |         +---> sections.rs    -- section boundary detection (multi-feature novelty)
    |
    +---> load_audio_stereo()   -- preserves L/R channels
              |
              +---> stereo.rs      -- phase correlation, width, balance, mono compatibility
              +---> temporal.rs    -- LUFS loudness (ITU-R BS.1770-4 stereo channel summing)
    |
    v
downsample.rs                   -- bin-average to target resolution, format as TSV

Zwei Binärdateien teilen sich dieselbe Analyse-Bibliothek:

  • cli (src/main.rs) – führt alle Analysen aus und gibt Ergebnisse aus

  • mcp-server (src/mcp_server.rs) – stellt Tools über stdio JSON-RPC via rmcp bereit

Wichtige Abhängigkeiten: symphonia (Audio-Dekodierung), rustfft (FFT), rmcp (MCP SDK).

Änderungsprotokoll

Siehe CHANGELOG.md für die Versionshistorie.

Lizenz

MIT-Lizenz. Siehe LICENSE für Details.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
10Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.

  • MCP server for Producer/Riffusion AI music generation

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JuzzyDee/audio-analyzer-rs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server