AISLINGby CU_STE

manual · AISLING, Irish ambient for the M-VAVE FM-1

cheat sheet

AISLING turns the M-VAVE FM-1 into a generative Irish ambient instrument: harps over a held drone, and a flute, a fiddle or a voice leading, in the old modes, with the weather of the west coast behind them. It plays itself from the moment it's switched on. A harp's ostinato runs over the drone, often in a jig's threes, its notes repeated by the echo; a second harp, a step shorter and an octave down, drifts against it like the harper's other hand; the Lead plays long phrases far back in the reverb; surf, wind, rain, a turf fire or a curlew pass behind. The chords swing between two tonics, D and C or E minor and D, as the old tunes do. 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 harps, open the filter, push the echo, mute and solo the layers.

Source, releases and the web installer: github.com/stephencummins/fm1-aisling and aisling.stephen8n.com. AISLING is by CU_STE (www.stephen8n.com).

AISLING (an aisling is an Irish vision poem) is a fork of NACHTFAHRT by FartyPants, a Berlin School firmware: it keeps NACHTFAHRT's whole machine and changes what it plays. 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.3, the third test version. 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 AISLING, each control labelled with what it does: the Controls section below says the same in words
The FM-1 (a drawing), running AISLING, 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 AISLING. M-VAVE's own updater, M-UPGRADE, puts the stock firmware back. M-UPGRADE shows AISLING as v14; that's expected.

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

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

  1. Listen. The first piece, Skellig (D minor, 76), begins with its drone, the pipes' drones on D, and the surf. Its harp is there from the start, twelve notes with every third accented (a jig's lilt), behind a closed filter that opens over the first 8 bars (about 25 seconds). Then the harp runs, its notes repeated by the echo, and within the first minute the flute 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. Aran and Carolan start their strings at once (Aran's a bouzouki over a bodhrán); Skellig, Samhain and Connemara have one harp only (Samhain's over a bodhrán's heartbeat, Connemara's over a low bodhrán), and in Samhain even the drone opens slowly out of the dark.
  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. AISLING 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 Aisling 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: Ceo, Macalla, Fras, 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 Aisling 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, AISLING 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

Carolan playing: the piece, its key and tempo at the top, EMERGE and its bars on the left over five level meters, the chord DM7 in white in the middle with the harps' notes circling it, CU_STE and, under it, a green triskele and AISLING at the top right, the echo's level on the right, two lanes of steps below, the Aisling page's four knobs at the bottom
The main screen, Carolan

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

  • Top: the piece, its key and mode, the tempo (EXT under MIDI clock). A dot means unsaved changes.
  • Top left: the section of the arc (EMERGE, FLOW, SOLO, BRIDGE), with hold and lock after it in red while they're on, and under it the eight bars of the phrase.
  • Top right: "CU_STE", small, and under it the page's name (with SOLO beside it while a solo is on); on the Aisling page, a small green triskele before it.
  • Left: five meters, one for each layer in its own colour: the Drone (violet), the Sequence (pink), the Lead (gold), Sequence 2 (cyan), the Atmosphere (grey). Each rises with what its layer is playing. Across each one, a white tick shows where that layer's filter has moved to: above the middle, brighter; below, darker; six pixels for each octave.
  • Middle: the chord the Drone plays, its name in white with nothing behind it. Each note of the Sequence sends a pink dot round it on the inner orbit, each note of Sequence 2 a cyan one on the outer orbit, fading over a few seconds; the echo's repeats are smaller, dimmer dots with a short trail. Hold turns the chord and the dots red and says "hold". A new chord comes in big and cyan for a moment.
  • The chord's ring: round the orbits, a ring of violet dots shows how far the chord has gone: it grows clockwise from 12 o'clock, bar by bar, and is full when the chord changes, then starts again from 12. In the chord's last bar it is brighter, so you can play a phrase into the change. While held (REC) it stays as it is, in red; with Drift at Hold (the chord never changes) there is no ring.
  • Right: the echo's level (ECHO).
  • A ring in the middle: while you turn SELECT on a layer's page, its level as a big knob in its colour, the number inside and the layer's name under it (grey and MUTED if it's muted); it fades a moment after.
  • Below: two lanes, the Sequence (pink) and Sequence 2 (cyan), each as long as its sequence: a big dot for each step that plays, a speck for a rest, and a white cursor on the step playing now. Two sequences of different lengths drift apart and meet again, and you can see them do it. On a layer's page, the other lane is greyed.
  • Bottom: the page's four knobs and their values. While a knob turns, the rule above them says what it does; while SELECT turns Energy on the Aisling page, it shows "ENERGY", its value and a bar from the middle.

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, a green triskele (the triple spiral, as carved at Newgrange) draws itself on black among a few stars, AISLING comes up large under it, then "by CU_STE" in orange and www.stephen8n.com, and the version at the foot, for a moment. The music starts as always, under it.

The launch screen: a green triskele, AISLING, by CU_STE, www.stephen8n.com, and the version
The launch screen

5 The layers

The Sequence (ARP; MIDI channel 2) is the heart: in six of the eight pieces a harp (Aran's a bouzouki, Blasket's a dulcimer). 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 Harp, a plucked wire string, as on the old Irish harp (Karplus-Strong: a burst of noise ringing round a delay line a period long), whose Cutoff is how bright the string is struck and Decay how long it rings (long: a wire string rings on) (in the highest octaves, from about C7, a string rings short whatever Decay is set to, as a real one does); or Bouzouki, picked pairs of strings a hair apart, beating slowly as a course does, darker and shorter than the Harp; or Dulcimer, hammered pairs, bright, with a short clang at the strike (both ring as the Harp does, Cutoff and Decay the same; the lowest notes, under about C2, on one string). 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), NACHTFAHRT's Berlin School echo, kept: 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), and Bodhran, the frame drum: each note folded down into the drum's tone (65 to 130 Hz, so the line plays the drum's patterns), a slap over it (Cutoff 2 how bright), Decay 2 how long the skin sounds; on ALGORITHM, Harp, Bouzouki, Dulcimer and Bodhran come after Sub. Chance thins it at random. Its Intro (Move page) opens its filter, from closed, over that many bars: in Blasket 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), Pipes (a piper's chord: each note a soft double reed, and the Pedal three drones, bass, baritone and tenor, an octave apart and a few cents out, so they beat slowly), Harmonium (two free-reed ranks, one a few cents sharp, on a slow bellows that swells and brightens them), 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 Aisling page), or follows the eight slots of the Chords page.

