Token导航 LogoToken导航TokenDH.com
Ableton Liveapi Tools logo
音视频stdio官方级别未说明来源级核验

Ableton Liveapi Tools

MCP Server

一个全面的Python远程脚本,通过TCP套接字接口提供220个LiveAPI工具,用于程序化控制Ableton Live的各个方面,适用于音乐制作、自动化控制和实时表演。

工具数

0

提示词数

0

GitHub Stars

9

资源数

0
PythonClaude自动化控制Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Ziforge

提供方

Ziforge

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 examples/test_connection.py

详细介绍

Ableton Live的ClaudeMCP远程脚本

Ableton Live的全面Python远程脚本 220个LiveAPI工具 通过简单的TCP套接字接口。以编程方式控制Ableton Live会话的各个方面-从播放和录制到曲目、剪辑、设备、MIDI音符和Live/CV Tools设备的Max。

![CI](https://github.com/Ziforge/ableton-liveapi-tools/actions) ![License: GPL-3.0](https://www.gnu.org/licenses/gpl-3.0) ![Ableton Live](https://www.ableton.com/) ![Python](https://www.python.org/) ![Release](https://github.com/Ziforge/ableton-liveapi-tools/releases)

特性

  • 220个LiveAPI工具 -涵盖Ableton Live的Python API的44个功能类别
  • 线程安全架构 -基于队列的可靠通信设计
  • 简单TCP接口 -发送JSON命令,接收JSON响应
  • 实时控制 -现场表演的低延迟
  • Live 12支持 -车道、显示值、应用程序信息(Live 12+)
  • Live 11兼容 -向后兼容优雅的特征检测
  • 实时支持的最大值 -通过参数名称检测和控制M4L设备
  • CV工具集成 -完全支持Ableton的简历工具包
  • MCP兼容 -适用于模型上下文协议服务器
  • 证据充分的 -综合实例和API参考

覆盖方法

该实施提供 44个类别的220个工具 基于:

保险范围包括:

  • 会话和安排控制(14个工具)
  • 轨道管理(13个工具)
  • 夹持操作(18个工具)
  • MIDI音符编辑(7个工具)
  • 设备控制(12个工具)
  • Live 12独家功能:通道(8个工具)、应用程序信息(4个工具)
  • Live集成的最大值(5个工具)
  • 38个附加功能类别

已知限制:

  • 由于LiveAPI的限制,整合和一些安排操作简化了实现
  • 并非所有活对象模型(LOM)属性都可以公开(持续开发)

工具类别

类别工具描述
会话控制14播放、录音、节奏、时间特征、循环、节拍器
航迹管理13创建/删除曲目、音量、平移、独奏、静音、手臂、颜色
剪辑操作8创建、启动、停止、复制剪辑
剪辑附加10循环、标记、增益、音高、时间特征
MIDI音符7添加、获取、删除、选择MIDI音符
设备控制12添加设备、参数、预设、随机化
场景管理6创建、启动、复制场景
自动化6重新启用自动化,捕获MIDI
路由8输入/输出路由、发送、子路由
浏览器4浏览设备/插件,从浏览器加载
运输8跳到时间,轻推,安排过度
沟槽/量化5槽量,量化剪辑/音高
监控4监控状态,可用路由
回路/定位器6启用循环,创建定位器,按数量跳跃
项目6项目根、会话记录、提示点
Max for Live5检测M4L设备,按参数名称控制,支持CV Tools
主轨道4主音量、盘、设备、信息
返回曲目3返回曲目信息,音量控制
音频剪辑5扭曲模式、扭曲标记、文件路径、扭曲控制
跟进行动3现场表演剪辑跟随动作
推子3DJ风格的交叉火力控制和分配
轨道组4组/非组轨道,组管理
查看/导航4显示视图、聚焦轨迹、滚动时间线
颜色实用程序2获取剪辑/曲目颜色
沟槽池2Groove库访问和分配
机架/链条4仪器/效果架链控制
剪辑自动化6自动化信封、步骤、值
轨道冻结/压扁3为CPU冻结曲目,变平为音频
剪辑褪色4音频片段的淡入/淡出
场景颜色2获取/设置场景颜色
轨迹注释2轨迹注释文本
剪辑注释2剪辑注释文本
轨道延迟2样本中的延迟补偿
排列剪辑3获取/复制/合并排列片段
插件窗口2显示/隐藏插件窗口
节拍器2节拍器音量控制
MIDI消息2发送MIDI CC和程序更改
采样器/简化器3样本长度和回放模式
剪辑RAM模式2RAM与磁盘流
设备信息2设备类名和类型
走车道8创建/管理专用车道(Live 12+)
应用程序信息4版本、变体、构建ID、消息框
显示值2获取UI中显示的参数值
附加属性10剪辑开始时间、曲目/场景状态、签名

总计:220个工具

快速开始

安装

  1. 克隆此存储库:
   git clone https://github.com/Ziforge/ableton-liveapi-tools.git
   cd ableton-liveapi-tools
  1. 运行安装脚本:
   bash install.sh

或者手动复制到Ableton的远程脚本文件夹:

   # macOS
   cp -r ClaudeMCP_Remote ~/Music/Ableton/User\ Library/Remote\ Scripts/

   # Windows
   # Copy to: %USERPROFILE%\Documents\Ableton\User Library\Remote Scripts\
  1. 重新启动Ableton Live
  1. 验证安装:
   python3 examples/test_connection.py

基本用法

import socket
import json

def send_command(action, **params):
    """Send command to Ableton via port 9004"""
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect(('127.0.0.1', 9004))

    command = {'action': action, **params}
    message = json.dumps(command) + '\n'
    sock.sendall(message.encode('utf-8'))

    response = b''
    while b'\n' not in response:
        response += sock.recv(4096)

    sock.close()
    return json.loads(response.decode('utf-8'))

# Set tempo
result = send_command('set_tempo', bpm=128)
print("Tempo: " + str(result['bpm']) + " BPM")

# Create a MIDI track
result = send_command('create_midi_track', name='Bass')
track_index = result['track_index']

# Create a clip and add notes
send_command('create_midi_clip', track_index=track_index, scene_index=0, length=4.0)
notes = [
    {"pitch": 36, "start": 0.0, "duration": 0.5, "velocity": 100},
    {"pitch": 36, "start": 1.0, "duration": 0.5, "velocity": 100}
]
send_command('add_notes', track_index=track_index, scene_index=0, notes=notes)

# Launch the clip
send_command('launch_clip', track_index=track_index, scene_index=0)

文档

示例

检查 examples/ 目录:

  • test_connection.py -验证远程脚本是否正常工作
  • basic_usage.py -常见操作的简单示例
  • creative_workflow.py -以编程方式生成音乐
  • test_all_tools.py -对所有220个工具进行全面测试

建筑

螺纹安全设计

Remote Script使用基于队列的架构来确保线程安全:

  1. 套筒螺纹 -通过TCP(端口9004)接收命令
  2. 命令队列 -存储等待处理的命令
  3. 主线 -通过以下方式处理命令 update_display() 回调
  4. 响应队列 -将结果返回给套接字线程
  5. 套筒螺纹 -将响应发送回客户端

这种设计确保所有LiveAPI调用都发生在Ableton的主线程上,防止崩溃和竞争情况。

通信协议

请求格式:

{
  "action": "set_tempo",
  "bpm": 128
}

响应格式:

{
  "ok": true,
  "bpm": 128.0
}

需求

  • Ableton Live 11或12(套房、标准房或介绍房)
  • python 2.7+(包含在Ableton Live中)
  • 操作系统 macOS、Windows或Linux

用例

  • 算法作曲 -用代码生成音乐
  • AI音乐制作 -使用LLMs和AI代理控制Ableton
  • 实时编程 -实时音乐表演
  • 自动化 -批处理和工作流自动化
  • 整合 -将Ableton连接到其他软件/硬件
  • 定制控制器 -构建自己的MIDI/OSC控制器
  • 音乐分析 -从Ableton会话中提取数据
  • CV工具控制 -自动化Live CV调制设备的Max

Live和CV工具支持的最大值

Remote Script完全支持Max for Live(M4L)设备,包括Ableton的CV工具包:

检测M4L设备

# Get all Max for Live devices on track 0
response = send_command({"action": "get_m4l_devices", "track_index": 0})

# Get only CV Tools devices
cv_devices = send_command({"action": "get_cv_tools_devices", "track_index": 0})

按参数名称控制

# Set CV LFO rate by parameter name (easier than finding param index)
send_command({
    "action": "set_device_param_by_name",
    "track_index": 0,
    "device_index": 2,
    "param_name": "Rate",
    "value": 0.75
})

# Get parameter value by name
param = send_command({
    "action": "get_m4l_param_by_name",
    "track_index": 0,
    "device_index": 2,
    "param_name": "Rate"
})

支持的M4L设备类型

  • CV LFO -控制速率、形状、深度
  • CV整形器 -控制驱动、曲线、偏差
  • 简历信封追随者 -控制攻击、释放、增益
  • CV仪器 -控制范围,量化
  • 任何M4L设备 -按名称访问参数

examples/cv_tools_control.py 一个完整的工作示例。

有关M4L集成的详细文档,请参阅 MAX4LIVE_INTEGRATION.md.

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

该项目根据 GNU通用公共许可证v3.0 -看看 许可证 文件以获取详细信息。

这是一个强大的copyleft许可证,要求任何分发您的代码或衍生作品的人在相同的条款下提供源代码。这可以保护您的工作,同时允许开放式协作。

致谢

支持

  • 问题:
  • 讨论:

路线图

  • \[\]在TCP旁边添加WebSocket支持
  • \[\]创建高级包装库(Python、JavaScript等)
  • \[\]添加录音和音频文件管理工具
  • \[\]创建可视化调试/监控仪表板
  • \[\]添加Max for Live集成示例

______________________________________________________________________

为Ableton Live社区打造

目录标签

目录标签

PythonClaude自动化控制音乐制作本地部署实时表演Python脚本AbletonLive

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP