fm1-operator, image 1 from its README
1/2
Firmware

fm1-operator

Loud92/100

OPERATOR: an FM synth firmware for the M-VAVE

fm1-operator is custom firmware for the M-VAVE FM-1, by @npi3pak. Open source under GPL-3.0, latest release v0.7 (October 2026).

forM-VAVE FM-1·by@npi3pak

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

Downloads
0
Stars
0
Forks
0
Commits
9
Last commit
Download v0.7

operator-0.7.fwsc· 596 KB· +4 files

GPL-3.0· npi3pak/fm1-operator·downloads come from the creator’s GitHub releases

9
Commits
7
Releases
9 commits and 7 releases in the last year
Activity · last 12 months

OPERATOR

OPERATOR

An FM synth firmware for the M-VAVE FM-1, inspired by Ableton Live's Operator
Web installer · Manual · Releases · Building

release license

OPERATOR turns the M-VAVE FM-1 into a polyphonic FM synth, inspired by Ableton Live's Operator and built to carry its presets over: the same four oscillators, algorithms, envelopes, LFO, pitch envelope, filter and shaper, with the same options. It is an independent project, not affiliated with or endorsed by Ableton.

[!NOTE] Early days: the engine and the pages are in place but not yet heard on the hardware, the algorithm routings are provisional, and the depths of several modulations still have to be matched to the original by ear.

  • 4 oscillators (A–D), 23 waveforms (sine, saws, squares, triangle, noise) and user partials, fixed frequency, feedback, phase; 11 algorithms
  • 7 envelopes (4 oscillators, filter, pitch, LFO) with Loop, Beat, Sync and Trigger modes, the global Time
  • LFO up to audio rate, pitch envelope, filter (LP, HP, BP, notch, morph; 12 / 24 dB) and waveshaper
  • up to 6 voices (presets keep Operator's 1–32), Spread (a stereo voice pair), glide, MIDI routing for velocity, key, aftertouch, pitch bend and the mod wheel
  • a read-only preset bank in the firmware and user slots in flash; USB-MIDI and TRS MIDI in, 49 CCs mapped to parameters (CC 74 = cutoff); 48 kHz audio

The pages

[!WARNING] Installing custom firmware is at your own risk. OPERATOR is unofficial firmware, provided as is, without any warranty (GPL-3.0 sections 15 and 16). It is not made, endorsed or supported by M-VAVE. A failed or interrupted install can leave the FM-1 unable to start until it is recovered with a USB tool. You can return to the official firmware at any time.

Install

  1. Charge the FM-1 and plug it straight into the computer with a data cable. Close apps that use MIDI.
  2. Open the web installer in Chrome or Edge (Safari and Firefox have no Web MIDI with SysEx).
  3. Press Install. Leave the cable alone until it says Done.

From the command line, with a package from Releases:

pip install mido python-rtmidi
python3 tools/fm1_install.py operator-0.1.fwsc

Back to the official firmware: download FM-1 V15 from m-vave.com/download and write it with the web installer's "Back to the official firmware". OPERATOR uses the Felucca platform's update loader, so other Felucca-platform firmware (SLOOP, ORBIT, ChoralRoot, AMB-1) installs over it the usual way.

If something goes wrong: an interrupted write resumes when you press Install again. After two failed boots in a row the FM-1 opens USB RESCUE by itself (or hold OCT− at power-on), and the installer works there too. An FM-1 that does not start at all can be recovered with MvaveFM1Unbricker.

Use

See the manual: the pages, the buttons and MIDI.

Build

See BUILDING.md: the toolchain, ./build.sh, the host simulator and tests, and how a release is made. docs/DEVELOPING.md describes the platform and its app API, for writing your own FM-1 firmware on it.

Credits

OPERATOR is made by npi3pak. It stands on the work of:

  • Leo Kuroshita, Hügelton Instruments: Felucca, the FM-1 platform: HAL, update loader, USB-MIDI, OTA, storage and installers (GPL-3.0).
  • dspaudio: ORBIT, the platform OPERATOR was cut down from.
  • isod89: SLOOP, the web install protocol and the stock supply levels.
  • Quixotic7: ChoralRoot, the audio interrupt fix and the release layout; MvaveFM1Unbricker.
  • Charles Vestal: AMB-1, which showed the FPU in use on the FM-1.
  • Dimitar Toshkov Zhekov: the Terminus font (SIL OFL 1.1).
  • IBM: the IBM Plex Sans font (SIL OFL 1.1).
  • Ableton: the preset bank is Operator's factory presets from Ableton Live 12's Core Library, converted to OPERATOR's parameters (presets/ableton/). Ableton and Operator are Ableton AG's; OPERATOR is not affiliated with or endorsed by Ableton.
  • JieLi Technology: three AC79 SDK files in every package (Apache-2.0).

License

OPERATOR is free software under the GNU General Public License v3.0 only, provided without any warranty. The parts it is built from keep their licences and copyright notices:

PartAuthorLicenceText
OPERATOR (the app, web installer, release tooling, logo)npi3pakGPL-3.0-onlyLICENSE
Felucca platform: HAL, update loader, USB-MIDI, OTA, storage, tools (through ORBIT and SLOOP, modified)Leo Kuroshita, Hügelton InstrumentsGPL-3.0-onlyLICENSE
Web install protocol fm1ota.js, fm1pkg.js (from SLOOP 2.7, unchanged)Leo Kuroshita, Hügelton Instruments; isod89GPL-3.0-onlyLICENSE
Terminus font (rasterised into the firmware)Dimitar Toshkov ZhekovSIL OFL 1.1LICENSES/OFL-Terminus.txt
IBM Plex Sans font (rasterised into the firmware)IBM Corp.SIL OFL 1.1LICENSES/OFL-IBM-Plex-Sans.txt
Three AC79 SDK files in every package (tools/sdk, unmodified)JieLi TechnologyApache-2.0LICENSES/Apache-2.0-JieLi-SDK.txt

Every release and the web installer carry these licence texts next to the packages, and each release's complete source is its tag in this repository. LICENSING.md has the details.

"M-VAVE" and "FM-1" are trademarks of their respective owners; "Ableton", "Live" and "Operator" are trademarks of Ableton AG. OPERATOR is not affiliated with, endorsed by or supported by them.