音频制作集成控制工具

Mixcraft MCP是一款集成Sonic Pi和Ableton Live控制功能的音频制作工具,提供AI驱动的DJ系统和自动化过渡功能。

  • by Ayesy
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Ayesy/mixcraft-mcp

使用说明

Mixcraft MCP🎵

Sonic Pi 4.x+Ableton Live MCP集成+AI DJ系统

Claude Code的Sonic Pi和Ableton Live。AI驱动的DJ系统,具有rekordbox USB导入、谐波混音和自动转换功能。


目录

  1. 特性
  2. 完整安装指南
  3. 用法
  4. 故障排除
  5. 积分

特性

  • 🎹 运行Sonic Pi代码 直接来自克劳德代码
  • 🎚️ 控制Ableton直播 -剪辑、场景、运输、混音器
  • 🔗 同步节奏 在两个应用程序之间
  • 🎛️ 实时循环控制 -启动/停止单个循环
  • 🎤 多轨录音 从Sonic Pi到Ableton
  • 🎭 演出场景 -安排你的直播
  • 🔧 设备/插件控制 -读取和控制任何设备参数(旋钮、过滤器等)
  • 🔍 设备发现 -列出所有乐器、效果及其参数
  • 🎧 AI DJ系统 -rekordbox USB导入、BPM/密钥分析、谐波混合
  • 🔀 自动转换 -混合、剪切、回声消除、滤波扫描
  • 📊 曲目库 -SQLite数据库,可按BPM、关键字、能量、类型进行搜索
  • 🎯 聪明的建议 -Camelot车轮谐波混合建议

完整安装指南

步骤1:安装先决条件

macOS

# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install Python 3.10+
brew install python@3.11

# Install UV package manager (recommended for MCP)
brew install uv

# Install pip packages
pip3 install python-osc mcp

视窗

  1. 下载并安装 Python 3.11+
  2. 以管理员身份打开PowerShell:
pip install python-osc mcp

第二步:安装Sonic Pi

  1. 下载 索尼克Pi 4.x 从 sonic-pi.net
  2. 安装并启动Sonic Pi
  3. 配置Sonic Pi设置:

音频设置

首选 偏好 → 音频

  • ✅ 启用音频输入

IO设置(严重!)

首选 偏好 → 输入

  • ✅ 允许传入OSC ← MCP需要!
  • ✅ 允许来自其他计算机的OSC (可选)
  • 注: 输入OSC端口:4560

步骤3:安装Ableton Live+AbletonOSC

Mixcraft MCP使用 AbletonOSC 控制Ableton Live。

3.1安装Ableton Live

  • 下载自 ableton.com
  • 需要 Ableton Live 11或以上

3.2安装AbletonOSC远程脚本

  1. 下载AbletonOSC

    # Clone or download from GitHub
    git clone https://github.com/ideoforms/AbletonOSC.git
    

    或者从以下网址下载ZIP:https://github.com/ideoforms/AbletonOSC/archive/refs/heads/master.zip

  2. 复制到远程脚本文件夹

    操作系统 路径
    macOS ~/Music/Ableton/User Library/Remote Scripts/
    视窗 C:\Users\[Username]\Documents\Ableton\User Library\Remote Scripts\
    # macOS example
    cp -r AbletonOSC ~/Music/Ableton/User\ Library/Remote\ Scripts/
    
  3. 重新启动Ableton Live

  4. 启用AbletonOSC

    • 首选 偏好 → 链接、节奏和MIDI
    • 集 控制表面 下拉到 AbletonOSC
    • 您应该看到: "AbletonOSC: Listening for OSC on port 11000"

替代方案:使用官方Ableton MCP

如果你愿意,你也可以使用 阿胡希德/艾博顿mcp 而不是我们内置的Ableton控件:

# Add to ~/.claude/mcp.json
{
  "AbletonMCP": {
    "command": "uvx",
    "args": ["ableton-mcp"]
  }
}

这需要安装AbletonMCP远程脚本(与AbletonOSC不同)。看 ableton mcp文档 了解详情。


步骤4:安装Mixcraft MCP

选项A:自动安装(推荐)

# Clone the repo
git clone https://github.com/Ayesy/mixcraft-mcp.git
cd mixcraft-mcp

# Run installer
chmod +x install.sh
./install.sh

选项B:手动安装

# Clone the repo
git clone https://github.com/Ayesy/mixcraft-mcp.git
cd mixcraft-mcp

# Install Python dependencies
pip3 install python-osc mcp

# (Optional) Install CLI tool
sudo cp sonic-pi-mcp/sonic_pi_run.py /usr/local/bin/sonic-pi-run
sudo chmod +x /usr/local/bin/sonic-pi-run

