User Interface Guide
Every module in 2020 is built from the same set of controls. For what an individual module’s parameters do, see the Modules Guide.
Basics
Project
![]()
A project holds the whole instrument: every module’s parameters, every preset slot, and the sounds loaded into the samplers. Opening one puts it all back as you left it. Projects are saved as .2020 files.
| Modifier | Action | Description |
|---|---|---|
Command |
N |
Start a new project. |
Command |
S |
Save the project file. |
Command + Shift |
S |
Save the project file under a different name. |
Command |
O |
Open a project file. |
Undo and Redo
Undo steps back through parameter and sequence changes and preset saves, renames, and deletions, from the Edit menu or with the keys below. A sequencer recording take counts as one step, however long it ran.
Two kinds of change are left out: the tempo, and the on/off switches of the effects in the FX patcher, which the effects flip by themselves as they are triggered. Opening a project or starting a new one clears the history.
| Modifier | Action | Description |
|---|---|---|
Command |
Z |
Undo the last change. |
Command + Shift |
Z |
Redo the last undone change. |
Modifiers
Three modifiers turn an ordinary gesture into a second one: a drag becomes a range edit, a preset key becomes a save. They are parameters like any other, so each can be moved to a different key under Global Keys, or driven from a MIDI control or an OSC message (see MAPPING Tab and OSC Settings).
| Modifier | Parameter | Default key mappings |
|---|---|---|
SHIFT |
/shift |
Shift |
FN1 |
/fn1 |
Option / Control |
FN2 |
/fn2 |
Command |
Modifiers apply to performance gestures only. Application shortcuts such as Command + S always use the physical keys.
What each modifier does
| Where | SHIFT |
FN1 |
FN2 |
|---|---|---|---|
| Knob | - | Drag to set the randomization range. | Drag to set the randomization probability. |
| Preset key or slot | Saves the preset. | Recalls it at once. | - |
| Grid Sequencer cell | Drag to draw the volume. | Drag a beat to copy it. | Click or drag to toggle accents. |
| Envelope point | - | Drag to set the randomization range. | Point at the editor to show the pitch envelope. |
| Equalizer point | - | Drag to change the Q. | - |
| FX Patcher node | - | Drag to change its arc’s width and reach. | - |
| MIX strip | - | - | Drag to set the strip’s distortion. |
Basic UI Components

Knobs, number boxes, sliders, and toggles carry every parameter in the app. A knob in a module that receives triggers has two more rings around it. The red ring is the probability that the knob picks a new value each time the module is triggered, and the yellow ring is the range it picks from. Set the probability to zero and the knob stays where you left it.
| Modifier | Action | Description |
|---|---|---|
| - | Double-click a component | Resets the value to its default. |
FN1 |
Double-click a Randomizable Knob | Resets the randomization range. |
FN2 |
Double-click a Randomizable Knob | Resets the randomization probability. |
FN1 + FN2 |
Drag a Randomizable Knob | Changes the randomization range and probability together. |
| - | Click a toggle component | Toggles the value on or off. |
| - | Drag a Knob or Number Box | Changes the value. |
Shift key |
Drag a Knob or Number Box | Changes the value twice as fast (the physical key, even if SHIFT is remapped). |
| - | Scroll over a Knob or Number Box | Changes the value. With FN1 or FN2 held, changes the range or the probability. |
| - | Click a Knob or Number Box, type a number | Return sets it, Escape cancels. |
| - | Up / Down arrow on a Knob or Number Box |
Steps the value. With the Shift key, two steps at a time. |
| - | Drag a Slider | Changes the value. |
Context Menu

