使用说明
🌐 英语 | 日本语
🎹 Ableton MCP
一个AI代理,让您使用自然语言完全控制Ableton Live。
🚀 两种模式
1.️⃣ MCP模式(推荐)-不需要API密钥!
直接从Claude Desktop使用。通过聊天控制Ableton-不需要API密钥。
2.️⃣ CLI模式-独立
使用Anthropic API键从终端进行操作。
⚠️ 备注:CLI模式是实验性的,尚未经过全面测试。
🌟 MCP模式设置(无需API键)
1.安装
cd ableton-mcp
pip install -e .
2.配置克劳德桌面
编辑Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ableton-mcp": {
"command": "python",
"args": ["-m", "src.mcp_server"],
"cwd": "/path/to/ableton-mcp"
}
}
}
⚠️ 替换 cwd 带有ableton mcp文件夹的实际路径。
📖 windows用户:参见 安装_WINDOWS.md 详细说明。
3.安装AbletonOSC
选项A:实时设备的最大值(简单)
- 下载 AbletonOSC
- 拖拽
AbletonOSC.amxd在Ableton Live的轨道上
选项B:远程脚本(推荐)
- 下载自https://github.com/ideoforms/AbletonOSC
- 放置在“远程脚本”文件夹中:
- 视窗:
C:\Users\<YourName>\Documents\Ableton\User Library\Remote Scripts\AbletonOSC - macOS:
~/Music/Ableton/User Library/Remote Scripts/AbletonOSC
- 视窗:
- 文件夹结构:
AbletonOSC\__init__.py应该直接在里面 - 在Ableton Live→ 偏好→ 链接/节奏/MIDI→ 控制表面→ 选择 AbletonOSC
4.重新启动克劳德桌面
重启后,您可以通过聊天直接控制Ableton!
You: Create a 4-minute EDM track
Claude: [using generate_arrangement tool]
Generated arrangement...
You: Add trap-style drums
Claude: [using create_drum_track tool]
Created drum track 'Drums'...
✨ 特性
🥁 鼓/节奏生成
- 基本节拍、四拍、陷阱、破拍、D&B
- 自定义图案创建
🎹 旋律/合成一代
- 旋律:基于比例的自动生成(密度和轮廓可调)
- 基线:基本、行走、切分音、八度音阶、琶音
- 和弦进行:流行、爵士、悲伤、史诗、黑暗、edm、lofi、电影
- 琶音:向上、向下、向上向下、随机(第8/16/三元组)
🔍 样本搜索
- 本地库搜索(Ableton核心库、Splice等)
- Freesound API支持
- 自然语言查询
🎚️ 混合辅助
- 频率碰撞检测(踢腿与低音等)
- 自动侧链压缩设置
- EQ建议
- 液位/动态分析
📐 歌曲结构生成
- 流派模板:EDM、House、Techno、D&B、嘻哈、陷阱、低保真、环境音乐、流行音乐
- 完整结构:引言→ 积累→ Drop → 故障→ Outro
- 自动化发电
💻 CLI模式使用
发射
# Ableton connection mode
python src/cli.py
# Mock mode (test without Ableton)
python src/cli.py --mock
示例会话
╔════════════════════════════════════════════════════════════════╗
║ 🎹 Ableton Agent CLI v2.0 🎹 ║
╚════════════════════════════════════════════════════════════════╝
🎤 You: Create a 4-minute EDM track
🤖 Agent: I'll generate an EDM track arrangement.
🎛️ Executing: generate_arrangement
Parameters: {"genre": "edm", "duration_minutes": 4.0}
✅ Generated arrangement:
🎵 Untitled Edm
Tempo: 128 BPM | Key: Am
Total: 72 bars
📋 Structure:
[ 0] intro | 8 bars | Energy: ███░░░░░░░
[ 8] buildup | 8 bars | Energy: █████░░░░░
[ 16] drop | 16 bars | Energy: ██████████
[ 32] breakdown | 8 bars | Energy: ████░░░░░░
[ 40] buildup | 8 bars | Energy: ███████░░░
[ 48] drop | 16 bars | Energy: ██████████
[ 64] outro | 8 bars | Energy: ███░░░░░░░
🎤 You: Create trap-style drums
🤖 Agent: I'll create a trap-style drum pattern.
🎛️ Executing: create_drum_track
Parameters: {"pattern_type": "trap", "bars": 2, "name": "Trap Drums"}
✅ Created drum track 'Trap Drums' (pattern: trap, 2 bars)
⌨️ 命令
特殊命令
| 命令 | 描述 |
|---|---|
/help |
显示帮助 |
/status |
显示项目状态 |
/genres |
列出可用流派 |
/arrangement |
显示当前安排 |
/mock |
切换模拟模式 |
/clear |
清除对话历史记录 |
quit |
退出 |
自然语言示例
鼓
- “创建基本鼓图案”
- “制作一个4杆陷阱节拍”
- “地板上有四个人踢”
- “创建breakbeat”
旋律/低音
- “创作C小调旋律”
- “明亮的五声旋律”
- “切分低音线”
- “添加八度低音”
- “十六音琶音”
和弦
- “创造一个黑暗的和弦进程”
- “爵士和弦”
- “电影和弦推进”
样品
- “寻找民族打击乐”
- “黑暗合成器140BPM”
- “查找踢腿样本”
混合
- “分析组合”
- “踢踏声和低音在冲突”
- “听起来很泥泞”
- “设置侧链”
- “添加混响”
歌曲结构
- “创建一首4分钟的EDM曲目”
- “生成低保真嘻哈结构”
- “进行技术安排”
情绪
- “让它更暗”
- “照亮它”
- “让它更激烈”
- “寒意”
📁 项目结构
ableton-mcp/
├── .gitignore
├── LICENSE
├── README.md # English
├── README.ja.md # Japanese
├── INSTALL_WINDOWS.md # Windows setup guide
├── pyproject.toml
├── setup.bat # Windows setup script
├── claude_desktop_config.example.json # Example config
└── src/
├── __init__.py
├── mcp_server.py # MCP server (for Claude Desktop)
├── cli.py # CLI interface
├── agent.py # AI agent (Claude API)
├── ableton_osc.py # Ableton OSC communication
├── synth_generator.py # Melody/bass/chord/arpeggio generation
├── sample_search.py # Sample search engine
├── mixing_assistant.py # Mixing analysis & assistance
└── arrangement_generator.py # Song structure generation
🔧 延伸
添加新工具
- 将工具定义添加到
ABLETON_TOOLS在src/agent.py:
{
"name": "your_tool_name",
"description": "Tool description",
"input_schema": {
"type": "object",
"properties": {
"param1": {"type": "string", "description": "Description"}
},
"required": ["param1"]
}
}
- 添加执行逻辑
execute_command在src/cli.py:
elif tool == "your_tool_name":
return self._your_implementation(params)
添加流派模板
添加到 GenreTemplates.TEMPLATES 在 src/arrangement_generator.py:
"your_genre": {
"sections": [
("intro", 8, 0.3, ["pad"]),
("verse", 16, 0.6, ["drums", "bass"]),
# ...
],
"tempo_range": (100, 120),
"default_key": "Am",
}
🎛️ 建筑
┌─────────────────────────────────────────────────────────────────┐
│ User Input (Natural Language) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Claude API (Tool Use) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Drums │ │ Melody │ │ Samples │ │ Mixing │ ... │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Command Executor │
│ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │
│ │ SynthGenerator │ │ SampleSearch │ │ MixingAssist │ │
│ └────────────────┘ └────────────────┘ └────────────────┘ │
│ ┌────────────────┐ ┌────────────────┐ │
│ │ ArrangementGen │ │ DrumPattern │ │
│ └────────────────┘ └────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ OSC Communication │
│ (python-osc) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Ableton Live │
│ (via AbletonOSC) │
└─────────────────────────────────────────────────────────────────┘
❓ 故障排除
启动顺序(重要!)
- 首先启动Ableton Live
- 确认AbletonOSC在日志中显示“已在地址('0.0.0.0',11000)上启动AbletonOSC”
- 然后启动克劳德桌面
OSC连接错误
- 检查AbletonOSC是否已加载
- 验证端口11000是否可用
- 检查防火墙设置
Windows-检查端口:
netstat -ano | findstr "11000 11001"
Windows-检查Ableton日志:
Get-Content "$env:USERPROFILE\AppData\Roaming\Ableton\Live *\Preferences\Log.txt" -Tail 50 | Select-String "OSC"
Claude桌面问题
- 编辑文件后:完全重新启动Claude Desktop(退出系统托盘)
- 连接问题:重新启动克劳德桌面
API错误(CLI模式)
- 验证
ANTHROPIC_API_KEY设置正确 - 检查API使用限制
未找到样本
- 检查示例文件夹路径
- 初始化时指定自定义路径
SampleSearchEngine
📄 许可证
麻省理工学院