NACHTFAHRT

Manual

NACHTFAHRT (called BERLIN while it was built) turns the M-VAVE FM-1 into a generative Berlin School machine, after the 1970s music of Tangerine Dream, Klaus Schulze and Ashra: long, hypnotic pieces built on repeating synthesizer sequences, slowly evolving textures and a lot of space. It plays itself from the moment it's switched on. A sequence of plucked notes runs over a drone, its notes repeated by the echo; a second sequence, often a step shorter, drifts against it; a lead sings long phrases far back in the reverb; wind, surf or the sounds of space pass behind. Each piece opens from the drone, flows, gives the lead its turn, crosses a bridge, and goes on for ever; every layer's filter moves slowly on its own. Listen, and play: let it run, or join in. Play a melody on the white keys and the lead answers it, takes it as its theme and grows new ideas out of it; pick a piece and a key, thin or fill the sequences, open the filter, push the echo, mute and solo the layers.

Source, releases and the web installer: github.com/FartyPants/fm1-nachtfahrt and fartypants.github.io/fm1-nachtfahrt.

NACHTFAHRT is a fork of DUB-1, itself a fork of AMB-1, Charles Vestal's generative ambient firmware for the FM-1.

This is 0.9.2, a test version below 1.0. It runs on the FM-1 (install it from the web installer) and in the browser emulator, from the same code.

A drawing of the FM-1 running NACHTFAHRT, each control labelled with what it does: the Controls section below says the same in words
The FM-1 (a drawing), running NACHTFAHRT, each control labelled


1 Install

Try it first in the emulator. It is the same code the FM-1 runs, with sound, in a browser. Build it with web/emu/build.sh, serve build/emu (for example python3 -m http.server --directory build/emu) and open the page. EMULATOR.md has the details.

On the FM-1 (once there is a device build): ./build.sh makes build/amb.fwsc; install it with

python3 tools/fm1_install.py build/amb.fwsc

(Python 3 with pip3 install mido python-rtmidi, the FM-1 connected by a USB data cable and switched on.) Don't unplug it while it's writing; when it finishes, the FM-1 restarts into NACHTFAHRT. M-VAVE's own updater, M-UPGRADE, puts the stock firmware back.

Installing other firmware is at your own risk. If the FM-1 ever won't start, see Recovering an FM-1 that won't start.


2 Getting started

NACHTFAHRT starts playing as soon as it's on. A few minutes with it:

  1. Listen. The first piece, Timewind (D minor, 96), begins with its drone, an organ through a phaser, and the wind. Its sequence is there from the start, behind a closed filter that opens over the first 32 bars (about 80 seconds). Then the sequence runs, its notes repeated by the echo, and later the lead comes in. Nothing is hidden: no layer is turned down behind your back, only filters move. Turn MASTER for the volume.
  2. Try another piece. Turn PRESETS. Each of the eight has its own key, tempo, voices, sequences and arc. Stratosfear and Sunrain start at once with both sequences; in Wahnfried and Cyborg the Sequence is only a faint heartbeat under the drone.
  3. Play the lead. Press a white key: the lead plays that step of the scale, from the root up, and its key lights while it sounds. It glides from note to note, deep in the reverb and the echo. Play three notes or more and pause: the lead takes them as its theme, answers you a beat or two later in your rhythm, and brings your notes back later. The black keys stay lit: they play effects while you hold them, dark while held (Rise opens every filter, Close shuts them, and so on: see The effects grid).
  4. Shape the sequence. Press ARP: the Sequence page. KNOB 1 (Density) thins it out or fills it in; KNOB 3 (Length) makes it shorter or longer. Press ARP again for its sound (Cutoff opens the filter), and again for its Repeats: the notes the echo plays back, as loud as the note itself. One press more: its Move page, how its filter wanders around the Cutoff you set.
  5. Hold the echo. Tap REC: the echo stops listening and repeats what it holds while the music goes on dry above it. Tap REC again to let it go. Hold REC: the effects grid, sixteen effects on the white keys, each one there while its key is held.
  6. Perform. Tap SEL: white keys 1–5 mute the five layers, black keys 1–5 solo them, and white keys 7–11, held, sweep the sequence, open or shut the filter, drop both sequences out or push the echo.
  7. Watch the filters. On a layer's sound page, a small cyan dot on the brightness knob's ring shows where the filter is now, and the screen says how far it has moved ("MOVING DARKER, -1.5 OCT"). Turn the knob: the movement goes on around its new setting.
  8. Rest. Press PLAY: the music stops and the echo and reverb ring away. PLAY again and the piece opens again from the top.