Right-clicking opens one menu with a section for every level of what you clicked: the whole app (ALL), then the group, then the instrument, then the control.
| Section | Items |
|---|---|
| Whole app | Save Snapshot, Load Snapshot, Reset All Parameters |
| Group or instrument | Reset <module>, Disable Preset Recall, Save Snapshot, Load Snapshot, Trigger: (see Trigger Source), and Unload Sound File on instruments that load sounds |
| Knob or Number Box | Reset Value |
| Randomizable Knob | Reset Randomize Range, which resets both the range and the probability |
| Grid Sequencer | Clear Sequence, Duplicate Sequence, Double Tempo, Halve Tempo |
| Envelope | Reset Envelope |
| Equalizer point | The point’s filter type |
| MIX strip | Reset Distortion Value |
| FX Patcher | Arrange Nodes |
Disable Preset Recall appears on every module except the transport. Snapshot items appear only on modules that store presets, and Load Snapshot only once a snapshot has been saved. Trigger: appears only on modules that can follow a trigger.
Sound File Menu

The Sound File Menu loads sound files into the modules that take them. Files and folders can also be dragged in from Finder.
| Item | Description |
|---|---|
| Open File… | Opens a file from anywhere. Its submenu lists the files already loaded in this project. |
| Open Folder… | Opens a folder and lists its sounds in this menu. Its submenu lists the folders you opened before. |
| User Library | Browses ~/Music/2020/Sounds. Manage User Library, at the top of it, shows that folder in Finder. |
| ../Parent Folder | Goes up one folder from the one listed. |
Preset Selector
![]()
A preset slot stores every parameter of the module it belongs to. Most modules have 80 slots in two rows: the top row picks a song, and the bottom row picks one of that song’s eight patterns. MIX, SEND, the FX patcher, and TRP have 10 slots and no pattern row.
The preset keys act on every module at once: the top letter row picks songs, the home row picks patterns. A song key goes to that song’s first pattern, unless that song is already playing, in which case it keeps the current pattern. Clicking a slot on a module instead recalls, or with SHIFT saves, that module alone.
| Modifier | Action | Description |
|---|---|---|
| - | Q - P (song) or A - K (pattern) |
Restore the preset at the beginning of the next bar. |
FN1 |
Q - P (song) or A - K (pattern) |
Restore the preset immediately. |
SHIFT |
Q - P (song) or A - K (pattern) |
Save the preset. |
The letters above are for a QWERTY keyboard. On other layouts, use the letter printed on the slot; see Configuring the Keyboard Layout.
Preset keys answer with any combination of these modifiers held, except FN2, so shortcuts such as Command + Q keep working.
Named Presets (MST)
The MST module has a preset menu instead of preset keys. Its presets have names, and the keys do not reach them. The menu holds New Preset, Overwrite Preset, Rename Preset, Remove Preset, and Reset to Default, and choosing a preset from the list recalls it at once.
Disabling Preset Recall

Disable Preset Recall, in a module’s context menu, holds that module where it is while the rest of the app follows preset changes. Use it for a part that should stay put as the song moves, such as a bassline. Choose Enable Preset Recall to undo it.
Snapshots
![]()
A snapshot keeps a sound or a sequence outside any one project, so you can bring it into the next one. Save Snapshot in a module’s section of the context menu saves that module; the same item in the whole-app section saves everything. Snapshots are stored in ~/Music/2020/Snapshots.
Performance
Transport Control
![]()
The three icons at the left are the metronome, the trigger mode, and the sequencer REC.
The transport sets tempo and swing, and runs the clock. Pressing play while it is already playing rewinds to the top of the bar, and pressing stop while it is already stopped cuts every voice and tail at once.
Tap TAP at least three times to set a tempo; a pause of more than two seconds starts the count over. The two nudge buttons beside BPM, and the arrow keys, nudge the tempo only while held, and it returns when you let go.
| Modifier | Action | Description |
|---|---|---|
| - | SPACEBAR |
Toggle play/stop. |
| - | LEFT ARROW |
Temporarily decrease BPM. |
| - | RIGHT ARROW |
Temporarily increase BPM. |
The transport also holds the sequencer REC, the green circle icon, which records into the Grid Sequencer. The audio REC in the master section, which records to a file, is a different button; see Recording Settings.
Metronome
The metronome icon at the left end of the transport switches the metronome on and off. It clicks on every beat while the clock plays, higher and louder on the first beat of each bar, and the icon swings in time.
The metronome is always off when 2020 starts and is not saved in projects, snapshots, or presets.
The click is for your ears only: it never reaches the master section, Link Audio, or a recording. It has its own METRONOME row in Bus Output, where you choose which output it plays from.
Grid Sequencer

