Berlinan

Manual

Every control of Berlinan 1.3.1, where to find it and what it does. The orange frames in the screenshots mark the control the text talks about.

Getting started

Berlinan is a generative MIDI sequencer for macOS 14 or later. It plays several short melodic loops that repeat, slowly shift against each other because their lengths differ, and change only a little at a time. It makes no sound itself: it sends MIDI to Ableton Live or to hardware synths.

  1. Download the disk image, open it and drag Berlinan to Applications. The app is signed and notarized, so it opens without security warnings.
  2. Start Berlinan. It opens with the Demo trio (Pluck 1, Pluck 2 and Bass) in A minor, from a fresh random seed every session.
  3. Send it somewhere you can hear it. Pick the MIDI output and set up your synths as described in Connecting synths.
  4. Press Space. You should now hear the voices.
  5. Play with it. Press 1 to 7 to move the whole ensemble to another scale degree, N for new patterns in every voice, and watch the horizon strip announce what is about to change.

Musical changes wait for the next bar line; a single voice's new pattern waits for the end of its own loop. So you can press a button a little early and it still lands in time.

The main window

The window is built in horizontal bands, top to bottom.

The Berlinan main window while playing, with its six bands marked: transport bar, harmony strip, horizon strip, voice lanes, performance panel and LCM footer. 1 2 3 4 5 6
The Demo trio playing.
1Transport bar
Play/stop, position, tempo, key and degree; new seed, templates, settings, clock source and MIDI output.
2Harmony strip
How the harmony moves and the next harmonic changes.
3Horizon strip
A plain-language list of everything that is about to happen.
4Voice lanes
One lane per voice, with its pattern, playhead and controls. Scroll when there are more voices than fit.
5Performance panel
The jam controls: degrees, snapshots, B-part, arranger, density, MIDI learn and export.
6LCM footer
When all loops line up again, and the engine version.

Hold the pointer over any control to see a short tooltip.

Transport bar

Play and readouts

The left end of the transport bar: the play/stop button and the POS, BPM, KEY and DEG readouts. 1 2 3 4 5
1Play / Stop Space
Starts and stops the ensemble. Stopping silences every note at once, including long drones. Every play starts the piece from its beginning; each play-to-stop pass is recorded as a take.
2POS
The position as bar.beat while playing, —.— when stopped.
3BPM
The tempo. Change it in Project settings; in EXT or LINK mode it follows the external clock.
4KEY
The home note and scale every voice shares, for example A naturalMinor.
5DEG
The current transposition: 1 is home, +3 means the ensemble plays three scale degrees up. It turns orange when you are away from home. Degree button 4 shows here as +3.

New seed, templates, settings, sync and output

The right end of the transport bar: new-seed dice, templates grid, settings gear, INT clock menu and the MIDI output menu. 1 2 3 4 5
1New seed N
New patterns for every voice from the same setup. While playing they take over at the next bar. ⌘Z brings the previous ones back.
2Templates
Starting points. See Templates.
3Project settings
Key, scale, tempo, meter and slides. See Project settings.
4Clock source
INT, EXT or LINK. See Clock sync.
5MIDI output
Where the notes go. See MIDI output.

Templates

The templates menu open: Demo trio, Full ensemble, Ambient drift and Save as Template.

Click the grid icon to start from a template. Each one starts from a fresh seed, so you never get the same piece twice.

  • Demo trio: two plucks of 16 and 15 steps over a 16-step bass. The default when the app starts.
  • Full ensemble: six voices on channels 1 to 5 and 10: two plucks, a walking bass line, a chord pad, a lead (it can take over an extracted melody, see Lane menu) and a steady kick drum (Heartbeat).
  • Ambient drift: built on a held drone, about one change a minute, with the arranger switched on and two CC scenes (closed and open) that slowly close and open the synths' filters.

The built-in templates start in A minor. Templates you saved yourself appear under My templates. Save as Template… stores the current setup there (see Projects and templates).

Picked while playing, a template takes over at the next bar without stopping the clock; the horizon shows TEMPLATE … · next bar until then.

Project settings