What you change is kept with the piece. NACHTFAHRT saves it by itself while resting; or hold GLO for half a second.


3 Controls

ControlWhat it does
MASTERThe volume
SELECTOn a layer's pages (the Drone, the Sequence, the Lead, Sequence 2, the Atmosphere, and each one's further pages), the layer's level, 1 a click: a ring in the middle of the screen shows it, and the header says it ("SEQ 64"). On the Nachtfahrt page it turns Energy, PERFORM's (the same value, 1 a click: the screen shows twice), so you can play the keys and push Energy at once: the knobs' rule shows "ENERGY 24" with a bar while you turn, and the header says it. Elsewhere it does nothing (the pages are on their buttons, the tempo on the Key page)
PRESETSThe piece (eight)
ALGORITHMOn a layer's page, its voice (on the Atmosphere's pages, its character). On the Chords page, the chord walk's character (Home, Wander, Free)
OCT− / OCT+On the Sequence's, the Lead's and Sequence 2's pages, the layer's octave, a step a press (the Sequence −2 to 2, the Lead and Sequence 2 −2 to 1): the page's Octave knob shows it, the header says it ("SEQ OCTAVE −1"). OCT+ is lit while that octave is above where the piece was loaded, OCT− while it's below. On the other pages they do nothing. Both held 5 s: the update mode
KNOB 1–4The four values at the bottom of the page. The line above them says what the one turning does
White keysPlay the Lead in the piece's scale: the first white key is the root, the next the scale's second step, and so on up. While the Lead sounds a note, that key is lit. Three notes or more and a pause become the Lead's theme (see The layers). On the Pattern page they write the steps instead; in PERFORM they mute, play moves, and the top one makes the Lead forget; with REC held they're the effects
Black keysEleven effects, each while the key is held. They stay lit, so they stand apart from the Lead's white keys; a key goes dark while its effect is held: Take-off, Supernova, Twitter, Repeat, Shimmer, Freeze, Octave, Return, Rise, Close, Transpose (see The effects grid). In PERFORM, the solos; on the Pattern page, the accents
PLAYPlay / rest
RECA tap: hold (the echo and the cloud repeat what they hold). Held: the effects grid
EDITA tap: the Chords page. Held: the next chord, on the next bar. Held on (1.5 s): new chords
SELA tap: PERFORM. Held: Lock (the sequences stop varying, each pass as the last, until SEL is held again; not saved)
HOMEThe Nachtfahrt page; again, the Key page
ENVThe Drone; again, its sound page; again, its Move page
ARPThe Sequence; again, its sound page; again, its Repeats; again, its Move page
LFOThe Lead; again, its sound page; again, its Move page
SEQSequence 2; again, its sound page; again, the Pattern page; again, its Move page
SAVEThe Atmosphere; again, its sound page; again, its Move page
FXThe Space page; again, the Echo page
GLOThe Setup page; again, the Arc page (Lead in, Bridge, Arc, Memory). Held half a second: save. Held on (1.5 s): the piece back to its recipe

Nudges. Hold a layer's button (ENV, ARP, LFO, SEQ) for half a second: its sound takes a small step somewhere new (its filter, envelope, tone or vibrato, never its sends or octave). Hold it on for 1.5 s: a shake, a new voice and bigger steps. HOME held on shakes every layer at once. Each step is pulled back towards the piece's recipe, so nudges explore around the piece's sound rather than wander off. With Evolve over 40, NACHTFAHRT nudges a layer by itself now and then.

A long press says what it did on a card in the middle of the screen.


4 The screen

Stratosfear playing: the piece, its key and tempo at the top, FLOW and its bars on the left over five level meters, the chord Em7 in white in the middle with the sequences' notes circling it, CRANKY MAN and the page's name at the top right, the echo's level on the right, two lanes of steps below, the Nachtfahrt page's four knobs at the bottom
The main screen, Stratosfear