The Grid Sequencer holds one track per instrument, with one cell per step. A cell carries a volume and an accent of its own as well as a trigger, the accent playing that step harder. For the resolution and the controls along the top, see SEQ.
| Modifier | Action | Description |
|---|---|---|
| - | Click or drag over cells | Toggles triggers. |
FN2 |
Click or drag over cells | Toggles accents. |
SHIFT |
Drag over cells | Changes the volume sequence. |
FN1 |
Drag and drop | Copies the sequence one beat at a time. |
The context menu adds Clear Sequence, Duplicate Sequence, which appends a copy of the sequence and doubles BEAT (up to 32), and Double Tempo and Halve Tempo, which rearrange the grid to play the sequence at double or half speed.
Trigger Mode
The icon next to the metronome decides when a trigger you play by hand reaches its instrument, for every instrument at once. Click it to choose a mode.
| Mode | Description |
|---|---|
| LIVE | The trigger sounds as soon as you play it. |
| QUANTIZE | The trigger waits for the next cell of the instrument’s own track in the Grid Sequencer. |
| REPEAT | As QUANTIZE, repeating on every cell for as long as the pad, key, or note is held. |
With the clock stopped there is no grid to wait for, and both quantized modes behave as LIVE.
Recording into the Sequencer
The sequencer REC, next to the trigger mode, writes what you play into the Grid Sequencer.
- Start the clock with
SPACEBAR. Nothing is recorded while it is stopped. - Switch the sequencer
RECon. - Play the pads, a MIDI keyboard, or computer keys you have mapped to pads with Learn Mode or the MAPPING tab (by default
ZtoMonly switch instruments and groups on and off). - Switch the sequencer
RECoff to end the take.
Each trigger overwrites the nearest cell on that instrument’s track and carries the strength it was played at. In QUANTIZE and REPEAT it is written to the cell it sounded on, so the pattern you recorded is the one you heard.
Dejavu
![]()
Dejavu gives the parameter randomizers a memory. It keeps the last 32 generations of random values, and its probability sets how often a randomizer reaches back for an old value instead of picking a new one.
At 100% with a length of 8, every randomizer repeats what it produced 8 triggers ago, which turns them into 8-step sequencers. At 0% nothing repeats. Values in between let a pattern half-form and drift. The steps count triggers rather than bars, so a module played twice a bar and one played sixteen times end up with loops of different lengths.
Dejavu also covers the sequencer’s own dice: whether a cell fires under TRIG, and where ADD places an extra trigger.
DJV and LEN in the transport set this globally. Individual modules can be set over OSC or MIDI with an address such as /group1/1/dejavu/prob.
Mute

With MUTE GRP on, an instrument that triggers stops the sound of the others in its group that share a bus with it, the way a closing hi-hat cuts an open one. In GRP3, with MUTE GRP on, the two FM voices cut each other whatever their buses.
Sound Editing
Envelope

An envelope draws how a parameter moves over the life of a note. FM and granular modules hold several envelopes at once, selected with the algorithm selector or the tabs, and point positions randomize like any other value.
| Modifier | Action | Description |
|---|---|---|
| - | Drag a point | Moves the envelope point. |
| - | Drag a line between points up or down | Changes the curve of the envelope. |
FN1 |
Drag a point | Changes the range of randomization. |
| - | Double-click a point | Resets its range of randomization. |
| - | Double-click a line between points | Straightens the curve. |
FN2 |
Mouse over | Switches to the pitch envelope. |
LFO

