Felucca-Engines
Five synthesis engines of Felucca, with the DSP helpers and the tables they share, under the MIT licence.
- Custom firmware
- Stable
- Low brick risk
This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it
Before you start
- How hard is it?
- HardUses the command line or developer tools.
- What you need
- Comfort with the command line
- A computer
- Can it break my device?
- Very unlikely to break anything.
- Can I undo it?
- The project doesn't say. Assume you can't.
Did it work for you?
Did Felucca-Engines work on your M-VAVE FM-1?
No reports yet.
One-tap reports from owners. Bricked reports are checked before they count.
Compatibility
Devices: M-VAVE FM-1.
No compatibility information yet.
Getting started
From the project's README ("Using the engines"):
The engines are compiled as one translation unit with their host, in this order:
#define NVOICE 8 / voices per part / #define NPART 4 / parts / #include "fetables.h" / python3 tools/genenginetables.py fetables.h / #include "feluccaengine.h" enum { PATK, PREL, PFTYPE, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PCOUNT }; typedef struct track { int16t p[PCOUNT]; voicet v[NVOICE]; } trackt; static trackt trk[NPART]; #include "dsp.c" #include "enganalog.c" / ... the engines you want /
Each engine is an enginet (ENGANALOG, ENGLOFI, ENGTRIO, ENGWHEEL, ENGNOISE): its eight parameters with their ranges and names, its presets, and the functions the host calls per voice (noteon, render) and per block (block, amp). render adds one block (at most CTL = 32 samples) of a voice to a buffer. The header documents the rest of the contract: the host's track and parameter numbers, how a voice is started and retriggered, and the envelope fields that LOFI and WHEEL read.
tests/fehost.c is a complete, minimal host: it plays every preset through a short phrase.
Risk and recovery
- Brick risk
- Low
- Requires opening the device
- No
Credits, license and support
- License
- MIT