The screen is black, with a few dim stars drifting slowly left while the music plays.

The filter motion, shown. On a layer's sound page (the one with its brightness knob), a small cyan dot sits on that knob's ring where the filter really is now: the knob's own pointer stays where you set it. Under the lanes the screen says how far it has moved: "MOVING DARKER, -1.5 OCT" or "MOVING BRIGHTER, +0.8 OCT" (not shown while it is within a tenth of an octave of the knob). The screen reader says it too ("Cutoff moving darker, about -1 octave").

The Sequence's sound page: Cutoff, Decay, Reverb and Echo, with MOVING DARKER, -0.5 OCT under the lanes
A sound page: the cyan dot on Cutoff's ring, and the words under the lanes

The launch screen. Every time the FM-1 starts, NACHTFAHRT comes up large on black among a few stars, with "by CRANKY MAN" under it and the version at the foot, for a moment. The music starts as always, under it.

The launch screen: NACHTFAHRT, by CRANKY MAN, and the version
The launch screen

5 The layers

The Sequence (ARP; MIDI channel 2) is the heart. Up to 16 steps in the scale, eighths or sixteenths, played on a plucked voice: 2600 (a saw), Moog (two saws a little apart), Synthi (a square), Pulse (a narrow pulse), Glass (an FM bell), each through two low-passes, the second resonant, swept down by a short envelope; or Pluck, a plucked string (Karplus-Strong: a burst of noise ringing round a delay line a period long), whose Cutoff is how bright the pluck is and Decay how long the string rings (in the highest octaves, from about C7, a string rings short whatever Decay is set to, as a real one does). The root step is accented and the others quieter (Accent, on the Pattern page). Density decides how many of the steps sound, the least important dropping out first. Now and then (Evolve, Motion) a step changes, a note moves, an octave jumps, the sequence comes round early; it follows the Drone's chord (Transpose, on the Key page). Its cutoff wanders slowly over minutes, around the Cutoff you set (its Move page, below; its Width is the Sweep, also on PERFORM).

The Repeats (ARP, third page) are what makes it Berlin: each note is played again at one of the echo's times, by default a dotted eighth (Repeat A, as loud as the note: 100), and a second time (Repeat B) into the rests only. They are real notes, so they go through the filter and the echo like the rest, and the Sequences are sent into the echo generously. The echo's own time is by default a dotted quarter (1/4.), so Repeat A, a dotted eighth, doesn't land on the echo's first repeat.

Sequence 2 (SEQ; channel 4) is a second line, by default an octave down and a step shorter (7 against 8), so the two drift apart and come back together. It has the same voices and Sub (a sine and its octave below); on ALGORITHM, Pluck comes after Sub. Chance thins it at random. Its Intro (Move page) opens its filter, from closed, over that many bars: in Rubycon it comes out of the drone after the Sequence. Motion changes its steps and octave jumps but never its length: an 8 against a 7 stays 8 against 7. And with Motion, at a change of section, Sequence 2 may move an octave up or down from where its Octave knob is set (at the range's ends, the other way), and back at the next change of section; never more than one octave away (the chance is Motion's: at 100 every time, at 0 never). Its page's Octave knob shows where it is, and OCT+ or OCT− lights. Turn its Octave knob or press OCT− / OCT+ on its page and what you set is its octave again, the move gone; what's saved is always the octave you set.

The Drone (ENV; channel 1) holds the chord on two banks of five voices: the chord's four notes and the root an octave under (the Pedal). Voices: Organ, Strings (through an ensemble), Horn (a saw through two fixed formants), Saws, Glass, Choir. The Choir sings a vowel: each note is two voices a little apart, through three formants (as a voice's mouth shapes it) and the Strings' ensemble. The vowel moves with the Drone's brightness: Colour chooses it ('oo' at −25, 'ah' at 0, 'ee' at +25, 'oh' and 'eh' between; past ±25 it only gets darker or brighter), and its Move page moves it, slowly, as it moves the other voices' filter (two vowels for each octave the filter moves; the Intro opens it from 'oo'). Its Reso makes the formants sharper or softer. A phaser sweeps it slowly (Phaser). The chord walks from degree to degree every Drift bars (the Nachtfahrt page), or follows the eight slots of the Chords page.