Most modules carry one or more LFOs, each behind its own button. The button draws the LFO’s shape and names its targets: one target’s name, a count such as 3 TGT, or NONE. On a MIX strip it shows only the shape. Hovering highlights its targets; clicking opens the panel, where you tick the parameters to drive.
| Waveform | Description |
|---|---|
| SIN / TRI / SAW / SQR | Sine, triangle, sawtooth, and square. |
| RND | A new random value each cycle, so FRQ sets how often it jumps. |
| NOISE | Continuous noise, sweeping from brown through white to blue as you raise FRQ. |
| Control | Description |
|---|---|
| FRQ | Rate, following the tempo. The dial reads -64 to 64: 0 is one cycle per beat, and every 16 steps doubles or halves it. |
| AMT | Amount of modulation. Negative values run the shape in the opposite direction. |
| SKEW | Leans the shape: a saw’s slope ratio, a square’s pulse width, a triangle’s apex. |
| RISE / FALL | Slow how fast the shape may rise or fall. 0 leaves the shape untouched; 127 stretches a rise or fall over four bars. |
| TRIG | Chooses the trigger the LFO follows. See also Trigger Source. |
| RETRIG | Resets the phase every time the LFO is triggered. |
| CYCLE | When off, the shape runs once per trigger and holds its end value: a one-shot ramp. |
| INVERT | Turns the shape upside down. |
| SAH | Holds the output at a fixed clock resolution: NONE, 1/4, 1/8, 1/12, 1/16, 1/20, 1/24, 1/28, 1/32. |
FRQ, AMT, SKEW, RISE, and FALL randomize like any other knobs, and pick their new values together each time the LFO is triggered, whether or not RETRIG is on.
FM Algorithm

The algorithm sets how the operators feed one another. It also selects which of operators 1 to 3 the editor below is showing.
| Modifier | Action | Description |
|---|---|---|
| - | Click an operator | Displays the clicked operator in the editor. |
| - | Click outside of operators | Steps to the next algorithm. |
Equalizer

The equalizer sits at the top of each MST strip. Q sets how narrow the curve around a point is.
| Modifier | Action | Description |
|---|---|---|
| - | Drag a point | Sideways sets frequency, up and down sets gain. |
FN1 |
Drag a point | Changes the Q value of the EQ point. |
| - | Double-click a point | Resets its Q and gain. |
| - | Right-click on a point and select a filter type from the context menu | Selects the EQ type. |
Routing and Triggers
Where a module’s sound goes, where its triggers come from, and what a trigger carries with it. For the whole signal path at a glance, see How sound moves.
Audio Bus
![]()
Each instrument sends to every bus it has switched on:
| Switch | Color | Where the sound goes |
|---|---|---|
| BUS1 - BUS3 | Red | Straight to that channel of the MIX. |
| FX1 - FX3 | Purple | Into that input of the FX Patcher, whose outputs come back on BUS4 - BUS6. |
| SEND | Orange | Switches the instrument’s DL1, DL2, and RVB send dials on or off. See SEND. |
FX Patcher

The FX patcher connects its effects by where they sit, not by cables. Signal flows down the patcher: nodes higher up come first, and nodes at the same height are taken left to right. Each node that has an output draws an arc below it. It feeds every node that comes after it and sits inside its arc, so moving a node changes what it feeds and what feeds it.
FX1, FX2, and FX3 are inputs only, where the instruments come in. BUS4, BUS5, and BUS6 are outputs only, and go on to the MIX.
| Modifier | Action | Description |
|---|---|---|
| - | Drag a node | Moves the node. |
FN1 |
Drag a node | Sets how wide the node’s arc opens and how far down it reaches. |
| - | Drag on an empty area | Draws a rectangle that selects the nodes inside it. |
| - | Drag a selected node | Moves all the selected nodes together. |
| - | Click an empty area | Clears the selection. |
Arrange Nodes in the right-click menu lays the nodes out again so the patch is easier to read. It keeps every connection and every order the sound depends on, so the sound does not change.
Trigger Source

