AbletonMCP - 高级Ableton Live模型上下文协议集成
AbletonMCP通过模型上下文协议(MCP)将Ableton Live与Claude AI连接起来,实现全面的AI辅助音乐制作、曲目创作以及Live会话操作 37个强大的工具。
🎵 功能
会话管理
- 会话信息获取详细的会话数据,包括节奏、拍号、音轨数量
- 播放控制精确控制播放/停止
- 节奏控制实时调整会话节奏
轨道管理
- 轨道创建创建MIDI音轨和音频音轨
- 轨道运营删除、复制和重命名轨道
- 轨道控制录音时的启用/禁用功能,静音/独奏功能
- 轨道信息获取详细的轨道信息和状态
混音与音频控制
- 音量控制调整单个音轨音量
- 平移控制设置轨道声像位置
- 发送等级控制发送效果和返回
- 音频路由管理轨道路由并发送
剪辑管理
- 剪辑制作创建自定义长度的MIDI片段
- 注释编程添加具有音高、时间、力度和静音控制的MIDI音符
- 剪辑操作复制、删除和编辑片段
场景管理
- 场景控制现场表演的火灾场景
- 场景创建创建和删除场景
- 场景组织管理场景结构
录音
- 录音控制开始和停止录音
- 轨道臂用于记录的机械臂轨迹
- 录音管理处理录音状态
设备管理
- 设备加载添加乐器和效果
- 参数控制调整设备参数
- 设备管理移除设备,激活/停用
- 参数发现获取设备参数信息
🏗️ 建筑学
该系统由两个主要组件构成:
1. Ableton 远程脚本 (AbletonMCP_Remote_Script/__init__.py)
一个在Ableton Live中运行的MIDI遥控脚本,它创建了一个套接字服务器来接收并执行来自MCP服务器的命令。
主要特点:
- 基于套接字的通信(本地主机:9877)
- 线程安全的命令处理
- 全面的错误处理
- 实时Ableton Live API集成
2. MCP 服务器 (MCP_Server/server.py)
一个实现模型上下文协议的Python服务器,连接到Ableton远程脚本,并向Claude AI暴露37种工具。
主要特点:
- FastMCP的实现
- 全面的工具集
- 强大的错误处理
- 实时通信
📋 前提条件
- Ableton Live 10或更新版本 (在 Live 12.3b9 上测试)
- Python 3.8 或更高版本
- Claude Desktop(可译为“Claude桌面版”) 带有MCP支持
- Windows/macOS/Linux 支持
🚀 安装
步骤1:克隆仓库
git clone https://github.com/Milesy1/MCP-Ableton-API.git
cd MCP-Ableton-API步骤2:安装依赖项
# Install using pip
pip install -e .
# Or install dependencies directly
pip install mcp[cli]>=1.3.0步骤3:安装Ableton遥控脚本
Windows:
- 导航至以下其中一个位置:
- C:\Users\[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts - C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\ - C:\Program Files\Ableton\Live XX\Resources\MIDI Remote Scripts\
- 创建一个名为(此处应接具体文件夹名称)的文件夹
AbletonMCP
- 复制
AbletonMCP_Remote_Script/__init__.py进入……的AbletonMCP文件夹
macOS:
- 导航至以下地点之一:
- Applications > Right-click Ableton Live > Show Package Contents > Contents/App-Resources/MIDI Remote Scripts/ - /Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts
- 创建一个名为(此处需具体文件夹名称)的文件夹
AbletonMCP
- 复制
AbletonMCP_Remote_Script/__init__.py进入AbletonMCP文件夹
步骤4:配置Ableton Live
- 启动Ableton Live
- 首选 设置/偏好 → 链接、节奏与MIDI
- 在 控制面(或操纵面) 下拉菜单,选择 “AbletonMCP”
- 设置 输入 并且 输出 to “None”翻译成中文是“无”或“没有”
步骤5:配置Claude桌面版
- 打开Claude桌面版
- 首选 设置 → 开发者 → 编辑配置
- 编辑
claude_desktop_config.json:
{
"mcpServers": {
"AbletonMCP": {
"command": "python",
"args": ["C:\\path\\to\\your\\MCP-Ableton-API\\MCP_Server\\server.py"]
}
}
}注: 将路径替换为您的实际安装路径。
🎛️ 可用工具
会话工具
get_session_info- 获取详细的会话信息set_tempo- 更改会话节奏start_playback- 开始播放stop_playback- 停止播放
轨道工具
create_midi_track- 创建MIDI音轨create_audio_track- 创建音频轨道delete_track- 删除音轨duplicate_track- 重复的音轨set_track_name- 重命名曲目get_track_info- 获取轨道详情set_track_arm- 武装/解除武装轨道set_track_mute- 静音/取消静音音轨set_track_solo- 独奏/非独奏曲目
混合工具
set_track_volume- 调整音轨音量set_track_panning- 控制轨道声像(左右平衡)set_track_send- 调整发送电平
剪辑工具
create_clip- 创建MIDI片段add_notes_to_clip- 添加MIDI音符copy_clip- 复制片段delete_clip- 删除片段
场景工具
fire_scene- 触发场景create_scene- 创建场景delete_scene- 删除场景
录音工具
start_recording- 开始录音stop_recording- 停止录制
设备工具
add_device- 添加乐器/效果remove_device- 移除设备set_device_parameter- 调整设备参数set_device_active- 启用/禁用设备get_device_parameters- 获取设备参数信息
🎵 使用示例
基本轨道创建
"Create a new MIDI track with a synth bass instrument"
"Add an audio track for vocals"
"Set track 1 to arm for recording"混音与效果处理
"Set the volume of track 2 to 80%"
"Pan track 3 to the left (-0.5)"
"Add reverb to track 1 with 30% wet signal"
"Set the master volume to 85%"MIDI编程
"Create a 4-bar MIDI clip in track 1"
"Add a C major chord progression to the clip"
"Create a drum pattern with kick on 1 and 3, snare on 2 and 4"场景管理
"Create a new scene called 'Verse'"
"Fire scene 2"
"Delete the last scene"高级组合(或高级构成)
"Create a Metro Boomin style hip-hop beat with 808s and hi-hats"
"Build an 80s synthwave track with arpeggiated bass"
"Create a jazz chord progression in track 1"🔧 故障排除
连接问题
- 确保Ableton Live正在运行,并且已选择AbletonMCP控制界面
- 检查Claude Desktop配置中的MCP服务器路径是否正确
- 验证Python依赖项是否已安装
工具不可用
- 配置更改后重启 Claude 桌面版
- 如果工具未显示,请清除Claude桌面缓存
- 检查MCP服务器日志中的错误
超时错误
- 将复杂请求分解为更小的步骤
- 确保Ableton Live运行流畅
- 检查套接字连接(localhost:9877)
性能问题
- 关闭不必要的Ableton Live音轨
- 避免同时进行复杂的操作
- 监控系统资源
🏗️ 开发
项目结构
MCP-Ableton-API/
├── AbletonMCP_Remote_Script/ # Ableton Live Remote Script
│ └── __init__.py
├── MCP_Server/ # MCP Server Implementation
│ └── server.py
├── pyproject.toml # Project Configuration
├── README.md # This File
├── LICENSE # MIT License
├── Dockerfile # Container Configuration
└── smithery.yaml # Smithery Configuration添加新工具
- 在其中添加命令处理程序
AbletonMCP_Remote_Script/__init__.py - 在(系统/应用)中添加工具端点
MCP_Server/server.py - 在远程脚本中更新命令路由
- 测试并记录新功能
测试
# Test MCP server
python -m MCP_Server.server
# Test socket communication
python create_midi.py🤝 贡献
欢迎贡献!请随时提交拉取请求。
开发环境设置
- 克隆该仓库
- 创建一个特性分支
- 做出你的更改
- 如适用,请添加测试
- 提交拉取请求
代码风格
- 遵循PEP 8规范编写Python代码
- 添加全面的文档字符串
- 包含错误处理
- 更新文档
📄 许可证
这个项目遵循MIT许可证授权——详见 许可证 详情请查阅文件。
🙏 致谢
- Ableton(音译可为“艾布顿”,但通常直接使用原名,因其为专业音乐制作软件名称) 为出色的Live软件和API
- Anthropic(注:这是一个公司或组织的名称,直接翻译为“人类中心论的”并不准确,因为在此上下文中它可能指一个专注于人工智能或相关技术的公司,但具体翻译需根据上下文确定。若仅作为名称保留,可译为“安萨提克”或直接使用原名。) 对于Claude AI和MCP协议
- MCP社区 对于模型上下文协议
- 贡献者 谁帮助改进了这个项目
🔗 链接
📞 支持
如果您遇到任何问题或有任何疑问:
- 检查 故障排除部分
- 搜索现有(内容/项目/等)
- 创建一个包含详细信息的新问题
- 加入社区讨论
______________________________________________________________________
为音乐制作社区用心打造
*利用AI辅助功能,彻底改变您的Ableton Live工作流程!*