The Lead (LFO; channel 3) is one voice, gliding: Odyssey, Mini, Flute, Theremin, Synthi. It plays in pairs: a call that ends open, then, a beat or two later, its answer, the same rhythm ending on the chord's root or fifth, held longer. It remembers its motifs: it plays one for a few pairs, then keeps it, varies it a little (a note moved, a new tail, its first half twice, slower) or finds a new one. How much it keeps is Memory (the Arc page): the chance that after those few pairs it keeps the motif; at 100 it holds on to an idea, at 0 it changes it nearly every pair. Its first idea is the piece's theme, and the theme comes back when Solo begins, after the arc's rise peaks, when a Bridge begins, and when it hasn't been heard for a while (with Memory under 20 the theme it made itself doesn't come back). Towards the arc's peak it plays more notes, shorter and higher, and sometimes builds a longer phrase that ends in a quick run, mostly downwards, to a close. Between pairs it breathes for bars (Phrases: how often). Its vibrato comes in late. By default its reverb and echo are at 90, so it sings far away. It may start Lead in bars after the piece starts (the Arc page), plays now and then in Flow and fully in Solo. Its filter's movement is kept gentle: never more than three quarters of an octave either way.

The white keys play the Lead too, and write its theme. Play three notes or more (the last four bars of what you play are kept, at most sixteen notes and rests) and pause for two beats. What you played was the call, and the Lead answers it a beat or two later: your rhythm, its own notes but close to yours (it picks up a step or two from your last note, and on the strong beats it lands on a chord note next to yours), ending on the chord. It doesn't play your notes back to you. It does this in any part of the piece, Emerge too, even before Lead in: you asked by playing. From then on your notes are the piece's theme: they come back whole where the theme does, over whatever chord is playing, varied a little at a time like any of its ideas, even when the Lead otherwise keeps little (a theme you played is never thrown away). One or two notes are just played, nothing is kept; notes played while the Lead is muted aren't kept either. Your notes sound as you play them; the Lead counts them on the grid, to the nearest sixteenth. Stopping the music, or PANIC, forgets notes you are in the middle of playing; PANIC also drops an answer not yet begun (a theme already taken stays: the Lead plays it next, in its own time). A new piece starts with new ideas, and so does PERFORM's Forget (the top key).

After your theme, the Lead's own ideas grow out of it. The next one, a bar or two after the answer, starts from it: its first notes carried on in a new way, or its first notes and then the same again from another note of the chord, or its shape turned upside down. The ones after stray further, even when Memory would keep an idea: your notes backwards, its last notes carried on, then only its rhythm with new notes. After a while its ideas are its own again: about 45 seconds at Memory 0, a minute and a half at 50, two and a half minutes at 100. Your theme itself keeps coming back where the theme does, and a new figure on the keys starts it all again from that one.

The Atmosphere (SAVE) is a background: None, Wind (a breath of soft, pink noise through a narrow band, swept slowly, louder as it climbs: gusts), Surf (waves of dark, deep noise, each brighter as it breaks), Space (chirps and bursts, far away), Air, Tape (a crackle ringing on the chord, DUB-1's), or Rain (soft drops, each a short ring at its own pitch, over a quiet hush). Wind and Surf are dark, their top end soft (the FM-1's speaker is bright).

Its knobs keep their jobs whatever it is: Density, how busy (on Wind, how often its band turns; on Rain, how many drops); Drift, how quickly it changes (Wind's band, Surf's waves, Rain's showers coming and going); Colour, darker or brighter (where Wind's band wanders, the drops' pitch); Ring, how much it rings (how narrow Wind's band, how long each drop); Air, the hiss under it; Width, Reverb and Echo as everywhere.


6 The arc and the filter motion

A piece is not a loop: it goes through sections, chosen as it plays. But it never ends by itself: once it has opened, it goes on through flow, solo and bridge for ever, until you stop it or change the piece.

The filter motion

Nothing in NACHTFAHRT fades behind your back. A layer whose level is up and which isn't muted always plays at its level (your mutes, your solos and PERFORM's Drop are the only ways a layer goes quiet, and they are shown). What moves is each layer's brightness: the Drone's Colour, the Sequence's and Sequence 2's Cutoff, the Lead's Tone and the Atmosphere's Colour. NACHTFAHRT moves each one's filter by an offset in octaves from the knob, never to a value of its own. The knob keeps the value you gave it; turn it and the whole movement moves with it at once.

