Firmware

spiralfm1

Rising61/100

firmware for m-wave fm1

spiralfm1 is custom firmware for the M-VAVE FM-1, by @Spiralfractalplugins. Open source under GPL-3.0, 1 star on GitHub.

forM-VAVE FM-1·by@Spiralfractalplugins

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

Downloads
0
Star
1
Forks
0
Commits
10
Last commit
Get the source

No release files yet. Build from source.

GPL-3.0· Spiralfractalplugins/spiralfm1·downloads come from the creator’s GitHub releases

10
Commits
0
Releases
10 commits and 0 releases in the last year
Activity · last 12 months

SPIRALFM1

Spiral sound: Forest, Goa, Psytrance, Hitech and TeKK on the M-VAVE FM-1.
An independent live groovebox firmware, free and open source (GPL-3.0-only), based on SLOOP and Felucca by Leo Kuroshita / Hügelton Instruments and on Mycelium 1.0 by Mandalars.

Install from the browser · Manual (SLOOP base) · What SPIRALFM1 adds · Web editor · Releases · Report a bug

CI GPL-3.0 M-VAVE FM-1 version


SPIRALFM1 turns the FM-1 into a four-track live groovebox with a taste: six curated grooves (FOREST JAM, PSY ROLL, PSY GALLOP, GOA ACID, HITECH, TEKK), four 240-bar factory songs (Forest Odyssey, Psy Ascension, Tekk Reactor, Hitech Portal), a PSY FX page (shared bass/kick lowpass, synced echo + reverb, feedback + low-end drive, alien ring mod and stutter), per-track probability, ARP latch-roll, kick envelopes, direct SAVE — on top of the Mycelium groovebox layer and everything SLOOP is: three synth tracks and a drum machine, nine engines, 68+ factory sounds, 40 drum kits, USB audio, TRS MIDI, MIDI clock, song mode and a web editor with full backup. Nothing to load: everything you hear, you play.

Status: 1.0, beta. Install at your own risk and report what you find. Flashing never touches the boot area: you can go back to SLOOP or the official firmware at any time. Your projects, presets, samples and settings survive updates.

Screenshots

The SPIRALFM1 mark

The device firmware is from the Mycelium 1.0 build this work started from; the UI text and splash on SPIRALFM1 read differently now.

More: assets/screens/ (live pages, layers, the web editor).

What SPIRALFM1 adds over SLOOP

GroovesHOME hold → GROOVES: six 32-step factory grooves, 144–196 BPM: Forest quarter kicks with three bass sixteenths, TeKK offbeat bass with end fill, HiTech rolling hats. Loading one never touches your saved project slots.
SongsHOME hold → SONGS: four factory songs, 240 bars, 16 sections each (atmosphere → build → drop → break), read-only; USER SONG restores your own order. SAVE from the overview banks the four song screens.
PSY FXThe FX page opens a dedicated panel: KB LP (one lowpass over dry bass and the kick), SPACE (clocked echo and reverb together), FB+DRV (feedback and low-end drive), ALIEN+ (ring modulation and stutter on lead and FX only).
Sound bank21 curated factory presets browsable on device (Psy / Goa / HiTech / Forest) plus the new MODERN MOTION pack: 16 more presets after the movement-bass, wobble, growl and big-room sound of modern soft synths (Vital, Serum 2) — original designs, no imported preset data. Three original drum kits: PSY KICK, FOREST, HITECH, built from 15 procedurally generated one-shots.
LookOriginal spiral mark and wordmark (drawn by tools/gen_spiralfm1_svg.py), the 86-glyph pixel icon atlas, neon track colours, USB name "SPIRALFM1", manufacturer "Spiralfractal".

The full notes: SPIRALFM1.md. Changelog: CHANGELOG.md.

Install

From the browser (Chrome or Edge, Web MIDI): open the installer page, put the FM-1 on USB, hold POWER → B1 while you tap Install. Make a backup first with the web editor (Projects → Backup).

From the command line (needs pip3 install mido python-rtmidi):

python3 tools/fm1_install.py build/felucca.fwsc
python3 tools/fm1_install.py --info          # identity of the connected FM-1

Windows: tools/windows/INSTALL-SPIRALFM1.bat builds in WSL and opens the installer locally.

Play it in the browser (Studio)

The firmware's own code runs in the browser: the same nine engines, the sequencer, the punch-in FX and the ADPCM samples, compiled to WebAssembly. No FM-1, no USB.

  • Open the Studio — play it with the computer keyboard or a MIDI keyboard, edit the sequence in the page.
  • Build it: python3 tools/build_studio.py → build/studio/engine.wasm + build/studio/samples.bin (clang with the wasm32 target and lld; the script uses a debian container on macOS).
  • Put it in the site: python3 web/make_site.py build/felucca.fwsc 1.0 site → site/webapp/studio/.

The DSP is not a re-implementation: firmware/src/ is compiled for wasm32 like tests/hostsim.c compiles it for the host, web/studio/engine.c is the bridge, and web/studio/worklet.js runs the engine in an AudioWorklet.

Your first beat

  1. HOME hold → GROOVES → pick FOREST JAM → OCT+ twice to confirm (transport stopped).
  2. Play any key: the beat starts. OCT+ / OCT- transpose, the four knobs live on the track page.
  3. FX tap: PSY FX; ARP tap: GALLOP → OFFBEAT → FULL-ON bass patterns.

Details in SPIRALFM1.md and the SLOOP manual (everything else is SLOOP's: tracks, layers, recording, drums, songs, MIDI, USB audio, the editor).

Build and tests

pip3 install Pillow
tools/get_toolchain.sh && tools/get_sdk_files.sh   # once
./build.sh                                         # -> build/felucca.fwsc
sh tests/run_tests.sh                              # every host test, no hardware

See BUILDING.md (macOS needs Docker; CI runs on Linux) and CONTRIBUTING.md — hear any preset without a device with build/host/hostsim ENGINE PRESET MONO out.wav.

Compatibility

Any M-VAVE FM-1 on the official firmware V15 (the update page starts from it). The package identity is FM-1_900; provenance of every release: meta/.

Documentation

Credits and basis

SPIRALFM1 is an independent firmware, not a fork of one repository but a build of its own on top of three:

Licence

GPL-3.0-only for the code; assets are separately licensed (CC0 samples, OFL and MIT fonts) — the full map with texts in LICENSING.md and LICENSES/.

"M-VAVE" and "FM-1" are trademarks of their respective owners. SPIRALFM1 is independent firmware: not affiliated with, endorsed by or supported by them. SPIRALFM1 never enables the Bluetooth / Wi-Fi radio of the hardware.