User Interface Guide

This document explains how to use the user interface. For more information about each module, refer to Modules Guide.


Project

Project

A project file stores all preset and sound data. When you open a project file, all of that data is recalled. Project files use the .2020 extension.

Keyboard Interactions

ModifierEventDescription
CommandNStart a new project.
CommandSSave the project file.
Command + ShiftSSave the project file under a different name.
CommandOOpen a project file.

Context Menu

Context Menu

The Context Menu lets you control the module or GUI element you right-clicked.


Preset Selector

Preset selector with 80 slots Preset selector with 10 slots

Some modules include a preset feature that lets you save and restore the state of all parameters within the module. These modules offer either 10 or 80 preset slots, which you can access from the keys shown in the GUI. The Q W E R T Y U I O P keys are used for song presets, while the A S D F G H J K keys are used for pattern presets.

Mouse and Keyboard Interactions

ModifierEventDescription
-Q W E R T Y U I O PRestore the preset at the beginning of the next bar.
ControlQ W E R T Y U I O PRestore the preset immediately.
ShiftQ W E R T Y U I O PSave the preset.
-A S D F G H J KRestore the preset at the beginning of the next bar.
ControlA S D F G H J KRestore the preset immediately.
ShiftA S D F G H J KSave the preset.

Disabling Preset Recall

Disabling Preset Recall

To disable preset recall, right-click and select “Disable Preset Recall”. This is useful if you do not want some modules to follow a preset.


Snapshots

Snapshots

The Snapshots feature lets you save frequently used sounds and sequences for later reuse. You can save snapshots for the entire app or for individual modules with a preset GUI. Snapshots are saved from the context menu to ~/Music/2020/Snapshots.


Basic GUI components

Basic GUI components

These basic GUI components let you adjust parameter values and toggle switches on and off. Knobs in modules that can receive trigger events also include a randomize function. Randomizable knobs display the probability and range as red and yellow lines, respectively.

Mouse and Keyboard Interactions

ModifierEventDescription
-Double Click a componentResets value to default.
-Click a Toggle componentToggles value ON/OFF.
-Drag a Knob or Number BoxChanges the value.
ShiftDrag a Knob or Number BoxChanges the value faster.
-Drag a SliderChanges the value.
AltDrag a Randomizable KnobChanges the randomizing range.
CommandDrag a Randomizable KnobChanges the randomizing probability.

Sound File Menu

Sound File Menu

The Sound File Menu lets you browse and load sound files. You can browse the sound files and folders in ~/Music/2020/Sounds from the User Library menu. You can also open sound files and folders by dragging and dropping them.


Transport Control

Transport Control

You can control the BPM, swing, play, and stop. Clicking the play button again while playing will rewind to the beginning of the bar. Clicking the stop button while stopped will kill all audio. When manually syncing with other music, the tap tempo and BPM adjustment buttons are handy.

Keyboard interactions

ModifierEventDescription
-SPACEBARToggle play/stop.
-LEFT ARROWTemporarily decrease BPM.
-RIGHT ARROWTemporarily increase BPM.

Dejavu

Dejavu

Dejavu turns parameter randomizers into generative sequencers. It stores up to 32 generations of random values for ALL parameter randomizers, then recalls past values based on the selected probability and length.

For instance, if you set the probability to 100% and the length to 8, the randomizer behaves like an 8-step sequencer that repeats values generated 8 steps earlier. Conversely, if you set the probability to 0%, the sequence will always be random. Setting the probability anywhere from 1% to 99% creates a gradually changing sequence. What makes this interesting is that the progression of the recalled steps is independent of the BPM clock or bar length; instead, it is triggered by the instrument itself. This means that even with a length of 8, the number of beats each module loops is determined by the triggering frequency. As you adjust the Dejavu parameters, you’ll uncover new ways to create build-ups and transitions in your music.