A module normally runs on its own input: its pad, its key, its MIDI note, its sequencer track. Trigger: in its right-click menu points it at something else instead. The entry names what the module follows now. Every LFO makes the same choice with TRIG in its panel, so an LFO can run on a different trigger from the module hosting it.
| Choice | Description |
|---|---|
| INPUT | What the module ran on before: an instrument’s own pad, key, MIDI note and sequencer track; an FX or SEND module’s incoming trigger. Default. |
| NONE | Shown in place of INPUT on HGR and on the looper LFOs’ TRIG, which have no trigger of their own. |
| INSTRUMENTS ▸ TRIG 1-1 … TRIG 4-6 | Another instrument’s trigger. |
| INSTRUMENTS ▸ TRIG SLC | The Slicer’s trigger. |
| CLOCK ▸ RESET | The start of every bar. |
| CLOCK ▸ 1/16, 1/8, 1/4 | Every sixteenth, eighth, or quarter note. |
What a module borrows is the timing and the level, nothing else. It keeps its own sound, its own randomization, and its own routing: a snare following a kick plays snare, on the kick’s rhythm.
- On an instrument, the chosen source replaces the sequencer track that would otherwise drive it. Its own pad stays live, so you can always play it by hand.
- On an LFO,
INPUTmeans whatever its module runs on. Any other choice detaches it, so it stops retriggering with the module. - On an FX module the choice also replaces what it passes on to everything after it in the patcher.
- Choices chain: follow an instrument that follows a third one and you get the third one’s timing. If the choices form a loop, one module in it falls back to its own input.
- A clock source arrives at a plain hit’s level with no accent, exactly as a pad pressed on screen does.
- An instrument that is switched off sends no triggers, so nothing following it fires.
Trigger Events (CV)

The CV number box on an instrument sets the probability, from 0% to 100%, that its trigger is sent onward at all. It starts at 100%. The probability is decided once per trigger and applies to every destination together: the FX buses, the delay and reverb sends, the mixer strips, and the trigger outputs on your audio interface.
The instrument plays either way. Modules that follow it through Trigger Source still get every trigger.
In the patcher, an FX module’s THRESHOLD and PROB decide what an arriving trigger does; see Triggers. CV from several instruments on one step adds up.
CV stays inside the app. To drive hardware, use Trigger Output instead.
Preferences
Preferences opens from the 2020 menu ▸ Preferences..., or with Command + ,. The Recorder Settings... item in the menu next to the audio REC button opens it too. Its tabs are AUDIO, MIDI, MAPPING (see MAPPING Tab), ABLETON LINK, OSC, RECORDING, THEME, and CHANGE LOG.
Audio Settings

The AUDIO tab chooses the audio device and where each bus and trigger comes out.
Audio Device
Routing is remembered per output device, so switching devices also brings back the routing you set up for that one.
Input Channel
CHANNEL picks the stereo input pair. Link Audio input is chosen separately, under Ableton Link.
Bus Output
The bus router sends each bus to a pair of physical outputs on the current interface.
| Row | What it carries |
|---|---|
MST1, MST2 |
The two master outputs, after the MST section. |
BUS1 - BUS6 |
The six MIX channels, for sending a bus to its own output. |
METRONOME |
The metronome click only. |
Each row has an OUTPUT pair, a LEVEL, a CLIP mode, and a DELAY of 0 to 100 ms.
On a device you have not set up before, MST1 plays from outputs 1-2. MST2 plays from 3-4 if the device has four or more outputs, and from 1-2 otherwise. BUS1 - BUS6 start at NONE, every LEVEL at 0 dB except METRONOME at -6 dB, and every CLIP at SOFT 6 dB. RESET puts the table back to these settings: click it, then click RESET? within three seconds. If every row is left at NONE, 2020 puts MST1 and MST2 back on their default outputs the next time the device opens, so it cannot go silent.
METRONOME starts on the same pair as MST1, or at NONE if a trigger or clock output already uses that pair; point it at your headphones to keep the click off the main speakers.
Trigger Output
The trigger router sends clock and trigger pulses out of individual physical channels, for modular gear and anything else that takes a pulse. The table is folded at first: click TRIGGER OUTPUT to open it.
Each row has a SOURCE, an OUTPUT channel, and a DELAY of 0 to 100 ms.
TRIGandSLCsend an 8 ms pulse each time the instrument is triggered. ATRIGpulse’s height follows how hard the instrument was hit: half scale for a plain hit, full scale for an accent.SLCalways sends full scale.RESETsends an 8 ms pulse at the start of every bar.CLOCKsources send a square wave that is high for the first half of each sixteenth, eighth, or quarter note.
A pulse is a steady voltage, so it only survives an interface with DC-coupled outputs, such as one made for modular gear. The table’s RESET puts every row back to NONE, again with a second click on RESET?.
MIDI Settings