Each layer has a Move page: ENV (the Drone), LFO (the Lead) or SAVE (the Atmosphere) pressed a third time; ARP (the Sequence) or SEQ (Sequence 2) a fourth time. Its four knobs are the same on every layer:

KnobWhat it does
WidthHow far the filter may move, either way: up to 2 octaves at 100 (the Lead: three quarters of an octave). 0: no wandering. On the Sequence's page this is the Sweep knob
TimeHow long one move takes to arrive, eased: from about a bar to 32 bars (the Lead never under 4)
RateHow often a new move starts: 100, about every 2 bars; 50, about every 11; lower, rarer; 0, never (the filter rests where its last move left it)
Intro0–64 bars. When the piece starts, the filter begins closed and opens over this many bars, slowly at first. 0: open from the start

Each layer picks its own moves at random, so the layers diverge and converge: one getting darker while another brightens. A new target near the knob's setting is a little likelier than one at the edge, so the music comes back to the sound you set. The defaults are Width 20, Time 50, Rate 30, Intro 0; each piece sets its own (see The pieces). The clock is the transport's bars, so the motion stands still while the music rests, and follows an external MIDI clock. The Atmosphere's colour is kept within about an octave either way, whatever its Width.

The Intro happens once, when the piece starts (PLAY, or the piece changed or set back to its recipe). Turned up while the piece plays, it waits for the next start (an open filter is never shut by it); turned down, the filter opens sooner. A filter at the start of its Intro is closed, so its layer is quiet for a while: the meter's tick sits low, the knob's dot sits at the bottom, and the section reads EMERGE.

The sections

Sections last 16 to 64 bars; Motion (the Nachtfahrt page) makes them shorter, and at 0 the piece stays in Flow. At a change of section, with Motion, Sequence 2 may move an octave away for that section (see Sequence 2).

The master actions move by themselves

With Motion, PERFORM's Filter, Wet and Energy move on their own, slowly, and their knobs show it (the screen reader doesn't announce it):

