REGGAE-OS
An experimental reggae instrument firmware for the M-VAVE FM-1, based on Felucca 1.6.1. The browser is a hardware emulator running the same C synthesis and screen renderer, not the product.
UI 0.7.4 improves live workflow: SAVE opens PROJECT; occupied-slot selection arms LOAD for OCT+; PUNCH-IN remains open; preset browsing stays in the approved bank plus user sounds. The reported duplicate-beat save issue has not reproduced in emulated flash or physical-input tests; physical-device verification is still needed. Feedback report.
UI 0.7.3 adds individual note/drum velocities: SEQ → NOTE VELOCITY. K1 chooses the step, K2 the note, K3 the velocity, K4 individual/inherited. Saved with PROJECT; shares the 128-entry automation budget. See details.
UI 0.7.2 adds AUTO chord voice leading: SCL → CHORD GARDEN, K4 → AUTO. Each track chooses nearby inversions as you play. See usage and reset behaviour.
Sound bank 0.5 supplies 15 playable presets, including organ, bass, reed melodica, electric piano, piano chop, sampled roots trumpet, muted string skank, three dub/jungle sirens and an eight-piece drum kit. Four-knob editing and animated 240 × 240 illustrations run inside the firmware. It preserves the original engines, MIDI paths, effects, sequencing and flash-backed user-preset system.
UI 0.5.0 begins the SLOOP-style recording integration: on HOME, arm with REC, play the first note to start a loop at the set tempo, then overdub other tracks. Fresh sessions start with organ, bass, trumpet and drums. Free-tempo capture and live section recording remain planned. See the song-making guide and integration scope.
UI 0.6.3 combines volume, pan and reverb in one mixer with permanent vertical faders, alongside sixteen punch-in pads, a one-key chord garden and an optional CC0 percussion pack. The shared hardware screen uses the tabletop case and animated companions. Controls and verification.
UI 0.7.0 redesigns the remaining page layouts, rather than recolouring the stock panels: SYSTEM DESK settings cards, record-sleeve libraries, LABEL PRESS naming, a cable patchbay, a metronome character, chorus companions and the shared instrument workbench. Hold HOME for Settings; ALGORITHM selects a tab, PRESETS selects an item, OCT−/+ changes it, HOME closes it. Native screenshots and verification.
UI 0.7.1 adds 15 chord types: suspended, sixth, add9, ninth, diminished, augmented and minor-major colours. SCL → CHORD: K3 type, K4 voicing. Read the screenshot quick guide for every musical page, how to reach it and all four knob assignments. Build and test report.
Early development build. Physical hardware and iPhone Safari are untested. The expanded sounds are audition candidates; musical refinement is ongoing. See TESTING.md for measured results and known limitations, and the bank 0.3 milestone report for screenshots and scope.
Sound bank 0.2 revises the registrations, dry organ articulation and plucked bass envelopes following musician feedback. The listening brief is Big Ship, Faded Away and Soldiers; these patches are audition candidates, not verified recreations. See SOUND_DESIGN.md for sources, exact changes and limitations.
Sequence and arrange
UI 0.4.2 restores the piano roll and full drum grid. On the stopped note editor, hold EDIT and play keys to add notes, hold REC and play to replace, or hold EDIT + REC to clear the selected step. Use SEQ for patterns and GLO for ARRANGE. Four parts can play a sixteen-section song from four saved pattern sources, with per-track mutes and section repeats. See the song-making guide for controls, saving and limits.
Play on iPhone or desktop
Open https://kemsthesage.github.io/reggae-os/ in Safari and tap Switch on. This HTTPS deployment runs the same firmware WASM as the local emulator. Actual iPhone audio and multitouch operation still need device verification.
Play the local emulator
After building:
python3 -m http.server 8790 --bind 127.0.0.1 --directory build/emu
Open http://localhost:8790/ on the Mac and click Switch on. Play the onscreen FM-1 keys (or the keyboard shortcuts shown below the panel). Drag knobs upward/right, use the mouse wheel, or focus a knob and use arrow keys.
- Starts on Roots Organ. On HOME, PRESETS cycles the fifteen curated sounds.
- Horn knobs: tone, attack, decay and release. ROOTS TRUMPET uses three CC0 recorded notes.
- Sirens: DUB WAIL, JUNGLE SIGNAL (fall/length/echo/tone), FAST ALARM (range/rate/echo/tone).
- Organ knobs: registration, upper harmonics, rotary speed, drive.
- Bass knobs: cutoff, resonance, filter-envelope amount, drive. Use OCT− to play low notes.
- ROOTS KIT maps MIDI notes 36/38/39/42/46/45/37/56 to kick, snare, clap, closed/open hi-hat, tom, rim and bell. It is a playable kit, not a new sequencer.
- Fresh settings use the REGGAE palette throughout menus. Existing users can select REGGAE in MENU → PALETTE; saved preferences are retained.
- EDIT and ENV expose the existing deeper parameters; FX retains Felucca effects.
- SAVE retains the original user-preset workflow. Held HOME opens the menu; MENU ANIM OFF reduces performance-screen motion. Existing factory patches retain their original HOME controls.
The public GitHub Pages link above works independently of this Mac. An iPhone
cannot use the Mac's localhost; use the HTTPS deployment instead. The original
emulator already provides touch controls and a rearranged phone-sized hardware
panel. Actual mobile Safari audio, touch polyphony and interruptions still require testing.
Architecture and project files
- HARDWARE.md: display, memory, controls, build status and installation/recovery references.
- SOUND_DESIGN.md: synthesis decisions and musical limitations.
- UI_DESIGN.md: shared firmware artwork and rendering budget.
- TESTING.md: baseline, audio, emulator and hardware evidence.
- ROADMAP.md: remaining milestones.
firmware/src/reggae_engines.c: appended presets and adapters over unchanged upstream DSP.firmware/src/reggae_ui.c: native screen artwork and animation.tools/reggae/: table generation, tests and source/licence packaging..github/workflows/reggae.yml: proposed CI build/test artifact workflow; not yet run on GitHub.
The original README is retained in docs/FELUCCA_README.md.
Upstream source and engines are pinned on the reggae-os development branch.
Licence and credit
GPL-3.0-only as a combined firmware. Preserve LICENSE,
LICENSING.md, CREDITS.md, LICENSES/, fonts and sample
attributions. Felucca is by Leo Kuroshita / Hügelton Instruments and contributors.
Felucca-Engines remains an unchanged MIT submodule; its preset/descriptor prefixes
are reproduced with attribution in the REGGAE-OS adapter to preserve stored IDs.
When distributing builds, include complete corresponding source, including the
submodule's contents. tools/reggae/package-emulator.sh prepares that alongside
the emulator. No proprietary TE artwork or commercial recordings are included.
M-VAVE, FM-1 and Teenage Engineering product names belong to their respective owners;
this project is independent and has no claimed endorsement.
UI refinement 0.3.1
The OP-1 field / Sidekick study informs an original refinement of the hardware UI: musical labels, distinct control colours, a brief enlarged parameter view and a parameter-linked bass filter illustration. Preview and implementation report. Sound bank 0.3 and the approved organ are unchanged. The future no-Felucca implementation is deferred.
Artwork refinement 0.3.2
Smoother native curves and more developed organ/speaker artwork, with refined piano, brass and siren housings. Before/after and report. The physical screen remains 240 × 240; this is an artwork/rendering improvement.
UI 0.3.3 gives the melodica an expressive reed-player character: its mouth opens, cheeks puff and breath appears with the sound. See the native rest/play comparison.
UI 0.3.4 replaces the human melodica player with an instrument creature and adds siren/drum personalities, a clearer guitar, and characterful effects pages. See eight native screens.
Sound bank 0.4 refines only melodica, brass, guitar, dub siren and drums. The approved organ, piano and bass patches are protected by forty PCM hashes. The changes are audition candidates; see SOUND_DESIGN.md.
UI 0.5.1 refines SEQ with an animated 45-label header and a reggae-themed palette. On the stopped piano roll, hold EDIT then SEQ for one second to clear the track; hold SAVE to undo. Details. UI 0.5.2 adds a record character whose mouth reacts to notes and drum voices; its groove marker follows the loop. The same character appears in the arranger.
UI 0.6.4 extends the REGGAE rack theme to technical editors, settings and storage screens. Screenshots, coverage and test results. Existing saved colour choices are respected; select COLOR → REGGAE for this skin.
UI 0.7.4 makes SAVE open complete PROJECT storage, distinguishes instrument-only SOUNDS slots, adds a persistent PUNCH-IN FX page, and keeps standard browsing in the approved bank plus user sounds. See sequencer workflow.