The MIDI tab lists your MIDI devices and what 2020 does with each.
MIDI Input
IN: Plays and controls 2020 from that device.
On macOS, 2020 also offers a virtual MIDI port named 2020 MIDI IN, so another app on the same computer can play and control it. On first launch, the system’s default MIDI input is switched on, and so is OUT on the output with the same name.
MIDI Output
SYNC: Sends MIDI clock to that device.OUT: Sends the value of every mapped parameter back to that device, so LEDs and motorized faders follow 2020. It does not send notes or triggers.
MIDI Clock
CLOCK DELAY delays the outgoing MIDI clock by 0 to 100 ms, for gear that answers the clock late.
What SYNC sends:
Startwhen the clock starts, and again when you rewind by pressing play while it plays.Stopwhen the clock stops.- Clock pulses at 24 per quarter note, at the current BPM, even while the clock is stopped, so the receiving gear keeps the tempo.
- The clock runs straight: swing is not applied to it.
2020 does not follow an incoming MIDI clock. To keep it in time with other software or gear, use Ableton Link.
Ableton Link

Link keeps tempo and bar position together across devices on the same network, and Link Audio carries audio between them. Link can also be switched on from the Options menu; Link Audio is switched on only here.
Tempo Sync
START STOP SYNC starts and stops 2020 together with other Link peers that also have start and stop sync on. SYNC DELAY offsets Link timing by -300 to 300 ms.
Link Audio
Link Audio works on its own, with or without ABLETON LINK switched on. 2020 sends eight stereo channels to other Link Audio peers: MST1, MST2, and BUS1 to BUS6.
PEER NAME: The name other Link Audio peers see for 2020,2020at first.SEND LEVEL: The level of the channels 2020 sends:0 dB,-6 dB,-12 dB, or-24 dB.MUTE 2020: Mutes 2020’s buses on its own audio device while Link Audio keeps sending. The trigger and clock outputs keep running.RECEIVE CHANNEL: The peer and channel 2020 receives, chosen from the peers on the network.OVERRIDE INPUT: Replaces the hardware input with the selected Link Audio input whenLINK AUDIOis enabled and the selected receive channel is currently available.LATENCY: The receive latency,-300to300 ms,100 msat first.
OSC Settings

Almost every parameter in the app has an OSC address; see Parameters for the full list.
Every OSC value is a number from 0.0 to 1.0, standing for the parameter’s whole range: 0.0 is its lowest value and 1.0 its highest. A switch is on at 0.5 and above. This holds for messages 2020 receives and for those it sends. An address must match exactly; wildcards are not supported.
Receive Port
RECEIVE OSC is off at first. ADDRESS shows this computer’s network address, for the sending device to aim at. PORT is 8001 at first.
Send Ports 1-3
The three send ports have the same controls, so one machine can take everything while another takes only what it needs.
SEND OSC is off at first. ADDRESS starts at 127.0.0.1, this computer, and PORT at 9000, 9001, and 9002.
SEND PARAMS is where a port picks its share: MOD, CLOCK, PARAM, TRIG, SEQ, and PRESET. All of them start off, and a port sends nothing until at least one is ticked. MOD is the SHIFT/FN1/FN2 modifiers; all six match the Category column in Parameters.
If 2020 cannot open a port, for example because another app is already using it, its RECEIVE OSC or SEND OSC tick clears itself.
Recording Settings

