使用说明
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服务器
许可证
麻省理工学院 --紫松鼠传媒