TL;DR: connect your FM-1 to a computer by USB, open the web installer in Chrome or Edge, and press Install. No extra hardware is needed. Beta: use at your own risk; M-VAVE's own updater takes you back to the official firmware.
Multi-engine synthesizer firmware for the M-VAVE FM-1.
- Nine engines (below), each with its own factory presets
- Four tracks: three synth parts, each with its own engine and sound, plus a GM drum track; 8 voices shared between the parts. ALGORITHM selects the track on every page
- Sequencer: 64 steps per track with chords, ties, accent and slide; live loop recording with overdub and held notes; each track loops on its own length
- Arpeggiator, scales and quantize, glide, MONO / LEGATO / UNISON voice modes
- Effects: distortion and the SLICER per track; chorus, delay and reverb sends; master limiter
- Presets: factory presets with their own patterns, 32 user preset slots, 4 project slots
- Web editor: every parameter of every track, step grid, track mixer, preset library, sample upload
- USB: class-compliant MIDI in and out (channels 1–3 for the parts, 10 for drums); updates over the same USB cable
- ANALOG: virtual analog; two oscillators (saw, square, triangle, sine, PWM), noise, drive, resonant low-pass filter
- DIGITAL: 4-operator FM, 8 algorithms, feedback
- PHASE: phase distortion (ported from CrispyZebra)
- LOFI: chiptune; pulse, triangle, saw, noise and a 4-bit wave RAM, stepped envelope, sweep, arpeggio
- SAMPLE: multisampled instruments and 3 user sample slots
- VOICE: formant oscillator, sung vowels
- TRIO: 3 oscillators with ring modulation and sync, multimode filter (LP / BP / HP / notch)
- WHEEL: tonewheel-style organ; drawbar registrations, percussion, key click, drive, rotary speaker
- GRAIN: granular textures from the built-in samples or a user slot
SLICER (FX page, every track including drums): a tempo-synced 16-step gate or stutter, with 16 patterns.
- Install: web installer (Chrome or Edge, USB), or
tools/fm1_install.pyfrom a terminal - Editor: web editor
- Build: BUILDING.md
On the SCL page, set QNT to WHITE to play the selected scale using only the white keys (SNAP keeps every key and rounds it down to the scale). C4 plays ROOT; consecutive white keys play consecutive scale notes above and below it. Black keys are silent, including during live recording and step entry. TRN transposes the resulting notes; the octave buttons shift them by full octaves. Set QNT to OFF for the normal chromatic keyboard.
Available scales: chromatic (CHR), major (MAJ), natural minor (MIN), Dorian (DOR), Mixolydian (MIX), major pentatonic (PEN), minor pentatonic (MPEN), harmonic minor (HARM), Phrygian (PHRY), Lydian (LYD), Locrian (LOC), ascending melodic minor (MEL), minor blues (BLUES), whole tone (WHOLE), half-whole diminished (DIMHW), and whole-half diminished (DIMWH). Scales with other than seven notes continue across the white keys without repeating notes; their roots need not fall on every C key. The drum track, GM sample kit and incoming MIDI retain their existing note mapping.
| Path | What |
|---|---|
firmware/ |
firmware sources: src/ app, hal/ hardware layer, loader/ update loader |
tools/ |
build script, generators, package maker, installer and sample uploader |
assets/ |
icon atlas, font, CC0 instrument samples |
web/ |
web installer and editor sources |
tests/ |
tests that run on the build machine |
If Felucca is useful to you, sponsoring on GitHub or a donation on itch.io helps keep its development going.
Pull requests are welcome, and so are ideas and requests: post them in Discussions or on X (@kurogedelic).
- Felucca by Leo Kuroshita (@kurogedelic), Hügelton Instruments
- Font: Terminus by Dimitar Toshkov Zhekov, SIL OFL 1.1
- Samples: Versilian Studios VSCO-2 Community Edition and VCSL, CC0 1.0 (attribution)
- PHASE engine: oscillator ported from CrispyZebra by Leo Kuroshita (GPL-3.0)
- VOICE engine: after klattsch by Tony Gies (MIT); formant data from Klatt (1980) and Hillenbrand et al. (1995)
- Web editor icons: Fukiai by Hügelton Instruments, MIT
- Package format and boot files: JieLi AC79 SDK (Apache-2.0, not included)
Code: GPL-3.0-only. Third-party material: LICENSING.md.
M-VAVE and FM-1 are trademarks of their respective owners. Felucca is not affiliated with or endorsed by them.
Copyright (C) 2026 Leo Kuroshita (@kurogedelic), Hügelton Instruments
