Firmware

AMB-1

Hype: warming · 60

Generative ambient machine that plays slowly shifting tape-loop style music on its own.

forM-VAVE FM-1·by@charlesvestal

Unclaimed. Is this yours? Sign in with GitHub as @charlesvestal to claim it.

Download v1.3

amb-1.3.fwsc· 596 KB

MPL-2.0· charlesvestal/fm1-amb·charlesvestal.github.io/fm1-amb/·downloads come from the creator’s GitHub releases

40 commits and 4 releases in the last year

AMB-1 for the M-VAVE FM-1

AMB-1 turns the M-VAVE FM-1 into a generative ambient machine, inspired by Brian Eno's Music for Airports. It plays itself from the moment it's switched on: breathing voices, soft bells on tape loops of unequal length, a gliding bass and quiet Euclidean percussion, all through a tape echo, a long tape loop and a plate reverb. You don't perform it, you tend it: pick a piece and a scale, take notes out, put them back, and let it grow.

AMB-1's screen: the garden Voices Frozen

Installing it is at your own risk, though it's hard to get stuck: the web installer can put M-VAVE's own firmware back, and an FM-1 that fails to start twice comes up in a safe mode the installer can reach.

In short

KeysThe scale: each key adds its note or takes it out
PLAY · REC · EDITGrow / rest · freeze · the next chord
HOME · ENV · ARP · LFO · SEQ · FX · GLOThe pages: Garden, Pad, Bells, Bass, Pulse, Space, Setup; KNOB 1–4 set their values, a layer's level on KNOB 1
SELECTThe previous or next page; with HOME held, the tempo
ALGORITHM · PRESETSThe mode · the piece (eight of them)
OCT− / OCT+The bells' octave
SAVESaves; held, puts the piece back to its recipe

Hold any button for a second and a card says what it does.

AMB-1 also tells 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, the chord as it moves, and what each button did.

The manual has the rest.

Building and testing

AMB-1 is an app on fm1-base (base/, a git submodule); clone with --recursive. The toolchain and prerequisites are in BUILDING.md:

sh tests/run_tests.sh                                  # the instrument, the app in a simulator, the web builds
./build.sh                                             # app/build/amb.fwsc
python3 base/tools/fm1_install.py app/build/amb.fwsc   # install it over USB

app/build/host/amb_host SCRIPT OUTDIR runs the whole app on a computer from a script (tests/scenarios/*.amb), with audio and screenshots coming out. ./build.sh --web builds the same code for the browser (the emulator); web/app/build.sh builds the engine alone into a web app for phone and desktop.

Credits

The idea comes from Brian Eno's generative music: Music for Airports' tape loops of unequal length, and the echo chain of Discreet Music. The reverb is Jon Dattorro's plate ("Effect Design, Part 1", JAES 1997), as in FoMni-1; the Euclidean rhythms are Godfried Toussaint's reading of Bjorklund's algorithm. AMB-1 is built on fm1-base and felucca-bsp, from Felucca by Leo Kuroshita (Hügelton Instruments). The idea of running FM-1 firmware in the browser comes from Groove OS. MPL-2.0 (0.9 and earlier: GPL-3.0-only); see LICENSING.md.

M-VAVE and FM-1 are trademarks of their owners. AMB-1 is not affiliated with M-VAVE, Brian Eno or Hügelton Instruments.