The RECORDING tab sets up the audio REC button in the master section, which records the sound to a file.
Source
CHANNELS: Selects what is recorded.2 CH MIX : MST1 + MST2:MST1andMST2added together into one stereo file.4 CH STEM : MST1 / MST2:MST1andMST2as two stereo stems.12 CH STEM : BUS1 / BUS2 / BUS3 / BUS4 / BUS5 / BUS6: The six MIX buses as six stereo stems.
REC STARTandREC STOP: When a take begins and ends after you clickREC.
IMMEDIATE starts or stops at once, CLOCK RESET waits for the start of the next bar, and ANY TRIGGER (start only) waits for the first trigger to reach the output. The REC button stays dimly lit while a take is waiting. If the clock is stopped, a take set to stop on CLOCK RESET ends immediately.
File Format
FORMAT is WAV or AIFF. BIT DEPTH is 16-bit, 24-bit, or 32-bit; 32-bit is available only with WAV. LEVEL and CLIP are applied after the recorded channels are summed. CLIP offers SOFT 6 dB, SOFT 0 dB, and CLIP 0 dB, plus NONE at 32-bit.
To record stems and remix them fully in another DAW, use WAV at 32-bit with CLIP at NONE: it keeps signals above 0 dB intact.
Warning. A 32-bit file can hold peaks far above full scale. Play one back carefully, and protect your equipment and your hearing.
File Location
PATH: Recordings are saved in~/Music/2020/Recordings.OPENshows that folder in Finder.AUTO REVEAL: Reveals the saved recording as soon as recording finishes.
File Name
New takes are named from the PATTERN, using the placeholders listed under PLACEHOLDERS. The default is:
{project}-{year}{month}{day}-{hour}{minute}{second}-bpm{bpm}
A stem adds the bus it holds to the name, and a name that is already taken gets (1) added. AIFF files end in .aif. For example, the BUS1 stem of a take might be named:
MyProject-20260925-142501-bpm120-BUS1.wav
Theme Settings

The THEME tab picks and edits the color scheme. COLOR SCHEME selects one, and New Color Scheme in the same menu starts a new one under a name you give it.
Eleven colors make up a scheme: Background, Base, Text, Blue, Green, Orange, Pink, Purple, Red, Teal, and Yellow. Each scheme also has its own DARK MODE switch.
Schemes are saved as .2020colorscheme files in this folder, and a scheme file placed there appears in the menu the next time 2020 starts. To share a scheme, pass its file on. To open the folder, choose Go > Go to Folder from the Finder menu, type the path, and press Return:
~/Library/Containers/com.dubrussell.2020beatmachine/Data/Library/Application Support/com.dubrussell.2020beatmachine/colorschemes/
Controllers and Key Mapping
Binding hardware controls and computer keys to parameters. Learn Mode is the quickest way to bind one control to one parameter. The MAPPING tab does everything else: one control driving several parameters, ranges, and the app’s own keys.
Learn Mode

- Turn learn mode on from the Options menu, or with
Command + L. - Click the control on screen that you want to drive. It stays selected.
- Move the knob or press the key that should drive it. MIDI learns control changes (CC) and notes.
- Turn learn mode off the same way.
A mapping made in learn mode replaces mappings of the same kind: a learned key stops the key driving any other parameter and takes the place of the parameter’s other keys, and a learned MIDI control does the same among MIDI controls. The mapping covers the parameter’s whole range, even if it had a range before.
Keys already spoken for globally, such as the preset and instrument keys, cannot be taken, and a parameter that has a global key, such as play, cannot take another key in learn mode.
Pressing Delete or Backspace while learn mode is active removes every key and MIDI mapping of the selected parameter, including ones with a range set in the MAPPING tab. Learn mode ignores Tab, Return, Escape, and the arrow keys, and leaves Command shortcuts to the menus.
MAPPING Tab

