M-VAVE FM-1 (ChoralRoot 0.26.1): 42 free presets & MIDI CC chart¶
42 free presets to load from the browser, and M-VAVE FM-1 MIDI implementation: 9 CC, 3 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.
| Device | M-VAVE FM-1 |
|---|---|
| Vendor | M-VAVE |
| OSC prefix | /fm1_choralroot |
| Source | 📘 From the manufacturer's documentation |
| Firmware | choralroot-0.26.1 |
| Revision | ChoralRoot 0.26.1 (alternative firmware by Quixotic7) |
| Upstream | vendor-doc |
| Driver file | devices/m-vave/fm-1.vendor.fw-choralroot-0.26.1.json |
Not tested on the device yet
This driver comes from documentation or community data and has not been checked on real hardware. If you own one, a quick test and a pull request promoting it helps everyone — see CONTRIBUTING.
Other versions of the M-VAVE FM-1 (93)
stock firmware V15 · stock firmware V16 · 386DX 1.0.2 · AMB-1 1.3 · BEETLE 1.4.25 · Bunker Evolved 1.0.0 · Bytemania 1.2.0 · Carnac OS 0.9.3 · Chipbox 1.2.4 · fm1-chord 0.3 · Clipper 1.1-experimental · CoralFlower 0.5 · CS-1 2026.10.22 · CTL-1 1.0 · Cut-A-Dor 1.2.1 · Dinghy 0.4 · DRIFT 0.8 · DUB-1 1.3.0 · DUELL 1.0 · Evander's Music Box 1.5.2 · ETCH 1.61 · Fart Machine One 1.1.0 · Felucca 1.6.1 · Felucca [Salt] 0.9-salt14 · Felucca 8 Patterns 1.6.1_and_sequences · FiMba-1 0.6.1 · Flyfish 1.0.1-4e5efb8 · FM-106 Beta4 · FM1-GM 1.0.2 · FMEL-1 1.0 · FMini-1 1.8.0 · FOMAJAM 0.1.6 · FoMni 0.4 · FRASIL 1.0 · Frodhes 0.9.4 · FuMi-1 1.1.0 · Pocket GammaWave 1.0-GW · GHOULBOX 2.3.2 · Golana 1.2 · Golana DZ Edition 0.1.0-beta · GR!MM 1.0 · HERA 1.1 · Hortator 0.23.3 · HYP-1 1.5.54 · Jangada 1.0.1 · JIANT FM 0.9.9-beta4a-813869d · KAWA 0.5 · Ketch 0.1-beta · LOOM-8 0.7 · MAKU 1.0 · MC-1 1.2.0 · Melodee 1.4.5 · MIN-1 0.2.1 · Mini-Tone 1.0.2 · MODELAR 0.3 · MONK-1 0.9.1 · MORPHEUS 1.0.0 · Mutable Dreams 1.0 · MYCELIUM 1.0-test · Niagara Drift 0.2 · No Man Sky FM 0.5 · NOIZ DEMONS 666 · OberVave 3.0.1 · FM1 Open V14 · OPN-1 2.0.0 · ORBIT 0.7.1 · PIGEON 0.5.0-beta.1 · Polly 0.5 · PurpleMonkey 0.11 · FM1 Quest 38 · Rainbow Mode 1.1.5-rb · Shine On 3.0.1 · FM-1 SID 0.1 · SID-1 1.0.0 · SIDOU 0.3.1 · Skiff 1.4 · SLOOP 2.8.1 · SLOOP ALG ALG05-TEST · SLOOP DX7 Banks 2.5-b28-test · SLOOP Floyd FM 2.4 · sloopDX 4.0 · Tessera 2.0.1 · Tonitor 2026.10.23 · TRIBE 0.3-beta · Tuna 1.0-fbc56d3 · Unholy Union 0.2.3 · Vector37 0.3.2 · WaveLoop FM-1 1.0.5.2-midi23 · winampFM Synth 0.12 · X0X 1.1.0 · X0X-RMX 1.1.0 · ZEN-1 1.2 · zp12 2.5
Try it in your browser
Play a virtual FM-1 with any of its community firmwares: M-VAVE FM-1.
Sounds for it¶
42 sounds shared for it, each with its author's credit and licence: open one to listen and load it into your device from the browser.
Sounds of other devices¶
This device loads, as they are, the shared sounds of the Yamaha DX7 (484): open one and load it from the browser.
How do you control it?¶
Find the MIDI ports, then start the bridge with this driver:
osc-bridge detect # prints the ready-to-run line for what is plugged in
osc-bridge run --device devices/m-vave/fm-1.vendor.fw-choralroot-0.26.1.json --out-port <N> --in-port <M>
Then send OSC to 127.0.0.1:7777, for example:
From Claude or any MCP client, the osc-bridge mcp server exposes this driver as fm1_choralroot: ask “what can the M-VAVE FM-1 do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (9)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/fm1_choralroot/mod_wheel |
1 | 0–127 | continuous | Track | |
/fm1_choralroot/part_level |
7 | 0–127 | continuous | Track | |
/fm1_choralroot/sustain |
64 | 0–127 | switch | Track | |
/fm1_choralroot/reverb_send |
91 | 0–127 | continuous | Track | |
/fm1_choralroot/chorus_send |
93 | 0–127 | continuous | Track | |
/fm1_choralroot/delay_send |
94 | 0–127 | continuous | Track | |
/fm1_choralroot/all_sound_off |
120 | 0–127 | trigger | Track | |
/fm1_choralroot/reset |
121 | 0–127 | trigger | Track | |
/fm1_choralroot/all_notes_off |
123 | 0–127 | trigger | Track |
SysEx commands (3)¶
| OSC address | Arguments |
|---|---|
/fm1_choralroot/program |
program: u7 |
/fm1_choralroot/system/info |
|
/fm1_choralroot/system/identify |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /fm1_choralroot/note/on <note> <velocity>, /fm1_choralroot/cc/<number> <value>, /fm1_choralroot/pitchbend <0-16383>, /fm1_choralroot/program_change <n>.
Limitations¶
ChoralRoot 0.26.1 by Quixotic7 (GPL-3.0), a instrument firmware for the FM-1. 2 parts CHORD/BASS; Felucca CC map NOT applied: only CC7 and CC91/93/94 own; CC1/64/RPN0/120/121/123 via Felucca handler; PC selects position in engine sound pool; clock out default; raw DX7 on device. Channels: CHORD part on 'MIDI Perform' channel (default 1), BASS part on 'MIDI Bass' channel (default 2); optional 'MIDI Keys' channel: notes 53-79 press panel keys. Pitch bend: RPN0 as Felucca. Aftertouch: via Felucca handler. Clock: in or out (default out with start/stop). MIDI out: Perform part ch1, Bass part ch2. NRPN: none. SysEx `F0 7D 46 4C`: Felucca editor protocol; INFO 'ChoralRoot 0.26.1'. SysEx `F0 43 0n 00 01 1B`: DX7 VCED -> FM6 part. SysEx `F0 43 0n 09 20 00`: DX7 VMEM 32 voices written straight to bank B1-B32 in flash. SysEx `F0 43 1n / 2n`: DX7 parameter change, dump requests. SysEx `F0 44 00 00 7n 30`: Casio CZ tones. SysEx `F0 01`: Prophet SysEx decoded but not imported. SysEx `F0 00 32 45 00 00 00 40 7F F7`: vendor update identify query (00 59 11 packed); update protocol kept. Identity: vendor identify FM-1_920 (choralroot.c:150); editor INFO 'ChoralRoot 0.26.1'; USB 'ChoralRoot FM-1'.
Frequently asked questions¶
Where can I find free presets for the M-VAVE FM-1?
SynthHub has 42 free sounds for the M-VAVE FM-1, shared by 1 creator with their credit and licence. Open one and load it into the synth from the browser (Chrome, Edge, Opera or Firefox), with nothing to install.
How many parameters of the M-VAVE FM-1 can be controlled over MIDI?
SynthHub's map of the M-VAVE FM-1 lists 9 MIDI CC parameters, each with its number, range and a readable name; the full chart is on this page.
Can an AI agent like Claude control the M-VAVE FM-1?
Yes: SynthHub's hosted MCP server knows the M-VAVE FM-1's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.