The Project Settings sheet: root and mode pickers, BPM stepper, meter picker, slides checkbox, Cancel and Apply. 1 2 3 4

Click the gear to open the sheet, change values and press Apply.

1Root and Mode
The key. Modes: naturalMinor, dorian, phrygian, mixolydian, lydian, lydianDominant, harmonicMinor, minorPentatonic, locrian and major.
2BPM
40 to 220 beats per minute.
3Meter
4/4, 3/4, 6/8, 7/8 (4+3 or 3+4), 5/4 (3+2) and 5/8 (3+2).
4Slides
Lets mutations tie bass and lead steps into glides. Set those synths to mono with portamento of about 60 to 120 ms.

While playing, key and tempo changes land on the next bar; meter and slides need the transport stopped. Applied while stopped, the patterns regenerate in the new key or meter from the same seeds, so the material stays recognizable.

Clock sync

The clock source menu open: INT, EXT and LINK.
  • INT: Berlinan is the clock master and sends MIDI clock and Start/Stop to its output, so arpeggiators and sequencers in your synths follow.
  • EXT: Berlinan follows incoming MIDI clock. Start and Stop from the master start and stop Berlinan, and the tempo follows. The status reads EXT — waiting for clock until Start arrives.
  • LINK: Berlinan joins the Ableton Link session on your network. Tempo and the downbeat stay in sync both ways. In place of the output name, the transport bar then shows how many other Link apps are connected (LINK — 2 peers).

The clock source can only be changed while stopped. Setup details are in Connecting synths.

MIDI output

The MIDI output menu open: Berlinan Out (virtual) checked, and a connected device M4 under Devices.

Click the output name at the right end of the transport bar (Berlinan Out by default) and choose:

  • Berlinan Out (virtual): a virtual MIDI port that Ableton Live and other apps see as an input.
  • A connected device under Devices: a USB synth, a DIN MIDI interface or an IAC bus. Notes, CC and clock go straight to it.

The choice is remembered. You can switch while playing; whatever still sounds on the previous output is silenced first. The dot next to the name is green when the output is reachable and red when the chosen device is unplugged (the name then reads disconnected); sending resumes when you plug it back in.

Harmony strip

The harmony mode menu open: Manual schedule, Progression, Weighted random and Bass reharmonization.
Click the mode name to choose how the harmony moves.
The right end of the harmony strip with four upcoming transposition chips.
The next four harmonic changes.

The strip shows how the harmony moves. Click the mode name (here manual schedule) to pick another mode (only while stopped).

  • Manual schedule (demo walk): a fixed sequence of key shifts stored in the project.
  • Progression: a looped walk through the scale degrees in its name, four bars per step: i-iv-v-i, 1-7-6-5, 1-5-6-7, 1-6-4-7, 1-6-4-1, 7-5-6, 1-b7-6-#5 or 6-5-4-1.
  • Weighted random (sweet/dark): a surprise move every 8 to 16 bars, picked from scale degrees that sound bright (sweet) or dark.
  • Bass reharmonization: the upper voices stay where they are and only the bass moves through the chosen progression.

Next to the mode, cyan text counts down to the next change (→ +5 in 5 bars). The chips on the right list the next four changes as degree@bar: +3@13 means three degrees up at bar 13, 1@17 back home at bar 17.

Horizon strip

The horizon strip with two chips: BUILD, change in about 11 bars, and Drone may mutate in about 128 bars. 1 2
The Ambient drift template with the arranger running.

The horizon strip tells you, in words, what is about to happen, so nothing surprises you mid-set. Each chip is one upcoming event:

1Arranger
The arranger's current phase and how far away its next change is (BUILD · change in ~11 bars).
2Next mutation
The voice whose pattern will be allowed to mutate soonest (Drone may mutate · ~128 bars).

Other chips appear for anything you have queued with the controls below, such as a key change, a snapshot recall, the B-part or a scene. Each says next bar or in N bars. With nothing scheduled the strip reads steady — nothing scheduled.

Voice lanes

Each voice has a lane: its name and channel on the left, the pattern in the middle and its buttons on the right.

Name and MIDI channel

