# Ableton Humanize

> This skill should be used when the user asks to "humanize this MIDI", "add swing", "apply a groove", "make it less robotic/quantized", "loosen the timing", or "shape the velocities" of an existing MIDI clip in Ableton Live. Reads a clip's notes and rewrites them with micro-timing, swing, and velocity dynamics.

- **Type:** Skill
- **Install:** `agentstack add skill-korben00-ableton-producer-skills-ableton-humanize`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Korben00](https://agentstack.voostack.com/s/korben00)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Korben00](https://github.com/Korben00)
- **Source:** https://github.com/Korben00/ableton-producer-skills/tree/master/skills/ableton-humanize

## Install

```sh
agentstack add skill-korben00-ableton-producer-skills-ableton-humanize
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Ableton Humanize

Make stiff, grid-locked MIDI feel played-by-a-human by reading an existing clip and rewriting its
notes with micro-timing offsets, swing, and velocity dynamics. The "lazy" lofi feel and a tight funk
pocket are both just controlled deviations from the grid.

## When to use

Triggers: "humanize", "add swing/groove", "less robotic", "shape velocities". To generate new parts
use the composition/groove skills; this one *transforms an existing clip*.

## Process

1. **Use `ableton-live-runner`** for build/run/kill + scaffold.
2. **Read the target clip's notes** (`clip.notes`). Operate in place (rewrite the same clip) or write
   a humanized copy — confirm which with the user.
3. **Apply transformations** (let the user pick intensity; keep it subtle by default):
   - **Timing jitter** — nudge each note `startTime` by a small random offset (±0.005–0.02 beats).
   - **Swing** — push notes on off-beat subdivisions later (8th swing: +0.04–0.08; 16th swing
     smaller). Decide the subdivision from the note grid.
   - **Feel offset** — a constant lean: drag the whole part slightly late (laid-back) or early (on
     top). Drums often want snare-late, kick-on.
   - **Velocity dynamics** — accent strong beats, soften off-beats/ghosts; add ±gentle variation;
     optionally a slow swell across a phrase.
   - **Duration variation** — vary note lengths slightly (legato vs staccato) for realism.
4. **Clamp** — keep `startTime >= 0`, velocities in 1–127, and don't let jitter create flams unless
   wanted. Write the array back with `clip.notes = newNotes`.

## Code pattern

```ts
const rand = (a) => (Math.random() * 2 - 1) * a;
function humanize(notes, { jitter = 0.012, swing = 0.06, velVar = 6, drag = 0 } = {}) {
  return notes.map(n => {
    const isOff = Math.round((n.startTime % 1) * 2) % 2 === 1; // on an 8th off-beat?
    return {
      ...n,
      startTime: Math.max(0, n.startTime + rand(jitter) + drag + (isOff ? swing : 0)),
      velocity: Math.max(1, Math.min(127, Math.round((n.velocity ?? 90) + rand(velVar)))),
    };
  });
}
```

## Limits

- This shifts note *events*, not Ableton's Groove Pool (no groove-template API). For consistent swing
  across many clips, consider baking the same offsets.
- Over-humanizing muddies tight genres — default to subtle, increase on request.

See `ableton-drum-groove`, `ableton-topline`.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Korben00](https://github.com/Korben00)
- **Source:** [Korben00/ableton-producer-skills](https://github.com/Korben00/ableton-producer-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-korben00-ableton-producer-skills-ableton-humanize
- Seller: https://agentstack.voostack.com/s/korben00
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
