Repository navigation
Releases: thomasgregorymarsden-code/Felucca-opx
Release list
OPX 0.2.0
Two firmwares, each with its own installer, editor and simulator:
- OPX (
opx-0.2.0.fwsc, identity FM-1_9001): Felucca 1.5.1's four parts with the OPX engine. - OPX Solo (
opx-solo-0.2.0.fwsc, identity FM-1_9002): one OPX part with the memory of all four: every opsix effect, SHORT DELAY to 300 ms.
Installers: OPX https://thomasgregorymarsden-code.github.io/Felucca-opx/webapp/installer/ · OPX Solo https://thomasgregorymarsden-code.github.io/Felucca-opx/opx-solo/webapp/installer/
-
OPX Solo's factory patches use the new effects and voice settings (F9 onward; F1-F8, shared with OPX,
unchanged): rotary speaker on PERC ORGAN and ROCK ORGAN; chorus on E.GRAND, POLY KEYS, STEEL PAN, VOX LEAD, the
pads and POLY SYNTH; the string machine's ensemble (U.ENS) on STRINGS, SLOW STRGS, VIOLINS, MS STRINGS; shimmer
reverb on SHIMMER, HALO, SPACE WIND; spring on FUZZ GTR and LASER; tape echo on LO-FI KEYS, FAT LEAD, SOFT LEAD,
SYNC LEAD and DUB CHORD; tempo delays on KALIMBA, SQUARE LD, BELL LEAD, RANDOM PAD, BLIP; early reflections on
TRUMPET, SAXOPHONE, CLAP; GRAIN on COMPUTER and GLITCH. Glide on the mono leads; legato slides on ACID BASS, 808 SUB,
FRETLESS, TROMBONE, CELLO. A patch with its own delay or reverb has its DELAY send at 0 (that bus is silent while
it plays). Levels re-matched with PROG LEVEL (within ~1 dB of before).opx_test --auditestimates each patch's
share of the processor (COST: six notes and the effects, from the device benchmark); every Solo patch is under ~66
but AIR PAD (~74, unchanged: two FILTER-mode operators). -
Voice section (M6): each OPX patch carries the opsix's PROG LEVEL, BEND UP / DOWN and VOICE page (ASSIGN,
GLIDE and its time, UNISON voices, DETUNE, SPREAD). Picking a patch (SLOT, PRESETS, the editor) sets the track's
VOICE settings from it; OPERATORS' VOICE rows store them back into the patch. PROG LEVEL counts from the INIT's
-6.0 dB (every earlier patch plays as before); BEND sets an OPX track's pitch-wheel range; UNISON plays the patch's
voice count (up to the engine's six) and DETUNE spans 0-200 cents. OPERATORS' P.PITCH section is now PROG, with
BEND +, BEND - and LEVEL; the web editor has a "Level and voice" section. Factory patches marked mono now store
ASSIGN MONO. -
OPX Solo: the operators' SHORT DELAY reaches the opsix's 300 ms (OPX: 16.5 ms, as before). Up to 64 ms it
runs at the full rate; longer times at a lower one, the repeats darker (300 ms: ~4 kHz wide). -
OPX Solo plays every effect: the delays (DLY, DLYBPM, PDLY, PDLBPM, TDLY, TDLBPM), REF, REVERB, SHVERB, SPRING
and GRAIN, in Felucca's DELAY bus's memory: while one of them is on, the patch's DELAY send is silent. Up to three at
once share it (each delay's longest time shrinks as more share; past what fits the echoes run at a lower rate,
darker). The INIT patch's FX3 REVERB HALL is now heard there. OPX (four parts) is unchanged. The benchmark has a row
for each. -
OPX Solo plays six more effects: CHO, U.ENS, FLNG, FLNBPM, RTRY and ENH (a 21 ms line per FX slot, 12 KB). The
INIT patch's FX1 (CHO) is now heard there. OPX (four parts) is unchanged: the 13 cheap
types. The web editor marks the types the connected firmware plays. -
Renamed: Felucca-OPX is now OPX, Felucca-OPX Solo OPX Solo (the firmware's screens, the web pages, the
documents; the release filesopx-X.Y.Z.fwsc,opx-solo-X.Y.Z.fwsc). The repository keeps its name, the package
identities (FM-1_9001, 9002) and the version strings stay. -
A logo on the power-on screen: an FM wave disc (six rings, each a sine whose phase another sine bends, cyan to
red, round a white disc with OPX), the firmware's name, its version and Felucca's maker. Drawn, not stored: no image
in flash. In colour in every palette; ABOUT shows it small beside the title (still). On the power-on screen it is
animated: the rings fade in from the centre as circles, take on their lobes and bends, and the bends then travel
round the rings for 3 s, ending on the still logo, which holds 0.25 s. The screen stays 3.25 s (Felucca's splash: 0.4 s),
the keys silent under it as before. MENU > ANIM OFF: the still logo. -
A CPU meter in the header: the audio's share of the processor, after the REC mark, updated four times a second;
grey, the accent from 70 %, REC's red from 85 % (where the audio drops a voice). The figure alone when a slot letter
leaves no room for the %. -
126 factory patches in OPX Solo, eight in OPX. Original sounds in the categories opsix users'
soundsets have: keys (EPs, a piano, clavinet, harpsichord, organs), plucks, bells and mallets, basses, leads, brass
and winds, pads and strings, drums, effects, chords and sequences. They use the opsix's tricks: operator modes (ring
modulation, wave folder, band-pass operators as formants, the comb), fixed-frequency operators for drums, chords on
one key from carrier ratios, fake hard sync from a pitch envelope, tempo-synced gating, sample-and-hold. Every patch
gives the MOD WHEEL something to do; their levels are matched (opx_test --audit). OPX has the first
eight (its flash has room for no more, with ~1 KB to spare): the seven of before and DRAWBARS. The
bank istools/opx_factory_bank.py(tools/opx_factory.pycompiles it to the firmware's tables): the place to
add or change a factory patch. -
SLOT's values are fixed: F1–F126 0–125, OWN 126, INIT 127, in both firmwares (OWN and INIT followed F7 before).
OPX's knob skips the F numbers it lacks. A project or preset from Solo whose SLOT is one of those comes back
with its own copy of the patch as OWN (every project with an OPX track carries its patches), or F1 without one. A
sound of 0.1.0 or before with its own patch (OWN was 7) is OWN again; one without its patch plays F8. -
Fix: DIST and G.AMP could leave a constant offset after the sound stopped (a high-pass's rounding: up to ~1 %
of full scale); the 3-band EQ and DIST's EQ could hold one too at low frequencies (their filter carries its rounding
now). G.AMP has DIST's DC high-pass. The main filter's 24 dB types (and the operators' MG filters) round instead of
truncating: at a low cutoff they held ~1 % DC. -
MENU > INFO: a long version string (Solo's "v0.2.0-dev-opx-solo") is shown smaller, clear of FIRMWARE.
-
ABOUT: the copyright lines are "OPX (C) 2026 Tom Marsden" and Felucca's "(C) 2026 Leo Kuroshita, Hügelton
Instruments" (kept, as the GPL asks); Solo's title fits the screen. -
Fix: the installers did not find an FM-1 running an
FM-1_OPX-…build. They read the identity as letters, an
underscore and digits (FM-1_900), so the new identities failed: an install ended with "did not come back", and the
next one with "not found". The web installer andtools/fm1_install.pynow take letters, digits, dots and dashes. -
Fix: the benchmark crashed OPX Solo (FELUCCA CRASH, vector 1: a divide by zero). It set track 1 to FM6
for the idle mix, which in Solo is a reserved engine with no presets. It now uses OPX there, and an engine without
presets is handled. -
The site links its builds: every installer, editor and simulator page has a bar linking the installer, editor
and simulator of the latest release and of the development build, for OPX and OPX Solo (the
development builds under dev/, Solo under opx-solo/; each with its version). A release now carries its simulators
and editor (opx-X.Y.Z-web.zip), so the release's pages are the release's own; Solo has a simulator. -
Web installer: the log of an install is a box of its own height that follows its newest line (scroll up to read
back), not a page growing by 2,300 lines. The progress bar follows the bytes written (the check 0–3 %, the write
3–99 %): the update loader reads the image about twice (measured on an FM-1: 1.95 times its size in 2,323
requests), so a bar of one image's worth was full halfway. The log's last line of the write says what was sent. -
The factory patches use the new features. E.PIANO: PAN (a suitcase tremolo), 3EQ, MOD WHEEL brightening its
tine. BELL: 3EQ, a slow PAN. FM BASS: LPF 24 plucked by EG2 x velocity, COMP. BRASS: an EG2 swell on LPF 12 x
velocity, delayed vibrato (LFO1 faded in, PROG PITCH). SAW LEAD: LPF 24 with an EG2 sweep, vibrato on the MOD
WHEEL, DIST. LOOP PAD: LPF 12 with a slow EG2 and LFO2, PHA, PAN. X-MOD: MOD WHEEL -> OP3 LEVEL, LFO3 -> OP2 PITCH,
FLTR, DEC. A project or preset that saved a factory patch as its own copy keeps the copy as it was. -
Package identity
FM-1_9001(OPX SoloFM-1_9002), the same for every build and version, this
firmware's own: releases up to 0.1.0 used Felucca'sFM-1_9XY. (Development builds briefly reported
FM-1_OPX-dev; the installers now also accept letters there.)
Release packages areopx-X.Y.Z.fwsc(andopx-solo-X.Y.Z.fwsc). -
MENU > INFO and ABOUT show the build (the commit it was built from; "+" when built with local changes).
-
ABOUT points to this project: its QR code and address are github.com/thomasgregorymarsden-code/Felucca-opx
(Felucca's own stay in the credits). -
Fix: the main filter's 24 dB types (LPF 24, POLY6, HPF 24, BPF 6, BRF 6) could run away near the top of the
range with resonance (KTRK on high notes). Their cutoff now stops at 12.3 kHz and their resonance eases above 4.4 kHz. -
Fix: a track still on a factory patch played its effects only once it had its own copy.
-
DIST: a ~40 Hz high-pass after the clipper takes out the DC an uneven wave leaves.
-
The OPX-only firmware (first step). A second firmware from the same source,
opx-solo.fwsc
(version "…-opx-solo"): track 1 plays OPX, the other tracks and engines are silent and cannot be picked, and all 30 effect types
are enabled (the 17 buffered ones pass the sound until they a...
Felucca-OPX 0.1.0
Felucca 1.5.1 with the OPX engine, now with the opsix's waveforms and operator modes. Everything Felucca 1.5.1 does works as before.
New in OPX
- Waveforms: each operator has a WAVE, the opsix's 23 (sines at 16, 12 and 8 bits, triangle, saw and square with HD versions, eleven additive waves, four noises), and WIDTH. SAW and SQR are band-limited to 10 kHz, the HD versions to 20 kHz.
- Operator modes: RING MOD, FILTER (12 types: LPF HPF BPF BRF, MG LPF12/24 HPF12/24 BPF6/12, MS-20 LPF/HPF), FILTER FM, WAVE FOLDER, EFFECT (PEAK EQ, SHELV EQ, PHASER, SHORT DELAY, COMB, DIST, DRIVE, DEC, WAVESHAPER, PUNCH), BYPASS and MUTE beside FM.
- KTRK: each operator's level follows the key: LOW and HIGH slopes about CENTER, LIN or EXP.
- Faster rendering: an operator at a time over each block. Six notes of sines take 40 % of the processor instead of 57 %; any waveform 39–60 %.
Pages
- On an OPX track, EDIT goes ALGO (the opsix's HOME: ALG, ATK, DEC, and SLOT) and OPERATORS. The algorithm chart has square boxes in the left half; OPERATORS lists the selected operator beside it in the opsix's page order: MODE, PITCH, EG, KTRK, USER, ALGO, and VOICE (the VOICE pages' parameters, which an OPX track shows here only).
- Felucca's macros MLVL, FB, MRAT and DTUN and its FLT and SHP modulation routes (ENV DEST, LFO DEST, the MOD matrix's CUT and SHP) are off on OPX, their cards dimmed: they are not part of the opsix. PIT works as before.
- MENU > BPM LOCK ON: SELECT alone now turns the page, either way, round the pages of the last button pressed (HOME: HOME, MIXER, CLOCK). GLO + SELECT, GLO's F4 TAP and HOME > CLOCK still set the tempo. With BPM LOCK OFF, SELECT is the tempo as before.
- The benchmark (MENU > SYSTEM > INFO, OCT+) times OPX with each waveform and each kind of mode.
Compatibility
- Projects and patches saved with 0.0.1 open unchanged: the patch format is the same. A project using the new waveforms or modes plays those operators as sine FM on 0.0.1.
- Everything 0.0.1 said about Felucca 1.5.1 and the official firmware still holds.
Known limitations
- The operator filters and effects are standard designs with the opsix's names and ranges, not measured copies, and have not yet been compared with an opsix by ear.
- Processor time: about two operators in a filter mode per patch. Two in FILTER FM go over the limit, and the audio then drops a voice.
- SHORT DELAY stops at 17 ms (the opsix: 300 ms), one operator per voice.
- Not yet: an OPX track's own patch in user presets and the editor's backup, the web editor's OPX page; the opsix's EG1–3, LFOs and virtual patch; its main filter and effects.
Installing custom firmware is at your own risk. The installer's "Return to official V15" goes back to M-VAVE's firmware.
Note: Efforts have been made to keep the OPX engine within the limitations apparent for a felucca engine, with the objective of allowing the main felucca maintainers to pull the engine into the main project at some point.
Initial release
The first release: Felucca 1.5.1 with the OPX engine. Everything Felucca 1.5.1 does works as before.
New: the OPX engine (engine 15), an altered-FM engine after the Korg opsix, in FM mode so far.
- Six sine operators per voice, six voices. All 40 of the opsix's algorithms (1–32 the DX7's, 33–40 its own) and USER, a 6 × 6 modulation matrix with self feedback and a heard / not heard output per operator.
- Per operator: RATIO or FIXED frequency, FINE, DTUN, TRANS, LEVEL, an ATK DEC SUS REL envelope with CURVE (LIN to EXP), velocity to level, feedback. Per patch: the algorithm and ALG FB (the loop of algorithms 4, 6 and 34).
- Seven factory patches (SLOT F1–F7): E.PIANO, BELL, FM BASS, BRASS, SAW LEAD, LOOP PAD, X-MOD.
- EDIT 1 (ALGO) draws the algorithm as a chart, or USER as the opsix's matrix, with a small oscilloscope; on USER the knobs pick a cell and set its amount, and OUT sets the operator's output level.
- EDIT > OPERATORS: every operator parameter in one scrolling list (PITCH, EG, OSC, USER, ALGO). KNOB 1 the operator, 2 the section, 3 the row, 4 the value.
- Macros on EDIT 1 / 2 (ALG, ATK, DEC, MLVL, FB, MRAT, DTUN, SLOT) for quick changes, automation, step locks and MIDI CC (CC74 MLVL, CC71 FB).
- Editing makes the patch the track's own (SLOT OWN); SAVE held undoes. Each track's patch is saved with the project and the autosave.
Compatibility
- Projects and user presets without an OPX track move between Felucca 1.5.1 and Felucca-OPX both ways.
- A project with an OPX track does not open on Felucca or the official firmware (its slot shows EMPTY there; the data stays in flash until something is saved into that slot). Neither does a user preset of an OPX sound.
- User sample slot 3 holds 40 KB instead of 80 KB; the other half keeps the OPX patches. A longer sample already in slot 3 must be uploaded again.
- Not yet saved: an OPX track's own patch in a user preset or in the editor's backup archive. These come back with their SLOT's factory patch.
- MIDI LEARN assignments, settings and everything else are kept when installing.
Installing custom firmware is at your own risk. The installer's "Return to official V15" goes back to M-VAVE's firmware.