The header of the Pluck 1 lane: the name, the channel and loop length, the play-count dots and the CC LFO button. 1 2 3 4 5
The channel menu of Pluck 1 open: Channel 1 checked, Channel 2 marked Pluck 2, Channel 3 marked Bass, channels 4 to 16.
1Name
The voice by its role: Pluck 1 and Pluck 2 (short plucked sequences), Bass, Pad (soft held chords), Lead, Drone (one held low note) and Heartbeat (a steady kick drum). A role used twice is numbered.
2MIDI channel
Click ch N to send the voice on another channel, 1 to 16. A channel already used by another voice shows that voice's name. Works while playing; the change is saved with the project.
3Loop length
The pattern's length in steps. Different lengths are what make the voices drift against each other.
4Play-count dots
How many more times the pattern plays unchanged before it may mutate, up to four dots. All empty with a cyan ring means it may change now. On a locked voice the filled dots are amber; the Lock button tells you for sure.
5CC LFO
∿ + adds a CC LFO to the voice; with LFOs it shows their number and hides or shows them.

Pattern strip

The Pluck 1 pattern strip with notes and the orange playhead.

The strip shows the voice's current pattern on a step grid with stronger lines on the beats. Higher notes sit higher. Accented notes have an orange outline. The orange line is the voice's own playhead: since loops differ in length, the playheads of the lanes visibly drift apart.

  • Drag the strip into an Ableton Live clip slot to get the current pattern as a MIDI clip, looped to a whole number of bars (up to 16).
  • The strip dims when the voice is muted or held back by the arranger, and darkens for a blank cycle.
  • A WAITS badge means the arranger is holding the voice back; it joins on a later bar.
A WAITS badge at the top right of the Pluck 1 lane.

Lane buttons

The seven buttons of a voice lane. 1 2 3 4 5 6 7
1Mute
Silences the voice at once. The engine keeps running and the take keeps recording it, so unmuting brings it back in place.
2Lock
Freezes the pattern: it keeps repeating and never mutates.
3Regenerate
A new pattern for this voice at its next loop. A bass-melody voice gets a new walk over the same harmony. The drone and heartbeat are fixed and have nothing to regenerate. ⌘Z undoes it.
4Blank cycle
The voice sits out one loop, then comes back. A classic way to make room.
5Edit
Opens the pattern editor. The button stays amber while the voice plays a hand-edited pattern.
6MIDI delay
Plays the voice's echoes as real MIDI notes, for setups without an audio delay. Turn the audio delay down on that channel when it is on (the Delay Cheat Sheet warns you).
7Melody extraction
Mutes the voice except for three or four accented notes, which become a melody that evolves every few bars. Turn it off to get the full pattern back.

Lane menu

The lane context menu: Alternate With and Voice Off (engine).

Right-click a pattern strip for more:

  • Promote Melody to Lead: appears while melody extraction is on and the project has a lead voice; hands the extracted line to the lead at the next bar.
  • Alternate With: this voice and another play in alternating four-bar phrases, call and response. Stop Alternation ends it.
  • Voice Off / Voice On (engine): switches the voice out of (or into) the ensemble at the next bar; the arranger uses the same switch.

CC LFO

The CC LFO strip under the Pluck 1 lane: CC number 74 with the magnifier and the name filter, shape sine, 16 bars, Min 57 and Max 95, the Depth and Phase knobs, and the curve with the playhead. 1 2 3 4 5
6 7 8

An LFO slowly turns one of your synth's knobs up and down over several bars, most often the filter: the slow breathing of the sound that is typical of the style. Berlinan sends it as MIDI CC on the voice's channel. Click ∿ + under the voice name to add one; it starts on CC 74, the filter on many synths. A voice can have up to four LFOs; the second one starts on CC 71 (resonance). ∿ 1 shows or hides them.

