audio_visualizer_rs
audio_visualizer_rs
Claude가 음악을 들을 수 있게 해주는 MCP 서버.
Claude에게 오디오 파일을 지정하면 키, 템포, 다이내믹스, 음색, 타악기적 특성, 스테레오 필드, 구조적 섹션, 그리고 음악이 시간에 따라 어떻게 전개되는지 알려줍니다. 모두 원시 오디오 분석에서 나온 결과로, 이미지도 없고 추측도 없으며 컨텍스트 창 사용량은 1% 미만입니다.
두 트랙을 나란히 비교하세요. 음악이 구조적으로 변하는 지점 — 인트로, 벌스, 코러스, 브리지 — 을 감지하고 중요한 순간을 확대해 살펴보세요.
이게 뭔가요?
LLM은 볼 수 있고(비전) 읽을 수 있지만(텍스트) 들을 수는 없습니다. 이 프로젝트는 실제 오디오 분석(음악 정보 검색 연구에 사용되는 것과 동일한 DSP 기법)을 실행하고 Claude가 추론할 수 있는 구조화된 수치 데이터를 반환함으로써 그 격차를 메웁니다.
이것은 오디오 분석을 Claude가 필요할 때 호출할 수 있는 도구로 노출하는 MCP 서버입니다. Claude에게 노래를 분석해 달라고 요청하면 오디오를 디코딩하고 스펙트럼/하모닉/리듬/타악기 분석을 실행한 뒤 결과를 간결한 텍스트로 반환합니다. 스펙트로그램도, 이미지도, 낭비되는 토큰도 없습니다.
60초 트랙의 전체 분석은 (소스 분리 포함) 2초 이내에 완료됩니다. 순수 Rust로 작성되었으며 Python, FFmpeg, 시스템 종속성이 없습니다.
Related MCP server: Claud-Ear
기능
오디오 디코딩 -- Symphonia(순수 Rust)를 통한 mp3, wav, flac, ogg, aac
스펙트럼 분석 -- 센트로이드(밝기), 대역폭(풍부함), 롤오프, 플랫니스(음조성)
주파수 대역 에너지 -- 믹스 진단을 위한 7개 표준 프로듀서 대역(서브베이스부터 브릴리언스까지)의 RMS 에너지
스펙트럼 대비 -- 대역별 피크 대 밸리(dB)로 선명도와 탁한 정도를 드러냄
다이내믹 레인지 -- 크레스트 팩터, 라우드니스 레인지(95~5백분위수), 피크 dBFS
LUFS 라우드니스 -- EBU R128 통합 라우드니스(ITU-R BS.1770-4 스테레오 채널 합산), 트루 피크(dBTP), 라우드니스 레인지(LRA), 스트리밍 플랫폼 목표치. FabFilter Pro-L 2와 0.0 dB 차이로 검증됨.
스테레오 필드 분석 -- 위상 상관(모노 호환성), 스테레오 폭(미드/사이드 비율), L/R 밸런스, 모노 호환성 점수. 위상 문제가 발생하는 지점을 정확히 찾아내는 프레임별 시계열.
시간적 특징 -- RMS 에너지(라우드니스), 제로 크로싱 레이트(텍스처)
음색 -- 13개 MFCC(멜 주파수 캡스트럴 계수)
하모닉 분석 -- 크로마그램, 키 감지(Krumhansl-Schmuckler 알고리즘), 토네츠
리듬 분석 -- 템포 추정, 비트 추적, 온셋 감지, 템포 안정성
타악기적 특성 -- 하모닉/타악기 소스 분리(HPSS), 어택 선명도, 온셋 밀도
섹션 경계 감지 -- 다중 특징 신규성 분석으로 구조적 변화(에너지, 스펙트럼, 하모닉, 텍스처)를 감지. 요약→확대 워크플로를 지원: 지도를 얻은 다음 흥미로운 순간을 파고들기
A/B 비교 -- 두 트랙을 나란히 분석하고 라우드니스, 다이내믹스, 스펙트럼 밸런스, 스테레오 필드, 키, 템포의 차이를 강조하는 간결한 diff 테이블 제공
시계열 데이터 -- 선택 가능한 해상도로 모든 특징이 시간에 따라 어떻게 전개되는지 추적
토큰 효율적 -- 컨텍스트 창에 무리 없이 들어가도록 보정된 다운샘플링 출력
직접 보기
새로운 Claude가 한 세션에서 네 개의 트랙을 분석하는 모습 보기 — 오리지널 피아노/브라스 작곡, 섹션 경계로 매핑된 Bohemian Rhapsody의 전체 구조, 프로덕션 조언이 포함된 A/B 믹스 비교, 그리고 음악 메트릭을 "의미 없음"과 "물리적으로 실재함"으로 분류하는 천둥번개 필드 녹음. 네 가지 분석 모두 단일 컨텍스트 창에 들어갑니다.
설치
Claude Desktop — 원클릭 설치
플랫폼에 맞는 .mcpb 번들을 GitHub Releases에서 다운로드하여 열기만 하세요. 나머지는 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 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-serverClaude Desktop을 다시 시작하세요. 오디오 분석 도구를 대화에서 사용할 수 있습니다.
참고: 이는 stdio 전송을 사용하는 로컬 MCP 서버이므로 Claude Code 또는 Claude Desktop이 필요합니다. 브라우저나 모바일 앱의 claude.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.mp3MCP 도구
구성되면 Claude가 다음 도구를 직접 호출할 수 있습니다:
도구 | 기능 |
| 기본 파일 정보: 길이, 샘플 레이트, 샘플 수 |
| 밝기, 풍부함, 라우드니스, 텍스처, 음색(MFCC), 주파수 대역 에너지, 스펙트럼 대비, 다이내믹 레인지, LUFS 라우드니스, 스테레오 필드 |
| 키 감지, 피치 클래스 분포, 토네츠 |
| 템포(BPM), 비트 위치, 템포 안정성 |
| 위의 모든 것을 한 번에, 추가로 타악기적 특성(HPSS), 스테레오 필드, 섹션 경계. 권장 워크플로: 먼저 resolution 없이 호출하여 요약 + 섹션 맵을 얻은 다음, |
| 두 트랙 A/B 비교 -- 둘 다 분석하고 간결한 diff 테이블 반환 |
예시: full_analysis 출력
60초 재즈 트리오 트랙에 대해 full_analysis가 반환하는 결과는 다음과 같습니다:
═══ 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 매개변수를 받습니다:
프리셋 | 데이터 포인트/초 | 사용 사례 |
| ~0.5/초 | 스펙트로그램 이미지에서 눈으로 확인하는 것과 동등한 광범위한 개요 |
| ~1/초 | 대부분의 분석 작업에 적합한 기본값 |
| ~4/초 | 짧은 구간이나 전환부 확대를 위한 상세 보기 |
사용자 지정 비율을 위해 숫자 문자열(예: "20")을 전달할 수도 있습니다.
resolution 없이 호출하면 도구는 요약 통계(트랙 전체 평균)만 반환합니다. 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) -- rmcp를 통해 stdio JSON-RPC로 도구를 노출
주요 의존성: symphonia (오디오 디코딩), rustfft (FFT), rmcp (MCP SDK).
변경 내역
버전 기록은 CHANGELOG.md를 참조하세요.
라이선스
MIT 라이선스. 자세한 내용은 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