audio_visualizer_rs
audio_visualizer_rs
MCP-сервер, который даёт Claude возможность слышать музыку.
Укажите Claude на любой аудиофайл — и он сможет назвать тональность, темп, динамику, тембр, перкуссионный характер, стереополе, структурные секции и то, как музыка развивается во времени. Всё это — из анализа сырого аудио, без изображений, без догадок, менее 1% контекстного окна.
Сравнивайте два трека бок о бок. Определяйте, где музыка меняется на уровне структуры — интро, куплет, припев, бридж — и приближайте важные моменты.
Что это?
LLM умеют видеть (зрение) и читать (текст), но не умеют слышать. Этот проект закрывает этот пробел: он выполняет настоящий аудиоанализ — те же методы DSP, что используются в исследованиях по музыкально-информационному поиску (music information retrieval), — и возвращает структурированные числовые данные, с которыми Claude может рассуждать.
Это MCP-сервер, который предоставляет аудиоанализ в виде инструментов, которые Claude может вызывать по требованию. Попросите Claude проанализировать песню — и он декодирует аудио, выполнит спектральный/гармонический/ритмический/перкуссионный анализ и вернёт результат в виде компактного текста. Никаких спектрограмм, изображений и длярья потраченных токенов.
Полный анализ 60-секундного трека завершается менее чем за 2 секунды (включая разделение источников). Чистый Rust. Никакого Python, никакого FFmpeg, никаких системных зависимостей.
Related MCP server: Claud-Ear
Возможности
Декодирование аудио — mp3, wav, flac, ogg, aac через Symphonia (чистый Rust)
Спектральный анализ — центроид (яркость), ширина спектра (насыщенность), спад (rolloff), флэтнес (тональность)
Энергия частотных полос — RMS-энергия в 7 стандартных продюсерских полосах (от саб-баса до «brilliance») для диагностики микса
Спектральный контраст — пик против впадины по каждой полосе в дБ, показывает ясность в противовес грязности
Динамический диапазон — пик-фактор (crest factor), диапазон громкости (95-й–5-й перцентили), пик в dBFS
Громкость LUFS — интегрированная громкость EBU R128 (суммирование стереоканалов по ITU-R BS.1770-4), истинный пик (dBTP), диапазон громкости (LRA), целевые уровни стриминговых платформ. Проверено с точностью 0,0 дБ от FabFilter Pro-L 2
Анализ стереополя — фазовая корреляция (моно-совместимость), ширины стерео (соотношение mid/side), баланс L/R, оценка моно-совместимости. Поведровая временная серия, чтобы находить места с фазовыми проблемами
Временные параметры — RMS-энергия (громкость), скорость пересечения нуля (текстура)
Тембр — 13 MFCC (мел-частотные кепстральные лэффициенты)
Гармонический анализ — хромаграмма, определение тональности (алгоритм Крумхансла–Шмуклера), tonnetz
Ритмический анализ — оценка темпа, отслеживание ударов, выявление атак (onset detection), стабильность темпа
Перкуссионный характер — разделение на гармоническую/перкуссионную составляющие (HPSS), милость атаки, плотность атак
Обнаружение границ секций — многофакторный анализ новизны (новизны) находит структurnые изменения (энергия, спектр, гармония, текстура). Дается рабочий процесс «сводка → зум»: получите карту, затем детально изучите интересующие моменты
Сравнение A/B — анализируйте два трека рядом, получайте компактную таблицу диффов, выделяющую различия в громкости, динамике, спектральном балансе, стереополе, тональности и темпе
Временные series — отслеживайте, как каждый показатель развивается во времени, с выражаемым разрешением
Экономия токенов — продержанные (прорежённые) выходные данные, откалиброванные так, чтобы компактно уместиться в контекстном окне
Посмотрите в действии
Посмотрите, как свежий Claude анализирует четыре трека за одну сессию — оrigинальная композиция для фортепиано / лёга, полная карта структуры Bohemian Rhapsody с границами секций, сравнение миксов A/B с продюсерскими советами, и полевая запись грозы, где он сортирует музыкальные показатели как «бессмысленное» и «физически реальное». Все четыре анализа помещаются в одно контекстное окно.
Установка
Claude Desktop — установка в один клик
Скачайте .mcpb-пакет для платформы из Релизы GitHub и откройте его. Остальное Claude Desktop сделает в разуме, без подхода к терминале и ведь без конфиг-файлов.
Платформа | Файл |
macOS (Apple Silicon) |
|
macOS (Intel) |
|
Windows |
|
Linux |
|
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 — установка вручную (все платформы)
Скачайте бинарник mcp-server для платформы из Релизы GitHub, затем:
claude mcp add --scope user audio-analyzer -- /path/to/mcp-serverСборка из исходников
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Перезапустите Claude Desktop. Инструменты анализа аудио появятся в ваших разговорах.
Примечание: это локальный MCP-сервер на stdio-транспортека, поэтому требуются Claude Code или Claude Desktop. Он не работает с clai.ai в браузере или мобильных приложениях.
Использование
Важно: этот инструмент анализирует у файлы на вашем локальном компьютере. Дайте Claude полный путь (например, /Users/you/Music/song.mp3) — не пытайтесь загружать файл в чат как вложение. Claude прочитает файл прямо с диска.
CLI (отдельность)
cargo run --bin cli -- /path/to/song.mp3
cargo run --bin cli -- compare /path/to/mix_v1.mp3 /path/to/mix_v2.mp3Инструменты MCP
Как только настроено, Claude может обращаться этому:
Инструмент | Назначение |
| Базовая информация о файле: длительность, частота дискретизации, число сэмплов |
| Яркость, насыщенность, громкость, текстура, тембр (MFCC), энергия по частотным полосам, спектральный контраст, динамический диапазон, громкость LUFS, стереополе |
| Определение тональности, распределение классов высот, tonnetz |
| Темп (BPM), положения бита, стабильность темpa |
| Всё из группы в одном вызове, плюс перкуссионный характер (HPSS), стереополе, границы секций. Рекомендуемая тра того: сначала вызов без |
| A/B двух треков — анализирует оба и возвращает компактную таблицу расхождений |
Примерк: вывод full_analysisная
Вот что full_analysis возвращает для 60-секундного трека джазового трио:
═══ 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)Если добавить resolution: "medium", вывод сверх того включает ДНК времени series таблицу, показывающую, как каждый признака изменяется по долгезву трека — Claude видит нарастающее интро, динамичную сольную секцию и спокойный аутро.
Разрешение временного ряда
Все анализаторы принимают опциональный resolution параметр, контролирующий временный ряд:
Пресет | Точек в сек | Сценарий / использование |
| ~0.5/сек | большой масштаб, соответствует человеческой глазам просмотр спектрограммы |
| ~1/сек | хороший дефолт для большинства аналитических задач |
| ~4/сек | детальный вид для коротких фрагментов или продвижения к переходам |
Можно также передать числовую строку (например, "20") для кастомной частоты.
Без resolution инструменты возвращают только сводную статистику (среднее по всему треку). С resolution — компактная TSV-таблица с эволюцией признаков: центроид, RMS, динамический ряд, chroma, сила попытки начало, доля перкуссии, энергии, спектральный ряд, и др., выстраивание к одной временной оси.
Пресеты рассчитаны на экономность токенов. Трек в 3 минуты на разрешении "medium" — примерно 180 строк данных: достаточно для прослеживаниятельной музыкальной структуры, не раздувая контекст.
Архитектура
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Две бинарники используют одну и ту же библиотеку анализа:
cli(src/main.rs) — выполняет все анализы и печатает результат
mcp-server(src/mcp_server.rs) — публикует инструменты через stdio JSON-RPC с помощью rmcp
Ключевые зависимости: symphonia (декодирование аудио), rustfft (FFT), rmcp (MCP SDK).
Изменений
История версий — в CHANGELOG.md.
Лицензия
MIT License. Подробности — в LICENSE.
This server cannot be installed
Maintenance
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
- AlicenseBqualityAmaintenanceMCP server for the Spotify Web API — gives Claude and other AI assistants tools to search music, control playback, manage playlists, library, and podcasts.59MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents the ability to listen to and understand music/audio files, enabling semantic analysis, stem separation, lyrics transcription, and signal processing via tool calls.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables audio transcription, intelligent splitting, and meeting analysis for MCP-compatible clients like Claude Desktop.3MIT
- AlicenseNot gradedqualityDmaintenanceEnables extracting metadata from Beatport track URLs, including preview audio, cover art, and track info, via an MCP server integrated with Claude Desktop.MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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