1CC number
The controller the LFO sends, 0 to 127. Type it in, or look it up with the magnifier.
2Magnifier
Opens the parameter list (below). The chosen parameter's name then shows next to the number.
3Shape
Sine, triangle, saw up, saw down, square, or S&H (sample and hold: a new random value on every eighth note).
4Cycle
How many bars one full sweep takes, 1 to 64. S&H does not use it.
5Min and Max
The range the LFO moves between, in CC values.
6Depth
Drag up or down to widen or narrow the range around its middle; Min and Max follow.
7Phase
Where in its cycle the LFO is when the piece starts. Right-click it to jump to 0, 25, 50 or 75 %. S&H does not use it.
8Curve
One cycle of the LFO, the range dashed; the orange line shows where it is now. × removes the LFO and leaves the knob where it was.

Every change is heard at once, also while playing, and is saved with the project. Changing the cycle or phase while playing can make the value jump to another point of the curve. ⌘Z does not undo LFO changes.

The parameter list after typing digi: Elektron selected, models Digitakt, Digitakt II, Digitone and Digitone II, and the Digitone parameters with Ratio C on CC 91 selected.

The magnifier opens a list of more than 400 synths and effects from midi.guide. Pick the manufacturer, then the model, then the parameter; each column fills the one to its right. Type in the search field to filter by manufacturer or model name: digi finds Elektron, because of the Digitakt and Digitone. Double-click a parameter or press Select: the LFO takes its CC number, its name and its value range. The list comes from midi.guide, shared under CC BY-SA 4.0.

Pattern editor

The Edit Pluck 1 sheet: loop length, a table of notes with step, degree, octave, velocity and accent, Add note, Cancel and Apply. 1 2 3

The pencil button opens a note table for the voice's pattern.

1Loop
The pattern length, 2 to 64 steps. A step is a sixteenth note (a thirty-second in /8 meters).
2Notes
One row per note: STEP (where it starts), DEGREE (its place in the scale, counted from 0: 0 is the home note, 7 the home note an octave up, or 5 in minorPentatonic; the degree buttons and DEG count from 1), OCT (octave shift), VEL (how hard it is played, 1–127) and ACC (accent). The trash icon removes a note. Degrees follow the key and every transposition.
3Add note
Adds a note on the first free step.

Apply replaces the pattern and locks it, so it will not mutate. While playing, the new pattern starts at the voice's next loop. The edit is saved with the project.

Performance panel

The band under the lanes holds the controls you play during a set. Musical moves land on the next bar.

Degrees 1–7

The left end of the performance panel: degree buttons 1 to 7 and snapshot slots 1 to 6. 1 2
1Degree buttons
Move every voice to scale degree 1 to 7 at the next bar. Because all voices share one scale, the whole ensemble changes harmony together. The active degree is lit; 1 is home.
2SNAP (snapshots)
⌥-click a slot to store the current patterns, their play counts and the harmony schedule; filled slots turn cyan. Click a filled slot to recall it at the next bar; ⌘Z undoes a recall. Snapshots are saved with the project.

Re-roll, B-part and tension

The middle of the performance panel: Re-roll unlocked, B, T·2 and Scene. 1 2 3 4
1RE-ROLL UNLOCKED
Regenerates every voice that is not locked, each at its next loop. ⌘Z undoes it.
2B
Starts a contrasting second section in one press: a chord progression begins and the bass gets a new line. Available while playing.
3T·n
n is how many deliberately wrong notes this piece has left. Each press holds one note a half step above the home note at the next bar: a sharp clash that adds bite. Save them for a high point.
4SCENE
Only shown when the project has CC scenes (Ambient drift has two). Pick a scene and all mapped controllers glide toward that timbre over eight bars. Available while playing.

Arranger

The arranger controls: AUTO lit, the phase readout BUILD 12, the advance button, the ambient moon and the density slider. 1 2 3 4 5
1ARR · AUTO
Switches the arranger autopilot on or off. It builds the piece voice by voice (a drone opens it when there is one), lets it settle, varies it, fires the B-part, brings the opening theme back at the climax, thins it out and ends on a roots-only bar. It plays these moves by itself, but each one is also a control you can use yourself, and you can override it at any time.
2Phase
The current phase and how many bars it has lasted: BUILD (voices enter one by one), BED (all voices settle), VAR (variation), B-PART (contrasting section), PAYOFF (the climax: the opening theme returns), SUBTR (voices drop out) or END.
3Advance
Fires the arranger's next change at the next bar instead of waiting.
4Ambient mode
Slows everything down to about one change a minute; patterns play 16 times before they may mutate. Set it while stopped.
5DENS
Thins out or fills the whole mix: it caps how many notes each loop plays, and accents survive longest. The arranger raises density at the climax and lowers it on the way out.
The menu that opens when you right-click AUTO: Classic arc, Slow build and Ambient plateau.
Right-click AUTO to choose the form of the piece.

