Karl

Build your pages in the browser

The Karl editor runs in Chrome, Edge and Opera over Web MIDI. Nothing to install: plug Karl in and open the page.

Start from a synth

Every map in the synth library opens in the editor. Move controls between pages, rename them, change their color and their range, then send the preset to Karl.

Draw your own controls

A control can be a fader, a list, an envelope or an XY pad. Envelopes drive four parameters at once; XY pads drive two.

Script what the map cannot say

Some values read better in their own units. A few lines of Lua turn a raw value into hertz, notes or milliseconds:

-- Show the filter cutoff in Hz on the screen
function cutoff.format(value)
  local hz = 20 * (1000 ^ (value / 127))
  return string.format("%.0f Hz", hz)
end

Scripts also listen to incoming MIDI, so a synth can update Karl when you turn its own knobs.

Try a synth map now

Each synth page shows its map on a Karl you can play, and sends MIDI to your synth over USB.