DJ Toolkit

Back to Mixing

Mixing

Automation Curve Editor

A canvas you can actually draw on. Pick a preset shape (linear, exponential, log, S-curve) and the editor plots it on a bar grid; switch to custom bezier and you get two draggable control handles that shape the curve in real time. Read the underlying math expression next to each shape, export the result as a CSV of (beat, value) pairs or as a one-line set val … string ready to paste into most DAWs and controller scripts.

Designed for producers who want to plan a filter sweep, a send-level ride or a long pan move before they commit to drawing it inside the DAW.

Curve preview

S-Curve 16 bars @ 124 BPM = 30.97 s

Drag the fuchsia dots on the canvas (only when shape = bezier) to reshape the curve in real time. The two endpoints stay locked at the start and end values.

Math expression
y(t) = 3t² − 2t³
Sample at t = 0.5
0.50

Export

CSV columns: bar, beat, t, value. Text format: set val v0 v1 v2 … with one value per beat.

How to use

  1. Pick the parameter you're automating (volume, pan, filter, send). This sets the expected output range and the export label, nothing more.
  2. Enter total bars and your project's BPM. The canvas draws a bar grid so you can see where your breakpoints fall.
  3. Set start and end values (defaults 0 → 1). Pick a preset shape, or choose Custom bezier to enable the two control handles on the canvas.
  4. Drag the handles on the canvas to fine-tune the shape, or type exact cp1.x / cp1.y / cp2.x / cp2.y in the side panel for precise control.
  5. Use the export panel: copy the one-line text version (good for clip-launcher scripts) or download the per-beat CSV (good for DAW import).

How to read the result

The curve preview is your mental model. The y-axis maps to the parameter range (0–1 for volume / cutoff / send, −1 to +1 for pan), the x-axis maps from start bar to end bar. The drawn curve is what the parameter will do, beat by beat.

The math expression panel shows the underlying function next to the curve. For S-curve you'll see the classic smoothstep 3t² − 2t³. For exponential you get t^k where k controls steepness. For bezier it's the cubic Bezier polynomial.

The sample at t = 0.5 is one quick sanity-check number: if it's stuck at 0.5 no matter what you change, your curve is linear even though you picked something else — usually means start and end values are equal.

The export text gives one value per beat (so for 16 bars you get 64 numbers). The CSV has both bar and beat columns so you can join it with a MIDI clip or import it into a tracker.

Limitations

FAQ

What's the difference between exponential and logarithmic?
Exponential (y = tk, k > 1) starts slow and finishes fast — good for "stay quiet for the first half, then suddenly jump". Logarithmic (y = 1 − (1−t)k) is the mirror: fast start, slow tail — good for filter sweeps where you want the cutoff to move quickly out of the way and then ease in.
Why does S-curve say y(t) = 3t² − 2t³?
That's the classic Hermite smoothstep: zero slope at t = 0 and t = 1, with a smooth transition between. It mirrors how a fader feels in your hand — no sudden jerk at the start or the end. The editor uses an extended version, 6t5 − 15t4 + 10t3, which has flatter ends.
Can I add a breakpoint in the middle of the curve?
Not directly. For multi-breakpoint automation, draw two separate curves here and stitch them together in the DAW. The bezier handles give you enough expressiveness for most single-segment moves; for filter rides with hold-and-drop shapes you really want a dedicated automation lane.
How do I paste the export into Ableton / FL / Logic?
Ableton: paste the text into the clip's Envelopes panel as automation (or convert CSV via a Max for Live device). FL Studio: import the CSV with the "Dump score" pattern tool. Logic: convert beats → ticks and paste into a region automation lane; or use the Environment to drive a fader from the CSV.
Why is my pan curve mirrored compared to volume?
Pan uses −1 to +1 range; the editor maps the curve through the same y formula but the output is centred on 0. Drag cp1.y / cp2.y into negative values to make the curve swing left, into positive to swing right.
Advertisement