Music Technology

M-VAVE Just Open-Sourced the Synth Its Own Customers Had Already Jailbroken

FM1 Open ships a GPLv3 app layer, a binary SDK, a browser workbench and a factory-restore button — four days after the first of 107 community firmware repositories appeared on GitHub.

On 13 October, a GitHub organisation called m-vave pushed a repository named fm1_open. Its README opens: “FM1 Open V13. 8 tracks, 8 sample slots, 16 FX demos; binary SDK included.”

This is the manufacturer. The same week its customers were flashing firmware they wrote themselves onto a $75 pocket synth, M-VAVE published the source and the development kit.

We covered the FM-1 in August as a six-operator FM engine with DX7 SYSEX import for about the price of a nice dinner. What has happened since is the more interesting story.

107 repositories

A GitHub search for FM-1 m-vave currently returns 107 repositories. A sample of what people have built, with stars as of this morning:

RepoWhat it is★
isod89/sloop-fm1A live groovebox firmware528
aroum/fm1-custom-fwResource hub: firmware directory, docs, SysEx protocol tools182
charlesvestal/fm1-x0x909, 808, two 303s with TB-3PO, breakbeat generation179
charlesvestal/fm1-ambGenerative ambient machine, “inspired by Music for Airports”66
charlesvestal/fm1-fomniChord harp firmware, Omnichord-inspired — strum the white keys65
zvenson/dinghyThe smallest firmware to build your own on: plumbing done, documented36
joakimeriksson/fm1-emuBrowser emulator that runs FM-1 firmwares unchanged28
genkigenki/fm1-to-smk37Migrates FM-1 firmwares to the SMK-3724

That last one is worth a pause. Somebody is porting the ecosystem to a different M-VAVE product.

Twenty-seven of the forty most recently touched repositories had commits pushed in the twelve hours before this piece was written — a DX7 drone machine derived from Mutable, a 16-track polymetric MIDI sequencer, an Android editor for the Sloop firmware, an iOS firmware switcher, a talking synth. MYCELIUM 1.0, a forest-psytrance-and-hitech firmware, landed on 16 October. Two independent firmwares for the same device appeared two days apart earlier in the month.

Synth Anatomy, which has been tracking this since the summer, describes the device as having become “a full-fledged groovebox à la ReBirth, an Oberheim-style polysynth, or even an Omnichord-inspired instrument.” All of those are separate firmwares for the same hardware.

What FM1 Open actually contains

The repository has app/, sdk/, third_party/, tools/ and web/ directories, and a licence arrangement worth reading carefully:

APP: GPLv3 with an SDK linking exception; files with other license notices retain their terms. The native engine is supplied as a binary.

So this is not a full source release. The FM synthesis engine itself is a binary blob; what is open is the application layer around it — the sequencer, the UI, the file handling, the board drivers in app/board/. The audio interrupt calls fm1_engine_render(), and app/audio_output.c handles USB and Bluetooth mixing plus USB recording. There is a documented per-track tuning API for custom tuning, though no tuning editor is included.

The GPLv3-with-linking-exception structure is the pragmatic version of this: the community can fork, modify and redistribute the parts that make a firmware distinctive, without M-VAVE having to open-source a synthesis engine it presumably licenses or considers its product.

Building requires Windows x64, PowerShell, and the JieLi PI32v2 clang 4.0.1 r3 toolchain — the FM-1 runs on a JieLi AC791N, a Bluetooth audio SoC, which is the same reason the custom-firmware scene needed a documented base in the first place. There is a WASI build target too: build.bat --web produces a browser preview from the included C sources.

The workbench is the real product

The thing most FM-1 owners will touch is not the repo. It is open.m-vave.com/fm1-workbench — a bilingual English/Chinese browser tool that talks to the device over USB-MIDI from desktop Chrome or Edge.

From one page you can audition presets in a web emulation of the synth before writing anything, edit the eight tracks and six sound engines, manage the eight-slot sample library (roughly 20.45 seconds shared across all eight, allocated freely, WAV from 8 to 192 kHz), import DX7 .syx single patches and 32-voice banks per track, back projects up to your own machine, and flash firmware.

And then there is this, which is the part that signals the company actually thought about it:

Revert to factory V15. Restoring will install the factory V15 firmware and overwrite the four sound banks, restoring 128 factory voices.

A manufacturer-provided undo button for third-party firmware. The page also carries a force-flash mode for migrating from other firmwares, behind an explicit warning that it “may clear data, cause a failure to boot, and require dedicated tools to recover” — which is honest, and which is exactly the kind of warning that only a vendor can credibly place next to a flash button.

There is an official forum at forum.m-vave.com and a ten-chapter manual rendered into the same page.

Why this is the right move

The industry has a recent counter-example. Elektron halted firmware-mod sharing on its own forum, and an unofficial-firmware wave moved elsewhere rather than stopping. Arturia’s MicroFreak has SuperFreaker. The demand does not go away when it is unwelcome; it just gets harder to support and easier to brick a device over.

M-VAVE’s calculation appears to be that a $75 synth whose resale value is partly “and strangers keep writing new instruments for it” is worth more than a $75 synth with a locked bootloader. Given that sloop-fm1 alone has more GitHub stars than most boutique synths have units in circulation, that looks like the correct read.

The open question is whether the binary engine becomes a constraint. Several of the most interesting firmwares — the drone machine, the sample-based grooveboxes — are reaching past FM synthesis entirely, and at some point the thing people want to replace is the part that is still a blob.

Sources