Skip to main content
Glama

hellyee

通过与 Claude 对话在 Ableton Live 里创作音乐——它靠实际读取电平表来混音和做母带。

其他 AI↔Ableton 桥接方案只是把一组工具交给模型。hellyee 做的是闭环:测量真实输出电平、调整、再测量——另外它还附带一个技能,教 Claude 怎么 制作,而不只是知道这些工具是干什么的。从对话开始,完成作曲、声音设计、自动化、编排、混音,以及一整首曲子的母带。

License: MIT Live 11 · 12 MCP Python 3.10+


you  →  "balance the mix — kick on top, then master it"

Claude →  plays the drop · reads every track's meter · adjusts faders ·
          measures again until it converges · loads EQ → Glue → Limiter ·
          drives the limiter by measurement · reports: "peak 0.835,
          breakdown-to-drop dynamic 0.23 — the drop still hits"

它能做什么

轨道与片段

创建 MIDI/音频轨道,重命名、复制、删除。创建片段、触发片段、设置循环点。

MIDI

写入、读取、替换和清除音符。量化时可以带一个 strength 参数——Live 自带的量化对话框并没有这个功能。

声音设计

可访问每个 Live 设备的所有参数——Wavetable 的 93 个参数、EQ Eight 的全部算法、滤波器和包络。

设备

搜索 Live 浏览器的任何乐器、效果或 preset,并加载到任何轨道上。

混音

读取真实输出电平表,通过测量而不是瞎猜来平衡。

编曲

读取现有歌曲的结构,并在时间线上放置片段,构建自己的编排。

自动化

写入参数包络——像是音乐的滤波扫描,或者任何随时间变化的内容。

主总线 Ab

在主轨上加载并控制设备。

乐理

