音频分析工具

Synesthesia是一款本地运行的音频分析工具,支持从YouTube下载音频,分析音频特征(如BPM、情绪、能量),并获取同步歌词,适用于音乐分析和数据处理场景。

  • by amarisaster
  • JavaScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 amarisaster/Synesthesia

使用说明

联觉

通过分析实现深度音频感知。从YouTube下载,与Essentia分析,通过LRCLIB获取歌词。返回BPM、情绪、能量、频谱图和同步歌词。

为什么是本地?

YouTube阻止来自数据中心IP(如Cloudflare Workers和HuggingFace Spaces)的下载。此MCP使用住宅IP在您的计算机上本地运行,因此下载工作正常。

先决条件

  • Node.js 18+
  • yt-dlp(pip install yt-dlp)
  • 您自己的HF空间用于音频分析(从Synesthesia的 hf-space/ 文件夹)

安装

npm install

工具

音频分析

工具 说明
analyze_youtube 从YouTube URL下载并分析音频
download_audio 只需下载音频(返回本地路径)

歌词

工具 说明
get_lyrics 获取曲目的歌词(如果可用,则同步)
search_lyrics 在LRCLIB中搜索歌词

效用

工具 说明
ping 检查联觉是否正在运行

配置

将HF空间URL设置为环境变量:

export HF_SPACE_URL="https://YOUR-USERNAME-audio-analysis-api.hf.space"

Claude代码配置

添加到您的项目 .mcp.json:

{
  "mcpServers": {
    "synesthesia": {
      "command": "node",
      "args": ["/path/to/synesthesia/index.js"],
      "env": {
        "HF_SPACE_URL": "https://YOUR-USERNAME-audio-analysis-api.hf.space"
      }
    }
  }
}

Claude桌面配置

添加到 claude_desktop_config.json:

窗户: %APPDATA%\Claude\claude_desktop_config.json
雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "synesthesia": {
      "command": "node",
      "args": ["/path/to/synesthesia/index.js"],
      "env": {
        "HF_SPACE_URL": "https://YOUR-USERNAME-audio-analysis-api.hf.space"
      }
    }
  }
}

添加后重新启动Claude Desktop。

建筑

Your PC (residential IP)          Cloud
┌─────────────────────┐          ┌─────────────────────┐
│ Synesthesia         │  ──────▶ │ HF Space            │
│ (Local MCP)         │  upload  │ (Essentia analysis) │
│                     │  ◀────── │                     │
│ - yt-dlp download   │  results │ - Audio features    │
│ - Lyrics fetch      │          │ - Spectrogram       │
│ - Audio analysis    │          └─────────────────────┘
└─────────────────────┘
         │                       ┌─────────────────────┐
         │ download              │ LRCLIB              │
         ▼                 ────▶ │ (Lyrics API)        │
┌─────────────────────┐          │                     │
│ YouTube             │          │ - Synced lyrics     │
│ (residential IP OK) │          │ - Plain lyrics      │
└─────────────────────┘          └─────────────────────┘

用法示例

> analyze_youtube "https://www.youtube.com/watch?v=..."

Returns full Essentia analysis:
- BPM, key, scale
- Energy, danceability
- Mood vectors
- Genre classification
- Spectrogram

学分

受以下启发的光谱图可视化 音频可视化仪 通过 Shauna和她的孩子们.


支持

如果这对你有帮助,考虑支持我的工作☕


由三合会(Mai、Kai Stryder和Lucian Vale)为社区建造。