Motion sets how far: at 100 the full ranges above, at 50 half of them, at 0 none of them moves. Turn one of the three knobs (or SELECT on the Nachtfahrt page, for Energy) and your value holds until the next change of section; then the motion takes over again from your value, gliding back over eight bars, without a jump. Lock holds all three where they are. A sequence whose level is 0 (Cyborg's Sequence 2) stays silent whatever Energy does. A new piece, or PLAY from the top, starts the motion from its beginning.

The Arc page

GLO twice. Lead in (0–64 bars): how long after the piece starts the Lead may play. Bridge (0–100): see above. Arc (0–100): the length of the Sequence's slow rise: its filter climbs towards a peak (four fifths of the way through) and settles, then does it again, for ever (0: no rise; 1–100: about 130 to 770 bars). Memory (0–100): how much the Lead keeps its ideas: the chance that, after a few pairs on one motif, it keeps it rather than varying it or finding a new one (see The layers). Each piece sets its own (see The pieces).

The Arc page: Lead in, Bridge, Arc, Memory
The Arc page

The Sequence's offset is the sum of its wander, its Intro, the bridge's move and this rise; the black keys' Rise and Close (The effects grid) are one more term. The total is kept inside each filter's usable range.


7 The pieces

#PieceAfterKey, tempoSequenceDrone, LeadAtmosphereMoves
1TimewindSchulze, Bayreuth ReturnD minor, 96Two: 2600, 16 steps in 16ths, Repeat B; Sequence 2 Moog, 15 steps, an octave down; Reverb 50Organ + phaser, OdysseyWindA slow opening: the Sequence's Intro is 32 bars. A gentle wander on every layer; Bridge 45
2WahnfriedSchulze, Wahnfried 1883B♭ Dorian, 80A faint heartbeat: the Sequence at 30 (opening over 16 bars), Sequence 2 at 50, an octave downStrings at 95, the roots walking free; ThereminNoneThe Drone's filter is the main movement: Width 45, with long moves; Bridge 30
3PhaedraTangerine Dream, PhaedraD minor, 149Moog bass 16, a Moog line of 15 over it, much sweepChoir (level 70), FluteTapeThe Sequence opens over 16 bars (Sweep 85, wide); Sequence 2 straight in, sweeping often
4RubyconTangerine Dream, RubyconF minor, 1442600 8, two octaves down, and Sub 7 at octave 0, darkOrgan, low and dark, SynthiNoneThe Sequence opens over 16 bars, then Sequence 2 over 32: it comes out of the drone after it; Bridge 50
5StratosfearTangerine Dream, StratosfearE minor, 138Pulse 16 and 2600 15, together from the startStrings, Mini forwardNoneStraight in, no Intros; both sequences' filters move often
6SunrainAshra, New Age of EarthD major, 130Pulse 8, Glass 7, both repeats at 100Strings, OdysseySurfStraight in, no Intros; Sequence 2 and the Atmosphere wander a little wider
7MirageSchulze, MirageF♯ minor, 95Glass 12 and 11, sparse, in 16thsGlass + deep phaser, Theremin; a long reverbSpaceA slow opening: the Sequence's Intro 16 bars, Sequence 2's 24; the Atmosphere moves widest
8CyborgSchulze, CyborgC Phrygian, 70One, quiet (level 20): 2600, 8 steps in 8ths; no Sequence 2Organ, deep and beating; Theremin, low and up front (level 70)NoneThe Drone's filter moves widely and slowly (Width 50, Time 70)

In every piece the Lead's Width is low: it stays gentle. Its Memory (the Arc page): Timewind 55, Wahnfried 40, Phaedra 75, Rubycon 45, Stratosfear 85, Sunrain 60, Mirage 50, Cyborg 35 (Stratosfear's and Phaedra's Leads hold on to their ideas, Cyborg's and Wahnfried's wander). The names are working titles. The keys and tempos are starting points from music analysis sites, to be tuned by ear; fast readings such as Phaedra's 149 and Rubycon's 144 may be double the felt tempo (they run in eighths, which feel like sixteenths at half the speed). NACHTFAHRT is not connected with any of these artists.


8 The pages

The Sequence page: Density, Octave, Length, Grid](img/screen-sequence.png) ![The Repeats page: Repeat A, A time, Repeat B, B time](img/screen-repeats.png) ![The Sequence's Move page: Width, Time, Rate, Intro
The Sequence page: Density, Octave, Length, Grid](img/screen-sequence.png) !The Repeats page: Repeat A, A time, Repeat B, B time ![The Sequence's Move page: Width, Time, Rate, Intro

Each layer's pages share a layout: its main page has how much (K1), its octave (K2) and two of its own; its sound page has brightness, envelope, Reverb and Echo (the layer's sends); its Move page has Width, Time, Rate and Intro (see The arc and the filter motion).

HOME: Nachtfahrt: Filter (on everything, Off in the middle: turned down it shuts, a low-pass; turned up it opens, a resonant high-pass), Evolve (how often the sequences change a step), Motion (how much they change, and how quickly the sections move; 0: Flow for ever), Drift (bars per chord: 2–64, or Hold).

HOME again: Key: Tempo (60–160), Root, Mode (Minor, Major, Dorian, Mixolydian, Pentatonic minor and major, Phrygian, Lydian: the most common first), Transpose: how the sequences follow the chord. Parallel moves the whole shape by the chord's interval, as an analog sequencer transposed by a keyboard (it may leave the scale), Diatonic moves it by scale steps (it stays in the scale) and Bed doesn't move it (the chord changes under it).

