by JuzzyDee (community) Claude Desktop, Claude Code, OpenCode, macOS, Linux, Windows
MCP-сервер, дающий Claude способность «слышать» музыку. Чистый Rust-анализ аудио — спектральный, гармонический, ритмический, тембральный — возвращается как структурированные данные.
Быстрый защищённый MCP-сервер, расширяющий возможности через WebAssembly-плагины.
Open-source AI gateway для LLM и агентов на Rust. Единый OpenAI-совместимый API для OpenAI, Anthropic, Gemini, …
MCP-сервер для доступа к актуальной документации библиотек прямо в контексте LLM. Вместо устаревших обучающих данных — …
Официальный MCP от команды Chrome DevTools: дает AI-агентам полный доступ к инструментам разработчика браузера. Автоматизация через …
# Homebrew (macOS) brew tap JuzzyDee/tap brew install audio-analyzer claude mcp add --scope user audio-analyzer -- $(which audio-analyzer-mcp) # Вручную (все платформы) — сначала скачайте бинарник mcp-server с GitHub Releases 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
MCP-сервер, который даёт Клоду возможность слышать музыку.
Укажите Клоду на любой аудиофайл, и он сможет определить тональность, темп, динамику, тембр, ударный характер, стереополе, структурные секции и то, как музыка развивается во времени — всё это на основе реального анализа аудио, без изображений, без догадок, менее 1% использования контекстного окна.
Сравнивайте два трека бок о бок. Обнаруживайте, где музыка меняется структурно — интро, куплет, припев, бридж — и приближайте моменты, которые важны.
LLM могут видеть (зрение) и читать (текст), но не могут слышать. Этот проект устраняет этот разрыв, выполняя реальный анализ аудио — те же методы DSP, используемые в исследованиях по поиску музыкальной информации, — и возвращая структурированные числовые данные, которые Клод может обдумывать.
Это MCP-сервер, который предоставляет анализ аудио в виде инструментов, которые Клод может вызывать по запросу. Попросите Клода проанализировать песню, и он декодирует аудио, выполнит спектральный/гармонический/ритмический/ударный анализ и вернёт результаты в виде компапактного текста. Никаких спектрограмм, никаких изображений, никаких потраченных впустую токенов.
Полный анализ 60-секундного трека выполняется менее чем за 2 секунды (включая разделение источников). Чистый Rust. Никакого Python, никакого FFmpeg, никаких системных зависимостей.
Посмотрите, как свежий Клод анализирует четыре трека за одну сессию — оригинальная композиция для фортепиано/духовых, полная структура Bohemian Rhapsody с границами секций, A/B-сравнение микса с производственными советами, и полевая запись грозы, где он классифицирует музыкальные метрики как «бессмысленные» против «физически реальных». Все четыре анализа помещаются в одно контекстное окно.
Загрузите пакет .mcpb для вашей платформы из GitHub Releases и откройте его. Claude Desktop сделает всё остальное — никаких файлов конфигурации, никакого терминала, никакой настройки.
| Платформа | Файл |
|---|---|
| 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 |
brew tap JuzzyDee/tap
brew install audio-analyzer
claude mcp add --scope user audio-analyzer -- $(which audio-analyzer-mcp)
Загрузите бинарный файл mcp-server для вашей платформы из GitHub Releases, затем:
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. Он не работает с claude.ai в браузере или мобильных приложениях.
Важно: Этот инструтель анализирует файлы на вашем локальном компьютере. Укажите Claude полный путь к файлу (например, /Users/you/Music/song.mp3) — не пытайтесь загружать или прикреплять файлы к чату. Claude прочитат файл напрямую с диска.
cargo run --bin cli -- /path/to/song.mp3
cargo run --bin cli -- compare /path/to/mix_v1.mp3 /path/to/mix_v2.mp3
После настройки Claude может вызывать эти инструменты напрямую:
| Инструмент | Что делает |
|---|---|
audio_info |
Базова информация о файле: длительность, частота дискретизации, количество сэмплов |
spectral_features |
Яркость, насыщенность, громкость, текстура, тембр (MFCC), энергия частотных полос, спектральный контраст, динамический диапазон, громкость LUFS, стереополе |
harmonic_analysis |
Определение тональности, распределение классов высот, тоннетц |
rhythm_analysis |
Темп (BPM), позиции долей, стабильность темпа |
full_analysis |
Всё вышеперечисное одним вызовом, плюс перкуссивный характер (HPSS), стереополе и границы секций. Рекомендуемый порядок: сначала вызов без разрешения для получения сводки и карты секций, затем увеличение интересных секций с start_time/end_time при высоком разрешении |
compare |
Сравнение двух треков — анализирует оба и возвращает компактную таблицу различий |
Вот что возвращает 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", вывод также включает таблицу временных рядов, показывающую, как каждый признак меняется в течение длительности трека — позволяя Claude видеть вступление, динамичную секцию соло и тихое завершение.
Все инструменты анализа принимают необязательный параметр resolution, управляющий выводом временных рядов:
| Пресет | Точек данных/сек | Сценарий использования |
|---|---|---|
"low" |
~0,5/сек | Общий обзор, эквивалент того, что можно оценить по изображению спектрограммы |
"medium" |
~1/сек | Хорошее значение по умолчанию для большинства задач анализа |
"high" |
~4/сек | Детальный просмотр коротких фрагментов или приближение к переходам |
Вы также можете передать числовую строку (например, "20") для настрациональных част.
Без resolution инструменты возвращают только сводную статистику (средние значения по всему треку). С ним вы получаете компактную TSV-таблицу, показывающую, как признаки развиваются во времени — центроид, RMS, динамический диапазон, хрома, сила атаки, перкуссивное соотношение, энергия полос, спектральный контраст и многое другое, всё согласовано по одной временной оси.
Пресеты откалиброваны для эффективности токенов. Трек длительностью 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 (БПФ), rmcp (MCP SDK).
См. CHANGELOG.md для истории версий.
Лицензия MIT. См. LICENSE для подробностей.