步骤5:配置Claude代码

将Mixcraft MCP添加到您的Claude Code MCP配置中:

5.1编辑MCP配置

macOS/Linux:

nano ~/.claude/mcp.json

窗户:

%USERPROFILE%\.claude\mcp.json

5.2添加配置

{
  "MixcraftMCP": {
    "command": "python3",
    "args": ["/full/path/to/mixcraft-mcp/super_sonic_mcp.py"]
  }
}

⚠️ 重要提示: 替换 /full/path/to/ 与你的实际路径!

例子:

{
  "MixcraftMCP": {
    "command": "python3",
    "args": ["/Users/yourname/mixcraft-mcp/super_sonic_mcp.py"]
  }
}

5.3重新启动克劳德代码

# Exit and restart Claude Code
exit
claude

5.4验证安装

在Claude Code中,运行:

status()

您应该看到:

Sonic Pi: OK (port XXXXX)
Ableton OSC: port 11000

步骤6:音频路由(可选)

通过Ableton收听Sonic Pi(效果/录音):

6.1安装黑洞

brew install blackhole-16ch

或从以下网址下载:https://existential.audio/blackhole/

6.2创建多输出设备

  1. 打开 音频MIDI设置 (/Applications/Utilities/)
  2. 点击 + → 创建多输出设备
  3. 检查:
    • ✅ 黑洞16ch
    • ✅ 您的扬声器/耳机
  4. 右击→ 使用此设备进行声音输出

6.3配置Ableton

  1. 偏好 → 音频 → 输入设备:黑洞16ch
  2. 创建 音频轨
  3. 集 音频来源: Ext. In → 1/2
  4. 集 监视器: In
  5. Arm 轨道

现在Sonic Pi音频流入Ableton!


用法

CLI工具

# Play a note
sonic-pi-run "play 60"

# Run a file
sonic-pi-run -f examples/boss_ymo_all_in_one.rb

# Stop all sounds
sonic-pi-run --stop

克劳德密码

# Check status
status()

# Run Sonic Pi code
sonic_run("play :c4")

# Run a file
sonic_file("examples/boss_ymo_all_in_one.rb")

# Stop sounds
sonic_stop()

# Control individual loops
loop_control("drums", "stop")

# Fire Ableton clips
fire_clip(0, 0)
fire_clips("0:0,1:0,2:1")

# Fire scene
fire_scene(0)

# Sync tempo between both apps
sync_tempo(128)

# Start a full performance
live_start("examples/boss_ymo_all_in_one.rb", 0, 160)

# Stop everything
live_stop()

快速参考

工具 说明
sonic_run(code) 执行Sonic Pi代码
sonic_file(path) 运行.rb文件
sonic_stop() 停止所有声音
loop_control(name, action) 控制live_loop
fire_clip(track, clip) 触发Ableton夹
fire_clips("0:0,1:0") 触发多个剪辑
fire_scene(scene) 触发Ableton场景
sync_tempo(bpm) 同步两个应用程序
live_start(file, scene, bpm) 开始表演
live_stop() 停止两个应用程序
status() 检查连接

设备/插件控制

# Get song overview (all tracks and scenes)
get_song_info()

# List all devices on a track
list_devices(0)
# → [0] Wavetable (InstrumentGroupDevice) - Instrument
# → [1] Auto Filter (AutoFilter) - Audio FX

# Get all parameters of a device
get_device_parameters(0, 1)
# → [0] Device On: 1.000 (0.000 - 1.000)
# → [1] Frequency: 800.000 (20.000 - 20000.000)
# → [2] Resonance: 0.500 (0.000 - 1.250)

# Set a single parameter (e.g. filter frequency)
set_device_parameter(0, 1, 1, 2000.0)
# → Set Frequency = 2.00 kHz

# Set multiple parameters at once
set_device_parameters_bulk(0, 1, "1:2000.0,2:0.8")

# Search for a device by name across all tracks
find_device("reverb")
# → Track 2, Device 1: Reverb
工具 说明
get_song_info() 曲目计数、姓名、场景计数
list_devices(track) 列出曲目上的所有设备
get_device_parameters(track, device) 所有具有值和范围的参数
set_device_parameter(track, device, param, value) 设置一个参数
set_device_parameters_bulk(track, device, values) 设置多个参数
find_device(name) 按名称搜索设备

AI DJ系统

# Import tracks from rekordbox USB drive
dj_import_usb()  # auto-detect
dj_import_usb("/Volumes/MY_USB")

# Or import from rekordbox XML
dj_import_xml("~/Music/rekordbox_export.xml")

# Or scan a folder (analyzes BPM, key, energy)
dj_scan("~/Music/DJ")