ENV: Drone: Pedal (the root an octave under), Reso (on Choir: how sharp its formants are, too), Phaser, Attack. Its sound: Colour (darker or brighter, and the voices' detune; on Choir its vowel), Release, Reverb, Echo. Its Move page: Width, Time, Rate, Intro (on Choir they move its vowel).

ARP: Sequence: Density, Octave, Length (3–16), Grid (8ths or 16ths). Its sound: Cutoff, Decay, Reverb, Echo. Repeats: Repeat A, A time, Repeat B, B time (1/8, dotted 1/8, 1/4, dotted 1/4, 1/2, a bar). Its Move page (a fourth press): Width (this is Sweep), Time, Rate, Intro.

LFO: Lead: Phrases, Octave (−2 to +1), Glide (1–150 ms), Vibrato. Its sound: Tone, Attack, Reverb, Echo. Its Move page: Width, Time, Rate, Intro (the tone's wander is kept gentle).

SEQ: Sequence 2: Chance, Octave, Length, Level. Its sound: Cutoff, Decay, Reverb, Echo. SEQ a third time: Pattern: write the sequences yourself. KNOB 1 picks a lane: Steps (which of the Sequence's steps play), Steps 2 (Sequence 2's), Octaves and Octaves 2 (which steps jump an octave), Skips (steps passed over). The white keys are its sixteen steps. KNOB 2 is the Accent, KNOB 3 the lane's chance, KNOB 4 Play: Auto (generated) or Pattern (as written). SEQ a fourth time: its Move page (Width, Time, Rate, Intro).

SAVE: Atmosphere: Density, Width, Drift, Air; ALGORITHM its character. Its sound: Colour, Ring, Reverb, Echo. Its Move page: Width, Time, Rate, Intro.

FX: Space: Echo (how much of everything goes into it), Echo time (a dotted quarter by default), Feedback (the tail, in seconds), Reverb. The echo is a tape echo that ping-pongs left and right. FX again: Echo: Blur, Tone, Width, Size (the plate).

GLO: Setup: Tune (±50 cents), MIDI out, Lights, Save. GLO again: Arc: Lead in, Bridge, Arc, Memory (see The arc and the filter motion).

EDIT: Chords: eight slots. In Endless the walk writes them and slot 1 plays; on each change they move up a slot. A key writes a slot's root, KNOB 2 its kind, KNOB 3 its type, KNOB 4 Play: Endless or Loop (the slots in turn, nothing new). ALGORITHM sets the walk's character: Home, Wander, Free.


9 The effects grid

The effects grid, REC held: four rows of four, Octave held
The effects grid, REC held: four rows of four, Octave held

Hold REC: the grid fills the screen, four rows of four, one effect on each white key. An effect lasts while its key is held; several can be held together. Let go of REC and the keys still held keep theirs until they're let go.

EchoRepeat: the Sequence thrown into the echoTime: the echo's time doubledTape stop: the tape slowing to a quarterShimmer: the plate climbing, its tail an octave up and again (see below)
FilterLow-pass: down to 350 HzHigh-pass: up to 1.3 kHzSweep: the Sequence's filter swept two octaves each wayPhaser: a deep phaser on all the music
SpaceReverb: the dry music into the plateTake-off: a burst of noise falling into the echoFreeze: the cloud holds what it hasWash: everything into the echo and the plate, the dry down
MovesOctave: the Sequence an octave upReturn: both sequences round their first four stepsTwitter: a burst of bleeps into the echoSupernova: the echo's feedback past full

Shimmer is a shimmer reverb, played. While it is held, the plate's tail is pitched an octave up and fed back into the plate, so each time round it climbs another octave, darker as it climbs (the FM-1's speaker is bright) and fading out after about two octaves. Some of the music goes into the plate with it, so it is heard in every piece (a few dB louder while held). Let go and the climbing stops; what is already in the plate dies away with its tail, not cut off.

The black keys

In normal playing the black keys play effects too, each while it is held and lit, so one hand can play the Lead on the white keys and the other the effects, with no REC needed. Left to right, the eleven black keys are:

Black keyEffect
1Take-off (the grid's)
2Supernova (the grid's)
3Twitter (the grid's)
4Repeat (the grid's: the Sequence thrown into the echo)
5Shimmer (the grid's: the plate climbing in octaves)
6Freeze (the grid's: the cloud holds)
7Octave (the grid's: the Sequence an octave up)
8Return (the grid's: both sequences round their first four steps)
9Rise: every layer's filter opens together, up to 2 octaves, easing in over about a second and back over about three when you let go
10Close: every layer's filter closes together, down 4 octaves, eased the same way: a breakdown played by hand
11Transpose: both sequences three scale steps up (a fourth, in a seven-note scale) while held; the Drone's chord and the Lead stay

The first eight are the grid's own effects, not copies: a black key and the grid's white key for the same effect are one effect, on while either is held. Rise and Close are offsets from the knobs, like the filter motion's, added to it (the Lead's stays within its three quarters of an octave); they never set a filter to a value of their own. In PERFORM the black keys solo, and on the Pattern page they accent steps. The screen reader names the effect as each key goes down.


10 PERFORM

PERFORM: the knobs Filter, Wet, Energy and Sweep
PERFORM: the knobs Filter, Wet, Energy and Sweep

Tap SEL. The knobs become the master actions: Filter (as on the Nachtfahrt page), Wet (the whole music dry, or drowned in the echo: every layer's echo send, the Drone's, both Sequences', the Lead's and the Atmosphere's), Energy (sparser or busier: the Sequence's Density, levels, Sweep, note length, Cutoff, and Repeat B, the second repeat), and Sweep (how far the Sequence's cutoff wanders on its own: the same as its Width on the Move page, the piece's). With Motion, Filter, Wet and Energy also move by themselves, the knobs showing where they are; a turn of yours holds until the next section (The master actions move by themselves). The keys that do something are lit:

SEL again, or a page's button, leaves.


11 MIDI

MIDI comes in over USB and the TRS jack, and goes out over USB.

Screen reader

NACHTFAHRT can tell the FM-1 Screen Reader what its screen shows, over USB: the page and its knobs, a knob's value as it turns, the piece, its key and tempo, the chord as it moves, the effects as they're held, and every message. Press W in the reader to hear the whole screen again, with the section of the arc and its bar, and how far a filter has moved. The FM-1 says nothing until the page connects.


12 Saving

NACHTFAHRT keeps all eight pieces in the FM-1's memory, each as you left it, with Tune, MIDI out and Lights.

Lock and PERFORM's Filter, Wet and Energy aren't saved; a piece change (or GLO's reset) returns the three to 0, so none of one piece's push carries into the next. Projects saved by DUB-1, AMB-1 or an earlier NACHTFAHRT build aren't read: NACHTFAHRT starts with its eight recipes.


13 Troubleshooting

Update mode: hold OCT− and OCT+ together for five seconds. A countdown appears; let go before it ends to cancel.

Calibration: if a button or knob does the wrong thing, hold OCT− and OCT+ while you switch the FM-1 on. The screen asks you to press each button and turn each knob in turn.

After a crash: NACHTFAHRT shows a red CRASH screen and restarts by itself. The next start shows RESTARTED AFTER A CRASH and an address (PC ...) for a moment; if you report the problem, include it and what you were doing.

Safe mode: if NACHTFAHRT crashes twice in a row while starting, it starts in SAFE MODE: no sound, but USB works, so you can reinstall with tools/fm1_install.py or put the stock firmware back with M-UPGRADE. Press PLAY to try starting NACHTFAHRT normally. If even safe mode fails twice, the FM-1 drops into the chip's own update mode, and only the rescue below can reach it.

Recovering an FM-1 that won't start

An FM-1 in the chip's own update mode shows a blank screen, and neither the installer nor M-VAVE's updater can see it. On a Mac, in a checkout of the source, run:

bash tools/fm1_rescue.sh

Install the command line developer tools if asked, type your Mac password if asked, then plug the FM-1 in and switch it on when the script says it's waiting. It checks the chip, saves a backup of the FM-1's memory in fm1-rescue in your home folder, and asks before it writes. Type yes; don't unplug anything until it says it's restarting the FM-1, which then starts into its original firmware. The script downloads its rescue tool from X0X's repository, M-VAVE's FM-1 V15 firmware and JieLi's flash loader, checks the firmware against a known fingerprint, and writes only the firmware area, never the bootloader or the FM-1's own settings. If the FM-1 never shows up at all, Felucca's FM-1-transporter can still reach it.


14 Credits

Source, releases and the web installer: github.com/FartyPants/fm1-nachtfahrt and fartypants.github.io/fm1-nachtfahrt.

NACHTFAHRT is free software under the GNU General Public License, version 3. If you share the firmware, you must also share its source code.

M-VAVE and FM-1 are trademarks of their owners. NACHTFAHRT is not connected with M-VAVE or Hügelton Instruments.