Niagara Drift
Niagara Drift is open-source firmware that turns the M-VAVE FM-1 into a drone synthesizer: two always-on drones you tune, shape and move rather than play note by note.
- Custom firmware
- Beta
- Medium brick risk
- Reversible
Source codeWebsite: evanyerburgh.github.io
This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it
A calmer, deeper instrument: slow movement by default, gestures and presets to play, scenes in banks you can crossfade with pressure. Tested on one FM-1. An update from 0.1 keeps your sound and scenes (scenes 1–12 go to bank A, 13–16 to B1–B4).
- A new starting sound (Preset P1, Niagara): slow and breathing, the filters swept by the LFO, the Swell on, delay and reverb in.
- Twelve Presets (SEL + G5), fixed: Niagara, Abyss, Eerie, Glass, Heaven, Tanpura, Tape, Whistle, Howl, Cathedral, Metal, Clean; each its own sound, movement and effects, levelled to each other. With Pitch lock on they keep your pitch. A new FM-1 starts on them.
- Gestures on D5–G5: Weight (a full, warm bass), Shift (both drones move, up to a 5th either way), Clean (the dirt out, as loud), Wash (into the effects). Hold: in while held, out as slowly as you held it; tap: all the way, tap again to let go; SEL as you let go keeps it where it is. PRESETS sets Gesture time (x0.1–x10).
- Scenes in banks: 12 a bank on F3–C5; banks A, B, C and the Presets (SEL + D5..G5). A tap goes there over the Scene time.
- Crossfade by pressure: hold a scene key and press harder to move further into its scene; let go and the sound glides back. Press all the way to land in the scene (the key flashes); SEL while holding keeps the blend between the two. Pressure sensitivity is on Setup 2. The crossfade was Quixotic7's idea; the key pressure is read with MONK-1's method (Charles Vestal), from Velo's sensing.
- Pitch lock (black key 4), on at start: the pitch knobs and scenes leave the pitch alone.
- The left encoders, always live: SELECT the LFO rate, ALGORITHM Movement, PRESETS Gesture time; OCT− / OCT+ pick LFO Wave I / II. Two pages on most page buttons (a button opens the one you last used).
- New sounds and moves: Age (tape: darker, hiss, wow and flutter), Wander (drone II's slow random melody on a scale), Pitch glide, Shift's move, the 17 partner intervals (each tempered, then just), a noise colour blend.
- New effects, after ChoralRoot's (Quixotic7), written anew: a stereo delay (Tape, Wide, Ping-pong, Clean) and an eight-line reverb (Room, Hall, Cathedral, Chorus hall; length to Inf, a freeze). Feedback rings in key and holds its loudness.
- The speaker and headphones: the FM-1 hears which is in use; the speaker gets a low cut, headphones the full range. MASTER's top fifth drives the output harder at the same loudness.
- Level is an audio taper (saved sounds keep their loudness; the numbers read higher). Band-pass and high-pass keep their loudness at high resonance.
- The screen in the site's colours: what's turning shown large; SEL held draws the black keys as on the keyboard, and touching one names it. Lights at several brightnesses: the OCT lights pulse with the LFO waves, ARP breathes with the Swell.
- Knobs catch every click on slow, paused turns.
- Saving and backups: autosave 4 s after the last change, at most every 30 s.
fm1_install.py --backupsaves your sound, scenes and settings to a file and--restore FILEputs them back; installing over Niagara Drift from the terminal saves a backup first, in~/niagara-drift-backups/(the web installer doesn't yet). - The website: the emulator's FM-1 labelled with what every control does, the manual in the order you meet it (presets, gestures, scenes first), a link preview and an icon.
Thanks to ChoralRoot (Quixotic7) for the effects' design, the crossfade idea and the idea of a backup before installing, and to MONK-1 (Charles Vestal) for reading key pressure.
Install: open the web installer in Chrome or Edge, or from a terminal python3 tools/fm1_install.py niagara-drift-0.2.fwsc. Try it first in the browser: https://evanyerburgh.github.io/niagara-drift/
Before you start
- How hard is it?
- EasyCopy a file or use a web page. No extra software.
- What you need
- A USB or MIDI cable
- Comfort with the command line
- A computer
- Can it break my device?
- Small chance of trouble, with a way to recover.
- Can I undo it?
- Yes. You can go back to the official software.
Did it work for you?
Did Niagara Drift v0.2 work on your M-VAVE FM-1?
No reports yet for v0.2.
One-tap reports from owners. Bricked reports are checked before they count.
Compatibility
Devices: M-VAVE FM-1.
No compatibility information yet.
Getting started
From the project's README ("Installing"):
- Open the web installer in Chrome or Edge (they can talk to the FM-1 over USB; Safari and Firefox can't).
- Connect the FM-1 straight to the computer with a USB data cable (no hub) and switch it on.
- Press Install and allow MIDI when the browser asks. It takes about two minutes; don't touch the cable or the FM-1 until it says Done. Then press PLAY.
Or from a terminal, with the file from the releases: pip3 install mido python-rtmidi, then python3 tools/fm1install.py niagara-drift-0.2.fwsc.
What it replaces: Niagara Drift takes the place of M-VAVE's firmware, so the FM-1's own sounds and sequencer are gone until you go back (below).
Updating: when there's a new version, run the installer again the same way. Your sound and scenes are kept, unless that version's notes in the changelog say otherwise.
Backing up: both installers save your sound, scenes and settings to a file before they install over Niagara Drift: the web installer into your downloads (and it offers to put them back afterwards), the terminal one into ~/niagara-drift-backups/. The web installer's "Your sounds and scenes" card saves or restores one at any time, as python3 tools/fm1install.py --backup and --restore FILE do (the FM-1 restarts); each reads the other's files. Back up before trying another firmware, and restore when you come back. A backup leaves out the knobs' calibration, which belongs to each FM-1, so it can go onto another one; a damaged file is refused before anything is written. …
Risk and recovery
- Brick risk
- Medium
- Reversible
- Yes
- Requires opening the device
- No
From the project's README ("Installing"):
- Open the web installer in Chrome or Edge (they can talk to the FM-1 over USB; Safari and Firefox can't).
- Connect the FM-1 straight to the computer with a USB data cable (no hub) and switch it on.
- Press Install and allow MIDI when the browser asks. It takes about two minutes; don't touch the cable or the FM-1 until it says Done. Then press PLAY.
Or from a terminal, with the file from the releases: pip3 install mido python-rtmidi, then python3 tools/fm1install.py niagara-drift-0.2.fwsc.
What it replaces: Niagara Drift takes the place of M-VAVE's firmware, so the FM-1's own sounds and sequencer are gone until you go back (below).
Updating: when there's a new version, run the installer again the same way. Your sound and scenes are kept, unless that version's notes in the changelog say otherwise.
Backing up: both installers save your sound, scenes and settings to a file before they install over Niagara Drift: the web installer into your downloads (and it offers to put them back afterwards), the terminal one into ~/niagara-drift-backups/. The web installer's "Your sounds and scenes" card saves or restores one at any time, as python3 tools/fm1install.py --backup and --restore FILE do (the FM-1 restarts); each reads the other's files. Back up before trying another firmware, and restore when you come back. A backup leaves out the knobs' calibration, which belongs to each FM-1, so it can go onto another one; a damaged file is refused before anything is written. …
Releases
| Version | Name | Released |
|---|---|---|
| v0.2 | Niagara Drift 0.2Latest | 21 October 2026 |
| v0.1-beta | Niagara Drift 0.1 betaPre-release | 14 October 2026 |
Credits, license and support
- License
- GPL-3.0