The Lead (LFO; channel 3) is one voice, gliding: Odyssey, Mini, Flute, Theremin, Synthi, Chanter, Fiddle, Voice. The Flute is a soft tone with a little of its second and third harmonics, breath, and a chiff as each note starts; the Chanter a nasal reed, bright as each note starts, each note stopped and opened again, and let go short; the Fiddle a bowed string through its body, the bow's hiss loudest as each note starts; the Voice a singer's, its vowel easing from note to note (Tone opens it), its resonances climbing with the high notes, as a soprano's do. The four are matched in loudness. Skellig, Aran, Carolan, Connemara and Tir na nOg play the Flute, Burren the Fiddle, Blasket and Samhain the Voice; the Chanter is there to choose.

Its notes are ornamented, as trad players do. Ornament (0–100) is the chance that a note an eighth or longer gets one: a cut (a grace note a step above, about 30 ms), a tap (the same from below), a roll on a long note (the note, a cut, the note, a tap, the note), a slide up into it from a semitone under, or, sung, a turn (a step away and back). Each voice has its own: the Flute and the Chanter cut and roll (the Chanter's lowest notes get crans, three cuts in a roll's time), the Fiddle slides and rolls, the Voice slides and turns, the Theremin only slides. An ornament lives inside a note: the notes, their timing and the Lead's ideas are the same whatever Ornament is, and more Ornament graces the same notes and more, not others.

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, and the Lead's style 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: the opening of the piece's air (The pieces), its first call the air as written and its answer the same, ending on the chord. Its notes are never varied (a return in a quiet stretch may come at half speed). 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, in the air's place: 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 again from its air. PERFORM's Forget (the top key) lets the air go too, and the Lead starts again from ideas of its own.

After your theme, or the piece's air, 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), Rain (soft drops, each a short ring at its own pitch, over a quiet hush), Fire (a turf fire in the hearth: a warm glow and a hiss that flares and settles, soft pops low in the turf, now and then a few together), or Curlew (the whaup over the bog: now and then a call, whistled, the "cour-li" rising, sometimes the bubbling song, near or far, here or there, into the echo). Wind and Surf are dark, their top end soft (the FM-1's speaker is bright). Rain, Fire and Curlew sound as loud as Wind at the same level (A-weighted; Curlew while it calls).

