Firmware

Felucca

Loud87/100

Widely forked community groovebox firmware that many other FM-1 builds are based on.

forM-VAVE FM-1·by@hugelton

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

Downloads
0
Stars
617
Forks
148
Commits
76
Last commit
Download v1.8.0

felucca-1.8.0.fwsc· 596 KB· +2 files

GPL-3.0· hugelton/Felucca·downloads come from the creator’s GitHub releases

73
Commits
21
Releases
73 commits and 21 releases in the last year
Activity · last 12 months
21 releases
  1. v1.8.0Felucca 1.8.0Latest3 files

    Felucca 1.8.0 adds a way to start over, makes undo cover the steps you edit by hand, adds aftertouch, and fixes FM6 operators that use AMS. Saved projects, presets and samples open as before.

    Changes

    • CLEAR ALL (#266, wojciechsura): MENU > SYSTEM > CLEAR ALL starts a new project. Every track gets its power-on sound, and the steps, the automation and the song order are cleared. It asks first (OCT+ to clear, OCT- to keep). Saved projects, user presets, samples, settings and MIDI LEARN stay.
    • FM6 operators with AMS (#304, hellsend): an operator whose AMS is not 0 went silent or full scale, even with AMD at 0. It now follows the LFO as it should. The factory voices all have AMS 0 and sound the same; a voice you sent in with AMS set sounds the way it was meant to.
    • AFTERTOUCH (EDIT > VOICE 3, off by default): AT, ATDST and ATAMT route the keys' pressure, or MIDI channel pressure, to a destination. Only the keys F3 to C5 sense pressure. It is also sent to MIDI OUT as channel pressure.
    • Undo for the steps you edit by hand: on SEQ > STEP, NOTE, TIME and FLAG, step entry with REC, drum hits and EDIT (clear step) can now be undone by holding SAVE. Before, holding SAVE brought back an older edit, such as the last sound load. The message now says what came back: UNDO/REDO T1 STEPS, SOUND or AUTO.
    • PROJECT LOAD asks over unsaved changes: if you have changed something since the last load or save, LOAD asks first (LOAD PROJECT B?). If nothing has changed, it loads at once as before.
    • More confirmations and clearer dialogs:
      • MENU > MIDI > LEARN CLEAR asks first.
      • The clear dialogs say that the automation goes too.
      • INIT names the track.
      • DELETE SECTION names the section and shows what it plays.
    • PLAY stops from the menu and from a dialog: the menu or dialog stays open. PLAY never starts the transport from there.
    • NO CLOCK: with CLK on USB or TRS, if no clock comes, the transport stops and NO CLOCK (USB) or NO CLOCK (TRS) is shown.
    • Smaller things:
      • Value names show six letters (SPRING, REPEAT).
      • PROJECT's SLOT reads A to D.
      • Longer messages stay on the screen longer.
      • The HELP hints match the cards.
      • Turning NUDGE while QUANTIZE is on shows where to turn it off (QUANTIZE ON: SEQ>AUTO).
    • Colours:
      • A palette now has five colours (background, identity, text, primary, secondary).
      • GREY and MONO keep their red and blue for REC and the active thing.
      • The battery is green on USB power.
      • A CUSTOM palette saved by 1.6 or 1.7 is read once into the new order.

    Beyond the FM-1

    The FM-1 stays the reference: every release is built for it and tested on it.

    • Desktop with SDL2 (beta, source only): in platforms/linux. It has run on macOS so far, and a Linux build is next. No binary is shipped.
    • M5Stack CoreS3 (in progress): the screen, the speaker, touch volume and PLAY, and USB audio already work on the device. It is not published yet.
    • M-VAVE SMK-37 (proposed): a board is proposed in felucca-bsp#13. Nothing is tested yet.
    • Linux-based instruments: anyone is free to port Felucca with the desktop build. Whether it fits a device's controls and plays well there is another matter, and they are not listed as supported. See the FAQ.

    Under the hood

    • ADPCM engine (#172, ugotworms): it is in the source but off by default (FELUCCA_ADPCM=0). It is too heavy for the FM-1.
    • Source: clone with git clone --recurse-submodules. felucca-1.8.0-source.tar.gz holds the whole source, both submodules included, and builds the same bytes.

    Files

    • felucca-1.8.0.fwsc: the installable package (identity FM-1_918)
    • felucca-1.8.0-app.bin: the firmware app
    • felucca-1.8.0-source.tar.gz: the complete source

    SHA-256:

    • felucca-1.8.0.fwsc a31760f2588b39bcb3a8d6f78f6041a1a550978a972ecd71564e45513698ecd6
    • felucca-1.8.0-app.bin c99dc0a7519a1fb2c359b7bf93eb23b277085f762a458850717c22b98be808ac
    • felucca-1.8.0-source.tar.gz 26140cca008b73edcbafa0b0f326a8d047b6e7710ffc0aa102ea554270e4bb49
  2. v1.7.0Felucca 1.7.03 files

    Felucca 1.7.0 moves the FM-1's hardware layer to felucca-bsp and brings in fixes from the community. Saved projects, presets and samples open as before, and the engines sound the same.

    Changes

    • Back to the official firmware with M-VAVE's own updater (Discussion #274): Felucca no longer refuses M-VAVE's V15 package. ⚠ Going back to V15 can erase some of Felucca's saved data (projects, the FM6 voice bank). The web installer's Return to official V15 backs everything up first; use it if you want to keep your work.
    • TRS MIDI clock under heavy CC input (#258, fgunited): incoming TRS MIDI is timestamped while audio renders, so a long render no longer bunches the clock.
    • External MIDI clock drift (#269, fgunited): the sequencers and the arpeggiator no longer drift from a long-running external clock.
    • TRS MIDI input (#264, ordenador): the UART is read only on real receive events, with no stale counts.
    • Signed DSP arithmetic and FM6 phase wrapping (#265, ordenador): undefined behaviour removed, with the output bit for bit the same.
    • Fixes (#281, #282, fenderberg): a divide by zero when BPM was briefly 0, and the stress test now builds on Linux.

    Under the hood

    • The hardware layer (chip, USB, update entry, second core, board code) now comes from felucca-bsp, the git submodule firmware/bsp (MPL-2.0). The second core is Melodee's implementation (keremimo); MENU > SYSTEM > 2ND CORE is still BETA and OFF by default.
    • PHASE has moved to Felucca-Engines (MIT) alongside ANALOG, LOFI, TRIO, WHEEL and NOISE.
    • The Hügelton Sample Pack is CC0 1.0.
    • Clone with git clone --recurse-submodules. felucca-1.7.0-source.tar.gz holds the whole source, both submodules included.

    Files

    • felucca-1.7.0.fwsc: the installable package (identity FM-1_917)
    • felucca-1.7.0-app.bin: the firmware app
    • felucca-1.7.0-source.tar.gz: the complete source
  3. v1.6.1Felucca 1.6.13 files

    Felucca 1.6.1

    A small update to 1.6: LARGE values keep one size per knob, updates check the package's size on the FM-1 before anything is erased, and the FM-1's second core as an opt-in beta (OFF unless you turn it on). Five engines also move to their own repository, Felucca-Engines, under the MIT licence; Felucca itself stays GPL-3.0-only. Projects, sounds, presets and settings stay in 1.6's formats: they move between 1.6 and 1.6.1 both ways, and every saved sound plays exactly as before.

    Install: the web installer (Chrome or Edge, USB) installs 1.6.1, over 1.6 or any earlier version.

    Try it first: Felucca in your browser runs 1.6.1, the same firmware compiled to WebAssembly, with the panel on screen (one core: the second core is the FM-1's).

    Display

    • MENU > LARGE keeps one size per knob (#251). With LARGE on, each value picked its own size, so a knob jumped between big and small digits as its number got longer (CUT 30 Hz large, 306 Hz smaller, and back; −98 to −100; SIN to SAW). Now each knob shows all its values in one size, the one its longest value fits: knobs whose values all fit stay large, the others stay one size down instead of switching back and forth. On HOME and every page (FX, SCL, ENV, LFO, EDIT, ARP and the hold layers). No new fonts, nothing else on the screen moves.

    Updates

    • A package made for another device is refused before anything is erased. The FM-1's update entry and the update loader now take only a package whose firmware area is exactly the FM-1's. A package of another device with the same chip used to get as far as erasing the update area before it failed; it is now refused at once, and the FM-1 plays on. The update screen shows FAILED -15 (the update loader answers -14). The FM-1's own packages install as before, Felucca's and the official V15 alike.
      • The check comes with the update loader inside each 1.6.1 package, so it applies from the first update made with one; older packages keep their own loader as they were.

    Second core (beta)

    • MENU > SYSTEM > 2ND CORE (Discussion #141, PR #247). The FM-1's chip has a second processor core, unused until now. Set 2ND CORE to ON (BETA) and it renders some of the four parts of each audio block while the first core renders the others. The sound is meant to be exactly the same, bit for bit; what changes is the headroom, so dense patterns and USB audio have more room before the FM-1 runs out of time.
      • It is a beta, so it is OFF unless you turn it on, and an update from 1.6 or earlier comes up OFF. With OFF the second core is never started and the FM-1 plays on one core, as 1.6 did.
      • Turn it on, then restart: a change applies from the next power-on. The menu says "2ND CORE ON: RESTART" (or OFF); turn the FM-1 off and on again.
      • If the second core misbehaves on your unit (it reads a wrong job or stops answering), the FM-1 goes on with one core, shows "2ND CORE MISREAD: OFF" and sets 2ND CORE back to OFF. Setting it to ON again tries again at the next power-on.
      • The serial console's status shows cpu2_set (the setting) and cpu2 (1 while the second core runs), with what it did: cpu2_blocks, cpu2_wait_max_us, cpu2_gave_up, cpu2_stack.
      • If you try it, please tell us in Issues: whether it ran well over a long session (on battery and on USB), with saves while playing and with USB audio; whether updates and UPDATE MODE work with it on; any crash screen (a photo of it) and whether "2ND CORE MISREAD" appeared; and if a sound differs between ON and OFF, the project or preset that shows it.
      • Contributed by gospodindilly-ops (PR #247). The second core's start-up, mailbox and safety checks come from X0X by charlesvestal, with the dual-core findings of Melodee by keremimo, and the way the parts are split between the cores, the measurements and the hardening from Jangada by zednaked: all GPL-3.0 FM-1 firmwares, each credited in LICENSING.md and in the files.

    Felucca-Engines (MIT)

    • ANALOG, LOFI, TRIO, WHEEL and NOISE now live in their own repository, Felucca-Engines, under the MIT licence, together with the engine interface, the shared DSP helpers and the generator of their tables. Use them in your own projects under MIT's simple terms. Felucca includes them as a git submodule (firmware/engines/), and the sound is unchanged (the same golden renders, the engines' own tests run with Felucca's).
    • Felucca stays GPL-3.0-only as a whole, the firmware built with these engines included. The rest of Felucca (the other engines, the sequencer, the UI, the tools) is GPL-3.0-only as before.
    • Getting the source: clone with git clone --recurse-submodules https://github.com/hugelton/Felucca.git (in an existing clone, git submodule update --init). GitHub's "Source code" archives below leave firmware/engines/ empty, so this release also has felucca-1.6.1-source.tar.gz: the complete source of this release, the submodule's files included. If you share Felucca or firmware built from it, share that complete source.
    • Changes to the five engines go to Felucca-Engines, under MIT.

    Compatibility

    1.6.1 opens everything 1.6 and earlier saved, and plays it as before. Nothing is stored differently: projects, sounds, user presets and settings are 1.6's formats.

    • 2ND CORE is a bit of the settings that 1.6 does not know: on 1.6 the FM-1 plays on one core and keeps the setting, so it is as you left it when you come back to 1.6.1.

    Web

    • The web editor at webapp/editor (developed in Felucca-WebApp) shows 2ND CORE in Settings (SYSTEM): OFF or ON (BETA), from the next power-on. Reload the page so it is the new one.
    • The installer installs 1.6.1; Try Felucca at webapp/try runs 1.6.1.
    • ⚠ The full backup still does not include the FM6 voice bank: keep the .syx file to send it again.

    Coming from 1.5.1 or earlier

    Read 1.6's notes first: Felucca 1.6. Everything there holds for 1.6.1, among it that a project with conditional steps does not open on 1.5 or 1.5.1.

    Going back

    • To 1.6: everything you saved opens as it is, in the same formats. The FM-1 plays on one core there (the 2ND CORE setting is kept), and LARGE switches sizes as before.
    • To 1.5.1 or earlier: as from 1.6, see 1.6's Going back.

    Thanks

    Files

    • felucca-1.6.1.fwsc: the package the web installer installs (identity FM-1_916, version v1.6.1)
    • felucca-1.6.1-app.bin: the firmware app alone
    • felucca-1.6.1-source.tar.gz: the complete source of this release, with the Felucca-Engines submodule's files (GitHub's "Source code" archives leave firmware/engines/ empty)

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ (among them MIT-Felucca-Engines.txt) · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.6.1 with its submodule Felucca-Engines @ c46e008, also as one archive: felucca-1.6.1-source.tar.gz.

    SHA-256 felucca-1.6.1.fwsc (610,090 bytes): dff3a38f7e5b9833e15aba322558c9485e9e422e3ff813c616c91b3584a2d909 SHA-256 felucca-1.6.1-app.bin (511,472 bytes): 9f28dbc78dc1a52faa1caf0eb0dd86b2a9a553bf8336dd8d9bd922c0f60bace3 SHA-256 felucca-1.6.1-source.tar.gz (5,729,664 bytes): d78074d8299eb16e1fc8f4faa38ac7801502d48985ff983f35e3f8f85c18bb57

  4. v1.6Felucca 1.62 files

    Felucca 1.6

    An update to 1.5.1 (1.5.5 and 1.5.6 were never released, so everything they were to bring is here too): your own UI colours from the web editor, a piano roll that follows the play position, and mostly for the sequencer and MIDI: conditional steps with FILL, EUCLID, DOUBLE and HALF in SEQ TOOLS, QNT SEQ+T, a MIDI channel per track, MIDI that shows (and can select) the track it plays; SELECT as a page knob, a mod wheel or the keys' velocity; FOLD for the PHASE engine, humanize in the MOD matrix and three more drum kits; plus PROJECT ERASE, CLEAN INIT, dimmer INV LEDs and two fixes. ⚠ A project that uses conditional steps does not open on 1.5 or 1.5.1, and a few new values read differently there: read Compatibility below before going back.

    Install: the web installer (Chrome or Edge, USB) installs 1.6, over 1.5.1 or any earlier version.

    Try it first: Felucca in your browser runs 1.6, the same firmware compiled to WebAssembly, with the panel on screen. Knobs turn with a horizontal drag too (PR #240), and a controller's CC 20–27 can turn the panel's knobs: tick the checkbox under the panel (opt-in; PR #182).

    Display

    • CUSTOM: your own colours (Discussion #239). MENU > DISPLAY > COLOR has an eleventh value, CUSTOM, while one is stored. A palette is five colours (BG, SURF, TEXT, THEME, ACCENT); the rest of the screen's colours are derived from them as for the built-in palettes. Set them in the web editor (Settings > Custom palette): the FM-1 shows each colour as you change it, Save to device stores them (and uses them from then on), Revert drops a preview and Remove deletes the palette. The editor warns when colours are hard to read (a text colour too close to the background); it still lets you save them, and Remove, or MENU > DISPLAY > COLOR on the FM-1 (hold HOME for the menu), takes you back to a built-in palette. The palette is part of the settings (kept across power-off, in a full backup), not of projects.

    Sequencer

    • The piano roll follows the play position (Discussion #238). On SEQ > STEP and DETAIL, when the pattern is longer than one screen (16 steps), the roll shows the page the playhead is on while the transport plays. Moving the cursor with the step knob (or PRESETS on DETAIL), editing the cursor's step or entering steps with the keys holds the roll where you are working; it follows again after 3 seconds, or when the playhead has gone once round the pattern. The DRUM grid, SEQ > AUTOMATION and HOME are as before. It only changes what is shown: the pattern and the cursor are untouched.
    • Conditional steps and FILL (Discussion #209). On SEQ > DETAIL, KNOB 1 (CHANCE) goes on past 100 % into the conditions, one per detent: 1:2 2:2 1:3 2:3 3:3 1:4 2:4 3:4 4:4 FILL !FILL.
      • a:b plays the step on loop a of every b loops of its track: 1:2 every other loop, 2:2 the others, 4:4 only on every 4th. So one pattern changes over two, three or four bars without switching patterns. Each track counts its own loops (one pass of its LEN), from PLAY and again from the start of each SONG section: in a section repeated 4 times, a 4:4 step is a fill on its last repeat.
      • FILL steps play only while GLO + E4 (FILL) is held, !FILL steps only while it is not: a snare roll on FILL steps, the plain backbeat on !FILL steps.
      • A step has a CHANCE or a condition, not both; a step whose condition is not met plays nothing, as a failed CHANCE. EDIT on DETAIL puts it back to 100 %. AUTOMATION lists them as rows like "STEP 05 COND 1:4", and STEP and the drum grid mark the step.
    • EUCLID in SEQ TOOLS (Discussion #186). Hold SEQ and press F4: a Euclidean rhythm on the selected track, written at once so you hear it while playing. KNOB 1 HITS, KNOB 2 STEPS (the cycle, repeated through LEN), KNOB 3 ROT; OCT+ keeps it, OCT− cancels. On a DRUM track it writes the selected lane; on other engines the hits keep the step's own note (or take the root). The result is ordinary steps, one undo.
    • DOUBLE and HALF in SEQ TOOLS (Discussion #85). Hold SEQ: D5 doubles the pattern (steps 1..LEN once more after them, LEN ×2, up to 64 steps), E5 halves it (the first half kept). The steps go whole: notes and chords, ties, CHANCE or condition, RATCH, NUDGE, VEL, with their locks and automation. One undo each.
    • QNT SEQ+T: the sequence follows TRN (#218). The SCL page's QNT has a fifth value after SEQ. SEQ+T is SEQ, and the sequence follows TRN too: each step's notes move by TRN, then snap onto the scale, as they play (the steps keep what was written), so turning TRN transposes the pattern and the keys together. With OFF, SNAP, WHITE and SEQ, TRN moves the keys (and the ARP) only, as before. Notes recorded with TRN at +3 already sound 3 up, so under SEQ+T they move again: record at TRN 0, then turn it.

    MIDI

    • A MIDI channel per track (Discussions #202, #143). MENU > MIDI > MIDI IN has a new value, TRACK, and the MIDI tab has T1 CHANNEL … T4 CHANNEL: each 1–16, OMNI (any channel no other track has) or OFF (the track hears none). Drums on 10, bass on 2, a pad on 8 and a lead on 11, for example. Notes, pitch bend, the CC map, CC1 / CC11, aftertouch, the panic CCs and Program Change follow the track's channel, and the keys send on the selected track's channel. A channel two tracks have plays the first of them; a channel no track has is ignored. The channels are 1–4 until you change them, so switching to TRACK changes nothing at first, and they are saved with the project, like MIDI IN. CH1-4, CH5-8, CH9-12, CH13-16 and SEL are as before.
    • MIDI shows the track it plays (Discussion #208). A MIDI IN note lights its track's number for a moment: on the header (the selected track), HOME TRACKS / LEVELS and the MIXER.
    • AUTO SELECT (Discussion #208): MENU > MIDI > AUTO SELECT (OFF by default) makes the track the notes play the selected one, so the knobs edit what you are playing. It waits while the selected track is playing too (250 ms), so a chord or two parts played across tracks keep the selection instead of flickering. Not with MIDI IN SEL, nor while the menu or a layer is up, nor while you are editing the selected track. A device setting, not the project's.
    • SCREEN WAKE. With MENU > SCREEN OFF on, a MIDI IN note now turns the screen back on and keeps it on, so playing the FM-1 only from a keyboard or a DAW no longer leaves it dark. The note plays as usual. Clock, CCs and SysEx do not count, so a running clock or the editor does not keep it lit. MENU > MIDI > SCREEN WAKE: +MIDI (the default) or PANEL (the panel only, as in 1.5.1).

    Panel

    • SELECT does more (Discussions #188, #84). MENU > CONTROL > SELECT: BPM (the default: the tempo, as before), PAGE, MODW or VEL.
      • PAGE: turning SELECT steps the pages of the family shown, one page per click: right as a tap of the family's button, left back, round (HOME, MIXER and CLOCK are one round).
      • MODW: SELECT is the selected track's mod wheel, 0–127, as MIDI CC1 is (so MODW in the MOD matrix follows it: MODW → VIB, → CUT …), and it is sent as CC1 on the track's channel, where the keys' notes go.
      • VEL: SELECT sets the velocity the panel keys play at, 1–127 (100 from power-on, as before): heard, sent with the notes and recorded.
      • With MODW and VEL the value shows in the header; what you play is not saved (the setting is). With any of the three, the tempo is GLO + SELECT, CLOCK's KNOB 1 or GLO's TAP.
    • SAVE > PROJECT: ERASE (Discussion #199). KNOB 2 picks ERASE, OCT+ asks "ERASE PROJECT B?" with the project's name, OCT+ again erases the slot. Only while stopped; written as a save is, so a power cut leaves the project or an empty slot, never half of one.
    • CLEAN INIT (Discussion #190): the engine's basic sound with nothing added: E1–E8 at the engine's defaults, no FX sends (DIST, CHO, DLY, REV), INSERT OFF, no LFO / ENV / MOD amounts, no GLIDE, POLY, a neutral ENV (DRUM keeps its kit's); FM6 the init voice, a single sine. SAVE > TOOLS: turn KNOB 2 one click past INIT; in the EDIT layer F5, the key after INIT. It asks "CLEAN INIT SOUND?"; one undo. INIT is as it was (the engine's first preset).
    • LEDS: INV LO and INV HI (Discussion #212). MENU > DISPLAY > LEDS has two more values after INV. They work as INV (what shows nothing lit, what is active dark), but the lit LEDs are dimmed to a steady low level (HI about 1/8 of full, LO about 1/12), so INV no longer glares in a dark room.
    • The header centres the play state, the metronome and the tempo as one group (only the tempo's digits were centred, so the group sat a little left).
    • OCT− is as in 1.5.1. "Hold OCT− and turn a knob to reset that value" (Discussion #205) was tried and is not in 1.6: it needed OCT− to shift the octave when let go instead of when pressed, and that changed a control everyone already uses. OCT− shifts the octave on the press, as always.

    Sound

    • PHASE has FOLD (Discussion #104). EDIT 2's fourth value (E8, empty until now) is FOLD, a wavefolder on each voice after the waves and LINE, before SUB and the amp. Turned up it first rounds the wave (a soft saturation), then folds it back on itself, up to four folds at 100 %: brighter and more metallic, the tone moving with DCW and the envelope on it. It is a sine fold (no sharp corners), and above A4 it folds less the higher the note, so the top keys stay clean instead of aliasing; turning it on or off glides over a moment, without a click. 0 is off and the default: every PHASE sound, the presets included, plays exactly as before, and FOLD only costs CPU while it is above 0.
    • Humanize: VEL and TIME in the MOD matrix (Discussion #213). Two new destinations after DEPTH, on LFO > LFO DEST > MOD. VEL moves each note's velocity (RAND → VEL: every note, and every note of a chord, its own). TIME plays a sequencer step up to 30 ms late (RAND → TIME: a loose timing; S&H or an LFO for a drift). They are read at the note-on and the step's start, so they cost nothing while the sound plays, and they are saved with the sound like every slot.
    • Three more drum kits (Discussion #216). DRUM's KIT has DEEP, TIGHT and PERC after 77, put together from the five kits' own pieces (no new drum voices, the same CPU as those kits), and PRESETS lists them as DEEP KIT, TIGHT KIT and PERC KIT after DRUM KIT. DEEP: a swelling kick tuned down, a long cymbal; TIGHT: short and dry; PERC: a conga on TOM, claves on RIM, a two-sine bell. MIDI Program Change 6–8 picks them on a DRUM track.

    Fixed

    • A flash save no longer flashes the panel (#236). Saving to flash (the autosave about 10 s after you stop playing, a changed setting) stops the LED scan for about 17 ms, and with it stopped one column of LEDs stayed lit at full strength while the rest went dark, which showed as a quick flash across the panel. The LEDs now go dark for that moment instead, so it is a brief dimming at most. The save itself is as before; MENU > SYSTEM > RESTORE LAST OFF writes no autosave.
    • PAN reads −100 … +100 % (Discussion #199): its top read +98. The same for the other bipolar values (MOD AMT, the ENV and LFO DEST amounts, FM6's MLVL and MEG). Only the display changed: the stored values and the sound are as before.
    • SEQ > AUTOMATION: KNOB 3 no longer jumps the selection a row (Discussion #199) while it changes a record's parameter. A step's records are now listed in the order they were added, so a row stays where it is.

    Compatibility

    1.6 opens everything 1.5.1 and earlier saved, and plays it as before. Going the other way, to 1.5.1 or older:

    • ⚠ Projects using conditional steps cannot be opened by 1.5 or 1.5.1. There the slot looks empty; its data stays in flash until something is saved over it there. The web editor warns when you restore a backup that holds such a project onto a firmware without conditions (you can skip those projects or cancel). Before going back, clear the conditions (EDIT on DETAIL, or turn CHANCE back to 100 %), or keep a backup.
    • ⚠ A project saved with MIDI IN TRACK plays there with a block of channels: CH5-8, CH9-12 or CH13-16 when its four channels are such a block in order, else CH1-4. Saving it there drops the per-track channels.
    • ⚠ FOLD is ignored there: a sound saved with FOLD plays without it. And on 1.6, a MOD route or a MIDI LEARN CC set to E8 of a PHASE track now moves FOLD (up to 1.5.1 it did nothing): check such routes on PHASE tracks if a sound changes.
    • ⚠ A MOD slot set to VEL or TIME reads as DEPTH there (an older firmware takes a destination it does not know as its last one), so the sound plays with that slot on the LFO's depth, and keeps it so if saved there. Set such slots to OFF before going back, or keep a backup.
    • ⚠ DEEP, TIGHT and PERC play the 77 kit there, and saving there keeps 77.
    • ⚠ QNT SEQ+T reads as SEQ there (the sequence no longer follows TRN).
    • LEDS INV LO / INV HI read as INV there, and SELECT MODW / VEL read as BPM (as PAGE does).
    • CUSTOM: 1.5.1 and older keep a stored custom palette in the settings when you restore or save there (it is in spare bytes of the settings) and show the built-in palette that was in use before; the palette comes back on 1.6.
    • Unchanged: the formats of sounds, user presets and settings, every engine and the earlier kits, and every saved sound with FOLD at 0. Every new setting defaults to the earlier behaviour (SCREEN WAKE's +MIDI default only matters with SCREEN OFF on).

    Web

    • Custom palette card in the web editor's Settings: five colour inputs, a sample of what the FM-1 derives from them, a live preview on the device, and a warning for colours that are hard to read (see Display).
    • The web editor at webapp/editor (developed in Felucca-WebApp) knows 1.6: a step's condition on CHANCE and the step's badge, MIDI IN TRACK, T1–T4 CHANNEL, AUTO SELECT, SCREEN WAKE, SELECT (BPM, PAGE, MODW, VEL) and LEDS INV LO / HI in Settings, QNT SEQ+T, the MOD destinations VEL and TIME, the kits DEEP, TIGHT and PERC, and the bipolar values to ±100. Reload the page so it is the new one.
    • One project to a file and back (Discussion #70). On the PROJECT tab every slot (A–D) has EXPORT (that project to a file) and IMPORT (a project file into the slot you choose; it asks before overwriting one). Your other projects, sounds and samples stay as they are. A project that needs a newer firmware (conditional steps, for example) is refused before anything is sent.
    • Sample import: RATE and BITS (Discussion #203). When you drop files into a user slot, pick the slot's RATE: 22.05 kHz (as before), 44.1 kHz (a short hit at the file's full rate), 11.025 or 5.512 kHz (a half or a quarter of the size, darker and grittier); and BITS: 16 (as before), 12, 8, 6 or 4, a lo-fi crush (the size stays). The size shown is what the slot will take, and the preview plays it as it will be stored. The defaults are as before.
    • Backup restore knows conditional steps: restoring a backup with projects that use conditions onto firmware without them (1.5.1 or older) tells you which projects, and you can skip them or cancel; they are never sent as they are.
    • The installer installs 1.6; Try Felucca at webapp/try runs 1.6.
    • ⚠ The full backup still does not include the FM6 voice bank: keep the .syx file to send it again.

    Coming from 1.4.1 or earlier

    Read 1.5's notes first: Felucca 1.5, then 1.5.1. Everything there holds for 1.6, among it that projects saved by 1.5 or later do not open on 1.4.1 or earlier.

    Going back

    • To 1.5.1 or 1.5: first clear the conditional steps of every project you want to open there, and set MOD slots on VEL or TIME to OFF, or keep a full backup (see Compatibility). There, projects with MIDI IN TRACK play with a channel block (saving them drops the channels), FOLD is ignored, DEEP / TIGHT / PERC play as 77, SEQ+T is SEQ, INV LO / HI are INV; AUTO SELECT, SCREEN WAKE and SELECT are not there (SELECT is the tempo). On 1.5 a dotted delay TIME plays as 4BAR, as from 1.5.1.
    • To 1.4.1 or earlier: as from 1.5, see 1.5's Going back.

    Thanks

    • Steve Pinkham (spinkham) for turning the emulator's knobs from a MIDI controller (PR #182), and ugai for the Try page's horizontal knob drag (PR #240)
    • BalalalalaDigiDev for the custom UI colours idea (Discussion #239), and etyrnal for the piano roll that follows the play position (Discussion #238)
    • oMauNaProducer for the flicker report and for finding that RESTORE LAST was behind it (#236)
    • gospodindilly-ops for conditional trigs and FILL (Discussion #209), the Euclidean generator (Discussion #186), the sequence transformations (Discussion #85), the DSP proposal that FOLD comes from (Discussion #104), deleting a project (Discussion #199) and a more useful SELECT knob (Discussions #84, #188)
    • planist79 for SELECT as a page knob (Discussion #188), a clean init sound (Discussion #190), selecting the track MIDI plays (Discussion #208), free MIDI channels per track (Discussion #143) and the OCT− reset idea (Discussion #205)
    • Muzik4Machines for a MIDI channel per part (Discussions #202, #143), and rusbayzvuk-maker for backing it (Discussion #143)
    • jsmonzani for humanize in the MOD matrix (Discussion #213) and SELECT as velocity and mod wheel (Discussion #84), and tradiuz for the SELECT options (Discussion #84)
    • Wulgaren for TRN and the sequence (#218) and single-project export and import (Discussion #70)
    • oMauNaProducer for the PAN and AUTOMATION bugs (Discussion #199)
    • etyrnal for the sample rate and bit depth on import (Discussion #203), and positionhigh for short drum hits at the full rate there
    • stanleygurvich for dimming INV (Discussion #212)
    • ryiano for more drum kits and presets (Discussion #216)

    Files

    • felucca-1.6.fwsc: the package the web installer installs (identity FM-1_916, version v1.6)
    • felucca-1.6-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.6.

    SHA-256 felucca-1.6.fwsc (610,086 bytes): b2c1317b89d8d701c832627ae7e916785660e32a88422d57417293c8ec8679f8 SHA-256 felucca-1.6-app.bin (508,108 bytes): a75be287effbb7ec473fbb4e40337c3531795093a816d3eec44613fb1987136d

  5. v1.5.1Felucca 1.5.12 files

    Felucca 1.5.1

    An update to 1.5: SEQ > DETAIL puts a step's chance, ratchet, nudge and velocity on the knobs right next to its notes, MIDI Program Change, dotted delay times, and REV THROW / ECHO THROW in the FX layer; plus fixes for the PRESETS LED flash, MOMENTARY on MIXER and USB audio on older macOS. Projects, sounds, presets and settings stay in 1.5's formats: they move between 1.5 and 1.5.1 both ways.

    Install: the web installer (Chrome or Edge, USB) installs 1.5.1, over 1.5 or any earlier version.

    Try it first: Felucca in your browser runs 1.5.1, the same firmware compiled to WebAssembly, with the panel on screen.

    New

    • SEQ > DETAIL: a step's CHANCE, RATCH, NUDGE and VEL next to its notes (Discussion #199). SEQ now goes STEP, DETAIL, AUTOMATION. DETAIL is the STEP page, with the same cursor and the same piano roll or drum grid underneath, and its knobs are the cursor step's own four:

      KNOB 1KNOB 2KNOB 3KNOB 4
      CHANCE 0–100 %RATCH x1–x4NUDGE −8…+7 sixteenthsVEL 1–127

      PRESETS walks the steps (with MENU > STEP PREVIEW on, each one sounds), and on a DRUM track a white key picks its step (hold several and the knobs move each of them). So: SEQ twice, turn PRESETS to a step, turn KNOB 2 for a ratchet, on to the next. EDIT puts the step's four back (100 % / x1 / 0 / 96); its notes stay. The panel draws the four as lanes over the 16 steps, so a pattern's ratchets and chances show at a glance, and on STEP and the drum grid a step with a CHANCE, RATCH or NUDGE gets a small mark. A REST or an empty step takes none ("NO NOTE"). These are the same values SEQ > AUTOMATION lists, where EDIT still deletes the selected row: nothing new is stored, and patterns play as before.

    • MIDI Program Change (PR #179 by @renebohne). A Program Change on a track's channel, routed as notes are by MENU > MIDI > MIDI IN (CH1-4, SEL, CH5-8 …), loads that track's sound, numbered from 0 in the order PRESETS lists the engine's sounds. It loads as PRESETS does: the steps and the track's own settings stay, and SAVE held undoes it.

      • DRUM: its kits, 0–5 (STD, 80, 10, 66, 55, 77).
      • FM6: 0–7 its presets (F1–F8), then 8–39 the voice bank's B1–B32 that hold a voice.
      • A number past the last is ignored, never wrapped, so a number is always the same sound; the engine never changes, and Bank Select is not used.
      • Changed from the pull request: the load happens in the main loop (within a few ms of the message), not in the audio interrupt; the numbers follow PRESETS' order; FM6's presets and the voice bank as above; numbers out of range are ignored instead of wrapped.
    • Dotted delay times. The DLY page's TIME has 1/4D, 1/8D and 1/16D, and the knob steps all thirteen by length: 4BAR, 2BAR, 1/1, 1/2, 1/4D, 1/4, 1/8D, 1/8, 1/16D, 8T, 1/16, 16T, 1/32. The delay line holds 1.49 s, so 1/4D fits from 61 BPM and is held to 1.49 s at 60 BPM and below (as 1/2 is below 81 BPM). ARP RATE, SEQ DIV and the LFO's SYNC keep their ten values.

    • REV THROW and ECHO THROW in the FX layer, on D5 and E5 by default (the map's VERB and ECHO cells). While the key is held, every track's reverb send (REV THROW) or delay send (ECHO THROW) is full, gliding in and out over about 12 ms with no click; ECHO THROW also lifts the delay's FDBK to 70 % while held if it is lower, never higher, so the echoes always die away. Let go, the sends are the tracks' own again and the tails ring out. They use the song's reverb and delay and never change REV, DLY or FDBK: nothing is saved or recorded. Like the other effects any white key can hold them (hold the key in the layer and turn PRESETS), and FX LATCH latches them.

      • ⚠ If you had set D5 or E5 to NONE yourself, those keys now hold the throws (up to 1.5, NONE was those keys' default and is stored as "the default"). Set them to NONE again.

    Fixed

    • The LEDs no longer flash on PRESETS (#197). Turning KNOB 4 (LIST) or KNOB 3 (FAV), or FAV in the EDIT layer, saved the settings on every detent, and each save paused the LED scan and the audio for about 40 ms. The change is now saved once you leave the page (another page, HOME, a layer, the menu) or after 10 s without touching the panel.
    • MOMENTARY on MIXER (#195). Hold LFO and turn LEVEL, PAN, REV or MUTE on the MIXER page: they now go back when you let go of LFO, as on the sound and FX pages (OCT+ while holding keeps them).
    • USB audio on older macOS (#67). The FM-1's USB descriptors now list the audio streaming interface before the MIDI one. The USB audio driver of older macOS stops reading the list at a MIDI interface listed first, so the audio input never appeared there while MIDI worked. This is expected to fix macOS 15 and earlier, but it still needs confirmation on those versions; it keeps working on current macOS (tested on macOS 27). In System Report the FM-1's version reads 3.28 or 3.29 with 1.5.1.

    Tip (#192): with MENU > MIDI > MIDI IN on CH1-4 (the default), channel 1 always plays track 1, whatever track is selected, so a MIDI keyboard on channel 1 does not hear sounds you browse on T2–T4. Set MIDI IN to SEL and every channel plays the selected track.

    Changed

    • SEQ's pages go STEP, DETAIL, AUTOMATION: tapping SEQ on STEP now opens DETAIL, and AUTOMATION is one tap further.
    • Unchanged: every engine, kit and saved sound plays as before; every new setting defaults to the old behaviour.

    Web

    • The web editor at webapp/editor (developed in Felucca-WebApp) lists the delay's TIME with the dotted values in the knob's order. Reload the page so it is the new one.
    • The installer installs 1.5.1.
    • Try Felucca at webapp/try runs 1.5.1.
    • ⚠ The full backup still does not include the FM6 voice bank: keep the .syx file to send it again.

    Coming from 1.4.1 or earlier

    Read 1.5's notes first: Felucca 1.5. Everything there holds for 1.5.1, among it that projects saved by 1.5 or 1.5.1 do not open on 1.4.1 or earlier.

    Going back

    • To 1.5: everything you saved opens as it is, in the same formats. A delay TIME set to a dotted value plays as 4BAR there (1.5 has ten values), and a key you assigned to a throw plays its default effect. DETAIL's values are the same step values 1.5 lists on AUTOMATION.
    • To 1.4.1 or earlier: as from 1.5, see 1.5's Going back.

    Thanks

    Files

    • felucca-1.5.1.fwsc: the package the web installer installs (identity FM-1_915, version v1.5.1)
    • felucca-1.5.1-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.5.1.

    SHA-256 felucca-1.5.1.fwsc (610,086 bytes): 19b6f86d1cbacba8cf11e63e760646f24ec884191a71a9db0809cd05aec3814f SHA-256 felucca-1.5.1-app.bin (495,580 bytes): 1c28f5a457270a6dde08d7d51bc5d6af3adeda425b7bfe3e02b98856a9511853

  6. v1.5Felucca 1.52 files

    Felucca 1.5

    An INSERT effect on every track with a dry/wet MIX, MIDI LEARN on the device, ANALOG's band-pass and high-pass, envelopes in note values, note lengths on the piano roll, velocity per step, on-screen HELP and the full piano back. Everything you saved loads and sounds as before, except where marked ⚠ below; projects saved by 1.5 do not open on 1.4.1 or earlier (see Going back).

    Install: the web installer (Chrome or Edge, USB) installs 1.5, over 1.4.1 or any earlier version.

    Try it first: Felucca in your browser runs 1.5, the same firmware compiled to WebAssembly, with the panel on screen.

    New

    • An INSERT effect on every track, with a dry/wet MIX (Discussions #78, #177). Press FX until INSERT (after the SLICER): KNOB 1 picks the TYPE, KNOB 2–4 its values; INSERT 2 has the MIX (100 % by default).

      TYPEKNOB 2KNOB 3KNOB 4
      SOFT, HARD, FOLD, FUZZ (drives)DRIVETONELEVEL
      CRUSH (bits and rate, the lo-fi bit effect)BITS (1–16)RATE (689 Hz to 44 kHz)LPF
      PHASR, FLANG, CHORRATEDEPTHFDBK

      It comes after DIST and before the SLICER, so the SLICER's gate stays sharp. The INSERT is part of the sound: user presets and projects keep it, factory presets set it OFF, and TYPE, its values and MIX can be automated or locked per step. TYPE OFF (the default) or MIX 0 leaves the track exactly as before.

    • MIDI LEARN on the device (Discussion #170). Hold GLO and press D4 (MIDI LEARN ON), turn the FM-1 knob of any parameter on any track, then move a knob or fader on your controller: that CC now sets the parameter ("CC74 -> T1 CUT"). Turn the next knob to learn the next one; OCT− clears the picked parameter's CC, OCT+ (or GLO + D4 again) ends learning.

      • A learned CC sets its track's parameter on whatever channel it comes (as long as MIDI IN listens to that channel), so a drum filter can sit on a fader while you play a lead. It takes the CC over from the fixed CC map.
      • Up to 16 CCs, kept with the settings across power-off (not in projects or presets). Bank select, the mod wheel, data entry, expression, the sustain pedal, NRPN / RPN and the channel mode messages are never learned.
      • MENU > MIDI > LEARN CLEAR shows how many CCs are learned; OCT+ there clears them all.
    • ANALOG's filter TYPE: LP, BP, HP (Discussion #104). An ANALOG track has a new EDIT > FILTER page after EDIT 2: KNOB 1 TYPE (LP the low-pass as before, BP band-pass, HP high-pass), KNOB 2–4 CUT, RES, KTR. The three are equally loud at the cutoff, so switching keeps the level. LP is the default: every ANALOG sound plays as before. Other engines ignore it.

    • ENV SYNC (Discussion #175). ENV DEST's KNOB 4, ESYNC, turns the envelope's ATK, DEC and REL into note values of the tempo, from 1/64T to 4 bars with the dotted and triplet values, one per knob click. They follow the BPM or an external clock, even while a note sounds. Saved with the sound; OFF (the default) is milliseconds as before. FM6 and DRUM ignore it.

    • A note's length on the piano roll (Discussions #178, #173). On SEQ > STEP, KNOB 3 on a note step is its LEN: right ties the steps after it on, left takes them back. It stops before the next note ("NOTE AHEAD") and at the pattern's end. On a REST, a TIE or an empty step KNOB 3 is TIME as before; the drum grid's KNOB 3 is still HIT. What it writes are ordinary TIEs.

    • Velocity per step (Discussion #173). SEQ > AUTOMATION: + ADD, KNOB 3 on VEL, OCT+ (SHOW) lists a VEL row for every note step, and KNOB 4 sets it (1–127); EDIT puts it back to 96. Steps entered by hand play 96, steps recorded live keep how hard you played them; an accented step plays 127. On a DRUM track a step has one velocity for all its hits.

    • HELP (Discussion #156; MENU > SYSTEM > HELP, OFF by default). ON: when a page opens, its footer shows a short hint for about 2 s, key caps and a few words (HOME: "[PRESETS] SOUND [HOME] HOLD: MENU"); a quick layer shows a second hint row under its map.

    • SAVE reaches PRESETS on its second tap (#173): SAVE's pages go USER, PRESETS, PHRASES, PROJECT, TOOLS. The quick save (SAVE, OCT+, OCT+) is unchanged.

    • The FX layer's map alternates light and dark columns (#173), as the piano roll's keys, so neighbouring effects are told apart at a glance. The key LEDs are unchanged.

    • HOME LEVELS (#134). MENU > DISPLAY > HOME has a third value, LEVELS: HOME shows the four tracks' rows as with TRACKS, and KNOB 1–4 set the LEVEL of T1–T4 (recorded into AUTOMATION as on the MIXER). SCOPE stays the default.

    Changed

    • ⚠ SAMPLE's PIANO is the full piano again: the five notes of 1.0 to 1.1.5, bit for bit. The lo-fi piano of 1.4 and 1.4.1 is gone, so projects and sounds from 1.4 / 1.4.1 that use PIANO now play the full piano, as on 1.1.5 (SAMPLE's PIANO and its presets, GRAIN's SRC PIANO such as FROZEN and SHIMMER). SLICE's PIANO is unchanged.
      • PIANO HD is not needed on 1.5. A user slot where you already installed it keeps working (it is the same piano, so it now sounds like the built-in one); in the web editor, PIANO HD now says "Built in on 1.5".
    • ⚠ Projects are saved with the new sound parameters (the INSERT, the filter TYPE, ESYNC). 1.5 opens every older project and it sounds as before (they load the INSERT OFF, LP, ESYNC OFF), but 1.4.1 and older cannot open a project saved by 1.5. See Going back.
    • Unchanged: every engine, kit and saved sound plays as before (except PIANO above); every new setting defaults to the old behaviour.

    Fixed

    • The ARP now follows TRN, ROOT, SCALE and QNT on held and latched notes (#191). It kept the notes as they were when the keys went down, so turning TRN or changing the scale never reached a latched chord. Now it maps the keys you played again on every step. The octave buttons still apply to the next keys you press.
    • MENU > DISPLAY > ANIM no longer changes HOME (OFF and IDLE set TRACKS, ON set SCOPE, since 1.4).

    Under the hood

    • More free memory: the engines that keep state per part now share one region per part, and the RAM is split anew, leaving room for what comes next.

    Web

    • The web editor at webapp/editor (developed in Felucca-WebApp) supports 1.5. Reload the page so it is the new one.
    • The installer installs 1.5.
    • Try Felucca at webapp/try runs 1.5.
    • ⚠ The full backup still does not include the FM6 voice bank: keep the .syx file to send it again.

    Coming from 1.1.5.x

    Read 1.4's notes first: Felucca 1.4. Everything there holds for 1.5, among it that projects saved by 1.4 or later do not open on 1.1.5.x, except the lo-fi PIANO: 1.5 plays the full piano of 1.1.5.

    Going back

    • To 1.4.1: a project saved by 1.5 shows EMPTY there, and a backup that holds one is refused when restored. Its data stays in flash until something is saved into that slot, so do not save over it on 1.4.1; back on 1.5 it is there again. Projects you saved before and have not saved again with 1.5 open as before. User presets saved with 1.5 still load on 1.4.1, without the INSERT, the filter TYPE and ESYNC (the rest of the sound as saved). Your settings stay; 1.4.1 ignores HELP and the learned CCs, and reads HOME LEVELS as SCOPE. SAMPLE's PIANO is the lo-fi one there (a PIANO HD user slot gives you the full one). With RESTORE LAST ON, 1.4.1 cannot read 1.5's autosave either and starts with its power-on sounds.
    • To 1.4 or 1.1.5.1: as to 1.4.1; see 1.4.1's Going back and 1.4's.

    Thanks

    • Wulgaren for insert effects with dry/wet (Discussion #78) and the ARP report (#191)
    • etyrnal for the lo-fi bit effect (Discussion #177) and envelopes in note values (Discussion #175)
    • gospodindilly-ops for ANALOG's filter modes (Discussion #104)
    • lostfictions and planist79 for MIDI mapping on the device (Discussion #170)
    • Armstrong1980 for note lengths on the piano roll (Discussion #178)
    • oMauNaProducer for velocity per step, note lengths, SAVE's order and the FX map's columns (Discussion #173)
    • stanleygurvich for on-screen help (Discussion #156)
    • TesseractCat for the track levels on HOME (Discussion #134)

    Files

    • felucca-1.5.fwsc: the package the web installer installs (identity FM-1_915, version v1.5)
    • felucca-1.5-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.5.

    SHA-256 felucca-1.5.fwsc (610,086 bytes): 65edcbda2ef65bbbaf28384b95e052228432539fb606c4454a077410f82d761f SHA-256 felucca-1.5-app.bin (491,692 bytes): 220820135dbefbf0d8aecb85661af18638e6830f488e59e06b5304f3e6223244

  7. v1.4.1Felucca 1.4.12 files

    Felucca 1.4.1

    A small update to 1.4: DRUM lane mutes on the EDIT layer for live play, and a whole 32-voice FM6 bank on the FM-1, picked with SLOT B1–B32. Projects, sounds, presets and settings stay in 1.4's formats and sound as before.

    Install: the web installer (Chrome or Edge, USB) installs 1.4.1, over 1.4 or any earlier version.

    Try it first: Felucca in your browser runs 1.4.1, the same firmware compiled to WebAssembly, with the panel on screen.

    New

    • Engine quick actions on the EDIT layer's black keys. Hold EDIT (or double-tap it to keep the layer open): the black keys do what the selected track's engine offers, and the map shows them in a row under the engines. A key with no action is dark and does nothing.
      • DRUM: lane mutes. Black keys 1–8 (F#3 G#3 A#3 C#4 D#4 F#4 G#4 A#4) mute the lanes KICK, SNARE, CLAP, HATCL, HATOP, TOM, RIM and BELL (a VA kit's own pieces where it has them). One press mutes ("KICK MUTED"), the next unmutes ("KICK ON"). The LEDs show which lanes sound, as GLO's track mutes do, and the drum grid shows a muted lane with its name and hits dimmed and the MUTE icon. A muted lane keeps playing unheard (the grid, the keys and MIDI IN still strike it), so unmuting brings it back in time; MIDI OUT is not affected.
      • The mutes are for live play: never saved, not recorded into AUTOMATION and not in the undo. They last until the power goes, a sound load into that track (PRESETS, EDIT's engine keys, a user preset, INIT, the editor) or a project load. OCT− in the layer puts them back as they were when it opened ("MUTES PUT BACK").
      • Other engines: no quick actions yet (the black keys dark, the sound row as before).
    • FM6 voice bank (Discussion #168). The web editor's 6-OP FM tab sends a whole 32-voice SysEx bank (the standard 4096-byte file) to the FM-1 in one go with SEND BANK, with its name; the FM-1 keeps it in flash until you send another. On an FM6 track SLOT (EDIT 2, KNOB 4) now goes F1–F8, OWN, then B1–B32, the bank's voices; the algorithm chart shows the voice's name while SLOT is on one. Empty bank slots are skipped, and with no bank sent SLOT stops at OWN as before.
      • Picking a voice copies it into the track's patch, as F1–F8 do: from then on it is the track's sound. Save the project or a user preset to keep it; it keeps that voice even after another bank replaced this one, and loads with SLOT OWN. A track playing a bank voice when a new bank arrives keeps that voice as its own. SLOT changes recorded on a B slot play OWN.
      • The bank has its own flash sector and is only replaced once the new one arrived whole and checked; a power cut while sending leaves the old bank or the new one, never a mix. Projects, user presets, samples and settings are not touched.
      • ⚠ The full backup does not include the bank: keep the .syx file to send it again.

    PIANO HD

    The fuller 5-note piano of 1.0 to 1.1.5 installs into a user sample slot from the web editor (Samples: the PIANO HD button on a user slot), which then offers the selected SAMPLE or GRAIN track's SET (GRAIN: SRC) that slot. This is a web editor feature that works with 1.4 and 1.4.1 alike; the firmware is unchanged for it, and SAMPLE's built-in PIANO stays the lo-fi one of 1.4.

    Changed

    • FM6's SLOT runs to 40 (F1–F8, OWN, B1–B32). A stored SLOT is never a bank slot: projects, user presets and automation keep SLOT OWN with the patch, as in 1.4.
    • Unchanged: every engine, kit and saved sound plays as before; the project format is still FUN10 and user presets still store 104 values.

    Web

    • The web editor at webapp/editor (developed in Felucca-WebApp) sends the FM6 bank, lists its voices and plays one on the selected track, and shows SLOT as F1–F8, OWN, B1–B32. Reload the page so it is the new one. With 1.4 or older firmware it offers no bank.
    • The installer installs 1.4.1.
    • Try Felucca at webapp/try runs 1.4.1.

    Coming from 1.1.5.x

    Read 1.4's notes first: Felucca 1.4. Everything there holds for 1.4.1, among it that projects saved by 1.4 or 1.4.1 do not open on 1.1.5.x.

    Going back

    • To 1.4: everything you saved opens as it is, in the same formats; a sound made from a bank voice keeps its patch (SLOT OWN). 1.4 has no bank: SLOT stops at OWN and the bank stays in flash unused, so it is there again when you come back to 1.4.1. The lane mutes do not exist on 1.4.
    • To 1.1.5.1: as from 1.4, see 1.4's Going back.

    Thanks

    • planist79 for asking for a whole bank on the device (Discussion #168), and firstnevyn for the pointer

    Files

    • felucca-1.4.1.fwsc: the package the web installer installs (identity FM-1_914, version v1.4.1)
    • felucca-1.4.1-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.4.1.

    SHA-256 felucca-1.4.1.fwsc (610,086 bytes): 272c7ac94c6a5086094d465fd40749cbbc4d2ca42fb20f1ddf6146f5b06ca8d7 SHA-256 felucca-1.4.1-app.bin (462,636 bytes): 65652da7a3bec7bdf2bc23eb8f8369de098f6e9d0ffa6fb1bcd7035a5f756ada

  8. v1.4Felucca 1.42 files

    Felucca 1.4

    Fewer, clearer pages, songs with a lane per track, timing that keeps how you played, a smooth HALL reverb, FLANGER and PHASER on your own FX keys, FM6 operators on the device, LFO sync, MOMENTARY knob moves and a lot more. Everything since 1.1.5.1 is in this release (there was no 1.2 or 1.3). Older projects and sounds load and sound as before; the changes in how things work are marked ⚠ below, and projects saved by 1.4 do not open on 1.1.5.x (see Going back).

    Install: the web installer (Chrome or Edge, USB) now installs 1.4.

    Try it first: Felucca in your browser runs 1.4, the same firmware compiled to WebAssembly, with the panel on screen.

    New

    • Pages by button. SEQ is two pages, STEP and AUTOMATION; SEQ held opens SEQ TOOLS on every page; GLO opens SONG; HOME goes round HOME, MIXER and CLOCK (BPM, swing, the clock source); SAVE goes round USER, PHRASES (the pattern loader), PROJECT, TOOLS and PRESETS. See ⚠ below for where everything went. (Discussion #153)
    • SEQ > AUTOMATION is one list of everything that happens on the track's steps: PLAY / CLEAR, the track's QUANTIZE, each step's CHANCE, RATCH and NUDGE, its locks and automation events. + ADD adds a lock, CHANCE, RATCH or NUDGE; SAVE held undoes every edit.
    • Songs with a lane per track (GLO > SONG). A song is up to 16 sections; each names the project slot (A–D) every track plays, or "-" for a track that rests there, and its repeats. Build a song up track by track, keep the drums on A while the bass moves to B, or drop the lead for a section. The page draws the song as a timeline with a lane per track. KNOB 1 SECTION, 2 TRACK, 3 PAT, 4 REPS; the white keys A3 B3 C4 D4 set the selected cell's slot. (Discussion #173)
    • The header shows the pattern's slot after the track's number: "1 A" (the track plays PROJECT A's pattern), "1 A*" (changed since), "1 -" (resting in the song's section).
    • Timing: NUDGE and QUANTIZE. Live recording keeps when you played each note, as the step's NUDGE (in 1/16 of a step, from half a step early to 7/16 late). The track's QUANTIZE (SEQ > AUTOMATION, ON by default) decides what plays: ON plays every step on the grid as before; OFF plays your timing. Set nudges by hand on AUTOMATION's NUDGE rows, or hold a step on STEP and turn PRESETS. (Discussion #162)
    • 128 automation records shared by the four tracks (64 before).
    • LFO 2 (LFO > LFO 2): SYNC the LFO to a note value (4 bars to 1/32) at the tempo or an external clock, TRIG NOTE or FREE, POL bipolar or unipolar. Every sound of before plays as before. (Discussion #154)
    • The modulation matrix has two new sources, S&H and SLEW (a random value per LFO cycle, held or gliding), and a new destination, DEPTH (the LFO's depth), so the matrix can modulate the modulator. (Discussion #132)
    • ANALOG's WAVE has SYNC (the second oscillator hard-synced to the first, DTN its interval) and SUB (a square an octave down, MIX its level). (Discussion #104)
    • SPREAD (EDIT > VOICE 3): the voices of a POLY or UNISON track alternate left and right of its PAN, up to hard left and right. 0 by default. (Discussion #148)
    • FM6's six operators on the device: EDIT > OPERATOR (ratio or fixed frequency, fine, level), OP ENV (each stage's rate and level, drawn as the envelope) and OPERATOR 2 (mode, detune, velocity), KNOB 1 picking the operator on the algorithm chart. An edit makes the patch the track's own (SLOT OWN), SAVE held undoes it, and projects and user presets keep it. (Discussion #76)
    • HALL, a third reverb TYPE (FX > REVERB): a smooth, dense stereo reverb, up to about 4.5 s, at about ROOM's CPU cost. (Discussions #151, #164, #176)
    • FLANGER and PHASER in the FX layer (B4 and C5), both in time with the tempo, and your own FX keys: in the FX layer hold a white key and turn PRESETS to give it any of the twelve effects (or none); EDIT gives it its default back. Double-tap FX to lock the layer open and keep both hands free. (Discussion #164)
    • MOMENTARY: hold LFO and turn a knob on HOME or a sound / FX page; let go of LFO and every value you turned goes back. OCT+ while holding LFO keeps the changes. (Discussions #72, #73)
    • Sound categories and random project names. Every factory sound has a category (BASS, LEAD, PAD, PLUCK, KEYS, DRUM, FX, OTHER); SAVE > PRESETS' LIST (KNOB 4) shows one at a time, also for the PRESETS knob. A user preset gets one when you save or rename it (NAME's KNOB 3); on a project's NAME screen KNOB 3 types a random name. Nothing changes until you use them. (Discussion #90)
    • HOME TRACKS (MENU > DISPLAY > HOME): HOME shows the four tracks, a row each with its sound, its steps playing, MUTE and a meter, instead of the oscilloscope. SCOPE stays the default. (Discussions #112, #134)
    • MENU has five tabs: the new MIDI tab holds MIDI IN (CH1-4, SEL and now CH5-8, CH9-12, CH13-16: tracks 1–4 on another block of four channels, e.g. two FM-1s on one cable), AUDIO gets TUNE, SYSTEM gets INFO (the version, the USB link, the CPU load). (Discussion #143)
    • MENU > DISPLAY > SCOPE: OUT or MIX, the mix before MASTER, so the scope stays the same size at any volume. (Discussion #165)
    • MENU > CONTROL > STEP PREVIEW: with the transport stopped, moving the cursor on SEQ > STEP plays the step it lands on. (Discussion #169)
    • MENU > CONTROL > CHORD ENTRY ADD: in step recording each key adds its note to the step (again takes it out), and KNOB 1 moves on, so a chord goes in one finger at a time. HOLD (the default) works as before. (#155)
    • MENU > DISPLAY > ANIM IDLE: after a minute without input a soft light drifts over the keys and the buttons breathe; any touch ends it and does what it always does. ON stays the default. (Discussion #135)
    • Type sizes by role: what you read (values, titles, messages, list rows) in the larger size, what describes it (labels, units, hints, the footer) in the smaller one.
    • PIANO HD: the 5-note piano of 1.0 to 1.1.5, as a file the web editor installs into a user sample slot (see ⚠ PIANO).

    Changed

    • ⚠ Projects are saved as format FUN10 (LFO 2, NUDGE / QUANTIZE, SPREAD, 128 records, song sections need it). 1.4 opens every older project and it sounds the same, but 1.1.5.x and older cannot open a project saved by 1.4: the slot looks empty there, and its data stays in flash until something is saved into that slot. See Going back.
    • ⚠ ARP ORD plays the held notes in the order you pressed them. Up to 1.1.5.1 it played them as UP: a saved sound or project using ORD sounds different when its notes were pressed in another order than low to high.
    • ⚠ SAMPLE's PIANO is a lighter lo-fi piano: two notes at 11,025 Hz and 8-bit resolution, 1.6 s each (up to 1.1.5.1 five notes at 22,050 Hz, 0.75 s). Sounds and projects using it (SAMPLE's PIANO presets, GRAIN's SRC PIANO with FROZEN and SHIMMER) play the new one. For the old piano, install PIANO HD into a user slot from the web editor and set those sounds' SET (GRAIN: SRC) to that slot. SLICE's PIANO is unchanged. It frees about 15 KB of flash for what comes next.
    • ⚠ The pages moved. SEQ's PATTERN page is gone: LEN, DIV, SWING and GATE are SEQ TOOLS' KNOB 1–4 (hold SEQ). CHANCE, RATCH and AUTO LIST are SEQ > AUTOMATION's list. PHRASES (the pattern loader) is SAVE's second page. SONG is GLO's page. The MIXER is HOME tapped on HOME; GLO > GLOBAL is HOME > CLOCK (BPM, SWG, CLK); TUNE is MENU > AUDIO > TUNE; GLO > SYSTEM's ROUT is MENU > MIDI > MIDI IN, its USB state and CPU load MENU > SYSTEM > INFO. TUNE and MIDI IN are still saved with the project. Nothing stored changes for this.
    • ⚠ SEQ held opens SEQ TOOLS on every page and no longer opens SONG (GLO does). REC held is the REC layer as in 1.1.5.
    • ⚠ SONG's controls changed for the lanes: KNOB 1 SECTION, 2 TRACK, 3 PAT, 4 REPS (up to 1.1.5.1: 1 ROW, 2 PAT, 3 REPS), and the white keys A3 B3 C4 D4 set a cell's slot (on SONG they do not sound). Songs made before load as sections with all four tracks on the row's slot and play as before.
    • ⚠ A fresh start uses the HALL reverb (no saved session, or RESTORE LAST OFF). Up to 1.1.5.1 it was ROOM. Saved projects keep their TYPE and sound as before; for the old sound in a new project set TYPE to ROOM.
    • ⚠ BASS+ (MENU > SPEAKER EQ) adds its harmonics at half the level, so it no longer overloads on a full-scale kick (#180). FLAT and LOWCUT are unchanged.
    • ⚠ User presets store 104 values (LFO 2's SYNC, TRIG and POL, QUANTIZE and SPREAD added). Older ones load with those at their defaults; 1.1.5.x loads a 1.4 user preset without them.
    • ⚠ MENU's CONTROL and DISPLAY tabs have seven and eight rows (slightly lower rows), and MENU has a fifth tab, MIDI.
    • FM6's EDIT cycle is EDIT 1, EDIT 2, OPERATOR, OP ENV, OPERATOR 2, VOICE, VOICE 2, VOICE 3.
    • The header's USB icon is gone: the lightning bolt in the battery says USB power, as before.
    • Unchanged: every engine and kit sounds as before (except PIANO above), saved sounds and patterns keep their notes, and every new setting defaults to the old behaviour except the fresh start's HALL above.

    Fixed

    • PLAY did not stop in GLO's locked layer (#183). The lock treated PLAY as GLO + PLAY (RESTART). RESTART now needs GLO physically held; in every lock PLAY starts and stops as usual.
    • The MIXER flashed when a sound loaded or the track changed (#181). It cleared its whole panel before drawing again; now it goes straight to the new content. HOME TRACKS had the same problem, and the LINE style's divider lines flickered faintly; both fixed too.
    • BASS+ distorted a full-scale kick (#180). Its harmonics came out much louder than the kick, so the limiter pulled the mix down on every hit. See ⚠ BASS+ above.

    Web

    • The web editor at webapp/editor (developed in Felucca-WebApp) is updated for 1.4: LFO 2, QUANTIZE and NUDGE, song sections, the new MENU settings and tabs, the categories, 104 parameters and FUN10 backups. Reload the page so it is the new one: an editor from before 1.4 does not know 1.4's parameters.
    • The installer installs 1.4.
    • Try Felucca at webapp/try runs 1.4.

    Going back to 1.1.5.1

    Projects saved with 1.4 (format FUN10) do not open on 1.1.5.1: the slot shows as empty there, and a backup that holds one is refused when restored. Their data stays in flash until something is saved into that slot, so do not save over them on 1.1.5.1; back on 1.4 they are there again. Projects you saved before and have not saved again with 1.4 open as before. User presets saved with 1.4 load on 1.1.5.1 without the five new values (the rest of the sound as saved), and a user preset's category is kept but not shown. Your settings stay; 1.1.5.1 ignores the new ones (SCOPE, HOME, STEP PREVIEW, CHORD ENTRY, the FX key map, ANIM IDLE). With RESTORE LAST ON, 1.1.5.1 cannot read 1.4's autosave either and starts with its power-on sounds.

    Thanks

    • gospodindilly-ops for STEP PREVIEW (Discussion #169), the modulation matrix's S&H, SLEW and DEPTH (Discussion #132), ANALOG's SYNC and SUB (Discussion #104), categories and random project names (Discussion #90), MOMENTARY (Discussions #72, #73) and the tracks overview (Discussion #112)
    • planist79 for the scope before MASTER (Discussion #165) and the MIDI channel blocks (Discussion #143)
    • benjaminguerrer for LFO sync, trigger and polarity (Discussion #154) and feedback on the pages (Discussion #153)
    • jsmonzani for unquantized recording (Discussion #162)
    • rusbayzvuk-maker for SPREAD (Discussion #148)
    • Wulgaren for FM6's operators on the device (Discussion #76)
    • TesseractCat for HOME TRACKS (Discussion #134)
    • Yeremel for the idle LED animation (Discussion #135)
    • etyrnal, positionhigh and Piattica for pushing for a better reverb (Discussions #176, #151, #164)
    • oMauNaProducer for songs built up track by track (Discussion #173)
    • stanleygurvich for chords one finger at a time in step recording (#155) and the GLO lock (#183)
    • nullpainter for the MIXER flash (#181) and BASS+ (#180)

    Files

    • felucca-1.4.fwsc: the package the web installer installs (identity FM-1_914, version v1.4)
    • felucca-1.4-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.4.

    SHA-256 felucca-1.4.fwsc (610,086 bytes): 480e88312bca6006192b822530be99e2cd5d3e98495d58490bf64ea447c2e60b SHA-256 felucca-1.4-app.bin (458,660 bytes): 65edc4e3c1092991aee3c8065f6415c6ee3bf9a3f6ef8feea4293a9ca1e52afd

  9. v1.1.5.1Felucca 1.1.5.12 files

    Felucca 1.1.5.1

    A fix-only update to 1.1.5: SCREEN OFF could leave the FM-1 unresponsive. Projects, sounds and settings otherwise stay as they are.

    Install: the web installer (Chrome or Edge, USB) installs 1.1.5.1. If your FM-1 on 1.1.5 has gone dark and no button, key or knob brings it back, switch it off and on again; until you update, MENU > DISPLAY > SCREEN OFF set to NEVER keeps it from happening.

    Fixed

    • SCREEN OFF no longer leaves the FM-1 unresponsive. The screen goes dark but the backlight stays on: on the FM-1 the backlight line also enables the buttons and keys. On 1.1.5, once the screen went dark nothing woke it until the FM-1 was switched off (the sound kept playing).
    • SCREEN OFF is now NEVER by default. 1.1.5's default, 30 MIN, reads as NEVER; the 5, 15 and 60 MIN choices are kept. A 30 MIN chosen on 1.1.5 also reads as NEVER, since 1.1.5 stored it the same way as the default: choose it again if you want it.
    • The SCREEN OFF row in the MENU shows the new value at once (#157, #160). It used to change only after leaving the tab and coming back.

    Thanks

    Files

    • felucca-1.1.5.1.fwsc: the package the web installer installs (identity FM-1_911, version v1.1.5.1)
    • felucca-1.1.5.1-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.1.5.1.

    SHA-256 felucca-1.1.5.1.fwsc (610,086 bytes): 7c2bc07dae5659b2b6444ba23f5ae68057ac896fabe9ac0b1e315abbfae9d725 SHA-256 felucca-1.1.5.1-app.bin (447,580 bytes): f075afa030d3da4050b38b793eb227a6be7619b84866bc9e11f22b7bc941c402

  10. v1.1.5Felucca 1.1.52 files

    Felucca 1.1.5

    Parameter locks, sequencer tools with RANDOM and COOK, a metronome with count-in, MIDI CCs, DRUM lane levels, USB audio at 48 kHz, and the FM-1 starting where you left it. Everything since 1.0.5.2 is in this release (there was no 1.1). Older projects and sounds load and sound as before; the changes in how things work are marked ⚠ below.

    Install: the web installer (Chrome or Edge, USB) now installs 1.1.5.

    Try it first: Felucca in your browser runs 1.1.5, the same firmware compiled to WebAssembly, with the panel on screen.

    New

    • Parameter locks. On SEQ > STEP (or the drum grid), hold a step and turn KNOB 1–4: those parameters (the four of the sound page you looked at last) take that value on that step only, and the next step puts back what was sounding. EDIT with the step held clears its locks. A lock plays with its step's CHANCE and ratchets. Locks and automation share the 64 records of the four tracks; SEQ > AUTOMATION counts both. (#53, Discussion #75)
    • SEQ > AUTO LIST, the page after AUTOMATION: the track's locks and automation events as a list, step by step. KNOB 2 moves a record to another step, KNOB 3 changes its parameter, KNOB 4 its value; OCT+ turns a lock into automation and back, EDIT deletes it, and the last row, + ADD LOCK, adds one. Every lock edit (a knob turn counts as one) is undone with SAVE held.
    • SEQ TOOLS. On STEP, PATTERN, CHANCE and AUTOMATION, hold SEQ for a quick layer of tools for the selected track: CLEAR, REVERSE, SHIFT < / >, RANDOM and COOK. RANDOM makes a new beat on a DRUM track (kick, snare on 2 and 4, hats, sparse extras) and new notes in the track's scale on a melodic one, keeping its rhythm; COOK changes the pattern a little and drifts further with each press. A DRUM track also gets BEAT (a basic beat) and, for the lane picked on the black keys, CLR, REV, FILL and RND. Each tool is one undo (SAVE held), and OCT− puts the track back as it was when the layer opened. KNOB 1–4 are LEN, DIV, SWING and GATE. (Discussion #129)
    • Metronome and count-in (MENU > AUDIO, or the REC layer). CLICK OFF, REC (while a track is armed) or ON: a short blip on every beat while the transport runs, higher and louder on the bar's first beat, in time with an external clock too. CLICK LEVEL LOW, MID or HIGH; MASTER sets it as well. COUNT-IN OFF, 1 BAR or 2 BARS: with a track armed, PLAY clicks one or two bars first (even with CLICK OFF) while the screen counts down, then the sequencer starts at step 1; a note played in the last half beat of the count-in lands on step 1. No count-in with an external clock or a song. The click goes to the headphones and the speaker only: never to USB audio, never into a pattern. Everything is OFF by default. (Discussion #131)
    • The REC layer. Hold REC on any page: F3 CLEARs the selected track's sequence (no dialog; SAVE held brings it back), G3 CLICK, A3 COUNT-IN, B3 CLICK LEVEL, each press the next value; KNOB 1–3 set the same. A tap of REC arms the track as before.
    • Step recording at the cursor. On SEQ > STEP with the transport stopped, tap REC: the track is armed and PLAY does not start ("KEYS WRITE STEPS"). Each key (or chord) is written into the step under the cursor, and letting go moves the cursor on. While the keys of a step are held, KNOB 1–4 lock its parameters. PLAY then records live as before. (Discussion #133)
    • The FM-1 starts where you left it. Turn it off and on and the music is back: every track's sound and steps, the mix, the song order, the automation and locks, the FM6 patches (the header says RESTORED). It lives in an autosave of its own, not in your four projects, written only when something changed, the transport is stopped and nothing has been touched for 10 seconds, at most once a minute, to spare the flash. A change made in the last seconds before switching off, or while playing, is not kept. MENU > SYSTEM > RESTORE LAST. (Discussion #130)
    • MIDI CCs set track parameters, always on, on the channels ROUT gives the track: 5 GLIDE, 7 LEVEL, 10 PAN, 71 resonance, 72 release, 73 attack, 74 brightness (cutoff, or the engine's nearest: DCW, MLVL, TONE …), 75 decay, 91 / 93 / 94 the reverb, chorus and delay sends. A CC moves the value as its knob would, and AUTOMATION records it while the track is selected, armed and playing. (Discussion #103)
    • DRUM lane levels. EDIT > LANES (KICK, SNARE, CLAP, HATCL) and LANES 2 (HATOP, TOM, RIM, BELL) set each lane's level, 100 % by default (the kit as designed). They are saved with the sound, automation can record them, and older sounds load at 100 %. (Discussion #97)
    • USB audio at 48 kHz as well as 44.1 kHz: the computer picks the rate, and at 48 kHz the FM-1 converts it itself (flat to 18 kHz, about 94 dB SNR), so a 48 kHz session records it directly. At 44.1 kHz the samples go out untouched, as before. (Discussion #113)
    • Eight more ARP modes for chords: DNUP, UP+8, CONV, DIVG, PINKY, THUMB, WALK and CHORD (all the held notes together, an octave up each step through OCT). (Discussion #95)
    • MENU > CONTROL > SCALE LEDS: ON shows the selected track's scale on the keys all the time, the root a little brighter, with what you play lit over it. Not on DRUM or SLICE tracks. OFF by default. (Discussion #127)
    • MENU > DISPLAY > SCREEN OFF: NEVER, 5, 15, 30 or 60 MIN. After that long with no button, key or knob touched, the screen and its backlight go off; the sound, the sequencer, MIDI and USB carry on. The next button, key or knob only wakes the screen.
    • LEDs: at power-on a soft light sweeps over the keys and the buttons while the start-up screen shows (about 0.7 s; nothing waits for it, and a key or button ends it). ANIM OFF leaves it out. On the drum grid, steps 1, 5, 9 and 13 glow a little brighter, so a bar can be counted at a glance. (Discussion #135)
    • A new start-up screen (Felucca, the version, Hügelton Instruments) and a new header in three parts: the track on the left, the play state, a metronome and the BPM in the middle, the octave or song row and the battery on the right.

    Changed

    • ⚠ Projects are saved as format FUN9 (the DRUM lane levels need it). Firmware 1.0.x cannot open a FUN9 project, so every project saved with 1.1.5 stays on 1.1.5 and later. Every older project loads on 1.1.5.
    • ⚠ REC held opens the REC layer. Up to 1.0.5.2, REC held on STEP, PATTERN or CHANCE asked "CLEAR Tn SEQUENCE?". The clear is now the REC layer's F3, on every page, at once and without a dialog; SAVE held undoes it. Clearing is also in SAVE > TOOLS and SEQ TOOLS.
    • ⚠ Step recording writes only when armed. On SEQ > STEP the keys used to write the cursor's step whenever the transport was stopped. Now they only play, unless REC is on (see New). The drum grid is unchanged: its white keys are the steps, armed or not.
    • ⚠ SEQ held on STEP, PATTERN, CHANCE and AUTOMATION opens SEQ TOOLS. From every other page it still opens SONG; from the SEQ pages, SONG is a tap or two of SEQ away.
    • ⚠ KNOB ACCEL is faster, and the encoders are read differently. Fast turns no longer lose clicks, with KNOB ACCEL ON or OFF. With ON, a value of more than 64 steps goes up to 8 steps per click on a fast turn (a quick flick takes FILTER from 0 to about 50), and the FX and GLO layers' knobs accelerate too. Slow turns, the first clicks of a turn and lists stay one step per click. (#126)
    • ⚠ SCREEN OFF is 30 MIN by default: after half an hour without touching the panel the screen goes dark (the sound goes on). Set it to NEVER for the old behaviour.
    • ⚠ RESTORE LAST is ON by default: the FM-1 starts with your last session instead of the power-on sounds. Turn it OFF to start fresh every time.
    • ⚠ MIDI CC 5, 7, 10, 71–75, 91, 93 and 94 now change the sound (see New). A controller or a DAW that sends them will move those parameters; the change is saved with the sound like a knob move.
    • Loading a sound keeps the locks and automation that still mean the same: all of them for a sound of the same engine, and those on the shared parameters (LEVEL, the envelope, the LFO, the sends, GLIDE, PAN …) for another engine. Up to 1.0.5.2 a sound load dropped them all. SAVE held brings back the old sound with what was dropped.
    • USB: the audio input now lists 44.1 and 48 kHz, and some computers pick 48 kHz by themselves (macOS does). MIDI, the editor and the installer work as before.
    • The update loader checks the whole package before it erases anything: a damaged or incomplete package file leaves the FM-1 as it was.
    • Unchanged: every sound plays as before (the DRUM kits, SLICE's BREAK and PIANO, every engine), saved sounds and patterns keep their notes, and the new settings default to the old behaviour except SCREEN OFF and RESTORE LAST above.

    Fixed

    • Keys during start-up played at full volume (#137). The MASTER knob is now read before the audio starts, and keys pressed while the start-up screen shows stay silent.
    • Fast knob turns lost clicks (#126). See KNOB ACCEL above.
    • Damaged data is handled safely: a broken user sample slot, a project with an unknown engine, or a damaged user preset pattern is refused or kept in bounds, and a malformed editor request never stops PLAY.

    Web

    • The web editor at webapp/editor (developed in Felucca-WebApp) shows the DRUM lane levels (and offers them for automation on a DRUM track), keeps parameter locks as locks, reads and writes FUN9 backups, has the new MENU settings (CLICK, CLICK LEVEL, COUNT-IN, RESTORE LAST, SCALE LEDS, SCREEN OFF) and the eight new ARP modes.
    • The installer checks the package's size and SHA-256 before it writes, and its progress bar follows 1.1.5's loader.
    • Try Felucca at webapp/try runs 1.1.5.

    Going back to 1.0.5.2

    Projects saved with 1.1.5 (format FUN9) do not open on 1.0.5.2: its project loader refuses them, as it would any newer format, and the same goes for them in a restored backup. Projects you saved before and have not saved again with 1.1.5 open as before. User presets saved with 1.1.5 load on 1.0.5.2 without their lane levels. Your settings stay; 1.0.5.2 ignores the new ones (CLICK, COUNT-IN, RESTORE LAST, SCALE LEDS, SCREEN OFF), and they are as you left them when you come back. The autosave stays in flash: if you return to 1.1.5 later with RESTORE LAST ON, its first start may bring back the music last autosaved before you went back.

    Thanks

    • gospodindilly-ops for parameter locks (#53, Discussion #75), the last-session restore (Discussion #130) and the chord arpeggios (Discussion #95)
    • Armstrong1980 for the drum lane levels (Discussion #97)
    • robman84 for the MIDI CC map (Discussion #103) and the scale on the keys (Discussion #127)
    • firstnevyn for 48 kHz USB audio (Discussion #113)
    • EmeraldMoonLabs for step recording at the cursor (Discussion #133)
    • halida for the pattern generator, the start of RANDOM and COOK (Discussion #129)
    • Yeremel for the LED animation idea behind the power-on sweep (Discussion #135)
    • Wulgaren for the lost knob clicks (#126)
    • LikeRedstone for the loud keys at start-up (#137)

    Files

    • felucca-1.1.5.fwsc: the package the web installer installs (identity FM-1_911, version v1.1.5)
    • felucca-1.1.5-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.1.5.

    SHA-256 felucca-1.1.5.fwsc (610,086 bytes): a6034141cbb74f55c767c3c89935e70dd3a0a91fed238ab158a9ef684033147b SHA-256 felucca-1.1.5-app.bin (447,576 bytes): ee327df4d0f68a70143b4357ffe7791065da7fa068e98f4db36bda58327f38bf

  11. v1.0.5.2Felucca 1.0.5.22 files

    Felucca 1.0.5.2

    A fix-only update to 1.0.5.1: a click in the ROOM reverb, and the EDIT layer's No. knob on SAMPLE. Projects, sounds and settings stay as they are.

    Fixed

    • REVERB: no click after switching back to ROOM. Clearing the reverb missed the last sample of ROOM's allpass, so after a REVERB TYPE change back to ROOM a stale sample could play once as a faint click.
    • EDIT layer KNOB 2 (No.) on SAMPLE: turning right no longer gets stuck on No1. The hidden alias preset (it loads as PIANO) is skipped, as on PRESETS: SAMPLE lists PIANO, FLUTE and SAX as No1 to No3, then the user presets, both ways.

    Thanks

    • jasonpersinger for the reverb fix and its test (#121)
    • sceic for reporting the No. knob (#124)

    Files

    • felucca-1.0.5.2.fwsc: the package the web installer installs (identity FM-1_910, version v1.0.5.2)
    • felucca-1.0.5.2-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.0.5.2.

    SHA-256 felucca-1.0.5.2.fwsc (609,849 bytes): 7048f6808f36a076bee1a59cb6796842181a767f3ef2ade9dae21dd45af04da0 SHA-256 felucca-1.0.5.2-app.bin (428,944 bytes): a1ba718de14d908815319872e53649280d3bc4f9d9d15280f7116f345986db5e

  12. v1.0.5.1Felucca 1.0.5.12 files

    Felucca 1.0.5.1

    A fix-only update to 1.0.5: the menu's OCT keys, a way out of HARDWARE CALIBRATION, and the ABOUT credits. Projects, sounds and settings stay as they are.

    Fixed

    • MENU: OCT− and OCT+ both breathe on a setting, each only while it has a value to go to (at a setting's first or last value that way's key is dark). Before, OCT− stayed lit and only OCT+ breathed.
    • HARDWARE CALIBRATION can be cancelled: any piano key leaves it at once and keeps the old calibration; the screen says ANY KEY: CANCEL. Before, only 30 s without input cancelled it.
    • ABOUT: the credits' titles no longer carry a " / ROLE" suffix.

    Files

    • felucca-1.0.5.1.fwsc: the package the web installer installs (identity FM-1_910, version v1.0.5.1)
    • felucca-1.0.5.1-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.0.5.1.

    SHA-256 felucca-1.0.5.1.fwsc (609,849 bytes): b1fd8a75babfdd433f5bdf4a4a556192a5b275ebbd6c153534935ad3d3e8f8a9 SHA-256 felucca-1.0.5.1-app.bin (428,808 bytes): 701a4553509f835e71b67e366b204c1492def869debdad98d9ed2c7e2859dfe5

  13. v1.0.5Felucca 1.0.52 files

    Felucca 1.0.5

    Ratchets in the sequencer, keys that breathe instead of blinking, and the MENU in four tabs. Every older project and sound loads as before; one drum kit change is marked ⚠ below.

    Install: the web installer (Chrome or Edge, USB) now installs 1.0.5.

    Try it first: Felucca in your browser runs 1.0.5, the same firmware compiled to WebAssembly, with the panel on screen.

    New

    • Ratchets. SEQ > CHANCE now has RATCH on KNOB 3: x1 to x4 for the step under the cursor. A step at x2, x3 or x4 plays all of it (its notes, its chord, its drum hits) that many times in equal parts of the step, swing included, each part retriggered and held for GATE of the part. The CHANCE roll covers the whole step, a slide into it glides into its first part, and a ratcheted step never slides or ties into the next one. The piano roll and the drum grid draw a ratcheted step in its parts. x1 is the default and what every older pattern holds; on a REST, a TIE or an empty step RATCH does nothing (shown dimmed). Projects, backups and a user preset's note pattern keep it (a user preset's drum grid has no room for it and loads x1). Contributed by zednaked (PR #100). (Discussion #77, #47)
    • The MENU in tabs. Hold HOME for the menu, now in four tabs: DISPLAY (COLOR, STYLE, LARGE, ANIM, LEDS), CONTROL (HOLD, KNOB ACCEL, FX LATCH, BPM LOCK), AUDIO (SPEAKER EQ, USB LEVEL) and SYSTEM (USB SERIAL, HARDWARE CALIBRATION, ABOUT). ALGORITHM moves between the tabs and PRESETS between the rows of one; a tab comes back at the row you left it on, and the menu reopens where you were while the FM-1 stays on. ON / OFF settings show as switches and COLOR shows its palettes.

    Changed

    • ⚠ DRUM: KIT HAND, CYM and H+CYM are gone. Sounds, projects and user presets that used them now play the VA kits 66, 10 and 77 (66 has a conga, 10 a cymbal, 77 claves and a cymbal, each in a full kit of its own). STD still plays its conga, clave and cymbal notes from the General MIDI map. The KIT knob steps STD, 80, 10, 66, 55, 77.
    • MENU controls. Any of KNOB 1–4, or OCT+ / OCT−, changes the selected setting: right or OCT+ the next value, left or OCT− the previous one. OCT+ opens HARDWARE CALIBRATION and ABOUT. Press HOME to close the menu (holding it still works); OCT− no longer closes it, it only goes back inside ABOUT.

    Fixed

    • No hard blinking in a dark room (#119). What can be pressed (a quick layer's button and keys, also when you keep a layer open with a double tap; OCT+ where it would act) now breathes: a slow, soft fade from dark up to about 60 % of a lit LED and back, about once a second, instead of blinking on and off. Held keys and what is in effect stay fully lit. With MENU > LEDS DIM LO the fade peaks at about 30 %.

    Web

    • The web editor at webapp/editor (developed in Felucca-WebApp) shows the MENU settings in the device's tabs, a card for each, and the step editor has a RATCH row (x1–x4); a ratcheted step is marked on the grid. With 1.0.4 it shows the settings as one list and no RATCH.
    • Try Felucca at webapp/try runs 1.0.5, breathing LEDs included.

    Going back to 1.0.4

    A project that holds a ratcheted step (anything set to x2..x4) does not open on 1.0.4 or earlier: their project loader refuses it, as it would a newer format. The same goes for such a project restored from a backup. Set those steps back to x1 and save before going back if you want to keep the project there. A user preset's pattern loads with every step at x1. DRUM KIT values saved by 1.0.5 are STD or one of the VA kits, so they load on 1.0.4 as the same kits. The menu tabs are only how the menu looks: your settings stay as they are.

    Thanks

    zednaked for the ratchets (PR #100), Wulgaren for asking for them (#47, Discussion #77), and Yeremel for #119.

    Files

    • felucca-1.0.5.fwsc: the package the web installer installs (identity FM-1_910, version v1.0.5)
    • felucca-1.0.5-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.0.5.

    SHA-256 felucca-1.0.5.fwsc (609,849 bytes): 319ee802ab8d2656c3cc3c8204076c3566834e82a8d2f8bfe8c57d60031e70cc SHA-256 felucca-1.0.5-app.bin (428,808 bytes): c2ffc7700e233df9347db324c33735a5af396b83732a8e175c0d63b954beadb6

  14. v1.0.4Felucca 1.0.42 files

    Felucca 1.0.4

    Five new drum kits, the PRESETS knob on every page, REC held to clear a sequence, the MENU settings in the web editor, and Felucca running in your browser. Every new setting starts with the behaviour you had before.

    Install: the web installer (Chrome or Edge, USB) now installs 1.0.4.

    Try it first: Felucca in your browser runs 1.0.4, the same firmware compiled to WebAssembly, with the panel on screen (mouse, touch, the computer keyboard and Web MIDI in). (Discussion #101)

    New

    • DRUM: five more kits. KIT now also offers 80, 10, 66, 55 and 77, virtual-analog (VA) kits in the manner of classic analog drum machines, each lane with its own voice (which machines? the numbers are a hint, we'll leave the rest to you): 80 a deep sine kick with a long decay, a noisy snare and six-square hats; 10 a swept kick, a white-noise snare, long-tailed claps and a cymbal; 66 a soft round kick, a bright snare, noise hats and a conga; 55 a dropping kick, high metal hats and a metal bell; 77 a swelling kick, multi-burst claps, claves and a cymbal. Where a machine had no such piece, the lane plays a fitting stand-in. TUNE, TONE, DECY, SNAP, ACC and DRV work on every kit. These are Felucca's own synthesized voices, not samples. STD stays the default, so existing projects and presets sound as before. (Discussion #43)
    • The PRESETS knob works on every page. It changes the selected track's sound on every page that is not a list (EDIT, ENV, LFO, FX, SCL, ARP, MIXER, GLOBAL and more), not only on HOME; holding SAVE undoes it, and the pattern is never touched. On the SEQ pages that show steps (STEP and the drum grid, PATTERN, CHANCE, AUTOMATION) it moves the step cursor, like KNOB 1 on STEP. On USER, PROJECT, PHRASES, SONG and in the menu it moves the selection. (Discussions #92, #94)
    • REC held clears the sequence. On SEQ > STEP (and the drum grid), PATTERN or CHANCE, holding REC for 0.7 s asks "CLEAR Tn SEQUENCE?": OCT+ clears, OCT- cancels, and holding SAVE undoes the clear. A short REC still arms and disarms; elsewhere a long REC clears nothing. (Discussions #91, #108)
    • The keys show the step under the cursor. On SEQ > STEP with the transport stopped, the keys of the notes stored in the cursor step light up (at the current octave), so you can see what each step holds as you move through the pattern. While playing, the keys show what plays, as before. (Discussion #89)
    • SLICE: PIANO next to BREAK. SRC now offers PIANO after BREAK and USR1–3: one piano note (the SAMPLE engine's PIANO middle C) cut into slices like the others. BREAK stays SRC's first choice and the factory sounds' source, so existing sounds and projects play as before.
    • A missing sample plays a sine and says so. When SAMPLE, GRAIN or SLICE is set to a sample that isn't there (an empty or invalid user slot, or a built-in set missing from the build), it plays a plain sine at the note's pitch instead of something else or nothing. The header shows a no-file icon and NO SAMPLE once per track and source (when you choose it, load a sound or project, or erase the slot), and the SLICES page shows the icon and SAMPLE NOT FOUND.
    • MOTION is now AUTOMATION, on the device, in its messages and in the web editor. Only the name changed: recorded moves, projects and backups stay as they are. (Discussion #93)
    • The MENU settings in the web editor. The editor's Settings tab reads and changes the device's MENU settings (COLOR to USB SERIAL; not CALIBRATION or ABOUT), saved the same way as from the menu. Changing USB SERIAL from the editor makes the FM-1 reconnect, and the page connects again.

    Changed

    • The track number "1" on its cushion sits a little to the left, so it looks centred.
    • EDIT layer: the engine cells are a little shorter, leaving clear space above the sound row.

    Fixed

    • DRUM: a note-off arriving right after the note-on, before the first audio block (very short MIDI drum notes on a fresh track), no longer makes the hit nearly silent.
    • Quick layers: OCT- pressed quickly together with GLO, SCL or EDIT (or with FX when FX LATCH is ON, to turn everything off) did nothing when let go before the map showed. It now acts as when held.

    Web

    • The new web editor is live at webapp/editor (developed in Felucca-WebApp); the earlier editor stays at webapp/editor-classic. Its MENU card (in Settings) needs Felucca 1.0.4: earlier versions do not describe their menu to the editor.
    • Try Felucca at webapp/try: this release's firmware in WebAssembly, run in an AudioWorklet. Your projects, user presets and settings are kept in the browser. Not emulated: USB (audio, MIDI out, the editor, updates), TRS MIDI and the user sample slots. The source is web/emu/ (build: web/emu/build.sh, see BUILDING.md).

    Going back to 1.0.3.1

    A DRUM track set to one of the new kits plays one of 1.0.3.1's kits there. A SLICE sound set to PIANO loads as USR3 there (1.0.3.1's last SRC), so it plays your USR3 sample, or BREAK when USR3 is empty. A missing sample plays as it did in 1.0.3.1 (no sine, no NO SAMPLE). Everything else loads as before.

    Thanks

    gospodindilly-ops (Discussions #89, #94), EmeraldMoonLabs (Discussions #91, #92), TesseractCat (Discussion #108), Wulgaren (Discussion #93), ashford-stack for the +1s, briwil (Discussion #43), halida (Discussion #101), and charlesvestal, whose X0X (a Felucca fork) showed how to run the firmware in a browser: the emulator's design follows it.

    Files

    • felucca-1.0.4.fwsc: the package the web installer installs (identity FM-1_910, version v1.0.4)
    • felucca-1.0.4-app.bin: the firmware app alone

    Licences (as of this release): LICENSE (GPL-3.0-only) · LICENSING.md · LICENSES/ · sample attribution. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt). The source of this release is the tag v1.0.4.

    SHA-256 felucca-1.0.4.fwsc (609,849 bytes): 82d75b654bf6421f96b5ff7d9dbfd536d756e06e83737950007d864da8673cae SHA-256 felucca-1.0.4-app.bin (425,696 bytes): 48550f4c946bf2747f0a309b5e2392a0c526bd5422bda4d6ad730a9470b7a69e

  15. v1.0.3.1Felucca 1.0.3.112 files

    Felucca 1.0.3.1

    A fix-only update to 1.0.3. Everyone should update, and especially anyone coming from 0.9 with projects that use DIGITAL's ORGAN.

    Fixed

    • Updating from 0.9 no longer gets stuck in UBOOT. A 0.9 project with a DIGITAL track whose INDEX + FLT ENV is 0 (0.9's ORGAN) made 1.0.x divide by zero while converting it to FM6 at start-up, so the FM-1 crashed before the screen came on and after a few starts went into UBOOT (a black screen, "WL80UBOOT1.00" over USB). The conversion now has no divide that can be 0, and such projects load with their DIGITAL tracks as FM6, the same sounds as before. The divide-by-zero trap is now off as well: a divide by zero that slips through elsewhere gives a wrong value instead of a crash. (#61, #111)
    • Quick layers: a knob turned in a layer (FX, GLO, SCL, EDIT, held or locked) moves only the layer's control. Before, a turn could also move the page underneath, for example HOME's KNOB 1 together with FX's FILTER. (#102)

    If your FM-1 is already stuck in UBOOT

    Restore the official firmware with the FM-1 Transporter as described in #61, then install 1.0.3.1 from the web installer as usual.

    Thanks

    spinkham for finding the cause and the fix (PR #111), Acrawf1 for the dumps and the patience (#61), and Wulgaren, oMauNaProducer and gospodindilly-ops (#102).

    Files

    • felucca-1.0.3.1.fwsc: the package the web installer installs (identity FM-1_910, version v1.0.3.1)
    • felucca-1.0.3.1-app.bin: the firmware app alone
    • SHA256SUMS, LICENSE, LICENSING.md, the licence texts from LICENSES/ and ATTRIBUTION.txt. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt).

    SHA-256 felucca-1.0.3.1.fwsc (609,849 bytes): e801e7aff741d7028683a1cd02ffd958947f3e9a9f4a966e5204ea6e03462c15 SHA-256 felucca-1.0.3.1-app.bin (417,476 bytes): 59aa64bc4cce56093679adf2f0bf81895deee3d94ceb7ff4154622223ef5fb27

  16. v1.0.3Felucca 1.0.312 files

    Felucca 1.0.3

    A larger screen layout, layer lock, a USB setting for macOS 13–15, and a simpler way to keep FM6 patches. Every new setting starts with the behaviour you had before.

    New

    • LARGE (MENU, under STYLE): OFF / ON. With ON, HOME and the value pages (EDIT, ENV, LFO, MOD, FX, SCL, CHORD, ARP, MIXER, GLOBAL and more) show tall knob cards marked K1–K4, with larger labels and values about twice the size. The graph below becomes a strip (the scope, the envelope, the LFO, the pattern, the mixer), or the page name and number in large type, e.g. "OSC 1/4". Lists, the piano roll, the drum grid, SONG and the quick layers keep their layout with larger labels. Values too wide for the large size (such as -100 or SAW) stay at the usual size. (Discussion #80)
    • Layer lock: double-tap FX, GLO, SCL or EDIT to keep its layer open without holding the button; the keys and knobs work as if it were held, and a lock shows in the map's header. Tap the button again (or another page button, HOME, SAVE or SEQ) to close it. Single taps, holds and combos are unchanged. (Discussion #83)
    • USB SERIAL (MENU): ON / OFF, applied when the menu closes (the FM-1 reconnects). OFF leaves out the serial console, a developer tool, so the FM-1 is a plain audio + MIDI device. This should let macOS 13–15 load their USB audio driver, so the "Felucca" audio input appears. USB MIDI, the web editor, the installer and the soft key work either way; macOS 26 and later, iOS and iPadOS work with either setting. (#67)
    • The keys light for MIDI IN notes: notes played into the selected track over USB or TRS MIDI light the keys that play them, as the sequencer's notes do. (Discussion #81)

    Changed

    • FM6: no more patch bank. A track has one patch: whatever you load becomes it. SLOT (EDIT page 2, KNOB 4) is F1–F8 for the factory patches or OWN for the track's own patch; switching from OWN to a factory patch and back gives your own patch back. User presets now keep their FM6 patch, as projects do. On the first start of 1.0.3, presets that used a bank slot (B1–B27) get that slot's patch; nothing is erased.
    • Web editor, 6-OP FM tab: import a .syx file, pick a voice, edit it and send it to a track, then SAVE it as a user preset on the device (or save the project). The bank controls are gone.
    • ROUT CH1-4 (GLO > SYSTEM) now listens to channels 1–4 only: notes, bend, controllers and panic on channels 5–16 are ignored, so those channels stay free for other instruments. ROUT SEL still plays the selected track from every channel. Clock and the editor are not affected. (Discussion #68)
    • The web editor's development has moved to Felucca-WebApp. The site keeps its address and still serves this repository's editor for 1.0.3.

    Fixed

    • .syx import in the web editor reads many more files: single voices and 32-voice banks with a missing or wrong checksum, a missing end byte, an odd byte count or extra bytes, several banks in one file, files cut short (their complete voices), and raw voice data. Messages say what was found when a file has no 6-operator voices (for example 4-operator voices or another format).

    Going back to 1.0.2

    FM6 user presets saved in 1.0.3 play a different patch in 1.0.2, which looks for it in the retired bank. Presets saved before 1.0.3, projects and everything else are unaffected.

    Thanks

    simonjohansson (Discussion #80), gospodindilly-ops (Discussion #83), jbschooley (#67, with a very thorough report), KrisGelero (Discussion #81), UncleYakow (Discussion #68), and the user who reported the .syx import on X.

    Files

    • felucca-1.0.3.fwsc: the package the web installer installs (identity FM-1_910, version v1.0.3)
    • felucca-1.0.3-app.bin: the firmware app alone
    • SHA256SUMS, LICENSE, LICENSING.md, the licence texts from LICENSES/ and ATTRIBUTION.txt. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt).

    SHA-256 felucca-1.0.3.fwsc (609,849 bytes): c87cb9afb3772c991c8be9ceafa3ac29f60464abe50d09a9e3d6f5ed97148323 SHA-256 felucca-1.0.3-app.bin (417,448 bytes): 789ea0e23b8d2abcea8f1603a14e71b8061540a759fef444c3c81924b781b99e

  17. v1.0.2Felucca 1.0.212 files

    Felucca 1.0.2

    Fixes and options from your reports: a longer menu, two new palettes, FX LATCH, and easier-to-read track numbers. Every new setting starts with the behaviour you had before.

    New

    • MENU is now a scrolling list, grouped by screen, controls and sound.
    • STYLE: FLAT (filled cards, default) or LINE (areas divided by thin lines, no cards). (#50, #57)
    • Palettes: NIGHT, the 0.9 look (true black, green-tinted text and lines, white for what is active), and MONO, now black and white. The grayscale palette is called GREY (it was MONO; a saved MONO is GREY). (#50, #57)
    • ANIM: ON / OFF. OFF shows every change at once, without the rolling digits or the gliding piano roll. (#46)
    • LEDS: OFF / DIM LO / DIM HI / INV. DIM HI is 1.0.1's glow. On SEQ > STEP's drum grid, the keys that do something glow, so an empty grid is no longer a dark keyboard.
    • KNOB ACCEL: OFF / ON. With ON, a fast, steady turn of a wide value (cutoff, level, BPM...) moves 2 to 4 steps per click; slow turns, the first clicks and changes of direction stay one step per click, and lists never jump. (#52)
    • FX LATCH: OFF / ON. With ON, FX + an effect key (or a mute key) turns it on until you press it again, the knob macros keep their values when FX is let go, and FX + OCT- turns everything off. The FX button stays lit while something is on. (#40)
    • BPM LOCK: OFF / ON. With ON, SELECT no longer changes the tempo; hold GLO and turn SELECT, tap F4 in the GLO layer, or use GLO > GLOBAL. (#58)
    • USB LEVEL: MASTER / FIXED. FIXED sends USB audio at full level whatever the MASTER knob says, so you can turn the speaker down and still record. (#42)
    • Motion icon: a card whose parameter is moved by the track's MOTION shows the motion icon beside its label. (#63)
    • Track numbers: tracks are shown as the digits 1–4 on small cushions instead of Roman numerals. (#50)

    Fixed

    • Knob turns as FX, GLO, SCL or EDIT is let go no longer change the page underneath (on the ARP page this switched the arpeggiator on). (#39)
    • FX DEPTH (KNOB 4) goes up when turned right. (#40)
    • SPEAKER's BASS+ cancelled part of the midrange. (#42)
    • Live sync with an editor: WATCH while already watching keeps changes not pushed yet, and the editor's own PRESET / G_ENGSEL loads no longer come back as RELOAD (INFO tag 53 01). (#65)
    • Text and icons are centred by their ink on every screen, in both styles and every palette.

    Changed

    • SPEAKER is now SPEAKER EQ: FLAT / LOWCUT / BASS+ (your setting carries over; OFF is FLAT). It is a tone setting, not a switch, and it also shapes the headphone out and USB audio. The firmware can't turn the speaker off, but headphones in the jack do. (#42)
    • Divisions are listed by length, 4BAR down to 1/32, in SEQ DIV, ARP RATE, the delay's TIME and the SLICER's RATE, and in the web editor. Saved projects play exactly as before. (#48)
    • The SAMPLE engine's PERC kit is removed (66.7 KiB of flash back). Sounds, presets, favourites and projects that used it load as the DRUM engine's kit, on the same key map, so their patterns still play as drums.
    • EDITOR_PROTOCOL.md: one request at a time (keep-alives included), and 256-byte BACKUP_PUT pieces are safe at full speed. (#64)
    • README: a new section, "If the FM-1 does not start".

    Thanks

    Wulgaren (#39, #46, #48, #50, #51, #52), Javoo97 (#40), MilkBoyG (#42), nullpainter (#50), Guillel51 (#57), gospodindilly-ops (#58), Jospehas (#63), jbschooley (#64, #65), and renebohne for PR #41, the same key-LED feature that shipped in 1.0.1. Thanks to everyone who reported issues.

    Files

    • felucca-1.0.2.fwsc: the package the web installer installs (identity FM-1_910, version v1.0.2)
    • felucca-1.0.2-app.bin: the firmware app alone
    • SHA256SUMS, LICENSE, LICENSING.md, the licence texts from LICENSES/ and ATTRIBUTION.txt. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt).

    SHA-256 felucca-1.0.2.fwsc (609,849 bytes): 890eae81f1f671211e36e5fd8a4bae9cadbdcc5e1aa78205261da1892f00812c SHA-256 felucca-1.0.2-app.bin (412,664 bytes): 802114fb1c54e6c1244b53ba852d90800f3c431915ed19bdce570e49ea1ea966

  18. v1.0.1Felucca 1.0.112 files

    Felucca 1.0.1

    A small update to 1.0: the LEDs and the scale.

    New

    • Idle glow: every button and key that shows nothing now glows dim, so the panel is easy to find in low light (a short pulse on every scan, no flicker, no extra CPU). Active LEDs are fully lit; blinking ones still blink. (#35)
    • MENU > LEDS: DIM (default, the glow above) or INV, as the official firmware: idle LEDs fully lit, active ones dark.
    • PLAY's green LED is used: green while playing.
    • Key LEDs follow the sequencer: while playing, the keys light for the notes the selected track's sequencer and arpeggiator play, at the current octave. (#38)
    • QNT SEQ on the SCL page: snaps the keys like SNAP and also maps the sequenced notes onto the current ROOT / SCALE as they play. Your steps are not changed, so changing the scale re-harmonises the pattern live. Off by default; drum kits are never quantized. (#37)
    • While a song plays, the header shows a disc in place of the play triangle.

    Files

    • felucca-1.0.1.fwsc: the package the web installer installs
    • felucca-1.0.1-app.bin: the firmware app alone
    • SHA256SUMS, LICENSE, LICENSING.md, the licence texts and ATTRIBUTION.txt

    SHA-256 felucca-1.0.1.fwsc: 7ff22a3532e75b881de0f879b5103387fb666980766f1768d8b8012e067e8fae

  19. v1.0Felucca 1.012 files

    Felucca 1.0: Big New Features

    Install from the web installer (Chrome or Edge, USB). 1.0 is a field-testing release: please tell us what you find in Issues. Projects and user presets from 0.x load in 1.0. Back up first: the editor now has a full backup and restore, and the installer can take you back to the official firmware at any time.

    New

    • 13 engines, listed ANALOG, FM6, PHASE, LOFI, SAMPLE, VOICE, TRIO, WHEEL, GRAIN, PHYS, NOISE, SLICE, DRUM
    • FM6: classic 6-operator FM (Dexed-based), 32 algorithms with an algorithm chart on screen, a full patch per track edited in the web editor. It replaces DIGITAL: sounds that used DIGITAL load converted to FM6
    • SLICE: a drum break or your own sample cut into slices, one per key; set the slices by hand on the SLICES page
    • DRUM (an 8-lane kit of Felucca's own drum voices on the GM key map) and NOISE (analog to digital noise)
    • PHYS: struck membranes and sympathetic strings
    • USB audio: the FM-1 shows up as a 44.1 kHz stereo input ("Felucca"); record the master output, no driver needed
    • FX layer: hold FX for repeat, reverse, filter sweeps, tape stop, freeze and a harmonizer (OCT UP / OCT DN with shimmer); mutes on the black keys
    • Spring reverb: the reverb bus as ROOM or SPRING
    • Chord keys: one finger plays an in-key chord, with voicings
    • Sequencer: piano roll, drum grid, songs (chain patterns A–D), motion recording, per-step chance, divisions down to 4 bars, ARP REPEAT and a beat LED on ARP
    • Modulation matrix (4 slots, MIDI controllers as sources)
    • Quick layers (hold FX, GLO, SCL, EDIT), undo (SAVE held), REC on every page, naming presets and projects on the device
    • New flat UI with Inter Tight and Fukiai icons, 8 palettes including grayscale and high contrast
    • TRS MIDI in, pitch bend, sustain, panic; clock from internal, USB or TRS
    • Web: full backup and restore, sample recording and trim, return to the official firmware, editor support for every new parameter

    Fixed

    • GM kit notes 42, 44 and 49 played toms (#25)
    • Buttons blinking too fast, and the neighbouring column lighting (#28)
    • Knobs skipping or jumping (#23)
    • Track + global swing could pass 100, and SWG showed at most 79 % (#31)
    • TRS MIDI IN was off in 0.9 (#33)
    • Many smaller fixes from two rounds of bug hunting (UI and SLICE)

    Credits

    • Hügelton Instruments (Leo Kuroshita, @kurogedelic): Felucca, the CrispyZebra waveforms (PHASE), the drum voices and the Hügelton Sample Pack (GPL-3.0-only), the Fukiai icons (MIT)
    • Inter Tight font (The Inter Project Authors, SIL OFL 1.1); samples by Versilian Studios (CC0); PHYS models from DaisySP and Rings (MIT); FM6 from msfa / Dexed (Apache-2.0); VOICE after klattsch (MIT)

    Thanks

    keremimo (#2), ChanceTheMaker (#8, #10, #11, #12), andreahaku (#22, #27, #29), and everyone who reported issues.

    Files

    • felucca-1.0.fwsc: the package the web installer installs (identity FM-1_910, version v1.0)
    • felucca-1.0-app.bin: the firmware app alone
    • SHA256SUMS, LICENSE, LICENSING.md, the licence texts from LICENSES/ and ATTRIBUTION.txt. The package holds three unmodified JieLi AC79 SDK files under Apache-2.0 (Apache-2.0.txt).

    SHA-256 felucca-1.0.fwsc: 835558a79d176e171d4e171bd797c4602b7e799a1da988e0d54ab76bdd7fe734

  20. v0.9-betaFelucca 0.9-betaBeta1 file

    Felucca 0.9-beta

    Install from Chrome or Edge: https://hugelton.github.io/Felucca/ (USB, no extra hardware). Beta: use at your own risk. To go back to the official firmware, use M-VAVE's own updater.

    • Nine engines. New: TRIO (3 oscillators, ring mod, sync, multimode filter), WHEEL (tonewheel-style organ with drawbars, percussion and rotary), GRAIN (granular, from the built-in samples or a user slot)
    • LOFI: 4-bit wave RAM and a stepped envelope
    • SLICER: a tempo-synced gate / stutter on every track, drums included
    • ALGORITHM now selects the track on every page; new STEP page knobs (STEP, NOTE, TIME, FLAG)
    • Live recording keeps held notes as ties and follows swing
    • Fixes: DC offset at the output, MIDI notes that could hang when the track changed
    • Web editor: edits any track's parameters, not only the selected one
    • New icons

    Projects and user presets from 0.8 load in 0.9 (the SLICER starts off).

    Build from source: see BUILDING.md.