AI音乐制作工具

本地运行的AI音乐制作MCP服务器,支持音乐生成、音轨分离和语音转换的全流程处理,无需API费用。

  • by ExpertVagabond
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ExpertVagabond/ai-music-mcp

使用说明

ai音乐mcp

唯一的本地AI音乐制作MCP——生成、分离词干、转换语音、完整管道。无API成本。


MusicGen乐器生成、Demucs词干分离和RVC语音转换——通过完全在您的机器上运行的单个MCP服务器进行编排。没有云API,没有费率限制,没有按轨道收费。给它一个文本提示,返回一个带有独立词干和转换人声的已制作曲目。

  Prompt                                                     Final Output
    |                                                             |
    v                                                             v
+----------+     +----------+     +-----------+     +-----------+
| MusicGen | --> | Demucs   | --> | RVC Voice | --> | Mixed     |
| Generate |     | Separate |     | Convert   |     | Audio     |
+----------+     +----------+     +-----------+     +-----------+
  "dark trap       vocals.wav      converted-        Ready to
   beat with       drums.wav       vocals.wav         use
   808s"           bass.wav
                   other.wav

安装

npm install -g ai-music-mcp

配置

添加 claude_desktop_config.json 或 ~/.mcp.json:

{
  "mcpServers": {
    "ai-music": {
      "command": "ai-music-mcp",
      "env": {
        "MUSIC_STUDIO_DIR": "/path/to/ai-music-studio",
        "RVC_DIR": "/path/to/ai-music-rvc",
        "MUSIC_OUTPUT_DIR": "~/Desktop/AI-Music"
      }
    }
  }
}

环境变量

变量 必填 默认 描述
MUSIC_STUDIO_DIR 是 -- 路径 ai音乐工作室 使用MusicGen/Demucs脚本和Python venv
RVC_DIR 否 -- RVC WebUI安装路径(语音转换需要)
MUSIC_OUTPUT_DIR 没有 ~/Desktop/AI-Music 所有生成文件的输出目录
MUSIC_GENERATE_TIMEOUT 没有 600000 MusicGen超时(毫秒)(10分钟)
MUSIC_STEMS_TIMEOUT 没有 600000 Demucs超时(毫秒)(10分钟)
MUSIC_CONVERT_TIMEOUT 没有 300000 RVC超时(毫秒)(5分钟)

工具参考

工具 说明
music_generate 通过MusicGen从文本提示生成器乐(小/中/大,1-30s)
music_separate_stems 通过Demucs将任何音频分成人声、鼓、低音和其他声部
music_convert_voice 使用RVC将人声转换为目标声音——音调转换,F0方法选择
music_list_voice_models 列出训练过的RVC语音模型(.pth)及其索引文件
music_full_pipeline 端到端:在一次通话中生成+单独的词干+语音转换(5--15分钟)
music_list_files 按类别列出所有生成的音频(生成、词干、转换)
music_list_stems 按曲目名称和Demucs型号浏览分离的茎
music_get_info 音频文件元数据——持续时间、采样率、通道、编解码器、比特率(ffprobe)

用法示例

> Generate a 20-second dark trap beat with heavy 808s and hi-hats
  -> music_generate { prompt: "dark trap beat...", duration: 20, model: "small" }

> Separate the stems from ~/Music/song.mp3
  -> music_separate_stems { input_file: "~/Music/song.mp3", model: "htdemucs_ft" }

> Convert the vocals to matthew's voice, shift pitch up 2 semitones
  -> music_convert_voice { input_file: ".../vocals.wav", model_name: "matthew.pth", pitch: 2 }

> Full pipeline: lo-fi chill beat, separate it, apply my voice model
  -> music_full_pipeline { prompt: "lo-fi chill beat with warm piano", voice_model: "matthew.pth" }

输出结构

~/Desktop/AI-Music/
├── dark-trap-beat-808s.wav           # Generated instrumentals
├── lofi-chill-beat-piano.wav
├── stems/
│   └── htdemucs/
│       └── dark-trap-beat-808s/
│           ├── vocals.wav            # Isolated vocals
│           ├── drums.wav             # Isolated drums
│           ├── bass.wav              # Isolated bass
│           └── other.wav             # Everything else
└── converted/
    └── converted-vocals-dark-trap.wav  # RVC voice conversion output

先决条件

依赖关系 目的 安装
Node.js 18+ MCP服务器运行时 nodejs.org
Python 3.11+ ML模型执行 brew install python@3.11
PyTorch 神经网络后端 pytorch.org
ffmpeg/ffprobe 音频处理和元数据 brew install ffmpeg
ai音乐工作室 MusicGen+Demucs Python脚本 克隆并设置venv
RVC WebUI 语音转换(可选) 克隆并设置venv

为什么是这个?

艾音乐mcp 音乐学院 MiniMax音乐API
在本地运行 是--零网络呼叫 否--仅限云 否--只限云
每条轨道成本 $0 按代付费 按API调用付费
阀杆分离 内置(Demucs) 否 否
语音转换 内置(RVC) 否 否
完整管道 在一次通话中生成+茎+语音 仅生成 仅生成
模型控制 选择MusicGen小型/中型/大型、Demucs型号、RVC型号 固定 固定

唯一将生成、词干分离和语音转换链接到单个本地管道的MCP服务器。其他所有选项都是仅限云的,按轨道收费。

发展

cd typescript
npm install
npm run build        # Compile + bundle
npm run watch        # TypeScript watch mode
npm run inspector    # Launch MCP Inspector for interactive testing

相关项目

  • ai音乐工作室 --用于MusicGen和Demucs的Python CLI(后端)
  • rvc mcp --用于RVC模型训练和管理的MCP服务器
  • 音乐发行版 --用于向SoundCloud和YouTube分发曲目的MCP服务器

许可证

麻省理工学院 --紫松鼠传媒