Adjust the DJV and LEN parameters on the right side of the clock module to control the global Dejavu settings. You can also set them per module via OSC or MIDI with an address like /group1/dejavu/prob.


Grid Sequencer

Grid Sequencer

The Grid Sequencer lets you create and play trigger sequences. You can set the resolution for each beat and edit the sequence using the buttons in the upper-right corner.

Mouse Interactions

ModifierEventDescription
-Click or Drag over cellsToggle triggers.
CommandClick or Drag over cellsToggle accents.
ShiftDrag over cellsChanges the volume sequence.
AltDrag and dropCopies sequences one beat at a time.
-Execute Duplicate Sequence from the context menuDuplicates the current sequence to the end position.
-Execute Double Tempo from the context menuRearrange grids to play the current sequence at double the speed.
-Execute Halve Tempo from the context menuRearrange grids to play the current sequence at half the speed.

Envelope

Envelope

The envelope can be edited to make changes to parameters such as volume, pitch, and granular parameters that correspond to the flow of time. If you’re using an FM synthesizer or granular sampler, you can select and edit specific envelopes from among multiple envelopes using the algorithm selector or tab. You can also randomize the coordinates of the envelope points.

Mouse Interactions

ModifierEventDescription
-Drag a pointMoves the envelope point.
-Drag a line between points up or downChanges the curve of the envelope.
AltDrag a pointChanges the range of randomization.
CommandMouse overSwitches to the pitch envelope.

Audio Bus

Audio Bus

The output of an instrument module can be sent to any BUS. For example, if you want to send it directly to the mixer, enable BUS1. If you want to process it with an FX module, enable FX2.


FX Patcher

FX Patcher

You can freely connect modules represented by nodes. The circular arc displayed on each node indicates the range for connecting it to another node.

Mouse Interactions

ModifierEventDescription
-Drag a nodeMoves the node.
AltDrag a nodeChanges the connection range of the node.

Trigger Events (CV)

Trigger Events (CV)

When you enable an FX bus (FX1, FX2, or FX3) and trigger it, you can control the connected FX module in the FX patcher with a CV signal. In the FX module, if the CV signal exceeds the threshold, parameter randomization is triggered and the LFO is reset. If the CV signal falls below the threshold, it is not passed to the next module. CV signals are also summed together. Note that CV signals are designed for internal use only and cannot drive hardware synthesizers.


Mute

Mute Mute

When MUTE GRP is on, instruments within the same group that use the same buses will mute each other when triggered.


FM Algorithm

FM algorithm

You can switch algorithms and toggle the display of operator editors from 1 to 3.

Mouse Interactions

ModifierEventDescription
-Click an operatorDisplays the clicked operator in the editor.
-Click outside of operatorsSwitches algorithms.

Equalizer

Equalizer EQ Point

You can adjust the EQ points by moving them in any direction. Moving them left and right controls the frequency, while moving them up and down controls the volume. By changing the Q value, you can adjust the sharpness of the EQ.

Mouse Interactions

ModifierEventDescription
-Drag a pointMoves the EQ point.
AltDrag a pointChanges the Q value of the EQ point.
-Right-click on a point and select a filter type from the context menuSelects the EQ type.

Learn Mode

LEARN Mode

In Learn mode, you can assign MIDI controllers or keys to the selected parameter. However, keys that are already assigned globally, such as those used for presets or instruments, cannot be assigned.

To remove a mapping, press the Delete key while in Learn mode.

Keyboard Interactions

ModifierEventDescription
CommandLToggle Learn mode.

Recordings

Recordings

Output Location

Recorded files are stored in ~/Music/2020/Recordings. Recording settings can be configured in Preferences.

File Format

You can choose Wav or Aiff as the file format. You can choose 16-bit, 24-bit, or 32-bit (Wav only) for BIT DEPTH.

Recording Channel Set