The MAPPING tab in Preferences lists every key and MIDI control bound to a parameter, and is where you add, change, and delete them. Every change takes effect at once and is saved straight away. Mappings belong to the app, not to a project, so undo does not step through them.
One control can drive several parameters, and one parameter can take several controls. Each mapping also has its own range, so a knob can sweep just part of a parameter, or sweep it the other way.
Finding a Mapping
Mappings are listed one card per input, grouped by module. Each card shows the parameter’s name, its OSC address, its source (KEY, MIDI, or GLOBAL), the input, and its range.
- Search field: finds mappings by parameter name, address, key, or CC. Type
cc21to see everything that control drives. Common words such ascutofforvolumealso find the labels the panels use, such asLPF. ALL,KEY,MIDI,GLOBAL: show every mapping, or only one kind.
When an input drives other parameters too, its box shows how many, such as +2 PARAMS. Click that to search for the input and see them all.
Adding a Mapping
Adding never takes an input away from anything else.
- Click
+ ADD. - Type part of the parameter’s name or address under
ADD MAPPING, then click the result, or pick it with the arrow keys and press Return. - Give it an input in one of three ways:
LEARN: press a key or move a MIDI control.MIDI: type the channel (CH, 1 to 16), chooseCCorNOTE, type the number (NO, 0 to 127), and clickADD.KEY: type a key name such as1,shift + 1, orF5, and clickADD.
CANCEL closes the panel without adding anything.
Changing the Input
Click the input box on a card, which shows LEARN when you point at it, then press a key or move a MIDI control. Only that card’s input changes; the parameter’s other mappings stay. Press Escape or click the box again to stop waiting.
A key that 2020 already uses, such as a preset key, is refused, and the box says what uses it. So are Command shortcuts, which belong to the menus. A parameter that has a global key, such as play, changes its key under Global Keys instead.
Setting the Range
The two fields on the right of a card set what the parameter does at each end of the control, in the parameter’s own units, such as Hz or ms. Type a value and press Return, or drag the slider that opens under the field. A value ending in % is read as a percentage of the parameter’s range.
- A MIDI control sweeps from the left field to the right field. Set a range of
50%to100%and the knob covers only the top half. - A key sends its
DOWNvalue while held and itsUPvalue when released. - On a trigger, the range is the strength it plays at (
VEL). - A switch or a choice moved by a MIDI control is picked from a menu; one a key or note steps shows no range.
To invert a mapping, set the left field higher than the right one, so turning the control up turns the parameter down. Some cards show no range, such as a preset key, because their input does not use one.
Deleting a Mapping
Click ✕ on the card. It turns into a red DELETE?; click it again within three seconds to delete the mapping.
Global Keys
The app’s own keys, such as the preset keys, the instrument keys, SPACE, and the modifiers, are listed under ▸ GLOBAL KEYS at the bottom of ALL, or on their own under GLOBAL. Click that heading to open or close the list.
To move one, click its key box and press the new key. The modifier rows, /shift, /fn1, and /fn2, also take a modifier key on its own. A changed key shows RESET, which puts it back to its default. Global keys cannot be deleted.
Configuring the Keyboard Layout
The song preset keys, the pattern preset keys, and the instrument enable keys are bound by position rather than by letter. On an AZERTY keyboard the first song preset is therefore A rather than Q. A layout that cannot give every position a distinct character, such as a Cyrillic or Greek one, keeps the QWERTY defaults rather than moving part of a row.
2020 reads your keyboard layout at startup, and binds these keys to it the first time it starts. After you switch layouts and start 2020 again, a key that stayed where it was shows RESET under Global Keys; press it to move the key to the new layout. To put back every key at once instead, quit 2020, delete mappings.config, and start it again.
Note. Deleting the file also removes every mapping you made.
mappings.config is in this folder. To open it, choose Go > Go to Folder from the Finder menu, type the path, and press Return:
~/Library/Containers/com.dubrussell.2020beatmachine/Data/Library/Application Support/com.dubrussell.2020beatmachine/
Default keys on a QWERTY keyboard:
| Keys | Parameter |
|---|---|
Q - P (top row) |
Song presets |
A - K (home row) |
Pattern presets |
Z - M (bottom row) |
Instrument and group on/off |
Space |
Play/stop |
Left Arrow / Right Arrow |
Nudge tempo down / up while held |
Shift / Option or Control / Command |
SHIFT / FN1 / FN2 |