AXIOM 16-P User Manual

Manual version 2.9 for app build 11.10 · a drum synthesizer, sampler and sequencer that runs in your web browser.

This manual describes every button, dropdown, slider and editor in the app and how the pieces fit together. Hover over any control in the app for a two-sentence description of it; this manual gives the longer explanation and worked examples.

How the manual is organised

PartWhat it covers
1. App shellQuick start, top bar, menus, projects, MIDI, time keeping and PERFORM mode, troubleshooting
2. Pads and sound enginesThe 16 pads, the sampler, the subtractive synth, the additive synth (partial editor, shaping tools, morph layer), pad controls, baking, kits
3. Sequencer, loops and effectsSequencer, pattern slots (single click and double-click cues), the loop slicer and looper pad, the four aux effect bays and the master bus
5-6. Engine referenceEvery control of the four new engines and the added controls
7. Version 11.3Two loopers, tempo syncs, RENDER SEQUENCE, RECORD MIX, the storage folder (the app has no samples), DJ / LOOP mode
4. Version 11EDIT / PERFORM, rendering to the sampler (replaces baking), the two LFOs, send effects, loop sets, the four new engines (physical model, waveshaper, wavetable, vocoder) and the chord strip. Where parts 1-3 mention baking or the sequencer while editing, part 4 is the current behaviour

Where things live in the project (for whoever updates this manual)

Keeping this manual up to date

Every time a feature, control or behaviour changes, do these steps in the same change:

  1. Edit the matching part file in docs/manual/ (the control tables are the first place to look: control | what it does | range/default). Add new controls to the table and describe new workflows in the text.
  2. Update the tooltip of every new or changed control (js/tooltips.js, or the title attribute for controls in the additive panel): at most two sentences.
  3. Add a line to the change log below (date, build number, what changed, which section was edited).
  4. Rebuild the manual: python tools/docs/build_manual.py.
  5. Check coverage: python tools/docs/check_manual.py lists every on-screen control that has no tooltip or is not mentioned in the manual. The manual is complete when both lists are empty.
  6. Bump the build number (?v= in the script tags of AXIOM-16P/index.html) so browsers do not show a cached old version, and update the "Manual version" line above.

Change log

DateApp buildChangeManual section
2026-10-1811.4Layout cleaned up: three big section buttons (EDIT / PERFORM / DJ / LOOP) at the top left, the app opens in PERFORM with the kit built, big pads again with a slim looper row, sequencer tools behind a TOOLS button; DJ / LOOP: EQ and level under each deck, loop list between the decks, one loop per deck, pads and sequencer silent; EXPORT PACK window; stereo image for kits and loops (pan spread + widening)7
2026-10-1711.3Loop pad starts on the next bar, second looper (row 18, pads A / B with switches, loop or song, RENDER AT TEMPO), triplet / dotted / bar syncs, FX pages stay open when a pad is pressed, chord strip moved into the vocoder, RENDER TO SAMPLER on every synth page (fixed a duplicate id that disabled the toolbar button), sticky sequencer toolbar, RENDER SEQUENCE window, RECORD MIX, storage folder and first-run question (no samples shipped, kits render and cache), DJ / LOOP mode with two decks, 3-band EQ, crossfader, scratch tools, MIDI learn, app packaged in its own folder7 (new)
2026-10-1611.0EDIT / PERFORM split (sequencer only in PERFORM, PERFORM plays samples only), RENDER TO SAMPLER replaces baking (5 previous samples), two LFOs per pad with every slider as target, FX 3 / FX 4 back, PRINT SEND FX, loop sets and LOOPS mode, new engines PHYSICAL MODEL / WAVESHAPER / WAVETABLE / VOCODER, chord strip, vocoder MIDI in, first 15 kits redesigned with the engines, AI Kit 014 (new), 1-3 notes
2026-10-1510.3Quirk fixes: master volume slider follows the engine, FX return faders follow RETURN LEVEL, SET list no longer shows stale BPM figures, Rectangle label (25%), a bay fed only by the looper is kept alive in PERFORM, RESET GM DRUMS tooltip tells the truth1, 2, 3
2026-10-1510.3All 52 factory kits: hi-hats, crashes, rides, bells, metal clangs, chimes redesigned with the new oscillator banks, sizzle noise and FM stage, and re-printed2
2026-10-1510.3Cymbals: oscillator types Metal Cluster / Shimmer Cluster / Modal Plate, noise type Sizzle, new Crash and Ride recipes. Additive: SHIMMER, SCATTER, SIZZLE, PITCH DIVE, BLOOM sliders, 9 new series presets (FM bell, tubular, vibes, marimba, bowl, gong, gamelan, cymbal, hat), 'what additive is good at' guide2
2026-10-1510.3New FM SYNTH tab in the subtractive synth: a carrier oscillator driven by any of the 5 sources through a 5-in matrix; off by default2
2026-10-1510.3CONVERT TO ADDITIVE button next to BAKE TO SAMPLE: subtractive synth to additive synth2
2026-10-1510.3Sequencer: 9 new track tools (SHIFT, REVERSE, INVERT, MIRROR, ACCENT, HUMAN TIME, CHANCE, COPY TO ALL BARS), VEL RAMP down (Shift+click), PAN SWEEP shapes, step PAN and CHANCE in the inspector, HOLD = tie, DUPE PATTERN skips locked slots. MIDI learn: LEARN A SET (all pads, mixer of every pad, steps, patterns, bars), menus / lane tabs / EDIT buttons, program change, relative encoders1, 3
2026-10-1510.3Quirk fixes: pad RELEASE (S) and sample RELEASE now work, duplicate CLEAR TRACK button removed, DUPE on bar 8 says LAST BAR, loop slots 1-4 show 2 bars; all factory kits re-printed without LFO1, 2, 3
2026-10-1510.3LFO also removed from the factory kits and from the sound engine (the clap flutter and sweeps of the redesigned kits are gone from the synth versions)1, 2
2026-10-1510.3Pad LFO tools removed (archived); effects reduced to two channels (reverb, delay) with a new lightest reverb 'Light Room' as the first-run default; pad lights always follow the sound; metronome checkbox and LOOP button fixed1, 2, 3
2026-10-1510.2Additive synth v2: partial editor, odd/even, low-end and top-end shelves, formant, comb, stretch, morph layer B (copy a tone from any pad), conversion analysis rewritten; every control has a tooltip; every sound lights its pad; manual added2 (additive), all
2026-10-1410.152 redesigned and printed kits (10 new), KITS LOAD AS setting; double-click pattern cue; orange looper pad in PERFORM; master limiter; lighter reverb1, 2, 3
2026-10-139.xTop bar rebuilt, PAD CONTROLS layout, PERFORM mode, time keeping and clock follow, preset tempo rule1, 2

AXIOM 16-P User Manual - Part 1: The App Shell

This part covers everything around the sound editor and sequencer: starting the app, the top bar, the FILE / MIDI / SETTINGS menus, projects, kits and sets, MIDI, timing, performance and troubleshooting. The sound editor, loop rack, effect channels and sequencer have their own parts.

Control names are written exactly as they appear on screen. Where a label is shown only as an icon in the top bar (SET, KIT, STYLE), the full name is given as well. "(unverified)" marks statements that could not be confirmed in the code.

Contents

  1. Quick start
  2. The top bar
  3. FILE, MIDI and SETTINGS menus
  4. Projects, autosave, kits, sets and styles
  5. MIDI
  6. Time keeping and performance
  7. Troubleshooting
  8. Maintainer notes

---

1. Quick start

1.1 Your first sound (60 seconds)

  1. Open index.html in Chrome (or another modern browser). There is no install and no server.
  2. Click anywhere on the page. A box reading AUDIO ENGINE READY asks for this click. Browsers keep audio silent until you interact with the page.
  3. Press a pad with the mouse, or press a key on your keyboard (see 1.4). The app starts with the Techno kit loaded.
  4. Press PLAY (or the space bar). Pattern button 6 plays. The button turns into PAUSE.
  5. To change the drums, open the KIT drop-down in the preset bar and pick a kit. Loading a kit never changes your tempo or your pattern.
  6. To change the rhythm, open the STYLE drop-down (SEQUENCE STYLE) and pick a style. This loads 16 patterns and never changes your sounds.
  7. To change tempo, type in the BPM field, or press TAP at least twice.
  8. To hear everything at once, open the SET drop-down (MASTER FULL SET). This loads a kit, 16 patterns and effects together.
  9. Press STOP to rewind to bar 1, step 1.

If you hear nothing, open SETTINGS and press TEST SOUND. See section 7.

1.2 The three views (FULL mode)

ViewButton / keyWhat you seeUse it to
PADSPADS, F1Big square pads on the left, sound editor beside them, compact sequencer belowPlay and pick pads, quick edits
SOUNDSOUND, F2Pads shrink to a one-row strip, the synth / sampler / loop / aux editor gets the middle of the screenDesign sounds
SEQSEQ, F3Pad strip plus a one-line editor header, the sequencer fills the screen and the 17-row grid opens by itselfWrite patterns

Two toggles sit next to the view buttons:

ButtonKeyWhat it does
SEQ ▾ / SEQ ▴F4Collapse the sequencer to a single line, or expand it again
PADS ▾ / PADS ▴F8Hide or show the pad strip in SOUND and SEQ views. Disabled in PADS view, where the big pads are the point of the view

Leaving SEQ view closes the 17-row grid again if the view had opened it.

1.3 The two modes: FULL and PERFORM

ModeButton / keyMeaning
FULLFULL, F9Every tool: synths, sampler, loop slicer, all sequencer tools
PERFORMPERFORM, F9Sample playback only. Synth pads are baked to samples. Lean sequencer. Much lighter on the CPU. See 6.6

F9 switches between them. Use PERFORM live or on a slow computer. Use FULL to design and edit.

The app remembers your mode, view, sequencer collapse and pad strip state between visits (browser storage key axiom_layout_v1). You can force a layout with URL parameters: index.html?view=sound&seq=min&pads=hide&mode=perf (view = pads / sound / seq, seq = full / min, pads = show / hide, mode = full / perf). In PERFORM mode the view is always PADS.

1.4 Keyboard shortcuts

Shortcuts do not fire while you type in a text or number field. Function keys also work while a drop-down has focus. Function keys ignore Ctrl, Alt, Shift and Cmd combinations.

KeyActionNotes
1 2 3 4Pads 1-4
Q W E RPads 5-8Upper or lower case
A S D FPads 9-12
Z X C VPads 13-16Pad is selected for editing and recorded when REC is armed
5 6Hold to open effect channel 1 (REVERB) / 2 (DELAY) (FX trigger pads)Only has an audible effect while TRIGGER MODE is ON in the effects tab. They are not pad keys. 7 and 8 are still read by the key handler but have no channel or pad to act on
SpacePLAY / PAUSEDoes not press a focused button
F1 / F2 / F3PADS / SOUND / SEQ viewFULL mode only
F4Collapse / expand the sequencerFULL mode only
F8Hide / show the pad stripFULL mode, not in PADS view
F9FULL / PERFORM
Ctrl+Z / Cmd+ZUndo
Ctrl+Shift+Z, Ctrl+Y, Cmd+Shift+ZRedo
EscClose an open FILE / MIDI / SETTINGS menuModal windows do not close with Esc; use their ✕ button

Pad keys are ignored while Ctrl, Cmd or Alt is held, and while a key auto-repeats.

Mouse shortcuts you will meet in this part:

GestureWhereResult
Click a pad higher or lowerPadsHigher on the pad = louder (velocity about 0.5 at the bottom to 1.1 at the top)
Alt+clickPADS / SOUND / SEQ buttons, deck tabs, sub tabs, lane tabs, while MIDI LEARN is activeLearn that navigation control (a plain click still navigates)
Double-click / double-tap a pattern buttonPattern buttonsSwitch at the next measure instead of the end of the pattern loop (see 4.4)
Drag an audio file onto a padPadsLoads it as the pad's sample

---

2. The top bar

The top bar has two rows. Row A (top) holds the logo, tempo, transport, master volume, meters, mode and menus. Row B holds the view buttons, swing and the preset bar.

2.1 Logo and build stamp

ControlWhat it doesNotes
AXIOM 16-P + build labelShows the version of the page, for example v10.0.0The label compares the version in index.html with the version in js/app.js. If they differ it reads vX ≠ js Y in a warning style. That means the browser loaded mixed files (see section 7, "Strange behaviour after an update")

2.2 Tempo block (BPM, PRESET, BAR, STEP)

ControlWhat it doesRange / defaultNotes
BPM display (big digits)Shows the real tempo of the engine40-300, start-up 120One decimal appears only when the tempo is fractional (for example 121.4 while following an external clock)
BPM fieldType a tempo40-300, decimals allowed, default 120Values outside 40-300 are ignored while you type and the field snaps back to the real tempo when you leave it. Whole numbers are rounded to whole BPM; typing a decimal keeps two decimals
↺ PRESET (number)Plays at the tempo, swing and groove that the last loaded preset was saved with. The number is that preset's BPMGreyed out until a preset is loaded. Turns amber when the engine's tempo or swing differs from itFull name PRESET TEMPO. Tooltip names the preset and its values. See 2.3
Tempo source tag (small text beside PRESET)Shows what last changed the tempo: EXT CLOCK, TAP, PRESET, PROJECT or LOOP MATCHEmpty after typing a tempo by handDisplay only
BARCurrent bar of the pattern loop01-08Display only
STEPCurrent 16th-note step inside the bar01-16Display only

2.3 PRESET TEMPO and the tempo rule

Rule: loading a kit, a full set, a sequence style, a pattern slot, a pasted pattern or a patch / song JSON file never changes your tempo or swing. Each of these only remembers the tempo it was saved with. To use that tempo, press ↺ PRESET.

2.4 Swing and groove (row B)

ControlWhat it doesRange / defaultNotes
SWING slider and % readoutDelays the off-beat notes50% (straight) to 75% (strongly shuffled), default 50%66% is a triplet feel, 75% a dotted feel
Groove drop-downChooses which notes the swing delays16th Swing (default), 8th Swing, Quintuplet Feel16th delays every second 16th. 8th delays the second 8th of each pair. Quintuplet applies a small nudge to the 2nd and 4th 16ths

Swing and groove change what you hear and what a WAV render contains. They do not move steps in the pattern.

2.5 Transport

ControlWhat it doesNotes
▶ PLAY / ⏸ PAUSEStarts playback. While playing it pauses and keeps the positionSpace bar does the same
⏹ STOPStops and rewinds to bar 1, step 1Also stops the loop player
⏺ RECArms or disarms live recording. Pads you hit (mouse, keys, MIDI) are written into the current pattern while it plays. Arming starts playback if it is stoppedRefused (with a message) while the pattern slot is locked. The button lights while armed
⚙ (gear, record setup)Opens SEQUENCER LIVE RECORD SETUPHidden in PERFORM mode
🔔 OFF / 🔔 ON (CLICK)Metronome clickThe first beat of each bar has a higher pitch. The click plays on every quarter note while the sequencer plays
TAPTap the tempoNeeds at least 2 taps. Averages the last 5 taps. A gap longer than 2 seconds restarts the count. Accepted range is an average gap of 200-1500 ms (40-300 BPM). Sets the source tag to TAP

Record setup window:

FieldWhat it doesRange / default
TARGET PATTERN SLOTSlot that receives the recordingPattern 1-16, defaults to the active slot
SONG ROLE CATEGORYRole stored with the slot, shown on the slot buttonIntro, Verse, Pre-Chorus, Chorus, Bridge, Breakdown, Drop, Build, Fill, Outro
CUSTOM PATTERN NAMEOptional name for the slotEmpty keeps the current name
LOOP LENGTH (BARS)Length of the recording loop1, 2, 4 or 8 bars
RECORDING MODEOverdub adds to the existing notes. Overwrite replaces them as you playOverdub
QUANTIZE SNAP STRENGTHHow strongly hits snap to the grid0-100%, default 100%. 0% keeps your own timing (up to 50 ms off the step)
METRONOME CLICKQuarter-note click on or off (same switch as the 🔔 CLICK button, applied when you press START RECORDING)Off
CANCEL / ⏺ START RECORDINGClose without recording / apply, arm recording and start playback

The METRONOME CLICK check box now switches the real click: it calls the same function as the 🔔 CLICK button.

2.6 Master volume and meters

ControlWhat it doesRange / defaultNotes
MASTER VOLOverall output level0-1.5. The slider always shows the engine's real levelAbove 1.0 boosts the mix and can clip. A limiter (-2 dB) and a soft clipper sit at the end of the chain, so the output never exceeds full scale. Loading a kit or a project moves the slider to the new level
Stereo peak meters (two bars)Peak level of the master outputBoth bars come from one peak reading; the right bar is scaled to 95% of the left. They are not true separate L/R meters
Audio LEDGreen = audio engine running. Otherwise suspendedClick anywhere or press SETTINGS > UNMUTE to wake it
MIDI LEDFlashes when MIDI arrivesAlso flashes for clock and transport messages
Autosave textAutosave status (Autosaved hh:mm:ss)The text is hidden in the top bar in the current layout; the project is still autosaved
⚠ LOAD / DSP n% badgeAppears while playing when the engine is under strain, or shows the audio thread loadSee 6.4

The oscilloscope picture is hidden in the current top bar (and in PERFORM mode); only the meters remain.

2.7 Mode and menus (row A, right)

ControlWhat it does
FULL / PERFORMSwitch app mode (F9). Entering PERFORM bakes synths to samples. See 6.6
FILE ▾ / MIDI ▾ / ⚙ SETTINGS ▾Drop-down menus, described in section 3. Only one is open at a time. They close on outside click, on Esc, and after you press a button inside them. The CPU and clock toggles in SETTINGS stay open

2.8 View buttons (row B, left)

PADS, SOUND, SEQ, SEQ ▾ / ▴ and PADS ▾ / ▴: see 1.2. In PERFORM mode this group is hidden.

2.9 The preset bar (row B, right)

Three levels of preset, from biggest to smallest. Labels are shown as icons when space is tight; the full name is in the tooltip.

ControlFull nameWhat it loadsWhat it never touches
★ SET drop-downMASTER FULL SETA complete setup: drum kit, the kit's effects (2 channels), the style's 16 patterns, then pattern 1. 32 sets, each shown with its BPMTempo and swing (use ↺ PRESET)
🥁 KIT drop-downKIT ONLY (40+)The 16 pad sounds, the master level, the 2 effect channels (reverb, delay) and the compressor / reverb settings of that kit. Reverb exception: see 4.4Your sequencer patterns, tempo, swing
🎼 STYLE drop-downSEQUENCE STYLE (30+)16 pattern slots (two songs of 8 sections), then pattern 1Your sounds, tempo, swing
UNIQ slider(uniqueness / chaos)Chaos for every random button, 0-100%, default 25%. 0 keeps strict genre conventions, 100 is wildLinked with the CHAOS slider in the sound editor
🎲 RANDOM KITRANDOM KITGenerates a new random sound for all 16 pads, using each pad's category and the UNIQ valuePatterns, tempo. Pads set to the sampler are not switched to a synth

Notes:

---

3. FILE, MIDI and SETTINGS menus

3.1 FILE menu

ControlWhat it doesRange / defaultNotes
💾 SAVE PROJECTDownloads the whole project as one .axiomproject fileFile name axiom-project-<date>.axiomprojectIncludes sample audio. The toast shows the size in KB
📂 LOAD PROJECTOpens a .axiomproject (or .json project) file and replaces the current stateStops playback first. Sets tempo, swing and groove from the file. Rejects patch / song JSON files and files from a newer app version with an error toast
↶ UNDOUndo the last changeUp to 32 stepsSame as Ctrl+Z. Toast "Nothing to undo" when empty
↷ REDORedoSame as Ctrl+Shift+Z / Ctrl+Y
💾 SAVE PATCH (LEGACY JSON)Exports the 16 pads, the effect channels, the master settings and the tempo as JSONFile Axiom_Kit_Patch_<time>.jsonOlder format. No patterns, no sample audio
📁 SAVE SONG (LEGACY JSON)As SAVE PATCH, plus swing, groove and all 16 pattern slotsFile Axiom_Song_Project_<time>.jsonOlder format
📂 LOAD (LEGACY JSON)Imports a patch or song JSONDoes not change tempo or swing; the file's tempo is offered by ↺ PRESET. A song file replaces the 16 slots and loads slot 1. A message box confirms or reports the error
🎹 MIDI IMPORT (MIDI FILE)Opens the import window for Standard MIDI files (.mid, .midi; type 0 or 1)1, 2, 4 or 8 bars, default 4Pick a track, audition, set the note-to-pad routing table, then ✓ COMMIT TO SEQUENCER. AUTO-DETECT GM resets the routing
⏺ BAKE LOOP WAV (RENDER / ANALYSE)Renders one pass of the active pattern loop to a 16-bit WAV, with a 1.5 s tailFile axiom-loop-<kit>-<bpm>bpm.wavRespects swing, mute / solo and the OFF switches. The comments in the code say aux FX are included; PROJECT_STATE says the offline render omits them (unverified)
⏺ BAKE PAD WAVRenders the selected pad as a one-shot WAV (1.2 s)File axiom-pad-<n>-<name>.wav
⏺ BAKE 16-PAD STRIP WAVRenders all 16 pads one after another with a 50 ms gap into one WAVFile axiom-16pad-strip-<kit>.wav
∿ FFT BENCHMARKRuns the acoustic comparator against the reference sounds and downloads a JSON reportDeveloper tool. Shows a summary message box. Takes a while. Needs the matcher code to be loaded

The BAKE buttons here are exports. They are not the same as BAKE TO SAMPLE / BAKE KIT in the sound editor (those change the pads themselves).

3.2 MIDI menu

ControlWhat it doesRange / defaultNotes
🎹 MIDI LEARNTurns MIDI Learn on or offOffA banner MIDI LEARN ACTIVE appears. See 5.3
⚙ MIDI SETUPOpens the MIDI hardware window (devices and monitor, mapping table, pad controllers)See 5.1, 5.3, 5.4
↻ RESCANLooks for MIDI devices againUse after plugging in a controller
MIDI IN (USB)Chooses the input deviceFirst device found is connected automaticallySame choice as INPUT DEVICE in MIDI SETUP
IN CHMIDI channel to listen onOmni (All), Ch 1-16. Default Ch 10 (GM)Applies to notes and CC. Clock and transport messages ignore it
MIDI OUTChooses where sequencer notes, MIDI clock and controller LED messages go(None / Internal Only) until you pick a portNever auto-selected, so a system synth does not play over the drums

3.3 SETTINGS menu

ControlWhat it doesRange / defaultNotes
OUTPUT DEVICE (AUDIO DEVICE)Sends audio to the chosen speakers, headphones or interfaceDefault Audio OutputNeeds a browser that supports choosing the audio output (Chrome and Edge do). Device names may appear generic until the browser has audio permission (unverified)
ACTIVE / SUSPENDED badgeShows whether the audio engine is runningRefreshes every second
↻ (refresh audio devices)Rescans the output device list
🔊 TEST SOUNDPlays a two-tone chime straight to the outputPlays even if the master volume is very low (it raises the volume briefly). Confirms the audio path
⚡ UNMUTEForces the audio engine to resumeUse it when the badge says SUSPENDED
⚡ SLOW CPU: OFF / ONLighter graphics and engine workOffON: removes shadows, blurs and glows, hides the oscilloscope, shrinks the analyser, redraws meters at about 8 frames per second, hides the 17-row grid and locks its expander ("LOCKED (SLOW CPU)"). Not saved between visits
💡 PAD LIGHTS: ON / OFFEvery pad lights at the moment its sound plays (sequencer, any pattern or measure, MIDI, keys, recording, also while the engine sheds load). The orange looper pad lights when the loop startsOnOff stops the automatic lights. A pad you hit yourself with the mouse always lights. Not saved between visits
OFF 9-12: ACTIVE / MUTEDSwitches off pads 9-12 (toms, crash, ride)ActiveFrees CPU: no voices, no sequencer work for them. Saved in projects
OFF 13-16: ACTIVE / MUTEDSwitches off pads 13-16 (percussion, SFX)ActiveSaved in projects
KITS LOAD AS: SAMPLES / SYNTHS (CPU)How factory kits loadSAMPLESSAMPLES: the kit's pre-printed sounds load at once, light on the CPU. SYNTHS: pads load as live, editable synths. Applies to the next kit you load. Remembered between visits
✂ MONO PADS: ON / OFFA pad cuts its own previous hit when struck againOnHits closer than 45 ms (flams, ratchets) still overlap. Forced on in PERFORM and restored when you leave. Not saved between visits
VOICE LIMITMost voices allowed at once8-96, default 32Half of this while the system is struggling. Capped at 16 in PERFORM mode. See 6.3
AUDIO BUFFERSize of the audio output bufferLOW LATENCY, BALANCED (default), SAFE (SLOW PC)Saved at once, but takes effect only after you reload the page
CPU THREADSShows how many cores the browser reports and how the work is splitDisplay onlyAudio runs on one audio thread, the sequencer clock on a worker thread, bakes on the other cores
⏱ FOLLOW CLOCK: OFF / ON (MIDI CLOCK SYNC)Follow the tempo and start / stop of an external MIDI clockOffSee 5.5. Not saved between visits
CLOCK OFFSET (ms)Fine timing trim when following-80 to +80 ms, default 0Positive = your beats land later. Use it to cancel interface latency

There is no switch for MIDI clock output. It is always on when a MIDI OUT port is chosen and the app is not following an external clock.

---

4. Projects, autosave, kits, sets and styles

4.1 What a project contains

A project file (.axiomproject) and the autosave contain:

Not in a project: the loop player's audio slots (track 17) and the sound design in them, your MIDI mappings (they are stored separately in the browser and have their own EXPORT MAP / IMPORT MAP), the app mode and view, and the current drop-down choices of SET / KIT / STYLE.

4.2 Autosave and the restore banner

4.3 Undo and redo

4.4 Kits, sets and styles

ConceptWhat it isLoadsLeaves alone
Master Full SetKit + 16 patterns + effects, as a package. 32 of themPad sounds, effect channels, master settings of the kit, 16 patterns, pattern 1 activeTempo, swing
Kit onlyThe 16 pad sounds with the kit's effects. 42 factory kits (20 vintage machines, 22 genre) plus 10 new designed kits and some alias namesPad sounds, 2 effect channels, master level and compressorPatterns, tempo, swing
Sequence style16 hand-written pattern slots in two songs (slots 1-8 and 9-16), each Intro / Verse / Chorus / Breakdown ... (names vary by genre). 32 of them16 pattern slots, pattern 1 activeSounds, tempo, swing

Behaviour to know:

4.5 KITS LOAD AS: SAMPLES or SYNTHS

Every designed kit is stored two ways: as synth settings (live and editable) and as "printed" samples (the same sounds rendered to audio, about 1 MB per kit).

SettingBehaviour
SAMPLES (default)The kit loads as synths first, then the printed samples replace them almost at once (a small file is fetched the first time you pick a kit). Pads play samples: lighter on the CPU. Press UNBAKE / ↩ SYNTHS (or BACK TO SYNTH in the pad editor) to get the synth back
SYNTHSPads stay live synths. Editable, heavier on the CPU

Older kits that have no designed version load their own reference samples as before (vintage sampler kits are sample-first, analogue ones synth-first) (unverified for individual kits). The setting applies to the next kit you load. Kits loaded in PERFORM mode are baked to samples automatically whichever setting is chosen.

---

5. MIDI

MIDI needs a browser with Web MIDI (Chrome, Edge, Opera). If it is missing, the MIDI IN list says "Web MIDI Unsupported". The MIDI file importer still works without it.

5.1 Devices and monitor

Open MIDI SETUP > DEVICES & LIVE MONITOR.

ControlWhat it doesNotes
INPUT DEVICE (USB / DIN)Primary inputSame as MIDI IN (USB). The first device is connected automatically at start-up and when the current one disappears
RECEIVE CHANNELChannel filter for notes and CCOmni, 1-16, default 10. Linked with IN CH
OUTPUT DEVICE (TRIGGER OUT)Port for sequencer notes, clock and controller LEDsNone until you choose
↻ RESCAN USB CONTROLLERSRescansAlso logs "Rescanned USB MIDI devices"
LIVE MIDI INPUT MONITORScrolling log of notes, velocity, CC and system messagesLast 60 lines. CLEAR LOG empties it. Clock ticks (24 per beat) are not logged
LED in the window titleFlashes on every incoming message

What the app sends to MIDI OUT:

5.2 What incoming messages do

Order of handling for a note on (channel filter applies):

  1. MIDI Learn mappings you made yourself.
  2. The playable pad range of the controller profile (default root note 40, 16 notes) plays pads 1-16.
  3. The step range (default root note 24, 16 notes) toggles steps 1-16 of the selected track in the shown bar.
  4. The default General MIDI mappings (notes 36-51 = pads 1-16), if they are still in the table.
  5. Anything else is ignored, unless KEYBOARD & DUAL ROUTING is set to chromatic mode.

Notes: note-offs are only logged. Velocity of the note sets the pad level. If REC is armed the hit is recorded.

Built-in transport messages (primary input only, any channel):

MessageAction
Start (0xFA)Rewind to bar 1 and play (with FOLLOW CLOCK on: on the master's next tick)
Continue (0xFB)Play from the current position (with FOLLOW CLOCK on: on the master's next tick)
Stop (0xFC)Pause and keep the position
MMC Stop / Play / Record (system exclusive)STOP (rewinds) / PLAY / toggle REC
CC 116 / 117 / 118, value 64 or moreSTOP (rewinds) / play-pause / toggle REC. A CC you have learned yourself wins over these

5.3 MIDI Learn

To map a control:

  1. Press 🎹 MIDI LEARN in the MIDI menu (or ENGAGE MIDI LEARN in MIDI SETUP > MIDI LEARN & MAPPING TABLE). Learnable controls get a dashed outline.
  2. Click the on-screen control. It pulses and the banner says LISTENING FOR: <name>.
  3. Press a key or pad (note) or turn a knob (CC) on your controller. A chime plays and the banner confirms the binding.
  4. Click the next control, or press EXIT LEARN (banner) / DISENGAGE MIDI LEARN to leave. Bindings are kept.

To learn many at once use LEARN A SET (below): pick a set, press LEARN ALL IN ORDER and touch one key or knob per control. The banner counts the progress and SKIP ▶ leaves one out.

What you can map:

Control typeMapped toBehaviour
Pads (1-16 and the looper pad)NotePlays the pad. Velocity sets the level
Sliders, number fields, knob dialsCC (or note)CC value 0-127 spreads over the control's range. A note sets it from the velocity
Drop-downs (kit, style, groove, FX algorithm ...)CC or noteCC sweeps through the options (the option loads when the knob settles, about 0.14 s). A note steps to the next option and wraps
Check boxesNote or CCToggles
Any button with an id (PLAY, STOP, REC, CLICK, menu buttons ...)Note or CCClicks it. A CC fires once each time it rises through 64
Sequencer step buttonsNote or CCToggles that step number of the selected track in the shown bar
Menus (FILE, MIDI, SETTINGS, the pad editor sections), the lane tabs VEL / PAN / MICRO / MOD and the 16 ⚙ EDIT buttonsNote or CCOpens or closes the menu, selects the lane tab, opens the step inspector for that step (Alt+click for the tabs)
Any of the aboveProgram ChangeA program change message (PC #n) fires a button or switch, and jumps a menu to option n

Rules:

MIDI SETUP > MIDI LEARN & MAPPING TABLE:

ControlWhat it does
Table (TARGET CONTROL, TYPE, CH, NOTE / CC #, RANGE, KNOB MODE, REMOVE)Lists every binding. REMOVE deletes one. KNOB MODE (CC bindings of sliders, knobs and menus): ABS = the knob position sets the value; REL = for endless encoders that send 1-63 for up and 65-127 for down, one tick moves a slider by 1% of its range and a menu by one option
LEARN A SET: [set] [number] LEARN ONE / LEARN ALL IN ORDERLearns controls in bulk. ONE learns the chosen number only; ALL learns the whole set in order (see below)
RESET GM DRUMSReplaces the whole table with the default map (notes 36-51 to pads 1-16) and removes every learned binding; its tooltip says so
CLEAR ALLDeletes every binding after a confirmation
EXPORT MAPSaves the table as Axiom_Midi_Map_<time>.json
IMPORT MAPLoads such a file and replaces the table

Learn sets. The first group learns controls that are on screen; the mixer sets work for every pad, also when it is not selected, and for the looper (number 17):

SetBindsKind
Pads: play pad 1-16 and the looperthe 17 padsnote (plays the pad)
Pads: select pad 1-16 and the looperselects that pad for editingnote or CC
Mixer: mute pad / solo padtoggles the sequencer mute / solo of that padnote or CC
Mixer: volume / pan / FX 1 send / FX 2 send of padthe level, stereo position or effect send of that padCC (ABS or REL) or note
Step grid of ONE padsteps 1-16 of the pad whose number you chose (toggles in the shown bar)note or CC
Steps 1-16 of the selected padthe 16 on-screen step buttonsnote or CC
Pattern slots 1-16, Bars 1-8, Loop slots 1-8the on-screen buttonsnote or CC

With the pad the mixer set changes selected, the PAD CONTROLS slider follows. Learned sets are saved like any other binding (axiom_midi_mappings).

5.4 Pad controllers (AKAI and Novation split)

Open MIDI SETUP > PAD CONTROLLERS (AKAI / NOVATION SPLIT). A pad controller with 8 x 4 pads is split in two halves: the top two rows play pads 1-16, the bottom two rows toggle steps 1-16 for the selected pad.

ControlWhat it doesDefault / range
CONTROLLER PROFILESets the root notes, keyboard routing and LED protocol in one goAKAI APC Key 25 / Mini: play root 40, step root 24, filter keys, AKAI LEDs. Novation Launchpad: 48 / 32, filter keys, Novation RGB. Standard 4x4 Pad Grid: 36 / 52, chromatic keys. Custom Split: leaves everything as it is
KEYBOARD & DUAL ROUTINGWhat a note that no pad, step or mapping uses doesFilter / Ignore Keyboard Keys (default): ignored, so a keyboard can drive another instrument. Pass Keyboard to Drum Cells: chromatic C1-C3 to pads
SECONDARY MIDI INPUT (DUAL DEVICE)A second input, for example pads plus a keyboardNone. Realtime messages from it are ignored (so clock is not doubled)
SECONDARY RECEIVE CHANNELChannel of the second inputOmni, Channel 1 (default), Channel 10
PLAYABLE PADS: -OCT / +OCT, ROOT MIDI NOTEShifts the pad range by 12 notes, or sets the first note0-111, default 40
SEQUENCER STEPS: -OCT / +OCT, ROOT MIDI NOTESame for the step range0-111, default 24
8x2 previewsShow the note number of each pad and step
TRANSMIT HARDWARE LED COLOR DATASends colours back to the controllerOn
LED PROTOCOLAKAI APC Standard (velocity 1 = green, 3 = red, 5 = yellow) or Novation Launchpad RGBAKAI
💡 TEST LEDSRuns a light chase over the padsNeeds a MIDI OUT port; otherwise a message appears

LED colours: green = playhead, yellow = active step of the selected pad, red = a pad was hit, off = empty. The LED messages go to MIDI OUT, so choose your controller's output port there.

Overlaps: with the default AKAI profile the play range (40-55) shadows the default GM map for notes 40-51, and the step range (24-39) takes notes 36-39 for steps 13-16. Pick the Standard 4x4 profile if you want plain GM notes 36-51 on the pads.

5.5 MIDI clock out, following an external clock, clock offset

Clock out: with a MIDI OUT port chosen, the app sends 24 ticks per beat, plus Start / Continue / Stop, to whatever is connected. It does so only while not following.

Following a master (SETTINGS > MIDI CLOCK SYNC):

  1. Choose the master's port as MIDI IN (USB). Clock only counts from the primary input.
  2. Press ⏱ FOLLOW CLOCK. It reads ON.
  3. Start the master. When the master sends Start, the app rewinds and starts on the master's next tick. Continue resumes from the current position. Stop pauses.

How it behaves:

ItemBehaviour
TempoTaken from the tick spacing over the last 4 beats. Fractional values (for example 131.37) are used. The first beat after Start is needed before the tempo appears. The display shows EXT CLOCK
Phase lockEvery 16th note the app compares its step time with the master's tick. In the first two bars after Start a gap over 20 ms is corrected at once. Later, corrections are small (up to 6 ms per step), and a jump over 60 ms is corrected at once
Typing a BPM, TAP, ↺ PRESETOverridden again by the next clock update while following
Pressing PLAY yourselfStarts the local clock (nothing is sent out)
Turning FOLLOW CLOCK offThe tempo stays at its last value and the source tag clears
Start / Continue / Stop with FOLLOW CLOCK offStill obeyed: Start rewinds and plays at once, Continue plays, Stop pauses. Ticks are ignored
Master stops sending ticks (gap over 0.25 s)The app forgets the old spacing and waits

CLOCK OFFSET (ms) shifts your beats later (+) or earlier (-) relative to the master. If your kick lands late against the master's kick, use a negative value; if early, a positive one. Start with 0 and adjust by ear in steps of 1-5 ms.

---

6. Time keeping and performance

6.1 The scheduler

6.2 Load shedding

A watchdog measures the gap between clock ticks. A gap longer than about 70 ms means the main thread was busy. Then:

6.3 Voice limit

VOICE LIMIT (8-96, default 32) is the most voices that may sound at once.

6.4 The LOAD / DSP badge

The badge in the top bar appears only while playing.

BadgeMeaning
(hidden)The engine is keeping up, and the browser cannot report audio load
DSP n% (green)The audio thread uses n% of its time on average. Below about 70% is comfortable. Shown only in browsers that report it (Chrome)
⚠ LOAD (amber, pulsing)The engine is skipping quiet hats / percussion or shedding load. May add "· FX MUTED", "(n skipped)" and "· DSP n%"

An audio underrun (1% or more of blocks) or a peak above 92% also switches on load shedding.

What to do: bake synth pads (BAKE KIT), switch to PERFORM, turn MONO PADS on, lower VOICE LIMIT, use SLOW CPU, switch OFF 9-12 / OFF 13-16, set AUDIO BUFFER to SAFE (SLOW PC), close other tabs.

6.5 FX auto-mute

Every 500 ms the engine counts clock stalls and audio overloads. Two or more within 10 seconds mutes the effect channels that hold a reverb or modulation effect for 8 seconds, and the badge adds FX MUTED. Drums keep time. The channels return by themselves. If it keeps happening, reduce voices or bake pads.

6.6 PERFORM mode

PERFORM is the "play it live on a modest computer" mode.

ItemIn PERFORM
Synth padsBaked to samples (the drive, filter and attack are printed into the sample). Pads bake several at a time, up to 3 on a 4-core machine. A toast reports how many
New kit, set or projectAny synth pad that arrives is baked at once. Designed kits already arrive as samples
HiddenPADS / SOUND / SEQ buttons, record setup gear, the oscilloscope, the synth and additive editor, bake tools, sample conversion tools, the loop rack tab, most sequencer tools, the lane bar, chain mode and the 17-row grid
KeptPads, pad editor with the basic sampler controls (attack, decay, sustain, release, cutoff, resonance, filter type), PAD CONTROLS and FX sends, the looper pad, pattern buttons, bar buttons, 16 steps, the transport and all menus
Looper padStays, in orange. Tapping it opens the loop slicer panel and the loop step row (unverified how the panel is reached while the rack tab is hidden)
EngineVoice limit capped at 16, MONO PADS forced on, the legacy master reverb and delay disconnected, effect channels with no sends disconnected 3 s after their last send, loop stretch pre-rendered once (one source instead of many), meters drawn at about 15 frames per second without the scope
Leaving PERFORMPads that PERFORM baked go back to their synths. Pads you baked yourself keep their samples. Your voice limit and MONO PADS setting are restored, and your earlier view, sequencer collapse and pad strip state come back

If you leave PERFORM while it is still baking, the bake is cancelled and undone.

6.7 AUDIO BUFFER and slow computers

AUDIO BUFFER sets how much audio the browser buffers before the speakers.

ChoiceLatencyUse it when
LOW LATENCYLowestFast computer, playing pads live
BALANCED (default)MediumMost computers
SAFE (SLOW PC)HighestCrackles on a slow computer. The sequencer is scheduled ahead, so only live pad playing feels the delay

It is saved immediately, but the audio engine is created once per page load: reload the page to apply it.

Checklist for a slow computer, in order:

  1. Settings > AUDIO BUFFER = SAFE (SLOW PC), reload.
  2. Switch to PERFORM (F9), or press BAKE KIT in FULL mode (keep kick + snare if you want to edit them).
  3. Keep KITS LOAD AS: SAMPLES and MONO PADS: ON.
  4. Lower VOICE LIMIT to 16-24.
  5. Turn ⚡ SLOW CPU ON, and switch OFF 9-12 / OFF 13-16 for sounds you do not use.
  6. Use fewer FX sends; keep the reverb light (Light Room is the cheapest).
  7. Close other tabs and apps. Use Chrome or Edge.

---

7. Troubleshooting

ProblemLikely causeWhat to do
No sound at allAudio engine suspended (no click yet)Click anywhere on the page. Check the green audio LED and the ACTIVE badge in SETTINGS. Press ⚡ UNMUTE
No sound, engine ACTIVEWrong output device, volume low, tab mutedSETTINGS > OUTPUT DEVICE, ↻, TEST SOUND. Check MASTER VOL, system volume and the browser tab's mute icon
TEST SOUND works, pads silentPad muted or disabled, OFF switch, no pattern, wrong sampleCheck OFF 9-12 / OFF 13-16, the pad's volume and mute, a track mute or solo in the sequencer
Sequence plays but some pads never soundVoice limit, OFF switches, solo on another track, load sheddingRaise VOICE LIMIT, check MUTED switches, clear solos. Look at the LOAD badge
Hats or percussion drop outVoice budget under strain (by design)See 6.3 and 6.4. Turn MONO PADS on, bake pads, lower effects
Crackles, pops, stutterCPU overload or small audio bufferAUDIO BUFFER = SAFE and reload, PERFORM mode, bake pads, SLOW CPU, close other tabs
Reverb disappears for a few secondsFX auto-mute (badge shows FX MUTED)Reduce load (6.4). It comes back by itself after 8 s
Playback hangs or the page freezesHeavy tab or huge sample, an offline render in progressWait; press STOP. A BAKE WAV render can take a few seconds. Reload; RESTORE the autosave
Playback stops by itselfAn external MIDI Stop or MMC Stop arrived, or a CC 116 was sentCheck the MIDI monitor. Turn FOLLOW CLOCK off. Unplug or remap the controller
Tempo changed on its ownFOLLOW CLOCK is on, or a MIDI clock is arrivingSource tag says EXT CLOCK. Turn FOLLOW CLOCK off
Tempo is not what the preset saysPresets never change the tempo (by design)Press ↺ PRESET. The amber colour shows it differs
Tempo changed after loading a fileLOAD PROJECT and RESTORE load the saved tempo (source tag PROJECT)Retype your BPM. Undo does not restore tempo
Tempo jumps while tappingTaps more than 2 s apart start a new countTap steadily, at least 3 times
A kit sounds different from last timeKITS LOAD AS was changed, a kit needs its sample file, or the pad was editedCheck SETTINGS > KITS LOAD AS. Reload the kit. If SAMPLES, wait a moment for the printed sound to swap in. Pads you edited are replaced by a kit load
Pad sounds like a different instrument after PERFORMPERFORM baked it to a sampleReturn to FULL mode; PERFORM-baked pads go back to synths
Kit load changes loudnessA kit sets its own master levelMove MASTER VOL. (The slider does not follow the kit's value)
Project will not loadWrong file type (patch / song JSON), file from a newer version, damaged fileUse LOAD PROJECT only for .axiomproject. Use LOAD (legacy JSON) for patch / song files. Read the error toast
Restore banner does not appearNo autosave, other browser or page address, site data clearedUse a saved .axiomproject file
Samples missing after restoreAutosave fell back to the small copy (no IndexedDB)Use SAVE PROJECT regularly
Loop player audio missing after loadLoop slots are not part of projectsReload the loop files
Undo does nothing for a sample or tempoNot covered (4.3)Re-load the sample; set the tempo by hand
Controller does nothingChannel filter, wrong port, or Web MIDI blockedMIDI IN CH: try Omni. Check the monitor in MIDI SETUP. Rescan. Allow MIDI access in the browser
Notes play the wrong padsProfile root notesMIDI SETUP > PAD CONTROLLERS: pick the right profile or set ROOT MIDI NOTE
Pad LEDs on the controller stay darkNo MIDI OUT port, LED feedback off, wrong protocolChoose your controller as MIDI OUT. Tick TRANSMIT HARDWARE LED COLOR DATA. Try TEST LEDS
External synth plays over my drumsMIDI OUT points to a synthSet MIDI OUT to (None / Internal Only)
Learned control does nothingMapping on another channel, or deleted by RESET GM DRUMS / CLEAR ALLOpen the mapping table and check it. Re-learn
Cannot click controls (dashed outlines)MIDI LEARN is onPress EXIT LEARN
Strange behaviour after an update (build label shows ≠ js)Cached or mixed filesHard reload (Ctrl+F5), clear the site's cache
REC does nothingThe pattern slot is lockedUnlock it (pattern toolbar) or record into another slot
Settings are forgotten on reloadSLOW CPU, PAD LIGHTS, MONO PADS and FOLLOW CLOCK are not savedSet them again. KITS LOAD AS, AUDIO BUFFER, mode and view are remembered

---

8. Maintainer notes

Update this part when any of the files below change. Search for the element ids or function names given.

SectionDerived from
1.1, 1.2, 1.3, 1.4 (views, modes, keys, URL parameters)js/layout.js (state, keydown map F1-F4, F8, F9, ?view= parameters, PERFORM enter / leave), js/app.js _setupPadGrid (pad key map, FX trigger keys 5-6 in _setupAuxBayControls; AXIOM_AUX_COUNT in js/audio-core.js), js/ui-helpers.js (installSpaceBar, menu Esc handling), js/project.js wireUI (Ctrl+Z / Y), css/axiom-compact.css ("v9.4 PERFORM MODE" block: what is hidden)
2.1 build labelindex.html (data-build, inline script at the end), js/app.js line 1 (window.AXIOM_BUILD)
2.2-2.5 (tempo, swing, transport, record setup)index.html header (ids disp-bpm, input-bpm, btn-original-tempo, slider-swing, select-groove, btn-transport-*, modal-record-setup), js/app.js _setupTransportListeners, syncTempoUI, _setupRecordSetupModal, js/audio-core.js (setBPM, noteOriginalTempo, playOriginalTempo, tapTempo, getSwingOffset, setSwing), js/sequencer.js (toggleRecording, recordHit), js/tooltips.js
2.6 master volume and metersindex.html (slider-master-vol), js/audio-core.js (_setupMasterBus, setMasterVolume), js/app.js _startVisualizers, js/project.js _syncTransportUI
2.9, 4.4, 4.5 (preset bar, kits, sets, styles, sample mode)index.html (select-master-set, select-kit-only, select-sequence-style, slider-global-uniqueness, btn-master-random-kit), js/presets.js (applyFullSet, applyKit, applySequenceStyle, applyPendingCue, cueSequence, setKitLoadMode, _upgradeKitToSamples, _applyPadConfig), js/app.js (_setupSequenceBankButtons, random kit handler), PROJECT_STATE.md sections 8, 12, 16, 17
3.1 FILE menuindex.html (#menu-file), js/project.js (saveToFile, loadFromFile, wireUI), js/app.js (_setupStateManagement, exportPatchJSON, exportSongJSON, importStateJSON), js/audio-core.js (AudioRendererClass, renderActiveLoop)
3.2 MIDI menu, 5 (MIDI)index.html (#menu-midi, modal-midi-config), js/app.js (_setupMidiIntegration, _setupMidiLearn, _handleIncomingMidiInner, _rehydrateMapping, bindMidi, _setupMidiConfigModal, sendMidiLedColor), js/sequencer.js (_sendMidiNoteOn, _sendMidiNoteOff), js/audio-core.js (externalClockTick, externalClockStart, _scheduleStep clock out, start, pause)
3.3 SETTINGS menuindex.html (#menu-settings), js/app.js _setupUIElements, _setupAudioOutputControls, js/audio-core.js (setLowCpuMode, setDisablePads*, init latency hint, playTestSound), js/dsp-engine.js (maxVoices, monoPads, setPerfMode), css/style.css (body.low-cpu-mode)
4.1-4.3 projects, autosave, undojs/project.js (serialize, restore, autosave functions, showRestoreBanner, undo stack)
6 time keeping and performancejs/audio-core.js (_schedulerLoop, _startClockTimer, _watchRenderCapacity, setPerfLite), js/dsp-engine.js (admitVoice, refreshAuxActivity, setPerfMode, isHighPriority), js/app.js (badge code in _setupUIElements), js/layout.js, PROJECT_STATE.md sections 12, 13, 14, 16
7 troubleshootingAll of the above; re-check each row when behaviour changes
Tooltip wording reusedjs/tooltips.js (TIPS map)

Open issues found while writing (verify before relying on the manual text above; remove the notes here and in the text when fixed):

  1. At the last check index.html and js/app.js both said 10.2.0 (the coordinator reported 10.3); README still says v9.4. Re-check the build label text in 2.1 when the version changes. Preset-kit reverb rule: Presets.applyKit (Light Room unless axiom.reverbPicked).
  2. js/project.js header comment says aux FX bays are not persisted; the code does persist them.
  3. The meter's right bar is derived from the left bar's value (single peak reading).
  4. The "tempo is never changed by loading" rule has one deliberate exception: LOAD PROJECT and RESTORE apply the stored tempo.

02 - Pads and Sound

This chapter covers everything that makes a single pad sound: the 16 pads, the pad editor, the three sound engines (SAMPLE, SUBTRACTIVE, ADDITIVE), the PAD CONTROLS window, BAKE, and the kits.

Conventions used in this chapter:

Contents: 1 Pads and editor, 2 Sample engine, 3 Subtractive synth, 4 Additive synth, 5 PAD CONTROLS, 6 BAKE, kits, presets, 7 Cookbook and glossary, Maintainer notes.

---

1. The 16 pads and the pad editor

1.1 The pads

The 16 pads sit in a 4 by 4 grid (title: 16 DRUM CELLS // MATRIX). Each pad shows only a small number in the corner. Hover a pad to see its name and keyboard key.

RowPadsKeysDefault roles (factory pad names before a kit is loaded)
11 to 41 2 3 4KICK 1, KICK 2, SNARE 1, SNARE 2
25 to 8Q W E RCLAP, RIMSHOT, CLOSED HAT, OPEN HAT
39 to 12A S D FLOW TOM, MID TOM, HIGH TOM, CRASH
413 to 16Z X C VRIDE, PERC 1, PERC 2, SFX / IMPACT

Pad 17 is the separate LP pad (looper). It is covered in the loop chapter.

What you can do with a pad:

ActionResult
Click or tap a padPlays it and selects it. The editor then shows that pad.
Press its keyPlays the pad at velocity 0.9 and selects it. Keys are ignored while you type in a text box or drop-down, and while Ctrl, Alt or Cmd is held.
Click higher or lower on the padMouse velocity depends on where you click: the bottom edge is about 0.5, the top edge about 1.1.
Drop an audio file onto a padLoads it as that pad's sample and switches the pad to the SAMPLE engine.
Record (REC armed) while sequencer playsPads you hit are written into the pattern.

Selecting a pad also switches the right-hand deck to the PAD SOUND ENGINE tab.

Pad lights. A pad flashes for about 110 ms at the moment its sound plays, whether the hit comes from the sequencer, MIDI, a key or the mouse. Every pad lights when its sound plays, by any path (sequencer, MIDI, key, mouse, recording); your own hits always light. Use SETTINGS > PERFORMANCE / CPU > PAD LIGHTS to turn the sequencer-driven lights on or off. The selected pad has a permanent highlight.

Mute and solo. There is no mute button on the pads themselves. The MUTE and SOLO buttons in the sequencer deck header act on the currently selected track (the selected pad). They gate the steps the sequencer plays. They do not stop you from playing the pad by hand. To switch off pads 9 to 12 or 13 to 16 completely (to save CPU), use SETTINGS > PERFORMANCE / CPU > OFF 9-12 and OFF 13-16.

Hi-hat choke. Playing the pad named CLOSED HAT (pad 7) cuts any pad named OPEN HAT (pad 8). The match uses the pad names, so a renamed kit pad keeps the behaviour only if "CLOSED" and "OPEN" stay in the names, or if the pads stay in positions 7 and 8.

MONO PADS (SETTINGS > CPU, on by default). A pad cuts its own previous hit when you strike it again more than 45 ms later. Hits closer than 45 ms (flams, ratchets) overlap.

1.2 The tools under the pads

ControlWhat it does
RANDOM KITRandomizes all 16 pads, each within its own category rules. Same as RANDOM KIT in the top bar. The chaos level is the UNIQ slider (top bar) = CHAOS slider (synth panel); they are one value. Kicks keep both FX sends at 0. Pads in sample mode get a randomized sampler setting but keep their sample. Pads do not switch engine.
RANDOM PADRandomizes the selected pad. In FULL mode it presses RANDOMIZE SUB SYNTH. In PERFORM mode it presses the sample RANDOM button. If the pad is in ADDITIVE mode this changes only the hidden subtractive settings, so you will hear nothing new. Use the additive RANDOMIZE button for additive pads.
EDIT SOUNDSwitches to the SOUND view (same as F2): pads shrink to a strip and the editor gets the screen.
BAKE KITRenders every synth pad (SUBTRACTIVE or ADDITIVE) to a sample, one pad at a time. See section 6.1.
keep kick+snareTick box. When ticked, BAKE KIT leaves pads whose category or name contains "kick" or "snare" as live synths.
SYNTHSAppears only when at least one pad is baked. Puts every baked pad back on its synth.

View keys: F1 PADS, F2 SOUND, F3 SEQ, F4 collapse sequencer, F8 hide pad strip, F9 FULL / PERFORM.

1.3 The pad editor and the three engines

The PAD SOUND ENGINE tab shows the title bar "PAD n: NAME" and three engine tabs:

A pad's mode is the tab that is lit. Clicking an engine tab changes what the pad plays, immediately. Each pad remembers the settings of all three engines, so you can switch back and forth. Rules to remember:

The editor has two windows below the tabs:

  1. The engine window (the tab you chose).
  2. PAD CONTROLS (the final stage, right column).

---

2. SAMPLE ENGINE

Use the sample engine for recorded sounds, for pads that must be light on the CPU, and for baked synth sounds. The sampler is the best engine for live playing.

2.1 Loading and sources

ControlWhat it does
SAMPLE PACK (drop-down: "-- Load Preset Hit --")Builds a short synthesized hit in memory and loads it as the pad's sample. Choices: 808 Sub Kick, 909 Punch Kick, Acoustic Snare, Trap Clap, Crisp Closed Hat, Sizzle Open Hat, 808 Rimshot, Wood Clave, Lo-Fi Shaker, Acoustic Floor Tom, Bright Crash Cymbal, Ride Cymbal Bell. The pad is renamed after the preset (14 characters). Several presets contain random noise, so each load sounds slightly different. "Ride Cymbal Bell" falls into the generic fallback voice (a 120 Hz thump plus noise, 1.6 s long) rather than a ride sound (unverified by ear).
LOAD SAMPLE FILEOpens a file chooser. Accepts .wav, .mp3, .ogg, .flac (any format the browser can decode). The crop is reset to the whole file and the pad is renamed after the file.
(drag a file onto a pad)Same as LOAD SAMPLE FILE for the pad you drop on.
AUDITIONPlays the selected pad once.
the info line under the buttonsShows name, length in ms, sample rate and mono/stereo.

Trap: loading a file does not reset the sample envelope. A pad whose sampler envelope has SUSTAIN at 0 will fade the new sample away after about one DECAY time. If a loaded sample sounds cut short, set SUSTAIN to 1.00.

2.2 Crop, trim, normalize, reverse, random

The waveform window (canvas) shows the sample with two cyan crop markers.

ControlWhat it does
Drag a crop markerMoves the start or end of what plays. A marker grabs when you press within about 8 percent of the width of it. The markers cannot come closer than 2 percent.
Click away from both markersMoves the nearer marker to where you clicked.
AUTO-TRIMSets the crop to the transient. The start is the first sample at or above 0.03 in amplitude, minus 128 samples of headroom. The end is the last sample at or above 0.0105, plus 512 samples. Analysis uses channel 1 only.
NORMNormalizes the whole buffer so the peak is 0.98 (about -0.2 dB). Each channel is normalized separately, so a stereo sample with unequal channels changes its balance. The buffer is changed in place (the original is lost unless you reload it).
REVERSEReverses the whole buffer in place. The crop markers stay where they are on the screen, so re-set the crop after reversing.
RANDOMRandomizes the sampler: hidden sample pitch of up to plus or minus 12 semitones scaled by chaos, ATTACK 1 to 31 ms, DECAY 0.1 to 0.7 s scaled by chaos, SUSTAIN 0.15 to 1, CUTOFF 2 kHz to 18 kHz. The sample pitch is not shown by any slider and no control resets it directly; it stays until the next RANDOM or until the pad is restored (unverified).

2.3 Envelope, filter, pitch

ControlWhat it doesRangeDefault
ATTACKFade-in from silence. Never shorter than 1.5 ms, so a crop that starts mid-wave does not click.1 ms to 0.2 s2 ms
DECAYTime for the level to fall from the peak to the SUSTAIN level (exponential).0.02 to 2 s0.25 s
SUSTAINLevel held after the decay until the sample ends. At 1.00 the sample plays out in full and DECAY does nothing.0 to 1engine 0, shows 1.00 on a fresh pad until the pad is edited (see trap above)
RELEASEWith SUSTAIN below full, the level holds 20 ms after the decay and then fades to silence over this time. At full SUSTAIN the sample plays to its end (baked pads rely on this).0.01 to 2 s0.05 s
CUTOFFSample filter cutoff. At 20 kHz (19.5 kHz or more) the filter is bypassed in Lowpass mode.200 to 20000 Hz20000
RESONANCEFilter Q.0.1 to 181.0
FILTER TYPELowpass or Highpass.-Lowpass

There is no sample-pitch slider. Pitch comes from OVERALL PITCH in PAD CONTROLS (section 5). For samples it changes the playback speed, so +12 semitones plays the sample twice as fast and half as long.

Velocity sets the peak level of the envelope.

2.4 Conversion buttons

Button (as written on screen)What it does
CONVERT SAMPLE TO ADDITIVE SYNTHAnalyses the cropped part of the sample and builds an additive bank (section 4.3), then switches the pad to ADDITIVE. After a successful click the label shows "RESYNTHESIZED!" and then returns to "SEND TO ADDITIVE" instead of its original text (cosmetic quirk). If the pad has no sample it shows an alert. Uses the partial count chosen in the ADDITIVE tab (default 24).
CONVERT SAMPLE TO SUBTRACTIVE SYNTHMeasures the sample (pitch glide, brightness, noise amount, decay time, crest factor), picks a starting recipe (kick / snare-percussion / hat-metal by brightness), writes the subtractive settings, renders and scores the result, and switches the pad to SUBTRACTIVE. A score of 95 or more shows "CONVERTED!". A lower score opens a warning window that lets you keep the sound, export a diagnostic report, or retry with wider bounds. The sample stays in memory.
MATCH SUBTRACTIVE SYNTH TO SAMPLERuns the same analysis and the same function, without the "explicit conversion" flag. I could not find a different effect in the code. Treat it as the same job (unverified difference).

Both subtractive conversions overwrite OSC 1 to OSC 3 level and type, NOISE 1 and NOISE 2 settings, the main ADSR, the resonant filter and the drive. They do not reset the shaping HP and LP, or the PAD CONTROLS window.

---

3. SUBTRACTIVE SYNTH

3.1 Signal flow

 OSC 1 --+   (wave -> pitch glide START -> PITCH END over PITCH DECAY
 OSC 2 --+    -> own TONE DECAY envelope -> own PAN)
 OSC 3 --+
         +--> SUM --> MAIN ADSR --> SHAPING HP --> SHAPING LP
 NOISE 1-+    (if all five levels add up to more than 1.8 the sum is scaled down to 1.8)
 NOISE 2-+   (type -> HP -> LP -> own ATTACK / RELEASE envelope -> own PAN)

 FM stage (optional): any of the five sources ticked in the FM matrix leave the SUM and bend the pitch
 of one extra CARRIER oscillator instead; the carrier joins the SUM (section 3.8)

 --> RESONANT FILTER (always in the chain; lowpass in the editor; cutoff scales with velocity)
 --> DRIVE (algorithm, amount, wet/dry mix)
 --> PAD CONTROLS: FILTER (off/LP/HP) -> DRIVE / OD -> ATTACK fade
 --> pan -> PAD VOLUME -> master mix
                       \-> SEND 1..2 -> reverb / delay

Velocity affects three things on a subtractive pad: source level, resonant filter cutoff (soft hits are darker, hard hits brighter, scale 0.35 to 1.85) and the depth of the pitch drop.

3.2 Layout of the SUBTRACTIVE SYNTH tab

Top row: RECIPE CATEGORY drop-down, CHAOS slider, RANDOMIZE SUB SYNTH button. Below it, seven module tabs:

OSC 1 (PRIMARY), OSC 2 (LAYER), OSC 3 (ACCENT), NOISE 1 (BODY), NOISE 2 (METALLIC), FM SYNTH, SUM & SHAPING.

The old five-channel mixer strip is hidden. Its level, pan and MUTE controls now appear as the first three controls of each source tab (LEVEL, PAN, MUTE; the button reads MUTED while the source is silent).

3.3 Oscillators (OSC 1, OSC 2, OSC 3)

Each oscillator has the same controls. A source with LEVEL below 0.005 is not created at all.

ControlWhat it doesRange OSC 1 / OSC 2 / OSC 3Neutral default OSC 1 / 2 / 3
OSC n LEVELLevel before the main ADSR.0 to 10.90 / 0.30 / 0.00
OSC n PANStereo position.-1 to +1C
OSC n MUTESilences the oscillator.buttonoff
OSC n WAVEFORMShape. See table below.-Sine / Triangle / Square
START FREQ (HZ)Frequency at the instant of the hit.30-600 / 30-800 / 30-1200130 / 80 / 220
PITCH END (HZ)Frequency the pitch glides to. This is an end frequency, not a drop amount. Set it equal to START FREQ for a fixed pitch. The engine never goes below 10 Hz.0-400 / 0-400 / 0-60045 / 30 / 60
PITCH DECAYTime of the exponential glide from START to END. Short means a click and punch. Long means a laser-like sweep.0.005 to 0.5 s0.06 / 0.05 / 0.04
TONE DECAYAmplitude decay time of this oscillator. See the decay rule below.0.01 to 2.0 s0.35 / 0.25 / 0.15
FINE TUNE (CENTS)Detune, 100 cents = 1 semitone.-100 to +1000

Waveforms (names as shown in the drop-down):

Name on screenWhat it is
Sine, Triangle, SquareStandard shapes.
Saw + (Rising), Saw - (Falling)Saw ramps.
Rectangle (25%)A 25 percent pulse wave.
Random / S&HA fixed set of pseudo-random harmonics (a rough, stepped buzz). It is not a true sample-and-hold.
Sub SineSine with a strong second and third harmonic, for body.
Hyper SawSaw with gently varied harmonic weights.
Metallic BellA few inharmonic-sounding harmonics (1, 2, 3, 5, 7, 11, 13).
808 Bridged-T SubThe 808 kick and tom resonator: a nearly pure sine with a little saturation harmonic.
909 Snap ResonatorThe 909 kick core: sine with strong low harmonics and a small cosine component for a knock.
6-Schmitt Metallic Cluster (single wave)One oscillator with dense odd and even harmonics up to the 21st. Because the harmonics are whole multiples, it stays a pitched buzz; for real metal use the three cluster types below.
Metal Cluster: 6 squares (808 cymbal / hat)Six real square-wave oscillators at the TR-808's inharmonic ratios 1 : 1.48 : 1.80 : 2.55 : 2.63 : 3.90 of START FREQ (the circuit's 205 to 800 Hz). Gives the dense, hard metal of the 808 cymbal and hat. Set START FREQ to about 250 to 600 Hz and filter the lows away (SHAPING HP 2000 to 6000 Hz). Costs 6 oscillators per hit.
Shimmer Cluster: 12 beating squaresThe same six, each with a twin a few cents away that dies sooner. The twins beat against their partners, so the metal shimmers and moves, like a crash or ride. 12 oscillators per hit.
Modal Plate: 14 inharmonic modes14 triangle waves at the mode ratios of a struck plate (1, 1.59, 2.14, 2.30, 2.65 ...). Higher modes are quieter and die faster. A bell-like, clanging cymbal body; set START FREQ to about 500 to 1200 Hz. 14 oscillators per hit.

The three cluster types follow the oscillator's pitch drop like any other wave (all their oscillators move together) and, ticked into the FM matrix, they make strong inharmonic modulators. They are also the quickest way to metal when you send them to the FM stage (3.8).

(The code also knows twin_t_snare, a dual-resonance snare body. It is not in the drop-down; kit designs can use it.)

The decay rule (important). Every decay time is the time to fall about 80 dB (to silence), and these envelopes multiply: each oscillator's TONE DECAY, each noise RELEASE, and the main ADSR DECAY all apply at the same time. The time you actually hear to fall 40 dB (t40) is therefore roughly half of the stated time, and the main ADSR shortens it further:

t40 = 0.5 / (1/TONE DECAY + 1/ADSR DECAY)

To hit a target t40, solve for the source decay: TONE DECAY = 1 / (0.5/t40 - 1/ADSR DECAY). Set ADSR DECAY at least as long as your longest source, and ADSR SUSTAIN to 0.

3.4 Noise generators (NOISE 1, NOISE 2)

ControlWhat it doesRange NOISE 1 / NOISE 2Neutral default
NOISE n LEVELLevel before the main ADSR.0 to 10.20 / 0.00
NOISE n PAN, MUTEAs for the oscillators.-1 to +1C
NOISE n TYPEWhite Noise (bright), Pink Noise (1/f), Brown / Red Noise (dark), Metallic Cluster, Velvet Noise (sparse clicks), Sizzle (grainy glitter).-Pink / Metallic Cluster

Sizzle is white noise chopped into random 1 to 7 ms grains of different loudness and tilted towards the highs. Steady noise sounds flat and hissy; sizzle has the restless, glittering surface of a real cymbal or hat (its level flutters by about 1 to 3 dB, real cymbals by 0.6 to 2.6 dB). Use it as the second noise, quieter than the first, with a high SHAPING HP.

| HP CUTOFF (HZ) | High-pass on the noise. Keep it below LP CUTOFF; together they make a band-pass. | 20-12000 / 50-15000 | 20 / 1500 |

| LP CUTOFF (HZ) | Low-pass on the noise. | 100-20000 | 3500 / 12000 |

| PRE-ADSR ATTACK | Fade-in of the noise burst. | 0 to 0.5 s (minimum used is 1 ms) | 0.002 |

| PRE-ADSR RELEASE | Decay of the burst, to about -80 dB. | 0.005 to 2.0 s | 0.15 / 0.08 |

The noise buffers are fixed (the same noise on every hit), so hits are repeatable.

3.5 SUM & SHAPING

ControlWhat it doesRangeDefault
ADSR ATTACK (S)Fade-in of the summed sound.0.001 to 0.5 s0.002
ADSR DECAY (S)Fall from full level to the SUSTAIN level. Multiplies with every source decay.0.01 to 2.0 s0.25
ADSR SUSTAINLevel the envelope falls to. Use 0 for drum hits.0 to 10.00
ADSR RELEASE (S)Final fade after the decay.0.01 to 3.0 s0.10 (neutral engine 0.05)
SHAPING HP (HZ)High-pass on the summed sound.20 to 1000020
SHAPING LP (HZ)Low-pass on the summed sound.200 to 2000020000
RESONANT CUTOFFCutoff of the resonant filter.50 to 20000neutral engine 4500; the slider is drawn at 20000
FILTER RESONANCE (Q)Resonance of that filter.0.1 to 18neutral engine 1.5
DRIVE ALGORITHMRegular Distortion, Fuzz Distortion, Excite Overtones, Reduce Overtones, Reduce & Crunch, Ring Modulator, Compression + Distortion.-Regular
DRIVE AMOUNTDrive strength. 0 is clean.0 to 1000
DRIVE MIX (WET %)Share of the driven signal. At 0 the drive does nothing even if AMOUNT is high.0 to 1neutral engine 0

Envelopes run by themselves. There is no note-off for a drum hit. The main ADSR fires: attack, (hidden hold, normally 0), decay down to the sustain level, a 20 ms pause at that level, then the release fade. With SUSTAIN at 0 the release is already silent.

Rules that catch people out:

  1. The resonant filter is always in the chain and its neutral setting is a 4.5 kHz low-pass with Q 1.5. Hats, claps and cymbals sound dull and quiet until RESONANT CUTOFF is at 20000 and FILTER RESONANCE (Q) is about 0.7. The editor has no filter-type switch, so the resonant filter is a low-pass for any pad you edit by hand.
  2. Recipes (RECIPE CATEGORY) and RANDOMIZE set a drive amount but leave DRIVE MIX at 0, so they add no distortion. To hear drive, raise DRIVE MIX.
  3. Recipes leave the ADSR and resonant filter as they were. Check them after changing category.
  4. DRIVE ALGORITHM can show blank after a recipe that used the names "tube", "tape", "overdrive" or "foldback". Those all behave as Regular Distortion.
  5. For kicks use DRIVE ALGORITHM = Regular or Compression + Distortion with SHAPING HP at 24 to 28 Hz, to keep DC offset out.
  6. If all source levels add up to more than 1.8 the engine scales them down, so raising one level can make others quieter.

3.6 RECIPE CATEGORY, CHAOS, RANDOMIZE SUB SYNTH

RECIPE CATEGORY (34 categories): Kick, Snare, Hi-Hat, Crash Cymbal, Ride Cymbal, China Cymbal, Clap, Tom, Wood Block, Rim Shot, Bell, Swoosh, Stomp, 8-bit Snare/Cymbal/Hat, Impact Sound, UFO Sound, Drum Fill, Drive-By, Gunshot, Sword Swoosh, Sword Clank, Stab Sound, Whip, Gong, Chimes, Explosion, Page Turn, Fake Electric Car, Transition, Hovering, Bird Chirps, Metal Clang, 8-bit Cymbal, 8-bit Hat.

Choosing one loads that category's starting patch into the pad's oscillators and noises and sets the FX sends to 0. It replaces OSC 3 and NOISE 2 levels, but it does not touch the pad name, the ADSR, the filters, or PAD CONTROLS other than the sends.

Example starting patches (from the code): Kick = sine 240 to 46 Hz over 32 ms, tone decay 0.38 s, plus triangle knock and sub sine, plus pink noise click. Snare = triangle 310 to 185 Hz, sine 330 Hz and 440 Hz overtones, white noise high-passed at 2.1 kHz. Hi-Hat = three squares near 3.8, 5.9 and 8.2 kHz plus white and metallic noise. Tom = sine 220 to 110 Hz over 65 ms, decay 0.48 s.

CHAOS (0 to 100 percent, default 25): how far RANDOMIZE strays. 0 keeps close to genre rules, 100 is experimental. It is the same value as the UNIQ slider in the top bar.

RANDOMIZE SUB SYNTH: reloads the pad's category recipe and then randomizes the oscillators, noises, resonant filter, the pad volume, pan, and FX sends within ranges that suit that category. Kick and Stomp categories (and pads 1 and 2, or any pad named KICK or SUB) always get 0 on both sends. Randomizing never turns drive on. A pad in SAMPLE mode keeps its sample and gets a randomized sampler setting instead.

3.7 Recipes for typical sounds

These are starting points calculated from the engine rules. They have not been auditioned. For every recipe, set in SUM & SHAPING: ADSR SUSTAIN 0, RESONANT CUTOFF 20000, FILTER RESONANCE (Q) 0.7, unless noted. Unlisted levels are 0. Unlisted values stay at the neutral defaults.

808 kick (t40 about 0.4 s)

WhereSetting
OSC 1WAVEFORM 808 Bridged-T Sub (or Sine), LEVEL 1.0, START FREQ 130, PITCH END 48, PITCH DECAY 0.025, TONE DECAY 1.4
NOISE 1Pink, LEVEL 0.08, HP CUTOFF 800, LP CUTOFF 3000, PRE-ADSR RELEASE 0.012 (a small click)
SUM & SHAPINGADSR ATTACK 0.001, ADSR DECAY 2.0, SHAPING HP 24, DRIVE ALGORITHM Regular, DRIVE AMOUNT 15, DRIVE MIX 0.3
Longer "sub" kickPITCH END 40 to 45, TONE DECAY 2.0

909 kick (t40 about 0.24 s)

WhereSetting
OSC 1Sine (or 909 Snap Resonator), LEVEL 1.0, START FREQ 250, PITCH END 52, PITCH DECAY 0.04, TONE DECAY 1.0
OSC 2Triangle, LEVEL 0.25, START FREQ 700, PITCH END 150, PITCH DECAY 0.01, TONE DECAY 0.04 (the click)
NOISE 1White, LEVEL 0.3, HP CUTOFF 1500, LP CUTOFF 6000, PRE-ADSR RELEASE 0.008
SUM & SHAPINGADSR DECAY 0.9, SHAPING HP 28, DRIVE ALGORITHM Compression + Distortion, DRIVE AMOUNT 25, DRIVE MIX 0.4

909 snare (t40 about 0.14 s)

WhereSetting
OSC 1Sine, LEVEL 0.7, START FREQ 260, PITCH END 200, PITCH DECAY 0.02, TONE DECAY 0.25
OSC 2Sine, LEVEL 0.4, START FREQ 330, PITCH END 330, TONE DECAY 0.15
NOISE 1White, LEVEL 0.9, HP CUTOFF 2000, LP CUTOFF 12000, PRE-ADSR ATTACK 0.001, PRE-ADSR RELEASE 0.45
NOISE 2White, LEVEL 0.25, HP CUTOFF 5000, LP CUTOFF 20000, PRE-ADSR RELEASE 0.2 (extra snap)
SUM & SHAPINGADSR DECAY 0.8

Closed hat (808 style)

WhereSetting
OSC 16-Schmitt Metallic Cluster, LEVEL 0.5, START FREQ 800, PITCH END 800, TONE DECAY 0.06
OSC 26-Schmitt Metallic Cluster, LEVEL 0.3, START FREQ 540, PITCH END 540, TONE DECAY 0.06
NOISE 2Metallic Cluster, LEVEL 0.5, HP CUTOFF 7000, LP CUTOFF 20000, PRE-ADSR RELEASE 0.06
SUM & SHAPINGADSR DECAY 0.12, SHAPING HP 7000
Open hatSame, with TONE DECAY and PRE-ADSR RELEASE about 0.6 and ADSR DECAY 0.9. Put it on pad 8 and the closed hat on pad 7 so the closed hat chokes it.
Cymbal / crashSame, TONE DECAY and RELEASE 1.5 to 2.0, ADSR DECAY 2.0.

Clap

WhereSetting
NOISE 1White, LEVEL 0.9, HP CUTOFF 800, LP CUTOFF 1800, PRE-ADSR RELEASE 0.2
NOISE 2Pink, LEVEL 0.5, HP CUTOFF 1000, LP CUTOFF 3000, PRE-ADSR ATTACK 0.012, PRE-ADSR RELEASE 0.25 (a late second swell)
LayeringStagger the two noise layers (NOISE 2 starts 12 ms later, see above); the pad LFO gate no longer exists.
SUM & SHAPINGADSR DECAY 0.4

Tom (sine)

PadSTART FREQPITCH END
Low tomabout 280about 185
Mid tomabout 405about 270
High tomabout 575about 385

OSC 1: Sine, LEVEL 1.0, PITCH DECAY 0.05, TONE DECAY 0.9. NOISE 1: Pink, LEVEL 0.15, HP CUTOFF 1000, LP CUTOFF 3500, PRE-ADSR RELEASE 0.02 (stick). ADSR DECAY 0.8 (t40 about 0.2 s). Lower toms get longer decays.

Cowbell: OSC 1 Square 540 to 540, OSC 2 Square 800 to 800, both TONE DECAY 0.35, ADSR DECAY 0.5, SHAPING HP 400, SHAPING LP 6000.

---

3.7a Recipe: a better cymbal

Cymbals and hats are the hardest drum sounds to synthesise, because they are made of many unrelated (inharmonic) vibrations plus a restless noise wash. The standard methods, and what this synth offers for each:

MethodWhere
A bank of inharmonic square waves (the TR-808 circuit)OSC type Metal Cluster, or Shimmer Cluster for the beating version
Modal synthesis: the vibration modes of a struck plate, each with its own decayOSC type Modal Plate
Frequency modulation with non-integer ratios (a few oscillators making dense sidebands)the FM SYNTH tab (3.8): send a cluster or OSC 2 into the matrix, CARRIER RATIO 2 to 6, FM INDEX 1 to 4
Noise, high-passed, in two layers with different decaysNOISE 1 white, NOISE 2 Sizzle
Highs that die faster than the lowsdifferent TONE DECAY / RELEASE on each source, and ADSR DECAY

The built-in Crash Cymbal and Ride Cymbal categories (RECIPE CATEGORY) use these: for the crash a Modal Plate (510 Hz, level 0.53) with a quiet Metal Cluster (380 Hz) and Shimmer Cluster (875 Hz), white noise (HP 2750) and Sizzle (HP 5000, level 0.2), ADSR DECAY 2.7, SHAPING HP 2900, RESONANT CUTOFF 20000. The recipe was found by trying 600 variants against 17 factory crash recordings: it matches their decay, brightness and band balance better (score 65 against 61 for the old recipe, on a 100-point scale where one recording against another typically reaches 70 to 85).

3.8 FM SYNTH (the FM stage)

The FM SYNTH tab sits after the two noise generators and before the ADSR. It adds one carrier oscillator whose pitch can be bent (frequency modulation) by any of the five sources: OSC 1, OSC 2, OSC 3, NOISE 1 and NOISE 2. It is off when a pad is created or a kit is loaded; the tab shows a dot (FM SYNTH ●) while it is on.

How it works:

  1. Tick FM STAGE ON (sub-fm-enable).
  2. In the matrix SEND INTO FM (sub-fm-in-1 to sub-fm-in-5: OSC 1, OSC 2, OSC 3, NOISE 1, NOISE 2) tick the sources that should act as modulators. A ticked source is taken out of the normal sum and bends the carrier instead, in mono (its PAN no longer applies). Its own LEVEL sets how strongly it bends the carrier (there are no extra volume faders in the matrix), and its pitch, drop and tone envelope shape the modulation. Unticked sources play as normal, so you can keep a noise burst or a layer outside the FM.
  3. The carrier follows OSC 1's pitch curve (START FREQ, PITCH END, PITCH DECAY, TUNE) multiplied by CARRIER RATIO, even when OSC 1 itself is muted or sent into the matrix. It joins the sum with the other sources, then goes through the ADSR, filters, drive and PAD CONTROLS like any other source.
ControlWhat it doesRangeDefault
FM STAGE ONSwitches the stage on. With it off the pad sounds exactly as before.on / offoff
SEND INTO FM: OSC 1, OSC 2, OSC 3, NOISE 1, NOISE 2Which sources act as modulators. A source with level 0 or MUTED has no effect.5 tick boxesall off
CARRIER WAVEWaveform of the carrier.Sine, Triangle, Square, SawSine
CARRIER RATIOCarrier pitch as a multiple of OSC 1's pitch. 1 = the same note, 2 = an octave up.0.25 to 81
FM INDEXDepth of the modulation. The carrier's pitch is bent by up to index x its own pitch (times the modulator's level). 0 = no FM, a plain carrier.0 to 122
INDEX DECAY (S)How fast the depth dies away (to 2%). A short time gives a bright attack that turns into a clean tone.0.01 to 2 s0.12
CARRIER DECAY (S)Length of the carrier's own fade-out (before the main ADSR).0.02 to 3 s0.35
CARRIER LEVELLoudness of the carrier in the sum (counts towards the 1.8 headroom limit).0 to 10.80

Tips: a sine OSC 2 at a simple ratio to OSC 1 (for example OSC 1 at 130 Hz, OSC 2 at 260 Hz) gives classic bell and tom tones; raise FM INDEX for metal and clangs. Sending NOISE 1 into the matrix gives noisy, rattling FM. Sending OSC 1 itself into the matrix makes the carrier modulate itself with the same pitch curve. FM adds one oscillator and two gain stages per hit (about double the offline render time of a plain pad, still tiny). The FM settings are saved with the pad, work with BAKE TO SAMPLE and CONVERT TO ADDITIVE, and are not touched by the additive tab.

4. ADDITIVE SYNTH (new in v10.2)

4.1 What additive synthesis is

An additive pad builds its sound by adding many plain sine waves, called partials. Each partial has its own frequency, level and decay time. A bell, a tom or a drum body is a handful of partials that fade at different speeds. Because you draw each partial's level yourself, you can reshape the spectrum of a sound directly: darker, hollower, more metallic, longer.

The engine has three parts:

Two numbers describe every partial:

What additive synthesis is good at (the sounds this tab is for, which the subtractive synth cannot make as well):

Limits: it needs many oscillators (live hits use up to 32, extra partials play only when you BAKE), and it is weak at dense noise: add the NOISE (RESIDUAL) layer or print the pad to the sampler.

Partials are always kept sorted by frequency, and every tool works on the real ratio, never on the list position. (So ODD/EVEN really means odd and even harmonics, even if the bank has gaps.)

The pad's pitch comes from the bank itself. To retune a pad, use OVERALL PITCH in PAD CONTROLS (plus or minus 24 semitones). There is no f0 slider. A pad can hold up to 128 partials per bank.

4.2 Top rows of the ADDITIVE SYNTH tab

ControlWhat it does
CONVERT FROM SAMPLEAnalyses the pad's sample (cropped region only) and replaces bank A with the result (section 4.3). Needs a sample on the pad. A baked synth pad counts, because its baked sample is a sample.
partial-count drop-down16, 24, 32, 48 or 64 partials. Used by CONVERT FROM SAMPLE, by COPY TONE, and by the SERIES presets. Default 24.
RANDOMIZEBuilds a new harmonic bank (24 partials on a random fundamental of 50 to 300 Hz) with random shaping settings. Chaos-aware. Switches the pad to ADDITIVE.
Series presets... (drop-down)Replaces bank A with a classic series built on the current f0. See 4.4.
~N osc/hitBadge showing the CPU cost of one hit. See 4.9.
THIS PAD IS BAKED TO A SAMPLE noteOrange note that appears when the pad was baked from an additive pad. It says edits are not heard until you UN-BAKE (the BACK TO SYNTH button).

4.3 Converting a sample: what is estimated

Click CONVERT FROM SAMPLE (or CONVERT SAMPLE TO ADDITIVE SYNTH on the sample tab). The analysis, step by step:

  1. The cropped part of the sample is mixed to mono. Set the crop first with AUTO-TRIM.
  2. The analysis starts where the signal first reaches 10 percent of its peak (minus 1 ms).
  3. Which partials. A long spectrum (8192 points) of the first moment is searched for peaks between 25 Hz and the lower of 20 kHz or 0.45 of the sample rate. A peak must be above -60 dB relative to the strongest and be a local maximum. Peaks closer than 1.2 bins are merged. The loudest N peaks (N is the partial-count drop-down) are kept, with a refined frequency. Only the first window of the sound defines the partial list.
  4. Level and decay of each partial. The partial's level is followed over time with short windows (2048 points, or 4096 when the lowest partial is below 90 Hz). A straight line is fitted to the level in dB over the first part of the decay (the part that stays within about 35 dB of the peak). The line gives the starting level (a partial's level is the extrapolated level at time zero, scaled so the loudest is 1.0) and the decay time (time to fall 60 dB, limited to 0.02 to 8 s). If there are fewer than three usable points, or the partial does not fall, its decay is set to the sample length (at most 3 s).
  5. Attack. The 1 ms RMS envelope gives the time from 10 to 90 percent of the peak, limited to 0.5 to 30 ms. It is written to the ATTACK (ms) slider.
  6. Noise residual. The energy left after removing the peaks (plus or minus 3 bins) is measured in seven bands (60-200, 200-500, 500-1000, 1000-2000, 2000-4000, 4000-8000 Hz and 8 kHz to 16 kHz), each with a level and a decay time. Both conversions (from a sample and from the subtractive synth) set NOISE (RESIDUAL) to 1.00, so the noise part is heard at once; lower the slider to taste. In a test on 80 factory pads this cut the spectral distance to the original from 24 dB to 15 dB (snares, claps, hats and cymbals gain most; kicks and toms were already close).
  7. The pad switches to ADDITIVE. The old shaping sliders are not reset.

After a conversion each bar remembers its analysed level, so Alt+click (or the 0 key) can restore it.

4.4 SERIES presets

Choosing a series replaces bank A at once, on the current f0 (110 Hz if the pad has no bank), clears the stored noise residual and keeps layer B. N is the partial-count drop-down.

Preset (as on screen)Partials
Saw (1/n)harmonics 1 to N, level 1/n
Square (odd 1/n)odd harmonics 1, 3, 5 ... (N of them), level 1/n
Triangle (odd 1/n²)odd harmonics, level 1/n squared
Pulse 25%harmonics 1 to N, level of a 25 percent pulse wave
Organ drawbarsratios 1, 2, 3, 4, 6, 8, 10, 12 with fixed levels
Bell (inharmonic)ratios 1, 2.76, 5.4, 8.93, 13.34, 18.64, 25.1, 32.7, falling levels, long decays
Glass (inharmonic)ratios 1, 2.32, 4.25, 6.63, 9.38, 12.5, 16.1
Clarinet (odd, soft)odd harmonics, level 1/n to the power 0.7
FM Bell (1 : 1.4)the sidebands of a carrier : modulator 1 : 1.4 FM bell at ratios 0.4, 1, 1.8, 2.4, 3.2, 3.8, 5.2, 6.6, 8.0, 9.4
Tubular bellratios 1, 2, 3, 4.2, 5.4, 6.8, 8.4, 10.2
Vibraphone barsratios 1, 3.99, 10.02, 17.9 (long fundamental, short overtones)
Marimba barsratios 1, 3.93, 9.14, 15.8 (short, wooden)
Singing bowlratios 1, 2.71, 5.15, 8.14, 11.7, 15.9, very long decays
Gong / tam-tam12 inharmonic modes from 1 to 10.1, long decays
Gamelan metallophoneratios 1, 1.5, 2.07, 3.01, 3.55, 4.6, 6.1
Cymbal cluster (dense metal)the six 808 ratios, then a fixed scatter of inharmonic partials between 2 and 14 times f0, highs dying faster; N partials. Set f0 to about 900 to 1200 Hz (use OVERALL PITCH or the partial editor) for a bright cymbal
Hi-hat cluster (short metal)the same layout with 0.1 to 0.2 s decays

Decay times of the harmonic series shrink with the harmonic number (about 0.5 to 0.6 s divided by the square root of n).

4.4a SHIMMER, SIZZLE, DIVE & BLOOM

The panel section SHIMMER, SIZZLE, DIVE & BLOOM (METAL, GLASS, CYMBALS, ZAPS) holds six sliders that use what only a bank of independent partials can do. They act on every hit (they are not printed by COMMIT TOOLS, except SCATTER).

SliderWhat it doesRangeDefault
SHIMMER (BEATING TWINS)The loudest partials get a twin 2 to 12 cents away (more cents with more SHIMMER) at 70 to 100% of the level; the pair beats against each other. Uses up to 40% more oscillators; the cost badge counts them.0 to 10
SCATTER (RANDOM DETUNE, CENTS)Detunes each partial by its own fixed random amount up to this many cents (the same every hit). Small = thick, large = clanging. COMMIT TOOLS prints it into the partial frequencies.0 to 600
SIZZLE (RANDOM LEVEL FLUTTER)Each partial's level wobbles randomly every 10 to 30 ms for the first 1.6 s, more for higher partials. Different on every hit. Measured: a clean 12-partial cluster goes from 0.12 dB to 1.3 dB of surface flutter at 1.0.0 to 10
PITCH DIVE (SEMITONES)Every partial starts this far above (negative: below) its pitch and glides to it (exponentially).-24 to +240
DIVE TIME (ms)Length of that glide.5 to 1000120
BLOOM (HIGHS ENTER LATER)The partial's start is delayed by BLOOM x 60 ms for every octave above f0, so the sound opens up.0 to 10

Ideas: a bell = FM Bell series + SHIMMER 0.5 + SCATTER 8; a cymbal = Cymbal cluster series (f0 1000 Hz) + SIZZLE 0.5 + DECAY TILT 0.5 + NOISE (RESIDUAL) 0.5; a laser zap = any series + PITCH DIVE +24, DIVE TIME 80; a bowed swell = Organ drawbars + ATTACK 30 ms + BLOOM 0.6. In a test, an additive cymbal cluster reached a similarity score of 58 against 17 reference crashes (the subtractive recipe: 65), but with the sound of a struck metal plate rather than of noise.

4.5 The partial editor (canvas)

The big canvas shows one bar per partial. The upper part shows the level (bar height, linear 0 to 1). The lower purple lane shows the decay of each partial on a log scale from 0.02 to 8 s. Numbers under the bars are the harmonic ratios.

How to read it:

Mouse

GestureResult
Drag across the bars (upper area)Draws levels. Bars skipped by a fast drag are filled by a straight line.
Shift + dragDraws a straight ramp from the bar where you pressed to the bar under the pointer.
Ctrl + drag (Cmd on Mac)Scales the bar under the pointer: drag up to raise it, down to lower it.
Drag in the lower laneSets decay times of the bars you cross (0.02 to 8 s, log scale).
Right-click a barMute or unmute that partial.
Shift + right-clickSolo or unsolo that partial. If any partial is soloed, only soloed partials sound.
Middle-clickMute or unmute.
Alt + clickRestores the analysed level of that bar (only for bars that have one, for example after a conversion).
HoverShows the readout for that bar.

Keyboard (click the canvas first so it has keyboard focus)

KeyResult
Left / Right arrowSelect the previous / next partial.
Up / Down arrowLevel plus or minus 1 dB. With Shift: 6 dB. With Alt: 0.2 dB. A bar can never go above 1.0.
[ and ]Decay shorter (about 11 percent) / longer (about 12 percent) per press.
MMute / unmute the selected partial.
SSolo / unsolo the selected partial (the editor keeps the key to itself: it no longer plays pad 10).
Delete or BackspaceRemove the selected partial.
0Restore the analysed level of the selected partial.
Ctrl + Z / Ctrl + YEditor-local undo / redo.

Undo. The editor keeps its own 20-step history, used while the canvas has focus (Ctrl+Z, Ctrl+Y) or through the two arrow buttons next to A and B. One drag is one step. Every tool button is one step. It records the partial banks (A and B) and f0. It does not record the shaping sliders or other controls. It is not per pad (see Maintainer notes), so do not undo after you change pad. The project-wide Ctrl+Z is blocked while the canvas has focus. Ctrl+Shift+Z in the canvas is also undo (not redo).

4.6 Tool buttons

The EDIT row: A, B, undo, redo, the tool buttons, and the audition tick box.

ButtonWhat it does
A / BChooses which bank the canvas and the tools edit. B is available only when layer B has content.
undo / redo (arrow buttons)See 4.5.
NORMScales levels so the loudest is 1.0.
SMOOTHAverages each partial with its two neighbours in the sorted list (weights 25, 50, 25 percent).
FLATSets every partial to the average level.
INVERTReplaces each level with 1 minus the level (minimum 0.01).
+HMoves every partial up by f0 (one harmonic step).
-HMoves every partial down by f0 (lowest allowed 20 Hz). Partials can pile up on top of each other.
SNAPMoves each partial to the nearest whole harmonic of f0. Two partials can land on the same harmonic and add.
+ PARTIALAdds one partial one harmonic above the highest, at level 0.3 and the average decay, and selects it.
- PARTIALDeletes the selected partial. Click a bar first.
UNMUTE ALLClears every mute and solo flag.
COMMIT TOOLSPrints the effect of the shaping sliders into the bars of bank A, then resets those sliders (see below).
auditionWhen ticked, the pad plays after each edit so you hear it.

COMMIT TOOLS in detail. It always works on bank A. It writes the shaped result into the partials: frequencies after STRETCH and INHARMONICITY, levels after tilt, odd/even, low end, top end, formant, comb and FLOOR, and decays after DURATION and DECAY TILT. Levels are renormalized so the loudest is 1.0. Then it resets TILT, ODD/EVEN, LOW END, TOP END, FORMANT BUMP, COMB, HARMONIC STRETCH, INHARMONICITY, DECAY TILT and DURATION SCALE to neutral. Corner, frequency, width, spacing and shift sliders, PUNCH, SUB-OCTAVE, NOISE, FLOOR and the vibrato stay as they are. Three consequences:

Use COMMIT TOOLS before you want to continue sculpting the sound you hear, and before you copy the pad into another pad's layer B (which reads the shaped result anyway).

4.7 Shaping sliders

These sliders act on both layer A and layer B while the pad plays. Let r be the harmonic ratio of a partial and f its frequency. Amounts are in dB unless stated.

SPECTRAL SHAPING (ODD / EVEN, LOW END, TOP END, FORMANT, COMB, STRETCH)

SliderRange / defaultExact effect
SPECTRAL TILT-1 to 1 / 0Adds tilt x 12 x log2(r) dB. At +1 harmonic 2 is +12 dB, harmonic 4 is +24 dB, harmonic 8 is +36 dB. Negative values darken. The fundamental (r = 1) is untouched.
ODD / EVEN HARMONICS0 to 1 / 0.5With o = (value - 0.5) x 2, each harmonic partial gets +18 x o dB if its number is even and -18 x o dB if odd, weighted by how close it is to a whole harmonic. At 1.0: odd -18 dB, even +18 dB (warm). At 0: odd +18 dB, even -18 dB (hollow, square-like). The fundamental is left alone (a built-in "fundamental lock", no switch). Inharmonic partials are not affected.
LOW END (BOTTOM HARMONICS)-24 to 24 dB / 0Shelf below the corner: dB / (1 + (r / corner)^4). Full amount well below the corner, half at the corner, nothing far above.
LOW END CORNER (HARMONIC #)1 to 32 / 4The harmonic number of that shelf corner.
TOP END (UPPER HARMONICS)-24 to 24 dB / 0Shelf above the corner: dB x (1 - 1 / (1 + (r / corner)^4)). Nothing below, half at the corner, full above.
TOP END CORNER (HARMONIC #)2 to 64 / 8The harmonic number of that shelf corner.
FORMANT BUMP (dB)-18 to 18 / 0Peak (or notch) at the formant frequency: dB x exp(-(log2(f / FORMANT FREQUENCY) x Q)^2). It falls to half its dB value about 0.83 / Q octaves away. Zero turns it off. Works on the true frequency, not the harmonic number.
FORMANT FREQUENCY (Hz)100 to 8000 / 1200Centre of the bump.
FORMANT WIDTH (Q)0.5 to 8 / 2Higher means narrower: only a few partials are affected.
COMB (NOTCHES)0 to 1 / 0Cuts up to 24 x depth dB with a raised-cosine pattern over the harmonic number: -24 x depth x (0.5 - 0.5 x cos(2 pi (r / spacing + shift))). Partials at multiples of the spacing (at shift 0) are untouched; partials halfway between are cut most.
COMB SPACING (HARMONICS)1.5 to 16 / 3Distance between notches in harmonic numbers.
COMB SHIFT0 to 1 / 0Slides the pattern up the harmonic series. 1.0 moves it by exactly one spacing (a full cycle). Sweep it for a phaser-like movement.
HARMONIC STRETCH-0.3 to 0.3 / 0Moves partial r (above 1) to f0 x r^(1 + stretch). At +0.1 the second harmonic sits at 2.14 x f0. Positive is bell- or piano-like. Negative squeezes the harmonics together.
INHARMONICITY (METALLIC)0 to 1 / 0Multiplies each frequency by sqrt(1 + 0.004 x value x r^2) (limited to 2.5x). At value 1, harmonic 10 sits 18 percent high, harmonic 20 sits 61 percent high. Applied after STRETCH.

TIME, LEVEL & NOISE

ControlRange / defaultExact effect
PHASE (drop-down)Spread (low crest) / All sine / All cosineStart phase of the partials. Spread gives each partial a different start phase (steps of the golden ratio), which lowers the peak level of the sum (lower crest factor): punchier and cleaner at the same loudness. All sine starts every partial at phase 0 and All cosine at a quarter cycle; these pile up at the first instant and make a sharp click and a higher peak.
DURATION SCALE0.2 to 3 / 1Multiplies every partial decay (also the sub-octave and noise decays).
DECAY TILT (HIGHS vs LOWS)-1 to 1 / 0Multiplies the decay by max(r,1)^(-0.5 x tilt). At +1 harmonic 16 decays 4 times faster than the fundamental. Negative makes the highs ring on.
ATTACK (ms)0.5 to 50 / 2Fade-in of each partial. Conversions set this from the sample.
PUNCH (TRANSIENT)0 to 1 / 0.4Each partial starts at 1 + 2 x punch times its level and settles to its level over 15 ms. At 0.4 that is 1.8 times.
SUB-OCTAVE0 to 1 / 0.5Adds a sine at half the fundamental (kept between 20 and 220 Hz), level value x 0.5, which fades in 3 ms and decays over 0.4 x DURATION SCALE seconds. It is on by default; set it to 0 to remove it. Above 0.05 it uses one oscillator.
NOISE (RESIDUAL)0 to 1 / 0Mixes in the noise found by the conversion, in three bands (centred 250 Hz, 1.5 kHz, 6 kHz). Level is the analysed level times value x 2. If the pad has no analysis (a series preset, RANDOMIZE), it mixes a single 250 Hz band-limited thump with a 0.12 s decay instead of white noise.
FLOOR (dB)-72 to -30 / -54Partials quieter than this, relative to the loudest, are left out. Raising it thins the sound and saves CPU.

The pad's overall loudness is normalized automatically (a sum of the partial levels around -4 dBFS peak). Boosting one partial changes the balance more than it raises the volume. Use PAD VOLUME to set the final level.

The "after-shaping" order for each partial: level shaping in dB (tilt, odd/even, low end, top end, formant, comb) then frequency changes (stretch, then inharmonicity), then decay changes (duration, decay tilt). Partials under 20 Hz or above 0.45 of the sample rate are dropped. Then the FLOOR removes quiet partials, and the survivors are sorted loudest-times-longest first for the oscillator cap.

4.8 MORPH LAYER B (copy a tone from another pad and blend)

Layer B is a second bank of partials copied from another pad. During every hit, A and B are blended.

ControlWhat it does
source drop-down (Pad 1 to Pad 16)Pad to copy from. The looper is not available. You may choose the pad itself.
COPY TONE → BAnalyses the chosen pad and stores its partials in B. An ADDITIVE pad: its shaped bank A (the effective result of its shaping sliders) is copied. A SAMPLE pad: its cropped sample is analysed with the partial count. A SUBTRACTIVE pad: one hit is rendered offline (2.5 s) and analysed. The button reads ANALYSING... while it works. If B and the morph amounts are both zero, the copy sets MORPH END to 1 so you hear B.
align pitchTick box. Transposes the copied tone so its f0 equals this pad's f0.
Cross-fade / Glide (partials slide)The blend mode (see below).
B → AReplaces this pad's bank A with B.
SWAP A/BExchanges A and B. The old A becomes B, named "previous A".
COMMIT BLEND → APrints the blend at the MORPH END amount into A (see below) and sets MORPH START and MORPH END to 0. B stays.
CLEAR BEmpties B and turns the morph off.
the info lineShows "B: label - n partials, f0 x Hz" or "B is empty".
SliderRange / defaultEffect
MORPH START (A..B)0 to 1 / 0Share of B at the start of each hit. 0 is all A, 1 is all B.
MORPH END (A..B)0 to 1 / 0Share of B after the ramp. If both START and END are 0, B is not heard.
MORPH RAMP TIME (s)0.02 to 4 / 0.5Time to move from START to END.
MORPH CURVE-1 to 1 / 0Bends the ramp with time^(2^curve). Negative moves quickly at first, positive slowly at first.

Cross-fade mode. A fades out and B fades in with equal-power curves while the blend goes from START to END over the RAMP TIME. A bank that is not heard (blend near 0 or 1 at both ends) is not played, to save oscillators.

Glide mode. Each partial of A is paired with the nearest partial of B (within one third of an octave). The paired partial slides in frequency, level and decay from A to B over the ramp time. Unpaired partials fade in or out. Glide uses plain sines (the PHASE setting does not apply). It gives a pitch-gliding sound, such as a kick that turns into a tom.

COMMIT BLEND → A in detail. At the MORPH END amount m, A and B partials are paired by pitch (within one third of an octave). Paired partials get frequency and level blended geometrically (in the log domain) and decay blended in a straight line. Unpaired A partials are kept at (1 - m) of their level. Unpaired B partials are added at m of their level.

4.9 CPU cost rules

Additive sound costs one oscillator per partial per hit, plus extras. The engine protects the clock with these limits:

LimitValue
Oscillators per hit, live32 partials (the loudest-times-longest first; the rest are skipped)
Oscillators per hit, when rendering for BAKE or for a preview96
Oscillators per hit when the engine is crowded (more than 192 additive oscillators already sounding)12 (the "crowded" cap)
Partials per bank128
When A and B both play in cross-fade modeA gets half the cap (rounded up), B gets the other half
Voice limitAn additive hit counts as 1 voice per 10 oscillators (1 to 5 voices) against the VOICE LIMIT (default 32). A 32-partial hit uses 4 voice slots.

The ~N osc/hit badge is the estimate: the number of partials that survive FLOOR (A plus B when the morph is active), limited to 32 and plus 1 for the sub-octave. It turns amber at 32 or more. If more partials exist than the live cap, it adds "(n partials, capped live)". Everything beyond the cap is skipped live. BAKE it to hear all of them.

4.10 Workflow: design in additive, then BAKE to the sampler

The additive engine is for designing. The sampler is for playing. Work like this:

  1. Convert a sample or pick a series preset.
  2. Shape it with the bars and sliders until it sounds right (use COMMIT TOOLS to keep going).
  3. Click BAKE TO SAMPLE (top right of the editor). The pad renders one hit offline, with up to 96 partials and the full shaping, trims the silent tail (below about -52 dB), and switches to SAMPLE mode. The render length follows the longest partial (at least 1 s, at most 6 s).
  4. The baked pad is a normal sample pad: ADSR, filter, crop, PAD CONTROLS and sends all work, and it costs very little CPU.

What the buttons do:

ButtonEffect
BAKE TO SAMPLERenders the pad's synth voice (ADDITIVE or SUBTRACTIVE) into a sample. Overall pitch, final filter, final drive and final attack are rendered neutral and stay live on the sample side. The synth settings are kept.
CONVERT TO ADDITIVERenders the subtractive voice, measures its partials (pitch, level, decay, attack and the noise part) and rebuilds the pad as an additive synth with 32 partials (or your partial count if it is higher) and the NOISE (RESIDUAL) slider at 1.00, so the measured noise part comes back. The pad volume is raised or lowered so the loudness stays about the same. The subtractive settings are kept, so the SUBTRACTIVE SYNTH tab switches back. Shown only while the pad plays the subtractive synth.
BACK TO SYNTH (the UN-BAKE button)Returns the pad to the synth it was baked from and restores the sample and crop it had before the bake. The synth settings were never touched.
BAKE KIT, SYNTHSThe same for all pads (section 6.1).

Why baked pads ignore additive edits. After BAKE the pad plays a recorded sample, not the partials. The partial bars, shaping sliders and morph settings are still stored, but nothing reads them until you press BACK TO SYNTH. The orange note "THIS PAD IS BAKED TO A SAMPLE" reminds you. To use new edits you can either un-bake, edit, and bake again, or keep editing the sample.

One more difference: OVERALL PITCH on a baked pad changes the playback speed (the sound gets shorter when raised). On a live additive pad it only transposes the partials.

---

5. PAD CONTROLS (the final stage window)

The right-hand window under the engine. It works for all three engines (and for the looper pad). Two columns:

ControlWhat it doesRangeDefault
PAD VOLUMELevel of the pad. Values above 1 boost.0 to 1.50.85
STEREO PANPosition, shown as C, L n or R n.-1 to +1C
OVERALL PITCHTransposes the whole pad. For samples it also changes playback speed.-24 to +24 ST0 ST
FILTER MODEOff (Bypass), Lowpass or Highpass.-Off
FILTER CUTOFFCutoff of that filter. No effect while Off.0 to 20000 Hz (limited to 20 Hz or more)20000 shown (engine 18000)
FILTER RES (Q)Resonance of that filter.0.1 to 181.0
ATTACK (S)Fade-in of the finished sound. Values up to 3 ms are treated as off.0 to 1.0 s0.002
RELEASE (S)Length of the fade at the very end of the pad's sound (an exponential fade over the last RELEASE seconds of the audible tail, about -50 dB). Low values end the quiet tail sharply, high values let it die away smoothly. A value as long as the sound itself changes nothing.0.01 to 4.0 s0.25 s
DRIVE / ODOverdrive on the finished sound, always fully wet. Anything above 0.01 is on. Hard at the top.0 to 1 (shown as %)0%
SEND 1 (REV)How much of the pad goes to shared effect channel 1 (reverb).0 to 10.00
SEND 2 (DLY)Shared effect channel 2 (delay).0 to 10.00

Signal order in this window: engine sound, FILTER, DRIVE / OD, ATTACK, then pan, then PAD VOLUME. The sends are taken after pan and volume, so a quieter pad also sends less. The effect type of each channel (1 reverb, 2 delay) is set in the 2 AUX FX BAYS tab. Only two shared effect channels exist. The send labels and meaning follow the bay setup.

When the looper pad (17) is selected, the same controls (except ATTACK and RELEASE) act on the loop player.

Factory kits start with both sends at 0 (dry). RANDOMIZE can set sends on non-kick pads.

---

6. BAKE tools, kits and presets

There is no pad LFO any more: the LFO window, the additive vibrato and the LFO settings inside the factory kits were all removed in build 10.3. (Only the effect bays' own chorus / phaser / flanger sweep remains.)

6.1 BAKE tools

Control (as on screen)WhereWhat it does
BAKE TO SAMPLETop right of the PAD SOUND ENGINE tabBakes the selected pad. Shown only when the pad is a synth. The button reads BAKING... during the render and the pad moves to the SAMPLE ENGINE tab. A pad that already plays a sample shows a warning.
CONVERT TO ADDITIVENext to BAKE TO SAMPLEAnalyses the selected subtractive pad and switches it to the additive synth (the noise part is measured in 7 frequency bands and switched on) (the button reads ANALYSING... meanwhile and the pad moves to the ADDITIVE SYNTH tab). Shown only for a subtractive pad. A silent sound shows a warning
BACK TO SYNTHSame placeUn-bakes the selected pad. Shown only when the pad is baked. It refuses to touch a pad whose sample was replaced by you since the bake (a pad you loaded your own sample into).
BAKE KITUnder the padsBakes every SUBTRACTIVE or ADDITIVE pad, one by one, with a counter. With keep kick+snare ticked, pads containing "kick" or "snare" in category or name stay live.
SYNTHSUnder the pads (only if any pad is baked)Un-bakes every baked pad.
keep kick+snareTick boxSee BAKE KIT.

A baked pad plays at the speaker's own sample rate (1:1, no resampling), with the sample ADSR set to ATTACK 1 ms, DECAY 0.05 s, SUSTAIN 1.00, RELEASE 0.05 s. Its tail is trimmed at about -52 dB with an 8 ms fade-out. BAKE KIT keeps the pad's final filter, drive and attack live on the pad; PERFORM mode instead prints them into the sample.

Un-baking restores the previous sample, crop, pitch and ADSR that the pad had before the bake (for kit pads: the reference or printed sample it held). Normalize and reverse you did on the baked sample are lost. Baked state survives saving a project (the pad remembers which engine it came from).

PERFORM mode (F9) bakes all synth pads for you; it is described in the performance chapter.

6.2 Kits and presets

KIT ONLY (top bar) loads a drum kit onto all 16 pads without changing the sequencer patterns. It is not a full set: MASTER FULL SET also loads patterns, FX bays and tempo notes; SEQUENCE STYLE loads patterns only.

Every kit was designed on the subtractive synth by measurement and reference (the designs are in tools/sounddesign/designs). The pad roles of a kit match the pad positions: pads 1 to 16 stay kick, kick, snare, snare, clap, rim, closed hat, open hat, three toms, crash, ride, two percussion, and an FX sound, so the sequencer patterns work on every kit. Every pad in a kit is meant to sound different from its siblings.

KITS LOAD AS: SAMPLES / SYNTHS (SETTINGS > CPU; remembered, applies to the next kit you load)

SettingWhat happens when you pick a kit
SAMPLES (default)The kit's synth pads are applied, then the factory's pre-printed 16-bit samples (about 1 MB per kit, loaded the first time you choose the kit) replace them. Light on CPU. Each pad is baked: use BACK TO SYNTH or SYNTHS to get the editable synth back.
SYNTHSThe kit loads as live, editable synths. A pad that you edited or renamed before the samples arrive is left alone.

Kit loading starts every pad from the neutral synth defaults, so a kit never depends on the kit loaded before it. Loading a kit never changes tempo or swing; the PRESET button in the top bar can restore the kit's own tempo.

Hardware families. Each kit carries a family tag:

For the shipped (designed) kits, every pad is first a synth pad; the family tag matters only for older reference sounds (the sample info line and the converters use it when a pad has no sample). The tag itself does not change how the kit plays (unverified beyond that).

---

7. Sound-design cookbook and glossary

All values are starting points, not auditioned. After setting them, adjust by ear.

7.1 Eight recipes

1. Tight synth kick (subtractive). OSC 1 Sine, LEVEL 1.0, START FREQ 220, PITCH END 50, PITCH DECAY 0.03, TONE DECAY 0.6. ADSR DECAY 0.7, SUSTAIN 0, SHAPING HP 26, RESONANT CUTOFF 20000, Q 0.7. Add NOISE 1 White at LEVEL 0.1, HP CUTOFF 2000, PRE-ADSR RELEASE 0.01 for a click.

2. Rim click or wood block (subtractive). OSC 1 Triangle, LEVEL 0.8, START FREQ 600, PITCH END 340, PITCH DECAY 0.01, TONE DECAY 0.06. OSC 3 Square, LEVEL 0.18, START FREQ 1200, PITCH END 1200, TONE DECAY 0.03. NOISE 1 White at LEVEL 0.4, HP CUTOFF 3600, PRE-ADSR RELEASE 0.03. ADSR DECAY 0.1.

3. Struck bell (additive). Series presets: Bell (inharmonic). PAD CONTROLS OVERALL PITCH +12 ST for a higher bell. DURATION SCALE 1.5, DECAY TILT 0.5, PUNCH 0.6, ATTACK (ms) 0.5, SUB-OCTAVE 0. For a more metallic bell, set INHARMONICITY 0.2.

4. Metallic hat (additive). Series presets: Glass (inharmonic). INHARMONICITY 0.8, TOP END +9 dB with TOP END CORNER 6, DECAY TILT 0.8, SUB-OCTAVE 0, ATTACK (ms) 0.5, NOISE (RESIDUAL) 0.3. DURATION SCALE 0.3 for a closed hat, 1.2 for an open hat. Then BAKE TO SAMPLE.

5. Hollow tom (additive). Series presets: Saw (1/n), then ODD / EVEN HARMONICS 0.1 (odd harmonics stand out), SPECTRAL TILT -0.5, DURATION SCALE 0.5, SUB-OCTAVE 0.6, PUNCH 0.7. OVERALL PITCH -5 ST.

6. Snare from a sample (additive). Load a snare, AUTO-TRIM, choose 32 partials, CONVERT FROM SAMPLE. Raise NOISE (RESIDUAL) to 0.6 to bring the snares back, PUNCH 0.7, SUB-OCTAVE 0. Use TOP END +6 dB for more snap, DURATION SCALE 0.8 for a shorter tail. COMMIT TOOLS, then BAKE TO SAMPLE.

7. Kick that mutates into a tom (morph). On a converted kick pad (A), COPY TONE → B from a tom pad, tick align pitch off, mode Glide (partials slide), MORPH START 0, MORPH END 1, MORPH RAMP TIME 0.15, MORPH CURVE -0.4. Then BAKE TO SAMPLE so it plays cheaply.

8. Vowel-like stab (additive). Series presets: Saw (1/n). FORMANT BUMP +12 dB, FORMANT FREQUENCY 800, FORMANT WIDTH (Q) 3, COMB (NOTCHES) 0.4 with COMB SPACING 3. DURATION SCALE 0.6. Sweep COMB SHIFT slowly while you listen.

7.2 Glossary

TermMeaning
Additive synthesisBuilding a sound by adding sine waves (partials).
PartialOne sine wave of a sound, with its own frequency, level and decay time.
HarmonicA partial whose frequency is a whole-number multiple of f0 (2 x f0, 3 x f0 ...).
InharmonicA partial that is not a whole-number multiple of f0 (bells, metal, cymbals).
f0 (fundamental)The lowest important partial of a bank; the pitch you hear. The ratio of every partial is measured against it.
Harmonic ratio rfreq divided by f0.
Odd / even harmonicsOdd harmonics (1, 3, 5) sound hollow, like a square wave. Even harmonics sound warm and full.
Spectral tiltA slope that makes high partials louder or quieter, measured in dB per octave.
ShelfA boost or cut of everything above or below a corner.
FormantA band of partials that is emphasised, like a vowel or a resonant body.
CombA pattern of regularly spaced notches in the spectrum.
Harmonic stretchMoving harmonics further apart than whole multiples, as in piano and bell strings.
InharmonicityA frequency spread that grows with the square of the harmonic number, making a sound metallic.
Decay time (additive)Time for a partial to fall 60 dB.
Decay time (subtractive)Time for a source to fall about 80 dB. Envelopes multiply, so the audible tail is shorter.
t40Time for the sound to fall 40 dB; a practical measure of how long a drum sounds.
Envelope (ADSR)The shape of level over time: Attack, Decay, Sustain, Release.
Crest factorPeak level compared with average level. Low crest means a clean, punchy sound with headroom. The SPREAD phase mode lowers the crest factor of an additive pad.
DC offsetA constant shift of the waveform away from zero. It wastes headroom and causes clicks. Kicks need SHAPING HP at about 24 Hz or more to remove it.
Pitch envelopeThe glide from START FREQ to PITCH END.
DriveDistortion.
Wet / dryWet is the processed signal; dry is the untouched signal.
BakeRendering a synth pad into a sample, so it plays with much less CPU.
Un-bakeReturning a baked pad to its synth.
PrintWriting the effect of a live setting into the stored data (COMMIT TOOLS, kit samples).
TailThe decaying end of a sound after the hit.
Layer BThe second tone of an additive pad that can be blended with the pad's own tone.
MorphGradual change from one tone to another during a hit.
VoiceOne sounding instance of a pad hit. The VOICE LIMIT caps how many sound at once.
Mono padsA pad cuts its own previous hit when struck again.
PERFORM modeThe light mode that bakes all synths to samples.

---

Maintainer notes

This section lists where each part of the chapter comes from, so you can update it when features change. Re-check these files after any change.

Chapter sectionSource files and functions
1.1 Pads, keys, lights, chokejs/app.js: keyMap, _setupPadGrid, _getKeyLabel, selectInstrument, flashPad, loadSampleIntoPad, the key listener; js/dsp-engine.js: PadEngine.trigger (choke, MONO PADS), defaultPadConfigs; MUTE and SOLO: app.js section "8. Active Track Mixer MUTE & SOLO"; index.html pads panel and SETTINGS menu
1.2 Pad toolsindex.html #pads-toolbar; js/layout.js (handlers for RANDOM KIT, RANDOM PAD, EDIT SOUND, keys F1 to F9); app.js btn-master-random-kit; DSPEngine.bakeAllPads, unbakeAllPads, randomizeKit
1.3 Engines and tabsapp.js _setupPadEditor (tab click sets pad.mode), updatePadEditor; PadEngine.trigger switch
2 Sample engineindex.html #panel-engine-sample; app.js handlers (select-sample-preset, auto-trim, normalize, reverse, random, conversions, _setupWaveformCanvas); dsp-engine.js _playSample, autoTrimTransient, normalizeBuffer, reverseBuffer, loadSyntheticSamplePreset, randomizeSample, AcousticSpectralComparatorClass.matchSampleToSynth / convertSampleToSubtractive
3 Subtractiveindex.html #panel-engine-sub; dsp-engine.js PadEngine constructor (subParams defaults), _playSubtractive, _initDefaultSynthCategory (34 recipes), randomizeCategory (and the wrapper at the end of the file), PadEngine.SYNTH_BASE; js/audio-core.js _buildPeriodicWave, _buildDistortionCurve, syncSeconds/syncHz; decay rule and traps from tools/sounddesign/SOUND_DESIGN_GUIDE.md (confirmed against _playSubtractive)
3.7 RecipesCalculated from the envelope maths in _playSubtractive and guide knowledge; not auditioned
4 Additivejs/additive.js: cleanBank, estimateF0, validateAdditive, additiveEffective (every formula in 4.7), _playAdditive, SA.analyze2 (4.3), captureAdditive, morphSwap, morphToA, morphCommit, commitAdditiveTools, additiveSeries, additiveTool, additiveCostEstimate, constants LIVE_CAP, OFFLINE_CAP, CROWDED_CAP, OSC_BUDGET, MAX_PARTIALS, defaults DEF; js/additive-ui.js: editAt, onDown, onKey, onContext, refresh, undo; index.html #panel-engine-additive (labels and tooltips)
4.10 / 6.1 Bakedsp-engine.js bakeToSample, applyBakedSample, unbake, isBaked; additive.js bakeToSample wrapper (duration); app.js _setupBakeControls, _syncBakeButtons; project.js (bakePreMode)
5 PAD CONTROLSindex.html #pad-window-final; app.js _wireFinalControls, _syncFinalControls; dsp-engine.js _routeFinalChain, setVolume, setPan, setSend, initNodes (routing)
6.2 Kitsjs/kit-designs.js (generated: names, aliases, family, isNew), js/presets.js (_mergeDesignedKits, applyKit, _applyPadConfig, _upgradeKitToSamples, setKitLoadMode, _isFamily2Kit), js/kit-samples/*.js, tools/sounddesign/ (design pipeline); KIT ONLY groups in index.html
Knob behaviourjs/knob.js
Tooltip wording reusedjs/tooltips.js, plus tooltips inside index.html (additive panel is skipped by tooltips.js)

Known quirks seen while writing this chapter (verify, then fix the app or this text)

  1. SEND TO ADDITIVE. The button reads CONVERT SAMPLE TO ADDITIVE SYNTH but resets to "SEND TO ADDITIVE" after a click. There is no button called SEND TO SUBTRACTIVE; the two subtractive buttons are CONVERT SAMPLE TO SUBTRACTIVE SYNTH and MATCH SUBTRACTIVE SYNTH TO SAMPLE, which run the same matcher.
  2. Hat choke is described in PROJECT_STATE.md as pads 6 and 7 choking pad 8; the code chokes by id (pad 7 chokes pad 8) or by the words CLOSED and OPEN in the pad names.
  3. Subtractive recipes write drive types "tube", "tape", "overdrive" and "foldback" that the DRIVE ALGORITHM drop-down does not contain (the drop-down then shows blank). They behave as Regular.
  4. Sample preset "Ride Cymbal Bell" is not matched by any ride branch in loadSyntheticSamplePreset and falls to the generic voice.
  5. Resonant filter type (lowpass, bandpass, highpass) cannot be changed in the editor; only kit data sets it.
  6. Hidden controls: fundLock (additive), adsrHold (subtractive) and sample pitch (samplePitch, set by RANDOM) have no control in the UI.
  7. NORM normalizes channels separately; REVERSE reverses the whole buffer, not the crop.
  8. Version stamps. PROJECT_STATE.md is at v9.4.0 in its header while its sections go to v10.1; this chapter assumes v10.2 for the additive v2 panel.
  9. In additive-ui.js the draw gesture uses an odd interpolation helper (b2); the behaviour (straight fill between sampled bars) matches the description above, but check it again if the gesture code is changed.

AXIOM 16-P User Manual - Part 3: Sequencer, Loops and Effects

This part covers the sequencer (steps, bars, recording, tools), the 16 pattern slots and live cueing, swing and tempo-synced features, the 8-slot loop slicer with the looper pad (Track 17), and the two AUX FX channels (reverb and delay) with the master bus. Manual for app build 10.3. The pads and sound engines are in Part 2. The top bar, menus, projects, MIDI and PERFORM mode are in Part 1.

Control names are written exactly as they appear on screen. "(unverified)" marks statements that could not be confirmed in the code. Ranges and defaults come from index.html and the JavaScript files named in the Maintainer notes.

Contents

  1. The sequencer
  2. Pattern slots, styles and song mode
  3. Swing, groove, tempo and sync
  4. The 8-slot loop slicer and the looper pad
  5. The 2 AUX FX channels and the master bus
  6. Worked examples
  7. Known quirks and troubleshooting
  8. Maintainer notes

---

1. The sequencer

1.1 How it is organised

TermMeaning
TrackOne row of steps. Tracks 1-16 play pads 1-16. Track 17 (shown as LP) plays the loop slicer.
StepOne 16th note. A track has 16 steps per bar.
Bar (measure)A page of 16 steps. Each track stores 8 bars (128 steps). The shown bar is called MEASURE n / 8.
PatternAll 17 tracks x 8 bars, plus a length (1-8 bars). 16 patterns are kept in the pattern slots (section 2).
Pattern lengthThe LIMIT setting. The pattern plays bars 1 to LIMIT, then starts again. Bars after LIMIT are kept but not played.

You edit one track at a time in the active step row at the bottom of the screen. Select a track by pressing its pad (or the orange looper pad for Track 17), or by clicking its name in the 17-row grid (1.8). The badge above the row shows the selected track, for example PAD 1: 909 PUNCH KICK or LOOP TRACK // name, and MEASURE 1 / 8.

The step LEDs under the label STEP // BEAT move with the playhead. They only light while the bar you are looking at is the bar that is playing. Press the BAR buttons to follow the playhead. The BAR and STEP displays in the top bar always show the real position.

1.2 Transport and keys

ControlWhat it does
PLAY / PAUSEStarts the sequencer. While it plays the button reads PAUSE and keeps the position. The space bar does the same.
STOPStops and rewinds to bar 1, step 1. It also stops the loop slicer.
🔔 OFF / 🔔 ONAudible metronome. Beats 1-4 of each bar click; the first beat is higher pitched (1600 Hz against 900 Hz). The click does not go through the master bus.
TAPSets the tempo by tapping (see 3.3).
REC and the gear button next to itLive recording (1.10).

Keys 1-4, Q-R, A-F and Z-V play pads 1-16 (see Part 2). Keys 5 and 6 are the two AUX FX trigger pads (5.6). Every pad lights when its sound plays, from any pattern, bar, MIDI note or recording (also while the engine sheds load); the orange looper pad lights when the loop starts. SETTINGS > PAD LIGHTS: OFF turns the lights off.

1.3 Step buttons

The active step row has 16 numbered buttons. Steps 1-4 are red, 5-8 orange, 9-12 yellow and 13-16 white, so you can count beats at a glance.

ActionResult
Click a stepSwitches it on or off. When it switches on you hear the pad at that step's velocity.
Press and drag across stepsPaints. The state of the first step you press decides whether the drag paints on or erases. Works with mouse and touch.
Right-click a step, or press its ⚙ EDIT buttonOpens the step inspector (1.4).
Click a step in the 17-row gridSwitches it on or off. Dragging does not paint in the grid.

A step badge under the number shows a hit modifier (TRIP 2, FLAM and so on, see 1.6). In the 17-row grid a small cyan dot marks steps that have a modifier. While MIDI learn is active, clicking a step maps it to a MIDI control instead of painting it (Part 1).

New steps have velocity 100, micro-timing 0, pan 0 and modifier Normal. Switching a step off keeps its velocity, pan and modifier; they come back when you switch it on again.

1.4 Step inspector

Open it from ⚙ EDIT or by right-clicking a step. Its title reads INSPECT: <track name> (Bar n, Step m). Changes apply at once. Close it with the ✕ button.

FieldWhat it doesRange / default
VELOCITYHow hard the step hits.1-127, default 100
MICRO-TIMING OFFSETMoves the step earlier (negative) or later (positive) in milliseconds.-50 to +50 ms, default 0
PANMoves this step left (-1) or right (+1) of the pad's own pan. Shown as C, L25 or R40.-1 to +1, steps of 0.05, default centre
CHANCEHow often the step plays: 100% always, 50% about every other time (decided at random each pass). The step button looks the same; the chance is saved with the step.0-100%, steps of 5, default 100%
STEP MODIFIERChanges how the step plays (1.6).Normal (Single Hit)
MIDI NOTE NUMBER (0-127)The note sent to external MIDI out for this step. It does not change the sound.the track's General MIDI note

The ⚙ EDIT button's mouse-over text lists what the inspector has: velocity, micro-timing, pan, chance, step modifier and MIDI note. The step inspector is not a learn target, but the ⚙ EDIT buttons themselves can be learned (5.3).

1.5 The parameter lane (VEL / PAN / MICRO / MOD)

The strip under the step row has 16 cells, one per step of the shown bar, and four tabs.

TabWhat you drawRangeNotes
VELVelocity1-127Bar height = loudness.
PANStereo position of that step-1 (left) to +1 (right), steps of 0.02Added to the pad's own PAN. The centre line is 0. Pad tracks only: Track 17 ignores step pan.
MICROMicro-timing-50 to +50 msSame value as the inspector field. The centre line is 0.
MODHit modifiersee 1.6Click a cell to go to the next modifier. Shift+click goes back. Dragging does not cycle.

Press and drag across the cells to draw values. The bottom of a cell is the minimum and the top is the maximum. Cells of steps that are switched off are dimmed; you can still draw values into them, and drawing does not switch the step on. The tab you chose stays selected when you change tracks or bars.

1.6 Step modifiers

The inspector lists nine hit types. The lane and the step badge show them in short form.

STEP MODIFIER (inspector)Lane labelBadgeWhat it plays
Normal (Single Hit)·noneOne hit at the step velocity.
Double Ratchet (2 Sub-Hits)R2RATCH 2Two hits that split the step in half. The second is at 85% of the velocity.
Triplet Ratchet (3 Sub-Hits)R3TRIP 3Three hits that split the step in thirds, at 100%, 80% and 70%.
Flam / Grace Note (18ms Ahead)FLMFLAMA soft grace note (55% velocity) 18 ms before the step, then the main hit.
Flange Burst (4-Hit Roll)BRSTBURSTFour hits across the step, rising from 60% to 96% of the velocity.
Ghost Note (Low Velocity)GHSTGHOSTOne quiet hit: 40% of the velocity, never above 35% of full level.
Note Off / Voice ChokeOFFCHOKENo new hit. It cuts the pad's sound, or stops the loop on Track 17. It is also sent as MIDI note-off.
Hold / Tie (no new attack after a hit)HOLDHOLDA tied note: when the previous step of this track also played (up to 1.6 steps earlier), the earlier hit keeps ringing and nothing new is played. After a rest, it plays like Normal.
Skip Note (Polyrhythm Tick Omit)SKIPSKIPPlays nothing and moves this track one step ahead of the others. See 1.7.

The lane cycles in this order: Normal, FLM, R2, R3, BRST, GHST, OFF, HOLD, SKIP, then Normal again.

Hit letters in the factory pattern files. The pattern data files that build the 32 sequence styles (js/pattern-data-*.js) write steps as text. You never type these, but they explain what styles contain. Digits 1-9 set velocity (1 = 30 up to 9 = 127). Letters set a modifier:

LetterBecomesVelocity
xNormal100
gGhost42
fFlam110
r2-hit ratchet (R2)100
t3-hit ratchet (R3)100
bBurst100

A . or - is a rest.

1.7 Track length, polyrhythm and skip

Every track has an internal length of 1-16 steps (default 16). A shorter track repeats inside each bar, which gives polyrhythms. No control on screen sets this length; it comes from loaded projects and pasted patterns (unverified whether any other route sets it). The factory styles do not use it.

A step set to SKIP, when it is switched on, plays nothing and pushes that track one step ahead of the master grid. It stays out of phase until you press STOP or SYNC GRID. SYNC GRID (in the pattern tool row) moves every track back to the master grid.

1.8 Bars, pattern length and the 17-row grid

ControlWhat it doesRange / default
◀ PREV / NEXT ▶Show the previous or next bar. Wraps from bar 8 to bar 1 and back.1-8
BAR 1 ... BAR 8Show that bar in the step row and the grid.
LIMIT:Pattern length in bars. The playhead loops after this many bars. In CHAIN mode it also decides when the next pattern starts.1 Bar - 8 Bars
EXPAND 17 ROWS / COLLAPSE GRIDShows or hides the grid of all 17 tracks for the shown bar. Clicking a track name selects it. Locked while SLOW CPU is on.

Pressing a pattern slot loads that pattern's own length into LIMIT (section 2). Changing LIMIT while the pattern plays takes effect at the next wrap.

1.9 Mute, solo and audition

ControlWhat it does
MUTEMutes the selected track in the sequencer. The step data is kept. Pressing a pad by hand still plays it.
SOLOPlays only the soloed tracks. Several tracks can be soloed.
▶ AUDITIONPlays the selected track's sound once (the loop for Track 17).

Mute and solo apply to all patterns, not to one slot, and they are saved in projects.

1.10 Live recording (REC)

Press REC to arm recording. If the sequencer is stopped it starts. Pads you press (mouse, keys or MIDI) while it plays are written into the current pattern at the playhead. REC lights while armed. It refuses to arm while the active pattern is locked.

Press the gear button next to REC for the setup window, SEQUENCER LIVE RECORD SETUP.

FieldWhat it doesRange / default
TARGET PATTERN SLOTPattern slot that receives the recording.Pattern 1-16
SONG ROLE CATEGORYRole stored with the slot and shown on its button.Intro, Verse, Pre-Chorus, Chorus, Bridge, Breakdown, Drop, Build, Fill, Outro
CUSTOM PATTERN NAMEOptional name. Empty keeps the current name.
LOOP LENGTH (BARS)Pattern length while recording. Also sets LIMIT.1, 2, 4 or 8 bars
RECORDING MODEOverdub adds your hits to what is there. Overwrite replaces the pattern as you play.Overdub
QUANTIZE SNAP STRENGTH100% puts every hit exactly on the nearest 16th step. 0% keeps your own timing as a micro-timing offset (limited to -50 to +50 ms).0-100%, default 100%
METRONOME CLICKSwitches the quarter-note click on or off (the same click as the 🔔 button).off
CANCEL / START RECORDINGSTART RECORDING applies the settings, loads the target slot, arms REC and starts playback.

How recording behaves:

1.11 Track tools

The TRACK TOOLS row works on the selected track and the shown bar only (COPY TO ALL BARS writes to all 8). They are refused while the pattern is locked.

ControlWhat it does
RANDOMWrites a new rhythm for this track in the shown bar. The pad's category decides the style (kick, snare, hat, tom and so on). The UNIQ slider in the top bar (0-100%, default 25%) sets how adventurous it is. It clears the bar's steps first and resets velocity, modifier and pan.
VEL RAMPClick: sets the velocity of the active steps by their position, step 1 = 40 up to step 16 = 127 (crescendo). Shift+click: 127 down to 40 (decrescendo).
HUMANIZEMoves each active step's velocity by a random amount up to 15 up or down, kept between 20 and 127.
FLAMSOn active steps 15 and 16 sets a 2-hit roll. On about half of the active steps 3, 7 and 11 sets a flam. It does nothing to empty steps and adds no ghost notes.
PAN SWEEPSets the pan of all 16 steps (also inactive ones). Each click moves to the next shape and the button names it: PING-PONG (odd steps -0.65, even +0.65), L → R (-0.8 to +0.8), R → L, CENTRE (all 0).
◀ SHIFT, SHIFT ▶Moves every step of the shown bar one step earlier or later. Steps that fall off one end come back at the other end, with their velocity, pan, modifier and chance.
⇄ REVERSEPlays the bar backwards: step 1 swaps with step 16, step 2 with 15 and so on (with all their values).
◐ INVERTSwaps hits and rests. New hits get velocity 100 and the Normal modifier.
⇉ MIRRORCopies steps 1-8 onto steps 9-16.
❗ ACCENTSets the velocity of the active steps by place in the beat: steps 1, 5, 9, 13 = 118, the other even steps 96, the odd steps 74.
🕑 HUMAN TIMEGives each active step a random micro-timing of up to 10 ms early or late. Steps 1, 5, 9 and 13 stay at 0 so the groove keeps its anchor.
🎲 CHANCEGives the active steps that are not 1, 5, 9 or 13 a play chance. Each click cycles 75%, 50%, 25% and ALWAYS (which removes the chance); the button shows the value just applied. Single steps: CHANCE in the inspector.
⇶ COPY TO ALL BARSCopies the shown bar of this track onto all 8 bars.
EUCLIDEAN: [n] FILLSpreads n hits (1-16, default 4) evenly over the 16 steps. Step 1 is always a hit. It switches every other step off. Hits on steps 1, 5, 9 and 13 get velocity 115, other hits 90.

1.12 Bar tools and pattern generator

ControlWhat it does
COPYCopies the 16 steps of the selected track in the shown bar (all step values).
PASTEPastes them into the shown bar of the selected track. You can change track or bar first.
DUPECopies the shown bar into the next bar and moves to it. Does nothing on bar 8.
CLEARClears the 16 steps of the selected track in the shown bar and resets their values.
STYLE: (drop-down)Chooses a sequence style. Choosing one loads that style's 16 patterns into the slots at once (2.4). It also sets the style RANDOM PATTERN uses.
RANDOM PATTERNFills the 16 pad tracks of the shown bar with a new pattern in the chosen style. Track 17 is not touched. Which part of the style it draws on depends on the bar number. The UNIQ slider sets the amount of change.

The COPY, PASTE, DUPE and CLEAR buttons briefly show a check mark and a past-tense word (DUPE shows LAST BAR on bar 8), then return to their labels.

1.13 Pattern tools

These work on the whole active pattern (all 17 tracks, all 8 bars).

ControlWhat it does
COPY PATTERNCopies the active pattern, its length and its saved tempo to the clipboard.
PASTE PATTERNPastes the clipboard over the active slot. It replaces all steps and the pattern length. Refused if the slot is locked. It never changes the tempo (it only offers the copied pattern's tempo through PRESET).
DUPE PATTERNCopies the active pattern into the next slot that is not locked (16 wraps to 1), replacing it, and switches to that slot. Refused only if every other slot is locked.
LOCK / UNLOCKWrite-protects the active slot. The button shows the state: 🔓 UNLOCKED or 🔒 LOCKED. See below.
CLEAR PATTERNAfter a confirmation, switches off every step on all tracks and bars of the active pattern. Refused if the slot is locked.
CLEAR ACTIVE PADClears all 8 bars of the selected track and resets velocity, modifier and micro-timing.
EXPORT MIDISaves the pattern (see 1.14).
SYNC GRIDMoves all tracks back to step 1 so tracks pushed out of phase by SKIP line up again.

A locked pattern refuses: recording (REC will not arm), PASTE PATTERN into it, DUPE PATTERN onto it, and CLEAR PATTERN. It does not stop editing steps by hand, CLEAR or CLEAR ACTIVE PAD, or loading a style or set (which replaces all 16 slots). Locks are saved in projects.

1.14 MIDI export of a pattern

EXPORT MIDI downloads a Type 0 Standard MIDI file named axiom-pattern-N.mid (N = active slot number). It contains the pattern as it is currently loaded.

1.15 The sequencer in PERFORM mode

PERFORM mode keeps the pattern slots, ◀ PREV / NEXT ▶ and the BAR buttons, MUTE, SOLO, ▶ AUDITION and the step row with its playhead. It hides the pattern tools row, LIMIT, STYLE and RANDOM PATTERN, the bar tools, TRACK TOOLS, the parameter lane, ⚙ EDIT, CHAIN and the 17-row grid. Switch back to FULL (F9) to use them.

---

2. Pattern slots, styles and song mode

2.1 The PATTERNS: row

The row PATTERNS: has 16 buttons. Each shows its number and a role name (Intro, Verse 1, Chorus 2, Fill and so on). Mouse-over text reads Song 1: Verse 1 (4 bars - click to cue).

What a slot stores: all 17 tracks x 128 steps (active state, velocity, micro-timing, modifier, pan, MIDI note), the pattern length in bars, the role name, a name, and the tempo, swing and groove the pattern was written with. It does not store pad sounds, effects, mute/solo or the loop audio.

When you switch away from a slot, your edits to it are saved into it first. Slots are saved in projects (FILE > SAVE PROJECT). Autosave covers them too (Part 1).

2.2 Switching patterns

You doResult
Click a slot while the sequencer is stoppedIt loads at once.
Single click while playingThe slot is cued. It starts when the current pattern has finished: at the end of the current pattern's LIMIT bars.
Double-click (or double-tap) while playingThe slot is cued to start at the next measure (the next bar line). If that is part-way through the old pattern, the new pattern starts from its own bar 1.

A double-click is two clicks on the same button within 350 ms. Clicking another slot replaces the cue. A cue that is waiting is lost if you load a style or a set.

Button states

LookMeaning
Bright (active)The pattern that is playing.
cued (pulsing)Waiting for the end of the current pattern (single click).
cued-now (orange outline, faster pulse)Waiting for the next measure line (double-click).

Example: pattern 2 is 4 bars long and plays at bar 3. A single click on slot 5 makes the change at the end of bar 4. A double-click on slot 5 changes at the start of bar 4, and slot 5 starts from its bar 1.

2.3 Song structure and sequence styles

The SEQUENCE STYLE drop-down in the preset bar (and the STYLE: drop-down in the sequencer) offers 32 styles: from TR-808 Classic Electro and TR-909 Peak Techno to Hyperpop Speed Glitch and Miami Bass Booty Shake. Each style is two short songs written by hand:

Loading a style replaces all 16 slots and selects slot 1. Edits in the old slots are lost unless you saved a project first. It does not change the pad sounds and it does not change the tempo. The style's tempo and swing are offered through PRESET (2.5).

2.4 Master Full Sets

The MASTER FULL SET drop-down (★ in the top bar) has 32 sets. Each combines one drum kit, one style (16 patterns), the two AUX FX channels and the master volume and master compressor setting of the kit. Pick one to hear a complete song set at once. It loads kit and style, selects slot 1, and remembers the set's tempo and swing for the PRESET button. The kit drop-down is KIT ONLY (sounds only, patterns stay).

A kit or set overwrites both AUX FX channels (their effects, parameters and return levels), which may surprise you if you tuned them. The reverb in channel 1 follows the first-run rule in 5.2: a new user keeps Light Room until a reverb has been picked.

2.5 The tempo rule

Loading never changes your tempo or swing. This holds for kits, full sets, sequence styles, pattern slots, pasted patterns and imported MIDI files. Each load only remembers the tempo it was saved with.

The BPM figures written in the SET drop-down are fixed text and can differ from the tempo the set really applies. For example DMX Old School Hip Hop is listed as 96 BPM, while its pattern data applies 108. The PRESET button shows the real value.

2.6 Song mode (CHAIN)

The CHAIN: OFF / CHAIN: ON button (next to MUTE and SOLO) turns on song mode. On the last step of each pattern, the next slot is cued: slot 1 then 2 and so on through 16, then back to 1. Each pattern plays for its own LIMIT length. A slot you cued yourself takes priority over the chain. Press the button again to stop chaining; the current pattern then loops.

To play a whole style as a song, pick the style, turn CHAIN ON and press PLAY.

---

3. Swing, groove, tempo and sync

3.1 Swing and groove type

The SWING slider (50-75%, default 50% = straight) and the groove drop-down next to it are in the top bar.

GrooveWhich notes are delayedDelay at the maximum (75%)
16th SwingThe 2nd, 4th, 6th... 16th notes of the barHalf a 16th note
8th SwingEvery second 8th note (steps 3, 7, 11, 15)One 16th note
Quintuplet FeelA subtle nudge of steps 2, 4, 6...About a quarter of a 16th note

The swing percentage is the share of a note pair given to its first note. 66% gives a triplet feel on 16th swing. Swing moves the sound of the notes and the metronome. Micro-timing is added on top. MIDI clock out stays straight.

3.2 Tempo

ControlWhat it doesRange
BPM fieldType the tempo. Decimals are allowed.40-300
TAPTap at least twice. The tempo is the average of your last 5 taps. A pause over 2 seconds starts a new count. Taps must be between 200 and 1500 ms apart.
PRESETSee 2.5.
MATCH BPM TO LOOPSets the tempo to the active loop's BPM (4.4).
FOLLOW CLOCK (SETTINGS > MIDI CLOCK SYNC)Slaves the tempo to incoming MIDI clock. See 3.4.

Without decimals, the tempo is rounded to a whole number. Typing, clock follow and loop matching can give fractional tempos.

3.3 Tempo-synced controls

These controls lock to the tempo. The divisions are the same everywhere.

DivisionMeaning (in 4/4)
1 barOne whole bar (4 beats)
1/2Half a bar (2 beats)
1/4One beat
1/8, 1/16, 1/32, 1/64, 1/128Shorter divisions down to 1/128 of a bar
WhereWhat it does
AUX FX channel: TEMPO SYNC drop-downDelay time of the delay effects (5.5). Reverbs have no time control.
Loop slicer: Time-Synced StretchThe loop is stretched to the project tempo (4.3).

Synced values follow tempo changes. An effect channel is rebuilt about half a second after the tempo settles, which also keeps un-synced delay times at their fraction of a beat.

3.4 External MIDI clock

SETTINGS > MIDI CLOCK SYNC:

ControlWhat it doesRange / default
FOLLOW CLOCK: OFF / ONWhen ON, the app follows the MIDI clock (24 pulses per quarter note) from the first MIDI input. Start begins on the master's next pulse, Continue resumes, Stop pauses. The tempo is measured over the last 4 beats (it needs about one beat of clock to appear). The step grid is also phase-locked to the master.OFF
CLOCK OFFSET (ms)Fine trim, positive = our beats land later. Use it to cancel interface delay.-80 to +80, default 0

Only the first MIDI input is used for clock. The details of choosing a device are in Part 1. When a MIDI output is selected, the app also sends clock, Start and Stop to it (not while it follows a master).

---

4. The 8-slot loop slicer and the looper pad

The loop slicer plays audio loops in time with the sequencer. It is Track 17. Open it with the 8-SLOT LOOP SLICER tab, or by pressing the orange looper pad. It is only available in FULL mode from the tab; in PERFORM mode use the looper pad (4.8).

4.1 The slots

The left column lists 8 loop slots. Click a slot to make it the active loop for the slicer, the preview and Track 17. Each slot shows its number, name and BPM.

4.2 Loading audio

ControlWhat it does
+ LOAD AUDIOOpens a file chooser. The file goes into the active slot. Any audio format your browser can decode works (wav, mp3, ogg, flac...).
Drop a file on the looper padSame, and it plays at once.

The slot is named after the file (the first 16 characters). The app then reads the tempo:

If the guess is wrong, use MANUAL OVERRIDE (4.5). Loading also detects slices (4.3).

4.3 Waveform, slices and playback modes

ControlWhat it does
WaveformShows the loop with white slice markers. The selected slice is shaded orange. Click the waveform to select the slice under the pointer and hear it (this always plays that slice, whatever the MODE).
DETECT TRANSIENTSFinds the drum hits and puts a slice marker on each. Markers are at least 70 ms apart. If fewer than 4 hits are found, the loop is cut into even 16th-note slices instead. Sensitivity is fixed.
▶ PLAY LOOP / ⏹ STOPPlays the active slot using the current MODE, or stops it.
MODE:How the loop is played (below). Applies to all slots.
MODEWhat you hear
Time-Synced Stretch (default)The whole loop, stretched to the project tempo without changing pitch. Stretch factor = project BPM x speed button / the loop's BPM.
Selected Slice OnlyOnly the selected slice.
Original Pitch/SpeedThe whole loop as recorded. The speed buttons and pitch change the speed here.

A trigger plays the loop once. It does not repeat by itself. A new trigger cuts the loop that is playing and starts again from the beginning. To loop it, put a step on Track 17 at the start of each repeat, or use AUTO-PLAY MEASURE (4.6).

Pre-stretch. In PERFORM mode, the stretch is calculated once in the background and played from one sound instead of hundreds of small grains. This is much lighter on the CPU. The result is kept per slot and rebuilt about half a second after a tempo change. The first hit after a tempo change may play at a slightly different pitch while the new version is being prepared. When the loop is already at the project tempo it plays unchanged. If OVERALL PITCH is not 0, the app uses the live (heavier) stretch instead.

4.4 Matching the tempo

⚡ MATCH BPM TO LOOP sets the project tempo to the active loop's BPM (the manual BPM when MANUAL OVERRIDE is on). The tag next to the tempo then reads LOOP MATCH. The speed buttons are not taken into account. This is the only place a loop changes the tempo by itself.

4.5 Manual BPM, bars and time signature

Tick MANUAL OVERRIDE to correct the guessed values for the active slot. The three fields next to it then unlock.

FieldWhat it doesRange / default
BPM:The loop's real tempo. It drives the stretch and MATCH BPM TO LOOP.40-320, default 120
SIG:Time signature. It is stored but does not change playback. (Code search found no use; unverified.)4/4, 3/4, 6/8
BARS:Length of the loop in bars. Only AUTO-PLAY MEASURE uses it.1-32, default 2

Settings are kept per slot.

4.6 AUTO-PLAY MEASURE and speed

ControlWhat it does
AUTO-PLAY MEASURE: OFF / ONWhen ON, the active loop starts at the first measure line after PLAY and starts again every BARS bars (up to 32). Track 17's steps are ignored while it is ON.
½x / 1x / 2xSpeed relative to the project tempo (0.5, 1, 2). In Time-Synced Stretch the pitch stays; in Original Pitch/Speed the pitch changes too.

4.7 Convert a slice to a pad

CONVERT SLICE: drop-down (Pad 1 to Pad 16) plus EXPORT SLICE TO PAD. The selected slice is copied into the chosen pad as a sample (the pad name becomes SL_<slot>_<slice>), with a very short fade at the end. The pad switches to its sampler, its crop is reset, and it is selected for editing. The button reads ✓ Exported! for a moment. The old sound of that pad is replaced.

4.8 The orange looper pad (Track 17)

The orange pad under the 16 pads reads LOOP: AMEN BREAK (the name does not follow the active slot; unverified) and LOOP TOOL PAD. It has the badge LP and the number 17.

ActionResult
Press the padSelects Track 17, opens the loop slicer panel and plays the loop from the start. The step row now edits Track 17.
Drop an audio file on itLoads it into the active slot (4.2).
LOOP: ON / LOOP: OFF (button on the pad)Switches the loop engine on or off. Off stops the loop, ignores Track 17 and frees CPU. The pad dims.
LOOP: ACTIVE (button in the slicer panel)Same switch. After a click its text may read LOOP: MUTED / OFF.

In PERFORM mode. The pad stays, and the 8-SLOT LOOP SLICER tab is hidden. Press the orange pad to open the slicer panel. Then:

  1. Pick a slot and play it with ▶ PLAY LOOP or by pressing the pad.
  2. Set the pattern step row to Track 17: pressing the pad does that. Put a step on step 1 for a loop that restarts every pattern, or switch AUTO-PLAY MEASURE: ON.
  3. Use MATCH BPM TO LOOP to put the project on the loop's tempo.
  4. Loading audio, MANUAL OVERRIDE and EXPORT SLICE TO PAD work as in FULL mode.

4.9 Loop mixer controls

The loop has no mixer of its own. While Track 17 is selected, the PAD CONTROLS window (in the PAD SOUND ENGINE tab) controls the loop instead of a pad. (This was read from the code; unverified in a browser.)

ControlEffect on the loopRange
PAD VOLUMELoop volume0-1.5
STEREO PANLoop pan-1 to +1
OVERALL PITCHPitch shift in semitones. In Time-Synced Stretch the length is kept. In Original Pitch/Speed it also changes speed.-24 to +24
FILTER MODE / FILTER CUTOFF / FILTER RES (Q)Filter on the loop (Off, Lowpass or Highpass)cutoff 20 Hz-20 kHz, Q 0.1-18
DRIVE / ODDistortion on the loop0-100%
SEND 1-2How much of the loop goes to AUX FX channel 1 (reverb) and 2 (delay)0-1
ATTACK (S), RELEASE (S)No effect on the loop

Loop mixer values are not saved in projects.

---

5. The 2 AUX FX channels and the master bus

Open the 2 AUX FX BAYS tab. The app has two shared effect channels: AUX 1 = reverb and AUX 2 = delay. (Older versions had four; sessions saved with four keep only the first two sends.) The terms "bay" and "channel" mean the same thing below.

5.1 Signal flow

pad (volume, pan) ──┬── dry ─────────────────────────────┐
                    └── SEND 1 / 2 ► AUX 1 / 2 ► RETURN ──┤
loop (Track 17)  ── same, with its own SEND 1-2 ──────────┤
                                                          ▼
                       master bus: compressor ► MASTER VOL ► limiter ► soft clipper ► speakers
  1. Each pad has two SEND knobs, SEND 1 (REV) and SEND 2 (DLY), in PAD CONTROLS. Each knob sends a copy of the pad, after its volume and pan, to the matching channel. The dry sound is not reduced. Sends default to 0 (fully dry).
  2. Each bay is an effect (5.3). Its output is the wet signal only.
  3. The bay's RETURN LEVEL sets how loud the wet signal is, then a fixed trim of 0.8 is applied (not adjustable).
  4. The returns join the dry pads in the master bus (5.8).

Because the channels are parallel (send) effects, they add a processed copy next to the dry sound. They do not replace it. To change the dry sound itself use the pad's own filter and drive.

The labels of SEND n, the FX n return faders and the live trigger pads follow what each channel is set to (REV, DLY; a session that holds another effect shows MOD, DYN or DRV).

5.2 The bay controls

ControlWhat it doesRange / default
AUX 1, AUX 2 (tabs at the top)Choose which channel the controls below edit.AUX 1
MASTER AUX RETURNS: FX 1, FX 2Return level of each channel. Same value as RETURN LEVEL (see 7.1).0-1
FX CATEGORYChannel 1 offers Reverbs, channel 2 offers Delays. Other categories are hidden. A saved session that holds another effect in a channel keeps it, and that category stays listed for it.
ALGORITHMThe effect inside the category (5.3). Changing the category picks the category's first algorithm.
TEMPO SYNCFree (Hz) or a division (5.5).Free (Hz)
RETURN LEVELOutput level of the selected bay.0-1.5, default 0.8
PARAM 1 (DECAY/TIME) ... PARAM 4 (RATE/DIFFUSE)Four effect parameters. The names printed under the sliders are general; the table in 5.3 gives the real meaning for each algorithm.0-1, default 0.5
RANDOMIZE AUX FXRandomizes both channels. With the UNIQ slider above 40% it also picks a new algorithm (channel 1 stays a reverb, channel 2 a delay); at or below 40% it only changes the four parameters. Return levels and sync stay.

Default channels at start-up: AUX 1 Reverbs / Light Room, AUX 2 Delays / Ping-Pong. A parameter change rebuilds the effect after a very short pause; you may hear a tail reset when you drag a knob.

First-run reverb rule. A new user starts with the lightest reverb, Light Room, and kits and sets that carry a reverb are loaded with Light Room instead of their own. This protects slow computers. Once you pick a reverb in channel 1 yourself, or open a session that was saved with a different reverb, the browser remembers it (localStorage key axiom.reverbPicked) and kits may bring their own reverb again. Kits and full sets still replace the delay, the parameters and the return levels of both channels.

The engine still contains Modulation, Dynamics / EQ and Drive / Harmonics effects. The UI no longer offers them (the category list is limited to the channel's role); they can only appear through an older saved session, or through kit data that names them (unverified whether any kit does). They are described in 5.3 for that case.

5.3 Algorithms and what PARAM 1-4 mean

- means the parameter is not used by that algorithm.

Reverbs (channel 1). All five use a light algorithmic reverb (damped delay lines and diffusers per side). The algorithm sets the room size and tail length factor. PARAM 2 works as a brightness control: higher is brighter, lower is darker.

AlgorithmWhat it isPARAM 1PARAM 2PARAM 3PARAM 4
Light RoomThe lightest and cheapest reverb: half the delay lines and one diffuser (size 0.55, tail x0.6). The first-run default.Decay, about 0.25 to 2.1 sBrightness of the tail (1.2-9.2 kHz)--
SpringSmall, tight reverb with a short tail (size 0.4, tail x0.7).Decay, about 0.25 to 2.5 sBrightness of the tail (1.2-9.2 kHz)--
HallMedium room, medium tail (size 1.0, tail x1.0).Decay, about 0.35 to 3.55 ssame--
RoomSmall room (size 0.6, tail x0.55).Decay, about 0.25 to 2.0 ssame--
AmbientLargest and longest (size 1.35, tail x1.5).Decay, about 0.5 to 5.3 ssame--

Delays (channel 2). The delay times are fractions of a beat, so they follow the BPM even with TEMPO SYNC set to Free (Hz). With TEMPO SYNC on, the time is one division.

AlgorithmWhat it isPARAM 1PARAM 2PARAM 3PARAM 4
Basic StereoOne feedback delay with a low-pass in the loop.Time, 1/4 to 3/4 of a beatFeedback, up to 0.8Tone, low-pass 0.8-7.8 kHz-
Ping-PongTwo delays that bounce between left and right. Left and right times differ (the right one is longer), unless sync is on.Time: left 1/4 to 3/4 beat, right 1/4 to 1 beatFeedback, up to 0.85Tone, low-pass 1-7 kHz-
Multi-tapThree taps, no feedback.Spacing, taps at 1/4, 1/2 and 3/4 beat multiplied by 0.5-1.5. With sync the taps sit at 1/3, 2/3 and 3/3 of the division.Tap level (taps at 0.7, 0.5, 0.35 times PARAM 2)--

The longest delay is about 2.9 s. Slow tempos with large divisions are capped at that.

The three families below are not selectable in the UI any more (see 5.2); they are listed for sessions that still hold them.

Modulation. The effect is the modulated copy; the phaser and flanger also include the dry signal inside the bay. With TEMPO SYNC the LFO rate is one cycle per division (capped at 40 Hz).

AlgorithmWhat it isPARAM 1PARAM 2PARAM 3PARAM 4
ChorusTwo delays (25 and 32 ms) swept in opposite directions.LFO rate, 0.4-3.9 HzDepth (up to 3 ms)--
PhaserFour all-pass stages swept by an LFO.LFO rate, 0.2-5.2 HzSweep depth (up to 800 Hz)--
Flanger3 ms delay swept by an LFO, with feedback.LFO rate, 0.2-4.2 HzFeedback, 0.4-0.85--
Ring ModulatorThe sound multiplied by a sine wave (metallic, bell-like).Carrier frequency, 50-1250 Hz (no sync effect)---

Dynamics / EQ. In a send bay these process a parallel copy.

AlgorithmWhat it isPARAM 1PARAM 2PARAM 3PARAM 4
5-band EQFour filters: low shelf 100 Hz, peak 400 Hz, peak 1.5 kHz, high shelf 8 kHz. 0.5 = flat.Low shelf, -12 to +12 dB400 Hz, -10 to +10 dB1.5 kHz, -10 to +10 dBHigh shelf, -12 to +12 dB
Studio CompressorCompressor.Threshold, -30 to -4 dB (lower = more compression)Ratio, 2:1 to 16:1Attack, 2-52 msRelease, 50-450 ms
Brickwall LimiterFast limiter at -3 dB (ratio 20, attack 1 ms, release 50 ms).----

Drive / Harmonics. The distortions are fully wet; the exciter includes the dry sound.

AlgorithmWhat it isPARAM 1PARAM 2PARAM 3PARAM 4
Harmonic ExciterDry sound plus a saturated copy of everything above 3.5 kHz.Amount of the bright copy, 0.3-1.0---
8-bit CruncherReduces the number of amplitude steps, then a low-pass.Crunch: higher = fewer steps (down to 4)Tone: higher = darker (low-pass 10.5 kHz down to 1.5 kHz)--
Multi-DistortionTube-style saturation, then a low-pass. All variants listed under this name currently use the tube curve.Drive, 5-80Tone, low-pass 1.5-9.5 kHz--

5.4 Return levels

There are two places to set the same level:

They set the same bay output. Moving one does not move the other, so they can show different positions (7.1).

5.5 Tempo sync

The TEMPO SYNC drop-down of a channel locks the delay time (delay effects) to a division of the BPM (see 3.3). The choice is per channel and is saved in projects. Reverbs ignore it (so does every non-delay effect except chorus, phaser and flanger, which lock their LFO rate).

5.6 Live trigger pads (gate)

Under the bay controls, AUX FX LIVE TRIGGER PADS (KEYS 5-6) hold two pads: FX 1 [KEY 5] and FX 2 [KEY 6], each labelled with the channel's algorithm.

ControlWhat it doesRange / default
⚡ TRIGGER MODE: OFF / ONSwitches both channels at once. ON: a channel is silent until you hold its pad (or key 5 / 6). OFF: channels are always audible.OFF
FX n pad (press and hold)Opens the bay while held, then closes it.
INVERTThe bay is audible normally and is cut while you hold the pad. Only has an effect while TRIGGER MODE is ON.off
ATT (MS)Fade-in time when you press the pad.0-500, shown 10
REL (MS)Fade-out time when you release the pad.0-2000, shown 200

The gate sits after the effect, so the effect keeps running while closed: opening the reverb channel brings in the tail built up so far. Settings are saved in projects. The sliders are shown at 10 ms and 200 ms; a bay that you have not touched starts with 15 ms and 150 ms (unverified).

5.7 The master bus

All pads, the loop and the aux returns meet in masterIn, then:

StageSettingNotes
Master compressorthreshold -16 dB, ratio 4:1, knee 10, attack 5 ms, release 200 msNo on-screen control. Kits can change threshold and ratio when loaded. Saved in projects.
MASTER VOL0-1.5The slider in the top bar. Values above 1 boost the mix and can overload the limiter. Kits set it when loaded.
Safety limiterthreshold -2 dB, ratio 20:1, hard knee, attack 1 ms, release 80 msAlways on. No control.
Soft clippertransparent up to 0.85, smooth rounding above, peak about 0.964Always on. Catches what the limiter misses.
Meters and oscilloscopeafter the clipper

The metronome click goes straight to the output and bypasses this chain.

An older master reverb and tape delay exist in the engine but nothing feeds them; they have no controls.

5.8 PERFORM mode and the bays

In PERFORM mode a channel that no pad sends to (all sends 0) and that has TRIGGER MODE off is disconnected 3 seconds after its last send goes quiet, so it costs no CPU. A reverb tail can still ring out. When you raise a send the bay reconnects at once. In FULL mode all bays stay connected.

The disconnect looks only at pad sends. A bay fed only by the looper (Track 17) SEND is treated as unused (read from the code; unverified in a browser). Give the bay a tiny pad send or leave PERFORM mode if the loop's effect goes silent.

Separately, in any mode, if the engine falls behind repeatedly (2 or more stalls or overloads within 10 seconds), the reverb channel (and any modulation effect from an old session) is muted for 8 seconds. The LOAD badge in the top bar then adds FX MUTED. The drums keep time. See Part 1.

---

6. Worked examples

6.1 Build a 4-bar beat from scratch

  1. Press STOP, then pattern slot 16 (or any slot you do not need). Press CLEAR PATTERN and confirm. (If the slot holds a style pattern you want to keep, pick another slot first.)
  2. Set LIMIT: to 4 Bars.
  3. Press BAR 1. Press pad 1 (the kick) so the step row shows Track 1.
  4. Click steps 1, 5, 9 and 13. You hear the kick on each beat.
  5. Select pad 3 (snare). Click steps 5 and 13 (beats 2 and 4).
  6. Select pad 7 (closed hat). Set EUCLIDEAN: to 8 hits and press FILL for eight even hats. (Or drag across steps 1, 3, 5, 7... with the mouse.)
  7. Press PLAY. Bar 1 loops until you have more bars.
  8. With the kick selected, press the COPY button (bar tools), press BAR 2, then PASTE. Do the same for the snare and hat (select each pad, BAR 1, COPY, BAR 2, PASTE). A quicker way is DUPE (it works on the selected track): on BAR 1 press DUPE, and you land on bar 2 with bar 1 copied; press DUPE again to fill bar 3, and so on.
  9. On bar 4, vary it: select the snare, click the MOD tab, click step 16 until the cell reads R2 (a roll). Click a few extra kick steps.
  10. Open the VEL tab and drag across the hat cells to draw accents: tall on the beats, short in between.
  11. Press the lock button (LOCK / UNLOCK) if you want it protected from accidental record, paste or clear.
  12. Save with FILE > SAVE PROJECT.

6.2 Switch patterns live with single and double click

  1. Pick a style in the STYLE (SEQUENCE STYLE) drop-down. Slot 1 loads. Press PLAY.
  2. While the Intro plays, single-click slot 2 (Verse 1). Its button pulses. When the Intro has played its last bar, Verse 1 starts. You never get a half-finished pattern.
  3. To jump sooner, double-click slot 5 (Chorus 1) while Verse 1 is in its second bar. The button gets an orange outline and pulses faster. At the next bar line Chorus 1 starts from its first bar.
  4. To let the app run the arrangement, press CHAIN: OFF so it reads CHAIN: ON. Slots then play in order. Your own clicks still win.
  5. Remember: loading another style replaces all 16 slots.

6.3 Add reverb to a snare with a send

  1. Check the bay: open the 2 AUX FX BAYS tab and look at AUX 1 (default Reverbs / Light Room; pick Room or Hall for a bigger sound). Set PARAM 1 about 0.4 for a short tail, PARAM 2 about 0.6. Set RETURN LEVEL to 0.8 or so.
  2. Press the PAD SOUND ENGINE tab. Press the snare pad (pad 3) to select it.
  3. In PAD CONTROLS raise SEND 1 (REV) to about 0.25. The snare keeps its dry sound and a reverb copy is added.
  4. Press PLAY and adjust SEND 1 for the wet amount, RETURN LEVEL for the whole reverb, PARAM 1 for the tail length.
  5. For a gated, rhythmic splash instead, press TRIGGER MODE in the AUX bay tab so it reads ON. The reverb is then silent until you hold the FX 1 pad (or key 5), and it opens and closes with ATT (MS) and REL (MS).
  6. Turn SEND 2 (DLY) back to 0 if you hear the delay too.

6.4 Record a loop and match the tempo

  1. Open the 8-SLOT LOOP SLICER tab and click an empty slot, for example slot 5.
  2. Press + LOAD AUDIO and choose your loop file. It loads, gets a guessed BPM and is cut into slices.
  3. Look at the BPM shown in the slot and in the BPM: field. If you know the real tempo, tick MANUAL OVERRIDE, type the BPM and set BARS to the length of the loop (for example 2).
  4. Press ⚡ MATCH BPM TO LOOP. The tempo changes to the loop's tempo and the tag reads LOOP MATCH. (The tempo never changes without this press or another tempo control.)
  5. Press MODE: Time-Synced Stretch (default) and press ▶ PLAY LOOP to hear it at the project tempo.
  6. To use it in the beat, press the orange looper pad, then click step 1 in the step row. Set LIMIT to the loop length in bars. The loop restarts at step 1 of each pattern pass. Or press AUTO-PLAY MEASURE: OFF so it reads ON, and the loop retriggers itself every BARS bars.
  7. Press PLAY. Change the BPM in the top bar and the loop follows it; it stays in time.
  8. To use one hit as a drum sound, press the waveform at that hit (the slice turns orange), choose a target in CONVERT SLICE: and press EXPORT SLICE TO PAD.

---

7. Known quirks and troubleshooting

7.1 Known quirks

These are labels or behaviours that differ from what you might expect. Each was checked in the code at the time of writing.

WhereWhat you will see
FLAMSPuts a 2-hit roll on active steps 15 and 16 and a flam on about half of active steps 3, 7 and 11. It does not touch empty steps and adds no ghost notes.
CLEARClears the shown bar of the selected track. (The duplicate CLEAR TRACK button was removed in 10.3.) To clear all 8 bars use CLEAR ACTIVE PAD.
DUPE (bar)On bar 8 there is no next bar: the button shows LAST BAR for a moment and nothing is copied.
Button text after a clickCOPY, PASTE, DUPE and CLEAR change to a short confirmation, then return to their labels.
LOCK / UNLOCKThe button reads 🔓 UNLOCKED or 🔒 LOCKED (the state, not the action). A locked pattern can still be edited by hand.
Collapse buttonIn SLOW CPU mode it reads ▼ LOCKED (SLOW CPU). After SLOW CPU is switched off it reads ⊞ VIEW FULL 16-PAD PATTERN (16 ROWS x 16 STEPS) or ▲ HIDE FULL GRID instead of EXPAND 17 ROWS / COLLAPSE GRID.
Return levelMASTER AUX RETURNS FX 1 and FX 2 (0-1) and RETURN LEVEL (0-1.5) edit the same value and always follow each other, also after loading a kit or a project. The master faders stop at 1; use RETURN LEVEL for more.
Trigger ATT / REL slidersShown at 10 ms and 200 ms. An untouched bay starts at 15 ms and 150 ms. (unverified)
PARAM labelsPARAM 1 (DECAY/TIME) ... PARAM 4 (RATE/DIFFUSE) never change. Use the table in 5.3. In reverbs, PARAM 2 "DAMP" makes the sound brighter when raised.
SET list temposThe BPM text in MASTER FULL SET is fixed and can differ from the tempo the set offers through PRESET.
Loop SIGStored but not used in playback.
Loop slots 1-4The four generated loops are 2 bars long and BARS shows 2, so AUTO-PLAY MEASURE retriggers them every 2 bars.
Looper pad labelReads LOOP: AMEN BREAK whichever slot is active. (unverified)

7.2 Troubleshooting

ProblemWhat to check
A step is on but silentThe track is muted or another track is soloed (MUTE / SOLO). The pad is switched off in SETTINGS (OFF 9-12, OFF 13-16). The step modifier is Note Off or SKIP. The loop engine is off (Track 17).
Steps seem to play in the wrong placeA SKIP step pushed the track out of phase. Press SYNC GRID or STOP.
The pattern is shorter than I wroteLIMIT is lower than the bars you used. Raise LIMIT.
The pattern button I clicked does not startWhile playing, a single click waits for the end of the pattern. Double-click for the next bar line. If it is a long pattern (LIMIT 4 or more), the wait is long.
My slot edits vanishedYou loaded a style or full set (replaces all 16 slots). Save a project first next time.
REC will not armThe active pattern is locked. Press LOCK / UNLOCK.
Overwrite recording removed my other tracksOverwrite clears all unmuted tracks as it passes. Use Overdub, or solo the track you record.
Recorded hits are late or earlyLower QUANTIZE SNAP STRENGTH only if you want the feel kept. At 100% hits snap to the grid. Check CLOCK OFFSET if you follow an external clock.
Loaded loop does not line upThe guessed BPM is wrong. Use MANUAL OVERRIDE and enter the real BPM, then MATCH BPM TO LOOP.
Loop plays once and stopsBy design. Add a step on Track 17 or use AUTO-PLAY MEASURE.
Loop is gone after reloadLoop audio is not saved in projects. Load the files again.
Loop reverb disappears in PERFORM modeSee 5.8: only pad sends keep a bay connected.
Reverb or modulation suddenly muteThe engine is struggling (FX MUTED). Lower the VOICE LIMIT, bake the kit or use PERFORM mode (Part 1).
An effect bay does not change the soundThe pad's SEND for that bay is 0, or TRIGGER MODE is ON and the pad is not held.
The loop sounds different at 2xIn Original Pitch/Speed mode the pitch changes with speed. Use Time-Synced Stretch.
Master sounds squashed or distortedLower MASTER VOL below 1 and the pad volumes. The limiter and soft clipper are always on.

---

8. Maintainer notes

Update this list when files or functions are renamed. Line numbers are not recorded because the files change often.

SectionSource
1.1-1.3 Tracks, steps, step buttonsindex.html (#active-instrument-sequencer, #active-step-columns, #container-full-grid); js/app.js renderActiveInstrumentSequencer, refreshSequencerGrid, selectInstrument; js/ui-helpers.js bindStepPainting
1.4 Step inspectorindex.html #modal-step-inspector; js/app.js _setupStepInspectorModal, openStepInspector
1.5 Parameter laneindex.html .seq-lane-bar; js/app.js _setupSequencerLane, renderLane; js/ui-helpers.js LANES, bindLaneDrawing, MOD_CYCLE, MOD_SHORT, nextModifier
1.6 Modifiersjs/sequencer.js _executeStepModifier; badge text App._getModBadgeText; hit letters Presets._buildSlotsFromPatternData (js/presets.js) and js/pattern-data-*.js
1.7 Track length, skipjs/sequencer.js SequencerTrack.trackLength, _onClockStep, resetTrackPointers; js/project.js serialization
1.8 Bars, LIMITjs/app.js _setupSequencerGrid; Sequencer.setLoopLength; AudioCore._advanceStep
1.9 Mute, solojs/sequencer.js setTrackMute, setTrackSolo; js/app.js mute/solo wiring
1.10 RECjs/sequencer.js setRecording, toggleRecording, recordHit, the overwrite sweep in _onClockStep; js/app.js _setupRecordSetupModal; index.html #modal-record-setup
1.11-1.12 Track and bar toolsjs/sequencer.js randomizeTrackPattern, randomizeFullPattern, applyVelocityRamp, humanizeVelocities, applyAutoFlamsAndRolls, applyPanSweep, generateEuclideanRhythm; js/app.js _setupSequencerGrid, copyMeasure, pasteMeasure, duplicateMeasure, clearMeasure
1.13 Pattern toolsjs/sequencer.js copyPattern, pastePattern, dupePattern, toggleLockPattern, clearActivePattern, clearTrack; js/app.js _setupPatternManagementToolbar
1.14 MIDI exportjs/sequencer.js exportPatternToMidi
1.15, 4.8, 5.8 PERFORM modecss/axiom-compact.css ([data-mode="perf"] block), js/layout.js, DSPEngine.setPerfMode, refreshAuxActivity, AudioCore.setAuxActive
2.1-2.2 Slots and cueingjs/presets.js sequenceSlots, cueSequence, applyPendingCue, switchToSlot, saveCurrentToSlot, loadSequence; js/sequencer.js _onClockStep (cue block); js/app.js _setupSequenceBankButtons, updateSequenceButtons; CSS .btn-seq-slot.cued-now
2.3 Stylesjs/presets.js _initSequenceStyles, _buildSlotsFromPatternData, _fillStyleSectionPattern; js/pattern-data-1..8.js
2.4 Full sets, kitsjs/presets.js _initFullSets, applyFullSet, applyKit
2.5 Tempo rulejs/audio-core.js noteOriginalTempo, playOriginalTempo, setBPM; js/app.js syncTempoUI
2.6 Song modejs/sequencer.js patternChainEnabled, togglePatternChain, _onClockStep; js/app.js CHAIN button wiring
3.1 Swingjs/audio-core.js setSwing, getSwingOffset, _scheduleStep
3.2-3.4 Tempo, TAP, sync, clockjs/audio-core.js tapTempo, syncSeconds, syncHz, externalClockTick; js/app.js transport wiring
4 Loop slicerjs/loop-player.js (all); index.html #panel-deep-loop-rack, #pad-looper-tool; js/app.js _setupLoopRack, updateLoopRackUI, drawLoopWaveform, _wireFinalControls, _syncFinalControls
5.1 Signal flowjs/dsp-engine.js PadEngine.initNodes, setSend; js/audio-core.js _setupAuxBusses, setAuxProcessor
5.2-5.6 Channels (AXIOM_AUX_COUNT = 2 in js/audio-core.js; first-run reverb rule in Presets.applyKit, selectAuxBay, project.js)index.html #panel-deep-aux-bays; js/app.js _setupAuxBayControls, selectAuxBay, syncAuxLabels; js/dsp-engine.js AuxFXBay (rebuildFXChain, _buildLightReverb, trigger methods), DSPEngine.defaultAuxConfigs, randomizeAuxBays, onTempoChanged
5.7 Master busjs/audio-core.js _setupMasterBus, _buildSoftClipCurve, setCompressor, setMasterVolume
7.1 Quirkstools/docs/tooltips_coverage.md (items 3-8 and 12 still true; items 1, 2, 9, 10, 11 were fixed or changed), plus checks made while writing this part

When any of these change, re-check: the algorithm table (5.3) against rebuildFXChain, the modifier table (1.6) against _executeStepModifier, the quirks table (7.1) against the code, and the SET drop-down tempos against js/pattern-data-*.js.

04 - Version 11: EDIT / PERFORM, rendering, LFOs, loops and the new engines

This part describes how the app works since build 11 and replaces the older "BAKE" wording in parts 2 and 3. Where an older sentence in parts 1-3 talks about baking, PERFORM baking all synth pads or the sequencer being visible while editing, read this part instead.

1. Two sides: EDIT and PERFORM

The two buttons EDIT and PERFORM at the top of the window (keys F1 / F2; F8 / F9 switch the pad view and sound view) change what the whole app is for.

EDITPERFORM
PurposeDesign sounds, kits, loopsPlay, sequence, jam
Sequencer and transportHidden. The sequencer exists only in PERFORMShown: the complete sequencer (16 steps, the 16 pattern presets, all the track edit tools, EXPAND 17 ROWS with the looper row) sits under the pads. PADS and SEQ buttons (F1 / F3) switch between pads with the sequencer under them and the sequencer taking the whole screen
What a pad playsIts engine (the tab that is selected: SAMPLER, SUBTRACTIVE, ADDITIVE, PHYSICAL MODEL, WAVESHAPER, WAVETABLE, VOCODER)Its sample (the SAMPLER) only
EditorFull pad editor with all engines, two LFOs, final filter, the four send effectsMinimal: level, pan and the send amounts of reverb and delay
EffectsWhatever the user chose (4 effect bays)Reverb and delay only: Light Room reverb and Basic Stereo delay unless you chose others. FX 3 / FX 4 are switched off
Loop tools (loopers A and B)OnThe two looper pads (rows 17 and 18 of the sequencer, they can be sequenced like any pad) and the 8-SLOT LOOP SLICER tab are there; each looper has its own on / off switch (the position is remembered)

Everything PERFORM does not need is switched off to save processor time: the synth engines, the engine workers, the cached renders, the FX 3 and FX 4 bays, the idle effect bays and (unless you switch it on) the loop engine. Going back to EDIT switches it all on again. Your EDIT effects are kept in the project and come back.

Why this split? PERFORM has to be ultra smooth: it only plays recorded samples, with two light effects. All the heavy sound design (synth engines, LFOs, final filter, big reverbs) happens in EDIT and is rendered into the sample of the pad.

2. Rendering: the SAMPLER is the PERFORM voice

Every pad has a sampler. The sampler's sample is what PERFORM plays. A pad that never got a sample is rendered automatically when you enter PERFORM.

ControlWhat it does
RENDER TO SAMPLERPlays the pad's current engine once, offline, and puts the result into the sampler. The result includes the engine, its two LFOs, the final filter, drive and attack and the chord tool. It does not include the pad volume, pan, tune or the send effects. You stay on the engine tab, so you can go on editing and listen to both.
+ SEND FX (checkbox)Also prints the pad's send effects (reverb, delay, FX 3, FX 4, at the send levels you set) into the sample while rendering. The sends then go to 0, because the effects are inside the sample.
PRINT SEND FXPrints the send effects into the current sample without rendering the engine again (for example a big, CPU-heavy reverb on a snare: it costs processor time once instead of at every hit).
RENDER KITRenders every pad of the kit.
CONVERT TO ADDITIVEMeasures the subtractive sound and rebuilds it as an additive synth (unchanged).
PREVIOUS SAMPLES 1-5The last five samples of the pad. Every render, load or kit change pushes the old sample here; click a number to bring it back (the current sample takes its place in the list).
State text"SAMPLE = THIS ENGINE" (the render is up to date), "EDITED SINCE RENDER" (you moved something; the pad also shows a dot).

Rules to know:

3. Two LFOs per pad (LFO window)

Each pad has two LFOs, and every slider of the pad editor can be a target (about 170 targets: oscillators, noise, filters, FM, envelope, the additive shaping sliders, the final stage, the pad volume / pan / tune, the four new engines, and even the other LFO's rate and depth).

ControlWhat it does
SHAPEsine, triangle, square, saw, ramp, random (a new value each cycle), smooth random
RATE (HZ)Speed in cycles per second (0.05-40)
TEMPO SYNCLocks the LFO to the tempo: one cycle per note division. Free (Hz) = off
DEPTHHow far the LFO moves the target: 1 = plus or minus half the slider range (by octaves for frequencies); negative flips it; 0 = off
TARGETThe parameter to move
START PHASEWhere in its cycle the LFO is at the start of a hit
RETRIGGER ON HITRestarts the LFO on every hit (every hit alike). Off = it runs with the clock
UNIPOLAROnly upwards from the current value

Pitch, filter cutoffs, resonances, levels, pan, the FM index and the final filter move continuously inside the hit; every other parameter is moved once per hit (the value for that hit). All LFO movement is in the render.

4. The four send effects

There are four effect bays. Bays 1 and 2 are the reverb and delay. FX 3 and FX 4 are the two further effect channels (EDIT only). Each pad has four send sliders. In PERFORM only the reverb and delay exist. To get a heavier reverb into PERFORM, use PRINT SEND FX or render with + SEND FX.

5. Loops and loop sets

Render the sequence to a sample: in PERFORM, the loop buttons render the active pattern (a number of bars) to a stereo sample with the sample voices, the chosen effects and a seamless tail. The result goes to the looper, where you can audition it in the loop tool.

Convert all sequences to loops: renders all pattern slots one after the other into the loop set.

Loop set: 16 loops with names. The LOOP SET tab (EDIT, deck) lists them, lets you rename, render, load, delete, save (.axloops file) and load a loop set.

Playing the loops: the old PADS | LOOPS switch has become the DJ / LOOP mode (top bar button, F10): two decks play the 16 loops (see part 7). In PERFORM the complete sequencer stays under the pads, with the two looper pads and the RENDER SEQUENCE... button (the active sequence into a loop, all sequences into all loops, or to a WAV file).

6. The new engines (EDIT tabs)

Every engine tab has RANDOMIZE and DEFAULTS buttons, all sliders have a tooltip and can be targeted by the LFOs, the pad's final filter / drive / attack / release apply to every engine, and every engine is rendered to the sampler like the others. All of them are light on the processor: a hit is calculated once per setting and then played from memory.

6.1 PHYSICAL MODEL

A struck or plucked object calculated from physics.

GroupControls
MODELMODEL: Waveguide / Karplus-Strong (a string or tube: delay line with loss) or Modal resonator bank (membrane, bar, plate, bell, tube, string, wood, glass, random). PITCH, DECAY (60 dB time), LEVEL
EXCITEREXCITER (noise burst, impulse, mallet, brush, stick click), LENGTH, BRIGHTNESS, LEVEL, STRIKE POSITION (where the object is hit; the middle is round and hollow)
BODYDAMPING (highs die faster), STIFFNESS (waveguide: overtones become sharper than harmonic), WAVEGUIDE TYPE (string: all harmonics; closed tube: odd harmonics), MODE SET, MODES (2-32), MODE SPREAD (more metallic), MODE DETUNE (beating twins), DECAY TILT
SKIN, WIRES & STEREOTENSION BEND (semitones and time: tom / taiko "boing"), RATTLE and RATTLE LENGTH (snare wires, sizzle), STEREO WIDTH

Good for toms, congas, bongos, wood blocks, claves, bells, plates, gongs, tuned percussion, plucked and struck strings. A short cymbal: MODE SET plate, spread 0.6, noise exciter, damping 0.2.

6.2 WAVESHAPER (non-linear / distortion synthesis)

A simple tone is pushed through a curve that folds, clips or bends it into rich harmonics. INPUT chooses what is shaped: Own tone, or the sound of any other source (sampler, subtractive, additive, physical model, wavetable, the looper). When another source is chosen, its tab and (for the looper) its pad light up while you are on this pad, so you always see what feeds the shaper.

Controls: OWN TONE (oscillator sine / triangle / saw / square / noise, pitch start and end, pitch drop time, attack, decay); THE SHAPER (SHAPE: soft clip, hard clip, wavefolder, sine fold, Chebyshev harmonics, asymmetric, phase distortion, bit / rate crusher; DRIVE; DRIVE FOLLOWS LEVEL = bright attack, clean tail; BIAS; fold THRESHOLD; the HARMONIC 2-6 levels for the Chebyshev shape; PHASE DISTORTION; BITS; RATE DIVIDER); OUTPUT (TONE, DRY / WET, LEVEL).

6.3 WAVETABLE

Two tables play together and are mixed. Each table has 16 morphing waveforms. 25 tables made for drums, percussion and effects: kick body, sub thump, tom, snare shell and wires, wood block, metal bell, glass, metallic hat noise, periodic noise, soft noise, zap, laser, formant sweep, vocal "ah", FM bell, FM metal, saw stack, pulse width morph, organ, pluck, click, digital harsh, chaos, hollow pipe and analog thump.

Controls: TABLES (TABLE A / B, POSITION, SWEEP of the position during the hit, SWEEP TIME, MIX A / B, PITCH RATIO B, DETUNE B); PITCH & ENVELOPE (pitch start / end / drop time, attack, decay, ENVELOPE SNAP); SOUND SHAPING (HARD SYNC, WARP, FM of B into A, UNISON, UNISON DETUNE, SUB, NOISE, BIT DEPTH, LEVEL).

6.4 VOCODER ("reverse additive")

An ordinary vocoder listens to a voice and shapes a carrier. This one listens to the ADDITIVE synth: each of its strongest partials (at most 18) becomes one filter band, the partial's level and decay open and close that band, and the bank of filters shapes another sound, the carrier. You design the spectrum on the ADDITIVE tab (use the button EDIT THE BANDS) and listen to it here.

7. CHORD strip (all engines)

Under the engine tabs: CHORD on / off, four note drop-downs (semitones above the pad's pitch, or off) and TRANSPOSE (the main key, -24 to +24). When CHORD is on, one hit plays all chosen notes together (their level is balanced), with every engine. The chord is part of the render.

8. Kits in v11

The first 15 factory kits were redone in a second round with the rule authenticity first: analog machines (TR-808, 909, 606, CR-78, KR-55, DFAM, SDS-V) keep their subtractive circuit models, and sampler-era machines (LinnDrum, DMX, SP-1200, MPC60, MPC3000, SR-16, R-8) are emulated with the engines, or converted from a library sample into a synth (additive / subtractive), and only as a last resort play a library recording (at most 3 per kit; the list is LIBRARY_SAMPLES_USED.md). EDIT plays the engine, PERFORM plays the rendered sample. AI Kit 01 is at the top of the kit list (and as the set AI Kit 01 Groove), and SFX Designer Kit is the 16th kit: sixteen sound effects (impacts, risers, zaps, clangs, gongs, chimes, whooshes) made with all engines and the LFOs.

Maintainer notes (v11)

05 - Engine parameter reference (v11)

Every slider and drop-down of the four new engines, as it appears on screen. Defaults are the values after DEFAULTS. All sliders can be targets of the LFOs.

PHYSICAL MODEL

MODEL

ControlWhat it doesRange / choices (default)
MODELWaveguide: a delay line with loss, like a string or an air column. Modal: a bank of resonators at the vibration modes of a drum skin, bar, plate or bell.Waveguide / Karplus-Strong (string, tube); Modal resonator bank (membrane, bar, plate, bell) (default: ks)
PITCH (HZ)Fundamental frequency of the object.20 to 4000 (110)
DECAY (S)Time for the sound to die away by 60 dB.0.05 to 6 (0.6)
LEVELOutput level of the engine (before the pad volume).0 to 1.5 (1)

EXCITER (WHAT HITS IT)

ControlWhat it doesRange / choices (default)
EXCITERThe signal that sets the object vibrating. Noise = pluck / stick, mallet = soft hit, impulse = sharp tap, brush = scraped.Noise burst; Impulse (click); Mallet (soft pulse); Brush (long noise); Stick click (default: noise)
EXCITER LENGTH (MS)How long the object is driven. Short = a sharp strike, long = a scrape or a soft push.0.2 to 80 (6)
EXCITER BRIGHTNESS (HZ)Low-pass of the exciter: dark rubber to bright wood or metal. Harder hits (velocity) are brighter.200 to 16000 (6000)
EXCITER LEVELHow hard the object is driven.0 to 1.5 (0.9)
STRIKE POSITIONWhere the object is struck. Near the end (small) is bright and thin, the middle (0.5) is round and hollow: it notches out the modes that have a node there.0.04 to 0.5 (0.25)

BODY (HOW IT VIBRATES)

ControlWhat it doesRange / choices (default)
DAMPINGHow fast the highs die compared with the lows. More = muffled, dull; 0 = rings bright.0 to 1 (0.35)
STIFFNESS (WAVEGUIDE)Waveguide only: makes the overtones sharper than harmonic, the way thick strings and bars sound (towards bell-like).0 to 1 (0.1)
WAVEGUIDE TYPEString: all harmonics. Closed tube: only the odd harmonics, hollow like a clarinet or a wood block.String (all harmonics); Closed tube (odd harmonics) (default: string)
MODE SET (MODAL)The overtone pattern of the resonator bank: where the modes sit relative to the pitch.Drum skin (membrane); Bar (marimba / vibes); Plate (cymbal / gong); Bell; Closed tube; Harmonic string; Wood block; Glass; Random (free) (default: membrane)
MODES (MODAL)Number of resonators. More modes = richer, more CPU.2 to 32 (16)
MODE SPREAD (MODAL)Stretches the mode frequencies upwards: more metallic, more inharmonic.0 to 1 (0)
MODE DETUNE (MODAL)Gives each mode a slightly detuned twin that beats against it: living, imperfect, shimmering.0 to 1 (0.1)
DECAY TILT (MODAL)Do the high modes die faster (positive) or ring on longer (negative) than the low ones?-1 to 1 (0.5)

SKIN, WIRES & STEREO

ControlWhat it doesRange / choices (default)
TENSION BEND (ST)The pitch starts this many semitones high and relaxes: the "boing" of a tom or a taiko, a laser tom.0 to 24 (0)
BEND TIME (MS)How fast the tension bend relaxes.5 to 600 (60)
RATTLE / SNARE WIRESAdds buzzing noise that follows the loudness of the object, like snare wires, a sizzle cymbal rivet or a rattle.0 to 1 (0)
RATTLE LENGTHHow long the rattle keeps buzzing after the strike.0 to 1 (0.3)
STEREO WIDTHSpreads the modes (or a tiny delay for the waveguide) across the stereo field.0 to 1 (0.3)
RATTLE BRIGHTNESS (HZ)Low-pass of the rattle noise: snare wires sit around 2-5 kHz, a sizzle is brighter. 20000 = open.300 to 20000 (20000)
FUNDAMENTAL WEIGHT (MODAL)Boosts the lowest mode against the overtones: round, pitched toms and kicks that do not jump to a higher mode.0 to 1 (0)
NOISE WASHAdds a band-limited noise layer that rings on with the object: the broadband wash of a cymbal, ride or crash on top of the tonal metal.0 to 1 (0)
WASH BRIGHTNESS (HZ)Brightness of the noise wash.500 to 18000 (7000)
WASH LENGTHLength of the wash compared with the decay of the object.0.1 to 3 (0.8)

WAVESHAPER

INPUT

ControlWhat it doesRange / choices (default)
INPUTWhat is shaped. "Own tone" is the oscillator below. Any other choice sends that engine's sound through the shaper (that tab lights up; the looper pad lights up while this pad is selected). With the sampler as input, a render replaces the pad's sample; the previous version stays in PREVIOUS SAMPLES.Own tone (below); Sampler (the pad's sample); Subtractive synth; Additive synth; Physical model; Wavetable; Looper tool (loop slicer slot) (default: own)
OWN TONE MIX (WITH INPUT)When an input is chosen, how much of the own tone is added to it before shaping.0 to 1 (0)

OWN TONE

ControlWhat it doesRange / choices (default)
OSCILLATORWaveform that goes into the shaper.Sine; Triangle; Saw; Square; Noise (default: sine)
PITCH START (HZ)Starting pitch of the tone.20 to 2000 (80)
PITCH END (HZ)Pitch the tone drops to.20 to 2000 (50)
PITCH DROP (MS)How fast the pitch falls.2 to 2000 (40)
ATTACK (MS)Fade-in of the tone.0.3 to 400 (1)
DECAY (S)Length of the tone.0.03 to 4 (0.5)

THE SHAPER

ControlWhat it doesRange / choices (default)
SHAPEThe curve the signal goes through. Each makes different overtones: clips are buzzy, folds are metallic and bell-like, Chebyshev adds exactly the harmonics you set.Soft clip (tanh); Hard clip; Wavefolder; Sine fold; Chebyshev harmonics; Asymmetric (even harmonics); Phase distortion (own tone); Bit / rate crusher (default: tanh)
DRIVE / INDEXHow hard the signal hits the curve. Low = nearly clean, high = bright and dense. The brightness moves with the loudness (see DRIVE FOLLOWS LEVEL).0.5 to 60 (6)
DRIVE FOLLOWS LEVELHow much the drive dies away with the sound: the classic waveshaping effect of a bright attack that turns into a clean tone.0 to 1 (0.6)
BIAS (ASYMMETRY)Shifts the signal before the curve: adds even harmonics and a different character.-1 to 1 (0)
FOLD THRESHOLDWavefolder: the level where the wave is folded back. Lower = more folds.0.1 to 1 (0.5)
HARMONIC 2 (CHEBYSHEV)Chebyshev shape: level of the 2nd harmonic.0 to 1 (0.5)
HARMONIC 3 (CHEBYSHEV)Chebyshev shape: level of the 3rd harmonic.0 to 1 (0.5)
HARMONIC 4 (CHEBYSHEV)Chebyshev shape: level of the 4th harmonic.0 to 1 (0.3)
HARMONIC 5 (CHEBYSHEV)Chebyshev shape: level of the 5th harmonic.0 to 1 (0.2)
HARMONIC 6 (CHEBYSHEV)Chebyshev shape: level of the 6th harmonic.0 to 1 (0.1)
PHASE DISTORTIONPhase-distortion shape: bends the phase of the oscillator (like a Casio CZ). More = a sharper, more resonant tone.0 to 1 (0.5)
BITS (CRUSHER)Crusher shape: number of bits. Fewer = coarser, grittier.2 to 16 (8)
RATE DIVIDER (CRUSHER)Crusher shape: holds every Nth sample. Higher = more aliasing, lo-fi.1 to 40 (4)

OUTPUT

ControlWhat it doesRange / choices (default)
TONE (LOW-PASS, HZ)Darkens the result after the shaper.200 to 20000 (12000)
DRY / WETBlend of the unshaped input and the shaped sound.0 to 1 (1)
LEVELOutput level of the engine.0 to 1.5 (1)

WAVETABLE

TABLES

ControlWhat it doesRange / choices (default)
TABLE AFirst wavetable (the main voice).Kick body (sine to punch); Sub thump; Tom resonance; Snare shell + wires; Wood block; Metal bell; Glass; Metallic noise (hat); Noise (periodic); Soft noise; Zap sweep; Laser; Formant sweep (ah-oh-ee); Vocal ah; FM bell; FM metal; Saw stack; Pulse width morph; Organ drawbars; Plucked string; Click transient; Digital harsh; Chaos (logistic); Hollow pipe; Analog perc thunk; Band noise (mid, snare / clap body) (default: kick)
POSITION AWhich of the 16 waveforms of table A is playing (they morph into each other).0 to 1 (0)
SWEEP AThe position of table A starts this far away and moves to POSITION A during the hit (time: SWEEP TIME).-1 to 1 (0.4)
TABLE BSecond wavetable, played together with table A.Kick body (sine to punch); Sub thump; Tom resonance; Snare shell + wires; Wood block; Metal bell; Glass; Metallic noise (hat); Noise (periodic); Soft noise; Zap sweep; Laser; Formant sweep (ah-oh-ee); Vocal ah; FM bell; FM metal; Saw stack; Pulse width morph; Organ drawbars; Plucked string; Click transient; Digital harsh; Chaos (logistic); Hollow pipe; Analog perc thunk; Band noise (mid, snare / clap body) (default: metalhat)
POSITION BPosition of table B.0 to 1 (0.5)
SWEEP BSweep of table B's position.-1 to 1 (0)
SWEEP TIME (MS)How fast the sweeps settle.5 to 800 (80)
MIX A / B0 = only table A, 1 = only table B.0 to 1 (0.3)
PITCH RATIO BTable B plays at this multiple of the pitch (2 = an octave up, 1.5 = a fifth). Non-whole ratios give metal.0.25 to 8 (1)
DETUNE B (CENTS)Detunes B against A so they beat.-100 to 100 (7)

PITCH & ENVELOPE

ControlWhat it doesRange / choices (default)
PITCH START (HZ)Starting pitch.10 to 4000 (110)
PITCH END (HZ)Pitch it falls to.10 to 4000 (55)
PITCH DROP (MS)Speed of the fall.2 to 2000 (60)
ATTACK (MS)Fade-in.0.3 to 400 (1)
DECAY (S)Length of the sound.0.03 to 6 (0.5)
ENVELOPE SNAPBends the decay: 0 = natural fade, 1 = fast drop with a short tail.0 to 1 (0.3)

SOUND SHAPING

ControlWhat it doesRange / choices (default)
HARD SYNCResets the tables several times per cycle: a tearing, screaming overtone sweep when moved.1 to 8 (1)
WARP (PHASE BEND)Bends the playback phase: pushes the sound towards pinched, nasal or hollow.0 to 1 (0)
FM (B INTO A)Table B modulates the phase of table A: bells and metal.0 to 1 (0)
UNISON VOICESSeveral detuned copies for a wide, thick sound.1 to 5 (1)
UNISON DETUNE (CENTS)How far the unison copies are detuned.0 to 60 (12)
SUB OSCILLATORA sine one octave below.0 to 1 (0)
NOISEAdds filtered noise.0 to 1 (0)
BIT DEPTHLowers the bit depth: crunch.2 to 16 (16)
LEVELOutput level of the engine.0 to 1.5 (1)
TONE (LOW-PASS, HZ)Darkens the sound after the tables (20000 = open).200 to 20000 (20000)
HIGH-PASS (HZ)Removes the low end (10 = off).10 to 2000 (10)

VOCODER (REVERSE ADDITIVE)

CARRIER (THE SOUND THAT IS SHAPED)

ControlWhat it doesRange / choices (default)
CARRIERThe sound that goes through the bands. Saw / pulse follow the CHORD strip and the PITCH below; the others use the sound of that engine, the sampler or the looper.Saw (plays the chord); Pulse (plays the chord); White noise; Pink noise; Sampler (the pad's sample); Subtractive synth; Additive synth; Physical model; Wavetable; Looper tool (loop slicer slot); Waveshaper (default: saw)
CARRIER PITCH (HZ)Pitch of the saw / pulse carrier.40 to 2000 (110)
PULSE WIDTHWidth of the pulse carrier.0.05 to 0.95 (0.5)
LOOP A SHORT CARRIERIf the carrier (a sample or engine sound) is shorter than the longest band, repeat it.on / off (default on)

BANDS (FROM THE ADDITIVE TAB)

ControlWhat it doesRange / choices (default)
MODEVocoder: only the bands are heard, opened by the partials. EQ sculpt: the carrier is heard in full and the partials lift (up) or cut (down) their band.Vocoder (band-pass bank); EQ sculpt (the bands boost and cut the carrier) (default: vocoder)
NUMBER OF BANDSHow many of the additive synth's partials are used (the strongest first, at most 18).2 to 18 (18)
BAND WIDTH (Q)Narrow bands (high Q) ring and sing; wide bands blur into one colour.0.7 to 40 (8)
EQ RANGE (DB)EQ sculpt: how many dB a band can boost or cut.3 to 48 (24)
FORMANT SHIFT (ST)Moves every band up or down in pitch, like changing the size of the mouth.-24 to 24 (0)
BAND STRETCHSpreads (above 1) or squeezes (below 1) the bands around their middle.0.5 to 2 (1)
LEVEL SLOPETilts the level of the bands: positive = brighter, negative = darker.-1 to 1 (0)
DECAY SCALEMultiplies the decay of every band (the additive synth's own decays).0.1 to 6 (1)
BAND ATTACK (MS)How fast the bands open.0.5 to 120 (2)
CARRIER BLEEDA little of the unfiltered carrier (vocoder mode) for consonants and air.0 to 1 (0.1)
BURSTS (CLAP)Number of rapid hits before the main one, like the hands of a clap. 1 = a single swell.1 to 8 (1)
BURST GAP (MS)Time between the bursts.3 to 60 (10)

CUTS & OUTPUT

ControlWhat it doesRange / choices (default)
HIGH-PASS (HZ)Cuts the bottom before the bands (30 Hz by default).20 to 400 (30)
LOW-PASS (HZ)Cuts the top before the bands (18 kHz by default).4000 to 20000 (18000)
LEVELOutput level of the engine.0 to 1.5 (1)

MIDI IN

ControlWhat it doesRange / choices (default)
MIDI IN PLAYS THIS PADWhile this pad is selected with the vocoder open, MIDI notes play it: the note sets the carrier pitch (relative to the ROOT NOTE) and the chord of the CHORD strip is built on it.on / off (default off)
ROOT NOTEThe MIDI note that plays the pitch set above.C2; C3; C4 (middle C); C5 (default: 60)

CHORD strip

ControlWhat it doesRange
CHORDPlays the pad as a chord with every engine.on / off
Note 1-4Semitones above the pad's pitch for each chord note, or off.-12 to +24 st, off
TRANSPOSEShifts the whole pad and chord.-24 to +24 st

06 - Added controls (v11 checklist)

Controls added or relabelled in version 11 with the text shown on screen. Their behaviour is described in part 4.

On screenWhat it does
4 AUX FX BAYSShows the 2 shared AUX FX bays (a reverb and a delay) that the pad sends feed.
Plays the pad as a chord: up to 4 notes at once, each shifted by the semitones sPlays the pad as a chord: up to 4 notes at once, each shifted by the semitones set here, all moved by TRANSPOSE. Works with every engine.
Note 1 of the chord in semitones above the pad's pitch (off = silent).Note 1 of the chord in semitones above the pad's pitch (off = silent).
Note 2 of the chord in semitones above the pad's pitch (off = silent).Note 2 of the chord in semitones above the pad's pitch (off = silent).
Note 3 of the chord in semitones above the pad's pitch (off = silent).Note 3 of the chord in semitones above the pad's pitch (off = silent).
Note 4 of the chord in semitones above the pad's pitch (off = silent).Note 4 of the chord in semitones above the pad's pitch (off = silent).
Shifts the whole pad (and the chord) up or down in semitones: the main key.Shifts the whole pad (and the chord) up or down in semitones: the main key.
Also print the pad's FX sends (reverb, delay, FX 3, FX 4) into the sample when yAlso print the pad's FX sends (reverb, delay, FX 3, FX 4) into the sample when you render.
→ EDIT THE BANDS (ADDITIVE TAB)Opens the ADDITIVE tab: its partials are the bands of the vocoder.
Restart the LFO at the start of every hit, so each hit is the same.Restart the LFO at the start of every hit, so each hit is the same.
Unipolar: the LFO only goes up from the current value (0 to +1) instead of bothUnipolar: the LFO only goes up from the current value (0 to +1) instead of both ways.
SEND 3 (DRV)How much of this pad is sent to AUX bay 3, 0 (none) to 1. The effect type of the bay is set in the AUX FX BAYS tab.
SEND 4 (DYN)How much of this pad is sent to AUX bay 4, 0 (none) to 1. The effect type of the bay is set in the AUX FX BAYS tab.
AUX 3Edit AUX FX bay 3: its effect, parameters and return level appear below. Pads feed it with the SEND 3 knob.
AUX 4Edit AUX FX bay 4: its effect, parameters and return level appear below. Pads feed it with the SEND 4 knob.
FX 3 DRVAux Return 3 (Multi-Distortion). Level of this FX return in the master mix, 0 to 1.
FX 4 DYNAux Return 4 (5-Band EQ). Level of this FX return in the master mix, 0 to 1.
💾 SAVE SETSaves the whole loop set as a .axloops file.
Name of this loopName of this loop
⇣ SEQ → LOOPRenders the active sequence into the next free loop slot (and the loop slicer).
⇣⇣ ALL → LOOPSRenders all 16 sequences into the 16 loop slots.
1-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
2-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
3-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
4-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
5-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
6-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
7-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
8-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
9-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
10-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
11-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
12-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
13-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
14-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
15-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
16-emptyEmpty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
■ STOP LOOPStops the playing loop on the next bar line.
FX 3 [KEY 7]MULTI-DISTORTIONHold to let AUX bay 3 through (key 7); release to fade it out. Only works while TRIGGER MODE is ON.
Inverts bay 3 in trigger mode: the effect is audible normally and is cut while yInverts bay 3 in trigger mode: the effect is audible normally and is cut while you hold the pad.
FX 4 [KEY 8]5-BAND EQHold to let AUX bay 4 through (key 8); release to fade it out. Only works while TRIGGER MODE is ON.
Inverts bay 4 in trigger mode: the effect is audible normally and is cut while yInverts bay 4 in trigger mode: the effect is audible normally and is cut while you hold the pad.

07 - Version 11.3: two loopers, storage folder, render sequence, DJ / LOOP

This part describes what was added after part 4. It replaces part 4's PADS | LOOPS switch: loop playing is now the DJ / LOOP mode.

1. The three sections of the app

The three big buttons at the left of the top bar choose the section. The app opens in PERFORM (the pads, with the kit built in the background).

Section (top bar)What it is for
EDIT (F9)Editing sounds and making kits: sampler, subtractive, additive, physical model, waveshaper, wavetable, vocoder, LFOs, final filters, 4 FX, rendering to the sampler, loop set tools. No sequencer.
PERFORM (F9)Jamming: the 16 pads and the two loopers (A and B, on / off switches next to them), the sequencer (patterns, bars, the 16 steps; the TOOLS button opens the track tools, the value lane and the 18 rows), the pad sound basics. Every pad plays its rendered sample.
DJ / LOOP (F10)The pads and the sequencer are off. Two turntables (decks A and B) play the loops (or whole songs) in the middle list; play buttons, the scratch tools, EQ and level under each deck, the crossfader between them. EXPORT PACK makes sample packs and kits from here.

The workflow: build pads and kits in EDIT; play and sequence in PERFORM (RENDER SEQUENCE turns the sequences into loops); DJ the loops on the two decks in DJ / LOOP, and export packs.

2. Two loopers (A and B)

The loop tool exists twice. Looper A is sequencer row 17, Looper B is row 18. Each has its own 8 loop slots, level, pan, FX sends and on / off switch, and each can hold a short loop or a whole song.

3. Tempo syncs: straight, dotted, triplet, bars

Every tempo-synced time (the delay / modulation TEMPO SYNC of the FX bays, the LFO TEMPO SYNC) offers 1/2, 1/4, 1/8, 1/16, 1/32 as straight, dotted and triplet note values (written 1/8 dotted, 1/8 triplet), plus 1/64, 1/128 (FX) and 1, 2 and 4 bars. A dotted note lasts one and a half times, a triplet two thirds, of the straight note.

4. Editing while you play

5. Sequencer toolbar

The toolbar at the top of the sequencer (patterns, bars, STYLE and RANDOM PATTERN) stays in view while the track rows scroll underneath. EXPAND 18 ROWS shows the 16 pads and the two loopers.

6. RENDER SEQUENCE

The RENDER SEQUENCE... button (in the sequencer area in PERFORM) opens a window:

  1. Render the active sequence as a loop, into the loop you choose in a drop-down of the 16 loops (a loop that has a sound is replaced).
  2. Render all sequences to all loops: discards all 16 loops and replaces them with the 16 sequences rendered in order (empty sequences leave their loop empty). Asks first.
  3. Render to file: the active sequence, or all of them (one file each), as a WAV file (16 or 24 bit), saved into AXIOM Data / renders, a folder you pick, or downloaded. MP3 appears in the list only when an MP3 encoder (lamejs) is added to the app.

The renders use the pads' samples and the FX 1 / FX 2 effects as PERFORM plays them; the tail of the last bar is folded onto the start, so a loop repeats without a gap. The loops are what DJ / LOOP plays.

7. RECORD MIX

FILE > RECORD MIX records everything you hear (pads, loopers, the DJ decks, effects) as a stereo WAV until you click it again (or the red bar). The file is saved in AXIOM Data / renders and also offered as a download.

8. Storage: the app comes without samples

The app folder holds no audio. The factory kits are rendered from their synth settings the first time you use them (about a second per kit) and kept; the next time the kit loads instantly. A kit whose settings change is rebuilt automatically.

The first time the app starts it asks where to keep its files:

SETTINGS > STORAGE FOLDER... changes it later. Move the existing files copies what is there into the new place; switched off, the new place starts empty and the kits are rebuilt there when you use them. After a restart the browser may ask for one click to let the app use the folder again (a button appears: CLICK TO RECONNECT THE AXIOM DATA FOLDER).

9. DJ / LOOP mode

Open it with the DJ / LOOP button (third of the big mode buttons, top left) or F10. The pads and the sequencer switch off (the clock only keeps time) and the DJ rig opens: two turntables (deck A left, deck B right, which are the two loopers), the list of the 16 loops between them, and under each deck its 3-band EQ with kill buttons and its level fader with a meter. The crossfader is under the loop list, between the decks. The 16 loops are the ones you made with RENDER SEQUENCE (or loaded from files); loops that are not loops (songs) work too. Only one loop plays on a deck at a time: starting or loading another one replaces it, and a loop started by a sequencer row or a looper pad takes the deck over.

Loading a deck. Click the deck's platter (or its name) to select the deck, then click a loop pad: that loop loads into the selected deck. The pad shows which deck holds it (A / B). Selecting a deck does not play it: the deck's own PLAY button (also MIDI learnable) starts it, so a deck can be chosen from a controller without being triggered. LOAD opens an audio file (wav, mp3, aiff...) straight into the deck as a song; drop a file on a deck for the same. With the box STORE FILES IN A PAD ticked, a loaded file is also kept in a free loop pad.

While the clock runs (the transport is playing) a started or loaded loop waits for the next bar line. With the transport stopped it starts at once.

Deck controlWhat it does
PlatterSpins with the speed. Drag it with the mouse to scratch or move the record (it follows your hand like a record under the hand).
PLAY / CUEPlay / pause; CUE sets (when stopped) or jumps back to (when playing) the cue point.
SYNCLocks the deck to the project tempo (speed = project BPM / the loop's BPM). Loops are sync-locked by default, songs are not.
KEY LOCKKeeps the pitch while the speed changes (a stretched copy is built in the background, for items up to 150 s).
LOOPLoop on / off. Songs load with loop off. LEN 1 2 4 8 repeats the last 1, 2, 4 or 8 bars.
Pitch fader and range+-8% or +-16%; nudge - / + bends the speed briefly.
BPM, TAPThe loop's BPM (editable; TAP sets it by tapping). TEMPO makes the project tempo equal to this deck's speed.
WaveformShows the whole item with the playhead and the cue mark; click to jump.
REV / FWDThe scratch buttons: FWD moves the record forward like a person scratching it (a sharp attack, a hold, a halt); REV does the same backwards.
Gear buttonThe scratch tool (below).

EQ and levels (under each deck). HI / MID / LOW knobs with a KILL button each (a true cut), a level fader and a level meter. The crossfader blends the decks; the CURVE in the top bar chooses full (both open in the middle), constant power or hard cut. The EQ and crossfader also shape the loops the sequencer triggers on rows 17 and 18.

Scratch tool. The gear button opens a pop-up with ATTACK, SUSTAIN (the length of the hold), DECAY, RELEASE and DISTANCE, with a drawing of the stroke. The setting stays until you change it. Three preset buttons hold settings: a click recalls one, holding it about a second saves the current setting into it (both scratch buttons use it). A SLIP option keeps the groove in time under the scratch. To scratch with a controller, map a knob or wheel to the platter (JOG: absolute or relative encoder) or map the REV / FWD buttons.

MIDI. Every control of the rig (play, cue, sync, loop pads, EQ, kill, level, crossfader, pitch, scratch buttons, jog) can be learned with MIDI LEARN like any other control; the mappings are kept with the others.

Keyboard (DJ / LOOP only): Q A Z W S control deck A (play, cue, sync, scratch forward, scratch reverse), P L M O K deck B; digits 1-9 and 0 load loops 1-10 into the selected deck; Tab switches the selected deck; [ and ] move the crossfader.

Decks in PERFORM. In pad mode a small DECK A / DECK B button sits next to each looper's switch. It opens a small window with play / stop, the loop list, the three EQ sliders with kill buttons, the level and the crossfader, so the loops can be mixed while you play and sequence.

Limits: the EQ crossovers are steep (24 dB/octave), so a kill leaves about -32 dB right next to a crossover frequency; the tempo of a song is detected roughly (use TAP); the loop length buttons assume 4/4; big songs are not kept in the loop set after a restart.

DJ rig: small controls

ControlWhat it does
Master BPM (top of the rig)The project tempo (the master clock). Type a value or use TAP. Synced decks follow it.
CURVECrossfader curve: FULL keeps both decks open in the middle, CONSTANT POWER keeps the loudness even, HARD CUT closes a deck at once.
STORE FILES IN A PADWhen ticked, a file loaded into a deck is also kept in a free loop pad of the loop set.
BPM field of a deckThe BPM of the item in deck A or B (type to correct it). SYNC uses it.
SLIP (scratch tool)Slip: the record keeps its place in time under the scratch, so the groove is not lost.
Move the existing files (storage dialog)Copies the files saved now into the new place. Off: the new place starts empty and the kits are rebuilt there when used.

| BPM field of deck A | The BPM of the item in deck A (type to correct it). SYNC uses it. |

| BPM field of deck B | The BPM of the item in deck B (type to correct it). SYNC uses it. |

10. EXPORT PACK (the final window)

EXPORT PACK... (top bar of the DJ / LOOP rig, also FILE > EXPORT SAMPLE PACK) makes sample packs from what you built: the 16 loops (one WAV each, with the BPM in the name), the 16 sounds of the kit in the pads (one-shot WAV files and a kit.json with names, levels and pan) and every kit built so far (each factory kit you have opened once). Choose WAV 16 or 24 bit and a ZIP file (download, also kept in AXIOM Data / renders / packs), files in AXIOM Data / renders / packs, or files in a folder you pick.

11. Stereo

Factory kits get a natural stereo image: toms, hats, cymbals, rim and percussion are panned across the field as on a drum kit (kick, snare and bass stay in the middle) and the noisy or metallic sounds (hats, cymbals, claps, rims, effects) are widened with a short, high-passed side signal (the low end stays mono). Loops rendered from a sequence therefore have a real stereo picture. The pad STEREO PAN and the looper PAN work as before.

12. The PERFORM layout

The pads stay big: the sequencer shows the pattern buttons, the bar buttons, STYLE and RANDOM PATTERN, and the 16 steps. The TOOLS button opens the rest (pattern copy / paste / dupe / clear, the track tools, the value lane and EXPAND 18 ROWS). The two looper pads with their on / off switches and DECK buttons are a slim row under the pads.

ControlWhat it does
TOOLS (sequencer)Shows or hides the track tools (random, velocity ramp, shift, reverse ... ), the value lane, pattern copy / paste / dupe / clear and the full 18-row grid. Closed, the pads stay big.
EXPORT PACK...Makes sample packs from the loops and kit sounds: a ZIP file, files in the AXIOM Data folder, or files in a folder you pick.

13. Decks, the transport and CUE

PLAY on a deck starts the main transport when everything has stopped, so one press starts the loops and the clock together. The switch STOP CLOCK WHEN DECKS STOP (top bar of the DJ rig, on by default) makes the transport stop again when the last deck stops and nothing else is playing; switched off, the transport keeps running. A transport you started yourself in PERFORM is never stopped by a deck.

CUE: while a deck plays, CUE stops it and returns to the cue point. Stopped away from the cue point, CUE sets the cue point here. Stopped on the cue point, CUE plays a preview for as long as you hold it (the deck goes back on release); press PLAY while holding CUE to keep playing.

ControlWhat it does
STOP CLOCK WHEN DECKS STOPOn: the main transport stops when the last deck stops and nothing else plays (and PLAY on a deck starts it). Off: the transport keeps running.

14. Compatibility: Mac, Windows, phone

ControlWhat it does
SAMPLE RATE (settings)The sample rate of the audio engine. AUTO follows the sound card; a fixed rate is used after a reload.
UI SIZE (settings)How big the whole unit is drawn. AUTO grows with the window on large monitors; or fix it at 100 - 250 %.

15. COMPACT (phone) layout

On a phone, or a small or touch window, the app opens in the COMPACT layout; the COMPACT button next to the mode buttons (and FULL in the compact top bar, and Alt+4) switches on any device. Top: the menu, EDIT | PERFORM | DJ. Below: the page tabs, and 16 big pads that become what the tab says:

Under the pads: PLAY, STOP, REC, TAP, BPM - / +, the two loopers (PERFORM) or the deck buttons (DJ), and the sheet button (EDIT / MORE / MIXER) that opens the bottom sheet: SYNTH, LFO, FINAL, FX, LOOPERS, LOOP SET, TOOLS, 18 ROWS (DJ: MIXER with scratch, EQ, kill, level, pitch and crossfader, FX, LOOP SET, EXPORT). The menu holds the kit, set and style lists, project save / load, render sequence, export pack, record mix, MIDI and storage.

On a phone: serve the folder over https (or localhost) and open it in Chrome; with "Add to Home screen" / "Install app" it runs full screen and keeps working offline after the first visit.

ControlWhat it does
COMPACT / FULL (mode bar)Switches between the compact phone layout and the full desktop layout.

16. The song layout of the 16 patterns (build 11.6)

Every sequence style is now one song of 16 parts, in this order, colour coded on the pattern buttons:

ButtonsPartColour
1-4Verse 1 - 4 (layered: each verse adds to the one before)red
5-7Chorus 1 - 3 (layered, Chorus 3 is the peak)orange
8Bridge (contrast: space, or a build-up)orange-yellow
9-10Long Intro (4 bars, fill based) and Short Intro (2 bars)bright yellow
11-12Fill 1 and Fill 2bright yellow
13-16Percussion loops 1 - 4 (no kick)white

The percussion loops are made to be layered by the two DJ decks over the verse and chorus patterns: in DJ / LOOP mode render them (RENDER SEQUENCE > RENDER ALL) and load them onto a deck while the other deck plays a verse or chorus loop.

FOLLOW. After an intro, fill or the bridge has played through once, the sequencer goes on to the part set for it: by default Long Intro and Short Intro go to Verse 1, Fill 1 to Verse 2, Fill 2 to Verse 3 and the Bridge to Verse 4. The FOLLOW button next to the pattern buttons switches this on or off (off: the part loops until you choose another). GOES TO... opens a small panel where each of the five parts gets its own target (any verse, chorus, bridge, intro or fill). CHAIN plays the song order Long Intro, V1, V2, C1, V3, V4, C2, Bridge, C3 and starts again at Verse 1.

17. Velocity and the pads

The sequencer steps carry a velocity (1-127) and the patterns use it: accents, soft off-beat hats, ghost notes, rising rolls. Each pad can compensate: VELOCITY RESPONSE (PAD CONTROLS) sets how much the velocity matters (100% = full, 0% = every hit equally loud) and VELOCITY CURVE lifts the soft hits (positive) or makes the pad more dynamic (negative). Factory kits give hats, rim and small percussion a slight lift so soft 8th / 16th notes stay audible.

18. Main transport and the decks

Stopping the main transport (STOP or PAUSE) now stops everything: the loopers, the loop set and both DJ decks. The first time you enter DJ / LOOP mode with empty decks, the app renders the Long Intro and Percussion Loop 1 of the current kit and style and loads them on deck A (intro) and deck B (percussion loop), so there is something to play at once.

ControlWhat it does
FOLLOWAfter an intro, fill or the bridge has played through once, go on to the part set for it (a verse by default). Click to switch on or off.
GOES TO...Opens the panel where you choose where each intro, fill and the bridge goes after it has played through once.
VELOCITY RESPONSEHow much the played velocity changes this pad. 100% = full dynamics, 0% = every hit the same level.
VELOCITY CURVEShapes how velocity maps to loudness for this pad: positive lifts soft hits, negative is more dynamic.

19. The kits and the pad order (build 11.10)

Every kit lists its 16 pads in the role order below (the same order as the pattern data, so every pattern row plays the right sound in every kit). A pad controller or keyboard plays pad 1 on C1 (note 36), pad 2 on C#1 ... pad 16 on D#2 (note 51); that is the order of the pads, not a General MIDI drum map (section 21 explains how GM notes reach the right pads).

PadNoteSoundPadNoteSound
1C1 (36)kick9G#1 (44)low tom
2C#1 (37)sub kick10A1 (45)mid tom
3D1 (38)snare11A#1 (46)high tom
4D#1 (39)snare 212B1 (47)crash
5E1 (40)clap13C2 (48)ride
6F1 (41)rim14C#2 (49)percussion 1
7F#1 (42)closed hat15D2 (50)percussion 2
8G1 (43)open hat16D#2 (51)one effect hit

The genre kits were redesigned with the physical-model, waveshaper, wavetable and vocoder engines, and all sounds that are played as 8th or 16th notes (closed and open hat, rim, percussion, ride, crash, sub kick, effect hits) are short and light: closed hats about 50-80 ms, open hats under 300 ms, crashes under 800 ms. Projects saved by builds 11.8 - 11.10 in the short-lived General MIDI pad order are converted back to this order when they are opened.

20. The sample strip and tempo drag (build 11.6)

In PERFORM the pad window shows the sample strip of the selected pad: the waveform of its sample with one rubber-band tool. The two vertical handles set where the sample starts and stops; the two round points on the band set the fade in and the fade out (the band rises from the start to the left point, runs flat, and falls from the right point to the stop). The read-out under the band shows the start and stop in seconds and the fades in milliseconds. The settings are saved with the pad and used at every hit. The strip only repaints while you move a handle, and the waveform is calculated once per sample, so it costs almost no CPU.

The tempo can be dragged: press the big BPM number and move up or down (one BPM per 4 pixels, hold Shift for steps of 0.1). The number box and its arrows stay.

ControlWhat it does
Sample strip (PERFORM)The sample of the selected pad. Drag the two vertical handles for where it starts and stops; drag the two round points for the fade in and the fade out.
BPM number (drag)Drag the big tempo number up or down to change the tempo; Shift = fine steps.

21. MIDI note layout and General MIDI drums (build 11.7)

The 16 pads start on a C: the pad controller profile "General MIDI drum layout" is the default, pad 1 = C1 = note 36, pad 2 = C#1, pad 3 = D1 ... pad 16 = D#2 (note 51), exactly the notes of a General MIDI drum kit. (The note numbers use C3 = 60; Ableton shows them one octave lower.) The ROOT MIDI NOTE of the playable pads and the sequencer steps (steps 1-16 start on E2 = 52, above the pads) can be shifted by octaves in MIDI SETUP; -OCT / +OCT moves the pads up to C2 = 48, etc.

General MIDI drum map (channel 10) as AXIOM reads and writes it. The pad number is the pad that carries that drum role (section 19):

GM noteNameAXIOM pad
36 (C1)Bass drum 11 kick
35 (B0)Acoustic bass drum (the B right below the C kick: many kits put the sub kick here)2 sub kick
37 (C#1)Side stick6 rim
38 (D1)Acoustic snare3 snare
39 (D#1)Hand clap5 clap
40 (E1)Electric snare4 snare 2
41, 43 (F1, G1)Floor toms9 low tom
42, 44 (F#1, G#1)Closed / pedal hi-hat7 closed hat
45, 47 (A1, B1)Low, low-mid tom10 mid tom
46 (A#1)Open hi-hat8 open hat
48, 50 (C2, D2)Hi-mid, high tom11 high tom
49, 57 (C#2, A2)Crash cymbals12 crash
51, 53, 59 (D#2, F2, B2)Ride, ride bell13 ride
54, 69, 70, 73, 74, 80-83Tambourine, cabasa, maracas, guiro, triangle, shaker, jingle bell15 percussion 2
56, 60-68, 75-77Cowbell, bongos, congas, timbales, agogo, claves, wood blocks14 percussion 1
52, 55, 58, 71, 72, 78, 79China, splash, vibraslap, whistles, cuica16 effect

Playing the pad grid from a controller (NOTE MAP "pads in order") puts pad n on note 35 + n, and note 35 (B0) plays the sub kick pad as well; the table above is used by import, export, audition, network notes and the NOTE MAP "General MIDI drums". On export every pad writes the note that means what the pad is (kick 36, sub kick 35, snare 38, snare 2 40, clap 39, rim 37, closed hat 42, open hat 46, low tom 41, mid tom 45, high tom 48, crash 49, ride 51, percussion 1 cowbell 56, percussion 2 tambourine 54, effect splash 55), so a General MIDI module plays the right instrument.

MIDI import (FILE > MIDI IMPORT) uses this table to route a drum part onto the pad roles (you can still change every note in the routing matrix; AUTO-DETECT GM resets it). MIDI export writes each pad as its GM note (the sub kick as 35); the two loopers are written as notes 84 and 85. The same table is used for audition and for notes received over the network sync.

NOTE MAP (MIDI SETUP): "Pads in order from C" (default) plays pad 1, 2, 3 ... from note 36 upwards; "General MIDI drums" plays the pad with the same drum ROLE as the GM note, so a GM drum keyboard or a GM drum track plays kick, snare, toms and hats on the right pads whatever the layout of your controller.

ControlWhat it does
NOTE MAP (MIDI setup)PADS IN ORDER: notes 36, 37, 38 ... play pads 1, 2, 3 ... (pad 1 = C). GENERAL MIDI: a drum note plays the pad with that drum role.

22. NETWORK SYNC (build 11.7)

The SYNC button in the top bar opens the sync window. It connects AXIOM with other AXIOM windows and with any other synth, sampler or sequencer that uses the sync library (docs/SYNC_PROTOCOL.md), so that they play together.

ControlWhat it does
SYNC (top bar)Opens the network sync window: roles, room, devices, what a slave follows, notes, key / scale / chord and the peer list.
SYNC: ON / OFF (window)Switches the sync on or off.
RESET SYNCForgets the others, measures the clock again and lets a slave lock onto the master's next bar line.

The pad notes always win: a MIDI-learned control that sits on one of the pad notes (36-51, and 35) no longer takes the pad over. The pad plays, the learned mapping is ignored, and the app says which mapping it was (a message when the app starts and in the MIDI monitor). Learn that control again on another note, or use RESET DEFAULT MIDI in MIDI SETUP to clear all learned mappings.

23. Reverb and delay (build 11.9)

FX 1 is the reverb and FX 2 the delay, on both the EDIT and the PERFORM side. They were rebuilt as real studio effects in one light audio-worklet node each (a few percent of one processor core: the old low-load reverb is still in the list as "Light Room"). Moving a knob changes the sound at once and never cuts the tail. They are wet-only returns: the pad SEND (SEND 1 REV / SEND 2 DLY in PAD CONTROLS) sets how much of the pad goes in, the bay's RETURN LEVEL how much comes back.

Reverbs: Plate (default), Studio Hall, Chamber, Cathedral (each is a starting character; every control stays yours): PRE-DELAY, SIZE, DECAY (0.2 - 15 s), DAMPING / HIGH CUT, LOW CUT, DIFFUSION, MODULATION, STEREO WIDTH, EARLY REFLECTIONS. Delays: Stereo Delay (default), Ping-Pong+, Tape Echo: TIME (or TEMPO SYNC), RIGHT TIME (ratio to the left), FEEDBACK, PING-PONG, LOW CUT and HIGH CUT inside the repeats, WOBBLE and WOBBLE RATE, DRIVE (saturation) and STEREO WIDTH; changing the time glides like tape. Where the browser has no AudioWorklet (a page opened over plain http from another device) the older node-based reverb and delay play instead.

Effects that seemed to stick. Two things could silence an effect by themselves and are fixed: (1) the FX trigger gate (TRIGGER MODE on the EDIT side's aux tab) stays closed until a trigger pad / key 5-8 is held, and it was saved with the project and kept in PERFORM, where it cannot be seen: in PERFORM and DJ / LOOP the effects now always pass and the trigger mode only exists on the EDIT side (it is switched back on when you return to EDIT); keys 5-8 no longer fire the FX triggers in PERFORM. (2) The CPU auto-mute switched the reverb out for 8 seconds when the computer stalled: it is now off unless you tick SETTINGS > CPU > FX AUTO-MUTE ON OVERLOAD. A send that is turned up now always connects its effect at once.

ControlWhat it does
FX AUTO-MUTE ON OVERLOAD (settings)Off by default. On: when the computer keeps falling behind, the reverb is switched out for 8 seconds. Only for slow computers.

24. DJ pads (build 11.9)

In DJ / LOOP mode there are 16 DJ pads: two rows of four under each deck (deck A = pads 1-8, deck B = pads 9-16), looking like the regular pads, with their pad key in the corner. They are a separate set of sample pads for effects and shouts: air horn, siren, laser, rewind, scratch, spin down, "hey!", "yeah!", bass drop, riser, boom, radio tuning, news sting, brass hit, crowd, boing (synthesised by the app: no sound file is shipped or downloaded). They answer to the normal pad keys (1 2 3 4 / Q W E R and A S D F / Z X C V), to MIDI notes 36-51 (pad 1 = C1), to a click or touch and to the compact layout. Your kit is not touched: its pads keep their sounds and play again as soon as you leave DJ / LOOP (the pads only play these samples while DJ / LOOP is active). A new hit of a pad cuts its previous hit; very light on the processor.

Your own sounds: right-click (or hold) a DJ pad, or open DJ PADS... in the DJ top bar: LOAD puts a sound file (wav, mp3, aiff ... up to 12 seconds) into a pad, RESET brings the built-in sound back, LOAD 16 FILES... fills pads 1-16 in file-name order. Your sounds are kept in the AXIOM Data folder (djpads/) and loaded every time.

Keys in DJ / LOOP: because the plain letter keys now play the DJ pads, the deck commands are Shift + letter: Shift+Q / A / Z / W / S = deck A play, cue, sync, scratch forward, reverse; Shift+P / L / M / O / K = deck B; Shift+1 ... 0 load loops 1-10 into the selected deck. Tab and [ ] are unchanged.

ControlWhat it does
DJ PADS... (DJ top bar)Opens the list of the 16 DJ pads: play, LOAD your own sound, RESET, LOAD 16 FILES, RESET ALL.
DJ pads (under each deck)Sample pads for DJ effects. Keys 1 2 3 4 Q W E R (deck A) and A S D F Z X C V (deck B), MIDI notes 36-51. Right-click or hold to load your own sound.

25. GRID CONTROLLER: Akai APC Key 25 and Launchpad (build 11.10)

MIDI SETUP > GRID CONTROLLER (AKAI APC / LAUNCHPAD) lights the pad grid of a controller with this app's pads, in the app's colours, and lets you play them: the idea is "hit a grid pad = activate a pattern". Supported: Akai APC Key 25 mk2 (40 RGB pads: the exact colours of the app), APC Key 25 first generation (3 colours: green / red / yellow, blinking = playing or cued; the pad layout is not verified, use LEARN FIRST PAD), Novation Launchpad X (RGB) and, experimental, the 16 pads of a Launchkey MK2 49 (on / off only). I could not test with real hardware: press LIGHT TEST first.

What lights up (tick under THIS APP PUTS ON THE GRID): PATTERNS (the 16 pattern pads, 8 x 2, in the colours of the pattern buttons: verse red, chorus orange, bridge amber, intro and fill yellow, percussion white). A pattern with notes is lit at normal level, an empty one is dim, the playing one is bright, and a pattern you just selected flashes for a moment and then stays bright; a pattern that is cued (waiting for the next bar) keeps blinking until it starts. A tap on a pad cues that pattern, a quick second tap = at the next measure. In DJ / LOOP the 16 pads are the 16 loops and a tap loads the selected deck. STEPS (optional, off by default) shows the 16 steps of the selected track and bar: lit = on, white = the playhead; a tap switches the step.

Placing the blocks. The table WHERE EACH BLOCK STARTS ON THE GRID lists every block (also those of other apps): give each its ROW (1 = top) and COL (1 = left), or order them with the arrows and press PACK IN THIS ORDER (top first), for example the drum patterns on the top two rows, the bass patterns under them, the steps below. RESET PLACES starts again. The PREVIEW shows the grid as the controller shows it (click a cell to press it, handy without a controller).

Connecting. Press CONNECT (the browser asks once for MIDI access with SysEx). The app finds the controller's grid port by name (the second USB MIDI port: Control, MIDIIN2 or MIDI 2); the controller's keyboard keeps going through the normal MIDI input, only the grid port is used here and its pads never play drum notes. DISCONNECT switches the lights off. On an Android phone (Chrome, USB OTG) Web MIDI works the same, but needs a secure page: use adb reverse tcp:8765 tcp:8765 and open http://localhost:8765, or the Chrome flag "Insecure origins treated as secure".

Several apps on one controller. The controller belongs to the one app that connected it; every other app (a bass synth, a second AXIOM) only shares its blocks and receives the pad presses. Apps with the same ROOM share, in windows of the same browser at once, between devices through OTHER DEVICES (the AXIOM server relay). If two apps both connect, the lower session id keeps the controller. Developers: docs/GRID_HANDOFF_BASS_SYNTH.md describes the protocol and the two small files to copy.

ControlWhat it does
GRID ONSwitches the grid on: this app shares its blocks with the controller and with other apps in the room.
PATTERNS / STEPS (grid tab)The blocks of this app that are drawn on the grid: the 16 pattern pads (default) and, optionally, the 16 steps.
CONNECT / DISCONNECT / LIGHT TEST / LEARN FIRST PADConnect the controller, release it, light every pad in turn, teach the app the bottom-left pad (first generation APC Key 25).
DEVICE / IN / OUT (grid tab)Which controller and which MIDI ports; AUTO finds them.
ROOM / OTHER DEVICES (grid tab)Apps with the same room share the controller; OTHER DEVICES reaches apps on other computers through the relay.
ROW / COL / arrows / PACK IN THIS ORDERWhere each block starts on the grid and in what order they are stacked.

The APC Key 25 mk2 also wants its start-up message (a short introduction message the Akai protocol asks for before other messages): it is sent when you connect and can be switched off with the start-up message box.

Control index

Every operable control in the app, generated from the running app by tools/docs/gen_control_index.py (1219 controls). The same text appears as the tooltip when you hover over the control. Regenerate after changing controls.

Top bar

ControlTypeIdWhat it does
input-bpmnumber boxinput-bpmProject tempo, 40 to 300 BPM (decimals allowed). Presets never change it; TAP, MATCH BPM TO LOOP and incoming MIDI clock can.
↺ PRESET 128buttonbtn-original-tempoPresets never change your tempo. Press to play at the tempo and swing "Chorus 2" was saved with: 128 BPM, swing 50%.
▶ PLAYbuttonbtn-transport-playStarts the sequencer, or pauses it while it plays (the space bar does the same). STOP rewinds, pause keeps the position.
⏹ STOPbuttonbtn-transport-stopStops the sequencer and rewinds to bar 1, step 1.
⏺ RECbuttonbtn-transport-recordArms live recording: pads you hit (mouse, keys or MIDI) while the sequencer plays are written into the current pattern. Starts playback if stopped; refused while the pattern is locked.
⚙buttonbtn-record-setupOpens the recording setup: target pattern slot, length, overdub or overwrite, quantize strength and metronome.
🔔 OFFbuttonbtn-transport-clickTurns the audible metronome click on or off while the sequencer plays. The first beat of each bar is higher pitched.
TAPbuttonbtn-transport-tapTap at least twice to set the tempo from the average gap of your last 5 taps. A pause longer than 2 seconds starts the count again.
MASTER VOLsliderslider-master-volOverall output level, 0 to 1.5. Values above 1 boost the whole mix and can clip.
FILE ▾menumenu-file-2FILE menu: save and load projects, patches and songs, import MIDI files, undo or redo, and render WAV files.
💾 SAVE PROJECTbuttonbtn-project-saveSave full project state (.axiomproject file)
📂 LOAD PROJECTbuttonbtn-project-loadLoad full project (.axiomproject file)
↶ UNDObuttonbtn-undoUndo last change (Ctrl+Z / Cmd+Z)
↷ REDObuttonbtn-redoRedo change (Ctrl+Shift+Z / Cmd+Shift+Z)
💾 SAVE PATCHbuttonbtn-save-patchExport current 16 pads and FX bays as JSON
📁 SAVE SONGbuttonbtn-save-songExport complete 16-sequence bank and song layout as JSON
📂 LOADbuttonbtn-load-stateImport patch or song JSON file
🎹 MIDI IMPORTbuttonbtn-open-midi-importImport General MIDI (.mid) files directly into the 16 tracks
⏺ BAKE LOOP WAVbuttonbtn-render-loopRender active sequencer loop to high-fidelity 16-bit PCM WAV
⏺ BAKE PAD WAVbuttonbtn-render-pad-wavRender selected pad voice one-shot to isolated 16-bit PCM WAV
⏺ BAKE 16-PAD STRIP WAVbuttonbtn-render-16-stripRender full 16-pad drum kit sequential strip (50ms gap) to WAV
∿ FFT BENCHMARKbuttonbtn-fft-benchmarkRun Automated FFT Acoustic Comparator and Export Benchmark Report
⏺ RECORD MIXbuttonbtn-mix-recRecords everything you hear (pads, loopers, DJ decks, effects) as a WAV file until you click again. Saved to AXIOM Data / renders.
📦 EXPORT SAMPLE PACK...buttonbtn-export-packMakes a sample pack from your loops and kit sounds (a ZIP file or files in a folder).
MIDI ▾menumenu-midi-2MIDI menu: MIDI Learn, the MIDI setup window and the MIDI input, channel and output devices.
🎹 MIDI LEARNbuttonbtn-midi-learnToggle MIDI Learn Mode: Click any screen control and move hardware knob/key to bind!
⚙ MIDI SETUPbuttonbtn-open-midi-configOpen MIDI Device Manager & MIDI Mapping Matrix
↻ RESCANbuttonbtn-midi-rescanLooks for MIDI devices again. Use it after plugging in a controller.
MIDI IN (USB)dropdownselect-midi-inHardware MIDI input whose notes and knobs play the pads and move mapped controls.
IN CHdropdownselect-midi-in-channelMIDI channel to listen on; Omni accepts every channel. Channel 10 is the General MIDI drum channel.
MIDI OUTdropdownselect-midi-outDevice that receives a MIDI note for every sequencer hit, to drive external gear. Internal sends nothing out.
⇄ SYNCbuttonbtn-syncNetwork sync: tempo, start / stop, swing, key and scale shared with other windows or devices (other AXIOM windows, or any synth that uses the sync library).
⚙ SETTINGS ▾menumenu-settings-2SETTINGS menu: audio output device, CPU saving switches, voice limit, audio buffer and MIDI clock sync.
select-audio-outputdropdownselect-audio-outputSelect Audio Output Device (Speakers, Headphones, Interface)
↻buttonbtn-refresh-audio-devicesRefresh connected sound output devices
🔊 TEST SOUNDbuttonbtn-test-soundPlay instant stereo test chime to verify sound output
⚡ UNMUTEbuttonbtn-force-audio-resumeForce un-mute or restart Web Audio engine
⚡ SLOW CPU: OFFbuttonbtn-toggle-low-cpuSaves CPU on slow computers: lighter graphics and engine work. While ON the full 17-track grid is hidden and its expander is locked.
💡 PAD LIGHTS: ONbuttonbtn-toggle-pad-lightsToggle Sequencer Pad Lighting & Active Step Flashes
OFF 9-12: ACTIVEbuttonbtn-toggle-off-9-12Disable Drum Cells 9-12 (Toms/Cymbals) to free CPU
OFF 13-16: ACTIVEbuttonbtn-toggle-off-13-16Disable Drum Cells 13-16 (Percussion/SFX) to free CPU
🥁 KITS LOAD AS: SAMPLESbuttonbtn-toggle-kit-samplesFactory kits ship with their sounds already rendered. SAMPLES: kits load those sounds instantly (light on the CPU; click the pad's UNBAKE / ↩ SYNTHS to edit the synth behind it). SYNTHS: kits load as live, editable synths.
✂ MONO PADS: ONbuttonbtn-toggle-mono-padsA pad cuts its own previous hit when it is struck again (like hardware drum machines). Far fewer overlapping voices = much lighter on the CPU.
VOICE LIMITnumber boxinput-max-voicesMost voices allowed to sound at once, 8 to 96. When the limit is hit the engine drops quiet hats and percussion first.
AUDIO BUFFERdropdownselect-latencyAudio output buffer: LOW LATENCY, BALANCED or SAFE (slow PC). The choice is saved and takes effect after you reload the page.
⏱ FOLLOW CLOCK: OFFbuttonbtn-toggle-follow-clockSlave workstation tempo to incoming MIDI Clock (24 PPQN)
CLOCK OFFSET (ms)number boxinput-clock-offsetTiming trim in ms, -80 to +80, used when following an external MIDI clock. Positive values make our beats land later.
UI SIZEdropdownsel-ui-sizeHow big the whole unit is drawn. AUTO makes it grow with the window on large monitors; or fix it.
📁 STORAGE FOLDER...buttonbtn-storage-folder-menuWhere AXIOM keeps its rendered kits, loops, loop sets, sequences, MIDI imports and renders: a folder you choose, or this browser. You can move the files.
SAMPLE RATEdropdownsel-sample-rateThe sample rate of the audio engine. AUTO follows the sound card (the usual choice). Change it only if your interface works best at a fixed rate; takes effect after a reload.
EDITbuttonbtn-mode-fullEDIT side: the sampler and every synth engine, LFOs, final filters, send FX 1-4, loop slicer. Nothing of the sequencer. Render what you like to the sampler (F9)
PERFORMbuttonbtn-mode-perfPERFORM side: every pad plays its rendered sample (no synth engines), basic level / pan / FX 1-2 sends, the sequencer and the looper with its loop buttons. Much lighter on the CPU (F9)
DJ / LOOPbuttonbtn-mode-djDJ / LOOP mode (F10): the pads and the sequencer give way to a DJ rig: two decks that play your loops (or whole songs), 16 loop pads, a 3-band EQ per deck and a crossfader.
COMPACTbuttonbtn-compact-toggleSwitches to the compact layout made for phones and small / touch screens: one set of 16 pads for the kit, the steps, the patterns / loops and your own USER pads (Alt+4).
PADSbuttonbtn-view-padsPADS view: big drum pads with the sound editor beside them (F1)
SEQbuttonbtn-view-seqSEQ view (PERFORM): the sequencer gets the whole screen: 16 steps, 16 pattern presets, all edit tools and the 17 rows (F3)
SOUNDbuttonbtn-view-soundSOUND view: pads shrink to a strip, synth / sampler editor gets the whole screen (F2)
PADS ▾buttonbtn-view-toggle-padsHide / show the pad strip in SOUND view (F8)
SWINGsliderslider-swingSwing amount, 50% (straight) to 75% (strongly shuffled). It delays the off-beat notes of the groove type chosen next to it.
SWINGdropdownselect-grooveWhich notes the swing delays: 16th notes, 8th notes, or a quintuplet feel.
★ MASTER FULL SETdropdownselect-master-setTier 1: Complete song arrangement, 16 pattern slots, 16-pad drum kit, FX bays, tempo & swing
🥁 KIT ONLY (40+)dropdownselect-kit-onlyTier 2: Swap drum sounds across all 16 pads without altering current sequencer pattern
🥁 KIT ONLY (40+)dropdownselect-kit-presetOlder duplicate of KIT ONLY: loads a drum kit onto the 16 pads without changing the sequencer patterns.
🎼 SEQUENCE STYLE (30+)dropdownselect-sequence-styleTier 3: Load 16 musically linked genre patterns without overwriting active drum sound patches
UNIQsliderslider-global-uniquenessChaos for every random button (kit, pad, pattern, FX), 0 to 100%. 0 keeps strict genre conventions, 100 is wild; linked with the CHAOS slider of the sound editor.
🎲 RANDOM KITbuttonbtn-master-random-kitProcedurally generate a completely new kit across all 16 pads simultaneously using style guardrails

Pads

ControlTypeIdWhat it does
LOOP A: ONbuttonbtn-looper-pad-powerSwitches the loop player on or off. Off frees its CPU and silences the LP track.
DECK A ▾buttondj-min-0Opens a small window for deck A: play, loop, EQ with kill, level and the crossfader.
LOOP B: ONbuttonbtn-looper-pad-power-bSwitches looper B on or off. Off frees its CPU and silences sequencer row 18.
DECK B ▾buttondj-min-1Opens a small window for deck B: play, loop, EQ with kill, level and the crossfader.
🎲 RANDOM KITbuttonbtn-pads-random-kitRandomize the whole kit (same as RANDOM KIT in the top bar)
🎲 RANDOM PADbuttonbtn-pads-random-padRandomize the selected pad's sound
🎛 EDIT SOUNDbuttonbtn-pads-edit-soundOpen the full-size sound editor (SOUND view)
⚡ RENDER KITbuttonbtn-pads-bake-allRender every pad (each on its own engine) into its sampler, so PERFORM plays the kit as samples

Pad editor: sample engine

ControlTypeIdWhat it does
SAMPLE PACK:dropdownselect-sample-presetLoads a built-in synthesized drum hit into the selected pad as its sample, replacing the current one.
📂 LOAD SAMPLE FILEbuttonbtn-upload-sampleLoad custom audio sample (.wav, .mp3, .ogg, .flac)
input-sample-filefile pickerinput-sample-fileFile chooser used by LOAD SAMPLE FILE (wav, mp3, ogg or flac).
▶ AUDITIONbuttonbtn-audition-samplePlays the selected pad once so you can hear the current settings.
⚡ AUTO-TRIMbuttonbtn-sample-autotrimAutomatically analyze audio transient threshold and snap crop boundaries to hit
🔮 CONVERT SAMPLE TO ADDITIVE SYNTHbuttonbtn-sample-to-additiveSend currently cropped/isolated sound to Additive Synth FFT resynthesizer
🎯 CONVERT SAMPLE TO SUBTRACTIVE SYNTHbuttonbtn-convert-sample-to-subAcoustic FFT Comparative Re-Synthesis: Convert active sample into calibrated Subtractive Synth parameters
🎯 MATCH SUBTRACTIVE SYNTH TO SAMPLEbuttonbtn-match-sample-to-synthAcoustic FFT Comparative Re-Synthesis: Analyze current sample buffer and optimize Subtractive Synth parameters to match
⚡ NORMbuttonbtn-sample-normalizeNormalize sample peak to 0 dB
◀ REVERSEbuttonbtn-sample-reverseReverse sample audio buffer
🎲 RANDOMbuttonbtn-random-sampleRandomize sample pitch, envelope, and filter
ATTACKslidersample-attackFade-in time of the sample, 1 ms to 0.2 s.
DECAYslidersample-decayTime for the level to fall from the peak to the SUSTAIN level, 0.02 to 2 s.
SUSTAINslidersample-sustainLevel held after the decay, 0 to 1. At 1 the sample plays out fully.
RELEASEslidersample-releaseHow long the sound takes to fade to silence after the decay, when SUSTAIN is below full. At full SUSTAIN the sample plays to its end.
CUTOFFslidersample-filter-cutoffSample filter cutoff, 200 Hz to 20 kHz. At 20 kHz the filter is wide open.
RESONANCEslidersample-filter-resSample filter resonance (Q), 0.1 to 18. High values ring around the cutoff.
FILTER TYPEdropdownsample-filter-typeLowpass removes highs above the cutoff; Highpass removes lows below it.

Pad editor: subtractive synth

ControlTypeIdWhat it does
⚡ RENDER TO SAMPLERbutton(no id)Renders this pad's sound from this page into the SAMPLER (with the LFOs, final filter and drive; add the send FX with the + SEND FX box at the top). PERFORM plays that sample.
⚡ RENDER KITbutton(no id)Renders every pad of the kit (each on its own engine) into its sampler.
RECIPE CATEGORY:dropdownselect-pad-categoryInstrument recipe of the selected pad. Choosing one loads that category's default synth patch into the pad, replacing its current settings, and steers RANDOMIZE.
slider-sub-uniquenesssliderslider-sub-uniquenessChaos for RANDOMIZE, 0 to 100%: 0 stays close to the genre rules, 100 is experimental. Same value as the UNIQ slider in the top bar.
🎲 RANDOMIZE SUB SYNTHbuttonbtn-pad-diceGenerate procedural variation for this pad adhering to category guardrails
sub-mix-osc1-gainslidersub-mix-osc1-gainLevel of OSC 1 (hidden mixer copy, same value as the OSC 1 LEVEL control), 0 to 1.
sub-mix-osc1-panslidersub-mix-osc1-panStereo position of OSC 1 (hidden mixer copy, same value as the OSC 1 PAN control).
sub-mix-osc2-gainslidersub-mix-osc2-gainLevel of OSC 2 (hidden mixer copy, same value as the OSC 2 LEVEL control), 0 to 1.
sub-mix-osc2-panslidersub-mix-osc2-panStereo position of OSC 2 (hidden mixer copy, same value as the OSC 2 PAN control).
sub-mix-osc3-gainslidersub-mix-osc3-gainLevel of OSC 3 (hidden mixer copy, same value as the OSC 3 LEVEL control), 0 to 1.
sub-mix-osc3-panslidersub-mix-osc3-panStereo position of OSC 3 (hidden mixer copy, same value as the OSC 3 PAN control).
sub-mix-noise1-gainslidersub-mix-noise1-gainLevel of NOISE 1 (hidden mixer copy, same value as the NOISE 1 LEVEL control), 0 to 1.
sub-mix-noise1-panslidersub-mix-noise1-panStereo position of NOISE 1 (hidden mixer copy, same value as the NOISE 1 PAN control).
sub-mix-noise2-gainslidersub-mix-noise2-gainLevel of NOISE 2 (hidden mixer copy, same value as the NOISE 2 LEVEL control), 0 to 1.
sub-mix-noise2-panslidersub-mix-noise2-panStereo position of NOISE 2 (hidden mixer copy, same value as the NOISE 2 PAN control).
OSC 1 (PRIMARY)buttonbtn-sub-tab-osc1Shows the controls of OSC 1 (primary sound source).
OSC 2 (LAYER)buttonbtn-sub-tab-osc2Shows the controls of OSC 2 (layer sound source).
OSC 3 (ACCENT)buttonbtn-sub-tab-osc3Shows the controls of OSC 3 (accent sound source).
NOISE 1 (BODY)buttonbtn-sub-tab-noise1Shows the controls of NOISE 1 (body sound source).
NOISE 2 (METALLIC)buttonbtn-sub-tab-noise2Shows the controls of NOISE 2 (metallic sound source).
FM SYNTHbuttonbtn-sub-tab-fmThe FM stage: an extra oscillator whose pitch is driven by the sources you send into it. Off until you switch it on.
SUM & SHAPINGbuttonbtn-sub-tab-shaperShows the master envelope, filters and drive that process the sum of all five sound sources.
OSC 1 LEVELslidersub-osc1-gainLevel of OSC 1 before the master envelope, 0 to 1. If all five levels add up to more than about 1.8 the engine scales them down.
OSC 1 PANslidersub-osc1-panStereo position of OSC 1, -1 full left to +1 full right.
MUTEbuttonbtn-sub-mix-osc1-muteSilences OSC 1 in this pad's sound. The button reads MUTED while it is silenced; click again to unmute.
OSC 1 WAVEFORMdropdownsub-osc1-typeWaveform of OSC 1: basic shapes, noise-like, bell, or 808/909 hardware models (bridged-T, hybrid, Schmitt cluster) for kicks, snares and metal.
START FREQ (HZ)slidersub-osc1-freqStart frequency of OSC 1, 30 to 600 Hz. The pitch glides from here down to PITCH DROP over PITCH DECAY.
PITCH END (HZ)slidersub-osc1-dropEnd frequency of the pitch glide of OSC 1, 0 to 400 Hz (not a drop amount). Set equal to START FREQ for a fixed pitch.
PITCH DECAYslidersub-osc1-decayHow fast the pitch of OSC 1 glides from start to end frequency, 5 ms to 0.5 s. Short = click and punch, long = laser sweep.
TONE DECAYslidersub-osc1-tone-decayHow long OSC 1 takes to die away, 0.01 to 2 s. The audible tail is about half of this and shortens further with the master decay.
FINE TUNE (CENTS)slidersub-osc1-fineFine tuning of OSC 1 in cents, -100 to +100 (100 cents = 1 semitone).
OSC 2 LEVELslidersub-osc2-gainLevel of OSC 2 before the master envelope, 0 to 1. If all five levels add up to more than about 1.8 the engine scales them down.
OSC 2 PANslidersub-osc2-panStereo position of OSC 2, -1 full left to +1 full right.
MUTEbuttonbtn-sub-mix-osc2-muteSilences OSC 2 in this pad's sound. The button reads MUTED while it is silenced; click again to unmute.
OSC 2 WAVEFORMdropdownsub-osc2-typeWaveform of OSC 2: basic shapes, noise-like, bell, or 808/909 hardware models (bridged-T, hybrid, Schmitt cluster) for kicks, snares and metal.
START FREQ (HZ)slidersub-osc2-freqStart frequency of OSC 2, 30 to 800 Hz. The pitch glides from here down to PITCH DROP over PITCH DECAY.
PITCH END (HZ)slidersub-osc2-dropEnd frequency of the pitch glide of OSC 2, 0 to 400 Hz (not a drop amount). Set equal to START FREQ for a fixed pitch.
PITCH DECAYslidersub-osc2-decayHow fast the pitch of OSC 2 glides from start to end frequency, 5 ms to 0.5 s. Short = click and punch, long = laser sweep.
TONE DECAYslidersub-osc2-tone-decayHow long OSC 2 takes to die away, 0.01 to 2 s. The audible tail is about half of this and shortens further with the master decay.
FINE TUNE (CENTS)slidersub-osc2-fineFine tuning of OSC 2 in cents, -100 to +100 (100 cents = 1 semitone).
OSC 3 LEVELslidersub-osc3-gainLevel of OSC 3 before the master envelope, 0 to 1. If all five levels add up to more than about 1.8 the engine scales them down.
OSC 3 PANslidersub-osc3-panStereo position of OSC 3, -1 full left to +1 full right.
MUTEbuttonbtn-sub-mix-osc3-muteSilences OSC 3 in this pad's sound. The button reads MUTED while it is silenced; click again to unmute.
OSC 3 WAVEFORMdropdownsub-osc3-typeWaveform of OSC 3: basic shapes, noise-like, bell, or 808/909 hardware models (bridged-T, hybrid, Schmitt cluster) for kicks, snares and metal.
START FREQ (HZ)slidersub-osc3-freqStart frequency of OSC 3, 30 to 1200 Hz. The pitch glides from here down to PITCH DROP over PITCH DECAY.
PITCH END (HZ)slidersub-osc3-dropEnd frequency of the pitch glide of OSC 3, 0 to 600 Hz (not a drop amount). Set equal to START FREQ for a fixed pitch.
PITCH DECAYslidersub-osc3-decayHow fast the pitch of OSC 3 glides from start to end frequency, 5 ms to 0.5 s. Short = click and punch, long = laser sweep.
TONE DECAYslidersub-osc3-tone-decayHow long OSC 3 takes to die away, 0.01 to 2 s. The audible tail is about half of this and shortens further with the master decay.
FINE TUNE (CENTS)slidersub-osc3-fineFine tuning of OSC 3 in cents, -100 to +100 (100 cents = 1 semitone).
NOISE 1 LEVELslidersub-noise1-gainLevel of NOISE 1 before the master envelope, 0 to 1. If all five levels add up to more than about 1.8 the engine scales them down.
NOISE 1 PANslidersub-noise1-panStereo position of NOISE 1, -1 full left to +1 full right.
MUTEbuttonbtn-sub-mix-noise1-muteSilences NOISE 1 in this pad's sound. The button reads MUTED while it is silenced; click again to unmute.
NOISE 1 TYPEdropdownsub-noise1-typeColour of NOISE 1: white (bright), pink, brown (dark), metallic cluster or velvet (sparse clicks).
HP CUTOFF (HZ)slidersub-noise1-hpHigh-pass cutoff of NOISE 1, 20 to 12000 Hz. Raise it to remove lows; keep it below LP CUTOFF for a band-pass.
LP CUTOFF (HZ)slidersub-noise1-lpLow-pass cutoff of NOISE 1, 100 to 20000 Hz. Lower it for a duller, darker noise.
PRE-ADSR ATTACKslidersub-noise1-attackFade-in time of NOISE 1 before the master envelope, up to 0.5 s. Larger values delay and soften the noise.
PRE-ADSR RELEASEslidersub-noise1-decayDecay time of the NOISE 1 burst, 5 ms to 2 s. Short for hats and snaps, long for tails and swooshes.
NOISE 2 LEVELslidersub-noise2-gainLevel of NOISE 2 before the master envelope, 0 to 1. If all five levels add up to more than about 1.8 the engine scales them down.
NOISE 2 PANslidersub-noise2-panStereo position of NOISE 2, -1 full left to +1 full right.
MUTEbuttonbtn-sub-mix-noise2-muteSilences NOISE 2 in this pad's sound. The button reads MUTED while it is silenced; click again to unmute.
NOISE 2 TYPEdropdownsub-noise2-typeColour of NOISE 2: white (bright), pink, brown (dark), metallic cluster or velvet (sparse clicks).
HP CUTOFF (HZ)slidersub-noise2-hpHigh-pass cutoff of NOISE 2, 50 to 15000 Hz. Raise it to remove lows; keep it below LP CUTOFF for a band-pass.
LP CUTOFF (HZ)slidersub-noise2-lpLow-pass cutoff of NOISE 2, 100 to 20000 Hz. Lower it for a duller, darker noise.
PRE-ADSR ATTACKslidersub-noise2-attackFade-in time of NOISE 2 before the master envelope, up to 0.5 s. Larger values delay and soften the noise.
PRE-ADSR RELEASEslidersub-noise2-decayDecay time of the NOISE 2 burst, 5 ms to 2 s. Short for hats and snaps, long for tails and swooshes.
sub-fm-enablecheckboxsub-fm-enableSwitches the FM stage on: one carrier oscillator whose pitch is bent by the sources ticked below. Off by default.
sub-fm-in-1checkboxsub-fm-in-1Sends OSC 1 into the FM stage as a modulator instead of playing it directly; its level sets how strongly it bends the carrier.
sub-fm-in-2checkboxsub-fm-in-2Sends OSC 2 into the FM stage as a modulator instead of playing it directly; its level sets how strongly it bends the carrier.
sub-fm-in-3checkboxsub-fm-in-3Sends OSC 3 into the FM stage as a modulator instead of playing it directly; its level sets how strongly it bends the carrier.
sub-fm-in-4checkboxsub-fm-in-4Sends NOISE 1 into the FM stage as a modulator instead of playing it directly; its level sets how strongly it bends the carrier.
sub-fm-in-5checkboxsub-fm-in-5Sends NOISE 2 into the FM stage as a modulator instead of playing it directly; its level sets how strongly it bends the carrier.
CARRIER WAVEdropdownsub-fm-waveWaveform of the carrier oscillator. Sine gives classic FM.
CARRIER RATIOslidersub-fm-ratioPitch of the carrier as a multiple of OSC 1's pitch (it follows OSC 1's pitch drop). 1 = the same note, 2 = an octave up.
FM INDEXslidersub-fm-indexHow far the sources bend the carrier's pitch (as a multiple of its own pitch). 0 = no FM, high values = harsh, bell-like or metallic.
INDEX DECAY (S)slidersub-fm-index-decayHow fast the FM depth dies away. Short = a bright click that turns into a clean tone.
CARRIER DECAY (S)slidersub-fm-decayHow long the carrier rings before the main ADSR.
CARRIER LEVELslidersub-fm-levelLoudness of the FM carrier in the sum.
ADSR ATTACK (S)slidersub-adsr-aAttack of the master envelope on the summed sound, 1 ms to 0.5 s.
ADSR DECAY (S)slidersub-adsr-dDecay of the master envelope, 0.01 to 2 s. It multiplies with each source's own decay, so keep it at least as long as the longest source.
ADSR SUSTAINslidersub-adsr-sSustain level of the master envelope, 0 to 1. Use 0 for drum hits so they die away by themselves.
ADSR RELEASE (S)slidersub-adsr-rRelease of the master envelope, 0.01 to 3 s.
SHAPING HP (HZ)slidersub-shape-hpHigh-pass filter on the summed sound, 20 Hz to 10 kHz. Raise it to thin out the low end.
SHAPING LP (HZ)slidersub-shape-lpLow-pass filter on the summed sound, 200 Hz to 20 kHz. Lower it for a darker sound.
RESONANT CUTOFFslidersub-res-cutoffCutoff of the resonant filter, 50 Hz to 20 kHz. This filter is always in the chain, so keep it at 20 kHz for bright sounds.
FILTER RESONANCE (Q)slidersub-res-qResonance (Q) of the resonant filter, 0.1 to 18. Higher values add a ringing peak at the cutoff.
DRIVE ALGORITHMdropdownsub-drive-typeDistortion flavour: regular, fuzz, overtone excite or reduce, crunch (bit-crush), ring modulator, or compression plus distortion.
DRIVE AMOUNTslidersub-driveAmount of drive, 0 to 100. 0 is clean, high values saturate hard.
DRIVE MIX (WET %)slidersub-drive-mixWet/dry balance of the drive, 0 (clean) to 1 (fully driven).

Pad editor: additive synth

ControlTypeIdWhat it does
⚡ RENDER TO SAMPLERbutton(no id)Renders this pad's sound from this page into the SAMPLER (with the LFOs, final filter and drive; add the send FX with the + SEND FX box at the top). PERFORM plays that sample.
⚡ RENDER KITbutton(no id)Renders every pad of the kit (each on its own engine) into its sampler.
🔮 CONVERT FROM SAMPLEbuttonbtn-convert-additiveAnalyses the sample on this pad and rebuilds it as a bank of sine partials, with the level and decay of each one. Needs a sample on the pad.
ad-countdropdownad-countHow many partials the conversion keeps. More partials are more accurate but cost more CPU when played live.
🎲 RANDOMIZEbuttonbtn-random-additiveCreates a new random harmonic set and spectral settings within musical limits.
ad-seriesdropdownad-seriesReplaces the harmonic bank with a classic waveform or a bell-like series built on the current fundamental.
Abuttonad-target-aEdit the pad's own harmonic bank (A) with the bar editor and the tools.
Bbuttonad-target-bEdit the morph layer (B) with the bar editor and the tools instead of the pad's own bank.
↶buttonad-undoUndo the last bar edit or tool (keeps the last 20 steps). Shortcut: Ctrl+Z.
↷buttonad-redoRedo the step you just undid. Shortcut: Ctrl+Y.
NORMbuttonad-tool-normalizeScales all partials so the loudest one is at full level.
SMOOTHbuttonad-tool-smoothAverages each partial with its neighbours to soften sharp spectral peaks.
FLATbuttonad-tool-flattenSets every partial to the same average level for a dense, noise-like spectrum.
INVERTbuttonad-tool-invertFlips the spectrum: loud partials become quiet and quiet ones become loud.
+Hbuttonad-tool-upMoves every partial up by one harmonic of the fundamental.
-Hbuttonad-tool-downMoves every partial down by one harmonic of the fundamental.
SNAPbuttonad-tool-quantizeSnaps every partial to the nearest whole harmonic of the fundamental, removing detuned and inharmonic partials.
+ PARTIALbuttonad-tool-addAdds a new partial one harmonic above the highest one. Drag its bar to set the level.
- PARTIALbuttonad-tool-delDeletes the selected partial (click a bar first).
UNMUTE ALLbuttonad-tool-unmuteClears every mute and solo flag so all partials sound again.
COMMIT TOOLSbuttonad-tool-commitPrints the effect of all the shaping sliders into the partial bars and resets the sliders, so you can keep editing the sound you hear.
ad-auditioncheckboxad-auditionPlays the pad after every edit so you hear the change straight away.
SPECTRAL SHAPING (ODD / EVEN, LOW END, TOP END, FORMANT, COMB, STRETCHmenumenu-spectral-shaping-odd-even-loSpectral shaping tools: they work on the harmonic numbers, not on the list order. Use COMMIT to print them into the partial bars.
SPECTRAL TILTslideradd-tiltTilts the whole spectrum by up to 12 dB per octave of harmonics. Negative values darken the sound, positive values brighten it.
ODD / EVEN HARMONICSslideradd-oddevenCentre = untouched. Towards 0 it keeps the hollow odd harmonics (square-like), towards 1 it keeps the warm even harmonics.
LOW END (BOTTOM HARMONICS)sliderad-lowShelfDbRaises or lowers only the harmonics below the corner number. Use it to thicken or thin the bottom of the harmonic series.
LOW END CORNER (HARMONIC #)sliderad-lowCornerThe harmonic number where the low-end control stops working. Harmonics below this number are affected.
TOP END (UPPER HARMONICS)sliderad-highShelfDbRaises or lowers only the harmonics above the corner number. Brighten or darken the top end without touching the body.
TOP END CORNER (HARMONIC #)sliderad-highCornerThe harmonic number where the top-end control starts working. Harmonics above this number are affected.
FORMANT BUMP (dB)sliderad-formantDbBoosts or cuts a band of partials around the formant frequency, like a vowel or a resonant body. Zero turns it off.
FORMANT FREQUENCY (Hz)sliderad-formantHzThe centre frequency of the formant bump. Move it to pick which part of the spectrum is emphasised.
FORMANT WIDTH (Q)sliderad-formantQHow narrow the formant bump is. Higher values pick out only a few partials.
COMB (NOTCHES)sliderad-combDepthCuts a notch every few harmonics for hollow, flanged or vocal-like spectra. Zero turns it off.
COMB SPACING (HARMONICS)sliderad-combSpacingHow many harmonics lie between the comb notches. Small values give many fine notches.
COMB SHIFTsliderad-combShiftSlides the comb notches up the harmonic series. Sweep it for a phaser-like spectral movement.
HARMONIC STRETCHsliderad-harmStretchPushes the harmonics further apart (+) or closer together (-). Positive values give a bell or piano-like detune.
INHARMONICITY (METALLIC)slideradd-inharmStretches the upper partials out of tune with the fundamental for bells, cymbals and metallic percussion.
SHIMMER, SIZZLE, DIVE & BLOOM (METAL, GLASS, CYMBALS, ZAPS)menumenu-shimmer-sizzle-dive-bloom-meWhat only an additive synth does well: beating partials, random detune, sizzling levels, pitch dives and sounds that bloom open. Good for bells, metal, glass, cymbals, zaps and risers.
SHIMMER (BEATING TWINS)sliderad-shimmerGives the loudest partials a twin a few cents away. The pair beats slowly against each other, the living shimmer of a bell or cymbal. Uses extra oscillators (up to 40% more).
SCATTER (RANDOM DETUNE, CENTS)sliderad-scatterDetunes every partial by its own fixed random amount, up to this many cents. Small values thicken, large ones turn a harmonic tone into clanging metal.
SIZZLE (RANDOM LEVEL FLUTTER)sliderad-flutterEvery partial wobbles in level at random every 10 to 30 ms, more for the higher ones. Turns a clean bank into the restless surface of a cymbal or a hat. Different on every hit.
PITCH DIVE (SEMITONES)sliderad-diveAll partials start this many semitones above (or below, if negative) their pitch and glide to it. Zaps, kicks, laser drops and risers.
DIVE TIME (ms)sliderad-diveMsHow long the glide of the pitch dive takes.
BLOOM (HIGHS ENTER LATER)sliderad-staggerThe higher a partial, the later it fades in (up to 60 ms per octave). The sound opens like a bowed or swelling tone instead of hitting all at once.
TIME, LEVEL & NOISEmenumenu-time-level-noiseTiming, level and extra layers of the additive voice.
ad-phaseModedropdownad-phaseModeStart phase of the partials. Spread lowers the peak level of the sum (cleaner, punchier); Sine and Cosine start every partial together.
DURATION SCALEslideradd-durationMultiplies every partial decay time. Lower is shorter and punchier, higher rings longer.
DECAY TILT (HIGHS vs LOWS)sliderad-decayTiltPositive makes the high partials die faster than the low ones, like a real struck object. Negative makes the highs ring on.
ATTACK (ms)sliderad-attackMsHow fast the partials fade in at the start of each hit. Conversions from a sample set this to match the original.
PUNCH (TRANSIENT)slideradd-punchAdds a brief level overshoot on every partial at the start of the hit for a harder attack.
SUB-OCTAVEslideradd-lowendAdds a sine one octave below the fundamental of the harmonic series. Zero removes it.
NOISE (RESIDUAL)sliderad-noiseMixMixes in the noise that the analysis found between the partials, or plain noise if none was found. Good for the breath and snap of converted drums.
FLOOR (dB)sliderad-floorDbPartials quieter than this, relative to the loudest, are left out. Raising it thins the sound and saves CPU.
MORPH LAYER B (COPY A TONE FROM ANOTHER PAD AND BLEND)menumenu-morph-layer-b-copy-a-tone-frA second harmonic set (B), copied from any other pad, that can be blended with this pad's own tone (A) during every hit for morphing sounds.
ad-morph-srcdropdownad-morph-srcChoose the pad whose tone is copied into layer B. The looper is not available.
COPY TONE → Bbuttonad-morph-copyAnalyses the chosen pad (additive, sample or synth) and stores its harmonics in layer B. Takes a moment for synth pads.
ad-morph-aligncheckboxad-morph-alignTransposes the copied tone so its fundamental matches this pad's fundamental.
ad-morphModedropdownad-morphModeCross-fade fades A out and B in. Glide slides each partial of A towards the nearest partial of B while it fades.
B → Abuttonad-morph-b2aReplaces this pad's own harmonics (A) with the harmonics of layer B.
SWAP A/Bbuttonad-morph-swapExchanges the pad's own harmonics (A) with layer B.
COMMIT BLEND → Abuttonad-morph-commitPrints the blend at the MORPH END amount into the pad's own harmonics and resets the morph amounts.
CLEAR Bbuttonad-morph-clearEmpties layer B and turns the morph off.
MORPH START (A..B)sliderad-morphStartHow much of the B tone is heard at the start of each hit: 0 is all A, 1 is all B.
MORPH END (A..B)sliderad-morphEndHow much of the B tone is heard after the ramp time. Set start and end to different values to make every hit morph.
MORPH RAMP TIME (s)sliderad-morphTimeHow long the blend takes to move from the start amount to the end amount.
MORPH CURVEsliderad-morphCurveBends the ramp: negative moves quickly at first, positive moves slowly at first.

Pad editor

ControlTypeIdWhat it does
PAD SOUND ENGINEbuttontab-deep-pad-editorShows the sound editor of the selected pad: the sampler, the subtractive synth or the additive synth, plus the PAD CONTROLS window.
8-SLOT LOOP SLICERbuttontab-deep-loop-rackShows the 8-slot loop rack: load audio loops, detect transients, slice them and send slices to pads.
4 AUX FX BAYSbuttontab-deep-aux-baysShows the 4 shared AUX FX bays (reverb, delay, FX 3, FX 4) that the pad sends feed. PERFORM uses only the first two.
LOOP SETbuttontab-deep-loopsetThe LOOP SET: 16 loops made from your sequences (or loaded from files) that PERFORM plays like clips.
SAMPLERbuttontab-engine-sampleThe sampler: the pad's voice in PERFORM. Load or drop a sample, crop, shape it, or RENDER any other engine into it.
SUBTRACTIVE SYNTHbuttontab-engine-subSwitches the selected pad to the subtractive synth (3 oscillators, 2 noise generators, filters, drive) and shows its controls.
ADDITIVE SYNTHbuttontab-engine-additiveSwitches the selected pad to the additive synth (a bank of sine partials you can draw, shape and morph) and shows its editor.
PHYSICAL MODELbuttontab-engine-physPHYSICAL MODEL: A struck or plucked object calculated from physics: a vibrating string / tube (waveguide, Karplus-Strong) or a bank of resonating modes (membrane, bar, plate, bell ...). Needs very little CPU.
WAVESHAPERbuttontab-engine-shaperWAVESHAPER: Non-linear waveshaping and distortion synthesis: a simple tone is pushed through a curve that folds, clips or bends it into rich harmonics. It can also process ANOTHER engine, the sampler or the looper (choose the INPUT).
WAVETABLEbuttontab-engine-waveWAVETABLE: Two wavetables play together and are mixed. Each table is a set of 16 waveforms that morph from one to the next (the POSITION), built for kicks, snares, metal, wood, noise and effects. Sweeping the position during a hit makes a sound evolve.
VOCODERbuttontab-engine-vocalVOCODER (REVERSE ADDITIVE): A vocoder turned around: instead of listening to a voice, it listens to the ADDITIVE synth. Each of its strongest partials (up to 18) becomes a filter band; the partial's level and decay open and close that band. The filter bank then shapes ANOTHER sound (the carrier): a saw or noise, another engine, the sampler or the looper. Design the spectrum on the ADDITIVE tab.
⚡ RENDER TO SAMPLERbuttonbtn-render-padPlays this pad's current engine once, offline, and puts the result into the SAMPLER (with the LFOs, final filter and drive; without the send FX). PERFORM plays that sample. You stay on this tab.
🔮 CONVERT TO ADDITIVEbuttonbtn-sub-to-additiveMeasures this pad's subtractive sound and rebuilds it as an additive synth (a bank of sine partials you can then draw, shape and morph). The pad volume is adjusted to keep the level. The SUBTRACTIVE SYNTH tab switches back.
chk-render-sendscheckboxchk-render-sendsAlso print the pad's FX sends (reverb, delay, FX 3, FX 4) into the sample when you render.
🖨 PRINT SEND FXbuttonbtn-print-fxPrints the pad's FX sends (the selected reverb / delay / FX 3 / FX 4, at the send levels below) into the SAMPLER, then sets the sends to 0. A heavy reverb then costs CPU once, not on every hit.
1buttonbtn-sample-hist-0empty
2buttonbtn-sample-hist-1empty
3buttonbtn-sample-hist-2empty
4buttonbtn-sample-hist-3empty
5buttonbtn-sample-hist-4empty
⚡ RENDER TO SAMPLERbutton(no id)Renders this pad's sound from this page into the SAMPLER (with the LFOs, final filter and drive; add the send FX with the + SEND FX box at the top). PERFORM plays that sample.
⚡ RENDER KITbutton(no id)Renders every pad of the kit (each on its own engine) into its sampler.
🎲 RANDOMIZEbuttonbtn-phys-randomSets new random values within musical limits for this engine.
↺ DEFAULTSbuttonbtn-phys-resetPuts every setting of this engine back to its default.
MODELdropdownphys-modelWaveguide: a delay line with loss, like a string or an air column. Modal: a bank of resonators at the vibration modes of a drum skin, bar, plate or bell.
PITCH (HZ)sliderphys-pitchFundamental frequency of the object.
DECAY (S)sliderphys-decayTime for the sound to die away by 60 dB.
LEVELsliderphys-levelOutput level of the engine (before the pad volume).
EXCITERdropdownphys-exTypeThe signal that sets the object vibrating. Noise = pluck / stick, mallet = soft hit, impulse = sharp tap, brush = scraped.
EXCITER LENGTH (MS)sliderphys-exLenHow long the object is driven. Short = a sharp strike, long = a scrape or a soft push.
EXCITER BRIGHTNESS (HZ)sliderphys-exColorLow-pass of the exciter: dark rubber to bright wood or metal. Harder hits (velocity) are brighter.
EXCITER LEVELsliderphys-exLevelHow hard the object is driven.
STRIKE POSITIONsliderphys-positionWhere the object is struck. Near the end (small) is bright and thin, the middle (0.5) is round and hollow: it notches out the modes that have a node there.
DAMPINGsliderphys-dampingHow fast the highs die compared with the lows. More = muffled, dull; 0 = rings bright.
STIFFNESS (WAVEGUIDE)sliderphys-stiffnessWaveguide only: makes the overtones sharper than harmonic, the way thick strings and bars sound (towards bell-like).
WAVEGUIDE TYPEdropdownphys-ksTypeString: all harmonics. Closed tube: only the odd harmonics, hollow like a clarinet or a wood block.
MODE SET (MODAL)dropdownphys-modeSetThe overtone pattern of the resonator bank: where the modes sit relative to the pitch.
MODES (MODAL)sliderphys-modesNumber of resonators. More modes = richer, more CPU.
MODE SPREAD (MODAL)sliderphys-spreadStretches the mode frequencies upwards: more metallic, more inharmonic.
MODE DETUNE (MODAL)sliderphys-detuneGives each mode a slightly detuned twin that beats against it: living, imperfect, shimmering.
DECAY TILT (MODAL)sliderphys-tiltDo the high modes die faster (positive) or ring on longer (negative) than the low ones?
TENSION BEND (ST)sliderphys-bendThe pitch starts this many semitones high and relaxes: the "boing" of a tom or a taiko, a laser tom.
BEND TIME (MS)sliderphys-bendTimeHow fast the tension bend relaxes.
RATTLE / SNARE WIRESsliderphys-rattleAdds buzzing noise that follows the loudness of the object, like snare wires, a sizzle cymbal rivet or a rattle.
RATTLE LENGTHsliderphys-rattleDecayHow long the rattle keeps buzzing after the strike.
STEREO WIDTHsliderphys-widthSpreads the modes (or a tiny delay for the waveguide) across the stereo field.
RATTLE BRIGHTNESS (HZ)sliderphys-rattleColorLow-pass of the rattle noise: snare wires sit around 2-5 kHz, a sizzle is brighter. 20000 = open.
FUNDAMENTAL WEIGHT (MODAL)sliderphys-fundamentalBoosts the lowest mode against the overtones: round, pitched toms and kicks that do not jump to a higher mode.
NOISE WASHsliderphys-washAdds a band-limited noise layer that rings on with the object: the broadband wash of a cymbal, ride or crash on top of the tonal metal.
WASH BRIGHTNESS (HZ)sliderphys-washColorBrightness of the noise wash.
WASH LENGTHsliderphys-washDecayLength of the wash compared with the decay of the object.
⚡ RENDER TO SAMPLERbutton(no id)Renders this pad's sound from this page into the SAMPLER (with the LFOs, final filter and drive; add the send FX with the + SEND FX box at the top). PERFORM plays that sample.
⚡ RENDER KITbutton(no id)Renders every pad of the kit (each on its own engine) into its sampler.
🎲 RANDOMIZEbuttonbtn-shaper-randomSets new random values within musical limits for this engine.
↺ DEFAULTSbuttonbtn-shaper-resetPuts every setting of this engine back to its default.
INPUTdropdownshaper-sourceWhat is shaped. "Own tone" is the oscillator below. Any other choice sends that engine's sound through the shaper (that tab lights up; the looper pad lights up while this pad is selected). With the sampler as input, a render replaces the pad's sample; the previous version stays in PREVIOUS SAMPLES.
OWN TONE MIX (WITH INPUT)slidershaper-ownLevelWhen an input is chosen, how much of the own tone is added to it before shaping.
OSCILLATORdropdownshaper-waveWaveform that goes into the shaper.
PITCH START (HZ)slidershaper-pitchStarting pitch of the tone.
PITCH END (HZ)slidershaper-pitchEndPitch the tone drops to.
PITCH DROP (MS)slidershaper-pitchTimeHow fast the pitch falls.
ATTACK (MS)slidershaper-ampAttackFade-in of the tone.
DECAY (S)slidershaper-ampDecayLength of the tone.
SHAPEdropdownshaper-shapeThe curve the signal goes through. Each makes different overtones: clips are buzzy, folds are metallic and bell-like, Chebyshev adds exactly the harmonics you set.
DRIVE / INDEXslidershaper-driveHow hard the signal hits the curve. Low = nearly clean, high = bright and dense. The brightness moves with the loudness (see DRIVE FOLLOWS LEVEL).
DRIVE FOLLOWS LEVELslidershaper-driveEnvHow much the drive dies away with the sound: the classic waveshaping effect of a bright attack that turns into a clean tone.
BIAS (ASYMMETRY)slidershaper-biasShifts the signal before the curve: adds even harmonics and a different character.
FOLD THRESHOLDslidershaper-threshWavefolder: the level where the wave is folded back. Lower = more folds.
HARMONIC 2 (CHEBYSHEV)slidershaper-harm2Chebyshev shape: level of the 2nd harmonic.
HARMONIC 3 (CHEBYSHEV)slidershaper-harm3Chebyshev shape: level of the 3rd harmonic.
HARMONIC 4 (CHEBYSHEV)slidershaper-harm4Chebyshev shape: level of the 4th harmonic.
HARMONIC 5 (CHEBYSHEV)slidershaper-harm5Chebyshev shape: level of the 5th harmonic.
HARMONIC 6 (CHEBYSHEV)slidershaper-harm6Chebyshev shape: level of the 6th harmonic.
PHASE DISTORTIONslidershaper-pdAmountPhase-distortion shape: bends the phase of the oscillator (like a Casio CZ). More = a sharper, more resonant tone.
BITS (CRUSHER)slidershaper-bitsCrusher shape: number of bits. Fewer = coarser, grittier.
RATE DIVIDER (CRUSHER)slidershaper-rateDivCrusher shape: holds every Nth sample. Higher = more aliasing, lo-fi.
TONE (LOW-PASS, HZ)slidershaper-toneDarkens the result after the shaper.
DRY / WETslidershaper-mixBlend of the unshaped input and the shaped sound.
LEVELslidershaper-levelOutput level of the engine.
⚡ RENDER TO SAMPLERbutton(no id)Renders this pad's sound from this page into the SAMPLER (with the LFOs, final filter and drive; add the send FX with the + SEND FX box at the top). PERFORM plays that sample.
⚡ RENDER KITbutton(no id)Renders every pad of the kit (each on its own engine) into its sampler.
🎲 RANDOMIZEbuttonbtn-wave-randomSets new random values within musical limits for this engine.
↺ DEFAULTSbuttonbtn-wave-resetPuts every setting of this engine back to its default.
TABLE Adropdownwave-tableAFirst wavetable (the main voice).
POSITION Asliderwave-posAWhich of the 16 waveforms of table A is playing (they morph into each other).
SWEEP Asliderwave-sweepAThe position of table A starts this far away and moves to POSITION A during the hit (time: SWEEP TIME).
TABLE Bdropdownwave-tableBSecond wavetable, played together with table A.
POSITION Bsliderwave-posBPosition of table B.
SWEEP Bsliderwave-sweepBSweep of table B's position.
SWEEP TIME (MS)sliderwave-sweepTimeHow fast the sweeps settle.
MIX A / Bsliderwave-mix0 = only table A, 1 = only table B.
PITCH RATIO Bsliderwave-ratioBTable B plays at this multiple of the pitch (2 = an octave up, 1.5 = a fifth). Non-whole ratios give metal.
DETUNE B (CENTS)sliderwave-detuneBDetunes B against A so they beat.
PITCH START (HZ)sliderwave-pitchStarting pitch.
PITCH END (HZ)sliderwave-pitchEndPitch it falls to.
PITCH DROP (MS)sliderwave-pitchTimeSpeed of the fall.
ATTACK (MS)sliderwave-attackFade-in.
DECAY (S)sliderwave-decayLength of the sound.
ENVELOPE SNAPsliderwave-snapBends the decay: 0 = natural fade, 1 = fast drop with a short tail.
HARD SYNCsliderwave-syncResets the tables several times per cycle: a tearing, screaming overtone sweep when moved.
WARP (PHASE BEND)sliderwave-warpBends the playback phase: pushes the sound towards pinched, nasal or hollow.
FM (B INTO A)sliderwave-fmTable B modulates the phase of table A: bells and metal.
UNISON VOICESsliderwave-unisonSeveral detuned copies for a wide, thick sound.
UNISON DETUNE (CENTS)sliderwave-uniSpreadHow far the unison copies are detuned.
SUB OSCILLATORsliderwave-subA sine one octave below.
NOISEsliderwave-noiseAdds filtered noise.
BIT DEPTHsliderwave-bitsLowers the bit depth: crunch.
LEVELsliderwave-levelOutput level of the engine.
TONE (LOW-PASS, HZ)sliderwave-toneDarkens the sound after the tables (20000 = open).
HIGH-PASS (HZ)sliderwave-hpRemoves the low end (10 = off).
⚡ RENDER TO SAMPLERbutton(no id)Renders this pad's sound from this page into the SAMPLER (with the LFOs, final filter and drive; add the send FX with the + SEND FX box at the top). PERFORM plays that sample.
⚡ RENDER KITbutton(no id)Renders every pad of the kit (each on its own engine) into its sampler.
🎲 RANDOMIZEbuttonbtn-vocal-randomSets new random values within musical limits for this engine.
↺ DEFAULTSbuttonbtn-vocal-resetPuts every setting of this engine back to its default.
→ EDIT THE BANDS (ADDITIVE TAB)buttonbtn-vocal-open-additiveOpens the ADDITIVE tab: its partials are the bands of the vocoder.
chord-oncheckboxchord-onVocoder chord: the carrier plays up to 4 notes at once, each shifted by the semitones set here, all moved by TRANSPOSE.
chord-n1dropdownchord-n1Note 1 of the chord in semitones above the pad's pitch (off = silent).
chord-n2dropdownchord-n2Note 2 of the chord in semitones above the pad's pitch (off = silent).
chord-n3dropdownchord-n3Note 3 of the chord in semitones above the pad's pitch (off = silent).
chord-n4dropdownchord-n4Note 4 of the chord in semitones above the pad's pitch (off = silent).
chord-transposedropdownchord-transposeShifts the whole pad (and the chord) up or down in semitones: the main key.
CARRIERdropdownvocal-carrierThe sound that goes through the bands. Saw / pulse follow the CHORD strip and the PITCH below; the others use the sound of that engine, the sampler or the looper.
CARRIER PITCH (HZ)slidervocal-carrierPitchPitch of the saw / pulse carrier.
PULSE WIDTHslidervocal-pulseWidthWidth of the pulse carrier.
vocal-loopCarriercheckboxvocal-loopCarrierIf the carrier (a sample or engine sound) is shorter than the longest band, repeat it.
MODEdropdownvocal-modeVocoder: only the bands are heard, opened by the partials. EQ sculpt: the carrier is heard in full and the partials lift (up) or cut (down) their band.
NUMBER OF BANDSslidervocal-bandsHow many of the additive synth's partials are used (the strongest first, at most 18).
BAND WIDTH (Q)slidervocal-qNarrow bands (high Q) ring and sing; wide bands blur into one colour.
EQ RANGE (DB)slidervocal-eqRangeEQ sculpt: how many dB a band can boost or cut.
FORMANT SHIFT (ST)slidervocal-shiftMoves every band up or down in pitch, like changing the size of the mouth.
BAND STRETCHslidervocal-stretchSpreads (above 1) or squeezes (below 1) the bands around their middle.
LEVEL SLOPEslidervocal-slopeTilts the level of the bands: positive = brighter, negative = darker.
DECAY SCALEslidervocal-decayScaleMultiplies the decay of every band (the additive synth's own decays).
BAND ATTACK (MS)slidervocal-attackMsHow fast the bands open.
CARRIER BLEEDslidervocal-dryA little of the unfiltered carrier (vocoder mode) for consonants and air.
BURSTS (CLAP)slidervocal-burstsNumber of rapid hits before the main one, like the hands of a clap. 1 = a single swell.
BURST GAP (MS)slidervocal-burstGapTime between the bursts.
HIGH-PASS (HZ)slidervocal-hpCuts the bottom before the bands (30 Hz by default).
LOW-PASS (HZ)slidervocal-lpCuts the top before the bands (18 kHz by default).
LEVELslidervocal-levelOutput level of the engine.
vocal-midiIncheckboxvocal-midiInWhile this pad is selected with the vocoder open, MIDI notes play it: the note sets the carrier pitch (relative to the ROOT NOTE) and the chord of the CHORD strip is built on it.
ROOT NOTEdropdownvocal-midiRootThe MIDI note that plays the pitch set above.
SHAPEdropdownlfo1-shapeWaveform of LFO 1. The random shapes pick a new value every cycle (per hit when retrigger is on).
RATE (HZ)sliderlfo1-rateSpeed of LFO 1 in cycles per second. Ignored while a TEMPO SYNC division is chosen.
TEMPO SYNCdropdownlfo1-syncLocks the LFO speed to the tempo: one cycle per note division.
DEPTHsliderlfo1-depthHow far the LFO moves its target: 1 = plus or minus half of the target slider range (by octaves for frequencies). Negative flips the LFO upside down. 0 = LFO off.
TARGETdropdownlfo1-targetThe parameter this LFO moves. Any slider of the pad editor can be chosen, in every engine. Pitch, filter cutoffs, levels, pan and FM index move continuously inside the hit; all other values are shifted once per hit.
START PHASEsliderlfo1-phaseWhere in its cycle the LFO is at the start of a hit (with retrigger on) or an offset of the running LFO.
lfo1-retrigcheckboxlfo1-retrigRestart the LFO at the start of every hit, so each hit is the same.
lfo1-unicheckboxlfo1-uniUnipolar: the LFO only goes up from the current value (0 to +1) instead of both ways.
SHAPEdropdownlfo2-shapeWaveform of LFO 2. The random shapes pick a new value every cycle (per hit when retrigger is on).
RATE (HZ)sliderlfo2-rateSpeed of LFO 2 in cycles per second. Ignored while a TEMPO SYNC division is chosen.
TEMPO SYNCdropdownlfo2-syncLocks the LFO speed to the tempo: one cycle per note division.
DEPTHsliderlfo2-depthHow far the LFO moves its target: 1 = plus or minus half of the target slider range (by octaves for frequencies). Negative flips the LFO upside down. 0 = LFO off.
TARGETdropdownlfo2-targetThe parameter this LFO moves. Any slider of the pad editor can be chosen, in every engine. Pitch, filter cutoffs, levels, pan and FM index move continuously inside the hit; all other values are shifted once per hit.
START PHASEsliderlfo2-phaseWhere in its cycle the LFO is at the start of a hit (with retrigger on) or an offset of the running LFO.
lfo2-retrigcheckboxlfo2-retrigRestart the LFO at the start of every hit, so each hit is the same.
lfo2-unicheckboxlfo2-uniUnipolar: the LFO only goes up from the current value (0 to +1) instead of both ways.
⇣ RENDER ACTIVE SEQUENCEbuttonbtn-loopset-renderRenders the active sequence (all its bars, the pads' samples and the FX 1-2 effects) into the next free loop slot, and also copies it into the loop slicer to audition. The tail is folded onto the start so the loop repeats without a gap.
⇣⇣ CONVERT ALL SEQUENCES TO LOOPSbuttonbtn-loopset-convert-allRenders all 16 sequences (pattern slots) into the 16 loops. Empty patterns are skipped. It takes a little while.
💾 SAVE SETbuttonbtn-loopset-saveSaves the whole loop set as a .axloops file.
📂 LOAD SETbuttonbtn-loopset-loadLoads a .axloops loop set file.
🗑 CLEAR ALLbuttonbtn-loopset-clearEmpties all 16 loop slots.
input-loopset-setfile pickerinput-loopset-set(no tooltip)
input-loopset-filefile pickerinput-loopset-file(no tooltip)
loopset-name-0text boxloopset-name-0Name of this loop
▶buttonloopset-play-0Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-0Render the active sequence into this slot
📂buttonloopset-file-0Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-0Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-0Empty this slot
loopset-name-1text boxloopset-name-1Name of this loop
▶buttonloopset-play-1Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-1Render the active sequence into this slot
📂buttonloopset-file-1Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-1Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-1Empty this slot
loopset-name-2text boxloopset-name-2Name of this loop
▶buttonloopset-play-2Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-2Render the active sequence into this slot
📂buttonloopset-file-2Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-2Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-2Empty this slot
loopset-name-3text boxloopset-name-3Name of this loop
▶buttonloopset-play-3Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-3Render the active sequence into this slot
📂buttonloopset-file-3Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-3Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-3Empty this slot
loopset-name-4text boxloopset-name-4Name of this loop
▶buttonloopset-play-4Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-4Render the active sequence into this slot
📂buttonloopset-file-4Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-4Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-4Empty this slot
loopset-name-5text boxloopset-name-5Name of this loop
▶buttonloopset-play-5Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-5Render the active sequence into this slot
📂buttonloopset-file-5Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-5Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-5Empty this slot
loopset-name-6text boxloopset-name-6Name of this loop
▶buttonloopset-play-6Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-6Render the active sequence into this slot
📂buttonloopset-file-6Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-6Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-6Empty this slot
loopset-name-7text boxloopset-name-7Name of this loop
▶buttonloopset-play-7Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-7Render the active sequence into this slot
📂buttonloopset-file-7Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-7Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-7Empty this slot
loopset-name-8text boxloopset-name-8Name of this loop
▶buttonloopset-play-8Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-8Render the active sequence into this slot
📂buttonloopset-file-8Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-8Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-8Empty this slot
loopset-name-9text boxloopset-name-9Name of this loop
▶buttonloopset-play-9Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-9Render the active sequence into this slot
📂buttonloopset-file-9Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-9Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-9Empty this slot
loopset-name-10text boxloopset-name-10Name of this loop
▶buttonloopset-play-10Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-10Render the active sequence into this slot
📂buttonloopset-file-10Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-10Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-10Empty this slot
loopset-name-11text boxloopset-name-11Name of this loop
▶buttonloopset-play-11Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-11Render the active sequence into this slot
📂buttonloopset-file-11Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-11Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-11Empty this slot
loopset-name-12text boxloopset-name-12Name of this loop
▶buttonloopset-play-12Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-12Render the active sequence into this slot
📂buttonloopset-file-12Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-12Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-12Empty this slot
loopset-name-13text boxloopset-name-13Name of this loop
▶buttonloopset-play-13Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-13Render the active sequence into this slot
📂buttonloopset-file-13Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-13Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-13Empty this slot
loopset-name-14text boxloopset-name-14Name of this loop
▶buttonloopset-play-14Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-14Render the active sequence into this slot
📂buttonloopset-file-14Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-14Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-14Empty this slot
loopset-name-15text boxloopset-name-15Name of this loop
▶buttonloopset-play-15Play / stop this loop here (EDIT side audition, in time with the current tempo)
⇣ SEQbuttonloopset-render-15Render the active sequence into this slot
📂buttonloopset-file-15Load an audio file into this slot
→ SLICERbuttonloopset-tolooper-15Copy this loop into the loop slicer (the looper tool's active slot) to audition, slice and edit it there
✕buttonloopset-del-15Empty this slot

Pad controls

ControlTypeIdWhat it does
PAD VOLUMEsliderfinal-pad-volVolume of the selected pad, 0 to 1.5.
STEREO PANsliderfinal-pad-panStereo position of the selected pad, -1 left to +1 right.
OVERALL PITCHsliderfinal-pad-tunePitch shift of the whole pad in semitones, -24 to +24.
FILTER MODEdropdownfinal-filter-modeFilter applied after the sound engine: Off (bypass), Lowpass or Highpass.
FILTER CUTOFFsliderfinal-filter-cutoffCutoff of the pad filter, 0 to 20 kHz. Has no effect while the mode is Off.
FILTER RES (Q)sliderfinal-filter-resResonance (Q) of the pad filter, 0.1 to 18.
ATTACK (S)sliderfinal-pad-attackFade-in time of the finished pad sound, 0 to 1 s.
RELEASE (S)sliderfinal-pad-releaseLength of the fade at the very end of the pad sound. Low values end the quiet tail sharply, high values let it die away smoothly.
VELOCITY RESPONSEsliderfinal-vel-sensHow much the played velocity changes this pad. 100% = full dynamics (soft notes quiet, hard notes loud), 0% = every hit plays at the same level.
VELOCITY CURVEsliderfinal-vel-curveShapes how the velocity maps to loudness for this pad. Positive lifts the soft hits (good for hats and percussion played as 8ths / 16ths), negative makes it more dynamic.
DRIVE / ODsliderfinal-pad-driveOverdrive on the finished pad sound, 0 (clean) to 1.
SEND 1 (REV)sliderfinal-pad-send1How much of this pad is sent to AUX bay 1, 0 (none) to 1. The effect type of the bay is set in the AUX FX BAYS tab.
SEND 2 (DLY)sliderfinal-pad-send2How much of this pad is sent to AUX bay 2, 0 (none) to 1. The effect type of the bay is set in the AUX FX BAYS tab.
SEND 3 (DRV)sliderfinal-pad-send3How much of this pad is sent to AUX bay 3, 0 (none) to 1. The effect type of the bay is set in the AUX FX BAYS tab.
SEND 4 (DYN)sliderfinal-pad-send4How much of this pad is sent to AUX bay 4, 0 (none) to 1. The effect type of the bay is set in the AUX FX BAYS tab.

Loop slicer

ControlTypeIdWhat it does
LOOPER Abutton(no id)Work on looper A (sequencer row 17, deck A of the DJ view)
LOOPER Bbutton(no id)Work on looper B (sequencer row 18, deck B of the DJ view)
LOOP A: ACTIVEbuttonbtn-toggle-loop-powerCompletely enable or disable the loop player engine to save CPU
▶ PLAY LOOPbuttonbtn-loop-preview-playPlays the active loop slot from its start, using the playback mode chosen next to it.
⏹ STOPbuttonbtn-loop-preview-stopStops the loop that is playing.
🎯 DETECT TRANSIENTSbuttonbtn-loop-detect-transFinds the drum hits in the loop and sets a slice marker on each. Click the waveform to select and hear a slice.
select-loop-playback-modedropdownselect-loop-playback-modeTime-Synced Stretch follows the project tempo without changing pitch; Selected Slice Only plays just the chosen slice; Original Pitch/Speed plays the audio as recorded.
+ LOAD AUDIObuttonbtn-upload-loopLoads an audio file into the active loop slot and detects its tempo and slices.
input-loop-filefile pickerinput-loop-fileFile chooser used by LOAD AUDIO (loop audio).
AUTO-PLAY MEASURE: OFFbuttonbtn-loop-measure-syncAuto-Play Loop at Measure Start: plays cleanly at measure start bypassing track 17 steps, bounded by max 32 bars
½xbuttonbtn-loop-speed-halfHalf speed (split) relative to project BPM
1xbuttonbtn-loop-speed-1xNormal 1x speed
2xbuttonbtn-loop-speed-2xDouble speed relative to project BPM
MANUAL OVERRIDEcheckboxchk-loop-manualOverrides the detected tempo, time signature and length of this loop with the values entered on the right.
input-loop-manual-bpmnumber boxinput-loop-manual-bpmTempo of the loop file, 40 to 320 BPM, used to stretch it to the project tempo (needs MANUAL OVERRIDE).
select-loop-manual-timesigdropdownselect-loop-manual-timesigTime signature of the loop: 4/4, 3/4 or 6/8. Needs MANUAL OVERRIDE.
input-loop-manual-barsnumber boxinput-loop-manual-barsLength of the loop in bars, 1 to 32. Needs MANUAL OVERRIDE.
⚡ MATCH BPM TO LOOPbuttonbtn-loop-match-bpmApply this loop's BPM to the project master tempo
THIS SLOT IS Adropdownselect-loop-kindLoop: follows the project tempo (time-stretched) and repeats on the sequencer. Song: a full track that plays once at its own speed, with no tempo stretching.
RENDER AT TEMPObuttonbtn-loop-render-tempoRenders the time-stretched loop at the current project tempo into a plain sample: after that it plays without any tempo stretching, with no CPU cost.
UNDO RENDERbuttonbtn-loop-undo-tempoBrings back the original loop (before RENDER AT TEMPO).
select-target-pad-exportdropdownselect-target-pad-exportPad that receives the slice when you press EXPORT SLICE TO PAD.
EXPORT SLICE TO PADbuttonbtn-export-slice-to-padCopies the selected slice into the chosen pad as a sample, replacing that pad's sound, and selects the pad.

Aux effects

ControlTypeIdWhat it does
AUX 1buttonbtn-aux-bay-0Edit AUX FX bay 1: its effect, parameters and return level appear below. Pads feed it with the SEND 1 knob.
AUX 2buttonbtn-aux-bay-1Edit AUX FX bay 2: its effect, parameters and return level appear below. Pads feed it with the SEND 2 knob.
AUX 3buttonbtn-aux-bay-2Edit AUX FX bay 3: its effect, parameters and return level appear below. Pads feed it with the SEND 3 knob.
AUX 4buttonbtn-aux-bay-3Edit AUX FX bay 4: its effect, parameters and return level appear below. Pads feed it with the SEND 4 knob.
FX 1 REVsliderslider-master-aux1Aux Return 1 (Plate). Level of this FX return in the master mix, 0 to 1.
FX 2 DLYsliderslider-master-aux2Aux Return 2 (Stereo Delay). Level of this FX return in the master mix, 0 to 1.
FX 3 DRVsliderslider-master-aux3Aux Return 3 (Multi-Distortion). Level of this FX return in the master mix, 0 to 1.
FX 4 DYNsliderslider-master-aux4Aux Return 4 (5-Band EQ). Level of this FX return in the master mix, 0 to 1.
FX CATEGORYdropdownselect-aux-categoryEffect family of the selected bay: channel 1 is the reverb channel and channel 2 the delay channel.
ALGORITHMdropdownselect-aux-algorithmSpecific effect inside the family, for example Hall, Ping-Pong or Chorus.
TEMPO SYNCdropdownselect-aux-syncLock this bay's delay time / modulation rate to the global BPM: straight, dotted and triplet note values, or whole bars (reverbs, dynamics and drive have no time control)
RETURN LEVELsliderslider-aux-returnOutput level of the selected bay, 0 to 1.5. Separate from the FX 1 to 4 return faders above.
🎲 RANDOMIZE AUX FXbuttonbtn-random-aux-fxRandomize the four Aux FX bays and their algorithms
PARAM 1 (DECAY/TIME)sliderslider-aux-p1Effect parameter 1, 0 to 1: decay or time. Its meaning follows the chosen effect.
PARAM 2 (DAMP/FB)sliderslider-aux-p2Effect parameter 2, 0 to 1: damping or feedback. Its meaning follows the chosen effect.
PARAM 3 (TONE/DEPTH)sliderslider-aux-p3Effect parameter 3, 0 to 1: tone or depth. Its meaning follows the chosen effect.
PARAM 4 (RATE/DIFFUSE)sliderslider-aux-p4Effect parameter 4, 0 to 1: rate or diffusion. Its meaning follows the chosen effect.
PRE-DELAYslideraxfx-rvPreGap between the dry sound and the start of the reverb. A longer pre-delay keeps the sound clear in front of the reverb.
SIZEslideraxfx-rvSizeThe size of the space: scales all the delay lines and the early reflections. Small = a room, large = a hall.
DECAYslideraxfx-rvDecayHow long the tail takes to die away by 60 dB (RT60).
DAMPING (HIGH CUT)slideraxfx-rvDampDarkens the tail: the highs die away faster than the lows, like soft walls. Lower = darker, warmer.
LOW CUTslideraxfx-rvLowRemoves the lows before the reverb so kicks and basses do not turn to mud.
DIFFUSIONslideraxfx-rvDiffHow smooth the tail is: high = a dense, smooth wash, low = more separate echoes.
MODULATIONslideraxfx-rvModSlowly moves the delay lines so the tail shimmers and never rings metallic.
STEREO WIDTHslideraxfx-rvWidthStereo spread of the reverb: 0 = mono, 100% = full stereo, above = extra wide.
EARLY REFLECTIONSslideraxfx-rvEarlyLevel of the first reflections off the walls: they give the sense of the room before the tail starts.
⚡ TRIGGER MODE: OFFbuttonbtn-aux-trigger-modeON: each bay is silent until you hold its FX pad (key 5 to 8), fading with ATT and REL. OFF: bays are always audible.
FX 1 [KEY 5]PLATEbuttonpad-aux-trigger-1Hold to let AUX bay 1 through (key 5); release to fade it out. Only works while TRIGGER MODE is ON.
chk-aux-invert-1checkboxchk-aux-invert-1Inverts bay 1 in trigger mode: the effect is audible normally and is cut while you hold the pad.
slider-aux-att-1sliderslider-aux-att-1Fade-in time in ms, 0 to 500, when the FX pad of bay 1 is pressed in trigger mode.
slider-aux-rel-1sliderslider-aux-rel-1Fade-out time in ms, 0 to 2000, after the FX pad of bay 1 is released in trigger mode.
FX 2 [KEY 6]STEREO DELAYbuttonpad-aux-trigger-2Hold to let AUX bay 2 through (key 6); release to fade it out. Only works while TRIGGER MODE is ON.
chk-aux-invert-2checkboxchk-aux-invert-2Inverts bay 2 in trigger mode: the effect is audible normally and is cut while you hold the pad.
slider-aux-att-2sliderslider-aux-att-2Fade-in time in ms, 0 to 500, when the FX pad of bay 2 is pressed in trigger mode.
slider-aux-rel-2sliderslider-aux-rel-2Fade-out time in ms, 0 to 2000, after the FX pad of bay 2 is released in trigger mode.

Sequencer

ControlTypeIdWhat it does
TOOLS ▾buttonbtn-seq-tools-toggleShows or hides the track tools (random, velocity ramp, shift, reverse ... ), the value lane, pattern copy / paste / dupe / clear and the full 18-row grid. Closed, the pads stay big.
⇇ RENDER SEQUENCE...buttonbtn-render-sequenceOpens the render window: the active sequence into a chosen loop, all sequences into all 16 loops, or to a WAV file.
PADSbuttonbtn-seqmode-padsPADS: the 16 pattern buttons and the pad step sequencer.
LOOPSbuttonbtn-seqmode-loopsLOOPS: the pad sequencer is off and the 16 loop buttons (dark to light grey) play the loops of the LOOP SET like clips, on bar lines.
⇣ SEQ → LOOPbuttonbtn-seq-to-loopRenders the active sequence into the next free loop slot (and the loop slicer).
⇣⇣ ALL → LOOPSbuttonbtn-seqs-to-loopsRenders all 16 sequences into the 16 loop slots.
1-emptybuttonloopset-btn-0Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
2-emptybuttonloopset-btn-1Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
3-emptybuttonloopset-btn-2Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
4-emptybuttonloopset-btn-3Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
5-emptybuttonloopset-btn-4Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
6-emptybuttonloopset-btn-5Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
7-emptybuttonloopset-btn-6Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
8-emptybuttonloopset-btn-7Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
9-emptybuttonloopset-btn-8Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
10-emptybuttonloopset-btn-9Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
11-emptybuttonloopset-btn-10Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
12-emptybuttonloopset-btn-11Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
13-emptybuttonloopset-btn-12Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
14-emptybuttonloopset-btn-13Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
15-emptybuttonloopset-btn-14Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
16-emptybuttonloopset-btn-15Empty loop slot. Make loops on the EDIT side (LOOP SET tab) or render a sequence.
■ STOP LOOPbuttonbtn-loopset-stopStops the playing loop on the next bar line.
1Verse 1buttonseq-slot-0Verse 1 (4 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
2Verse 2buttonseq-slot-1Verse 2 (4 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
3Verse 3buttonseq-slot-2Verse 3 (4 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
4Verse 4buttonseq-slot-3Verse 4 (4 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
5Chorus 1buttonseq-slot-4Chorus 1 (4 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
6Chorus 2buttonseq-slot-5Chorus 2 (4 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
7Chorus 3buttonseq-slot-6Chorus 3 (4 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
8Bridgebuttonseq-slot-7Bridge (4 bars - then goes to Verse 4) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
9Long Introbuttonseq-slot-8Long Intro (4 bars - then goes to Verse 1) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
10Short Introbuttonseq-slot-9Short Intro (2 bars - then goes to Verse 1) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
11Fill 1buttonseq-slot-10Fill 1 (2 bars - then goes to Verse 2) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
12Fill 2buttonseq-slot-11Fill 2 (1 bar - then goes to Verse 3) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
13Perc Loop 1buttonseq-slot-12Perc Loop 1 (2 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
14Perc Loop 2buttonseq-slot-13Perc Loop 2 (2 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
15Perc Loop 3buttonseq-slot-14Perc Loop 3 (2 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
16Perc Loop 4buttonseq-slot-15Perc Loop 4 (2 bars) - click to cue. Click starts it after the current pattern ends; double-click or double-tap starts it at the next measure.
FOLLOW: ONbuttonbtn-followFOLLOW: after an intro, fill or bridge has played through once, the sequencer goes on to the part set for it (a verse unless you change it). Click to switch it on or off.
⚙ GOES TO...buttonbtn-follow-setOpens the panel where you choose where each intro, fill and the bridge goes after it has played through once.
📋 COPY PATTERNbuttonbtn-seq-pat-copyCopy entire 18-track active pattern bank to clipboard
📥 PASTE PATTERNbuttonbtn-seq-pat-pastePastes the copied pattern over the active slot, replacing its steps and bar count. Refused if the slot is locked.
⏩ DUPE PATTERNbuttonbtn-seq-pat-dupeCopies the active pattern into the next slot that is not locked, and switches to it. That slot is overwritten.
🔓 UNLOCKEDbuttonbtn-seq-pat-lockWrite-protects the active pattern slot: recording, paste, clear and dupe into it are refused while locked.
🗑 CLEAR PATTERNbuttonbtn-seq-pat-clearClear all tracks across all measures for active pattern slot
🗑 CLEAR ACTIVE PADbuttonbtn-seq-clear-padClear active selected pad track across all measures
💾 EXPORT MIDIbuttonbtn-export-seq-midiExport active 18-track pattern as Type 0 Standard MIDI File (.mid)
⚡ SYNC GRIDbuttonbtn-sync-tracksResets every track to its first step so tracks that drifted apart (different lengths, skip notes) line up again.
◀ PREVbuttonbtn-prev-sceneShows the previous bar (1 to 8, wraps around) in the step editor.
BAR 1buttonbtn-bar-0Switch to Measure 1 (16 Steps). Shows this bar in the step editor and the 17-track grid.
BAR 2buttonbtn-bar-1Switch to Measure 2 (16 Steps). Shows this bar in the step editor and the 17-track grid.
BAR 3buttonbtn-bar-2Switch to Measure 3 (16 Steps). Shows this bar in the step editor and the 17-track grid.
BAR 4buttonbtn-bar-3Switch to Measure 4 (16 Steps). Shows this bar in the step editor and the 17-track grid.
BAR 5buttonbtn-bar-4Switch to Measure 5 (16 Steps). Shows this bar in the step editor and the 17-track grid.
BAR 6buttonbtn-bar-5Switch to Measure 6 (16 Steps). Shows this bar in the step editor and the 17-track grid.
BAR 7buttonbtn-bar-6Switch to Measure 7 (16 Steps). Shows this bar in the step editor and the 17-track grid.
BAR 8buttonbtn-bar-7Switch to Measure 8 (16 Steps). Shows this bar in the step editor and the 17-track grid.
NEXT ▶buttonbtn-next-sceneShows the next bar (1 to 8, wraps around) in the step editor.
LIMIT:dropdownselect-sequencer-loop-lenHow many bars, 1 to 8, the pattern plays before it loops or, in CHAIN mode, moves on to the next pattern.
select-pattern-styledropdownselect-pattern-styleStyle used by RANDOM PATTERN. Choosing one also loads that style's 16 genre patterns into the pattern slots.
🎲 RANDOM PATTERNbuttonbtn-random-patternFills all 16 drum tracks of the shown bar with a new random pattern in the chosen style. The chaos slider sets how wild it gets.
📋 COPYbuttonbtn-seq-copy-measureCopy 16 steps of active instrument in this measure
📥 PASTEbuttonbtn-seq-paste-measurePaste copied sequence into current measure
⏩ DUPEbuttonbtn-seq-duplicate-measureCopies the shown bar of the selected track into the next bar and moves to it. On bar 8 there is no next bar and the button says LAST BAR.
🗑 CLEARbuttonbtn-seq-clear-measureClear 16 steps of active instrument in this measure
⊞ EXPAND 18 ROWSbuttonbtn-toggle-seq-collapseShows or hides the full grid of all 17 tracks (16 pads plus loop) for the shown bar. Locked while SLOW CPU is on.
MUTEbuttonbtn-track-muteMutes the selected track's steps during playback. Click again to unmute.
SOLObuttonbtn-track-soloPlays only the soloed track or tracks in the sequence; all others stay silent.
🔗 CHAIN: OFFbuttonbtn-seq-chain-modeSong mode: after a pattern has played its bar limit, the next slot (1 to 16, then back to 1) starts automatically.
▶ AUDITIONbuttonbtn-audition-activePlays the selected track's sound once (the loop for the LP track).
🎲 RANDOMbuttonbtn-seq-random-trackWrites a random rhythm for the selected track into the shown bar. The chaos slider sets how adventurous it is.
📈 VEL RAMPbuttonbtn-seq-vel-rampClick: the velocity of the active steps of the shown bar rises from 40 to 127. Shift+click: it falls from 127 to 40.
🔀 HUMANIZEbuttonbtn-seq-vel-humanRandomly shifts the velocity of each active step in the shown bar by up to 15 up or down (kept between 20 and 127).
⚡ FLAMSbuttonbtn-seq-auto-flamsIn the shown bar, adds a roll to active steps 15 and 16 and a flam to about half of the active steps 3, 7, 11 and 15.
↔ PAN SWEEPbuttonbtn-seq-pan-sweepSets the pan of the 16 steps of the shown bar. Each click moves to the next shape: ping-pong, left to right, right to left, centre.
◀ SHIFTbuttonbtn-seq-shift-leftMoves every step of the shown bar one step earlier. The first step wraps round to the end.
SHIFT ▶buttonbtn-seq-shift-rightMoves every step of the shown bar one step later. The last step wraps round to the start.
⇄ REVERSEbuttonbtn-seq-reversePlays the shown bar backwards: step 1 swaps with step 16, step 2 with step 15, and so on.
◐ INVERTbuttonbtn-seq-invertSwaps hits and rests in the shown bar. The new hits get velocity 100.
⇉ MIRRORbuttonbtn-seq-mirrorCopies steps 1 to 8 of the shown bar onto steps 9 to 16.
❗ ACCENTbuttonbtn-seq-accentSets the velocity of the active steps by their place in the beat: the beats loudest, the 8ths medium, the 16ths softest.
🕑 HUMAN TIMEbuttonbtn-seq-human-timeMoves each active step a few milliseconds early or late (up to 10 ms). The beats stay exactly on the grid.
🎲 CHANCEbuttonbtn-seq-chanceGives the active off-beat steps a chance of playing: each click cycles 75, 50, 25 percent and back to always. A single step can also be set in its inspector.
⇶ COPY TO ALL BARSbuttonbtn-seq-fill-barsCopies the shown bar of this track onto all 8 bars.
input-euclidean-hitsnumber boxinput-euclidean-hitsNumber of hits, 1 to 16, that FILL spreads evenly over the 16 steps.
⭕ FILLbuttonbtn-seq-euclideanReplaces the shown bar of the selected track with an evenly spread (Euclidean) rhythm using the hit count on the left.
1buttonactive-step-btn-NStep 1 (Bar 1) - Click/Drag to toggle; right-click for full inspector. Drag across steps to paint or erase several at once; the badge shows a hit modifier.
⚙ EDITbuttonactive-step-edit-btn-0Open the step inspector for Step 1: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-1Open the step inspector for Step 2: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-2Open the step inspector for Step 3: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-3Open the step inspector for Step 4: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-4Open the step inspector for Step 5: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-5Open the step inspector for Step 6: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-6Open the step inspector for Step 7: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-7Open the step inspector for Step 8: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-8Open the step inspector for Step 9: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-9Open the step inspector for Step 10: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-10Open the step inspector for Step 11: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-11Open the step inspector for Step 12: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-12Open the step inspector for Step 13: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-13Open the step inspector for Step 14: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-14Open the step inspector for Step 15: velocity, micro-timing, pan, chance, step modifier and MIDI note.
⚙ EDITbuttonactive-step-edit-btn-15Open the step inspector for Step 16: velocity, micro-timing, pan, chance, step modifier and MIDI note.
VELbuttonseq-lane-tab-velVelocity lane: press and drag across the bars below to draw the loudness of each step, 1 to 127.
PANbuttonseq-lane-tab-panPan lane: press and drag across the bars below to draw each step's stereo position, -1 left to +1 right.
MICRObuttonseq-lane-tab-microMicro-timing lane: press and drag across the bars below to nudge each step earlier or later, -50 to +50 ms.
MODbuttonseq-lane-tab-modModifier lane: click a step below to cycle its hit type (ratchet, flam, burst, ghost, choke, hold, skip); Shift-click cycles backwards.
step-btn-0buttonstep-btn-0-NTrack 1, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-1buttonstep-btn-1-NTrack 2, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-2buttonstep-btn-2-NTrack 3, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-3buttonstep-btn-3-NTrack 4, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-4buttonstep-btn-4-NTrack 5, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-5buttonstep-btn-5-NTrack 6, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-6buttonstep-btn-6-NTrack 7, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-7buttonstep-btn-7-NTrack 8, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-8buttonstep-btn-8-NTrack 9, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-9buttonstep-btn-9-NTrack 10, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-10buttonstep-btn-10-NTrack 11, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-11buttonstep-btn-11-NTrack 12, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-12buttonstep-btn-12-NTrack 13, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-13buttonstep-btn-13-NTrack 14, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-14buttonstep-btn-14-NTrack 15, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-15buttonstep-btn-15-NTrack 16, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-16buttonstep-btn-16-NTrack LP A, Step 1 (Right-click to Inspect). Click toggles the step on or off.
step-btn-17buttonstep-btn-17-NTrack LP B, Step 1 (Right-click to Inspect). Click toggles the step on or off.

MIDI

ControlTypeIdWhat it does
SKIP ▶buttonbtn-learn-skipSkips the current control of the learn set and moves to the next one.
EXIT LEARNbuttonbtn-exit-midi-learnLeaves MIDI Learn mode. The bindings you already made are kept.
MIDI NOTE NUMBER (0-127)number boxinspector-midi-noteMIDI note number, 0 to 127, sent for this step to external MIDI out.
✕buttonbtn-close-midi-modalCloses the MIDI import window and stops any audition.
SELECT MIDI FILEfile pickerinput-midi-fileChoose a Standard MIDI file (.mid or .midi) to analyse.
DETECTED TRACK / CHANNELdropdownselect-midi-trackWhich track of the MIDI file to import. All Tracks reads every drum note in the file.
BARS TO COMMIT (SCENES 1-8)dropdownselect-midi-barsHow many bars (1, 2, 4 or 8) of the file are written into the sequencer.
▶ AUDITIONbuttonbtn-midi-audition-playAudition MIDI groove using current kit
⏹ STOPbuttonbtn-midi-audition-stopStop audition playback
⚡ AUTO-DETECT GMbuttonbtn-midi-autodetect-gmReset routing to General MIDI standard
✓ COMMIT TO SEQUENCERbuttonbtn-commit-midiWrites the notes into the sequencer tracks of the current pattern using the routing below, then closes this window.
✕buttonbtn-close-midi-configCloses the MIDI setup window.
GRID CONTROLLER (AKAI APC / LAUNCHPAD)buttontab-midi-gridLight up the pad grid of an Akai APC Key 25 (or a Launchpad) with this app's pattern pads and steps, and share the grid with other apps.
DEVICES & LIVE MONITORbuttontab-midi-devicesMIDI input and output devices, channels and the live MIDI monitor.
MIDI LEARN & MAPPING TABLEbuttontab-midi-mappingsTable of MIDI Learn bindings, with import and export.
PAD CONTROLLERS (AKAI / NOVATION SPLIT)buttontab-midi-controllersPad controller setup: AKAI APC or Novation Launchpad layouts, note ranges and LED feedback.
grid-oncheckboxgrid-on(no tooltip)
grid-s-patternscheckboxgrid-s-patterns(no tooltip)
grid-s-stepscheckboxgrid-s-steps(no tooltip)
grid-s-barscheckboxgrid-s-bars(no tooltip)
grid-s-padscheckboxgrid-s-pads(no tooltip)
DEVICEdropdowngrid-profileWhich controller. AUTO-DETECT looks at the names of the MIDI ports.
INdropdowngrid-inThe input port of the controller's pads (the second USB MIDI port: 'Control', MIDIIN2 or MIDI 2). AUTO picks it.
OUTdropdowngrid-outThe output port that lights the pads.
CONNECTbuttongrid-connectConnects the controller (the browser asks for MIDI and SysEx access once).
DISCONNECTbuttongrid-disconnectReleases the controller and switches its lights off.
LIGHT TESTbuttongrid-testLights every pad one after the other: check that the right pads light.
LEARN FIRST PADbuttongrid-learnFirst generation APC Key 25: press the BOTTOM-LEFT pad to teach the app where the grid starts.
grid-introcheckboxgrid-intro(no tooltip)
grid-basenumber boxgrid-baseNote of the bottom-left pad (try 32; use LEARN FIRST PAD).
grid-stridenumber boxgrid-strideNote difference between two rows (8).
ROOMtext boxgrid-roomApps with the same grid room share the controller. Windows of this browser need nothing else.
grid-netcheckboxgrid-net(no tooltip)
grid-wstext boxgrid-wsAddress of the relay. Empty = this page's server.
PACK IN THIS ORDERbuttongrid-packStacks the blocks one under the other in the order shown (top first), at the left edge.
RESET PLACESbuttongrid-resetForgets the places and puts every block where it fits first.
INPUT DEVICE (USB / DIN)dropdownconfig-midi-input-selectHardware MIDI input whose notes and knobs play the pads and move mapped controls.
RECEIVE CHANNELdropdownconfig-midi-input-channelMIDI channel to receive on; Omni accepts every channel. Channel 10 is the General MIDI drum channel.
OUTPUT DEVICE (TRIGGER OUT)dropdownconfig-midi-output-selectDevice that receives a MIDI note for every sequencer hit and, if supported, LED messages.
↻ RESCAN USB CONTROLLERSbuttonbtn-config-midi-rescanLooks for MIDI devices again. Use it after plugging in a controller.
CLEAR LOGbuttonbtn-clear-midi-logEmpties the live MIDI monitor list.
🎹 ENGAGE MIDI LEARNbuttonbtn-config-toggle-learnStarts or stops MIDI Learn: click an on-screen control, then move a hardware knob or press a key to bind it.
RESET GM DRUMSbuttonbtn-reset-default-midiPuts the pads back on the General MIDI drum notes (kick 36, snare 38, ...) and clears every learned MIDI mapping. Use it to start the MIDI setup again from scratch.
CLEAR ALLbuttonbtn-clear-all-midiDeletes every MIDI Learn mapping.
EXPORT MAPbuttonbtn-export-midi-mapSaves the mapping table as a JSON file.
IMPORT MAPbuttonbtn-import-midi-mapLoads a mapping table from a JSON file.
input-import-midi-mapfile pickerinput-import-midi-mapFile chooser used by IMPORT MAP (.json).
select-learn-setdropdownselect-learn-setWhat to learn. Mixer sets (volume, pan, sends, mute, solo, select) work for every pad, also the ones that are not on screen.
select-learn-indexdropdownselect-learn-indexWhich one for LEARN ONE: pad 1-16 or 17 for the looper (slot, bar or step number for the other sets).
LEARN ONEbuttonbtn-learn-oneLearns just the chosen one: press a key, pad or knob on your controller.
LEARN ALL IN ORDERbuttonbtn-learn-allLearns the whole set in order, starting with the first. Touch one control on your controller per step. SKIP in the top banner leaves one out.
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
✕button(no id)Remove mapping
CONTROLLER PROFILEdropdownselect-controller-profileLayout of your hardware pad controller: AKAI APC, Novation Launchpad, a plain 4x4 grid or a custom split.
KEYBOARD & DUAL ROUTINGdropdownselect-keyboard-route-modeIgnore the keys of a MIDI keyboard (to keep the pad grid separate) or play them chromatically on the drum cells.
NOTE MAP (WHAT A NOTE PLAYS)dropdownselect-midi-note-mapPADS IN ORDER: notes 36, 37, 38 ... play pads 1, 2, 3 ... (pad 1 = C, pad 2 = C#, pad 3 = D). GENERAL MIDI: a drum note from a GM drum track or keyboard plays the pad with the same drum role (kick C1, snare D1, toms F1 / G1 / A1, hats F#1 / G#1 / A#1, crash C#2, ride D#2).
SECONDARY MIDI INPUT (DUAL DEVICE)dropdownconfig-midi-input-2-selectOptional second MIDI input for a dual-controller setup, for example pads plus a keyboard.
SECONDARY RECEIVE CHANNELdropdownconfig-midi-input-2-channelMIDI channel the second input listens on.
-OCTbuttonbtn-play-oct-downShift Playable Pads Down 1 Octave
+OCTbuttonbtn-play-oct-upShift Playable Pads Up 1 Octave
ROOT MIDI NOTE:number boxinput-play-pads-rootMIDI note of the first playable pad, 0 to 111. The other pads follow in rising note numbers.
-OCTbuttonbtn-seq-oct-downShift Sequencer Pads Down 1 Octave
+OCTbuttonbtn-seq-oct-upShift Sequencer Pads Up 1 Octave
ROOT MIDI NOTE:number boxinput-seq-steps-rootMIDI note of step 1 on the controller's step section, 0 to 111. Steps 2 to 16 follow in rising note numbers.
FX 3 [KEY 7]MULTI-DISTORTIONbuttonpad-aux-trigger-3Hold to let AUX bay 3 through (key 7); release to fade it out. Only works while TRIGGER MODE is ON.
chk-aux-invert-3checkboxchk-aux-invert-3Inverts bay 3 in trigger mode: the effect is audible normally and is cut while you hold the pad.
slider-aux-att-3sliderslider-aux-att-3Fade-in time in ms, 0 to 500, when the FX pad of bay 3 is pressed in trigger mode.
slider-aux-rel-3sliderslider-aux-rel-3Fade-out time in ms, 0 to 2000, after the FX pad of bay 3 is released in trigger mode.
FX 4 [KEY 8]5-BAND EQbuttonpad-aux-trigger-4Hold to let AUX bay 4 through (key 8); release to fade it out. Only works while TRIGGER MODE is ON.
chk-aux-invert-4checkboxchk-aux-invert-4Inverts bay 4 in trigger mode: the effect is audible normally and is cut while you hold the pad.
slider-aux-att-4sliderslider-aux-att-4Fade-in time in ms, 0 to 500, when the FX pad of bay 4 is pressed in trigger mode.
slider-aux-rel-4sliderslider-aux-rel-4Fade-out time in ms, 0 to 2000, after the FX pad of bay 4 is released in trigger mode.
chk-midi-led-feedbackcheckboxchk-midi-led-feedbackSends LED colour messages back to the controller to show active pads and steps.
LED PROTOCOL:dropdownselect-midi-led-protocolLED colour protocol to send: AKAI APC velocity colours or Novation Launchpad RGB.
💡 TEST LEDSbuttonbtn-test-controller-ledsRuns a light chase over the controller pads to check LED feedback. Needs a MIDI output device.

Dialogs

ControlTypeIdWhat it does
×buttondj-sc-closeCloses the scratch tool. The settings stay as they are.
dj-sc-attacksliderdj-sc-attackATTACK: Time the record takes to get up to its peak speed. It stays until you change it.
dj-sc-sustainsliderdj-sc-sustainSUSTAIN: How long the peak speed is held. It stays until you change it.
dj-sc-decaysliderdj-sc-decayDECAY: Time the record takes to come to a halt. It stays until you change it.
dj-sc-releasesliderdj-sc-releaseRELEASE: Time to get from the halt back to the normal speed. It stays until you change it.
dj-sc-distsliderdj-sc-distDISTANCE: How far the record moves in one stroke, in beats of the loaded item. It stays until you change it.
P1buttondj-sc-p1Click to recall preset 1; hold for about a second to save the current setting into it. It applies to both scratch buttons.
P2buttondj-sc-p2Click to recall preset 2; hold for about a second to save the current setting into it. It applies to both scratch buttons.
P3buttondj-sc-p3Click to recall preset 3; hold for about a second to save the current setting into it. It applies to both scratch buttons.
dj-sc-slipcheckboxdj-sc-slipSlip: the record keeps its place in time under the scratch, so the groove is not lost.

Other

ControlTypeIdWhat it does
dj-master-bpmnumber boxdj-master-bpmThe project tempo (the master clock). Type a value or use TAP. Synced decks follow it.
TAPbuttondj-master-tapTap the project tempo. Two taps or more set it.
▶ CLOCKbuttondj-clockStarts or stops the project clock. Decks start on its next bar line while it runs.
dj-xf-curvedropdowndj-xf-curveCrossfader curve: FULL keeps both decks open in the middle, CONSTANT POWER keeps the loudness even, HARD CUT closes a deck at once.
📦 EXPORT PACK...buttondj-exportMakes sample packs from here: the 16 loops, the sounds of the current kit (16 WAV files) or every factory kit, as a ZIP or into a folder.
🎧 DJ PADS...buttondj-padsbtnThe 16 DJ pads (eight under each deck): effect sounds you play with the pad keys. Opens the list where you can load your own sounds into them.
dj-autostopcheckboxdj-autostopOn: the main transport stops when the last deck stops and nothing else plays. Off: it keeps running.
dj-store-filecheckboxdj-store-fileWhen ticked, a file loaded into a deck is also kept in a free loop pad of the loop set.
DECK Abuttondj-sel-0Selects deck A: the next loop pad you press loads into it. Selecting does not start anything.
LOADbuttondj-load-0Loads an mp3 / wav / aiff file into deck A as a song. Files can also be dropped on the deck.
TEMPObuttondj-tomaster-0Sets the project tempo to the speed deck A plays at now. Use it to make the sequencer follow a song.
dj-pitch-0sliderdj-pitch-0Pitch fader of deck A: speeds the deck up (up) or slows it down. Double-click centres it.
±8%buttondj-range-0Switches the pitch fader range between plus/minus 8 % and 16 %.
-buttondj-nudge-m-0Nudge back: slows the deck a little while held, to line up beats by hand.
+buttondj-nudge-p-0Nudge forward: speeds the deck up a little while held, to line up beats by hand.
dj-bpm-0number boxdj-bpm-0The BPM of the item in deck A (type to correct it). SYNC uses it.
TAPbuttondj-tap-0Tap the beat of the song to set the BPM of this deck.
CUEbuttondj-cue-0Playing: back to the cue point and stop. Stopped away from the cue point: sets the cue point here. Stopped on the cue point: hold to preview, release to go back (press PLAY while holding to keep playing).
▶ PLAYbuttondj-play-0Plays or pauses deck A. When everything is stopped it starts the main transport too; while the clock runs it starts on the next bar line.
SYNCbuttondj-sync-0Plays the item at the project tempo (varispeed: pitch follows). Follows tempo changes while on.
KEYbuttondj-key-0Keeps the pitch while the tempo changes (rendered in the background, up to 150 s). Slightly less clean than varispeed.
LOOPbuttondj-looponoff-0Loops the item (or the chosen bars). Off: it plays once, like a song.
1buttondj-len-0-1Loops the 1 bar that contain the playhead. Press again to loop the whole item.
2buttondj-len-0-2Loops the 2 bars that contain the playhead. Press again to loop the whole item.
4buttondj-len-0-4Loops the 4 bars that contain the playhead. Press again to loop the whole item.
8buttondj-len-0-8Loops the 8 bars that contain the playhead. Press again to loop the whole item.
◀◀ REVbuttondj-scr-rev-0Scratch stroke backwards: a sharp push and a halt, shaped by the gear settings.
FWD ▶▶buttondj-scr-fwd-0Scratch stroke forwards: a sharp push and a halt, shaped by the gear settings.
⚙buttondj-sc-gear-0Opens the scratch tool: attack, sustain, decay, release and distance of the FWD / REV strokes, with 3 presets.
1AIR HORN1buttondjp-0DJ pad 1: a sample (effect, shout, siren ...). Key 1, MIDI note 36. Right-click or hold to load your own sound into it.
2SIREN2buttondjp-1DJ pad 2: a sample (effect, shout, siren ...). Key 2, MIDI note 37. Right-click or hold to load your own sound into it.
3LASER3buttondjp-2DJ pad 3: a sample (effect, shout, siren ...). Key 3, MIDI note 38. Right-click or hold to load your own sound into it.
4REWIND4buttondjp-3DJ pad 4: a sample (effect, shout, siren ...). Key 4, MIDI note 39. Right-click or hold to load your own sound into it.
5SCRATCHQbuttondjp-4DJ pad 5: a sample (effect, shout, siren ...). Key Q, MIDI note 40. Right-click or hold to load your own sound into it.
6SPIN DOWNWbuttondjp-5DJ pad 6: a sample (effect, shout, siren ...). Key W, MIDI note 41. Right-click or hold to load your own sound into it.
7HEY!Ebuttondjp-6DJ pad 7: a sample (effect, shout, siren ...). Key E, MIDI note 42. Right-click or hold to load your own sound into it.
8YEAH!Rbuttondjp-7DJ pad 8: a sample (effect, shout, siren ...). Key R, MIDI note 43. Right-click or hold to load your own sound into it.
dj-eq-hi-0sliderdj-eq-hi-0HI band of deck A, 0 to 150 %. At 0 the band is cut completely; double-click resets to flat.
KILLbuttondj-kill-hi-0Kills the HI band of deck A completely. Click again to bring it back.
dj-eq-mid-0sliderdj-eq-mid-0MID band of deck A, 0 to 150 %. At 0 the band is cut completely; double-click resets to flat.
KILLbuttondj-kill-mid-0Kills the MID band of deck A completely. Click again to bring it back.
dj-eq-lo-0sliderdj-eq-lo-0LOW band of deck A, 0 to 150 %. At 0 the band is cut completely; double-click resets to flat.
KILLbuttondj-kill-lo-0Kills the LOW band of deck A completely. Click again to bring it back.
dj-level-0sliderdj-level-0Channel level of deck A (also for the loop the sequencer plays on row 17). Double-click for 80 %.
1-emptybuttondj-loop-0Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
2-emptybuttondj-loop-1Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
3-emptybuttondj-loop-2Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
4-emptybuttondj-loop-3Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
5-emptybuttondj-loop-4Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
6-emptybuttondj-loop-5Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
7-emptybuttondj-loop-6Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
8-emptybuttondj-loop-7Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
9-emptybuttondj-loop-8Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
10-emptybuttondj-loop-9Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
11-emptybuttondj-loop-10Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
12-emptybuttondj-loop-11Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
13-emptybuttondj-loop-12Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
14-emptybuttondj-loop-13Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
15-emptybuttondj-loop-14Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
16-emptybuttondj-loop-15Empty loop slot. Render loops in PERFORM (sequence to loop) or use FILE->PAD.
KINDbuttondj-pad-kindSwitches the selected pad between LOOP (follows the tempo) and SONG (plays as it is).
FILE→PADbuttondj-pad-loadLoads an audio file into the selected pad (a free pad if it is empty).
CLEARbuttondj-pad-clearEmpties the selected pad.
dj-xfadersliderdj-xfaderCrossfader: blends deck A (left) and deck B (right). Double-click centres it.
DECK Bbuttondj-sel-1Selects deck B: the next loop pad you press loads into it. Selecting does not start anything.
LOADbuttondj-load-1Loads an mp3 / wav / aiff file into deck B as a song. Files can also be dropped on the deck.
TEMPObuttondj-tomaster-1Sets the project tempo to the speed deck B plays at now. Use it to make the sequencer follow a song.
dj-pitch-1sliderdj-pitch-1Pitch fader of deck B: speeds the deck up (up) or slows it down. Double-click centres it.
±8%buttondj-range-1Switches the pitch fader range between plus/minus 8 % and 16 %.
-buttondj-nudge-m-1Nudge back: slows the deck a little while held, to line up beats by hand.
+buttondj-nudge-p-1Nudge forward: speeds the deck up a little while held, to line up beats by hand.
dj-bpm-1number boxdj-bpm-1The BPM of the item in deck B (type to correct it). SYNC uses it.
TAPbuttondj-tap-1Tap the beat of the song to set the BPM of this deck.
CUEbuttondj-cue-1Playing: back to the cue point and stop. Stopped away from the cue point: sets the cue point here. Stopped on the cue point: hold to preview, release to go back (press PLAY while holding to keep playing).
▶ PLAYbuttondj-play-1Plays or pauses deck B. When everything is stopped it starts the main transport too; while the clock runs it starts on the next bar line.
SYNCbuttondj-sync-1Plays the item at the project tempo (varispeed: pitch follows). Follows tempo changes while on.
KEYbuttondj-key-1Keeps the pitch while the tempo changes (rendered in the background, up to 150 s). Slightly less clean than varispeed.
LOOPbuttondj-looponoff-1Loops the item (or the chosen bars). Off: it plays once, like a song.
1buttondj-len-1-1Loops the 1 bar that contain the playhead. Press again to loop the whole item.
2buttondj-len-1-2Loops the 2 bars that contain the playhead. Press again to loop the whole item.
4buttondj-len-1-4Loops the 4 bars that contain the playhead. Press again to loop the whole item.
8buttondj-len-1-8Loops the 8 bars that contain the playhead. Press again to loop the whole item.
◀◀ REVbuttondj-scr-rev-1Scratch stroke backwards: a sharp push and a halt, shaped by the gear settings.
FWD ▶▶buttondj-scr-fwd-1Scratch stroke forwards: a sharp push and a halt, shaped by the gear settings.
⚙buttondj-sc-gear-1Opens the scratch tool: attack, sustain, decay, release and distance of the FWD / REV strokes, with 3 presets.
9BASS DROPAbuttondjp-8DJ pad 9: a sample (effect, shout, siren ...). Key A, MIDI note 44. Right-click or hold to load your own sound into it.
10RISERSbuttondjp-9DJ pad 10: a sample (effect, shout, siren ...). Key S, MIDI note 45. Right-click or hold to load your own sound into it.
11BOOMDbuttondjp-10DJ pad 11: a sample (effect, shout, siren ...). Key D, MIDI note 46. Right-click or hold to load your own sound into it.
12RADIOFbuttondjp-11DJ pad 12: a sample (effect, shout, siren ...). Key F, MIDI note 47. Right-click or hold to load your own sound into it.
13NEWSZbuttondjp-12DJ pad 13: a sample (effect, shout, siren ...). Key Z, MIDI note 48. Right-click or hold to load your own sound into it.
14BRASS HITXbuttondjp-13DJ pad 14: a sample (effect, shout, siren ...). Key X, MIDI note 49. Right-click or hold to load your own sound into it.
15CROWDCbuttondjp-14DJ pad 15: a sample (effect, shout, siren ...). Key C, MIDI note 50. Right-click or hold to load your own sound into it.
16BOINGVbuttondjp-15DJ pad 16: a sample (effect, shout, siren ...). Key V, MIDI note 51. Right-click or hold to load your own sound into it.
dj-eq-hi-1sliderdj-eq-hi-1HI band of deck B, 0 to 150 %. At 0 the band is cut completely; double-click resets to flat.
KILLbuttondj-kill-hi-1Kills the HI band of deck B completely. Click again to bring it back.
dj-eq-mid-1sliderdj-eq-mid-1MID band of deck B, 0 to 150 %. At 0 the band is cut completely; double-click resets to flat.
KILLbuttondj-kill-mid-1Kills the MID band of deck B completely. Click again to bring it back.
dj-eq-lo-1sliderdj-eq-lo-1LOW band of deck B, 0 to 150 %. At 0 the band is cut completely; double-click resets to flat.
KILLbuttondj-kill-lo-1Kills the LOW band of deck B completely. Click again to bring it back.
dj-level-1sliderdj-level-1Channel level of deck B (also for the loop the sequencer plays on row 18). Double-click for 80 %.
dj-filefile pickerdj-file(no tooltip)
✕buttonbtn-close-inspectorCloses the step inspector.
VELOCITYsliderinspector-velocityVelocity of this step, 1 (soft) to 127 (hard).
MICRO-TIMING OFFSETsliderinspector-microtimingShifts this step earlier (negative) or later (positive) by up to 50 ms.
PANsliderinspector-panPans this step left or right of the pad's own pan.
CHANCEsliderinspector-probChance that this step plays each time round: 100 always, 50 every other time on average.
STEP MODIFIERdropdowninspector-modifierHit type of this step: single, double or triple ratchet, flam grace note, 4-hit burst, ghost note, note off, hold (tie to the previous hit) or skip.
✕buttonbtn-close-match-modalCloses the synth match report.
🔄 RETRYbuttonbtn-match-modal-retryRe-run search algorithm with expanded parameter bounds
📥 EXPORT RECOMMENDATIONSbuttonbtn-match-modal-exportDownload SYNTH_MATCH_RECOMMENDATIONS.md for manual/AI refinement
✓ OKbuttonbtn-match-modal-okCloses the report and keeps the synth settings as they are now.
✕buttonbtn-close-record-setupCloses the window without recording.
record-setup-slotdropdownrecord-setup-slotPattern slot, 1 to 16, that receives the recording.
record-setup-roledropdownrecord-setup-roleSong role stored with the slot (Intro, Verse, Chorus ...). It is shown on the slot button.
record-setup-nametext boxrecord-setup-nameOptional name for the pattern slot. Leave empty to keep the current name.
record-setup-barsdropdownrecord-setup-barsLength of the recording loop: 1, 2, 4 or 8 bars.
record-setup-modedropdownrecord-setup-modeOverdub keeps the notes already in the loop and adds yours; Overwrite replaces the loop's notes as you play.
record-setup-quantizesliderrecord-setup-quantizeHow strongly recorded hits snap to the grid. 100% puts them exactly on the step, 0% keeps your own timing (up to 50 ms off).
Quarter-note clickcheckboxrecord-setup-metronomePlays the metronome click while recording.
CANCELbuttonbtn-record-setup-cancelCloses the window without starting a recording.
⏺ START RECORDINGbuttonbtn-record-setup-startApplies these settings, arms recording and starts playback.
input-project-filefile pickerinput-project-fileFile chooser used by LOAD PROJECT (.axiomproject or .json).
input-load-jsonfile pickerinput-load-jsonFile chooser used by LOAD (patch or song .json).
✕buttonbtn-storage-closeClose
chk-storage-movecheckboxchk-storage-moveCopies the files saved now into the new place. Off: the new place starts empty and the kits are rebuilt there when used.
CHOOSE A FOLDER...buttonbtn-storage-folderPick a folder; AXIOM makes a folder called AXIOM Data in it.
USE BROWSER STORAGEbuttonbtn-storage-idbKeep everything inside this browser (nothing to pick).
ASK ME LATERbuttonbtn-storage-laterBrowser storage for now; ask again from SETTINGS > STORAGE FOLDER.
RECONNECT THE FOLDERbuttonbtn-storage-reconnectThe browser needs one click to let AXIOM use the saved folder again.