Repository navigation
Releases: hugelton/Felucca
Release list
Felucca 1.0.4
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
Felucca 1.0.3.1
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 aloneSHA256SUMS,LICENSE,LICENSING.md, the licence texts fromLICENSES/andATTRIBUTION.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
Felucca 1.0.3
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 aloneSHA256SUMS,LICENSE,LICENSING.md, the licence texts fromLICENSES/andATTRIBUTION.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
Felucca 1.0.2
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:
WATCHwhile already watching keeps changes not pushed yet, and the editor's ownPRESET/G_ENGSELloads no longer come back asRELOAD(INFO tag53 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_PUTpieces 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 aloneSHA256SUMS,LICENSE,LICENSING.md, the licence texts fromLICENSES/andATTRIBUTION.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
Felucca 1.0.1
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 installsfelucca-1.0.1-app.bin: the firmware app aloneSHA256SUMS,LICENSE,LICENSING.md, the licence texts andATTRIBUTION.txt
SHA-256 felucca-1.0.1.fwsc: 7ff22a3532e75b881de0f879b5103387fb666980766f1768d8b8012e067e8fae
Felucca 1.0
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 aloneSHA256SUMS,LICENSE,LICENSING.md, the licence texts fromLICENSES/andATTRIBUTION.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
Felucca 0.9-beta
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.
Felucca 0.8-beta
Felucca 0.8-beta — first public source release.
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.
- Four tracks: three synth parts (any engine each) and a GM drum track, live loop recording, per-track length
- Six engines: ANALOG, DIGITAL (4-op FM), PHASE (CZ-style), LOFI, SAMPLE, VOICE (formant)
- Presets with sequence patterns, 32 user preset slots, 3 user sample slots
- Web editor: sound, sequencer, track mixer, preset library, samples, projects
- Updates over USB only; command-line installer
tools/fm1_install.py
Build from source: see BUILDING.md.