# Search your library
dj_search(query="deadmau5", bpm_min=126, bpm_max=130)
dj_search(key="8A")  # Camelot notation

# Start a DJ session
dj_session_start("Friday Night")

# Load and play tracks
dj_load("A", 42)  # Load track #42 to Deck A
dj_play("A")
dj_tempo(128)

# Get AI suggestions for next track
dj_suggest_next(energy="up")

# Load suggestion and transition
dj_load("B", 57)
dj_transition("blend", 16)  # 16-bar blend
dj_transition("cut")         # Instant cut
dj_transition("echo_out", 8) # Echo fade
dj_transition("filter_sweep", 16)

# Control EQ and effects
dj_eq("A", low=0.0, mid=1.0, high=1.0)  # Kill bass
dj_fx_send("B", "reverb", 0.5)
dj_crossfade(0.7)  # Mostly Deck B

# End session
dj_session_end()
工具 说明
dj_import_usb(path?) 从rekordbox USB导入
dj_import_xml(path) 从rekordbox XML导入
dj_scan(directory) 扫描和分析音频文件
dj_search(query, bpm, key, genre) 搜索库
dj_track_info(id) 赛道细节+提示点
dj_load(deck, id) 装载轨道至甲板A/B
dj_play(deck) / dj_stop(deck) 播放/停止甲板
dj_volume(deck, val) 甲板体积
dj_eq(deck, low, mid, high) EQ三控
dj_crossfade(pos) 交叉衰减器(0=A,1=B)
dj_tempo(bpm) BPM大师
dj_fx_send(deck, fx, amount) 发送外汇
dj_suggest_next(energy?) AI跟踪建议
dj_transition(style, bars) 自动转换
dj_compatible_keys(key) 谐波混合助手
dj_session_start/status/end 会话管理
dj_playlist_create/add 播放列表管理

音乐示例

这 examples/ 文件夹包含Sonic Pi曲目示例:

文件 描述
boss_ymo_all_in_one.rb 完成Touhou x YMO boss战斗轨迹
boss_ymo_buffer0_drums.rb 仅鼓形图案
boss_ymo_buffer1_bass.rb TB-303酸性巴司林
boss_ymo_buffer2_lead.rb 主旋律
boss_ymo_buffer3_arp.rb YMO风格的阿尔佩吉奥
boss_ymo_buffer4_fx.rb 音效
touhou_ymo_minimal.rb 最低版本

故障排除

“Sonic Pi不运行”

  • 确保Sonic Pi应用程序已打开
  • 验证: ps aux | grep spider

“Sonic Pi未收到OSC消息”

  • Sonic Pi 偏好 → 输入:
    • ✅ 允许传入OSC 必须检查!

“Ableton没有回应”

  • 确保在首选项中启用了AbletonOSC→ 链接、节奏和MIDI
  • 查找消息:“AbletonOSC:在11000端口上监听OSC”
  • 验证端口: lsof -i :11000

“Sonic Pi的Ableton中没有声音”

  1. 检查多输出设备是否为系统默认输出
  2. 验证Ableton输入是否设置为BlackHole
  3. 将轨道监视器设置为“In”
  4. 为轨道配备防护装置

“MCP服务器未加载”

  1. 检查路径 ~/.claude/mcp.json 是正确的
  2. 确保安装了Python依赖项: pip3 install python-osc mcp
  3. 完全重新启动Claude代码

项目结构

mixcraft-mcp/
├── README.md                     # This file
├── install.sh                    # Auto-installer
├── requirements.txt
├── super_sonic_mcp.py            # Main MCP server
├── sonic-pi-audio-settings.png   # Setup guide image
├── sonic-pi-io-settings.png      # Setup guide image
├── sonic-pi-mcp/
│   ├── server.py                 # Standalone Sonic Pi MCP
│   ├── sonic_pi_run.py           # CLI tool
│   └── README.md
├── ableton-mcp/
│   ├── server.py                 # Standalone Ableton MCP
│   └── README.md
├── examples/                     # Sample Sonic Pi tracks
│   ├── boss_ymo_all_in_one.rb
│   └── ...
└── skills/
    └── sonic-live.md             # Claude Code skill

运作原理

Sonic Pi 4.x集成

Sonic Pi 4.x使用基于令牌的身份验证。Mixcraft MCP:

  1. 阅读 spider-server.rb 过程参数
  2. 提取动态端口和身份验证令牌
  3. 发送OSC /run-code [token] [code] 直接给Spider

这适用于 任何 Sonic Pi 4.x安装,无需修改。

Ableton Live集成

用途 AbletonOSC 端口11000上的远程脚本。


学分及相关项目


许可证

麻省理工学院


制作🎵 面向实时程序员