DUELL
MultiMorphing Bitimbral Synthesizer
by OSCILL/R
Two synths in one small box. DUELL is free, open-source firmware (GPL-3.0) for the M-VAVE FM-1, a fork of Felucca. A bitimbral synthesizer with two independent parts, playable in three modes. This is a firmware beta: the device package, the web installer, the web editor and the browser emulator.
What is in it
- LAYER: both parts combined, with balance, velocity crossfade and key split. Perfect for complex sounds and DAWless performances.
- DUEL: dual mono. Part 1 hard left, part 2 hard right, fully isolated for use with your external effects.
- STEREO: both parts in one stereo field.
- MORPH: glide between two versions of the same patch with one fader. A smart randomizer creates new variants from your starting point.
- 10 engines, each with a multimode filter. 2 envelopes, 2 LFOs and a mod matrix with 8 slots.
- Ducker (sidechain from MIDI), EQ per part, SAT and INSERT per part (including TAPE, VINYL, FOLD, HARD and CRUSH), chorus, a delay with four modes (DIGI, PING, RAND, OCT+), and six reverbs: ROOM, SPRING, HALL, SHIM, RESO and PLATE, with a low cut on the reverb input.
- BASS MONO (its own page on the GLO button): the output is mono below a frequency you choose (STEREO and LAYER).
- Two level controls per part, as on a hardware synth: the sound's own TRIM and your mixer LEVEL.
- MIDI: a channel for each part, clock in (AUTO, INT, USB or TRS), program change, bank select.
- 128 patch slots, filled by the factory sounds (save over any slot, RESTORE brings the factory sound back), 16 MULTIs (both synths in one slot) and 16 patterns.
New since 0.2.13
- Web editor at https://oscillr.github.io/DUELL/editor/: a patch library for the 128 slots (export, import, drag between slots, DX7
.syximport), backup and restore, a piano roll for the step patterns, and wavetable files. - 3 user wavetables (USR1 to USR3) for the WAVE engine, made from a WAV file.
- 128-patch bank with SAVE over any slot, RESTORE and RESTORE ALL (it was 48 places).
- 14 new factory sounds (the bank grows from 114 to 128) and 3 more FM6 voices.
- TAPE and VINYL, two new INSERT types.
- PLATE, a sixth reverb, and a LOCUT on the reverb input so no reverb makes the bass muddy.
- Delay modes: DIGI, PING, RAND and OCT+.
- SHIMMER: the SHIM reverb can shimmer an octave down or both ways (PITCH), with a slow drift (MOD).
- BASS MONO, on its own page of the GLO button (not in the MENU): the output is mono below a frequency you choose.
- KILL, a new 4-pole filter on PERFORM (no noise, no crackle), PERF LEAVE (SPACE and KILL glide back to neutral when you leave PERFORM, or KEEP), and the black keys play in the scale on PERFORM.
- MODULES: switch the arp, the sequencer, the send effects and the part effects off for the whole unit (GLO).
- STOP ALL now silences the delay, chorus and reverb tails too.
- The unit shows up as DUELL over USB. Computers may treat it as a new device once (the MIDI port names change).
- CLK AUTO: the clock finds itself (USB or TRS) and falls back to the internal tempo; it is the new default.
- MIXER and the pages reordered: a mode or type first, an amount next, a level or mix last. Controls that do not apply are hidden instead of faded.
- K1 acceleration on the patch list: a fast turn goes faster through the 128 slots.
- Installer backup fixed: it works with DUELL again and saves patches, multis, patterns, wavetables and settings.
- The hottest audio code runs from the chip's RAM instead of the flash.
- Level model: TRIM (the sound's loudness, saved with the patch) and LEVEL (your mixer volume, never touched by loading a sound).
- Removed: OUTPUT EQ (the low cut and BASS+) and the OVERVIEW page. TUNE stays in the MENU (MENU > AUDIO).
Full list: CHANGELOG.md.
Read this before you flash
- This is a beta. It has been tried on only one FM-1, the author's. Other units are untested.
- Saves may change before the alpha. Until the alpha release, the way patches, multis, settings and backups are saved may change. Saves may stop loading between versions. Do not rely on them yet.
- Saves from before 0.2.20 will not load after the update. Patches, multis and projects saved with 0.2.13 or any earlier version are not read by 0.2.20 (nothing is converted); the slots show the factory sounds and multis. Back up first, and do not count on getting your old saves back.
- The factory sounds, plus 14 new ones. FRETLESS and SLAP DOCTOR were reworked (they no longer sound alike), the sound numbers changed (a sound's number is its place in the list), and the reverb has a new low cut default (88 Hz), so a reverb has a little less bass than in 0.2.13.
- The FM-1 has a single-bank layout and there is no known rollback. The way back to the official firmware (V15) has worked on the author's unit about three times; it is not tested elsewhere.
- You install at your own risk. No warranty (GPL-3.0). Back up first, use a data USB cable straight into the computer, and never interrupt the write.
- DUELL is not affiliated with M-VAVE. M-VAVE's firmware is not distributed here: to go back you download V15 yourself from https://www.m-vave.com/download.
- Recovery notes: docs/RECOVERY.md.
Assets
| File | What |
|---|---|
duell-0.2.20-beta.fwsc
| the device package (the installer page loads this one) |
duell-emulator-0.2.20-beta.zip
| the browser emulator (also hosted at https://oscillr.github.io/DUELL/emu/) |
SHA256SUMS
| checksums |
SHA256: bdb12cf2b476124b7b82f2cacdf6ed6a047f33a550eb74a0434183dd527f4478 duell-0.2.20-beta.fwsc (size: 610,086 bytes)
SHA256: 404d7f334fb8ffcfd673c8a6443a8f62230f1ec4e91fdf5f2c1c6f7e1dbb72c8 duell-emulator-0.2.20-beta.zip (size: 330,987 bytes)
How to install
Open the installer page in Chrome or Edge on a computer: https://oscillr.github.io/DUELL/install/. Tick the checklist, save a backup, connect the FM-1, press Install and wait for Done; then unplug and replug the unit. Steps and details: docs/INSTALL.md. The page compares the file with the SHA-256 above.
The web editor (Chrome or Edge, unit connected over USB): https://oscillr.github.io/DUELL/editor/.
Known gaps
- Tested on one unit only (the author's). The editor and the restore are not tested with many units.
- The patch library and the piano roll are tested on the computer (simulated unit). The USB-MIDI timing of a 128-patch export or import (PATCH_RAW) and the flash timing of 128 writes are not measured on a real unit yet.
- The user wavetables are tested on the computer; their writes are not tested on other units.
- A heavy multi can click when it is loaded (a missed audio block, very rarely).
- MIDI is not tested with many devices; dual core is off and untested.
All of it in docs/KNOWN_ISSUES.md. Bugs: the report form.
Credits
Special thanks to: Felucca and its author Leo Kuroshita, JIANT (reverbs), CHOMPI Club (plate reverb and delay ideas), Emilie Gillet of Mutable Instruments (reverb design), aquanodemusic (a CC0 FM voice), Baud Girl (for starting it all), Charles Vestal (X0X), keremimo (Melodee), Quixotic7 (ChoralRoot), zvenson (zp12), isod89 (SLOOP), and the whole community.
The PLATE reverb is based on the reverb of the CHOMPI firmware (MIT), which is Emilie Gillet's plate reverb from Mutable Instruments Rings and Clouds (MIT). The RANDOM and OCT+ delay modes are written again from the idea of the granular delay of CHOMPI Club's TEMPO firmware (MIT); no code copied. Licence notices: NOTICE.md.