Right-click AUTO (while stopped) to choose a form: Classic arc (phases of 8 to 16 bars, with a reprise), Slow build (12 to 24 bars, with a reprise) or Ambient plateau (about one change a minute).

MIDI learn

The right end of the performance panel: the density slider, LEARN and Export Capture. 1 2

Map your controller's knobs and pads to Berlinan and leave the laptop alone.

  1. Route your controller to the virtual MIDI input Berlinan Control. Plugging it in is not enough; for example, in Live use a MIDI track with MIDI From set to your controller and MIDI To set to Berlinan Control, and Monitor set to In.
  2. Click LEARN 1. It reads LEARN: PICK A CONTROL.
  3. Click the control to map: play/stop, a degree button, new seed, re-roll, a snapshot slot, B or advance. It reads MOVE A KNOB….
  4. Move a knob or press a pad. The mapping is stored and survives restarts.
  5. Map more controls the same way, then click LEARN again to finish.

Only the press counts: a note-on, or a controller value of 64 or more, so a pad that sends a value on release does not trigger twice.

Export capture

The Export Capture menu: Last 8, 16, 32 and 64 bars, and Takes.

Berlinan always records the last hour of what it played. EXPORT CAPTURE 2 saves the last 8, 16, 32 or 64 whole bars as a multitrack MIDI file, one track per voice, ready to drop into Live. Takes… opens the Takes window.

The capture records what the engine played, including muted voices, so a voice you muted only while listening is still there in the file.

LCM footer

The footer: LCM 15 bars, about 40 seconds.

LCM tells you after how many bars, and how many seconds, all loops line up again (LCM: least common multiple of the loop lengths). Until then every bar is a combination you have not heard yet. The right end shows the engine version.

Takes window

The Takes window listing seven takes, each with name, date, length, duration, tempo and voices, and save and delete buttons. 1 2 3

Every play-to-stop pass is kept as a take, on disk, until you delete it. Open the window from Window ▸ Takes or Export Capture ▸ Takes…. The newest take is on top; the one being recorded shows a red dot and grows.

1Take
Click the name to rename it, then press Return. Below it: when it was recorded, its length in bars and minutes, the tempo and the voices. Drag a take into Live or a Finder folder to get it as a MIDI file.
2Save as .mid
Saves a multitrack MIDI file, one track per voice on its channel.
3Delete
Removes the take from disk after you confirm.

A template loaded while playing starts a new take at its bar line. The take in progress is saved every 10 seconds, so a crash costs you at most those seconds.

Delay Cheat Sheet

The Delay Cheat Sheet: Drone eighth 417 ms, Pluck 1 and Pluck 2 dotted eighth 625 ms, Pad quarter 833 ms, with copy buttons.

Tempo-synced delay is part of the genre's sound, next to reverb. Window ▸ Delay Cheat Sheet lists, for every voice, the audio delay division and time at the project tempo: dotted eighths for plucks and Heartbeat, eighths for bass and drone, quarters for pad and lead. The copy button puts the settings on the clipboard. Set feedback and wet to about 50 %, use ping-pong and cut lows and highs on the repeats.

When a lane's MIDI delay is on, the sheet warns you that the echoes are already in the MIDI.

Updates

The Berlinan Settings window: the checkbox Check for updates when Berlinan starts, the version and a Check Now button. 1 2

When Berlinan starts, it checks whether a new version is out. If there is one, a window shows what is new, with Install Update, Remind Me Later and Skip This Version. Nothing is downloaded or installed until you click Install Update; Berlinan then downloads the new version, checks its signature, replaces itself and restarts.