Its knobs keep their jobs whatever it is: Density, how busy (on Wind, how often its band turns; on Rain, how many drops; on Fire, how many pops; on Curlew, how often it calls); Drift, how quickly it changes (Wind's band, Surf's waves, Rain's showers coming and going, Fire's breathing and flicker); Colour, darker or brighter (where Wind's band wanders, the drops' pitch, the fire's glow, hiss and pops, how reedy the curlew's whistle); Ring, how much it rings (how narrow Wind's band, how long each drop and each pop, how slow the curlew's calls); 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 AISLING 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. AISLING 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

  • Emerge: the opening, for as long as the longest Intro is still opening. With every Intro at 0, a piece starts in Flow. It happens once and doesn't come back.
  • Flow: the sequences; the Lead now and then.
  • Solo: the Lead in full.
  • Bridge: the sequences keep playing, but each layer's filter takes an extra move of its own, darker or brighter at random, of up to Bridge's amount (the Arc page: up to 3 octaves at 100; the Lead's a third of that), eased in over the bridge's first four bars and out again over its last four. The layers part, and come together again at the end. Bridge 0: no extra move, and the section is like Flow. A swell of echo in the two bars before Flow returns.

Sections last 16 to 64 bars; Motion (the Aisling 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):

  • Filter: a slow swing between Shut 30 and Open 30, 64 bars round, opening first.
  • Wet: from 0 up to +50 and back, 48 bars round.
  • Energy: follows the arc: 0 at the start of the Sequence's slow rise, +50 at its peak, back down after (Arc 0: it stays at 0).

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 Aisling 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 (Skellig'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

Each piece is a place in the west, or a harper, and each plays the same band: a drone, one or two harps (the Sequence and Sequence 2; in Aran, Samhain and Connemara, Sequence 2 is a bodhrán), the Lead (a flute, a fiddle or a voice), and the weather behind. The Irish of it is in four things: the modes (major, Mixolydian, Dorian, minor, and two gapped scales of six notes), the drone held under everything, the double tonic (the chords swinging between two, a long while each: the Chords page in Loop) and the jig's threes (harps of 12 and 9 steps, every third accented).

#PieceThe placeKey, tempoHarpsDroneAtmosphereChords
1SkelligSkellig Michael, the rock off KerryD minor, 76One: 12 sixteenths in threes, every third accented, opening over 8 bars; no Sequence 2PipesSurfDm and C in turn, 16 bars each
2BurrenThe Burren, Clare: bare limestoneG Mixolydian, 84Two, of 12 and 11 steps, drifting apartChoirWindI IV I ii, 16 bars each
3AranInis MórA Dorian, 96A bouzouki's jig of 12 over a bodhrán's slip jig of 9; the bouzouki straight inHarmoniumFire: a turf fireAm and G in turn, 8 bars each
4CarolanTurlough O'Carolan, the blind harper (1670–1738)D major, 88Two, of 16 and 15 sixteenths; the first straight inStringsRainA planxty's: I IV I V vi IV V I, 8 bars each
5BlasketThe Blasket Islands, Kerry, left in 1953E Dorian, 70Two slow dulcimers of 12 and 11; the second opens over 12 bars, after the firstChoirSurfEm and D in turn, 32 bars each
6SamhainThe year's dark turnB minor, 64One low harp of 8 over a bodhrán's heartbeat of 8 (its first two steps, the rest ghosts)Pipes, dark, opening over 8 barsWindBm, G, A, 32 bars each
7ConnemaraBog, lake and rainG hexatonic minor (no sixth), 92A harp's slip jig of 9 over a low, dark bodhrán of 8 (three, three and two)Organ; a long echoRainGm and F in turn, 16 bars each
8Tir na nOgTír na nÓg, the land of the young over the western seaD hexatonic major (no seventh), 80Two, of 12 and 11 sixteenthsGlass, phased; a long reverbCurlew, far out over the bogD and G in turn, 16 bars each

In every piece but Aran (Bouzouki) and Blasket (Dulcimer) the Sequence plays the Harp. The Lead is the Flute in Skellig, Aran, Carolan, Connemara (two octaves down) and Tir na nOg, the Fiddle in Burren and the Voice in Blasket and Samhain, coming in within the first minute (Lead in 4 to 8 bars); its Width is low, so it stays gentle. Its Memory (the Arc page): Skellig 60, Burren 55, Aran 70, Carolan 70, Blasket 65, Samhain 40, Connemara 50, Tir na nOg 55 (Aran's and Carolan's flutes hold on to their ideas, Samhain's voice wanders). Its Ornament: Blasket 45 (the voice is the most graced), Burren 40, Skellig and Aran 35, Carolan, Samhain and Connemara 30, Tir na nOg 25. The keys are the pipes' and the whistle's (D, G, A, E, B). The keys, modes and tempos are starting points, to be tuned by ear.

Each piece's Lead opens on an air, its first theme: the opening of a public-domain tune, traditional or O'Carolan's, from Captain Francis O'Neill's O'Neill's Music of Ireland (Chicago, 1903; its number there), in the piece's key and mode. Most are in 3/4; the Lead plays them in their own time, so they float across the pieces' 4/4.

#PieceAirO'Neill's
1SkelligO'Carolan's Lament69
2BurrenThe Coolin (An Chúileann)89
3AranThe Dear Irish Boy, from D minor73
4CarolanBlind Mary (O'Carolan)655
5BlasketHave You Seen My Valentine? (bars 2 to 4)592
6SamhainThe Little Black Rose (Róisín Dubh), from C minor70
7ConnemaraShule Aroon (Siúil a Rún), from A minor60
8Tir na nOgOssian's Lament, from G132

The air is kept with the piece's settings (Lead air, on no page). A figure on the keys takes its place, and Forget lets it go, until the piece begins again.


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: Aisling: 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), Ornament, Vibrato. Its sound: Tone, Attack, Reverb, Echo. Its style (a third press), how it plays: Ornament, Glide (1–150 ms), Vibrato, Memory (the same as the Arc page's). Its Move page (a fourth): 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 plateCeo (fog): a wash of noise rolling down 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 stepsFras (a burst of rain): a scatter of bleeps into the echoMacalla (an echo): the echo's feedback past full and more into it, so it rings on and builds

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
1Ceo (the grid's)
2Macalla (the grid's)
3Fras (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 Aisling 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:

  • White 1–5: the Drone, the Sequence, the Lead, Sequence 2, the Atmosphere, muted and back (their levels kept). A mute is complete: a muted Lead lets go of its note at once (and plays nothing from the white keys), a muted Drone is silent, and neither sends MIDI notes while muted.
  • Black 1–5: the same, soloed (more than one: they play together). (In normal playing, the black keys play effects instead: The black keys.)
  • White 6, held: the knobs become the levels (Drone, Seq, Lead, Seq 2).
  • White 7–11, held: Sweep (the Sequence's filter swept), Open, Shut (the filter pushed), Drop (both sequences out), Echo (the echo pushed, everything in and feeding back).
  • The top key (G), apart from the rest: Forget. A press and the Lead forgets everything it remembers: its ideas, its theme (yours too, if you played one), a figure you were in the middle of playing, and an answer it was about to give. The note it's playing stops; it thinks of a new theme and new ideas of its own (the piece's air too is let go), and plays again within a few bars. Nothing else changes (no setting, nothing saved). The key is lit, and dark while you hold it.

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


11 MIDI

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

  • Out (on by default; a muted layer sends nothing): the Drone on channel 1, the Sequence (and its repeats) on 2, the Lead on 3, Sequence 2 on 4, and, on its own tempo, clock with start and stop.
  • In, clock: the sequences follow MIDI clock, and start, continue and stop start, continue and stop the music. The screen shows EXT for the tempo; when the clock stops, AISLING goes back to its own.
  • In, channel 1: a note adds or removes its note from the scale ("ADDED", "REMOVED"; the root stays, three notes at least). The keys no longer do this; they play the Lead.

The visualiser

The visualiser turns the MIDI out into a painting of the west of Ireland: the Lead's notes fall into the sky, Sequence 2's into the hills, the Sequence's into the fields and the Drone's into the bog. A note's pitch sets how far across it lands, how hard it's played how much paint, and the tempo the wind. Land, Sea and Space change the scene, and V steps through them. Sea is the Atlantic from above, under a storm: the Drone lays the swell, the Sequence the foam, each note of Sequence 2 spins up an eddy, and the Lead is the light. Space is deep space: the Drone a nebula's glow, the Sequence stars that flare where its notes land, Sequence 2 threads of gas, and the Lead a comet, up for a higher note and down for a lower. Connect the FM-1 by USB, open the page in Chrome or Edge (on a computer, a Chromebook or an Android phone; Safari can't read MIDI), and press Listen. Demo plays a recording of Skellig, as the FM-1 plays it, and paints it as you hear it: it is the one thing the page fetches, and opened from disk the demo paints without sound. Paint into it with a finger or the mouse; Save keeps a still, and Record a video with the FM-1's sound (the browser asks to use it as a microphone, because that is how the FM-1's USB audio appears). Drop a sound file on the page (or press Sample) to mix it in: a WAV, AIFF, FLAC or MP3 loops out of the computer and paints as the weather, low sounds low and high sounds high. While the FM-1 plays (or the demo) In time fits it to the tempo like tape, to the nearest 1, 2, 4 … 64 beats, starting on the FM-1's Start and stopping with it; a sample longer than 30 seconds plays at its own speed. Record takes it too, mixed with the FM-1. Everything stays on your computer. Add ?clean to the address for the painting alone, for a projector or a stream, and ?scene=space or ?scene=water to open on deep space or the sea.

Screen reader

AISLING 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

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

  • By itself: a few seconds after a change, while resting (writing to the memory interrupts the sound for a moment, so it never happens while the music plays). A dot at the top means unsaved changes.
  • GLO held half a second: saves now ("SAVED").
  • Setup's KNOB 4 (Save): shows Save while there are unsaved changes, Saved once there aren't; a turn saves.
  • GLO held on (1.5 s): the piece back to its recipe ("RESET"); not saved until the next save.

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 AISLING build aren't read: AISLING 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: AISLING 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 AISLING 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 AISLING 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 M-VAVE's firmware. The script downloads M-VAVE's FM-1 V16 and V15 (V15 from the Internet Archive's copy, since M-VAVE now serves only V16) and JieLi's flash loader, and checks each against a known fingerprint. V15 and V16 come with different bootloaders, so it writes the version whose bootloader is already on your FM-1, and 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/stephencummins/fm1-aisling and aisling.stephen8n.com. AISLING is by CU_STE: www.stephen8n.com.

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

  • AISLING is a fork of NACHTFAHRT by FartyPants (GPL-3.0-only), whose engine, layers, song arc, filter motion, remembering Lead, pages, effects grid, emulator and site it keeps. NACHTFAHRT is a fork of DUB-1, a fork of AMB-1 by Charles Vestal (GPL-3.0-only), whose echo chain, plate, pieces system, chord walk, UI and platform they keep.
  • The music is Irish traditional music's, as heard: its modes, its drones, its double tonic, the jig's threes, the harp, the flute, the fiddle, the chanter and the singing voice. Each piece's Lead opens on the first phrase of an old air from Captain Francis O'Neill's O'Neill's Music of Ireland (Chicago, 1903), in the public domain; The pieces lists them.
  • NACHTFAHRT's way of playing a sequence (the root accented, sparse notes, a dotted-eighth repeat as loud as the note, two delays filling the spaces), which AISLING's harps keep, owes much to Synth Seeker's videos on Berlin School sequencing.
  • The Drone's Choir (formants in cascade on its notes, its vowels moving) follows VOICE in Felucca (eng_formant.c, Leo Kuroshita, Hügelton Instruments, GPL-3.0), after D. H. Klatt's cascade formant synthesizer (JASA, 1980); written again in floating point. Its vowels' formants are Felucca's table (after the men's means measured by Hillenbrand, Getty, Clark and Wheeler, JASA, 1995).
  • The Harp's string (Karplus-Strong) follows pluck.c in M-VAVE's fm1_open, an adaptation of DaisySP's String (Electrosmith, Emilie Gillet; MIT licence), written again for this engine.
  • The reverb is Jon Dattorro's plate ("Effect Design, Part 1", JAES 1997), by way of FoMni-1.
  • Shimmer's octave shifter (a rotating delay) follows OCT UP and its SHIMMER in Felucca's performance layer by Leo Kuroshita, Hügelton Instruments (GPL-3.0), also in Skiff; written again in floating point.
  • The granular cloud (Freeze) follows the design of CLOUD in JIANT (GPL-3.0), another FM-1 firmware.
  • The Tape atmosphere is DUB-1's crackle, after Bahadirhan Kocer's "Using Resonators in Live".
  • Wind's pink noise and its band whose level follows its wandering, Surf's brown noise and Rain's drops (and Fire's pops, timed as they are) follow NOISE in Skiff (eng_noise.c, Leo Kuroshita, Hügelton Instruments, GPL-3.0): its colour from white to pink (Paul Kellet's filter) to brown, its drift and its dust; written again in floating point.
  • The chord walk is a weighted random walk over the scale's degrees, from AMB-1's chord_change.
  • The platform (hardware layer, USB, update loader, installer and storage) is from Felucca by Leo Kuroshita, Hügelton Instruments, by way of X0X, FoMni-1, AMB-1 and DUB-1.
  • The idea of running FM-1 firmware in the browser comes from Groove OS.
  • The fonts are Barlow Semi Condensed and Terminus (SIL Open Font License).

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