Choose from the following recording channel sets.

  • 2 Ch Mix : OUT1 + OUT2
  • 4 Ch Stem : MST1 / MST2
  • 12 Ch Stem : BUS1 / BUS2 / BUS3 / BUS4 / BUS5 / BUS6

If you want to record stems and remix them completely in another DAW, try the Wav 32-bit format. It allows signals above 0 dB to be recorded correctly. Be careful not to damage your equipment or your ears.

Output File Name

Recording file names can be specified in NAME FORMAT using {project}, {bpm}, {year}, {month}, {day}, {hour}, {minute}, and {second} as placeholders.


Sync with Ableton Link Integration Ableton Link integration provides tight clock synchronization between devices on the same network. It can be enabled via the Preferences window or the Options menu. If you want to sync with MIDI clocks, use another utility app as a bridge.

Options

OptionDescription
START/STOPsync start and stop commands across all connected apps that have Start Stop Sync enabled.
DLYAdjusts the sync delay time in milliseconds. Negative values can also be set.

MIDI

MIDI You can configure MIDI input settings in Preferences. Enabling FEEDBACK will transmit parameter changes within the app to the MIDI device.


OSC

OSC

You can send and receive parameters using Open Sound Control (OSC). Only parameters in the checked categories among Clock, Parameter, Trigger, Sequence, and Preset are sent. Refer to the Parameter list for OSC addresses.


Color Themes

Customizing Color Theme Theme Editor

You can customize the GUI color scheme. There are 11 colors you can set: Background, Base, Text, Blue, Green, Orange, Pink, Purple, Red, Teal, and Yellow. You can also switch between dark mode and light mode. Feel free to experiment with your own color combinations and share them if you come up with a great theme.


Configuring the Keyboard Layout

By default, 2020 is designed for a QWERTY keyboard. If you are using a non-QWERTY keyboard layout, you can change the key mapping by editing the mappings.config file.

  1. Quit 2020.
  2. Choose Go > Go to Folder from the Finder menu.
  3. Type ~/Library/Containers/com.dubrussell.2020beatmachine/Data/Library/Application Support/com.dubrussell.2020beatmachine/ and press Enter.
  4. Edit mappings.config with any text editor.
  5. Open 2020 again after editing.

The default key mapping looks like this

  <key key="q" parameter="/preset/q"/>
  <key key="w" parameter="/preset/w"/>
  <key key="e" parameter="/preset/e"/>
  <key key="r" parameter="/preset/r"/>
  <key key="t" parameter="/preset/t"/>
  <key key="y" parameter="/preset/y"/>
  <key key="u" parameter="/preset/u"/>
  <key key="i" parameter="/preset/i"/>
  <key key="o" parameter="/preset/o"/>
  <key key="p" parameter="/preset/p"/>
  <key key="a" parameter="/preset/a"/>
  <key key="s" parameter="/preset/s"/>
  <key key="d" parameter="/preset/d"/>
  <key key="f" parameter="/preset/f"/>
  <key key="g" parameter="/preset/g"/>
  <key key="h" parameter="/preset/h"/>
  <key key="j" parameter="/preset/j"/>
  <key key="k" parameter="/preset/k"/>
  <key key="z" parameter="/group1/1/enable"/>
  <key key="x" parameter="/group1/2/enable"/>
  <key key="x" parameter="/group1/3/enable"/>
  <key key="c" parameter="/group2/1/enable"/>
  <key key="c" parameter="/group2/2/enable"/>
  <key key="v" parameter="/group2/3/enable"/>
  <key key="b" parameter="/group3/enable"/>
  <key key="n" parameter="/group4/enable"/>
  <key key="m" parameter="/slicer/enable"/>
  <key key="spacebar" parameter="/clock/play"/>
  <key key="cursor left" parameter="/clock/bpm/slower"/>
  <key key="cursor right" parameter="/clock/bpm/faster"/>

You can change the key=“q” part to assign it to a different key. To remove a key assignment, change it to key=“”.