1Check for updates when Berlinan starts
On by default. Open Berlinan ▸ Settings… ⌘, and untick it to stop the check.
2Check Now
Checks right away and also tells you when you are up to date. The same is Berlinan ▸ Check for Updates….

Connecting synths

Ableton Live

  1. In Berlinan, leave the output on Berlinan Out (virtual).
  2. In Live, create one MIDI track per voice with an instrument on it.
  3. Set each track's MIDI From to Berlinan Out and the channel to the voice's channel (the ch N label in its lane).
  4. Set Monitor to In (or arm the track) and press play in Berlinan.

To record, arm the tracks in Live, or simply export a take afterwards and drag it in.

Hardware synths

  1. Connect the synth over USB or a MIDI interface.
  2. Pick it in the MIDI output menu.
  3. Set the synth to receive on the channel of the voice it should play, or move the voice to the synth's channel with its channel menu. A multitimbral synth can play several voices, one per channel.

In INT mode Berlinan also sends MIDI clock, so the synth's arpeggiator or sequencer runs in time.

Following Live's tempo

  • Ableton Link (easiest): switch Berlinan to LINK and turn Link on in Live. Tempo and the downbeat are shared both ways; start Berlinan with Space.
  • MIDI clock: switch Berlinan to EXT. In Live's MIDI settings, turn on Sync for an output port Berlinan can hear, such as the IAC Driver bus (enable it in Audio MIDI Setup). Starting Live then starts Berlinan.

Projects and templates

  • File ▸ Save Project As… ⇧⌘S saves a .berlinan file with the whole setup: voices, channels, key, tempo, harmony mode, hand-edited patterns, the seed and the snapshot slots.
  • File ▸ Open Project… ⌘O opens one (while stopped). Opening restores the saved setup and seed. To keep a variation you like, store it in a snapshot slot before saving. A damaged file is refused with an explanation instead of being loaded.
  • Templates ▸ Save as Template… stores the current setup as a template; it then appears under My templates. Unlike a project, a template always starts from a fresh seed.

Keyboard shortcuts

KeyAction
SpacePlay / stop
1 – 7Move the ensemble to that scale degree at the next bar
NNew seed
⌘ZUndo the last regenerate, re-roll, snapshot recall, pattern edit or new seed
⌥-click a slotStore a snapshot
⌘OOpen a project
⇧⌘SSave the project as…
⌘,App settings (updates)

Concepts

Repetition earns change
New material plays unchanged four times (sixteen in ambient mode) before it may mutate. A mutation is a small change: a few notes move to other scale degrees, one note shifts slightly in time or the accents move. After each mutation the count starts again. The play-count dots show where each voice stands.
Degrees, not notes
Patterns are written in scale degrees. Transposing moves every voice by the same number of degrees within the scale, so harmony stays in key.
Phasing
Voices loop at different lengths and drift against each other until they line up again after the LCM shown in the footer.
Seed
A number that decides every random choice. The same project and seed always give the same music; a new seed gives a new piece from the same setup.
Next bar
Harmony and arrangement changes land on the next bar line. A single voice's new pattern starts when its own loop comes round. Mute and Stop act at once.

Troubleshooting

I press play but hear nothing

Check the output: with Berlinan Out, a track in Live must listen to Berlinan Out on the voice's channel with monitoring on. With a device, the dot must be green and the synth must receive on the voice's channel. In EXT mode, Berlinan waits for Start from the clock master.

The output shows “disconnected”

The chosen device is unplugged or switched off. Plug it back in and sending resumes on its own, or pick another output.

Two voices sound on the same synth

They share a MIDI channel. Open a lane's channel menu: a channel used by another voice shows its name.

A menu or button is greyed out

Some settings only change while stopped: clock source, harmony mode, meter, slides, ambient mode and File ▸ Open Project…. The arranger form (right-click AUTO) also changes only while stopped; while playing the choice is ignored. B, advance, tension and scenes are the opposite: they only work while playing.

A note keeps sounding

Press stop: Berlinan sends note-offs and All Notes Off on every channel it used.