13 个音阶、14 种和弦类型、key-aware 音高拼写(F 小调给你 Ab,而不是 G#)。

音频输入

将哼唱的旋律变成 MIDI,或将语音指令变成文字。

一共 48 个工具。完整列表在下方。

Related MCP server: io.github.peterkolbe/ableton-for-ai

对比其它方案

好的替代方案确实存在——该给的认可给到。hellyee 的差异点在于闭环和技能层:

hellyee

ahujasid/ableton-mcp

jpoindexter/ableton-mcp

轨道 · 片段 · 音符 · 浏览器加载

✓

✓

✓

在 Arrangement 视图里创建完整歌曲

✓

✓

—

参数自动化包络

✓

—

✓

以测量为驱动的混音(读电平表 → 推 fader → 收敛)

✓

—

—

以测量为驱动的母带链条

✓

—

—

有强度的量化(保留 groove 画面)

✓

—

—

调性感知的乐理(F 小调是 Ab,不是 G#)

✓

—

—

哼唱转 MIDI · 语音指令

✓

—

—

一个教 AI 如何制作音乐

✓

—

—

REST API · multi-LLM · Max for Live

—

—

✓

如果你想要一个经过最多考验的方案,ahujasid 的版本被使用最广泛。如果你想让模型 完成 一首完整的歌——自动化、依靠读取电平表混音、总线上做母带——五个正是 hellyee 的方向。

它是怎么工作的

Claude 将 hellyee 作为子进程启动,并且通过 MCP 与它对话。hellyee 通过 OSC 和 AbletonOSC 交流,后者是一个运行在 Live 自身 Python 环境里的 remote script,并驱动 Live Object Model。

自带版的 AbletonOSC 已经暴露很多东西,但没有浏览器、Master 轨道或 arrangement clips。hellyee 提供了一些 handler 补上了这三样,还有一个自动安装它们的 patcher。


安装

1. 先运行安装程序

如果你装了 uv —— 完全不需要手动处理任何 Python 环境:

uvx hellyee setup

否则:

pip install hellyee
hellyee setup
curl -LsSf https://astral.sh/uv/install.sh | sh     # macOS · Linux
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"   # Windows

uv 会自己下载 Python,所以你完全不用安装或管理 Python。

hellyee setup 会先下载 AbletonOSC,打上 browser / master / arrangement handler 的补丁,并写入你的 Claude 配置。它是一次幂等操作——随时可以再跑。给 Claude Desktop 使用 --client desktop,或者 --client both。

需要 audio 功能(哼唱转 MIDI、语音会吗)?它们会增加约 380 MB,所以是选装:

pip install "hellyee[audio]"

2. 设置 Live

这一步要手动来——Live 没有 API 能让 Ableton 自动启用控制面。

  1. Quitted 并重新打开 Live。 remote script 只会在启动时扫描。

  2. 打开设置:

    • Live 12: 设置 → Link, Tempo & MIDI

    • Live 11: 偏好设置 → Link/Tempo/MIDI

    • macOS 按 Cmd + , · Windows 按 Ctrl + ,

  3. 在 Control Surface 表格里,第一个空行里选 AbletonOSC。

  4. Input(输入) 和 Output(输出) 都保持 None —— 它通过局域网通信,不是使用 MIDI 端口。

  5. 你应该能在 Live 状态栏看到这条消息写:AbletonOSC: Listening for OSC on port 11000。

只需要启动前检查一次,Live 能记住。

3. 这个 skill(技能)

hellyee setup 还会在你 .mcp.json 旁边的 .claude/skills/hellyee/ 下安装一个 skill。它会教 Claude 怎么把这些工具用好——操作顺序、参数约定、测量方法,以及 Live 那几处会一个错都不知道的错误。

Claude Code 会自动载入它。这个 skill 本身也值得你自己读一遍,相当于一本地图册,说明哪些地方会出问题、为什么来。

4. 验证

打开 Live:

hellyee doctor     # connection, handlers, optional features
hellyee smoke      # full end-to-end test, cleans up after itself

smoke 会创建一个真轨道、写入并量化音符、加载一个真实器(Instrument),最后把轨道删掉。给 --keep 可以保留它。


使用它

说出你想做什么即可。Claude 会先读取当前 set 的状态,然后开始做。

"make a 4-bar house beat at 124 BPM"
"add a MIDI track called Bass and put Wavetable on it"
"write a rolling bassline in F minor, offbeat eighths"
"quantize that to 16ths at 0.7 strength so it still breathes"
"put an Auto Filter on the bass and close it down a bit"
"this lead is harsh — round off the highs and slow the attack"
"balance the mix, kick should sit on top"
"arrange this into a full track: intro, build, drop, breakdown, drop, outro"
"sweep the filter open across the last 8 bars before the drop"

几个值得知道的约定

时间单位是拍子。 一条 4/4 小节默认就是 4 拍,一个 16 分音符就是 0.25。

音高用法是 Live 的显示约定:C3 = 60。 标准 MIDI 记谱器里那叫 C4. helly 跟随 Live 以保证 Claude 写的音符和你看到的是一致的。

设备参数用百分比设置,而不用单位。 但自动化细节请 percent(对整个参数范围 0–100)来设?工具会把得到 UI display 值回传给你,所以你能确认实际发生了。


工具列表

分组

工具

连接

check_connection

Song

get_song_status ·写 set_layout` ?

歌曲

get_song_status·set_tempo·transport·create_scene·fire_scene`

轨道

create_track · Manual: ... 容易

片段

create_clip · delete_clip · fire_clip · stop_clip · set_clip_properties

音符

get_clip_notes · add_notes · replace_notes ... clearer?

乐理

get_scale_notes · get_chord_notes · snap_notes_to_scale · get_drum_map

设备

list_track_devices · list_device_parameters · set_device_parameter · delete_device

浏览器

browser_categories · search_browser · load_device · load_device_by_uri

混音

measure_track_level · get_master_meter

主输出

list_master_devices · list_master_device_parameters · set_master_parameter · load_master_device

编配

place_in_arrangement · get_arrangement_clips · clear_arrangement_track · delete_arrangement_clip · show_arrangement_view

自动化

automate_clip · clear_clip_automation

音频

notes_from_audio · transcribe_audio


音频输入

Claude 的 API 本身不收音频,所以音频是本地之外理,然后以文字或 JSON 交给模型:

你提供

用什么处理

Claude 收到

一句语音指令

Whisper

文本

一段哼唱的旋律

librosa.pyin 音高追踪

一段音符列表

notes_from_audio 只能单音——也就是哼唱、单音旋律。它不会去转录和弦或整个 mix;想处理这类内容请用复音模型,例如 basic-pitch。

在 Apple 芯片上,pip install mlx-whisper`,转录会快很多;helly 会在检测到时优先用它。首次运行会下载一个模型(约 500 MB)。


已知的限制

Claude 无法听到声音。 它可以通过 Live 的电平表测量输出电平,并推理频率范围,但无法判断音色。EQ 和声音设计的选择来自惯例和测量——最终决定权在您的耳朵。

第三方插件是不透明的。 Live 不会向 API 暴露 VST/AU 参数,除非您手动暴露它们。Serum、Vital 等插件可以加载和播放,但 Claude 只能看到一个参数:Device On。要解锁插件,请点击其设备标题上的 配置,点击您希望可控制的旋钮,然后退出配置——这些参数就会显示出来。

电平表以约 10 Hz 运行。 AbletonOSC 以 100 毫秒的周期处理,因此电平表测量的是持续电平,而不是瞬态峰值。

量化是客户端操作。 音符被读取、在 Python 中吸附、再写回。这就是 strength 存在的原因——但它需要一次往返,而不是即时完成。

自动化必须从会话片段开始。 Live 只在会话片段上创建包络,因此 hellyee 在那里写入自动化,并在片段被放置时将其带入编排。要在不同段落中变化自动化,请编写多个片段变体,并在每个段落中放置正确的变体。

会话片段会覆盖编排。 如果某个轨道曾经触发过会话片段,它将忽略编排片段,直到按下“返回编排”按钮。hellyee 会处理这一点,但当某些内容静默播放时,值得了解这一点。

没有撤销分组。 每个操作都是 Live 撤销历史中的一个独立步骤。


开发

hellyee/
  osc.py            OSC client — persistent socket, request/response matching
  core.py           Live operations as plain functions (no Claude dependency)
  music.py          scales, chords, quantization, key-aware spelling
  audio.py          audio → notes, speech → text
  mcp_server.py     MCP tool layer
  cli.py            connection tests and diagnostics
abletonosc_patch/
  browser.py        adds browser access to AbletonOSC
  master.py         adds master track + arrangement to AbletonOSC
  setup_cli.py      installer: download, patch, configure Claude
abletonosc_patch/
  → shipped inside the wheel as hellyee/_patch
.claude/skills/hellyee/
  SKILL.md          how to drive the tools; loaded by Claude Code

正在开发 hellyee 本身:

git clone https://github.com/guvense/hellyee.git && cd hellyee
uv sync --extra audio          # or: pip install -e ".[audio]"
hellyee setup                  # re-applies the patch from your working copy

core.py 包含逻辑,并且对 Claude 一无所知,因此它可以独立测试,并可从任何前端驱动。mcp_server.py 是它之上的一层薄薄的工具定义。

⚠️ 正在编辑 abletonosc_patch/ 中的任何内容? 这些文件在 Live 内部运行,而 Live 嵌入了 Python 3.7。海象运算符(:=)、内置泛型(list[str])和 X | Y 联合类型将无法解析。补丁程序不会为您检查这一点——但 python -c "import ast; ast.parse(open('file').read(), feature_version=(3,7))" 可以。

热重载。 编辑已加载的处理程序不需要重启 Live——发送 /live/api/reload,它会在几秒内获取更改。添加新模块确实需要重启,这就是浏览器和主处理程序各自位于一个文件中的原因。

贡献

欢迎提交问题和拉取请求。有用的方向:

  • 复音音频转 MIDI(basic-pitch)

  • 返回轨道和发送

  • Windows 测试(在 macOS 上开发)

  • 用于技能的流派模板和编排模式

致谢

基于 Daniel Jones 的 AbletonOSC 构建,它完成了通过 OSC 暴露 Live 对象模型的艰巨工作。

许可证

MIT

hellyee

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    MCP server for controlling Ableton Live, enabling AI assistants to interact with Live sessions through tools for track/clip/scene management, playback control, and device parameter adjustments.
    48
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that exposes Ableton Live control (session state, transport, tracks, devices, clips, MIDI note editing) as tools for LLM agents, enabling natural language manipulation of a Live session.
    1
    MIT