{
 "format": "relay-fm1-feed",
 "version": 1,
 "checked_at": "2026-11-05T22:06:40.637Z",
 "updated_at": "2026-11-05T22:06:40.637Z",
 "list": {
  "updated_at": "2026-11-02T12:40:27Z"
 },
 "firmwares": [
  {
   "links": [],
   "name": "1971",
   "repo": "synthi/fm1-1971",
   "by": "synthi",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "Generative ambient firmware, a fork of Melodee 1.3.5.",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-15",
    "title": "MX: CZ-1 gone from the web mock too - ENG tables regenerated from des…",
    "url": "https://github.com/synthi/fm1-1971/commit/d422a998f2d9d30562b8af1830fa3d2aa8cba8fa"
   },
   "stars": 0,
   "created": "2026-10-15",
   "image": "https://raw.githubusercontent.com/synthi/fm1-1971/HEAD/docs/media/melodee-1.0.0.png",
   "images": [
    "https://raw.githubusercontent.com/synthi/fm1-1971/HEAD/docs/media/melodee-1.0.0.png",
    "https://raw.githubusercontent.com/synthi/fm1-1971/HEAD/docs/panel.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://keyboy250.github.io/fm1-x0x-acultur8/"
    ],
    [
     "Quick start",
     "https://keyboy250.github.io/fm1-x0x-acultur8/manual/"
    ]
   ],
   "name": "Acultur8 X0X",
   "repo": "keyboy250/fm1-x0x-acultur8",
   "by": "keyboy250",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "sampler"
   ],
   "about": "An experimental X0X variant: slice banks played in time from WAV and marker files, with a browser lab.",
   "experimental": true,
   "status": "Browser alpha; no device build has passed its author's hardware checks yet.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.1.60-stoppedtrace",
    "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/tag/v0.1.60-stoppedtrace",
    "assets": [
     {
      "name": "x0x-0.1.60-stoppedtrace.fwsc",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/x0x-0.1.60-stoppedtrace.fwsc",
      "size": 609280,
      "sha256": "27b73b129e353589e01218a945ab7d121b0f21b2064dcd83d16db5341988d4c0",
      "check": {
       "sha256": "27b73b129e353589e01218a945ab7d121b0f21b2064dcd83d16db5341988d4c0",
       "bytes": 609689,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "acultur8-fm1-kick-banner.png",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/acultur8-fm1-kick-banner.png",
      "size": 1803551,
      "sha256": "2116e961b5c727572e1751ac9b19a60b80328235cd6444de92aadec477318153"
     },
     {
      "name": "ACULTUR8_CC_MIDI_MAP_0.1.60.csv",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/ACULTUR8_CC_MIDI_MAP_0.1.60.csv",
      "size": 216064,
      "sha256": "5a20432d2204a1c02ab614b7622a379aaf4821f92d8665e28130248cfdc94a3b"
     },
     {
      "name": "ACULTUR8_CC_MIDI_MAP_0.1.60.html",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/ACULTUR8_CC_MIDI_MAP_0.1.60.html",
      "size": 189440,
      "sha256": "10bf7fe9140cdf997a5066a0f969dafc066246d2d897b194076af955781ab910"
     },
     {
      "name": "ACULTUR8_CC_MIDI_MAP_0.1.60.json",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/ACULTUR8_CC_MIDI_MAP_0.1.60.json",
      "size": 978944,
      "sha256": "f15d82397b883d24e66684004509e9bce702c289d2416c5160532faeae5d16c4"
     },
     {
      "name": "ASSET_MANIFEST.json",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/ASSET_MANIFEST.json",
      "size": 1925,
      "sha256": "a7c38a05959db97bb8c9aed00568d160e68c7bd13ed1dc17472a9449b4306abc"
     },
     {
      "name": "BUILD_RELEASE_060.txt",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/BUILD_RELEASE_060.txt",
      "size": 1536,
      "sha256": "f907a384c2101f989532d2253398777dce5ed0489078894c87f171c29bc01d2a"
     },
     {
      "name": "DOCUMENTATION_0.1.60.zip",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/DOCUMENTATION_0.1.60.zip",
      "size": 1887437,
      "sha256": "43d9ad682bf8ada69225cf259a31ec430c0deca4ca6253ac80041268b6df1d01"
     },
     {
      "name": "FINAL_ACCEPTANCE.txt",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/FINAL_ACCEPTANCE.txt",
      "size": 1526,
      "sha256": "47c56ac2ef644f657c7a3a21f0617ae253b63661c51298f5896c3474e11556a5"
     },
     {
      "name": "FULL_FAQ_0.1.60.html",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/FULL_FAQ_0.1.60.html",
      "size": 113664,
      "sha256": "1ddcb762a255f05ceac6b13a02ae4ec2132b716aa460dab0f8007bc647fb3607"
     },
     {
      "name": "GITHUB_RELEASE_DRAFT.txt",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/GITHUB_RELEASE_DRAFT.txt",
      "size": 3697,
      "sha256": "6115d35755ad4084d176f57552f6493b50b9851b596702dd032d077f84431b30"
     },
     {
      "name": "INSTALL_RECOVERY.txt",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/INSTALL_RECOVERY.txt",
      "size": 3205,
      "sha256": "d82c3b9833e7d311a9828cca621146bda39fc2d3972a2e24ada03ed9b49f1672"
     },
     {
      "name": "QUALIFICATION_SUMMARY.json",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/QUALIFICATION_SUMMARY.json",
      "size": 1618,
      "sha256": "7dfb94525294d28a1c681666a5378c141350a4e9f3eb761cb0ac82579fbf67b8"
     },
     {
      "name": "RELEASE_CURRENT.txt",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/RELEASE_CURRENT.txt",
      "size": 3031,
      "sha256": "aadcbdfc4326ce281df18ab31aa08a1fb668cfdc454ea17c2260214c56a1373f"
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/SHA256SUMS.txt",
      "size": 1690,
      "sha256": "70f7a615487b8fe18f2bcb248205dd1cf3e5619c760fcd089302b462aaebd2b1"
     },
     {
      "name": "starter-favorite-slot1.zip",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/starter-favorite-slot1.zip",
      "size": 3072,
      "sha256": "58aeec4100e84f7c3584774d8572b9df8ad54414a8c65d34910e270ca478d583"
     },
     {
      "name": "x0x-0.1.59-monosteady-source.zip",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/x0x-0.1.59-monosteady-source.zip",
      "size": 2998927,
      "sha256": "e795f04dc417e7e976203a136271d95d8ef07f59ac3353052fd6dda146dcc45f"
     },
     {
      "name": "x0x-0.1.59-monosteady.fwsc",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/x0x-0.1.59-monosteady.fwsc",
      "size": 609280,
      "sha256": "1d166b2db82f5013e621dd2e08c5833d7ddf30ec28bd32420da7405ed39bec9e",
      "check": {
       "sha256": "1d166b2db82f5013e621dd2e08c5833d7ddf30ec28bd32420da7405ed39bec9e",
       "bytes": 609689,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "x0x-0.1.60-stoppedtrace-source.zip",
      "url": "https://github.com/keyboy250/fm1-x0x-acultur8/releases/download/v0.1.60-stoppedtrace/x0x-0.1.60-stoppedtrace-source.zip",
      "size": 4959764,
      "sha256": "60ac60d9e3f6e0d52fba6d11c5fad6ffeeb23174a627061a452a6950e2a17812"
     }
    ],
    "prerelease": true,
    "date": "2026-11-02",
    "title": "Acultur8 FM-1 Kick - 0.1.60-stoppedtrace prerelease",
    "notes": "Documentation: Full FAQ · Updated comparative features · Complete CC/MIDI map · Tutorials · Install/recovery\n\nAcultur8 FM-1 Kick - 0.1.60-stoppedtrace prerelease\n\nExperimental prerelease for M-VAVE FM-1. Read the known limits and recovery notes\n\nbefore installing. The tested firmware bytes and existing target limits are unchanged.\n\nKnown limits\n• Physical core1 stack and broader worst-case deadline coverage remain unmeasured.\n• Two earlier .59 dropout-counter events remain unexplained. They did not reproduce\n\nin controlled .60 idle, query, transition, 5-minute and 25-minute P11 checks.\n\nThe new stopped-event diagnostics do not establish that a root cause was fixed.\n• Observed results apply to the tested unit and workloads, not every pattern or MIDI\n\nsetup. Complete DAW automation and fault/power-loss acceptance are not claimed.\n• The starter preset has JSON, a native record and a control reference. There is no\n\nautomatic JSON importer, mod-pack loader or native Tightness Factor in this scope.\n\nIncluded\n\nHybrid 808 kick shaping, velocity expression, native preset STORE/RECALL and existing\n\nlong-tail retrigger handling. Favorite Slot 1 is the selected starter sound. Version\n\n.60 also extends retained dropout diagnostics to blocks that begin while stopped.\n\nValidation\n• 135 required engine checks, including 39 host scenarios; six additional kick groups.\n• Independent target rebuild: image, ELF, disassembly and package matched byte for byte.\n• All 15 original static gates passed. IRQ wrapper: 83 instructions; original limit: 85.\n• One FM-1 completed a user-timed 25-minute complex P11 run with 0 dropouts and 0 guards.\n\nMeasured IRQ stack high-water was 1,092 / 7,936 bytes, not a physical core1 stack bound.\n• Scoped quiet listening, filter/limiter sweeps, overlapping-tail listening, native\n\nSTORE/RECALL and normal restart preservation passed. The starter sound was auditioned\n\nseparately, then the previous sound was restored exactly.\n\nDownload contents\n\nFirmware and corresponding source; Favorite Slot 1 starter ZIP; exact .59 engineering\n\nrollback and its corresponding source; build, install/recovery, qualification and\n\nchecksum files. Use the .fwsc firmware package with the documented installer. Never\n\nflash a preset record or restore someone else's full project to install a sound.\n\nIdentity: FM-1_9000160. Version: 0.1.60-stoppedtrace.\n\nPreserve your own project, preset bank, samples and calibration before any update.\n\nRead INSTALL_RECOVERY.txt and verify SHA256SUMS.txt.\n\nCredits: X0X by Charles Vestal and contributors, built on Felucca by Leo Kuroshita /\n\nHugelton Instruments. Original license and attribution files are retained. These\n\nAcultur8 changes do not imply upstream endorsement.\n\nThe release also includes the full documentation ZIP, a standalone illustrated FAQ, all 803 CC/MIDI rows in downloadable formats, and the banner artwork. The FAQ retains all 71 earlier topics and 23 diagrams with current prerelease scope stated separately."
   },
   "commit": {
    "date": "2026-10-14",
    "title": "Merge pull request #20 from keyboy250/feat/browser-slice-cc-qualified",
    "url": "https://github.com/keyboy250/fm1-x0x-acultur8/commit/7bca4df442bd3191e95c4dc06444dccbdf303607"
   },
   "stars": 1,
   "created": "2026-10-13",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/keyboy250~fm1-x0x-acultur8.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "parent": "charlesvestal/fm1-x0x",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env-hold",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://mentalcells.github.io/ambwave/install/"
    ],
    [
     "Emulator",
     "https://mentalcells.github.io/ambwave/try/"
    ]
   ],
   "name": "AmbWave",
   "repo": "mentalcells/ambwave",
   "by": "mentalcells",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "about": "An ambient instrument on Felucca: four tracks in roles (tide, texture, cloud, pulse, drone) and four macro knobs.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://mentalcells.github.io/ambwave/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.0",
    "url": "https://github.com/mentalcells/ambwave/releases/tag/v0.1.0",
    "assets": [
     {
      "name": "ambwave-0.1.0-source.tar.gz",
      "url": "https://github.com/mentalcells/ambwave/releases/download/v0.1.0/ambwave-0.1.0-source.tar.gz",
      "size": 5389681,
      "sha256": "a196ffe2e4ac2ee6f29b9611847513c228f8d899ff06c67d168faa1df69bb3f0"
     },
     {
      "name": "ambwave-0.1.0.fwsc",
      "url": "https://github.com/mentalcells/ambwave/releases/download/v0.1.0/ambwave-0.1.0.fwsc",
      "size": 610304,
      "sha256": "4605411cfa91ba5143c79523837db7b09a19abf2bf4bf3f2a40e95c1b81a2933",
      "check": {
       "sha256": "4605411cfa91ba5143c79523837db7b09a19abf2bf4bf3f2a40e95c1b81a2933",
       "bytes": 609849,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "ambwave-0.1.0.zip",
      "url": "https://github.com/mentalcells/ambwave/releases/download/v0.1.0/ambwave-0.1.0.zip",
      "size": 12373197,
      "sha256": "2c0304df65f34ebbdd44564bd93e80ea11933df2200431d90d0a5bca8c76bd94"
     },
     {
      "name": "ATTRIBUTION.txt",
      "url": "https://github.com/mentalcells/ambwave/releases/download/v0.1.0/ATTRIBUTION.txt",
      "size": 1935,
      "sha256": "d9b6171396bce707eb16836c1abf82651fae8b1d3eeda3365f5baacf33c1ae59"
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/mentalcells/ambwave/releases/download/v0.1.0/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/mentalcells/ambwave/releases/download/v0.1.0/LICENSING.md",
      "size": 7537,
      "sha256": "91a93b2dcb16245f225fca7a7f0f0a600b5010d657daf119746d84850b9d8b45"
     },
     {
      "name": "manifest.json",
      "url": "https://github.com/mentalcells/ambwave/releases/download/v0.1.0/manifest.json",
      "size": 1208,
      "sha256": "3083dede9a87e0cd7d310384b70b544345cf0dba4778c8c44f20c27b0a1a9e8c"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/mentalcells/ambwave/releases/download/v0.1.0/SHA256SUMS",
      "size": 1382,
      "sha256": "4d557bdf57ebc1efeddd1dea6a7a551ad515290920a7e4b4eaea21f0ea8fcbd6"
     }
    ],
    "date": "2026-10-17",
    "title": "AmbWave 0.1.0",
    "notes": "## Changelog\n\n## 0.1.0 — 2026-10-17\n\nFirst AmbWave MVP, previously developed as Hasake, based on Felucca 1.0.5.2.\n\nFirst public AmbWave release.\n• Four independent tracks with TIDE, TEXTURE, CLOUD and curated pluck sounds;\n\nTIDE WARM and TIDE SILK remain selectable variations.\n• SHAPE, MOTION, DENSITY and SPACE, direct track mixing and mutes.\n• User-reviewed default layer balance makes PULSE audible over a sustained TIDE\n\nchord while retaining the accepted TIDE patch and macro defaults.\n• HOLD, SCATTER and SEQUENCE playing modes, with the existing step editor.\n• TIDE now uses the user-selected FM patch. Its dry source has sustained FM\n\nmotion; Shape changes complexity and Density changes harmonic weight without\n\nchorus or detuning. Space 0 has zero spatial sends.\n• Browser demo uses the same synthesis code; no hardware needed.\n• Visible browser level sliders and mutes, with first-use playing guidance.\n• Prepared direct browser installation with exact-package checksum checking,\n\nbackup acknowledgement, progress, restart checks and previous-package rollback.\n• Public maintainer identity: mentalcells; clean source history with upstream\n\nand third-party attribution retained.\n• AmbWave branding and separate browser save namespace. Earlier Felucca/Hasake\n\nbrowser saves are left untouched and are not automatically imported.\n\nLimits: eight shared voices, shared effects buses, mono effect return, possible\n\nvoice stealing under dense layering, and no complete curated-scene save/recall.\n\nThe browser does not emulate device USB, TRS MIDI or user sample slots. Device\n\nUSB/package/storage identifiers and recovery tools remain Felucca-compatible.\n\nHardware validation reported by the maintainer: browser installation, AMBWAVE\n\nstartup, basic playback and note release, SPACE, layer controls, and normal\n\npower-cycle restart passed. Rollback and interrupted-update recovery remain\n\nuntested on real hardware. Software installer simulations cover those paths\n\nbut are not a substitute for device testing.\n\n## Try, install and download\n• Website: https://mentalcells.github.io/ambwave/\n• Emulator: https://mentalcells.github.io/ambwave/try/\n• Browser installer (Chrome/Edge): https://mentalcells.github.io/ambwave/install/\n\nBack up device projects, presets and samples first, and keep previous firmware\n\nfor rollback. Trying the emulator never flashes a device. The full ZIP includes\n\nfirmware, corresponding source, licence notices, guides and the prepared site.\n\nChecksums and a build/source manifest are attached."
   },
   "commit": {
    "date": "2026-10-20",
    "title": "Add autonomous Drone and Sound Bath resonances",
    "url": "https://github.com/mentalcells/ambwave/commit/c1932a5788b2293444e2c1cb698e7daca53c051e"
   },
   "stars": 1,
   "created": "2026-10-16",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/mentalcells~ambwave.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://beashoko.github.io/april-os/"
    ]
   ],
   "name": "April OS",
   "repo": "beashoko/april-os",
   "by": "beashoko",
   "fam": "felucca",
   "lic": "MIT",
   "types": [
    "sampler"
   ],
   "note": "No source is published yet: the repository holds its web page, whose installer carries the package inside it.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://beashoko.github.io/april-os/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-22",
    "title": "Add harmless beeping sound to virus prank page",
    "url": "https://github.com/beashoko/april-os/commit/6b65734fad087a114773fae5f7e6c11410b00f6c"
   },
   "stars": 11,
   "created": "2026-10-07",
   "about": "FM-1 firmware Felucca fork that focuses on sampling",
   "image": "https://raw.githubusercontent.com/beashoko/april-os/HEAD/assets/readme/hero.webp",
   "images": [
    "https://raw.githubusercontent.com/beashoko/april-os/HEAD/assets/readme/hero.webp",
    "https://raw.githubusercontent.com/beashoko/april-os/HEAD/assets/readme/how-it-works.webp",
    "https://raw.githubusercontent.com/beashoko/april-os/HEAD/assets/readme/features.webp",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/beashoko~april-os.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://beashoko.github.io/april-os/",
     "names": [
      "AprilOSBETA1.1.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://wulgaren.github.io/Araminta/"
    ],
    [
     "Emulator",
     "https://wulgaren.github.io/Araminta/webapp/try/"
    ],
    [
     "Editor",
     "https://wulgaren.github.io/Araminta/webapp/editor/"
    ]
   ],
   "name": "Araminta",
   "repo": "Wulgaren/Araminta",
   "by": "Wulgaren",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "Felucca 1.5.1 rebuilt into its own groovebox: a per-track effects list you can reorder and chain or send, JIANT's DRUM-X kit and MIDI punch-ins, SLOOP's free take, Grids drum generation, a two-oscillator WAVETABLE engine, solo on the mixer, Felucca 0.9's flat look and audio rendered on both cores.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://wulgaren.github.io/Araminta/webapp/installer/",
     "from": "list",
     "front": "https://wulgaren.github.io/Araminta/"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://wulgaren.github.io/Araminta/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v3.7",
    "url": "https://github.com/Wulgaren/Araminta/releases/tag/v3.7",
    "assets": [],
    "date": "2026-11-02",
    "title": "Araminta v3.7",
    "notes": "KNOB 1-4 send a relative MIDI CC on the USB output while a computer is connected, one CC per detent, without\n\nchanging what the knob does on the FM-1. The bank is the selected track: CC 16-19 on track 1, 20-23 on track 2,\n\n24-27 on track 3 and 28-31 on track 4, value 64 + detents (Bin Offset), on the track's MIDI channel, the same one\n\nits keys use. ALGORITHM selects the track, so it selects the bank. A fast turn carries the panel's knob\n\nacceleration (x2..x16), so a flick crosses a DAW parameter as quickly as the FM-1's own. PRESETS is pitch bend\n\nand SELECT the mod wheel (CC 1) on the same channel, beside their local jobs (browsing sounds, stepping pages);\n\na track change puts the old channel's bend back to centre and its mod to 0. Nothing is sent before the host\n\nenumerates the device. The package is assembled from three pinned SDK files in build/deps/ac79 instead of a\n\nfull AC79 checkout; the firmware image and the package are unchanged by that. Splash and ABOUT show v3.7.\n\n## Compatibility\n\nNo project or settings change: saves stay FUN19 (FUNJ), and projects, presets and settings from 3.6 load as they\n\nare. On the device nothing changes except the extra CCs on the USB MIDI output; with no host attached the output\n\nis as before. A DAW that records MIDI from the FM-1 (Track enabled) will record those CCs into a clip.\n\n## MIDI\n• Knobs out. KNOB 1-4 send CC 16..31 as above. The knob still edits its page, layer or menu value: the CC is\n\nsent beside the local action, so navigating pages does not change which CC a knob sends.\n• Acceleration. The CC follows the panel's curve (ui_input.c accel): ACC_RATE / ms per detent, doubled above\n\n17, up to x16, with the first detents of a turn and a reversal at one step. Its timing is separate, so sending\n\nCC never changes how the page knob accelerates.\n• Pitch and mod. PRESETS sends pitch bend (14-bit, centre 8192, 1/64 of the range a detent) and SELECT sends\n\nthe mod wheel (CC 1, 0..127). Both persist and both keep their local jobs. A track change sends the old\n\nchannel's bend back to centre and its mod to 0.\n• Relative only. The value is 64 + detents, clamped in 63-step chunks. In Live, map the knob and set the\n\nmapping to Bin Offset if the automatic detection guesses another relative mode; Live's manual suggests turning\n\nthe knob slowly left while assigning.\n• No collision. 16..31 are not used by anything else the firmware sends; notes and clock are untouched.\n\nNo firmware package is attached to this release: build it with ./build.sh or install from the web installer.\n\n## Ableton\n\nableton/FM-1/ is a Control Surface script for Live 12: KNOB 1-4 of each FM-1 track is one page of four\n\nparameters on the selected device (a Rack's sixteen macros, or two banks of Configure order), and the pitch and\n\nmod wheels stay as they are. Install path, the ROUT CH1-4 requirement and how to go back to hand mapping are in\n\nableton/README.md."
   },
   "commit": {
    "date": "2026-11-02",
    "title": "boot: start the audio before the splash draws",
    "url": "https://github.com/Wulgaren/Araminta/commit/c9a7830ac6ab7f4e49910e65d4012ca9069970dd"
   },
   "stars": 15,
   "created": "2026-10-11",
   "image": "https://raw.githubusercontent.com/Wulgaren/Araminta/HEAD/docs/araminta.png?v=2",
   "pageFiles": [
    {
     "name": "felucca-v3.7-gc9a7830.fwsc",
     "url": "https://wulgaren.github.io/Araminta/firmware/felucca-v3.7-gc9a7830.fwsc",
     "page": "https://wulgaren.github.io/Araminta/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ae90033-94f2f\"",
     "size": 594596,
     "check": {
      "sha256": "9b1ab5a89e27d9008048755f3ad54ba8cf2c4046814bcb1f3430ec69cb618dfa",
      "bytes": 610095,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "9b1ab5a89e27d9008048755f3ad54ba8cf2c4046814bcb1f3430ec69cb618dfa"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/Wulgaren/Araminta/HEAD/docs/araminta.png?v=2",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Wulgaren~Araminta.jpg"
   ]
  },
  {
   "links": [
    [
     "Website",
     "https://thebigbeat.app/fm1/"
    ],
    [
     "Installer",
     "https://thebigbeat.app/fm1/install/"
    ],
    [
     "Emulator",
     "https://thebigbeat.app/fm1/emulator/"
    ],
    [
     "Manual",
     "https://thebigbeat.app/fm1/guide/"
    ],
    [
     "Licensing",
     "https://github.com/TexasRADIO/bb1-firmware/blob/v1.5/BIG-BEAT-LICENSING.md"
    ]
   ],
   "name": "BB1",
   "repo": "TexasRADIO/bb1-firmware",
   "by": "TexasRADIO",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "Big Beat: two drum machines side by side, a synthesised 808 and seven sampled machines, and Dillo, an acid bass after Open303, through a shared tape echo and spring reverb; 67 songs over 21 eras, 138 Roland preset rhythms and 205 acid bass phrases.",
   "types": [
    "groovebox"
   ],
   "tracks": [
    3,
    "DRUM A, DRUM B and DILLO, as its screen names them: its source switches Felucca's four tracks off"
   ],
   "note": "Its installer also writes a sound-library image beside the application package: the package alone runs without the sampled kits. Its code is GPL-3.0-only; its samples and patterns carry their own provenance and licence notices. Its guide lists a tempo-control issue and the hardware tests still open.",
   "seen": "2026-10-30",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://thebigbeat.app/fm1/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.1.1",
    "url": "https://github.com/TexasRADIO/bb1-firmware/releases/tag/v2.1.1",
    "assets": [
     {
      "name": "bb1-2.1.1.fwsc",
      "url": "https://github.com/TexasRADIO/bb1-firmware/releases/download/v2.1.1/bb1-2.1.1.fwsc",
      "size": 610304,
      "sha256": "c03fae90e0eb7a9379cacc7f29ac8ac8caa373259ecf09acb03675c786904338",
      "check": {
       "sha256": "c03fae90e0eb7a9379cacc7f29ac8ac8caa373259ecf09acb03675c786904338",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "bb1-sounds-2.1.1.bin",
      "url": "https://github.com/TexasRADIO/bb1-firmware/releases/download/v2.1.1/bb1-sounds-2.1.1.bin",
      "size": 245760,
      "sha256": "8c2c3edb14bcbf4d91ff8b80ccf172f659c7ea837875d88819b78f8fe8ccfe2a"
     },
     {
      "name": "bb1-source-2.1.1.tar.gz",
      "url": "https://github.com/TexasRADIO/bb1-firmware/releases/download/v2.1.1/bb1-source-2.1.1.tar.gz",
      "size": 7937720,
      "sha256": "6c909a9fdcbd7df3ac43a296e2d1d8f47670738e64cf00371d1a76886a8b874c"
     }
    ],
    "date": "2026-11-03",
    "title": "Big Beat Studio BB1 2.1.1",
    "notes": "## Big Beat Studio BB1 2.1.1\n\nThis maintenance release makes three ambiguous Rhythm Conductor section labels distinct without changing their music or behaviour.\n• You Spin Me Round: 1 is now Alternate.\n• I Can't Go For That (No Can Do): the two sections formerly both called Part 1 are now Part 1A and Part 1B.\n\nThe firmware, browser player and source archive were rebuilt from the same catalogue. The sound library is byte-for-byte unchanged from 2.1.\n\nVerification covered the complete native release gate, all 539 catalogue sections, all 233 named-song labels across the 4-, 8- and 16-button layouts, the browser journey, project round-trip, key lights, framebuffer and audio regression. No musical-role labels were inferred without listening evidence.\n\nThe FM-1 still identifies the firmware as BB-1 2.1; 2.1.1 is the distribution revision for this label-only maintenance update."
   },
   "commit": {
    "date": "2026-11-03",
    "title": "Publish BB1 2.1: instrument-first Rhythm Conductor interface",
    "url": "https://github.com/TexasRADIO/bb1-firmware/commit/a2c04a19604024a83b142e954cf2392eed4f142e"
   },
   "stars": 5,
   "created": "2026-10-28",
   "image": "https://raw.githubusercontent.com/TexasRADIO/bb1-firmware/HEAD/docs/media/bb1-social.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/TexasRADIO/bb1-firmware/HEAD/docs/media/bb1-social.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/TexasRADIO~bb1-firmware.jpg"
   ]
  },
  {
   "links": [
    [
     "Website and installer",
     "https://bunker-evolved.sugarypixie10.chatgpt.site/"
    ],
    [
     "Emulator",
     "https://bunker-evolved.sugarypixie10.chatgpt.site/simulator/"
    ],
    [
     "Editor",
     "https://bunker-evolved.sugarypixie10.chatgpt.site/editor/"
    ]
   ],
   "name": "Bunker Evolved",
   "repo": "kidbee85-beep/bunker-evolved",
   "by": "kidbee85-beep",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "about": "Generative ambient Felucca 1.6.1: four layers, 64 sound recipes, 24 worlds, 32 scales, mutations and GROW.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Website and installer",
     "url": "https://bunker-evolved.sugarypixie10.chatgpt.site/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://bunker-evolved.sugarypixie10.chatgpt.site/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.0.0",
    "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/tag/v1.0.0",
    "assets": [
     {
      "name": "Bunker-Evolved-English.srt",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/Bunker-Evolved-English.srt",
      "size": 4198,
      "sha256": "fdd4139b8f37e2a427c8defa953b7bc4b2a162c14ae12b9b0dc9cf4eec4d1d33"
     },
     {
      "name": "Bunker-Evolved-English.vtt",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/Bunker-Evolved-English.vtt",
      "size": 4065,
      "sha256": "a87bcdd4b7a17d839f79695452398f57ab82a2bc0dc35052392cd17832444302"
     },
     {
      "name": "Bunker-Evolved-Introduction.mp4",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/Bunker-Evolved-Introduction.mp4",
      "size": 9437184,
      "sha256": "fa3b56dd671afb1dc052bacfd449ba87f685d5314fb1082b9bd800f8fd89c35e"
     },
     {
      "name": "Bunker-Evolved-Publication-Kit.zip",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/Bunker-Evolved-Publication-Kit.zip",
      "size": 20342374,
      "sha256": "66f194f9bc82148352c87ccaccab9f3a00a574bbcff5f537f1fb0a4614d4ec1c"
     },
     {
      "name": "bunker-evolved-rc2.fwsc",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/bunker-evolved-rc2.fwsc",
      "size": 610304,
      "sha256": "db0b50d0ae9c3bfccee76e3b93de09fffa55389169278a0c5899dad9c79e6bb8",
      "check": {
       "sha256": "db0b50d0ae9c3bfccee76e3b93de09fffa55389169278a0c5899dad9c79e6bb8",
       "bytes": 610090,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "Bunker-Evolved-Source.zip",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/Bunker-Evolved-Source.zip",
      "size": 10695475,
      "sha256": "ce2a58de3944b2318142dc7851f77ee0de1dd5a91e9978ca383dd8c55fbed726"
     },
     {
      "name": "editor-architecture.md",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/editor-architecture.md",
      "size": 4905,
      "sha256": "3968eb022d6333be1506106e9be5fc1d92fe9c6e211e593fb55fb6936441a226"
     },
     {
      "name": "editor-test.log",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/editor-test.log",
      "size": 505,
      "sha256": "1cf33abaa26e290e89305a476cc49b1ae807a6ea26948df8ecf8681ad8c5e5b1"
     },
     {
      "name": "editor-ui-test.log",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/editor-ui-test.log",
      "size": 150,
      "sha256": "cfc8ed6a95365c6f7e2d6aa4d5d2a60a34bda5607dfce67f64369484728b1ce7"
     },
     {
      "name": "feature-provenance.md",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/feature-provenance.md",
      "size": 5642,
      "sha256": "f566a075ec50d5cac5da58e077015e2ec9784b549c57a86cde72172ad498a102"
     },
     {
      "name": "hardware-acceptance.md",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/hardware-acceptance.md",
      "size": 1618,
      "sha256": "552ead391c7a48abf64961512fead70d66a66e6d98e8c917b9a421aca4ea6566"
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/SHA256SUMS.txt",
      "size": 1577,
      "sha256": "fad76fb9afc67e6a3fb4926dd7cd488402fcc5e228560c0822cddd8720ae8467"
     },
     {
      "name": "test-status.txt",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/test-status.txt",
      "size": 7516,
      "sha256": "04910121254225a23bed7778a81497d427fb5b283f0cb7ac3495c7668832473f"
     },
     {
      "name": "thumbnail.jpg",
      "url": "https://github.com/kidbee85-beep/bunker-evolved/releases/download/v1.0.0/thumbnail.jpg",
      "size": 131072,
      "sha256": "2f1c7dbafc4bd24cf8238761bf2ad47512c3494fead8ce43048800d14d752430"
     }
    ],
    "date": "2026-10-17",
    "title": "Bunker Evolved 1.0",
    "notes": "## Bunker Evolved 1.0\n\n## Complete source now in the repository\n\nOn 18 October 2026 the full Release 1.0 source was published directly in the repository, including vendored engines, build instructions, assets, tests, website/editor sources and license notices.\n\nBrowse the complete source · Download the complete source ZIP. These links pin the published source commit for mirroring. All 506 file contents were verified against the prepared tree. The firmware binary is unchanged.\n\nThe original v1.0.0 tag was preserved and predates this source publication. Use the full source download above or the existing Bunker-Evolved-Source.zip asset, rather than the automatically generated source archives for that old tag.\n\nFree generative ambient firmware for the M-VAVE FM-1. Four editable layers, 64 sound recipes, 24 worlds, 24 motifs, 32 scales, GROW with undo, seven EVOLVE processes and thirteen synthesis engines.\n• Website, tutorial and installer\n• Chrome editor\n• Feature comparison and provenance\n• New English introduction\n• Recovery guide\n\n## Release approval\n\nOn 17 October 2026, the project owner completed Bunker → original FM-1 firmware → Bunker → original, and confirmed working audio and controls. Release 1.0 promotes that exact tested firmware without recompiling it. Its internal label remains BE 1.0-RC2 and its device identity is FM-1_7100002. Existing users of this build do not need to flash again.\n\nThis is owner acceptance on one FM-1. It does not establish power-loss recovery or compatibility with every board revision. The exact stock version string was not separately recorded; Original V15 remains the documented installer baseline.\n\n## Downloads\n• bunker-evolved-rc2.fwsc — the unchanged, hardware-tested Release 1.0 firmware.\n• Bunker-Evolved-Source.zip — complete corresponding source, assets, build instructions, tests, licenses and updated documentation. Use this attached archive or the complete repository source download linked above. The automatically generated archives for the original v1.0.0 tag still contain only the initial tree.\n• Bunker-Evolved-Publication-Kit.zip — firmware, source, English film, captions, thumbnail and release records.\n• Bunker-Evolved-Introduction.mp4 — the English walkthrough; actual C-rendered firmware screens and audio, an illustrated panel and calm AI narration.\n• hardware-acceptance.md and test-status.txt — hardware report and automated test evidence.\n• SHA256SUMS.txt — download integrity checks.\n\nFirmware: 610,090 bytes.\n\nSHA-256: db0b50d0ae9c3bfccee76e3b93de09fffa55389169278a0c5899dad9c79e6bb8.\n\n## Installation and recovery\n\nInstall directly from compatible original FM-1 firmware; AMB-1 is not an intermediate requirement. Back up your music before switching. Other firmware project formats are not converted, and firmware rollback does not restore overwritten music. UBOOT is a separate chip mode, not guaranteed Chrome rescue. Keep power and USB connected until completion.\n\nThe unchanged firmware retains the recorded 19-suite regression, GROW, audio/WASM, loader-model and simulated stress results. These are separate from the owner's hardware report. The release website includes an English guide and music backup/restore for compatible Bunker builds; physical music-backup/restore and interrupted-power recovery remain outside this hardware acceptance report.\n\nBased on Felucca 1.6.1 by Leo Kuroshita / Hügelton Instruments and contributors. GPL-3.0-only with retained MIT / Apache / CC0 / font notices. Complete credits are in the attached source archive.\n\n## New website component: Editor 0.1\n\nA modular Chrome editor adds four-track sound/parameter editing, 64 Bunker recipes, factory presets, 24 motifs, 32 scales, selected-track GROW, detailed note editing, phrase import/export and guarded phrase undo. Firmware 1.0 is unchanged.\n\n49,337 host assertions include real requests to the C firmware handler, native parity for every sound recipe and motif, write/readback, stale undo and timeout handling. DOM interaction checks also pass. This is not a completed physical-USB or browser-layout test. The offline sketchpad is silent. Native iOS/iPadOS/macOS apps and VST/AU wrappers are future work; the modules and architecture are included in the source."
   },
   "commit": {
    "date": "2026-10-18",
    "title": "Publish complete Bunker Evolved 1.0 source (#1)",
    "url": "https://github.com/kidbee85-beep/bunker-evolved/commit/c9bb0b1ac4a7dbb420a3f452fc75b705981ab0f4"
   },
   "stars": 0,
   "created": "2026-10-17",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/kidbee85-beep~bunker-evolved.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://briwil.github.io/Felucca/"
    ]
   ],
   "name": "Cesari",
   "repo": "briwil/Felucca",
   "by": "briwil",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "A Felucca fork with drum kits on any track (808 from X0X, 606 from 6W6), each drum with its own parameters.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://briwil.github.io/Felucca/webapp/installer/",
     "from": "list",
     "front": "https://briwil.github.io/Felucca/"
    }
   ],
   "commit": {
    "date": "2026-10-08",
    "title": "target budget: the audio ISR's sequencer plays notes (per block, not …",
    "url": "https://github.com/briwil/Felucca/commit/44abc098d5f6d11d776aa40a0a435b89d38411c8"
   },
   "stars": 1,
   "created": "2026-10-07",
   "image": "https://raw.githubusercontent.com/briwil/Felucca/HEAD/docs/felucca-1.0.png",
   "images": [
    "https://raw.githubusercontent.com/briwil/Felucca/HEAD/docs/felucca-1.0.png",
    "https://raw.githubusercontent.com/briwil/Felucca/HEAD/docs/controls.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/briwil~Felucca.jpg"
   ],
   "pageFiles": [
    {
     "name": "felucca-dev-44abc09.fwsc",
     "url": "https://briwil.github.io/Felucca/firmware/felucca-dev-44abc09.fwsc",
     "page": "https://briwil.github.io/Felucca/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ac79f9d-94e39\"",
     "size": 430935,
     "check": {
      "sha256": "c3b3f49e3535a1d1e50c86c4c6bef515e969fc06184dfdc2b204ebb9a2754e56",
      "bytes": 609849,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "c3b3f49e3535a1d1e50c86c4c6bef515e969fc06184dfdc2b204ebb9a2754e56"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://quixotic7.github.io/ChoralRootFM1/"
    ],
    [
     "Emulator",
     "https://quixotic7.github.io/ChoralRootFM1/emu/"
    ]
   ],
   "name": "ChoralRoot FM-1",
   "repo": "Quixotic7/ChoralRootFM1",
   "by": "Quixotic7",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "note": "A boot stub of its own against interrupted installs (tested on one unit).",
   "types": [
    "theory"
   ],
   "board": "both",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://quixotic7.github.io/ChoralRootFM1/webapp/installer/",
     "from": "list",
     "front": "https://quixotic7.github.io/ChoralRootFM1/"
    }
   ],
   "release": {
    "tag": "v0.29.2",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/tag/v0.29.2",
    "assets": [
     {
      "name": "choralroot-0.29.2.fwsc",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/download/v0.29.2/choralroot-0.29.2.fwsc",
      "size": 610304,
      "sha256": "b96afe10c09ba241b25d18ceff9570183495412ccf94050f1e1cb9a75ace09cc",
      "check": {
       "sha256": "b96afe10c09ba241b25d18ceff9570183495412ccf94050f1e1cb9a75ace09cc",
       "bytes": 610313,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "choralroot-0.29.2-1core-app.bin",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/download/v0.29.2/choralroot-0.29.2-1core-app.bin",
      "size": 558080,
      "sha256": "0f65530d3ce9470ff67e8702228bbddb3a0670e11bc029b65b31a234cca0d709"
     },
     {
      "name": "choralroot-0.29.2-1core.fwsc",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/download/v0.29.2/choralroot-0.29.2-1core.fwsc",
      "size": 610304,
      "sha256": "96302c71c26c4007ee43e1bb534925aa5672cdd9a7b8d37b365531b1223116ae",
      "check": {
       "sha256": "96302c71c26c4007ee43e1bb534925aa5672cdd9a7b8d37b365531b1223116ae",
       "bytes": 610313,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "choralroot-0.29.2-app.bin",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/download/v0.29.2/choralroot-0.29.2-app.bin",
      "size": 561152,
      "sha256": "410f9215f9cc05cc54c45577289b5d8bcff407b4dff7bda5cfb2cc831dfae9af"
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/download/v0.29.2/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/download/v0.29.2/LICENSES.zip",
      "size": 15053,
      "sha256": "a12dd63809048db91d6e8c8a1055459e3305aa109dd706dba3cebe426a137feb"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/download/v0.29.2/LICENSING.md",
      "size": 18534,
      "sha256": "f55076487fb3ed20e4763e3fbd80cc1fcb03be9208268bd952f540589fac60b1"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/Quixotic7/ChoralRootFM1/releases/download/v0.29.2/SHA256SUMS",
      "size": 374,
      "sha256": "9eaa6a41a412091a574a145d013509080cc5c0f7eaf50b75e187aeb43233b4f8"
     }
    ],
    "date": "2026-11-03",
    "title": "ChoralRoot 0.29.2",
    "notes": "ChoralRoot 0.29.2 is 0.29.1 with loops that stay in time with an incoming MIDI clock. With Options > MIDI Clock\n\nset to In, the loop used to run on the FM-1's own clock at the incoming tempo rounded to a whole BPM, so against a\n\nmaster at a tempo between two whole BPMs it slowly drifted: about 2 seconds after 10 minutes at 120.4 BPM. It now\n\nkeeps time with the clock's pulses themselves. Nothing else changes: the sound, the features and the way your\n\nsettings, sounds, loops and favorites are stored are 0.29.1's.\n\n## MIDI Clock In (new in 0.29.2)\n• The loop follows the pulses. Each incoming clock pulse moves the loop on; between pulses the FM-1 fills in, so\n\nnotes still land between them. Measured over 10 minutes at 120.0, 120.4 and 120.7 BPM, the loop stays within 15 ms\n\nof the master.\n• When the clock stops (a cable, the master's Stop) the loop plays on at the tempo, and locks again at the next\n\npulse. Start and Continue lock it from the pulse that follows them.\n• Not changed: the arpeggiator and the other tempo-synced parts still follow the incoming tempo as a whole BPM.\n• MIDI Clock Out was already steady: measured on a unit, its clock and a loop of whole bars stayed together over\n\n42 bars. A Free loop keeps the length you played, which is rarely a whole number of bars, so it moves against a\n\nDAW's bars by design: record with Sync set to Bar to stay on the grid.\n\n## Installing\n• The web installer's default is 0.29.2: press Install. Options > Version reads ChoralRoot 0.29.2.\n• From 0.29.1, 0.29, 0.28 or 0.27 nothing needs doing: your sounds, loops, favorites and settings are all there.\n• An FM-1 with the second flash chip stuck on 0.27 to 0.29: 0.29.1.md says the way out.\n• A Single core package: the web installer's Advanced > Hardware fallback. Options > Version then reads\n\nChoralRoot 0.29.2 1-core.\n• Signed builds: GitHub built these packages from the tag's source and signed them; 0.26.1.md\n\n\"Checking a package\" says how to check one (choralroot-0.29.2.fwsc).\n\n## Going back to 0.29.1\n\nThe installer offers 0.29.1 under Other versions. Nothing changes but MIDI Clock In's timing: 0.29.1 stores\n\neverything the same way, so your settings, sounds, loops and favorites stay, and Options > Version reads\n\nChoralRoot 0.29.1 again.\n\nChoralRoot 0.29.2 for the M-VAVE FM-1 (identity FM-1_920).\n\nInstall from the browser at https://quixotic7.github.io/ChoralRootFM1/ (Chrome or Edge, the FM-1 connected by USB), or with the command-line installer: python3 tools/fm1_install.py choralroot-0.29.2.fwsc.\n\nchoralroot-0.29.2-1core.fwsc is the same firmware on one processor core, for an FM-1 that crashes or freezes with the standard package (the installer offers it under Advanced > Hardware fallback). Settings, sounds and loops stay when you switch between the two.\n\nSHA256SUMS lists both packages and their apps. GitHub built and signed each from this tag's source (The Firmware Hub's shared workflow); check one with gh attestation verify choralroot-0.29.2.fwsc --repo Quixotic7/ChoralRootFM1 --signer-workflow zvenson/fm1-build/.github/workflows/build.yml. The package holds three JieLi AC79 SDK files (Apache-2.0); LICENSE, LICENSING.md and LICENSES.zip carry every licence. Installing firmware is at your own risk.\n\nFull Changelog: v0.29.1...v0.29.2"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "RemoteFM1Metadata.json: this firmware's skin for RemoteFM1",
    "url": "https://github.com/Quixotic7/ChoralRootFM1/commit/d7b509f3c4cb811d8251743f6620ee41805a4731"
   },
   "stars": 102,
   "created": "2026-10-06",
   "about": "Telepathic chord machine for the MVave FM-1",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Quixotic7~ChoralRootFM1.jpg",
   "pageFiles": [
    {
     "name": "choralroot-0.29.1.fwsc",
     "url": "https://quixotic7.github.io/ChoralRootFM1/firmware/choralroot-0.29.1.fwsc",
     "page": "https://quixotic7.github.io/ChoralRootFM1/",
     "etag": "W/\"6ae9823d-95009\"",
     "size": 581315,
     "check": {
      "sha256": "646b77ef770e3e82772dea8be919424602788dead2c613a861ddb471611234a1",
      "bytes": 610313,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "646b77ef770e3e82772dea8be919424602788dead2c613a861ddb471611234a1"
    },
    {
     "name": "choralroot-0.29.1-1core.fwsc",
     "url": "https://quixotic7.github.io/ChoralRootFM1/firmware/choralroot-0.29.1-1core.fwsc",
     "page": "https://quixotic7.github.io/ChoralRootFM1/firmware/",
     "etag": "W/\"6ae9823d-95009\"",
     "size": 579534,
     "check": {
      "sha256": "48a7180e11c4fbbd8848693bdbb01aa9bce203b587ba949d33bdc308c11d86cf",
      "bytes": 610313,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "48a7180e11c4fbbd8848693bdbb01aa9bce203b587ba949d33bdc308c11d86cf"
    },
    {
     "name": "choralroot-0.29.fwsc",
     "url": "https://quixotic7.github.io/ChoralRootFM1/firmware/choralroot-0.29.fwsc",
     "page": "https://quixotic7.github.io/ChoralRootFM1/",
     "etag": "W/\"6ae9823d-95009\"",
     "size": 581177,
     "check": {
      "sha256": "b0f10a772b0c155eb08aa04dc88912bd2fe1b92637b036c20e44ca65a082297c",
      "bytes": 610313,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "b0f10a772b0c155eb08aa04dc88912bd2fe1b92637b036c20e44ca65a082297c"
    },
    {
     "name": "choralroot-0.29-1core.fwsc",
     "url": "https://quixotic7.github.io/ChoralRootFM1/firmware/choralroot-0.29-1core.fwsc",
     "page": "https://quixotic7.github.io/ChoralRootFM1/firmware/",
     "etag": "W/\"6ae9823c-95009\"",
     "size": 610313,
     "check": {
      "sha256": "725a38b93eecceb755402b9c512bee7d702adbc06334d6fdcdd7db3ca14e07e0",
      "bytes": 610313,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "725a38b93eecceb755402b9c512bee7d702adbc06334d6fdcdd7db3ca14e07e0"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "seq",
    "seq-hold",
    "fx-hold",
    "env",
    "env-hold",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://eremansim.github.io/ChoralRootj-6/webapp/installer/"
    ]
   ],
   "name": "ChoralRoot J-6",
   "repo": "EremanSim/ChoralRootj-6",
   "by": "EremanSim",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "theory"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://eremansim.github.io/ChoralRootj-6/webapp/installer/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.23-j6",
    "url": "https://github.com/EremanSim/ChoralRootj-6/releases/tag/v0.23-j6",
    "assets": [
     {
      "name": "choralroot-0.23-j6-app.bin",
      "url": "https://github.com/EremanSim/ChoralRootj-6/releases/download/v0.23-j6/choralroot-0.23-j6-app.bin",
      "size": 471040,
      "sha256": "33d501c397aa1a30ee5230e38d341341e0505ce21b98e7a47961d5a17c4fb91a"
     },
     {
      "name": "choralroot-0.23-j6.fwsc",
      "url": "https://github.com/EremanSim/ChoralRootj-6/releases/download/v0.23-j6/choralroot-0.23-j6.fwsc",
      "size": 610304,
      "sha256": "ec84b99aac5b00e6a4d43bdaaf48ec804fe8930050a1581217683feb10bddb2b",
      "check": {
       "sha256": "ec84b99aac5b00e6a4d43bdaaf48ec804fe8930050a1581217683feb10bddb2b",
       "bytes": 610313,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/EremanSim/ChoralRootj-6/releases/download/v0.23-j6/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/EremanSim/ChoralRootj-6/releases/download/v0.23-j6/LICENSES.zip",
      "size": 15053,
      "sha256": "48ea6b2635843512c7fb2399388991d2c3a5fa39ddaf9ac1221ab7315ab75e26"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/EremanSim/ChoralRootj-6/releases/download/v0.23-j6/LICENSING.md",
      "size": 10957,
      "sha256": "911ca1a6348bdbe15014705946f0ddccd1293d026fbc84b96b641c8dacbef816"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/EremanSim/ChoralRootj-6/releases/download/v0.23-j6/SHA256SUMS",
      "size": 183,
      "sha256": "f30848fe3244b3f35e08579cd1eb174d579050dff9882f02ea156b7afdda3692"
     }
    ],
    "prerelease": true,
    "date": "2026-10-13",
    "title": "ChoralRoot 0.23-j6",
    "notes": "ChoralRoot 0.23-j6 for the M-VAVE FM-1 (identity FM-1_920).\n\nNot tested on real hardware (the J-6 fork, written with Claude): install at your own risk. Install from the browser at https://eremansim.github.io/ChoralRootj-6/webapp/installer/ (Chrome or Edge, the FM-1 connected by USB), or with the command-line installer: python3 tools/fm1_install.py choralroot-0.23-j6.fwsc.\n\nSHA256SUMS lists the package and the app. The package holds three JieLi AC79 SDK files (Apache-2.0); LICENSE, LICENSING.md and LICENSES.zip carry every licence. Installing firmware is at your own risk.\n\n## What's Changed\n• OPT + chord-block key: Chord Set on/off by @EremanSim in #9\n\nFull Changelog: v0.22-j6...v0.23-j6"
   },
   "commit": {
    "date": "2026-10-13",
    "title": "Merge pull request #10 from EremanSim/ccr-aa2bbe75-u04tjq",
    "url": "https://github.com/EremanSim/ChoralRootj-6/commit/5b9104bc97115b71e54c28aa77c20aac4042f7cd"
   },
   "stars": 0,
   "created": "2026-10-11",
   "about": "Port of Choral Root to MWave FM1 but with Roland j6 chord set",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/EremanSim~ChoralRootj-6/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "Quixotic7/ChoralRootFM1",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx-hold",
    "env",
    "env-hold",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/EremanSim~ChoralRootj-6/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/EremanSim~ChoralRootj-6.jpg"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://ficusficusov.github.io/CoralFlower/"
    ],
    [
     "Emulator",
     "https://ficusficusov.github.io/CoralFlower/play/"
    ],
    [
     "Releases",
     "https://github.com/FicusFicusov/CoralFlower/releases"
    ]
   ],
   "name": "CoralFlower",
   "repo": "FicusFicusov/CoralFlower",
   "by": "FicusFicusov",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "A chord instrument, after ChoralRoot FM-1 and Felucca.",
   "types": [
    "theory"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://ficusficusov.github.io/CoralFlower/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.6.1",
    "url": "https://github.com/FicusFicusov/CoralFlower/releases/tag/v0.6.1",
    "assets": [
     {
      "name": "coralflower-0.6.1-app.bin",
      "url": "https://github.com/FicusFicusov/CoralFlower/releases/download/v0.6.1/coralflower-0.6.1-app.bin",
      "size": 366592,
      "sha256": "a9980a84746df1f12a94bca658a02a65a5468f8803411f899bf6a67e774a678b"
     },
     {
      "name": "coralflower-0.6.1.fwsc",
      "url": "https://github.com/FicusFicusov/CoralFlower/releases/download/v0.6.1/coralflower-0.6.1.fwsc",
      "size": 610304,
      "sha256": "de41c96a0979927d921a99064aca1b43cb871a5ab10736342abf22cab2845a22",
      "check": {
       "sha256": "de41c96a0979927d921a99064aca1b43cb871a5ab10736342abf22cab2845a22",
       "bytes": 610313,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/FicusFicusov/CoralFlower/releases/download/v0.6.1/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/FicusFicusov/CoralFlower/releases/download/v0.6.1/LICENSES.zip",
      "size": 17203,
      "sha256": "66f65a27fd7a13bb22f05fbad5ac2e3128aeed84128caee16c04e15fb8f21d2a"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/FicusFicusov/CoralFlower/releases/download/v0.6.1/LICENSING.md",
      "size": 3656,
      "sha256": "c00c3320a448af97044d619892ec807dc082b3dd3cb82bffe448ff1b11a353d9"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/FicusFicusov/CoralFlower/releases/download/v0.6.1/SHA256SUMS",
      "size": 181,
      "sha256": "a497095a95eb8b1ed51ae534c7583ad527cb8a4a05fef0b2189257af641c97c1"
     }
    ],
    "date": "2026-10-30",
    "title": "CoralFlower 0.6.1",
    "notes": "## CoralFlower 0.6.1: every chord in the take\n\nIn this update a chord you play right after REC always makes it into the take, and REC on the rhythm machine counts you\n\nin first.\n\n## What's new\n• A count-in on the rhythm machine. When a rhythm plays and you press REC on its page, the rhythm stops and one\n\nbar counts in (4-3-2-1 in 4/4). Then your take starts, and the rhythm starts again from its first bar with it. REC\n\nduring the count-in calls it off. On HOME, REC under a playing rhythm still starts the take at once.\n\n## Fixed\n• The chord you press with REC is in the take. A chord you start after REC goes into the take, even when you press\n\nit almost together with REC, or let it go before the take starts. It used to get lost, often the first chord of a\n\ntake. A chord you were already holding before REC stays out. This works on every page, for chords, bass and Layer\n\nnotes.\n\n## Install\n\nOpen https://ficusficusov.github.io/CoralFlower/ in Chrome or Edge on a computer. Connect the FM-1 with a USB cable\n\nthat carries data, without a hub, and press \"Install on your FM-1\". If the FM-1 runs CoralFlower, ChoralRoot or\n\nFelucca, the installer saves your sounds to a file first; since 0.3.1 that file also holds your patterns. Updating\n\nfrom 0.3.1 or later keeps your settings, sounds and patterns. Installing firmware is at your own risk.\n\nYou can try 0.6.1 in the browser first: https://ficusficusov.github.io/CoralFlower/play/\n\n## Feedback\n\nTell me what works, what doesn't and what you'd like next. Open a GitHub issue or email iambemoli@gmail.com. News\n\ngoes to the Telegram channel https://t.me/ficusficusov.\n\nCoralFlower 0.6.1 for the M-VAVE FM-1 (package identity FM-1_930).\n\nInstall it from your browser at https://ficusficusov.github.io/CoralFlower/ (Chrome or Edge on a computer, with the FM-1 connected by USB). You can also try CoralFlower in the browser first, with no install: https://ficusficusov.github.io/CoralFlower/play/\n\nSHA256SUMS lists the package and the app. The package holds three JieLi AC79 SDK files (Apache-2.0); LICENSE, LICENSING.md and LICENSES.zip carry every licence. Installing firmware is at your own risk; the official M-VAVE firmware can always be reinstalled."
   },
   "commit": {
    "date": "2026-10-30",
    "title": "Site: CoralFlower 0.6.1 (v0.6.1, sha256 checked)",
    "url": "https://github.com/FicusFicusov/CoralFlower/commit/272cad9e85a444d879d72598807b7ca01a098d6d"
   },
   "stars": 22,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/FicusFicusov/CoralFlower/HEAD/docs/images/grow.gif",
   "images": [
    "https://raw.githubusercontent.com/FicusFicusov/CoralFlower/HEAD/docs/images/grow.gif",
    "https://raw.githubusercontent.com/FicusFicusov/CoralFlower/HEAD/docs/images/home.png",
    "https://raw.githubusercontent.com/FicusFicusov/CoralFlower/HEAD/docs/images/coral.png",
    "https://raw.githubusercontent.com/FicusFicusov/CoralFlower/HEAD/docs/images/chord.png",
    "https://raw.githubusercontent.com/FicusFicusov/CoralFlower/HEAD/docs/images/fm-voice.png",
    "https://raw.githubusercontent.com/FicusFicusov/CoralFlower/HEAD/docs/images/arp.png",
    "https://raw.githubusercontent.com/FicusFicusov/CoralFlower/HEAD/docs/images/take.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/FicusFicusov~CoralFlower.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer, songs and emulator",
     "https://386dx.linecross.ing/"
    ]
   ],
   "name": "386DX",
   "repo": "seajaysec/386-DX-FM1-KaraokeBot",
   "by": "seajaysec",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A singing karaoke robot with a band: songs from .kar and MIDI files or your own lines, sung to the keys.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer, songs and emulator",
     "url": "https://386dx.linecross.ing/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.0",
    "url": "https://github.com/seajaysec/386-DX-FM1-KaraokeBot/releases/tag/v2.0",
    "assets": [
     {
      "name": "386dx-2.0-app.bin",
      "url": "https://github.com/seajaysec/386-DX-FM1-KaraokeBot/releases/download/v2.0/386dx-2.0-app.bin",
      "size": 579584,
      "sha256": "9a50111cf17c142b5876739b7d4de27d8342b6c0a6bcc470b506714af187cdca"
     },
     {
      "name": "386dx-2.0.fwsc",
      "url": "https://github.com/seajaysec/386-DX-FM1-KaraokeBot/releases/download/v2.0/386dx-2.0.fwsc",
      "size": 609280,
      "sha256": "2ba90c24c0586c7519bc524113a9727e43fec60dd3314ddc245179833871e059",
      "check": {
       "sha256": "2ba90c24c0586c7519bc524113a9727e43fec60dd3314ddc245179833871e059",
       "bytes": 609406,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/seajaysec/386-DX-FM1-KaraokeBot/releases/download/v2.0/SHA256SUMS",
      "size": 165,
      "sha256": "2e87fe0e887db7bfb17a5fc93c0e4e39007649d5252ff2926f702b2eb1ff4670"
     },
     {
      "name": "SOURCE.txt",
      "url": "https://github.com/seajaysec/386-DX-FM1-KaraokeBot/releases/download/v2.0/SOURCE.txt",
      "size": 292,
      "sha256": "00500c5366cbf1bd6cb93f4ba0d08feae99347c8299791997f5a569b0df5bc0a"
     }
    ],
    "date": "2026-11-04",
    "title": "386DX 2.0 (51dcd6c)",
    "notes": "386DX 2.0 · build 51dcd6c\n\nThe easy way to install it is the web page, https://386dx.linecross.ing (Chrome or Edge, FM-1 plugged in): it installs this package, keeps the FM-1 up to date and lists what changed in every version. The package here is the same file, for anyone who wants it by hand (python3 tools/fm1_install.py 386dx-2.0.fwsc, see BUILDING.md).\n\nThe trailer: https://youtu.be/6pK_k7b8pGM\n• SLAMJAM, a second mode (GLO's list): a band and a robot poet make it up as they go. Thirteen ways to tell a poem, fourteen topics and eight bands, from jazz bar and boom bap to bossa, trap and punk. Your song is kept and comes back when you switch.\n• In SLAMJAM, HOME is Practice, where the band rehearses, and FX is the SLAMJAM room, where the poet performs. The four knobs are the four players' styles; turn one to \"yours\" and that part is yours to play and record.\n• In the room the Voice's black keys give the poet a tune: play as many notes as the next line has syllables and he sings it to them.\n• Songs are written a phrase at a time and arranged into a song: SEQ shows the phrase, HOME + SEQ the song. Voice, Keys and Bass are written at a cursor: tap a key to write a note, hold it and turn SELECT to stretch it.\n• Every syllable needs a note: a phrase can't be left, nor the song saved, until its words and notes match, and the screen says how many are missing.\n• Hold any button alone for a help card: what the screen is and what every button and knob does there.\n• What you change is heard as you change it: a sound picked, a knob turned, a note the cursor lands on, the key's chord when ROOT or SCALE turns.\n• SCALE in GLO keeps every key you play in key, and the arpeggiator (ARP) plays Keys and Bass up and down their chords.\n• Mister Wiggles has a stage: the karaoke room, Sing and the Voice's pages put him in front of a wall of lit screens, and what you change shows on it.\n• Loading a song or switching modes while one plays stops it first; imported songs find their key; a few words that broke the voice are said properly now.\n\nInstalling is at your own risk. SHA256SUMS has the checksums; SOURCE.txt the pinned tools."
   },
   "commit": {
    "date": "2026-11-04",
    "title": "README: the trailer's full-size picture",
    "url": "https://github.com/seajaysec/386-DX-FM1-KaraokeBot/commit/fcb848108332d409d3e3c5e2d24c66e32717a694"
   },
   "stars": 5,
   "created": "2026-10-17",
   "image": "https://img.youtube.com/vi/6pK_k7b8pGM/maxresdefault.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo"
   ],
   "imagesSeen": 1,
   "images": [
    "https://img.youtube.com/vi/6pK_k7b8pGM/maxresdefault.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/seajaysec~386-DX-FM1-KaraokeBot.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "AMB-1 SMK-37",
   "repo": "genkigenki/fm1-amb",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "board": "smk37",
   "about": "AMB-1, Charles Vestal's generative ambient machine, on the M-Vave SMK-37 keyboard: genkigenki's port.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-13",
    "title": "Headers: keep the files' line endings",
    "url": "https://github.com/genkigenki/fm1-amb/commit/236012468f3ca0e7900f546b928ba023b5c80c1a"
   },
   "stars": 0,
   "created": "2026-10-13",
   "image": "https://raw.githubusercontent.com/genkigenki/fm1-amb/smk37/docs/img/screen-garden.png",
   "images": [
    "https://raw.githubusercontent.com/genkigenki/fm1-amb/smk37/docs/img/screen-garden.png",
    "https://raw.githubusercontent.com/genkigenki/fm1-amb/smk37/docs/img/screen-voices.png",
    "https://raw.githubusercontent.com/genkigenki/fm1-amb/smk37/docs/img/screen-frozen.png"
   ],
   "pageFiles": [
    {
     "name": "amb-1.1.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/amb-1.1.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee2b\"",
     "size": 285793,
     "check": {
      "sha256": "756f7a49dcb4972d44cb08d4a9f82b10a61c9bb787c5fcd347533fc145081196",
      "bytes": 650795,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "756f7a49dcb4972d44cb08d4a9f82b10a61c9bb787c5fcd347533fc145081196"
    },
    {
     "name": "amb-1.1-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/amb-1.1-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee2f\"",
     "size": 285804,
     "check": {
      "sha256": "7b2c3db3dbcdb8171a873f10b186ccdfc460cf033f90bb08a142cfe5bd15617b",
      "bytes": 650799,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "7b2c3db3dbcdb8171a873f10b186ccdfc460cf033f90bb08a142cfe5bd15617b"
    },
    {
     "name": "amb-1.1-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/amb-1.1-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee27\"",
     "size": 285782,
     "check": {
      "sha256": "9710aebf5f4090dc6b8915a99672174f77aba46d95ef830635a23d834192ef12",
      "bytes": 650791,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "9710aebf5f4090dc6b8915a99672174f77aba46d95ef830635a23d834192ef12"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "charlesvestal/fm1-amb",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website, installer and manual",
     "https://nzimas.github.io/bigorna/"
    ]
   ],
   "name": "Bigorna",
   "repo": "nzimas/bigorna",
   "by": "nzimas",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "about": "Rhythmic noise, industrial and IDM after the Digitone II: six tracks, four machines, a locking sequencer; on Tonitor.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Website, installer and manual",
     "url": "https://nzimas.github.io/bigorna/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-11-03",
    "title": "Site: publish build 88 (PROB and SWING on the TRACK page; builds 81 .…",
    "url": "https://github.com/nzimas/bigorna/commit/77d1ca5e2ed2cda8b0f643e8b40cd8e50811c904"
   },
   "stars": 7,
   "created": "2026-10-20",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/nzimas~bigorna.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer",
     "https://owenkirby.github.io/carnac-os/install/"
    ]
   ],
   "name": "Carnac OS",
   "repo": "OwenKirby/carnac-os",
   "by": "OwenKirby",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A polyphonic wavetable synth on X0X's tree and Felucca's platform: 15 wavetable banks, seven voice types, two layers.",
   "note": "Beta (0.9.x). Safe mode with USB after two crashed starts; presets kept in their own flash area; never turns the radio on (LICENSING.md).",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://owenkirby.github.io/carnac-os/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.9.6",
    "url": "https://github.com/OwenKirby/carnac-os/releases/tag/v0.9.6",
    "assets": [
     {
      "name": "carnac-0.9.6.fwsc",
      "url": "https://github.com/OwenKirby/carnac-os/releases/download/v0.9.6/carnac-0.9.6.fwsc",
      "size": 609280,
      "sha256": "6d81a8d1186fecc8c4e8be082c163f5cc3d2a3286b70f66e42b4b941e604f1b2",
      "check": {
       "sha256": "6d81a8d1186fecc8c4e8be082c163f5cc3d2a3286b70f66e42b4b941e604f1b2",
       "bytes": 609680,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "carnac-0.9.6.fwsc.sha256",
      "url": "https://github.com/OwenKirby/carnac-os/releases/download/v0.9.6/carnac-0.9.6.fwsc.sha256",
      "size": 84,
      "sha256": "1f533006e08a945efc6915d93b76f7e428247c00546cf5b5b27b44be8553a3f0"
     }
    ],
    "date": "2026-10-29",
    "title": "Carnac OS v0.9.6",
    "notes": "Carnac OS 0.9.6\n• Wave check at power-on: if the PCM waves or the FOUNDATIONS bank are missing (for example after installing the .fwsc alone with another tool), the start-up screen shows the field with no standing stones and WAVES MISSING; if they come from another version, WAVES OUT OF DATE. The web installer, or pcm_store_upload.py sync, fixes it.\n• Everything else is as in 0.9.5: patches, performances and settings carry over unchanged.\n\nInstall with the web installer: it writes the firmware and then the waves.\n\nThe .fwsc holds the firmware only. The PCM waves and the FOUNDATIONS bank live in their own flash areas, so if you install the .fwsc with fm1_install.py or any other tool, also run the web installer once, or python src/hardware/pcm_store_upload.py sync from a checkout of this tag."
   },
   "commit": {
    "date": "2026-11-04",
    "title": "FX: FM1 build fixes for the stereo loop (static assert in ints, wande…",
    "url": "https://github.com/OwenKirby/carnac-os/commit/2a838a7f4bfae5eacde60a7bacedbe35140cf1fd"
   },
   "stars": 14,
   "created": "2026-10-17",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/OwenKirby~carnac-os/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/OwenKirby~carnac-os/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/OwenKirby~carnac-os.jpg"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://devrvega.github.io/CRT-4/emu/"
    ],
    [
     "Installer",
     "https://devrvega.github.io/CRT-4/install/"
    ]
   ],
   "name": "CRT-4",
   "repo": "devrvega/CRT-4",
   "by": "devrvega",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://devrvega.github.io/CRT-4/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.2",
    "url": "https://github.com/devrvega/CRT-4/releases/tag/v0.1.2",
    "assets": [
     {
      "name": "crt4-0.1.2.fwsc",
      "url": "https://github.com/devrvega/CRT-4/releases/download/v0.1.2/crt4-0.1.2.fwsc",
      "size": 609280,
      "sha256": "356083da727894e256d18b51e63da54bfb7bf776d240fc06a19c76272df3aded",
      "check": {
       "sha256": "356083da727894e256d18b51e63da54bfb7bf776d240fc06a19c76272df3aded",
       "bytes": 609672,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-16",
    "title": "CRT-4 0.1.2",
    "notes": "• Fixed: safe mode can be reached over USB again after a crash. If the FM-1 crashed while it was making sound,\n\nsafe mode came up with USB off, so neither the web installer nor M-UPGRADE could find it until it was switched\n\noff and on. (The same fix as SEQ-4 0.1.0's; tried on an FM-1: two crashes on purpose, safe mode, then an install\n\nfrom it.) Nothing else changes.\n\n## Install\n• From the browser (Chrome or Edge, the FM-1 on USB): the web installer. Or try it in the browser first.\n• From the command line: python3 tools/fm1_install.py crt4-0.1.2.fwsc (Python 3 with pip3 install mido python-rtmidi).\n• Going back: the installer's \"Back to the stock firmware\", or M-VAVE's M-UPGRADE.\n\nThe firmware is crt4-0.1.2.fwsc below; its source is this tag. Installing other firmware is at your own risk; see the manual's Troubleshooting."
   },
   "commit": {
    "date": "2026-10-16",
    "title": "Safe mode reachable over USB after a crash (0.1.2)",
    "url": "https://github.com/devrvega/CRT-4/commit/f302c434999ef69a7521c71f0c887b21611bb24a"
   },
   "stars": 0,
   "created": "2026-10-16",
   "about": "CRT-4 turns the M-VAVE FM-1 into a four-track groovebox that plays the sound chips of nine game consoles and home computers. Choose a console and you play it: its drums on the first track and any of its sixteen sounds on the other three…",
   "image": "https://raw.githubusercontent.com/devrvega/CRT-4/HEAD/docs/img/crt4.gif",
   "images": [
    "https://raw.githubusercontent.com/devrvega/CRT-4/HEAD/docs/img/crt4.gif",
    "https://raw.githubusercontent.com/devrvega/CRT-4/HEAD/docs/img/screen-snes.png",
    "https://raw.githubusercontent.com/devrvega/CRT-4/HEAD/docs/img/screen-gameboy.png",
    "https://raw.githubusercontent.com/devrvega/CRT-4/HEAD/docs/img/screen-ps1.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/devrvega~CRT-4.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq-hold",
    "fx",
    "env",
    "arp",
    "scl",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Dabbl8",
   "repo": "grant-vine/dabbl8",
   "by": "grant-vine",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-12",
    "title": "Merge pull request #176 from grant-vine/dabbl8/diagnostic-console-cap…",
    "url": "https://github.com/grant-vine/dabbl8/commit/a152256f24b1a7d9727b921ddb34b03f2b390755"
   },
   "stars": 0,
   "created": "2026-10-08",
   "about": "Dabbl8 is an open-source firmware project for the M-VAVE FM-1, based on Felucca, aiming to deliver eight-track sequencing, multi-engine synthesis and expressive live performance.",
   "image": "https://raw.githubusercontent.com/grant-vine/dabbl8/HEAD/docs/felucca-1.0.png",
   "images": [
    "https://raw.githubusercontent.com/grant-vine/dabbl8/HEAD/docs/felucca-1.0.png",
    "https://raw.githubusercontent.com/grant-vine/dabbl8/HEAD/docs/controls.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/grant-vine~dabbl8.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website",
     "https://sinscum.github.io/DIRGE-darksynth"
    ]
   ],
   "name": "DIRGE darksynth",
   "repo": "sinscum/DIRGE-darksynth",
   "by": "sinscum",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A darksynth and dark ambient adaptation of GHOULBOX: supersaw stacks and two banks of sounds.",
   "stage": "development",
   "note": "No FM-1 package or emulator build of its own yet; the same author's DIRGE (sinscum/DIRGE, on Felucca 1.6.1) is the one with an installer.",
   "seen": "2026-10-22",
   "tools": [],
   "missing": true,
   "missingSince": "2026-10-23T19:57:24.841Z",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "gone",
   "experimental": false
  },
  {
   "links": [],
   "name": "Dock",
   "repo": "stevensnasdell-cmd/dock",
   "by": "stevensnasdell-cmd",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "stage": "development",
   "about": "A 70s/80s backing band for an external sequencer, built on Melodee: four members on their own MIDI channels.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-18",
    "title": "README: Dock as it is now; what's changed from Melodee",
    "url": "https://github.com/stevensnasdell-cmd/dock/commit/11db45adc55bd263df7b5c6f034f06c8dd248cd6"
   },
   "stars": 0,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/stevensnasdell-cmd/dock/HEAD/docs/design/dock/ref/sheet.png",
   "readmeNotes": {
    "version": "",
    "text": "Status: Phase 1, browser only. Dock does not install on an FM-1 yet. Everything is built and tested in a browser emulator that runs the real firmware code. Whether it fits the FM-1's flash and CPU is measured in Phase 2. The plan and every decision are in DOCK.md; changes in CHANGELOG.md.",
    "date": "2026-10-18",
    "url": "https://github.com/stevensnasdell-cmd/dock#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "keremimo/melodee",
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Website",
     "https://joshbartlettband-web.github.io/Double-Rainbow/"
    ],
    [
     "Installer",
     "https://joshbartlettband-web.github.io/Double-Rainbow/webapp/installer/"
    ],
    [
     "Emulator",
     "https://joshbartlettband-web.github.io/Double-Rainbow/webapp/try/"
    ]
   ],
   "name": "Double-Rainbow",
   "repo": "joshbartlettband-web/Double-Rainbow",
   "by": "joshbartlettband-web",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://joshbartlettband-web.github.io/Double-Rainbow/webapp/installer/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-30",
    "title": "Installer: a check before installing, M-VAVE's Open firmware explaine…",
    "url": "https://github.com/joshbartlettband-web/Double-Rainbow/commit/4403a8fbb3211673e4e5a89a03d9c2bff8c1d1d8"
   },
   "stars": 2,
   "created": "2026-10-10",
   "about": "Custom firmware for M-VAVE FM-1 designed for the YA crowd",
   "image": "https://raw.githubusercontent.com/joshbartlettband-web/Double-Rainbow/HEAD/landing/card.png",
   "pageFiles": [
    {
     "name": "melodee-0.13.1-dr.fwsc",
     "url": "https://joshbartlettband-web.github.io/Double-Rainbow/firmware/melodee-0.13.1-dr.fwsc",
     "page": "https://joshbartlettband-web.github.io/Double-Rainbow/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ae400df-8ae52\"",
     "size": 534640,
     "check": {
      "sha256": "f4cff0907a3ed558349b8e68114bf1360ef33aa5a5de69f6076a35af39cf3275",
      "bytes": 568914,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "f4cff0907a3ed558349b8e68114bf1360ef33aa5a5de69f6076a35af39cf3275"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "keremimo/melodee",
   "screens": [
    "home",
    "seq",
    "arp",
    "scl",
    "edit",
    "edit-hold",
    "glo-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/joshbartlettband-web/Double-Rainbow/HEAD/docs/panel.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/joshbartlettband-web~Double-Rainbow.jpg"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Emulator",
     "https://oscillr.github.io/DUELL/emu/"
    ],
    [
     "Installer",
     "https://oscillr.github.io/DUELL/install/"
    ],
    [
     "Editor",
     "https://oscillr.github.io/DUELL/editor/"
    ]
   ],
   "name": "DUELL",
   "repo": "oscillr/DUELL",
   "by": "oscillr",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "status": "Beta: developed in a browser emulator, run on the author's FM-1 only; the way back to V15 tried on that unit only.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://oscillr.github.io/DUELL/install/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://oscillr.github.io/DUELL/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.1",
    "url": "https://github.com/oscillr/DUELL/releases/tag/v1.1",
    "assets": [
     {
      "name": "duell-1.1.fwsc",
      "url": "https://github.com/oscillr/DUELL/releases/download/v1.1/duell-1.1.fwsc",
      "size": 614400,
      "sha256": "f8f8cdee93bc72061c2ac1b82a4d3fa3704aa5a2247b498c6802f7c518c37dc3",
      "check": {
       "sha256": "f8f8cdee93bc72061c2ac1b82a4d3fa3704aa5a2247b498c6802f7c518c37dc3",
       "bytes": 614666,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/oscillr/DUELL/releases/download/v1.1/SHA256SUMS",
      "size": 81,
      "sha256": "d0d040fbea7b09ba2321ab00ab8fea59a63d9b58fbad195f787400316ff1dac1"
     }
    ],
    "date": "2026-10-31",
    "title": "DUELL 1.1",
    "notes": "•\n\n•\n\n•\n\nDUELL MultiMorphing Bitimbral Synthesizer by OSCILL/R\nDUELL 1.1 is an update for the M-VAVE FM-1. The whole user interface is redesigned, so you see more at a glance, and PERFORM, STRUM and MORPH have new things to play with.\n\n## What is new\nThe new design\n• Every page is redesigned.\n• The part marker in the header shows the available voices in POLY, and M, L or U in MONO, LEGATO and UNISON.\n• The quick pages GLO, SEQ, REC, ENV, LFO and EDIT look and behave the same in PERFORM as outside it. While you hold one, the white keys follow that page.\n• The matrix and the CYCLE, SUB and TWIN MOD cards show each value as it sounds at the current morph position, and matrix names are written out in full.\n\nPlay\n• STRUM on the CHORD page (K3): OFF, or 1 to 100ms between the notes of a chord, saved with the patch.\n• On the PERFORM page the SELECT knob is the balance between the two parts.\n• SPLIT starts on the middle key: turn it up from OFF and the first step lands on F#4.\n\nMORPH\n• ROLL is chained: each roll continues from the sound that end has now. UNDO goes back up to two rolls.\n• End B is saved and loaded exactly as it sounds. You can edit B and it is saved with the patch.\n• The SMART and WILD randomizers are reworked.\n\nSequencer\n• Parameter locks are recorded by turning any knob while REC is armed. The PARAMETER LOCKS page is the list where you change, delete and switch what was recorded.\n• New tools TRANS + and TRANS - move the whole pattern by one semitone. SHIFT < and SHIFT > move it in time.\n• Swing runs from 50 to 75 percent on ARP, QUICK SEQ and TEMPO.\n\n## Read this before you flash\n• DUELL has run on two FM-1 units, the author's, and more than 100 people have installed it through the Firmware Hub. The FM-1 has a single copy of its firmware and no known rollback besides the way back to the official firmware (V15).\n• You install at your own risk. No warranty (GPL-3.0). Use a data USB cable straight into the computer and never interrupt the write.\n• DUELL is not affiliated with M-VAVE. M-VAVE's firmware is not distributed here: to go back you download V15 yourself from https://www.m-vave.com/download.\n• Recovery notes: docs/RECOVERY.md.\n\n## Assets\n\nFile | What\n-- | --\nduell-1.1.fwsc | the device package (the installer page loads this one)\nSHA256SUMS | checksums\n\nSHA256: f8f8cdee93bc72061c2ac1b82a4d3fa3704aa5a2247b498c6802f7c518c37dc3 duell-1.1.fwsc\n\n## Links\n• Installer: https://oscillr.github.io/DUELL/install/\n• Web editor: https://oscillr.github.io/DUELL/editor/\n• Emulator: https://oscillr.github.io/DUELL/emu/\n\nKnown limits: docs/KNOWN_LIMITS.md. Bugs: the report form.\n\nDUELL MultiMorphing Bitimbral Synthesizer by OSCILL/R\nDUELL 1.1 is an update for the M-VAVE FM-1. The whole user interface is redesigned, so you see more at a glance, and PERFORM, STRUM and MORPH have new things to play with.\n\nWhat is new\n\nThe new design\n\nEvery page is redesigned.\n\nThe part marker in the header shows the available voices in POLY, and M, L or U in MONO, LEGATO and UNISON.\n\nThe quick pages GLO, SEQ, REC, ENV, LFO and EDIT look and behave the same in PERFORM as outside it. While you hold one, the white keys follow that page.\n\nThe matrix and the CYCLE, SUB and TWIN MOD cards show each value as it sounds at the current morph position, and matrix names are written out in full.\n\nPlay\n\nSTRUM on the CHORD page (K3): OFF, or 1 to 100ms between the notes of a chord, saved with the patch.\n\nOn the PERFORM page the SELECT knob is the balance between the two parts.\n\nSPLIT starts on the middle key: turn it up from OFF and the first step lands on F#4.\n\nMORPH\n\nROLL is chained: each roll continues from the sound that end has now. UNDO goes back up to two rolls.\n\nEnd B is saved and loaded exactly as it sounds. You can edit B and it is saved with the patch.\n\nThe SMART and WILD randomizers are reworked.\n\nSequencer\n\nParameter locks are recorded by turning any knob while REC is armed. The PARAMETER LOCKS page is the list where you change, delete and switch what was recorded.\n\nNew tools TRANS + and TRANS - move the whole pattern by one semitone. SHIFT < and SHIFT > move it in time.\n\nSwing runs from 50 to 75 percent on ARP, QUICK SEQ and TEMPO.\n\nRead this before you flash\n\nDUELL has run on two FM-1 units, the author's, and more than 100 people have installed it through the Firmware Hub. The FM-1 has a single copy of its firmware and no known rollback besides the way back to the official firmware (V15).\n\nYou install at your own risk. No warranty (GPL-3.0). Use a data USB cable straight into the computer and never interrupt the write.\n\nDUELL is not affiliated with M-VAVE. M-VAVE's firmware is not distributed here: to go back you download V15 yourself from https://www.m-vave.com/download.\n\nRecovery notes: docs/RECOVERY.md.\n\nAssets\n\nFile What\n\nduell-1.1.fwsc the device package (the installer page loads this one)\n\nSHA256SUMS checksums\n\nSHA256: f8f8cdee93bc72061c2ac1b82a4d3fa3704aa5a2247b498c6802f7c518c37dc3 duell-1.1.fwsc\n\nLinks\n\nInstaller: https://oscillr.github.io/DUELL/install/\n\nWeb editor: https://oscillr.github.io/DUELL/editor/\n\nEmulator: https://oscillr.github.io/DUELL/emu/\n\nKnown limits: docs/KNOWN_LIMITS.md. Bugs: the report form."
   },
   "commit": {
    "date": "2026-11-01",
    "title": "Docs: LAYER is the default mode; MODE is HOME's third page; BALANCE i…",
    "url": "https://github.com/oscillr/DUELL/commit/77b884adb2be89f2428fa09dfba027de7a865599"
   },
   "stars": 20,
   "created": "2026-10-11",
   "about": "MultiMorphing Bi-timbral Synthesizer · by OSCILL/R for M-VAVE FM-1",
   "image": "https://raw.githubusercontent.com/oscillr/DUELL/HEAD/docs/duell-deck.png",
   "pageFiles": [
    {
     "name": "duell-latest.fwsc",
     "url": "https://oscillr.github.io/DUELL/install/duell-latest.fwsc",
     "page": "https://oscillr.github.io/DUELL/install/",
     "found": "named",
     "etag": "W/\"6ae7ae8c-9610a\"",
     "size": 596003,
     "check": {
      "sha256": "f8f8cdee93bc72061c2ac1b82a4d3fa3704aa5a2247b498c6802f7c518c37dc3",
      "bytes": 614666,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "f8f8cdee93bc72061c2ac1b82a4d3fa3704aa5a2247b498c6802f7c518c37dc3"
    }
   ],
   "pageMentions": [
    {
     "page": "https://oscillr.github.io/DUELL/install/",
     "names": [
      "duell-0.1-beta.fwsc",
      "felucca-0.1-beta.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/oscillr/DUELL/HEAD/docs/duell-deck.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/oscillr~DUELL.jpg"
   ]
  },
  {
   "links": [],
   "name": "EDDA OS",
   "repo": "mrsheez/Felucca",
   "by": "mrsheez",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "about": "Mr. Sheez's live-set fork of Felucca 1.1.5.1: the songs of EDDA: The Arrival, cues, visualisers; not flashed yet.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-30",
    "title": "EDDA OS: the one-file installer's links point at the fork (its source…",
    "url": "https://github.com/mrsheez/Felucca/commit/73003234f08f346dfec2d5f20246c1be3efb5fb3"
   },
   "stars": 0,
   "created": "2026-10-08",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "hugelton/Felucca"
  },
  {
   "links": [
    [
     "Emulator, installer and editor",
     "https://fm-1.drewr.dev/estampie/"
    ]
   ],
   "name": "ESTAMPIE",
   "repo": "ocean/estampie",
   "by": "ocean",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "A mediaeval groovebox (lutes, hurdy-gurdies, shawms, frame drums, old tunings) on GHOULBOX and Felucca 1.6.1.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Emulator, installer and editor",
     "url": "https://fm-1.drewr.dev/estampie/webapp/installer/",
     "from": "list",
     "front": "https://fm-1.drewr.dev/estampie/"
    },
    {
     "kind": "editor",
     "label": "web editor",
     "url": "https://fm-1.drewr.dev/estampie/webapp/editor/",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "v0.3.7",
    "url": "https://github.com/ocean/estampie/releases/tag/v0.3.7",
    "assets": [
     {
      "name": "estampie-0.3.7-app.bin",
      "url": "https://github.com/ocean/estampie/releases/download/v0.3.7/estampie-0.3.7-app.bin",
      "size": 547840,
      "sha256": "66385e86a3dd79a6e5e6942bc3faea0c05d3ade84a872701ad35138496f5bd57"
     },
     {
      "name": "estampie-0.3.7.fwsc",
      "url": "https://github.com/ocean/estampie/releases/download/v0.3.7/estampie-0.3.7.fwsc",
      "size": 610304,
      "sha256": "da65901952440282206cf4a37040215c3b55ed7d301a19d583231e32531b0caf",
      "check": {
       "sha256": "da65901952440282206cf4a37040215c3b55ed7d301a19d583231e32531b0caf",
       "bytes": 610138,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "estampie-site-0.3.7.zip",
      "url": "https://github.com/ocean/estampie/releases/download/v0.3.7/estampie-site-0.3.7.zip",
      "size": 3481272,
      "sha256": "433bf9bc99b42cde1177fd455c2f0c6560a974affc122cd82e5a8af38840ca19"
     },
     {
      "name": "estampie-site-0.3.7.zip.sha256",
      "url": "https://github.com/ocean/estampie/releases/download/v0.3.7/estampie-site-0.3.7.zip.sha256",
      "size": 90,
      "sha256": "51b27e97d35a9006b9f1fcd86ec9ec495debd90ace0446b8fce8fb0bf0aa8c05"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/ocean/estampie/releases/download/v0.3.7/SHA256SUMS",
      "size": 406,
      "sha256": "53ad372738874b59fd83c398ecdd5677b246cf349818a7923e13708b8aad07c8"
     }
    ],
    "date": "2026-10-27",
    "title": "ESTAMPIE 0.3.7",
    "notes": "ESTAMPIE 0.3.7: installs with m-bootloader both ways, and helps you out of the Felucca loop.\n\nInstall it from the browser at https://fm-1.drewr.dev/estampie/webapp/installer/ (Chrome or Edge), or install the .fwsc with FM1Kit or FM-SWITCH. Try it first in your browser at https://fm-1.drewr.dev/estampie/webapp/emu/.\n\n## What's new\n• m-bootloader friendly: ESTAMPIE's USB update now takes any well-made package, after Charles Vestal's fix to Felucca's platform (felucca-bsp afd83ed, MPL-2.0). On an FM-1 with Julius Vitkauskas's m-bootloader, ESTAMPIE installs over it and keeps it, and from ESTAMPIE you can install official V15 (which brings M-VAVE's own bootloader back), M-VAVE's Open V12 and V14, or m-bootloader's own installer. Tested on an FM-1: ESTAMPIE over m-bootloader, V15 from ESTAMPIE, and m-bootloader back on (Open V12 and V14 not yet tried).\n• Out of the Felucca loop: with m-bootloader installed, firmwares on Felucca's older update code (Felucca, GHOULBOX and ESTAMPIE before 0.3.7, among others) install each other but refuse official V15. Install ESTAMPIE 0.3.7, then return to V15 or install anything else from there. The user guide's new \"With m-bootloader\" section explains it, and that the recovery menu's wipe erases your projects and samples.\n• For developers: ./build.sh now writes build/estampie.fwsc (and .bin, .elf), not felucca.*.\n• Built from source, and signed, like every release since 0.3.1: check a file with gh attestation verify estampie-0.3.7.fwsc --repo ocean/estampie --signer-workflow zvenson/fm1-build/.github/workflows/build.yml, or rebuild it and compare with tools/verify_release.sh 0.3.7.\n\nThank you to Charles Vestal for the update fix, Julius Vitkauskas for m-bootloader, and Leo Kuroshita, Jason Persinger and everyone in the README and CREDITS.md. This is early work. Make a backup before you install.\n\nFull changelog: v0.3.6...v0.3.7\n\nSite zip SHA-256: 433bf9bc99b42cde1177fd455c2f0c6560a974affc122cd82e5a8af38840ca19"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "V15's note: m-vave.com serves V16 now; the Internet Archive kept V15",
    "url": "https://github.com/ocean/estampie/commit/54d9206c2acb3bed8e53c0deed00941fa55aef4c"
   },
   "stars": 2,
   "created": "2026-10-15",
   "image": "https://raw.githubusercontent.com/ocean/estampie/HEAD/docs/readme/estampie.jpg",
   "images": [
    "https://raw.githubusercontent.com/ocean/estampie/HEAD/docs/readme/estampie.jpg",
    "https://raw.githubusercontent.com/ocean/estampie/HEAD/docs/screens/vellum.png",
    "https://raw.githubusercontent.com/ocean/estampie/HEAD/docs/screens/tavern.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ocean~estampie.jpg"
   ],
   "pageFiles": [
    {
     "name": "FM-1_015.fwsc",
     "url": "https://fm-1.drewr.dev/estampie/firmware/stock/FM-1_015.fwsc",
     "page": "https://fm-1.drewr.dev/estampie/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aec2672-aae34\"",
     "size": 665626,
     "check": {
      "sha256": "db1642b2b6fa5c2cccb11ffd13878068bb28601678d3644049f99dc40e7edb8a",
      "bytes": 699956,
      "githubSha": null,
      "loader": false,
      "package": false,
      "identity": null,
      "sizeOk": true,
      "ok": false,
      "says": "Not recognised as an FM-1 update package"
     },
     "sha256": "db1642b2b6fa5c2cccb11ffd13878068bb28601678d3644049f99dc40e7edb8a"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://gadlele.github.io/Fantasma/install/"
    ],
    [
     "Emulator",
     "https://gadlele.github.io/Fantasma/try/"
    ]
   ],
   "name": "Fantasma",
   "repo": "Gadlele/Fantasma",
   "by": "Gadlele",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "generative"
   ],
   "seen": "2026-10-20",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://gadlele.github.io/Fantasma/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "fantasma-v1.1",
    "url": "https://github.com/Gadlele/Fantasma/releases/tag/fantasma-v1.1",
    "assets": [
     {
      "name": "Fantasma-1.1.fwsc",
      "url": "https://github.com/Gadlele/Fantasma/releases/download/fantasma-v1.1/Fantasma-1.1.fwsc",
      "size": 610304,
      "sha256": "4bbd4416e25d9717ff166cfc7093a3ee716c5f41350be8543bc6aa37786ddffe",
      "check": {
       "sha256": "4bbd4416e25d9717ff166cfc7093a3ee716c5f41350be8543bc6aa37786ddffe",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/Gadlele/Fantasma/releases/download/fantasma-v1.1/SHA256SUMS",
      "size": 84,
      "sha256": "023dc666605d311f9026c4e23d1f686190d667f62c209cd44b6fa6b8e83e9108"
     }
    ],
    "date": "2026-10-16",
    "title": "Fantasma 1.1",
    "notes": "Tape sounds, in the manner of Boards of Canada:\n• WOW: a preset can now set the LFO for a slow, free wobble of the pitch, a worn tape that slows down and\n\nspeeds up again, and its SPREAD and GLIDE. The presets before 1.1 do not use them and sound as they did.\n• Six new sounds with it, at the end of their engine's list (the numbers of the others do not change):\n\nNOSTALGIA (ANALOG, a detuned pad; on the Pad too), HAZY LEAD (ANALOG, a mono triangle with a slow delay),\n\nTAPE EP (FM6, the tine piano with a lot of chorus), FADED CHOIR (VOICE; on the Pad too), MUSIC BOX\n\n(BELL, a toy bell drifting in pitch) and VHS HISS (AMBI, the hiss and crackle of a running tape).\n• The website plays every sound: the Sounds section has a few seconds of each of the 129 factory sounds,\n\nrendered by the firmware itself.\n\nInstall it from the browser: https://gadlele.github.io/Fantasma/install/"
   },
   "commit": {
    "date": "2026-10-19",
    "title": "Android app 1.1: the neon ghost as its icon (the splash's), versionNa…",
    "url": "https://github.com/Gadlele/Fantasma/commit/5351257efe55ebeb474ff49d90cb33c98580d8b8"
   },
   "stars": 6,
   "created": "2026-10-16",
   "about": "A ghostly, ambient synth firmware for the M-VAVE FM-1. A fork of Felucca",
   "image": "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/device.png",
   "images": [
    "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/device.png",
    "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/seqpage4.png",
    "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/home_ambient.png",
    "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/mixer.png",
    "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/scl.png",
    "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/edit.png",
    "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/lfo.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Gadlele~Fantasma.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesOff": [
    {
     "url": "https://raw.githubusercontent.com/Gadlele/Fantasma/gh-pages/img/splash.gif",
     "why": "its first frame is one colour"
    }
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Blue Hare",
   "repo": "TristanoSuriani/fel-tracker",
   "by": "TristanoSuriani",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "generative"
   ],
   "branch": "tracker",
   "about": "Blue Hare: a near-total rewrite of Felucca 1.4.1 into a 16-engine synthesizer with its own engines (C64 SID, OB-Xa style poly, rave and trance leads, LPC speech, synthesized drum kits), a generative techno player on ARP and a 14-segment LED look, with Felucca's engines and step sequencer removed.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [],
   "commit": null,
   "stars": 2,
   "created": "2026-10-09",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "hugelton/Felucca"
  },
  {
   "links": [
    [
     "Installer",
     "https://hugelton.github.io/Felucca/"
    ],
    [
     "Emulator",
     "https://hugelton.github.io/Felucca/webapp/try/"
    ],
    [
     "Editor",
     "https://hugelton.github.io/Felucca/webapp/editor/"
    ],
    [
     "Manual",
     "https://github.com/hugelton/Felucca/wiki/Home"
    ],
    [
     "Building it",
     "https://github.com/hugelton/Felucca/blob/main/BUILDING.md"
    ]
   ],
   "name": "Felucca",
   "repo": "hugelton/Felucca",
   "by": "hugelton",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "relay": "felucca",
   "note": "Its loader checks the whole package before erasing anything (since 1.1.5).",
   "types": [
    "groovebox"
   ],
   "vetted": "original",
   "about": "The multi-engine synthesizer and sequencer firmware most FM-1 firmwares are built on: thirteen engines, four tracks, a 64-step sequencer.",
   "status": "Maintenance only since 1.6.1: its author has stepped back; occasional fixes, no new features promised.",
   "byTrusted": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://hugelton.github.io/Felucca/webapp/installer/",
     "from": "list",
     "front": "https://hugelton.github.io/Felucca/"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://hugelton.github.io/Felucca/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.7.0",
    "url": "https://github.com/hugelton/Felucca/releases/tag/v1.7.0",
    "assets": [
     {
      "name": "felucca-1.7.0-app.bin",
      "url": "https://github.com/hugelton/Felucca/releases/download/v1.7.0/felucca-1.7.0-app.bin",
      "size": 513024,
      "sha256": "1410b535ba4f4641b0ad6bf704212bacf5aff5887bf8ef4cf38fbb1873c75792"
     },
     {
      "name": "felucca-1.7.0-source.tar.gz",
      "url": "https://github.com/hugelton/Felucca/releases/download/v1.7.0/felucca-1.7.0-source.tar.gz",
      "size": 5882511,
      "sha256": "3578ea2fc44ce19e86f8be806ff3b97c3368f417dd0df5a2e87ff6f55172c7dc"
     },
     {
      "name": "felucca-1.7.0.fwsc",
      "url": "https://github.com/hugelton/Felucca/releases/download/v1.7.0/felucca-1.7.0.fwsc",
      "size": 610304,
      "sha256": "bff7c617cfb2c88e66b22aa691cb798dfa0d9cb12ff9a73deab51d404e82817c",
      "check": {
       "sha256": "bff7c617cfb2c88e66b22aa691cb798dfa0d9cb12ff9a73deab51d404e82817c",
       "bytes": 610286,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-28",
    "title": "Felucca 1.7.0",
    "notes": "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.\n\n## Changes\n• 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.\n• 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.\n• External MIDI clock drift (#269, fgunited): the sequencers and the arpeggiator no longer drift from a long-running external clock.\n• TRS MIDI input (#264, ordenador): the UART is read only on real receive events, with no stale counts.\n• Signed DSP arithmetic and FM6 phase wrapping (#265, ordenador): undefined behaviour removed, with the output bit for bit the same.\n• Fixes (#281, #282, fenderberg): a divide by zero when BPM was briefly 0, and the stress test now builds on Linux.\n\n## Under the hood\n• 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.\n• PHASE has moved to Felucca-Engines (MIT) alongside ANALOG, LOFI, TRIO, WHEEL and NOISE.\n• The Hügelton Sample Pack is CC0 1.0.\n• Clone with git clone --recurse-submodules. felucca-1.7.0-source.tar.gz holds the whole source, both submodules included.\n\n## Files\n• felucca-1.7.0.fwsc: the installable package (identity FM-1_917)\n• felucca-1.7.0-app.bin: the firmware app\n• felucca-1.7.0-source.tar.gz: the complete source",
    "pre": {
     "tag": "v1.8.2-beta",
     "title": "Felucca 1.8.2 (beta)",
     "date": "2026-11-04",
     "url": "https://github.com/hugelton/Felucca/releases/tag/v1.8.2-beta"
    }
   },
   "commit": {
    "date": "2026-11-04",
    "title": "docs: keep README focused on supported FM-1 releases",
    "url": "https://github.com/hugelton/Felucca/commit/a4f007c9211ea5b37298c01ff6d73430fe2cb96a"
   },
   "stars": 653,
   "created": "2026-10-02",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/hugelton~Felucca/home.png",
   "pageFiles": [
    {
     "name": "felucca-1.8.1.fwsc",
     "url": "https://hugelton.github.io/Felucca/firmware/felucca-1.8.1.fwsc",
     "page": "https://hugelton.github.io/Felucca/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aeaff5e-94fee\"",
     "size": 557895,
     "check": {
      "sha256": "187d4a9bc5b555866848d8e2c9964bea134d764cdeb62712a30da1825c5caf15",
      "bytes": 610286,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "187d4a9bc5b555866848d8e2c9964bea134d764cdeb62712a30da1825c5caf15"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/hugelton~Felucca/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/hugelton~Felucca.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://kmplngj.github.io/Felucca/webapp/installer/"
    ],
    [
     "Emulator",
     "https://kmplngj.github.io/Felucca/webapp/try/"
    ],
    [
     "Editor",
     "https://kmplngj.github.io/Felucca/webapp/editor/"
    ]
   ],
   "name": "Felucca (kmplngj's fork)",
   "repo": "kmplngj/Felucca",
   "by": "kmplngj",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "Felucca 1.6.1 gathering engines and fixes from other forks, an opt-in MACRO/Braids engine, CPU and RAM work.",
   "note": "No release of its own: its site installs the latest full build of main. Optional second-core worker is beta and off by default (its README).",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://kmplngj.github.io/Felucca/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://kmplngj.github.io/Felucca/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "latest-dev",
    "url": "https://github.com/kmplngj/Felucca/releases/tag/latest-dev",
    "assets": [
     {
      "name": "Apache-2.0-msfa.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/Apache-2.0-msfa.txt",
      "size": 11059,
      "sha256": "27dd23b62bc11d0806562397a1e782f86fc7dcacd1ba7a1b58d3c78a54795e62"
     },
     {
      "name": "Apache-2.0.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/Apache-2.0.txt",
      "size": 11366,
      "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4"
     },
     {
      "name": "ATTRIBUTION.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/ATTRIBUTION.txt",
      "size": 1935,
      "sha256": "d9b6171396bce707eb16836c1abf82651fae8b1d3eeda3365f5baacf33c1ae59"
     },
     {
      "name": "build-identity.json",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/build-identity.json",
      "size": 291,
      "sha256": "a96974921ffa1ed3475edfdab1976836e52b17f57302fa208409f74cb1168db6"
     },
     {
      "name": "BUILD-PROVENANCE.json",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/BUILD-PROVENANCE.json",
      "size": 32563,
      "sha256": "e7141ab5c9a768d7d50738110605fa66424f9b3c174ab17b84b665a9cb2d1321"
     },
     {
      "name": "CC-BY-SA-3.0-M8Stealth.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/CC-BY-SA-3.0-M8Stealth.txt",
      "size": 22221,
      "sha256": "3f941b3b89cf7b8370ceb83cc76d2120d471b58735d8ca60238a751a48d7f72f"
     },
     {
      "name": "CC0-1.0.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/CC0-1.0.txt",
      "size": 7045,
      "sha256": "a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499"
     },
     {
      "name": "felucca-0.0-dev73c1ed4f-app.bin",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/felucca-0.0-dev73c1ed4f-app.bin",
      "size": 503808,
      "sha256": "7c74668f7d2b62c7eb6db124fddd08a213dfb39c902c198ca601f100534da638"
     },
     {
      "name": "felucca-0.0-dev73c1ed4f-release.tar.gz",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/felucca-0.0-dev73c1ed4f-release.tar.gz",
      "size": 1044480,
      "sha256": "9820af3d182132951874e15b5684d901688e7b969bb388652ffe4b29c815f59c"
     },
     {
      "name": "felucca-0.0-dev73c1ed4f-release.tar.gz.sha256",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/felucca-0.0-dev73c1ed4f-release.tar.gz.sha256",
      "size": 105,
      "sha256": "2168d0672e5f85e291598a460e8baa84f64c43f86a879c2466eb768660d2731c"
     },
     {
      "name": "felucca-0.0-dev73c1ed4f-source.tar.gz",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/felucca-0.0-dev73c1ed4f-source.tar.gz",
      "size": 7707034,
      "sha256": "5b651078734c46c0ff9aaaf92a766c12f98bcfcf39685f48f1e36aee281e0693"
     },
     {
      "name": "felucca-0.0-dev73c1ed4f-source.tar.gz.sha256",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/felucca-0.0-dev73c1ed4f-source.tar.gz.sha256",
      "size": 104,
      "sha256": "62e49ecad6c8ba3895680736928aff75b081ed121c5aa6557d301cad0c3528a3"
     },
     {
      "name": "felucca-0.0-dev73c1ed4f.fwsc",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/felucca-0.0-dev73c1ed4f.fwsc",
      "size": 612352,
      "sha256": "4c85f014401b05e88e03bfde2528703187a1c304b2c35747788a62a76864b278",
      "check": {
       "sha256": "4c85f014401b05e88e03bfde2528703187a1c304b2c35747788a62a76864b278",
       "bytes": 612640,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "LGPL-2.1-snes_spc.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/LGPL-2.1-snes_spc.txt",
      "size": 26419,
      "sha256": "4fd46f32582c29007657e2daad8d0a6d954cf4e9d2e47bae8f8d8c32765fc987"
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/LICENSING.md",
      "size": 14131,
      "sha256": "5444fe418dc836369b33c4da14d0c737b5997cb1d7e36106f7b398ff9aa5b3fc"
     },
     {
      "name": "MIT-Braids.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/MIT-Braids.txt",
      "size": 1690,
      "sha256": "d2d19fff41aa464cf6618db34069c4da24df28fcdd1bfd2d145a27a79ae81d2a"
     },
     {
      "name": "MIT-DaisySP.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/MIT-DaisySP.txt",
      "size": 3174,
      "sha256": "7fa755aede5b5c2a8131a6db692f5818ed8d21dcbe632f41618af03b6d698126"
     },
     {
      "name": "MIT-Felucca-Engines.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/MIT-Felucca-Engines.txt",
      "size": 1106,
      "sha256": "8d7a6483ea3289b07b1d9d5a4b760c8e6c69d22ca4248cad6fec14afa0ee5f4b"
     },
     {
      "name": "MIT-Fukiai.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/MIT-Fukiai.txt",
      "size": 1167,
      "sha256": "fddeab17d69ab85a8e9c593beb0e93c279a9d74ff9504e1804bba123cb63e08e"
     },
     {
      "name": "MIT-Rings.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/MIT-Rings.txt",
      "size": 1761,
      "sha256": "60cd097bf74b2a3a0cadadeddec5d80b6806f83039e6ce9cb0ba511a1f17a2be"
     },
     {
      "name": "MPL-2.0-felucca-bsp.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/MPL-2.0-felucca-bsp.txt",
      "size": 16691,
      "sha256": "1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5"
     },
     {
      "name": "NOTICE-felucca-bsp.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/NOTICE-felucca-bsp.txt",
      "size": 3574,
      "sha256": "8e8990a2a8ff754f1fef27dd36ba4d5c90a1452ed1aafc7582c7859f3f2a7484"
     },
     {
      "name": "OFL-DotGothic16.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/OFL-DotGothic16.txt",
      "size": 4403,
      "sha256": "5e59cab6d61d59a5b3110ed900dce715383cb2626a473dcf77c13c116aa839eb"
     },
     {
      "name": "OFL-InterTight.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/OFL-InterTight.txt",
      "size": 4383,
      "sha256": "50240ab035cf1b6b3307940235481d515c4b6de3ab1fa843dbe59e7892cb9d58"
     },
     {
      "name": "profile-contract.json",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/profile-contract.json",
      "size": 159744,
      "sha256": "934246545ece62a3d427fdb70fb5cde5ae3378bdf8e80081ec066d0cbac29cae"
     },
     {
      "name": "resolved-profile.json",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/resolved-profile.json",
      "size": 25805,
      "sha256": "0be092887f2a14ad68ed2f9ded62692efbd5d6a42ea6ffa8840f1d26351ca494"
     },
     {
      "name": "resource-report.json",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/resource-report.json",
      "size": 118784,
      "sha256": "7b43c25f5ed5c50e7aedf394af4dffc6d35c3caccf2ef99b1f1b056590f2d2ff"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/SHA256SUMS",
      "size": 2560,
      "sha256": "b8b801a8815c65e0a2849563357cb3785f051fa53acc2dc7df29e221ecf93c6f"
     },
     {
      "name": "Tamzen.txt",
      "url": "https://github.com/kmplngj/Felucca/releases/download/latest-dev/Tamzen.txt",
      "size": 1577,
      "sha256": "a968208958611502ff494de85aa5cf1b1dd6c8b5bc9561a6f793dc4a36d2619e"
     }
    ],
    "prerelease": true,
    "date": "2026-11-01",
    "title": "Latest Dev — PR #833 @ 73c1ed4fce36",
    "notes": "## Latest Dev — PR #833\n\nPull request · Commit 73c1ed4fce36 · CI checks\n\nExperimental firmware, not hardware-qualified. Regressions, failed updates and\n\nloss of saved data are possible. This release is replaced after the next validated PR merge.\n• Before installing: FM-1, reliable USB data cable, stable power, backups of\n\nprojects/presets/samples/settings and a verified known-good package.\n• Install: verify felucca-0.0-dev73c1ed4f-release.tar.gz with its .sha256 sidecar,\n\nthen install the .fwsc. Setup and checksum instructions.\n• Recovery: retry the compatible MIDI installer; hold OCT− while powering on\n\nfor USB rescue. If unreachable, follow the ROM/M-Flasher recovery guide.\n\nRecovery is not guaranteed. Read the guide before flashing."
   },
   "commit": {
    "date": "2026-11-01",
    "title": "Merge pull request #834 from kmplngj/codex/tessera-midi-backports",
    "url": "https://github.com/kmplngj/Felucca/commit/ac86ad10ef382dc5f3e132998806a8b307d70da4"
   },
   "stars": 1,
   "created": "2026-10-11",
   "image": "https://raw.githubusercontent.com/kmplngj/Felucca/HEAD/docs/felucca-1.0.png",
   "pageFiles": [
    {
     "name": "felucca-v1.8.0-fork.73c1ed4f.fwsc",
     "url": "https://kmplngj.github.io/Felucca/firmware/felucca-v1.8.0-fork.73c1ed4f.fwsc",
     "page": "https://kmplngj.github.io/Felucca/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ae71fc2-95920\"",
     "size": 549888,
     "check": {
      "sha256": "486c15a5edf54643373a4e029990e8e744cbea6ea8572bd625eef24d9c6e05f8",
      "bytes": 612640,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "486c15a5edf54643373a4e029990e8e744cbea6ea8572bd625eef24d9c6e05f8"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/kmplngj/Felucca/HEAD/docs/felucca-1.0.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/kmplngj~Felucca.jpg"
   ]
  },
  {
   "links": [],
   "name": "Felucca (mediaworkbench's fork)",
   "repo": "mediaworkbench/Felucca",
   "by": "mediaworkbench",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "about": "Felucca 1.6.1 with a Juno-106 DCO engine, a BBD chorus and a TB-303 engine with TB-3PO, after fm-106 and X0X.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-11-05",
    "title": "Merge upstream hugelton/Felucca main (1.8.1, felucca-bsp, AFTERTOUCH,…",
    "url": "https://github.com/mediaworkbench/Felucca/commit/54e4dab4c865686d923747a00cc31bbfa3084dcf"
   },
   "stars": 0,
   "created": "2026-10-20",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "hugelton/Felucca"
  },
  {
   "links": [
    [
     "Installer",
     "https://doohinkus.github.io/Felucca/"
    ],
    [
     "Emulator",
     "https://doohinkus.github.io/Felucca/webapp/try/"
    ]
   ],
   "name": "Felucca (w33tsnx)",
   "repo": "doohinkus/Felucca",
   "by": "doohinkus",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "Felucca 1.6 with the w33tSnx wheat-field and BANANA palettes and a dancing banana on HOME.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://doohinkus.github.io/Felucca/webapp/installer/",
     "from": "list",
     "front": "https://doohinkus.github.io/Felucca/"
    }
   ],
   "commit": {
    "date": "2026-10-25",
    "title": "engines (felucca-lab HARM): final",
    "url": "https://github.com/doohinkus/Felucca/commit/5bad1cb6fc8ab6ddb224168a539723bf78ba309e"
   },
   "stars": 0,
   "created": "2026-10-14",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/doohinkus~Felucca/home.png",
   "pageFiles": [
    {
     "name": "felucca-dev.fwsc",
     "url": "https://doohinkus.github.io/Felucca/firmware/felucca-dev.fwsc",
     "page": "https://doohinkus.github.io/Felucca/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ad41d84-94f26\"",
     "size": 554258,
     "check": {
      "sha256": "ddca47eb793e30edb408578ac94b349e9afe3abebaee2a1af48009c4be0c7811",
      "bytes": 610086,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "ddca47eb793e30edb408578ac94b349e9afe3abebaee2a1af48009c4be0c7811"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/doohinkus~Felucca/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/doohinkus~Felucca.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://chancethemaker.github.io/Felucca/webapp/installer/"
    ],
    [
     "Studio",
     "https://chancethemaker.github.io/Felucca/webapp/editor/"
    ]
   ],
   "name": "Felucca [Salt]",
   "repo": "ChanceTheMaker/Felucca",
   "by": "ChanceTheMaker",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "byTrusted": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://chancethemaker.github.io/Felucca/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Studio",
     "url": "https://chancethemaker.github.io/Felucca/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.9-salt14",
    "url": "https://github.com/ChanceTheMaker/Felucca/releases/tag/v0.9-salt14",
    "assets": [
     {
      "name": "felucca-0.9-salt14.fwsc",
      "url": "https://github.com/ChanceTheMaker/Felucca/releases/download/v0.9-salt14/felucca-0.9-salt14.fwsc",
      "size": 609280,
      "sha256": "efb516a7131d12eb5c008ff9af5a380d07e82eb1040bd03990f28d1233417e28",
      "check": {
       "sha256": "efb516a7131d12eb5c008ff9af5a380d07e82eb1040bd03990f28d1233417e28",
       "bytes": 609662,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "Felucca-Salt-0.9-salt14-source.zip",
      "url": "https://github.com/ChanceTheMaker/Felucca/releases/download/v0.9-salt14/Felucca-Salt-0.9-salt14-source.zip",
      "size": 9290383,
      "sha256": "ba4ccd695cdf50597d0279f24dd37f8be46bd2134fa82d45c62968a0a4fcc48b"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/ChanceTheMaker/Felucca/releases/download/v0.9-salt14/SHA256SUMS",
      "size": 193,
      "sha256": "505a04452259c39d6cbdc1619b786bece35a1575c39cf87fa5a9bb4a435dcfb2"
     }
    ],
    "prerelease": true,
    "date": "2026-10-05",
    "title": "Felucca [Salt] 0.9-salt14 beta",
    "notes": "Felucca [Salt] 0.9-salt14 beta fixes stuck notes on the FM-1's wired TRS MIDI input.\n\nThe receive ring is now read by its actual contents instead of relying on the UART byte count, preventing a missed count from leaving note-on and note-off messages waiting for a later byte. Thanks to keremimo for PR #2 and the device-level investigation.\n\nIncludes the current Salt firmware features: expressive USB/TRS MIDI, clock sync, themes and fonts, preset favorites, MIDI monitor, and web editor controls. Experimental Bluetooth code is excluded.\n\nThe installer and Studio include eight interface languages, flag-based language selection, theme gallery links, feature icons, and theme analytics with the saved cookie opt-out honored.\n\nInstall with Chrome or Edge at https://chancethemaker.github.io/Felucca/webapp/installer/ . An existing salt13 installation needs this firmware update to receive the TRS fix. Website-only changes do not require reflashing.\n\nValidation: firmware build and complete host regression suite passed, including TRS buffer timing/wrap/noise, MIDI expression and clock, themes/favorites/settings, golden DSP renders and CPU budgets, package/installer recovery, web protocol, localization, analytics, and WASM audio tests. The contributor tested the TRS change on an FM-1 with an Akai MPC Sample; this combined release has not been hardware-tested in this session.\n\nAssets include the installable firmware, matching source archive, and SHA-256 checksums. Source commit: 9490527"
   },
   "commit": {
    "date": "2026-10-12",
    "title": "Show transfer and verified restart progress during updates and restor…",
    "url": "https://github.com/ChanceTheMaker/Felucca/commit/1a345338f6eb8fadc239a043cb96c8a34e8a6c69"
   },
   "stars": 8,
   "created": "2026-10-04",
   "about": "Felucca [Salt] by Chance Roth (@ChanceTheMaker), based on Felucca by Leo Kuroshita and Hügelton Instruments. Current Salt release: 0.9-salt14.",
   "image": "https://raw.githubusercontent.com/ChanceTheMaker/Felucca/HEAD/web/screenshots/stage.jpg",
   "images": [
    "https://raw.githubusercontent.com/ChanceTheMaker/Felucca/HEAD/web/screenshots/stage.jpg",
    "https://raw.githubusercontent.com/ChanceTheMaker/Felucca/HEAD/docs/panel.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ChanceTheMaker~Felucca.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://echoe.github.io/Felucca_seq_per_track/webapp/installer/"
    ],
    [
     "Releases",
     "https://github.com/echoe/Felucca_seq_per_track/releases"
    ]
   ],
   "name": "Felucca 8 Patterns",
   "repo": "echoe/Felucca_seq_per_track",
   "by": "echoe",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://echoe.github.io/Felucca_seq_per_track/webapp/installer/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "1.6.1_and_sequences_2",
    "url": "https://github.com/echoe/Felucca_seq_per_track/releases/tag/1.6.1_and_sequences_2",
    "assets": [
     {
      "name": "felucca-1.6.1_sequences_2.fwsc",
      "url": "https://github.com/echoe/Felucca_seq_per_track/releases/download/1.6.1_and_sequences_2/felucca-1.6.1_sequences_2.fwsc",
      "size": 610304,
      "sha256": "09074180318202b8b4ddbbc5f4a5261e90ea54fc3a95dbb6183b1d045786c60e",
      "check": {
       "sha256": "09074180318202b8b4ddbbc5f4a5261e90ea54fc3a95dbb6183b1d045786c60e",
       "bytes": 610090,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-29",
    "title": "tweaking chord mode and generative options, and next steps",
    "notes": "A few more small changes - I had the generative option changed so there's an 'ALGO' knob instead of a scale knob, which was always duplicated by the quantize option in scale anyways. At max the knob favors drum hits, at 0 it does nothing to change them, and in between there are some other algorithm things. the different levels smoothly scale between them.\n\nAlso had the chord mode moved to the third page of SCL, which makes more sense. [Please remember that chord mode needs to be set to PLAY to play chords!]\n\nAlso I, personally, re-increased the strum timing. The LLM lowered the resolution of this so I made it so that this now moves in 20ms increments, so it can take up to 2 seconds per strum. [You can, again, combine all the black keys at once in the strum mode, so you can strum your preferred chords. It's great IMO. No regrets.]\n\nI have a few ideas on next steps here - felucca has version 1.7 out, so I could keep updating this and just rebase! I might, if I feel like it, or if literally anybody wants me to. But I also have a few larger ideas that will take some time to implement and I ... don't have much time right now, so it might look a little quiet. Here's my general ideas around next steps if I keep working on it:\n\n•\nSee if I can set up a new, non-forked repository around felucca-DSP and the non-sample felucca-engines, focusing on a less ... bombastic visual approach than the other forks, with top-down sequence switching and some more opinionated UI instead of the current. I might draw some pixel art but we'll see. [I am not going to use generative AI for art except if the vibecode bot just puts it there ... I'll draw my own and replace it if that happens.]\n\n•\nFigure out if the FM-1 can do live patch swapping per step.\n\n•\nFrom there, I can see if I can have one or two engines of my own design added via the LLM implementing my design docs. I have an idea for a simple drum engine that's a take on what the sh-4d has, that I think could work really well here - and a synth that's basically a more controllable and smaller version of the OP-X synth from a different branch. There are a lot of instruments and I just want the ones I want, you know?\n\nI'll update the readme of this if/when that's ready, to point to the new repo. But we'll see!! Regardless, if you use this branch, I hope you like the small tweaks here."
   },
   "commit": {
    "date": "2026-10-29",
    "title": "updating to latest 1.6.1",
    "url": "https://github.com/echoe/Felucca_seq_per_track/commit/578c77a6adc55c24ef80a110d47a0aa2733634cd"
   },
   "stars": 6,
   "created": "2026-10-09",
   "about": "This custom firmware for M-VAVE FM-1 is a Felucca branch written via free LLM. It adds 8 sequences you can swap between live per track, track sequence chaining, a generative arp engine, and playable/saveable chord mode. It removes user…",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/echoe~Felucca_seq_per_track/home.png",
   "pageFiles": [
    {
     "name": "felucca-1.6.1.fwsc",
     "url": "https://echoe.github.io/Felucca_seq_per_track/firmware/felucca-1.6.1.fwsc",
     "page": "https://echoe.github.io/Felucca_seq_per_track/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ae35b3c-94f2a\"",
     "size": 562010,
     "check": {
      "sha256": "09074180318202b8b4ddbbc5f4a5261e90ea54fc3a95dbb6183b1d045786c60e",
      "bytes": 610090,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "09074180318202b8b4ddbbc5f4a5261e90ea54fc3a95dbb6183b1d045786c60e"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [],
   "name": "Felucca MPE (monch1962's fork)",
   "repo": "monch1962/mvave-fm1-mpe",
   "by": "monch1962",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "Felucca 1.6.1 with MPE as a MIDI IN route: per-note pitch bend, pressure and CC74 timbre from an MPE controller.",
   "experimental": true,
   "status": "Source only: no package yet, and its README does not say it has run on an FM-1.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "baseline",
    "url": "https://github.com/monch1962/mvave-fm1-mpe/releases/tag/baseline",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-16",
    "title": "baseline",
    "notes": "Licensing: PHASE is Felucca's own engine; the Hügelton Sample Pack is…"
   },
   "commit": {
    "date": "2026-10-23",
    "title": "bank tool: first weight-shape pass + make --report, fill skips OTHER",
    "url": "https://github.com/monch1962/mvave-fm1-mpe/commit/2aaeae37eef590dacdac609e76d84fc821c5c698"
   },
   "stars": 0,
   "created": "2026-10-21",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source"
  },
  {
   "links": [
    [
     "Installer",
     "https://chancethemaker.github.io/felucca-smk/"
    ],
    [
     "Studio",
     "https://chancethemaker.github.io/felucca-smk/editor.html"
    ],
    [
     "Simulator",
     "https://chancethemaker.github.io/felucca-smk/simulator.html"
    ]
   ],
   "name": "Felucca SMK",
   "repo": "ChanceTheMaker/felucca-smk",
   "by": "ChanceTheMaker",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "board": "smk37",
   "types": [
    "groovebox"
   ],
   "about": "Custom synthesizer firmware, browser Studio and interactive simulator for M-VAVE SMK-37 Pro & Elite.",
   "byTrusted": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://chancethemaker.github.io/felucca-smk/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Studio",
     "url": "https://chancethemaker.github.io/felucca-smk/editor.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.9.30",
    "url": "https://github.com/ChanceTheMaker/felucca-smk/releases/tag/v0.9.30",
    "assets": [
     {
      "name": "felucca-smk-0.9.30-app.bin",
      "url": "https://github.com/ChanceTheMaker/felucca-smk/releases/download/v0.9.30/felucca-smk-0.9.30-app.bin",
      "size": 429056,
      "sha256": "e8ff418cb1eba18b92dd43b22eca08d8bd6e1e5165596c2775c08d749cf5b488"
     },
     {
      "name": "felucca-smk-0.9.30-source.zip",
      "url": "https://github.com/ChanceTheMaker/felucca-smk/releases/download/v0.9.30/felucca-smk-0.9.30-source.zip",
      "size": 13316915,
      "sha256": "a65057cec057f12719df8fb349030323e75b782ab762b982c4b666703d3f1a48"
     },
     {
      "name": "public-release.json",
      "url": "https://github.com/ChanceTheMaker/felucca-smk/releases/download/v0.9.30/public-release.json",
      "size": 1352,
      "sha256": "67c1798803ec1fb069e0dd262f9cb744bcffd68fb4240d7b13f2749a821ce602"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/ChanceTheMaker/felucca-smk/releases/download/v0.9.30/SHA256SUMS",
      "size": 278,
      "sha256": "a93990ffe295dc80e5181079eed70a586e7358c764ddce04e94173bb7f0fc2fb"
     }
    ],
    "prerelease": true,
    "date": "2026-10-22",
    "title": "Felucca SMK 0.9.30 Beta",
    "notes": "Install and original-firmware restore discover compatible devices running old or corrected peer firmware names. OG restore depends on the helper protocol and selected model rather than the custom firmware version; custom installs require the selected application digest. Windows SMK Pro retains native process-isolated USB, with no browser MIDI fallback. Model, token, flash and package checks remain intact.\n\nValidation: native helper/client, discovery, simulated hosted Chrome install/restore, package and site checks passed. Simulated browser tests do not claim a physical Chrome disconnect test. Update local Windows helper copies from this branch. Felucca SMK 0.9.30 integrates upstream 1.6.1 and corrected USB names. This exact application passed owner Pro install/restart, version/name checks, saved conditional-project load, editor responses, stereo USB audio and original Pro 016 restore/restart. Its 0.9.29 foundation passed owner controls/sound/save/cold-restart validation. Elite/EB6014, final-build cold power-cycle and long-run checks remain unverified. Application SHA-256: e8ff418cb1eba18b92dd43b22eca08d8bd6e1e5165596c2775c08d749cf5b488. No experimental Bluetooth code included."
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Release Felucca SMK 0.9.30 after verified Pro round trip",
    "url": "https://github.com/ChanceTheMaker/felucca-smk/commit/9a73145a6ed631cae8431367b77d2bfb6b3ac52f"
   },
   "stars": 7,
   "created": "2026-10-11",
   "image": "https://raw.githubusercontent.com/ChanceTheMaker/felucca-smk/HEAD/web/screenshots/smk/studio-browser.webp",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/ChanceTheMaker/felucca-smk/HEAD/web/screenshots/smk/studio-browser.webp",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ChanceTheMaker~felucca-smk.jpg"
   ]
  },
  {
   "links": [
    [
     "SMK-37 notes (build and install)",
     "https://github.com/genkigenki/Felucca/blob/smk37/SMK37.md"
    ],
    [
     "Port kit",
     "https://github.com/genkigenki/fm1-to-smk37"
    ]
   ],
   "name": "Felucca SMK-37",
   "repo": "genkigenki/Felucca",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "Felucca 1.6 on the M-Vave SMK-37 keyboard, with its wheels, pads and faders.",
   "relay": "smk37",
   "board": "smk37",
   "note": "For the M-Vave SMK-37 keyboard (SMK-37 Pro, Elite, MKE-P37), not the FM-1: Felucca 1.6 with genkigenki's board layer (hugelton/Felucca#237). Its installer checks the model on every path and refuses an FM-1 package.",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "SMK-37 notes (build and install)",
     "url": "https://github.com/genkigenki/Felucca/blob/smk37/SMK37.md",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-15",
    "title": "SMK-37 Pro target (BOARD=smk37); the FM-1 build unchanged",
    "url": "https://github.com/genkigenki/Felucca/commit/b67312cd25bd01b097ed69388b83e86bd8449365"
   },
   "stars": 0,
   "created": "2026-10-11",
   "image": "https://raw.githubusercontent.com/genkigenki/Felucca/smk37/docs/felucca-1.0.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Felucca Tutor",
   "repo": "wochende/FM-1-Felucca-Tutor",
   "by": "wochende",
   "fam": "felucca",
   "lic": "?",
   "about": "A tutorial firmware: synthesis, sequencing, grooves and pattern chaining, guided step by step on the screen.",
   "types": [
    "theory"
   ],
   "stage": "development",
   "status": "A plan and a small Arduino skeleton so far; no Felucca code and nothing to install yet.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-15",
    "title": "feat: add interactive Felucca motion recording and manual lesson stru…",
    "url": "https://github.com/wochende/FM-1-Felucca-Tutor/commit/20c73515f99c3a09673c0131e503d21e1a5eebe0"
   },
   "stars": 0,
   "created": "2026-10-15",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer",
     "https://thomasgregorymarsden-code.github.io/Felucca-opx/"
    ],
    [
     "Emulator",
     "https://thomasgregorymarsden-code.github.io/Felucca-opx/webapp/try/"
    ],
    [
     "Editor",
     "https://thomasgregorymarsden-code.github.io/Felucca-opx/webapp/editor/"
    ]
   ],
   "name": "Felucca-opx",
   "repo": "thomasgregorymarsden-code/Felucca-opx",
   "by": "thomasgregorymarsden-code",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://thomasgregorymarsden-code.github.io/Felucca-opx/webapp/installer/",
     "from": "list",
     "front": "https://thomasgregorymarsden-code.github.io/Felucca-opx/"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://thomasgregorymarsden-code.github.io/Felucca-opx/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.2.0",
    "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/tag/v0.2.0",
    "assets": [
     {
      "name": "opx-0.2.0.fwsc",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/opx-0.2.0.fwsc",
      "size": 610304,
      "sha256": "a4a917bfaeaf9d77ff4221979af5ca017075a47e9504f1c28fe6ce163a1a37bc",
      "check": {
       "sha256": "a4a917bfaeaf9d77ff4221979af5ca017075a47e9504f1c28fe6ce163a1a37bc",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "ATTRIBUTION.txt",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/ATTRIBUTION.txt",
      "size": 1935,
      "sha256": "d9b6171396bce707eb16836c1abf82651fae8b1d3eeda3365f5baacf33c1ae59"
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/LICENSES.zip",
      "size": 15974,
      "sha256": "5ae6ac7bf9cbe7654dd1ac8ad40789e326431cf0710daec2f4f0b1684f339916"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/LICENSING.md",
      "size": 8305,
      "sha256": "3a2eb84ebd1399a252607444253753c0348f01dea57616fd750a7babe3789ed8"
     },
     {
      "name": "opx-0.2.0-app.bin",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/opx-0.2.0-app.bin",
      "size": 580608,
      "sha256": "58a9a53573112b48dab932823947b1b7047a7b63bc52f1fb0e71799d07108b0f"
     },
     {
      "name": "opx-0.2.0-web.zip",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/opx-0.2.0-web.zip",
      "size": 1034240,
      "sha256": "050fccb3cef8f0f0687a8ffcaaae599c5b35a640f737555a1dd1e8b7866e9fa6"
     },
     {
      "name": "opx-solo-0.2.0-app.bin",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/opx-solo-0.2.0-app.bin",
      "size": 547840,
      "sha256": "fd01abc29a420acc8b68bd53dcdb2696a2eff51d2349d182674532d9bb8e2cc7"
     },
     {
      "name": "opx-solo-0.2.0.fwsc",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/opx-solo-0.2.0.fwsc",
      "size": 610304,
      "sha256": "20e91106c5db4e9c67017fe33c2550149252299e38ac22be0c7a4277b4b762d1",
      "check": {
       "sha256": "20e91106c5db4e9c67017fe33c2550149252299e38ac22be0c7a4277b4b762d1",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/releases/download/v0.2.0/SHA256SUMS",
      "size": 340,
      "sha256": "0fde748beba8120c7cd01b8e32fe2d71d532892d94d7a56759bf2435e9bf89c3"
     }
    ],
    "date": "2026-10-29",
    "title": "OPX 0.2.0",
    "notes": "Two firmwares, each with its own installer, editor and simulator:\n• OPX (opx-0.2.0.fwsc, identity FM-1_9001): Felucca 1.5.1's four parts with the OPX engine.\n• OPX Solo (opx-solo-0.2.0.fwsc, identity FM-1_9002): one OPX part with the memory of all four: every opsix effect, SHORT DELAY to 300 ms.\n\nInstallers: OPX https://thomasgregorymarsden-code.github.io/Felucca-opx/webapp/installer/ · OPX Solo https://thomasgregorymarsden-code.github.io/Felucca-opx/opx-solo/webapp/installer/\n\n•\nOPX Solo's factory patches use the new effects and voice settings (F9 onward; F1-F8, shared with OPX,\n\nunchanged): rotary speaker on PERC ORGAN and ROCK ORGAN; chorus on E.GRAND, POLY KEYS, STEEL PAN, VOX LEAD, the\n\npads and POLY SYNTH; the string machine's ensemble (U.ENS) on STRINGS, SLOW STRGS, VIOLINS, MS STRINGS; shimmer\n\nreverb on SHIMMER, HALO, SPACE WIND; spring on FUZZ GTR and LASER; tape echo on LO-FI KEYS, FAT LEAD, SOFT LEAD,\n\nSYNC LEAD and DUB CHORD; tempo delays on KALIMBA, SQUARE LD, BELL LEAD, RANDOM PAD, BLIP; early reflections on\n\nTRUMPET, SAXOPHONE, CLAP; GRAIN on COMPUTER and GLITCH. Glide on the mono leads; legato slides on ACID BASS, 808 SUB,\n\nFRETLESS, TROMBONE, CELLO. A patch with its own delay or reverb has its DELAY send at 0 (that bus is silent while\n\nit plays). Levels re-matched with PROG LEVEL (within ~1 dB of before). opx_test --audit estimates each patch's\n\nshare of the processor (COST: six notes and the effects, from the device benchmark); every Solo patch is under ~66\n\nbut AIR PAD (~74, unchanged: two FILTER-mode operators).\n\n•\nVoice section (M6): each OPX patch carries the opsix's PROG LEVEL, BEND UP / DOWN and VOICE page (ASSIGN,\n\nGLIDE and its time, UNISON voices, DETUNE, SPREAD). Picking a patch (SLOT, PRESETS, the editor) sets the track's\n\nVOICE settings from it; OPERATORS' VOICE rows store them back into the patch. PROG LEVEL counts from the INIT's\n\n-6.0 dB (every earlier patch plays as before); BEND sets an OPX track's pitch-wheel range; UNISON plays the patch's\n\nvoice count (up to the engine's six) and DETUNE spans 0-200 cents. OPERATORS' P.PITCH section is now PROG, with\n\nBEND +, BEND - and LEVEL; the web editor has a \"Level and voice\" section. Factory patches marked mono now store\n\nASSIGN MONO.\n\n•\nOPX Solo: the operators' SHORT DELAY reaches the opsix's 300 ms (OPX: 16.5 ms, as before). Up to 64 ms it\n\nruns at the full rate; longer times at a lower one, the repeats darker (300 ms: ~4 kHz wide).\n\n•\nOPX Solo plays every effect: the delays (DLY, DLYBPM, PDLY, PDLBPM, TDLY, TDLBPM), REF, REVERB, SHVERB, SPRING\n\nand GRAIN, in Felucca's DELAY bus's memory: while one of them is on, the patch's DELAY send is silent. Up to three at\n\nonce share it (each delay's longest time shrinks as more share; past what fits the echoes run at a lower rate,\n\ndarker). The INIT patch's FX3 REVERB HALL is now heard there. OPX (four parts) is unchanged. The benchmark has a row\n\nfor each.\n\n•\nOPX Solo plays six more effects: CHO, U.ENS, FLNG, FLNBPM, RTRY and ENH (a 21 ms line per FX slot, 12 KB). The\n\nINIT patch's FX1 (CHO) is now heard there. OPX (four parts) is unchanged: the 13 cheap\n\ntypes. The web editor marks the types the connected firmware plays.\n\n•\nRenamed: Felucca-OPX is now OPX, Felucca-OPX Solo OPX Solo (the firmware's screens, the web pages, the\n\ndocuments; the release files opx-X.Y.Z.fwsc, opx-solo-X.Y.Z.fwsc). The repository keeps its name, the package\n\nidentities (FM-1_9001, 9002) and the version strings stay.\n\n•\nA logo on the power-on screen: an FM wave disc (six rings, each a sine whose phase another sine bends, cyan to\n\nred, round a white disc with OPX), the firmware's name, its version and Felucca's maker. Drawn, not stored: no image\n\nin flash. In colour in every palette; ABOUT shows it small beside the title (still). On the power-on screen it is\n\nanimated: the rings fade in from the centre as circles, take on their lobes and bends, and the bends then travel\n\nround the rings for 3 s, ending on the still logo, which holds 0.25 s. The screen stays 3.25 s (Felucca's splash: 0.4 s),\n\nthe keys silent under it as before. MENU > ANIM OFF: the still logo.\n\n•\nA CPU meter in the header: the audio's share of the processor, after the REC mark, updated four times a second;\n\ngrey, the accent from 70 %, REC's red from 85 % (where the audio drops a voice). The figure alone when a slot letter\n\nleaves no room for the %.\n\n•\n126 factory patches in OPX Solo, eight in OPX. Original sounds in the categories opsix users'\n\nsoundsets have: keys (EPs, a piano, clavinet, harpsichord, organs), plucks, bells and mallets, basses, leads, brass\n\nand winds, pads and strings, drums, effects, chords and sequences. They use the opsix's tricks: operator modes (ring\n\nmodulation, wave folder, band-pass operators as formants, the comb), fixed-frequency operators for drums, chords on\n\none key from carrier ratios, fake hard sync from a pitch envelope, tempo-synced gating, sample-and-hold. Every patch\n\ngives the MOD WHEEL something to do; their levels are matched (opx_test --audit). OPX has the first\n\neight (its flash has room for no more, with ~1 KB to spare): the seven of before and DRAWBARS. The\n\nbank is tools/opx_factory_bank.py (tools/opx_factory.py compiles it to the firmware's tables): the place to\n\nadd or change a factory patch.\n\n•\nSLOT's values are fixed: F1–F126 0–125, OWN 126, INIT 127, in both firmwares (OWN and INIT followed F7 before).\n\nOPX's knob skips the F numbers it lacks. A project or preset from Solo whose SLOT is one of those comes back\n\nwith its own copy of the patch as OWN (every project with an OPX track carries its patches), or F1 without one. A\n\nsound of 0.1.0 or before with its own patch (OWN was 7) is OWN again; one without its patch plays F8.\n\n•\nFix: DIST and G.AMP could leave a constant offset after the sound stopped (a high-pass's rounding: up to ~1 %\n\nof full scale); the 3-band EQ and DIST's EQ could hold one too at low frequencies (their filter carries its rounding\n\n…"
   },
   "commit": {
    "date": "2026-10-29",
    "title": "OPX Solo: the editor connects (NAMES of 126 patches overflowed the re…",
    "url": "https://github.com/thomasgregorymarsden-code/Felucca-opx/commit/e6cc849088ce40d7cbd5185aa4f93cbb7f155cd3"
   },
   "stars": 2,
   "created": "2026-10-12",
   "about": "Custom firmware for M-VAVE FM-1: fork of felucca to add a Korg Opsix style engine",
   "image": "https://raw.githubusercontent.com/thomasgregorymarsden-code/Felucca-opx/HEAD/docs/opx-screens.png",
   "images": [
    "https://raw.githubusercontent.com/thomasgregorymarsden-code/Felucca-opx/HEAD/docs/opx-screens.png",
    "https://raw.githubusercontent.com/thomasgregorymarsden-code/Felucca-opx/HEAD/docs/controls.jpg"
   ],
   "pageFiles": [
    {
     "name": "felucca-opx-e6cc849.fwsc",
     "url": "https://thomasgregorymarsden-code.github.io/Felucca-opx/dev/firmware/felucca-opx-e6cc849.fwsc",
     "page": "https://thomasgregorymarsden-code.github.io/Felucca-opx/dev/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ae38741-94f26\"",
     "size": 592470,
     "check": {
      "sha256": "14af010ea924dcaeec019e55d4314841bd56997bbf9ee1f4053dc9c088c12e9b",
      "bytes": 610086,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "14af010ea924dcaeec019e55d4314841bd56997bbf9ee1f4053dc9c088c12e9b"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "FM-1 Studio Tess",
   "repo": "jamesusmusic/fm1-studio-tess",
   "by": "jamesusmusic",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "generative",
    "synth"
   ],
   "about": "Melodee's synths with Melodee Tess's generative sequencing and studio additions (v1.4.1-studio-tess.6).",
   "experimental": true,
   "status": "Development snapshot: its author reports it works; full hardware testing and an FM6 fault still open.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-17",
    "title": "Credit Studio Tess contributions to Inputsignwave and record engine-p…",
    "url": "https://github.com/jamesusmusic/fm1-studio-tess/commit/3a764d619c5f7bd51ff76cc40f7ab7f5b843a44e"
   },
   "stars": 0,
   "created": "2026-10-16",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source"
  },
  {
   "links": [],
   "name": "FM-1 TRACKER",
   "repo": "mene311/Felucca",
   "by": "mene311",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "about": "A tracker-first fork of Felucca 1.4: a MATRIX page of sections and tracks, and a vertical tracker view on SEQ.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v1.1.5.1",
    "url": "https://github.com/mene311/Felucca/releases/tag/v1.1.5.1",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-08",
    "title": "v1.1.5.1: Felucca 1.1.5.1",
    "notes": "SCREEN OFF no longer leaves the FM-1 unresponsive: the screen goes dark\n\nbut the backlight stays on (its line also enables the buttons and keys,\n\nso on 1.1.5 nothing woke the screen until the FM-1 was switched off).\n\nSCREEN OFF is NEVER by default; 1.1.5's stored default (30 MIN) reads\n\nas NEVER.\n\nThe SCREEN OFF row in the MENU shows the new value at once (hugelton#157, hugelton#160)."
   },
   "commit": {
    "date": "2026-10-09",
    "title": "docs: tracker view covers drum lanes too",
    "url": "https://github.com/mene311/Felucca/commit/d3038ca962045fca3e4b48f12a7e6e6486d17d62"
   },
   "stars": 0,
   "created": "2026-10-09",
   "image": "https://raw.githubusercontent.com/mene311/Felucca/HEAD/docs/felucca-1.0.png",
   "images": [
    "https://raw.githubusercontent.com/mene311/Felucca/HEAD/docs/felucca-1.0.png",
    "https://raw.githubusercontent.com/mene311/Felucca/HEAD/docs/controls.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "fm1-amy",
   "repo": "dpwe/fm1-amy",
   "by": "dpwe",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "AMY's emulation of the Juno-60's 128 factory patches as a six-voice synth, on X0X's platform.",
   "experimental": true,
   "status": "Experimental: built, installed and played on one FM-1; no package yet (built from source).",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-28",
    "title": "fm1-amy: build AMY with its own trim options; no doubles, no %f",
    "url": "https://github.com/dpwe/fm1-amy/commit/729e940fbf363c18947a7f4664eec71649625c04"
   },
   "stars": 2,
   "created": "2026-10-22",
   "image": "https://raw.githubusercontent.com/dpwe/fm1-amy/HEAD/docs/img/fm1-amy.jpg",
   "images": [
    "https://raw.githubusercontent.com/dpwe/fm1-amy/HEAD/docs/img/fm1-amy.jpg",
    "https://raw.githubusercontent.com/dpwe/fm1-amy/HEAD/docs/img/amy-screens.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/dpwe~fm1-amy.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "fm1-chord",
   "repo": "math0ne/fm1-chord",
   "by": "math0ne",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "theory"
   ],
   "status": "Runs on an FM-1 (installed with tools/fm1_install.py) and on the host simulator; its v0.3 release notes are older and still say it had not run on hardware.",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.3",
    "url": "https://github.com/math0ne/fm1-chord/releases/tag/v0.3",
    "assets": [
     {
      "name": "fm1-chord-0.3-app.bin",
      "url": "https://github.com/math0ne/fm1-chord/releases/download/v0.3/fm1-chord-0.3-app.bin",
      "size": 535552,
      "sha256": "37c5df0346381ab753867b3a79c6199e06585fdcff1baa833dc50f3506f252e7"
     },
     {
      "name": "fm1-chord-0.3.fwsc",
      "url": "https://github.com/math0ne/fm1-chord/releases/download/v0.3/fm1-chord-0.3.fwsc",
      "size": 610304,
      "sha256": "e2d06d0bfd4cd93bb0913494496a526775cb4661a3f2973818c4dd696807d145",
      "check": {
       "sha256": "e2d06d0bfd4cd93bb0913494496a526775cb4661a3f2973818c4dd696807d145",
       "bytes": 609851,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/math0ne/fm1-chord/releases/download/v0.3/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/math0ne/fm1-chord/releases/download/v0.3/LICENSING.md",
      "size": 5949,
      "sha256": "08effb2541df3c62efc842c7013a9c5f1680ae398a4b3f4fc4a28fd81ba54192"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/math0ne/fm1-chord/releases/download/v0.3/SHA256SUMS",
      "size": 173,
      "sha256": "2b8549953ff424b5d1aba5ed654651c5d7985fc57f7589897df3ab971381bd38"
     }
    ],
    "date": "2026-10-09",
    "title": "fm1-chord 0.3",
    "notes": "fm1-chord 0.3 for the M-VAVE FM-1 (a Felucca fork).\n\nfm1-chord-0.3.fwsc installs with Felucca's command line installer\n\n(python3 tools/fm1_install.py <file>) or M-VAVE's own updater. Not yet run on hardware:\n\nbuild the FM-1-transporter recovery dongle and dump the stock flash before flashing.\n\nGPL-3.0; the licences of what the package carries are in LICENSES/."
   },
   "commit": {
    "date": "2026-10-16",
    "title": "The SDK port: STRUM and ARP modes, attack and release on KNOB 3 / 4",
    "url": "https://github.com/math0ne/fm1-chord/commit/5117c27f094f9aa028dc663abaa2b3d61a3dbaa5"
   },
   "stars": 15,
   "created": "2026-10-06",
   "about": "A chord machine instrument firmware for the M-VAVE FM-1, built on Felucca",
   "image": "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/home_c7.png",
   "images": [
    "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/home_c7.png",
    "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/home_slash.png",
    "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/home_inverted.png",
    "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/home_fx.png",
    "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/pick_sound.png",
    "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/pick_env.png",
    "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/menu_key.png",
    "https://raw.githubusercontent.com/math0ne/fm1-chord/HEAD/screenshots/menu_sound_amount.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp-hold",
    "scl",
    "edit",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website and installer",
     "https://ruppert.github.io/fmini-1/"
    ],
    [
     "Emulator",
     "https://ruppert.github.io/fmini-1/emu/"
    ],
    [
     "Patch editor",
     "https://ruppert.github.io/fmini-1/editor/"
    ]
   ],
   "name": "FMini-1",
   "repo": "ruppert/fmini-1",
   "by": "ruppert",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A Minimoog Model D emulation on Felucca, with effects, an arpeggiator, a sequencer and a web patch editor.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Website and installer",
     "url": "https://ruppert.github.io/fmini-1/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Patch editor",
     "url": "https://ruppert.github.io/fmini-1/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.2.0",
    "url": "https://github.com/ruppert/fmini-1/releases/tag/v2.2.0",
    "assets": [
     {
      "name": "fmini-1-fm1-2.2.0.fwsc",
      "url": "https://github.com/ruppert/fmini-1/releases/download/v2.2.0/fmini-1-fm1-2.2.0.fwsc",
      "size": 610304,
      "sha256": "bb6073766c5b1116ffb13bebf8d73aecb74ae4b3f5caaf871eca9c91e32e69fd",
      "check": {
       "sha256": "bb6073766c5b1116ffb13bebf8d73aecb74ae4b3f5caaf871eca9c91e32e69fd",
       "bytes": 610082,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-04",
    "title": "FMini-1 v2.2.0",
    "notes": "FMini-1 firmware for the M-VAVE FM-1. But it is easier to install using the official website (Click here)."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "FMini-1 2.2.11: PRESET SETTINGS page and pop-up",
    "url": "https://github.com/ruppert/fmini-1/commit/5329aeab75e6f8e24e78271c3511d5dd2206b818"
   },
   "stars": 31,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/banner.png",
   "images": [
    "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/banner.png",
    "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/screen-splash.png",
    "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/screen-osc.png",
    "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/screen-mix.png",
    "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/screen-filter.png",
    "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/screen-fx.png",
    "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/screen-preset.png",
    "https://raw.githubusercontent.com/ruppert/fmini-1/HEAD/assets/readme/screen-arp.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ruppert~fmini-1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "FORGE ONE",
   "repo": "kkasemsa/FORGE-ONE",
   "branch": "forge",
   "by": "kkasemsa",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "generative",
    "groovebox"
   ],
   "about": "Felucca 1.6.1 with FORGE, a seeded melody and beat generator, 45 song starters and a live PERFORM mode.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://kkasemsa.github.io/FORGE-ONE/webapp/installer/",
     "from": "site"
    }
   ],
   "commit": {
    "date": "2026-11-04",
    "title": "Merge pull request #7 from kkasemsa/size-ui",
    "url": "https://github.com/kkasemsa/FORGE-ONE/commit/6b9428965f1ca406f5a6e48cfefd6ea86f6e6523"
   },
   "stars": 0,
   "created": "2026-10-21",
   "image": "https://raw.githubusercontent.com/kkasemsa/FORGE-ONE/forge/assets/forge-one/forge-one-logo.png",
   "pageFiles": [
    {
     "name": "felucca-1.6.1.fwsc",
     "url": "https://kkasemsa.github.io/FORGE-ONE/firmware/felucca-1.6.1.fwsc",
     "page": "https://kkasemsa.github.io/FORGE-ONE/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ad9548a-94f2a\"",
     "size": 553410,
     "check": {
      "sha256": "dff3a38f7e5b9833e15aba322558c9485e9e422e3ff813c616c91b3584a2d909",
      "bytes": 610090,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "dff3a38f7e5b9833e15aba322558c9485e9e422e3ff813c616c91b3584a2d909"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "hugelton/Felucca",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website and emulator",
     "https://ghoulbox.messy.quest"
    ],
    [
     "Installer",
     "https://ghoulbox.messy.quest/webapp/installer/"
    ],
    [
     "Editor",
     "https://ghoulbox.messy.quest/webapp/editor/"
    ],
    [
     "Guide (PDF)",
     "https://github.com/jasonpersinger/ghoulbox-fm1-dungeon-synth/blob/HEAD/docs/guide/GHOULBOX-User-Guide-2.3.pdf"
    ]
   ],
   "name": "GHOULBOX",
   "repo": "jasonpersinger/ghoulbox-fm1-dungeon-synth",
   "by": "jasonpersinger",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "note": "Felucca 1.1.5's loader; a USB-alive rescue after a crash loop.",
   "types": [
    "groovebox",
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://ghoulbox.messy.quest/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://ghoulbox.messy.quest/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "ghoulbox-v2.4",
    "url": "https://github.com/jasonpersinger/ghoulbox-fm1-dungeon-synth/releases/tag/ghoulbox-v2.4",
    "assets": [
     {
      "name": "ghoulbox-2.4.fwsc",
      "url": "https://github.com/jasonpersinger/ghoulbox-fm1-dungeon-synth/releases/download/ghoulbox-v2.4/ghoulbox-2.4.fwsc",
      "size": 610304,
      "sha256": "92630ae278d4a0b4233ff2512b62ad9b5dbe976a4c9083046222d9293a8df749",
      "check": {
       "sha256": "92630ae278d4a0b4233ff2512b62ad9b5dbe976a4c9083046222d9293a8df749",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "GHOULBOX-User-Guide-2.4-print.pdf",
      "url": "https://github.com/jasonpersinger/ghoulbox-fm1-dungeon-synth/releases/download/ghoulbox-v2.4/GHOULBOX-User-Guide-2.4-print.pdf",
      "size": 1090519,
      "sha256": "254fd2e84d1eedbdce141044b2c013559fd8a0cf376943ade5a9fc2cac1fedb6"
     },
     {
      "name": "GHOULBOX-User-Guide-2.4.pdf",
      "url": "https://github.com/jasonpersinger/ghoulbox-fm1-dungeon-synth/releases/download/ghoulbox-v2.4/GHOULBOX-User-Guide-2.4.pdf",
      "size": 1090519,
      "sha256": "42220c29a67469875e32653b349b1217e89682633e87a739fb132c6cdb924a56"
     }
    ],
    "date": "2026-10-24",
    "title": "GHOULBOX 2.4",
    "notes": "GHOULBOX 2.4: change the scene live, sleep timer, FREEZE, the sequencer to your DAW, and three fixes.\n\nInstall or update: first save a backup (the installer doesn't make one): open the web editor, connect the FM-1, and on the Settings tab press Save backup. Then open https://ghoulbox.messy.quest/webapp/installer/ in Chrome or Edge and press Install.\n\nUser guide (PDF) (updated for 2.4; printer-friendly) · Play it in your browser · Hear every sound · Video lessons · Every free FM-1 firmware\n\n## What's new in 2.4\n• SCENES: change the music live. Tap HOME on the home screen until SCENES shows (after DREAM). Its first five white keys switch to DUNGEON (F3), CRYPT (G3), TAVERN (A3), CHAPEL (B3) or BLANK (C4) while the music plays: a short fade out, the scene's four sounds, patterns and tempo, a fade back in. Made for game masters: the party walks into the tavern, you press one key. A scene replaces your four tracks, so save first if you want to keep them.\n• SLEEP. MENU › SYSTEM › SLEEP: OFF, 30, 60 or 90 minutes. After that long without touching the FM-1 (or playing it over MIDI), the music fades out over two minutes and stops. Touch anything to bring the sound back. For game nights, study and sleep.\n• FREEZE: keep the pass you liked. DREAM's notes each have a chance, so every pass is a little different. When one sounds right, hold SEQ and press F4: the selected track's steps become exactly what that pass played, and EVOL turns off so the piece stays put. Hold SAVE to undo.\n• SEQ OUT. MENU › MIDI › SEQ OUT ON sends what the sequencer plays (DREAM's parts too) out over USB MIDI, each track on its own channel, so the FM-1 can play your DAW's instruments. OFF by default. In the DAW, don't send that MIDI back to the FM-1, or every note plays twice.\n\n## Fixed\n• The CRYPT kit's shaker no longer cuts off its jingles (they were treated as a hi-hat pair).\n• Letting go of the FX layer now puts a MIDI CC74 filter back where your controller left it, instead of opening it.\n• The web editor names a CRYPT kit's lanes: FRAME, ROPE, SLAP, SHAKR, JINGL, TIMP, STICK, GONG.\n\n## Removed\n• MENU › SYSTEM › USB SERIAL and the developer console behind it (off by default since 1.2). That made room for the above, and a Mac now always finds the FM-1's USB audio.\n\n## Your saved music\n\nProjects, user presets and settings load and sound as before.\n\n## Notes\n• 2.4 has not been tested on an FM-1 yet. Its full test suite and the browser emulator (the same firmware) pass. Save a backup first, and install at your own risk; you can always go back to 2.3.2 or the official firmware with the installer.\n• The FM-1 Firmware Hub picks up ghoulbox-2.4.fwsc from this release."
   },
   "commit": {
    "date": "2026-10-24",
    "title": "Merge pull request #24 from jasonpersinger/ghoulbox-2.4",
    "url": "https://github.com/jasonpersinger/ghoulbox-fm1-dungeon-synth/commit/9f2b9a22e456d7fe9552b40f7a1d0c13200913bb"
   },
   "stars": 83,
   "created": "2026-10-07",
   "about": "GHOULBOX: dungeon synth firmware for the M-VAVE FM-1 (a fork of Felucca): cathedral reverb, tape, hurdy-gurdy engine, 59 curated sounds, old-RPG screen",
   "image": "https://raw.githubusercontent.com/jasonpersinger/ghoulbox-fm1-dungeon-synth/HEAD/docs/ghoulbox-1.0.png",
   "pageFiles": [
    {
     "name": "felucca-gb2.4.fwsc",
     "url": "https://ghoulbox.messy.quest/firmware/felucca-gb2.4.fwsc",
     "page": "https://ghoulbox.messy.quest/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ae7b4f7-94f26\"",
     "size": 584953,
     "check": {
      "sha256": "92630ae278d4a0b4233ff2512b62ad9b5dbe976a4c9083046222d9293a8df749",
      "bytes": 610086,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "92630ae278d4a0b4233ff2512b62ad9b5dbe976a4c9083046222d9293a8df749"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/jasonpersinger/ghoulbox-fm1-dungeon-synth/HEAD/docs/ghoulbox-1.0.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/jasonpersinger~ghoulbox-fm1-dungeon-synth.jpg"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://erikdevos.github.io/glitchbox/"
    ]
   ],
   "name": "Glitchbox",
   "repo": "erikdevos/glitchbox",
   "by": "erikdevos",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "Broken, dirty performance firmware: self-chopping synths, crushed leads and drums, stutter effects. A fork of Felucca 1.5.1.",
   "types": [
    "groovebox",
    "experimental"
   ],
   "stage": "emulator",
   "experimental": true,
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-16",
    "title": "Presets carry an INSERT; KNOB ACCEL on by default; emulator REC badge…",
    "url": "https://github.com/erikdevos/glitchbox/commit/902868510b307e1ed31c43eedd29991e16e42700"
   },
   "stars": 3,
   "created": "2026-10-12",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/erikdevos~glitchbox.jpg",
   "readmeNotes": {
    "version": "",
    "text": "Status: experimental. Glitchbox has only run in the host tests and the browser emulator so far, not yet on a real FM-1. CPU headroom on the device has not been measured. Flash at your own risk and read Flashing first.",
    "date": "2026-10-16",
    "url": "https://github.com/erikdevos/glitchbox#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator"
  },
  {
   "links": [
    [
     "Website and how-to",
     "https://gnomad.cc/"
    ]
   ],
   "name": "Gnomad",
   "repo": "kpalaniuk/gnomad-firmware",
   "by": "kpalaniuk",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "groovebox"
   ],
   "about": "Felucca made easy for kids: sounds picked as pictures, four coloured knobs, a singing gnome, grooves and a looper.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v1.0.0-r12",
    "url": "https://github.com/kpalaniuk/gnomad-firmware/releases/tag/v1.0.0-r12",
    "assets": [
     {
      "name": "gnomad-v1-115e11e-source.tar.gz",
      "url": "https://github.com/kpalaniuk/gnomad-firmware/releases/download/v1.0.0-r12/gnomad-v1-115e11e-source.tar.gz",
      "size": 7287603,
      "sha256": "132a9f3288b04303af6346ceecc7969f5d967107413df5f31e29a2c5f9f39866"
     },
     {
      "name": "gnomad-v1-115e11e.fwsc",
      "url": "https://github.com/kpalaniuk/gnomad-firmware/releases/download/v1.0.0-r12/gnomad-v1-115e11e.fwsc",
      "size": 610304,
      "sha256": "8bab81bb3cf3a197a7f9c7a4b07ae962a45a2ae90b85bd88ae267fc2a707d052",
      "check": {
       "sha256": "8bab81bb3cf3a197a7f9c7a4b07ae962a45a2ae90b85bd88ae267fc2a707d052",
       "bytes": 609849,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "manifest.json",
      "url": "https://github.com/kpalaniuk/gnomad-firmware/releases/download/v1.0.0-r12/manifest.json",
      "size": 1126,
      "sha256": "ce99ee36442ff8c7cfd5038c4cfa729479ce313974665ab93fd45007390318f1"
     },
     {
      "name": "manifest.json.sig",
      "url": "https://github.com/kpalaniuk/gnomad-firmware/releases/download/v1.0.0-r12/manifest.json.sig",
      "size": 89,
      "sha256": "5b655f47c6cb858afc3ae213ed2bbe1b5b10b49fa09e32c20cf00f23d9355dd1"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/kpalaniuk/gnomad-firmware/releases/download/v1.0.0-r12/SHA256SUMS",
      "size": 351,
      "sha256": "058af8451eebdf48eba6ad8793e4d59fdfbee8bd791f2981486cb172286fab56"
     }
    ],
    "date": "2026-10-20",
    "title": "Gnomad Synth V1 115e11 (release 12)",
    "notes": "Gnomad Synth V1 115e11: free firmware for the M-VAVE FM-1 that a kid can play in a minute, with a full synth underneath. No app needed.\n• EASY mode: 10 pictures, 57 sounds. Each sound gives the four coloured knobs their own jobs.\n• The Gnome sings, there are five ready-made grooves, and you can record a loop with a count-in.\n• Restart or stop on the bar, add fills, and try a sound before you record it.\n• Advanced mode keeps every page of the synth (hold HOME + SAVE for 2 s).\n\nInstall: see INSTALL.md. You need Python 3 with mido and python-rtmidi, then python3 tools/fm1_install.py gnomad-v1-115e11e.fwsc. Installing from a Mac is proven. Linux and Windows aren't tested by us yet. Going back to stock firmware hasn't been proven on real hardware yet. Read the warning in INSTALL.md before you start.\n\nWhat's new: release 12 plays as release 11 did; its source comments and change record are rewritten for publication. CHANGES.md.\n\nFiles\n• gnomad-v1-115e11e.fwsc: the package to install (SHA-256 8bab81bb3cf3a197a7f9c7a4b07ae962a45a2ae90b85bd88ae267fc2a707d052)\n• gnomad-v1-115e11e-source.tar.gz: the complete corresponding source (GPL-3.0) that this build was made from. The repository holds the same tree, plus its README, INSTALL, CHANGES and build docs; the CI workflows are left out.\n• manifest.json + manifest.json.sig: the signed manifest the upcoming iOS/iPad app reads\n• SHA256SUMS\n\nWant the iOS/iPad app (lessons, Music with the Gnome, a kids' Learning pack)? Post in Discussions → iOS app.\n\nBased on Felucca 1.0.1 by Leo Kuroshita / Hügelton Instruments (GPL-3.0-only). Not affiliated with M-VAVE or Hügelton Instruments. Installing custom firmware is at your own risk."
   },
   "commit": {
    "date": "2026-10-20",
    "title": "Gnomad Synth V1 115e11 (release 12): the released source",
    "url": "https://github.com/kpalaniuk/gnomad-firmware/commit/3675315d9962464b2eccbb0da7f2ec48fe15e3a9"
   },
   "stars": 6,
   "created": "2026-10-20",
   "image": "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/tests/gn_screens/easy-3c-pick.png",
   "images": [
    "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/tests/gn_screens/easy-3c-pick.png",
    "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/tests/gn_screens/easy-3b-bells.png",
    "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/tests/gn_screens/easy-9b-gnome-sings.png",
    "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/tests/gn_screens/easy-flow1-grooves.png",
    "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/tests/gn_screens/easy-flow1-recording-click.png",
    "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/tests/gn_screens/easy-flow1-restart-next-bar.png",
    "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/docs/gnomad/gnomad-map-controls.png",
    "https://raw.githubusercontent.com/kpalaniuk/gnomad-firmware/HEAD/docs/gnomad/gnomad-map-sound.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/kpalaniuk~gnomad-firmware.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://gadlele.github.io/Golana/install/"
    ],
    [
     "Emulator",
     "https://gadlele.github.io/Golana/try/"
    ]
   ],
   "name": "Golana",
   "repo": "Gadlele/Golana",
   "by": "Gadlele",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://gadlele.github.io/Golana/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "golana-v1.3",
    "url": "https://github.com/Gadlele/Golana/releases/tag/golana-v1.3",
    "assets": [
     {
      "name": "Golana-1.3.fwsc",
      "url": "https://github.com/Gadlele/Golana/releases/download/golana-v1.3/Golana-1.3.fwsc",
      "size": 610304,
      "sha256": "49806d009e140d1e90a1396d0f8caf54870d9d633d3ade2718ec0461b9501745",
      "check": {
       "sha256": "49806d009e140d1e90a1396d0f8caf54870d9d633d3ade2718ec0461b9501745",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/Gadlele/Golana/releases/download/golana-v1.3/SHA256SUMS",
      "size": 82,
      "sha256": "886e4e0de53377a4dd7197b78005471a6815ac1c6f5792063809003a473e7f1b"
     }
    ],
    "date": "2026-10-26",
    "title": "Golana 1.3",
    "notes": "• OSC 1's CTRL 1 and CTRL 2 say what they do: their names change with the WAVE (SAW: OCTAVE, OCT LFO; PULSE:\n\nWIDTH, PWM; TRI: FOLD, FOLD LFO; SINE: X-MOD, XMOD LFO), PULSE's WIDTH shows its duty in %, the drawing shows\n\nfaintly how far CTRL 2 (LFO 1) moves the wave, and the page's fourth card is LFO 1's rate.\n• HOME's scope, quicker and with a trail: redrawn every frame with lines only, as Felucca's. A new view, TRAIL\n\n(the default): the wave now, the last ones behind it in the palette's second colour (NIGHT: orange and green),\n\nabout 30 ms of sound (two or three cycles of a bass). ORBIT and RIDGE leave a trail too; TRAIL takes RING's place.\n• New waves: OSC 1's MORPH (CTRL 1 from the saw to the square), OSC 2's MIX (a saw and a square at\n\nonce), and four new SUB types: -1 SAW, -2 SAW, -1 MIX, -2 MIX.\n• Cleaner oscillators: the wavefolders (FOLD, TRI's fold) without most of their aliasing (ADAA), SINE's cross\n\nmodulation a little shallower high up (in tune, no whistling), and every note starts its oscillators from its own\n\npoint of the wave, as an analog synth's (the attacks a little alive, no longer all alike).\n• Mod wheel (MIDI CC1): a vibrato on its own, or, routed in the PATCH, the sources MODW, MW*LFO1,\n\nMW*LFO2 (an LFO as deep as the wheel) and AFTER (aftertouch).\n• SCALE LOCK (SCL › SCALE): every key and MIDI note in the scale you choose (16 scales, any key).\n• CHORD (SCL › CHORD): a key or a MIDI note plays a chord: the scale's own triad or seventh, or a fixed shape\n\n(MAJ, MIN, DOM7, MAJ7, MIN7, SUS4, POW), in five voicings.\n• SUPERSAW, a new factory sound in program 25 (a program you wrote there stays).\n\nInstall it from the browser: https://gadlele.github.io/Golana/install/"
   },
   "commit": {
    "date": "2026-10-26",
    "title": "Android app 1.3 (versionCode 4)",
    "url": "https://github.com/Gadlele/Golana/commit/dbae4640fd28e650fe2a90b81db9ef4b2098ed6a"
   },
   "stars": 12,
   "created": "2026-10-12",
   "about": "Golana turns the M-VAVE FM-1 into a single, deep analog-style synthesizer with its own interface: two oscillators, five filters, two envelopes, two LFOs, a patch bay, an arpeggiator and a step sequencer. Every page draws what it does. It is…",
   "image": "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/device.png",
   "images": [
    "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/device.png",
    "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/home_notes.png",
    "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/edit.png",
    "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/scl.png",
    "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/env.png",
    "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/lfo.png",
    "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/patch.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Gadlele~Golana.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "edit",
    "glo"
   ],
   "imagesOff": [
    {
     "url": "https://raw.githubusercontent.com/Gadlele/Golana/gh-pages/img/splash.gif",
     "why": "its first frame is one colour"
    }
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Golana DZ Edition",
   "repo": "dzwerg/Golana-DZ",
   "by": "dzwerg",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "groovebox"
   ],
   "experimental": true,
   "about": "Golana with a 64-step sequencer, 32 program slots, a song mode across programs and USB MIDI out.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.2.2-beta1",
    "url": "https://github.com/dzwerg/Golana-DZ/releases/tag/v0.2.2-beta1",
    "assets": [
     {
      "name": "felucca-0.2.2-beta1.fwsc",
      "url": "https://github.com/dzwerg/Golana-DZ/releases/download/v0.2.2-beta1/felucca-0.2.2-beta1.fwsc",
      "size": 610304,
      "sha256": "12515f4f33ac2f323b1c6b998117ab7aa5a0cde30bf7caa2a64cc68a114e67ed",
      "check": {
       "sha256": "12515f4f33ac2f323b1c6b998117ab7aa5a0cde30bf7caa2a64cc68a114e67ed",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-10-18",
    "title": "Golana DZ v0.2.2-beta1",
    "notes": "SONG END, ALGO-Menü, REC, MIDI-SysEx v2 und Flash-Speicherung. Build und Hosttests bestanden. Hardwaretests laufen."
   },
   "commit": {
    "date": "2026-10-18",
    "title": "docs: link miniBRUTE project",
    "url": "https://github.com/dzwerg/Golana-DZ/commit/c612ca1abcfb69513d7a09da5abe622a15463aff"
   },
   "stars": 0,
   "created": "2026-10-16",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/dzwerg~Golana-DZ/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "parent": "Gadlele/Golana",
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "edit",
    "glo"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://thebrodi.github.io/fm1-haave/try/"
    ]
   ],
   "name": "Haave",
   "repo": "thebrodi/fm1-haave",
   "by": "thebrodi",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "about": "A dreamy ambient Felucca for live meditation: a chord progression that plays itself, layers toggled on the keys.",
   "status": "Work in progress: runs on its author's FM-1 and in the browser; no public release yet.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-30",
    "title": "Heard on the FM-1's speaker: bass with overtones, owl above the music…",
    "url": "https://github.com/thebrodi/fm1-haave/commit/5cc648303cd90281b1e79598e1f4d52a510d546f"
   },
   "stars": 0,
   "created": "2026-10-17",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/thebrodi~fm1-haave.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false
  },
  {
   "links": [
    [
     "Emulator",
     "https://deadactive.github.io/hortator/"
    ],
    [
     "Installer",
     "https://deadactive.github.io/hortator/webapp/installer/"
    ]
   ],
   "name": "Hortator",
   "repo": "DeadActive/hortator",
   "by": "DeadActive",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "note": "Felucca 0.9's loader, pinned by hash; a USB-alive rescue after a crash loop.",
   "types": [
    "groovebox"
   ],
   "bt": "midi",
   "btHow": "In its separate -bluetooth package only (a BLE central: BLE-MIDI keyboards and clock, the SMC-Mixer as a mixer); off at power-on unless MENU > BLUETOOTH AUTOSTART is ON, which starts it 5 s after power-on.",
   "about": "An eight-track drum machine grown from an early Felucca (just past 0.9-beta): Felucca's synth engines and four-part instrument are replaced by 45 drum voices (808 / 909 models, Plaits-derived voices and 21 voices modelled on Machinedrum measurements) plus a 303-style ACID bass, with its own step sequencer, Grids, a Streams sidechain compressor, per-track LFOs, filter and resonator, a PERFORM layer, and a separate Bluetooth MIDI build.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://deadactive.github.io/hortator/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "editor",
     "url": "https://deadactive.github.io/hortator/webapp/editor/",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "drum-v1.0.1",
    "url": "https://github.com/DeadActive/hortator/releases/tag/drum-v1.0.1",
    "assets": [
     {
      "name": "hortator-1.0.1.fwsc",
      "url": "https://github.com/DeadActive/hortator/releases/download/drum-v1.0.1/hortator-1.0.1.fwsc",
      "size": 609280,
      "sha256": "ac81af292e035ee0c4b8b7ab3a78b942e4f03deee31ae213a2613c743cd9110f",
      "check": {
       "sha256": "ac81af292e035ee0c4b8b7ab3a78b942e4f03deee31ae213a2613c743cd9110f",
       "bytes": 609649,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "hortator-1.0.1-bluetooth.fwsc",
      "url": "https://github.com/DeadActive/hortator/releases/download/drum-v1.0.1/hortator-1.0.1-bluetooth.fwsc",
      "size": 609280,
      "sha256": "3d5fc15367945576cc590dac20269b108658fd592200b9e4c3626f9b7c8aab61",
      "check": {
       "sha256": "3d5fc15367945576cc590dac20269b108658fd592200b9e4c3626f9b7c8aab61",
       "bytes": 609649,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/DeadActive/hortator/releases/download/drum-v1.0.1/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/DeadActive/hortator/releases/download/drum-v1.0.1/LICENSES.zip",
      "size": 8479,
      "sha256": "a0735f48814ef59d526bc64e3b8749d8743b69b1bc28f31ffd6c63348dd58ef2"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/DeadActive/hortator/releases/download/drum-v1.0.1/LICENSING.md",
      "size": 7045,
      "sha256": "7cd553a6dfade7ed443627685a8754578aae7d25f34579c7211bba82998f0258"
     }
    ],
    "date": "2026-11-03",
    "title": "Hortator 1.0.1",
    "notes": "• Newer FM-1s save again: FM-1s sold recently come with a different flash chip of the same size. Hortator now\n\nrecognises it, so projects, presets and settings are saved on these units instead of staying in memory with a\n\nflash error.\n\nInstall: https://deadactive.github.io/hortator/webapp/installer/ (Chrome or Edge, over USB). The package holds JieLi SDK files under Apache-2.0: see LICENSING.md and LICENSES.zip below.\n\nTwo versions: hortator-1.0.1.fwsc, and hortator-1.0.1-bluetooth.fwsc, the same Hortator with Bluetooth MIDI (experimental; off at every power-on). The web installer offers both."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Tests: the nav's Guide button leads to the full manual",
    "url": "https://github.com/DeadActive/hortator/commit/44c9ad4aa57bebf63f412bd552e57143c30b4065"
   },
   "stars": 52,
   "created": "2026-10-07",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/DeadActive~hortator.jpg",
   "pageFiles": [
    {
     "name": "felucca-drum-1.0.1-c8cca2c.fwsc",
     "url": "https://deadactive.github.io/hortator/firmware/felucca-drum-1.0.1-c8cca2c.fwsc",
     "page": "https://deadactive.github.io/hortator/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aec439d-94d71\"",
     "size": 482665,
     "check": {
      "sha256": "ac81af292e035ee0c4b8b7ab3a78b942e4f03deee31ae213a2613c743cd9110f",
      "bytes": 609649,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "ac81af292e035ee0c4b8b7ab3a78b942e4f03deee31ae213a2613c743cd9110f"
    },
    {
     "name": "felucca-drum-1.0.1-c8cca2c-ble.fwsc",
     "url": "https://deadactive.github.io/hortator/firmware/felucca-drum-1.0.1-c8cca2c-ble.fwsc",
     "page": "https://deadactive.github.io/hortator/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aec439d-94d71\"",
     "size": 579770,
     "check": {
      "sha256": "3d5fc15367945576cc590dac20269b108658fd592200b9e4c3626f9b7c8aab61",
      "bytes": 609649,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "3d5fc15367945576cc590dac20269b108658fd592200b9e4c3626f9b7c8aab61"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env-hold",
    "lfo",
    "arp",
    "edit",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/DeadActive/hortator/HEAD/docs/panel.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/DeadActive~hortator.jpg"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer and recovery",
     "https://cut-a-dor.sugarypixie10.chatgpt.site/install/"
    ],
    [
     "Browser editor",
     "https://cut-a-dor.sugarypixie10.chatgpt.site/dojo.html"
    ]
   ],
   "name": "Cut-A-Dor",
   "repo": "kidbee85-beep/cut-a-dor-release",
   "by": "kidbee85-beep",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "A beat machine: dusty drums and breaks on eight lanes, generated rhythms, punch-in effects and an FX tape.",
   "note": "Start from M-VAVE's V15; its release also carries M-VAVE's own V15 package for going back.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and recovery",
     "url": "https://cut-a-dor.sugarypixie10.chatgpt.site/install/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Browser editor",
     "url": "https://cut-a-dor.sugarypixie10.chatgpt.site/dojo.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.2.1",
    "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/tag/v1.2.1",
    "assets": [
     {
      "name": "Cut-A-Dor-1.2.1-Sensei-FM1.fwsc",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/Cut-A-Dor-1.2.1-Sensei-FM1.fwsc",
      "size": 609280,
      "sha256": "5d4be92061cc5bf1396d3ff599ac3a1ef9ec1261afe003b74e32f4298307f614",
      "check": {
       "sha256": "5d4be92061cc5bf1396d3ff599ac3a1ef9ec1261afe003b74e32f4298307f614",
       "bytes": 609696,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "Cut-A-Dor-1.2.1-Source.zip",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/Cut-A-Dor-1.2.1-Source.zip",
      "size": 15518925,
      "sha256": "9ee372ae674ba8a0e49fdebfb9df489609f344c79df627f696d678eaad2a65f8"
     },
     {
      "name": "Cut-A-Dor-Recovery-Kit.zip",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/Cut-A-Dor-Recovery-Kit.zip",
      "size": 17720934,
      "sha256": "adfbe9e44cdbedfd49c12645fca6341bb13eb027ccd83c2211f22ddef8810406"
     },
     {
      "name": "Cut-A-Dor-Soundbanks.zip",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/Cut-A-Dor-Soundbanks.zip",
      "size": 2181038,
      "sha256": "01408a1552258444fcb2e23a208b5558fe596c015ba7551588e7066b8b9fbd3d"
     },
     {
      "name": "Cut-A-Dor-Website.zip",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/Cut-A-Dor-Website.zip",
      "size": 16148070,
      "sha256": "f8d047e8f86b1338d3400e960ac67cfe4eed3a16b10f139a6efbcf54c5e2bbb2"
     },
     {
      "name": "FM-1-Original-V15.fwsc",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/FM-1-Original-V15.fwsc",
      "size": 700416,
      "sha256": "db1642b2b6fa5c2cccb11ffd13878068bb28601678d3644049f99dc40e7edb8a",
      "check": {
       "sha256": "db1642b2b6fa5c2cccb11ffd13878068bb28601678d3644049f99dc40e7edb8a",
       "bytes": 699956,
       "githubSha": true,
       "loader": false,
       "package": false,
       "identity": null,
       "sizeOk": true,
       "ok": false,
       "says": "Not recognised as an FM-1 update package"
      }
     },
     {
      "name": "QUICKSTART.txt",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/QUICKSTART.txt",
      "size": 2755,
      "sha256": "10378f125b3ef2c920a8533e564d524c2672cef199ac1a2b21845fb4100c1787"
     },
     {
      "name": "release-manifest.json",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/release-manifest.json",
      "size": 1710,
      "sha256": "3f67b3cfd62eadadeef4e3947c8170d674cd26226d3683eb5f33c513d621d861"
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/SHA256SUMS.txt",
      "size": 715,
      "sha256": "826147c7933f02c0e047e5bc92f416206237cbc128e4fd5db66bfd16e6f4a2c8"
     },
     {
      "name": "TEST-REPORT.txt",
      "url": "https://github.com/kidbee85-beep/cut-a-dor-release/releases/download/v1.2.1/TEST-REPORT.txt",
      "size": 2212,
      "sha256": "640a56e32c7e89520d4892b01b01548ee98f6930a61ad9e53a41147887453011"
     }
    ],
    "date": "2026-10-18",
    "title": "Cut-A-Dor 1.2.1 — Finish the Silence",
    "notes": "## Finish the silence.\n\nCut-A-Dor 1.2.1 — the dirty little beat dojo. By Kid Bunka.\n\nFree M-VAVE FM-1 rhythm firmware, a real browser instrument/editor, 76 factory sounds and 48 expansion hits. Eight recordable punch effects. Step editing. MIDI sync. No black belt required. Cannot do your taxes.\n\nPLAY / WEBSITE · EDITOR · INSTALL / RECOVERY\n\nExpected identity: FM-1_7010201. Start from M-VAVE Original V15 / FM-1_015. Download the recovery kit first. No intermediate custom firmware is required. Projects and audio banks are separate backups.\n\nThe firmware image is unchanged from the owner-tested package. Read TEST-REPORT.txt for software checks and physical-test limits. Browser pattern edits stay in the browser; USB tools upload sound banks and export device projects. No live device pattern or project upload is claimed.\n\nFull editable source is present at this tag and on main. Fork, modify and redistribute under GPL-3.0-only, retaining corresponding source and licences. Sample audio is CC0; fonts retain their own licences. Original V15 is manufacturer recovery software, not GPL code. Independent project; no manufacturer endorsement.\n\nAssets include firmware, complete source, curated soundbanks, an offline website, recovery kit, quick start and SHA-256 fingerprints. The offline website needs Python 3; keep source and recovery downloads separately for offline use."
   },
   "commit": {
    "date": "2026-10-18",
    "title": "Release Cut-A-Dor 1.2.1: complete editable source, editor, firmware a…",
    "url": "https://github.com/kidbee85-beep/cut-a-dor-release/commit/d9799abb84fef0cc59deb05e2f6a4c41032c32f1"
   },
   "stars": 4,
   "created": "2026-10-18",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/kidbee85-beep~cut-a-dor-release.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx-hold",
    "env-hold",
    "lfo-hold",
    "arp-hold",
    "scl-hold",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "Erik37",
   "repo": "genkigenki/erik37",
   "by": "genkigenki",
   "fam": "indep",
   "lic": "MPL-2.0",
   "types": [
    "synth"
   ],
   "about": "A sampled grand piano for the SMK-37 (and an FM-1 build): velocity layers, dampers, pedals, resonance; on fm1-base.",
   "board": "smk37",
   "experimental": true,
   "status": "1.1: played on an SMK-37 Pro; it also ships an FM-1 build that is not yet tried on a unit.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.2",
    "url": "https://github.com/genkigenki/erik37/releases/tag/v1.2",
    "assets": [
     {
      "name": "erik37.fwsc",
      "url": "https://github.com/genkigenki/erik37/releases/download/v1.2/erik37.fwsc",
      "size": 651264,
      "sha256": "a83285d8e6ef9291bd613a248ff78a0c3e6efc02d231fcc53fb6e5d2ac3ac638",
      "check": {
       "sha256": "a83285d8e6ef9291bd613a248ff78a0c3e6efc02d231fcc53fb6e5d2ac3ac638",
       "bytes": 651224,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "erik37-elite.fwsc",
      "url": "https://github.com/genkigenki/erik37/releases/download/v1.2/erik37-elite.fwsc",
      "size": 651264,
      "sha256": "1d6b2ca90d6403bb4e9b3a1a805a719d314523afaea5f835bf7e3cec347e99a3",
      "check": {
       "sha256": "1d6b2ca90d6403bb4e9b3a1a805a719d314523afaea5f835bf7e3cec347e99a3",
       "bytes": 651228,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "erik37-fm1.fwsc",
      "url": "https://github.com/genkigenki/erik37/releases/download/v1.2/erik37-fm1.fwsc",
      "size": 610304,
      "sha256": "8497d58eef3d65214ae09817656afa53206899fd8364c3171173fa5e22a3fbe2",
      "check": {
       "sha256": "8497d58eef3d65214ae09817656afa53206899fd8364c3171173fa5e22a3fbe2",
       "bytes": 610108,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "erik37-mke.fwsc",
      "url": "https://github.com/genkigenki/erik37/releases/download/v1.2/erik37-mke.fwsc",
      "size": 651264,
      "sha256": "9a1d892e84992c2bd2ce00244f37cc77b7892078f348552e74cad84d6cba5224",
      "check": {
       "sha256": "9a1d892e84992c2bd2ce00244f37cc77b7892078f348552e74cad84d6cba5224",
       "bytes": 651220,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-22",
    "title": "Erik37 1.2",
    "notes": "Install from https://genkigenki.github.io/smk37/ (Chrome or Edge), or with any Felucca installer: one package per model.\n• Release noise level: TONE & TOUCH K4, 0 (off) to 100. 100 is 1.1's level; 40 at first.\n• Notes that held on (erik37#1): only the pedal holds notes by default.\n• The PEDAL jack's rest position is learnt once the reading is steady, or set on PEDALS & PADS K3 (auto, open, closed).\n• The mod wheel does nothing unless PEDALS & PADS K2 makes it sustain.\n• SEQ REC is a sustain on/off toggle, its light on while on (SUSTAIN ON in the header).\n• Pad light: PEDALS & PADS K4, 45 / 60 / 80 / 100 %; empty preset pads are now pale instead of dark.\n• USB: pitch bend is sent only on real changes (no stream from a wheel held off centre); a note the keys hold is not struck again when the computer echoes it back; the auto-save waits until the reverb has died away.\n• Sound: a cleaner output stage (the full 24-bit word, no DC after the room and resonance, a finer tone EQ).\n\nPackages: erik37.fwsc SMK-37 Pro (and Starrykey 37 Play), erik37-elite.fwsc SMK-37 Elite, erik37-mke.fwsc MKE-P37, erik37-fm1.fwsc FM-1 (untested on a unit). Identity _480102."
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Erik37 1.2: the release noise level on TONE & TOUCH (off .. 100); SEQ…",
    "url": "https://github.com/genkigenki/erik37/commit/c06c1f7f9e7864e7ad2552be540280d344676326"
   },
   "stars": 19,
   "created": "2026-10-18",
   "image": "https://raw.githubusercontent.com/genkigenki/erik37/HEAD/design/marketing/banner-1280x400.png",
   "images": [
    "https://raw.githubusercontent.com/genkigenki/erik37/HEAD/design/marketing/banner-1280x400.png",
    "https://raw.githubusercontent.com/genkigenki/erik37/HEAD/app/site/shot-erik37.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~erik37.jpg"
   ],
   "pageFiles": [
    {
     "name": "erik37-1.2.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/erik37-1.2.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efd8\"",
     "size": 606036,
     "check": {
      "sha256": "a83285d8e6ef9291bd613a248ff78a0c3e6efc02d231fcc53fb6e5d2ac3ac638",
      "bytes": 651224,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "a83285d8e6ef9291bd613a248ff78a0c3e6efc02d231fcc53fb6e5d2ac3ac638"
    },
    {
     "name": "erik37-1.2-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/erik37-1.2-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efdc\"",
     "size": 606164,
     "check": {
      "sha256": "1d6b2ca90d6403bb4e9b3a1a805a719d314523afaea5f835bf7e3cec347e99a3",
      "bytes": 651228,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "1d6b2ca90d6403bb4e9b3a1a805a719d314523afaea5f835bf7e3cec347e99a3"
    },
    {
     "name": "erik37-1.2-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/erik37-1.2-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efd4\"",
     "size": 606134,
     "check": {
      "sha256": "9a1d892e84992c2bd2ce00244f37cc77b7892078f348552e74cad84d6cba5224",
      "bytes": 651220,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "9a1d892e84992c2bd2ce00244f37cc77b7892078f348552e74cad84d6cba5224"
    },
    {
     "name": "erik37-1.2-fm1.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/erik37-1.2-fm1.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-94f3c\"",
     "size": 592061,
     "check": {
      "sha256": "8497d58eef3d65214ae09817656afa53206899fd8364c3171173fa5e22a3fbe2",
      "bytes": 610108,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "8497d58eef3d65214ae09817656afa53206899fd8364c3171173fa5e22a3fbe2"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "boot",
    "home",
    "home-hold"
   ],
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://justynroberts.github.io/fm1-finton/"
    ]
   ],
   "name": "Finton",
   "repo": "justynroberts/fm1-finton",
   "by": "justynroberts",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "generative"
   ],
   "about": "A six-track trance machine: Rollwerk's progressions and roller write the parts, LIFT runs the build; on Dinghy.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://justynroberts.github.io/fm1-finton/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.0",
    "url": "https://github.com/justynroberts/fm1-finton/releases/tag/v1.0",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-18",
    "title": "v1.0",
    "notes": "Web flasher: serve the Finton 1.0 release build"
   },
   "commit": {
    "date": "2026-10-18",
    "title": "Web flasher: serve the Finton 1.0 release build",
    "url": "https://github.com/justynroberts/fm1-finton/commit/8dc9edee324ef3aa8cd83dc5b8601d96506dd766"
   },
   "stars": 0,
   "created": "2026-10-18",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/justynroberts~fm1-finton.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false
  },
  {
   "links": [],
   "name": "FM Lab",
   "repo": "jsmith13/fm_lab",
   "by": "jsmith13",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "One six-operator DX7 synth to learn FM on, every parameter under a knob as it sounds; built on Dinghy.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v1.1.0",
    "url": "https://github.com/jsmith13/fm_lab/releases/tag/v1.1.0",
    "assets": [
     {
      "name": "fmlab-1.1.0.fwsc",
      "url": "https://github.com/jsmith13/fm_lab/releases/download/v1.1.0/fmlab-1.1.0.fwsc",
      "size": 610304,
      "sha256": "545f518eecdb87f33cd251d4a0f6ee6078b17e1cacc3d52892a7497781b5f837",
      "check": {
       "sha256": "545f518eecdb87f33cd251d4a0f6ee6078b17e1cacc3d52892a7497781b5f837",
       "bytes": 610110,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-18",
    "title": "FM Lab 1.1.0",
    "notes": "## Added\n• OVERSAMPLE (GLOBAL, last bank, ON to start). The operators run at 88.2 kHz and a half-band filter\n\nbrings the sound back to 44.1 kHz, so the harmonics FM makes above 22 kHz no longer fold back into the\n\naudible range as tones that don't belong to the note: about 40 dB less of them on a bright patch played\n\nhigh. It roughly doubles the engine's CPU: ~72 % (82 % peak) with eight voices, the filter and every\n\neffect on. OFF gives that back.\n• BIT DEPTH (GLOBAL, last bank): the voices cut to 16, 12 or 8 bits before the filter and the effects,\n\nfor the sound of older hardware. It starts at 24 BIT, which is FM Lab as before.\n\n## Changed\n• 24-bit output. The sound used to be cut to 16 bits right after the voices were mixed, and only then\n\nsent to the 24-bit DAC. The mix leaves room for an 8-voice chord, so a single soft note used only ~11 of\n\nthose 16 bits, and its decay ran out of steps and turned gritty (the DC blocker's rounding added a\n\ndistortion that followed the note). The mix, the filter, the effects and MASTER now carry 24 bits to the\n\nDAC. USB audio stays 16-bit and is dithered. The delay's echoes are still stored at 16 bits, which saves\n\n128 KiB of RAM.\n\nInstall: download fmlab-1.1.0.fwsc and flash it as described in the README. Settings saved by 1.0.x carry over; OVERSAMPLE starts ON and BIT DEPTH at 24."
   },
   "commit": {
    "date": "2026-10-18",
    "title": "BIT DEPTH, a GLOBAL setting; into 1.1.0",
    "url": "https://github.com/jsmith13/fm_lab/commit/cf35dc26709ede9c974654dfc2135f8c25a00082"
   },
   "stars": 21,
   "created": "2026-10-18",
   "image": "https://raw.githubusercontent.com/jsmith13/fm_lab/HEAD/docs/screen.png",
   "images": [
    "https://raw.githubusercontent.com/jsmith13/fm_lab/HEAD/docs/screen.png",
    "https://raw.githubusercontent.com/jsmith13/fm_lab/HEAD/docs/envelope.png",
    "https://raw.githubusercontent.com/jsmith13/fm_lab/HEAD/docs/solo.png",
    "https://raw.githubusercontent.com/jsmith13/fm_lab/HEAD/docs/spectrum.png",
    "https://raw.githubusercontent.com/jsmith13/fm_lab/HEAD/docs/scope.png",
    "https://raw.githubusercontent.com/jsmith13/fm_lab/HEAD/docs/save.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "edit",
    "edit-hold",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website and installer",
     "https://narti-live.github.io/fm1-fm-plaits/"
    ]
   ],
   "name": "FM-PLAITS",
   "repo": "Narti-Live/fm1-fm-plaits",
   "by": "Narti-Live",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "generative",
    "synth"
   ],
   "about": "Sixteen Plaits-style synthesis engines with a generative melody sequencer, on M-VAVE's FM1 Open V14.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Website and installer",
     "url": "https://narti-live.github.io/fm1-fm-plaits/install/",
     "from": "list",
     "front": "https://narti-live.github.io/fm1-fm-plaits/"
    }
   ],
   "commit": {
    "date": "2026-10-19",
    "title": "One-button installer (fm1-base web installer, MPL-2.0) with M-VAVE Op…",
    "url": "https://github.com/Narti-Live/fm1-fm-plaits/commit/2884f45c043cdf28739a4e6b50d780f77b1a20f6"
   },
   "stars": 1,
   "created": "2026-10-19",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Narti-Live~fm1-fm-plaits.jpg",
   "pageFiles": [
    {
     "name": "FM-PLAITS.fwsc",
     "url": "https://narti-live.github.io/fm1-fm-plaits/install/FM-PLAITS.fwsc",
     "page": "https://narti-live.github.io/fm1-fm-plaits/",
     "etag": "W/\"6ad6966f-74234\"",
     "size": 465231,
     "check": {
      "sha256": "f3b9cd127dcb02acc19ed5490b2b488c3b7f5344ae7a31003d32a29ee3a984ca",
      "bytes": 475700,
      "githubSha": null,
      "loader": false,
      "package": false,
      "identity": null,
      "sizeOk": true,
      "ok": false,
      "says": "Not recognised as an FM-1 update package"
     },
     "sha256": "f3b9cd127dcb02acc19ed5490b2b488c3b7f5344ae7a31003d32a29ee3a984ca"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page"
  },
  {
   "links": [
    [
     "Emulator and installer",
     "https://cotrino.github.io/fm1-betis-mode/"
    ]
   ],
   "name": "FM1 Betis Mode",
   "repo": "cotrino/fm1-betis-mode",
   "by": "cotrino",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "A Real Betis fan theme on M-VAVE's FM1 Open V13: a club dashboard, crowd rhythms, a Phrygian-dominant scale.",
   "experimental": true,
   "status": "Build-verified only: no FM-1 has been flashed with it yet.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Emulator and installer",
     "url": "https://cotrino.github.io/fm1-betis-mode/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Online emulator and firmware workbench",
     "url": "https://cotrino.github.io/fm1-betis-mode/",
     "from": "readme"
    }
   ],
   "commit": {
    "date": "2026-10-18",
    "title": "Refresh corresponding source with normalized test file",
    "url": "https://github.com/cotrino/fm1-betis-mode/commit/84d6ad4e8b6acf88117ec865b1f22725562413ee"
   },
   "stars": 0,
   "created": "2026-10-18",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/cotrino~fm1-betis-mode.jpg",
   "pageFiles": [
    {
     "name": "FM1_BETIS_MODE.fwsc",
     "url": "https://cotrino.github.io/fm1-betis-mode/FM1_BETIS_MODE.fwsc",
     "page": "https://cotrino.github.io/fm1-betis-mode/",
     "etag": "W/\"6ad532b4-78234\"",
     "size": 484109,
     "check": {
      "sha256": "e1ed23a7cdda6ead21a413723de3390cf4875dfc6e5f1a05285a3bc928dbca02",
      "bytes": 492084,
      "githubSha": null,
      "loader": false,
      "package": false,
      "identity": null,
      "sizeOk": true,
      "ok": false,
      "says": "Not recognised as an FM-1 update package"
     },
     "sha256": "e1ed23a7cdda6ead21a413723de3390cf4875dfc6e5f1a05285a3bc928dbca02"
    }
   ],
   "pageMentions": [
    {
     "page": "https://cotrino.github.io/fm1-betis-mode/",
     "names": [
      "FM-1_015.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page"
  },
  {
   "links": [
    [
     "Emulator and installer",
     "https://jartificer.github.io/fm1-gm/"
    ],
    [
     "Song editor",
     "https://jartificer.github.io/fm1-gm/editor.html"
    ]
   ],
   "name": "FM1-GM",
   "repo": "jartificer/fm1-gm",
   "by": "jartificer",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "groovebox"
   ],
   "about": "A General MIDI sound module (128 programs and a drum kit) with a 16-track song sequencer and a web song editor.",
   "note": "Versions up to 0.9.8 can make a sudden, very loud noise on the highest notes: use 0.9.9 or later (its author deleted the older releases).",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Emulator and installer",
     "url": "https://jartificer.github.io/fm1-gm/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Song editor",
     "url": "https://jartificer.github.io/fm1-gm/editor.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.1.1",
    "url": "https://github.com/jartificer/fm1-gm/releases/tag/v1.1.1",
    "assets": [
     {
      "name": "fm1gm.fwsc",
      "url": "https://github.com/jartificer/fm1-gm/releases/download/v1.1.1/fm1gm.fwsc",
      "size": 609280,
      "sha256": "4b093ef506dcb70c45880271aa347106ecaec6062c5072a5128a8275eb32b418",
      "check": {
       "sha256": "4b093ef506dcb70c45880271aa347106ecaec6062c5072a5128a8275eb32b418",
       "bytes": 609661,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-28",
    "title": "v1.1.1",
    "notes": "## What's Changed\n• MIDI in MULTI: program changes name the tracks on the Song screen (REV 155)\n\nFull Changelog: v1.1.0...v1.1.1"
   },
   "commit": {
    "date": "2026-10-28",
    "title": "Merge pull request #73 from jartificer/claude/project-thread-hvamis",
    "url": "https://github.com/jartificer/fm1-gm/commit/b0b5045f2a6833bd2017a65d4723e488b3e0a293"
   },
   "stars": 12,
   "created": "2026-10-18",
   "image": "https://raw.githubusercontent.com/jartificer/fm1-gm/HEAD/docs/fm1gm-promo.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "fx-hold",
    "env",
    "lfo-hold",
    "scl",
    "edit",
    "glo"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/jartificer/fm1-gm/HEAD/docs/fm1gm-promo.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/jartificer~fm1-gm.jpg"
   ]
  },
  {
   "links": [],
   "name": "FMER",
   "repo": "Nacsez/FMER",
   "by": "Nacsez",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "groovebox"
   ],
   "about": "Six-operator FM and virtual analog, four-track patterns and songs, and a Windows companion app; on Felucca's BSP.",
   "status": "Pre-1.0 public beta (build 734).",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "build-736-r2",
    "url": "https://github.com/Nacsez/FMER/releases/tag/build-736-r2",
    "assets": [
     {
      "name": "FMER-736-Default-Sounds.fmer-catalog.json",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Default-Sounds.fmer-catalog.json",
      "size": 369664,
      "sha256": "c05d9bbedacfffea993c4bfc0c640d4723be8863a32c46f87046b38e70894c16"
     },
     {
      "name": "FMER-736-Instrument-Library.zip",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Instrument-Library.zip",
      "size": 311296,
      "sha256": "91c18f04fe7627d9f2197f434be49dfd869952b59907135190fd819b286b2776"
     },
     {
      "name": "FMER-736-Press-Pack.zip",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Press-Pack.zip",
      "size": 6071255,
      "sha256": "1c99dbc5b79047b1bccd4443df20af721f393f21f84e81f9e05236c22a3a989e"
     },
     {
      "name": "FMER-736-Screen-Atlas.zip",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Screen-Atlas.zip",
      "size": 1342177,
      "sha256": "3b1d5c737176b8258daea1b94d284989307b2c0025de1769f4f91c542f69ea31"
     },
     {
      "name": "FMER-736-Screen-Sheet.pdf",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Screen-Sheet.pdf",
      "size": 195584,
      "sha256": "a028d9443caa8ea6a693031f94442151bb5f2ef7293daf31fa03eae4c13cd6c5"
     },
     {
      "name": "FMER-736-Screen-Sheet.png",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Screen-Sheet.png",
      "size": 473088,
      "sha256": "eb796113be6f0312261614674d7fd2f8b0666f95fda27a8d8a3f5e277f2f24c2"
     },
     {
      "name": "FMER-736-Shortcuts.pdf",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Shortcuts.pdf",
      "size": 47718,
      "sha256": "360a78f9fafbd1793e73fed90d5595796c6a4c44b84d98a564d4c524676beb7e"
     },
     {
      "name": "FMER-736-Source.zip",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Source.zip",
      "size": 11010048,
      "sha256": "70b13699114717b4dc562a696c13142afc4f31536d736fafc99b740d70d847fe"
     },
     {
      "name": "FMER-736-Visual-Guide.pdf",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-736-Visual-Guide.pdf",
      "size": 670720,
      "sha256": "9b0f5562cb6a84e8302d950bd3f2ef909eb65ef89d06f6d872e689554a4c140a"
     },
     {
      "name": "FMER-Companion-736-Windows-x64.zip",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/FMER-Companion-736-Windows-x64.zip",
      "size": 41838182,
      "sha256": "fbc991256c8872796c2a42a5c62fe15e3e82e575fa943ad79ed2ea472710e8d5"
     },
     {
      "name": "fmer736-compatible-r2.fwsc",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/fmer736-compatible-r2.fwsc",
      "size": 613376,
      "sha256": "fe4fbc63f3b93f7e349e55e2cc10e0782945a2d982da68c3448a8e8cf23cab79",
      "check": {
       "sha256": "fe4fbc63f3b93f7e349e55e2cc10e0782945a2d982da68c3448a8e8cf23cab79",
       "bytes": 613169,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_935",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_935"
      }
     },
     {
      "name": "INSTALLATION.md",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/INSTALLATION.md",
      "size": 9472,
      "sha256": "c656d8f7ee56290c0203d43330eb2ce092c3d5bb0a3dac77b86b148763a4bf79"
     },
     {
      "name": "release-manifest.json",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/release-manifest.json",
      "size": 3062,
      "sha256": "2c7be38d741f6f91e4c39c181ee181f6e4f68505be1e74801119d7365a267d95"
     },
     {
      "name": "RELEASE_NOTES.md",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/RELEASE_NOTES.md",
      "size": 8151,
      "sha256": "3d93270337044c0c5cdbd027159022672a18adbb1e0402fd95f492076e588305"
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/Nacsez/FMER/releases/download/build-736-r2/SHA256SUMS.txt",
      "size": 1300,
      "sha256": "b43edcc534249e720763eb6c507dc60b3ee3d6125a85a7a6139148351485d011"
     }
    ],
    "date": "2026-11-05",
    "title": "FMER 736 - Bluetooth MIDI, QOL Bug Fixes, UI/UX Update",
    "notes": "## FMER 736\n\nFMER release build 736. Feature addition: Bluetooth MIDI between FM-1 units.\n\nFMER turns the M-VAVE FM-1 into a synth first instrument for sound design, pattern recording and live performance! This release adds a two-unit Bluetooth MIDI workflow, working-state recall and a more capable offline Companion.\n\nThe image uses captures from the FMER renderer. The release includes the individual screen images, annotated feature guide, shortcuts and press pack.\n\n## Choose your download\n\nDownload\nUse it for\n\nFMER-Companion-736-Windows-x64.zip\nExtract the whole folder and open FMER Companion.exe on Windows 10/11 x64. Includes firmware, runtime dependencies, libraries and offline Help.\n\nfmer736-compatible-r2.fwsc\nFirmware alone for an installer that supports this package and the connected unit's layout.\n\nFMER-736-Instrument-Library.zip\nThe original Expressions sounds and loadout profiles, plus separately labeled OEM V15 patches and their notices.\n\nFMER-736-Source.zip\nMatching source, build instructions, dependency provenance and licenses.\n\nFMER-736-Press-Pack.zip\nLogo, screenshots, annotated diagrams and reusable feature copy.\n\nThe screen atlas, screen-sheet PDF, visual guide and one-sheet shortcuts are also separate downloads. SHA256SUMS.txt identifies the files in this release.\n\n## Play, build and perform\n• Six-operator FM and Virtual Analog engines; six-voice polyphony, mono glide or four independent mono tracks.\n• Two editable 64-slot instrument banks. Choose from 224 original Expressions sounds and five profiles: Balanced, Leads and Bass, Pads and Ambient, Drums and Percussion, and Arps and Textures. Create your own profiles in Companion.\n• Reorderable filter, drive, chorus, phaser, delay and reverb. Choose effect characters, beat-synced or millisecond delay, and save your preferred routing.\n• Eleven arpeggiator types, including Strum, with latch, octave range, swing and gate. Record generated arp notes into patterns.\n• Sixteen projects, sixteen patterns per project and up to 64 steps per pattern. Four song lanes provide repeats, transposition and up to 32 entries per lane.\n• Live mixer controls, queued pattern changes, reactive scopes, a high-contrast display, keyboard lighting and an estimated battery percentage.\n\n## Two-unit Bluetooth MIDI\n\nOn GLO → BLUETOOTH MIDI, make one FMER unit Discoverable, use Find on the other, select its peer and press SEL. Set clock and note routing for your workflow. Clock-only operation synchronizes local arrangements without doubling their notes.\n\nInitial connection can make up to three attempts to the same selected peer within twelve seconds; SEL cancels immediately. A lost link after MIDI READY does not reconnect automatically. Power-up starts with radio Off.\n\nBluetooth carries MIDI, not audio. This release supports the two-FMER peer workflow. Three-or-more-unit groups and general computer/other-firmware Bluetooth compatibility are not yet included.\n\n## Recall your setup and manage it locally\n\nFMER can retain the current instrument, playing mode, effects, patterns and MIDI settings in a separate startup checkpoint. Automatic saving waits for stopped, quiet operation with radio Off and no USB audio stream. Check the save status before switching off; named projects remain available for deliberate saves.\n\nCompanion organizes and renames instruments and projects, manages Bank A/B loadouts, keeps backups for named units and guides firmware installation. It works locally without a hosted service or Python installation. Use Quit to close its background service.\n\nOriginal V16 uses a separate guided full-ROM backup and migration workflow. It preserves the protected boot and identity regions while initializing FMER musical storage after explicit review. V16 musical data is archived, not converted. A verified firmware write and a healthy startup are checked separately. Qualification combines physical V16 migration to an earlier image, subsequent normal updates, exact final-image writer simulation and final hardware checks. Read the installation guide before proceeding.\n\n## Before installing\n\nRead INSTALLATION.md, connect only the intended unit, close other MIDI applications and keep your backup and operation record. The Companion is unsigned. Verify the release checksums and follow the displayed progress and restart instructions.\n\nUSB audio carries the main mono mix in two channels, not four isolated stems. Effects are shared between tracks, and the TRS MIDI connector is input-only. Measured CPU, radio and recovery boundaries are recorded in the qualification report; current draw, battery endurance and precise Bluetooth clock jitter still need broader measurement.\n\nFull release notes · Installation guide · Feedback and support\n\nTell us which build you used, what you tried and what happened. Companion can export diagnostics for you to review before sharing. Feedback is welcome; unsolicited code contributions are not being accepted.\n\nOriginal FMER code, sounds and artwork are GPL-3.0-only. Incorporated components and OEM V15 data retain their own notices. V16 patches are not bundled. FMER is independently maintained and is not endorsed by M-VAVE or its upstream projects."
   },
   "commit": {
    "date": "2026-11-04",
    "title": "Release FMER 736: Bluetooth MIDI, startup recall and guided V16 migra…",
    "url": "https://github.com/Nacsez/FMER/commit/2408fc21b843827349005830e7a117bb70bfa218"
   },
   "stars": 8,
   "created": "2026-10-16",
   "image": "https://raw.githubusercontent.com/Nacsez/FMER/HEAD/docs/release/media/fmer-splash.png",
   "images": [
    "https://raw.githubusercontent.com/Nacsez/FMER/HEAD/docs/release/media/fmer-splash.png",
    "https://raw.githubusercontent.com/Nacsez/FMER/HEAD/docs/release/media/fmer736-screen-sheet.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://fn-acid.netlify.app/"
    ]
   ],
   "name": "FN ACID",
   "repo": "Electro-Dig/function-acid-fw",
   "by": "Electro-Dig",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "experimental"
   ],
   "about": "An acid groovebox where every track is a function y(s, phi), drawn and played as drawn; built on Dinghy.",
   "experimental": true,
   "status": "Test builds (0.3x, test identity FM-1_956): its own page says they may be unstable.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://fn-acid.netlify.app/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-25",
    "title": "FN ACID 0.51 test: the first two lists of the SLOOP / JIANT / X0X review",
    "url": "https://github.com/Electro-Dig/function-acid-fw/commit/344369325734e2638d06acf73e038a7d4a8d688c"
   },
   "stars": 1,
   "created": "2026-10-19",
   "image": "https://raw.githubusercontent.com/Electro-Dig/function-acid-fw/HEAD/docs/screen.png",
   "pageFiles": [
    {
     "name": "function-acid.fwsc",
     "url": "https://fn-acid.netlify.app/function-acid.fwsc",
     "page": "https://fn-acid.netlify.app/",
     "found": "named",
     "etag": "\"f709c2372cf3fe7dd70abf6e33fc0414-ssl\"",
     "size": 610110,
     "check": {
      "sha256": "9c4ab87aae0395271e8f8d375fe547ebde71161bd8edcb82d611fae885af7eae",
      "bytes": 610110,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "9c4ab87aae0395271e8f8d375fe547ebde71161bd8edcb82d611fae885af7eae"
    }
   ],
   "pageMentions": [
    {
     "page": "https://fn-acid.netlify.app/",
     "names": [
      "sloop-2.7.fwsc"
     ]
    }
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: 0.3, runs on the FM-1. Tested on the device: the install, MIDI in (pitch exact, 4 voices), USB audio at 44.1 / 48 kHz, the keys, the screen, the octave kept in flash, and back to another firmware through the hub.",
    "date": "2026-10-25",
    "url": "https://github.com/Electro-Dig/function-acid-fw#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/Electro-Dig/function-acid-fw/HEAD/docs/screen.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Electro-Dig~function-acid-fw.jpg"
   ]
  },
  {
   "links": [],
   "name": "FRASIL",
   "repo": "styvesgoupil/frasil",
   "by": "styvesgoupil",
   "fam": "indep",
   "lic": "MPL-2.0",
   "types": [
    "synth"
   ],
   "about": "A drone and texture instrument: three-layer drone voices, GLINT FM bells, a BASS voice, a shimmer reverb; on fm1-base.",
   "status": "Beta, no release yet: built from source.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v3.0",
    "url": "https://github.com/styvesgoupil/frasil/releases/tag/v3.0",
    "assets": [
     {
      "name": "frasil-3.0.fwsc",
      "url": "https://github.com/styvesgoupil/frasil/releases/download/v3.0/frasil-3.0.fwsc",
      "size": 610304,
      "sha256": "26e6a0a00e01cbc2db32c760b4a955c2bd4d246e12fb8ea39b7f0a62742e46d6",
      "check": {
       "sha256": "26e6a0a00e01cbc2db32c760b4a955c2bd4d246e12fb8ea39b7f0a62742e46d6",
       "bytes": 610136,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-03",
    "title": "FRASIL 3.0",
    "notes": "A complete controls redesign, more intuitive. Three tracks, each with its own keys, sound, arpeggio and sequence.\n\nThe basics\n• SEL: pick the track: DRONE, GLINT or BASS. The keys, the header's colour and every page below follow it.\n• HOME II (KEYS): how the keys play the track: SINGLE NOTE or CHORD, in the scale or not, LATCH, STACK.\n• EDIT: shape the selected track's sound.\n• ARP: the selected track's arpeggiator.\n• SEQ: the selected track's sequencer.\n\nNew\n• Your own presets: save your DRONE, GLINT and BASS sounds, sixteen of each; they go into backups too.\n• Recording, far simpler: REC from any page, realtime (LIVE) or step by step (STEP), a bar counted in from silence.\n• The drone and the bass can be sequenced: the drone's chords a step at a time, the bass's notes, up to 32 steps each.\n• The bass has the arpeggiator, not just GLINT.\n• BASS TONE: DRIVE, WEIGHT, PUNCH, BITE.\n• ARP SNAP: a new chord joins an arpeggio on the beat, the hand gathered first (GLO, GLOBAL; 1/4 at first, OFF as before).\n• STACK: hold SEQ, and new notes and chords join what is held instead of replacing it.\n• Better UX to browse long lists: presets, an LFO's targets and scales on one screen while you turn, heard as you stop on one; SEL keeps, FX goes back.\n• CHORD in the header: CHORD · GLINT while a track's keys play chords.\n• AUTO VIB: a vibrato of its own on every glint.\n• EDIT held: three black keys jump to the track's pages.\n• CLOUD SEND: each track's reverb send on one page.\n• SCREENSAVER: after ten minutes untouched the screen goes black and the logo drifts; any control wakes it (GLO, SCREEN).\n\nFixes and changes\n• KEY MODE: now each track's LATCH, on KEYS.\n• DRONE MOTION: now EDIT's second page; LFO opens the three LFOs.\n• MASTER FILTER's CUTOFF: now GLO held and ALGORITHM turned.\n• CLEAR: hold OCT-, press REC on a SEQ page; no longer a knob.\n• SAVE: LOAD or SAVE first, SEL to go on, SAVE twice to store; SAVE + REC still stores the scene.\n• RECORD STEP: STEP stays where it is; K1 moves it.\n• The octave: shown large when you change it, no longer in the header.\n• The metronome: hold REC 0.8 s.\n• The River: shards go into an FM-1 on 3.0; update first.\n\nScenes and backups from earlier versions convert on their own. A backup from before 3.0 holds no presets: yours stay.\n\nFRASIL River\n• river.frasilsynth.com: back up your FM-1 and keep your scenes, called shards, in Your Private River; share them in the Community River.\n• A shard plays in the browser with its LUCID and DREAM pictures; SEND TO FM-1 puts it into an FM-1 on 3.0.\n\nFRASIL Editor, new\n• editor.frasilsynth.com: shape a scene track by track in the browser: open it from your FM-1, the River or a file, save it back to any of them.\n\nFRASIL Perform\n• perform.frasilsynth.com: a realtime second screen for your FM-1 on 3.0: what plays, drawn large, over Web MIDI."
   },
   "commit": {
    "date": "2026-11-03",
    "title": "FRASIL 3.0: release notes",
    "url": "https://github.com/styvesgoupil/frasil/commit/76bedbe914efde9ed0d188a22a47c75a0292dabb"
   },
   "stars": 9,
   "created": "2026-10-18",
   "image": "https://raw.githubusercontent.com/styvesgoupil/frasil/HEAD/docs/img/screen-logo.png",
   "images": [
    "https://raw.githubusercontent.com/styvesgoupil/frasil/HEAD/docs/img/screen-logo.png",
    "https://raw.githubusercontent.com/styvesgoupil/frasil/HEAD/docs/img/screen-play.png",
    "https://raw.githubusercontent.com/styvesgoupil/frasil/HEAD/docs/img/screen-glints.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/styvesgoupil~frasil.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Frodhes SMK-37",
   "repo": "genkigenki/frodhes",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "board": "smk37",
   "about": "Frodhes' electric piano on the SMK-37 (Pro, Elite, MKE-P37), with velocity, pads, faders and wheels.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-17",
    "title": "SMK37.md: Frodhes on the SMK-37 (models, controls, build, install, th…",
    "url": "https://github.com/genkigenki/frodhes/commit/9f83c0c84bd2659ebe0e435bb98c0b46e2af967a"
   },
   "stars": 0,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/genkigenki/frodhes/smk37/docs/manual/img/overview.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "leonardoMirabal/frodhes",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://grimmbient.github.io/grimm/"
    ],
    [
     "Editor",
     "https://grimmbient.github.io/grimm/editor.html"
    ]
   ],
   "name": "GR!MM",
   "repo": "GRiMMBIENT/grimm",
   "by": "GRiMMBIENT",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "generative",
    "synth"
   ],
   "about": "A four-track dark ambient and drone machine with seven sources and long effects; on Dinghy, with Felucca's engines.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://grimmbient.github.io/grimm/editor.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.0.2",
    "url": "https://github.com/GRiMMBIENT/grimm/releases/tag/v2.0.2",
    "assets": [
     {
      "name": "grimm.fwsc",
      "url": "https://github.com/GRiMMBIENT/grimm/releases/download/v2.0.2/grimm.fwsc",
      "size": 610304,
      "sha256": "d85c0dd3d668f48157afad7b9a1eb2e49e376f931afd2349bebef9014eb1375d",
      "check": {
       "sha256": "d85c0dd3d668f48157afad7b9a1eb2e49e376f931afd2349bebef9014eb1375d",
       "bytes": 610160,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-03",
    "title": "GR!MM V2.0.2",
    "notes": "Fixes missing samples after installing GR!MM.\n\nIf your FM-1 had another firmware before (stock, SLOOP, OberVave…), it could leave data in GR!MM's sample slots, and those slots showed EMPTY. Now, at start-up, any slot that can't play gets its factory sample back (URCHIN, LEAVE, NIKOLAI, M-SOFT) and the screen says SAMPLES RESTORED. Slots with your own working samples are never touched.\n\nTip: switching to another firmware and back can overwrite your own samples. Make a BACKUP in the web editor before you switch.\n\nNothing else changed. Full V2.0 notes: https://github.com/GRiMMBIENT/grimm/releases/tag/v2.0"
   },
   "commit": {
    "date": "2026-11-03",
    "title": "firmware 2.0.2: restore factory samples into slots that can't play",
    "url": "https://github.com/GRiMMBIENT/grimm/commit/b519acbee7dbdb3e0fb82b15b86a913898c6f8f5"
   },
   "stars": 35,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/GRiMMBIENT/grimm/HEAD/docs/screens/home.png",
   "images": [
    "https://raw.githubusercontent.com/GRiMMBIENT/grimm/HEAD/docs/screens/home.png",
    "https://raw.githubusercontent.com/GRiMMBIENT/grimm/HEAD/docs/screens/boot.png",
    "https://raw.githubusercontent.com/GRiMMBIENT/grimm/HEAD/docs/screens/seq.png",
    "https://raw.githubusercontent.com/GRiMMBIENT/grimm/HEAD/docs/screens/fm-algo.png",
    "https://raw.githubusercontent.com/GRiMMBIENT/grimm/HEAD/docs/screens/arp.png",
    "https://raw.githubusercontent.com/GRiMMBIENT/grimm/HEAD/docs/screens/perform.png",
    "https://raw.githubusercontent.com/GRiMMBIENT/grimm/HEAD/docs/screens/chord.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/GRiMMBIENT~grimm.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://davidpryan.github.io/haunted-fm1/"
    ]
   ],
   "name": "Haunted FM-1",
   "repo": "davidpryan/haunted-fm1",
   "by": "davidpryan",
   "fam": "indep",
   "lic": "MIT",
   "types": [
    "generative"
   ],
   "about": "Five generative ambient firmwares (Midnight Route, Voicemail, Untrue Step, Half-Light, Worn Tape) on fm1-base.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://davidpryan.github.io/haunted-fm1/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1",
    "url": "https://github.com/davidpryan/haunted-fm1/releases/tag/v0.1",
    "assets": [
     {
      "name": "untrue-0.1.fwsc",
      "url": "https://github.com/davidpryan/haunted-fm1/releases/download/v0.1/untrue-0.1.fwsc",
      "size": 610304,
      "sha256": "38db751f4507942754aeba63121bff847f90f3d1465cf68c80f6ec30701597d4",
      "check": {
       "sha256": "38db751f4507942754aeba63121bff847f90f3d1465cf68c80f6ec30701597d4",
       "bytes": 610136,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "halflight-0.1.fwsc",
      "url": "https://github.com/davidpryan/haunted-fm1/releases/download/v0.1/halflight-0.1.fwsc",
      "size": 610304,
      "sha256": "8edf914f63306b12cdcddd0d82a5c06f8d2fcbdac6ecb0fdc692ab665f9b8d58",
      "check": {
       "sha256": "8edf914f63306b12cdcddd0d82a5c06f8d2fcbdac6ecb0fdc692ab665f9b8d58",
       "bytes": 610136,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "midnight-0.1.fwsc",
      "url": "https://github.com/davidpryan/haunted-fm1/releases/download/v0.1/midnight-0.1.fwsc",
      "size": 610304,
      "sha256": "17ba1ffc0567e07d1eb049d5d131371dec0e1e2a5e057dd5e6ed75bd85f446fc",
      "check": {
       "sha256": "17ba1ffc0567e07d1eb049d5d131371dec0e1e2a5e057dd5e6ed75bd85f446fc",
       "bytes": 610136,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "voicemail-0.1.fwsc",
      "url": "https://github.com/davidpryan/haunted-fm1/releases/download/v0.1/voicemail-0.1.fwsc",
      "size": 610304,
      "sha256": "4bbcd30c73a0f721bf53dcf4339892b78a9c2e14d876743642313daf4dc7bd9f",
      "check": {
       "sha256": "4bbcd30c73a0f721bf53dcf4339892b78a9c2e14d876743642313daf4dc7bd9f",
       "bytes": 610136,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "worntape-0.1.fwsc",
      "url": "https://github.com/davidpryan/haunted-fm1/releases/download/v0.1/worntape-0.1.fwsc",
      "size": 610304,
      "sha256": "707bd711cff0917b3a7f61e84f2ba4159eeaee2741e217069feafbe8860c155f",
      "check": {
       "sha256": "707bd711cff0917b3a7f61e84f2ba4159eeaee2741e217069feafbe8860c155f",
       "bytes": 610136,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-21",
    "title": "v0.1",
    "notes": "Five generative firmwares for the M-VAVE FM-1. Install from the flasher page (Chrome or Edge, FM-1 on USB),\n\nor with python3 base/tools/fm1_install.py NAME-0.1.fwsc."
   },
   "commit": {
    "date": "2026-10-21",
    "title": "CI: the site deploys from main only, with VERSION's number (a tag sha…",
    "url": "https://github.com/davidpryan/haunted-fm1/commit/bd031d3722c5e3432392b6e60979379ad2bead1c"
   },
   "stars": 0,
   "created": "2026-10-21",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/davidpryan~haunted-fm1.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://benbadio.github.io/hera-fm1/install.html"
    ],
    [
     "Workbench (emulator and editor)",
     "https://benbadio.github.io/hera-fm1/"
    ]
   ],
   "name": "HERA",
   "repo": "benbadio/hera-fm1",
   "by": "benbadio",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "theory",
    "groovebox"
   ],
   "about": "A J-6-style chord groovebox: 100 chord sets, 108 phrases, a 64-pattern sequencer, a Juno-style synth; on Dinghy.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://benbadio.github.io/hera-fm1/install.html",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Workbench (emulator and editor)",
     "url": "https://benbadio.github.io/hera-fm1/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.1",
    "url": "https://github.com/benbadio/hera-fm1/releases/tag/v1.1",
    "assets": [
     {
      "name": "hera-1.1.fwsc",
      "url": "https://github.com/benbadio/hera-fm1/releases/download/v1.1/hera-1.1.fwsc",
      "size": 610304,
      "sha256": "dc0153ecba3daecfe289cb59124509117701311d15717db9a326d192928a9c45",
      "check": {
       "sha256": "dc0153ecba3daecfe289cb59124509117701311d15717db9a326d192928a9c45",
       "bytes": 610110,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "hera-workbench-1.1.zip",
      "url": "https://github.com/benbadio/hera-fm1/releases/download/v1.1/hera-workbench-1.1.zip",
      "size": 462848,
      "sha256": "e7a673e99081a1ad4d76016fa07be07db9ba1ece806b2108e83ed057d652fc9a"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/benbadio/hera-fm1/releases/download/v1.1/SHA256SUMS",
      "size": 86,
      "sha256": "873f0276d001492c6e782c1fad47e70edab10f82e9867f49ace7987ede88b434"
     }
    ],
    "date": "2026-10-21",
    "title": "v1.1",
    "notes": "Firmware\n• A new boot screen: the HERA name in a bold serif wordmark.\n• Settings has a RESET group: Clear pattern (empties the current pattern's steps) and Factory reset (erases all patterns and settings). Both ask you to hold SAVE.\n\nWorkbench\n• The Settings tab has Clear pattern and Factory reset buttons, and the tour has a lesson on starting fresh.\n\nInstall: open the installer in Chrome or Edge with the FM-1 connected. hera-1.1.fwsc below is the signed package, for other installers. The Workbench zip runs HERA in a browser, offline (serve the folder with any static web server).\n\nFull manual and version history: HERA.md"
   },
   "commit": {
    "date": "2026-10-21",
    "title": "A screenshot of the boot screen",
    "url": "https://github.com/benbadio/hera-fm1/commit/76b7ee8484d24163587cfbca759f7b19f7457105"
   },
   "stars": 1,
   "created": "2026-10-21",
   "image": "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/all-pages.png",
   "images": [
    "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/all-pages.png",
    "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/play-phrase.png",
    "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/chord-map.png",
    "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/phrase.png",
    "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/sequencer-edit.png",
    "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/sequencer.png",
    "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/patterns.png",
    "https://raw.githubusercontent.com/benbadio/hera-fm1/HEAD/docs/screens/sounds.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/benbadio~hera-fm1.jpg"
   ],
   "pageFiles": [
    {
     "name": "hera.fwsc",
     "url": "https://benbadio.github.io/hera-fm1/firmware/hera.fwsc",
     "page": "https://benbadio.github.io/hera-fm1/install.html",
     "found": "named",
     "etag": "W/\"6ad93d64-94f3e\"",
     "size": 279143,
     "check": {
      "sha256": "dc0153ecba3daecfe289cb59124509117701311d15717db9a326d192928a9c45",
      "bytes": 610110,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "dc0153ecba3daecfe289cb59124509117701311d15717db9a326d192928a9c45"
    }
   ],
   "pageMentions": [
    {
     "page": "https://benbadio.github.io/hera-fm1/manual.html",
     "names": [
      "FM-1_015.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "env-hold",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://devrvega.github.io/IND-1/emu/"
    ],
    [
     "Installer",
     "https://devrvega.github.io/IND-1/install/"
    ]
   ],
   "name": "IND-1",
   "repo": "devrvega/IND-1",
   "by": "devrvega",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A self-playing industrial machine after KMFDM, Nine Inch Nails and Ministry: it arranges its own songs. Built on AMB-1.",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://devrvega.github.io/IND-1/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.2.1",
    "url": "https://github.com/devrvega/IND-1/releases/tag/v0.2.1",
    "assets": [
     {
      "name": "ind-0.2.1.fwsc",
      "url": "https://github.com/devrvega/IND-1/releases/download/v0.2.1/ind-0.2.1.fwsc",
      "size": 609280,
      "sha256": "819e1baee04987f2cacfa35c7fd36d553e79c2b7eca8d3ef6b8cf09dc3e6c6fc",
      "check": {
       "sha256": "819e1baee04987f2cacfa35c7fd36d553e79c2b7eca8d3ef6b8cf09dc3e6c6fc",
       "bytes": 609672,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-16",
    "title": "IND-1 0.2.1",
    "notes": "• Fixed: safe mode can be reached over USB again after a crash. If the FM-1 crashed while it was making sound,\n\nsafe mode came up with USB off, so neither the web installer nor M-UPGRADE could find it until it was switched\n\noff and on. (The same fix as SEQ-4 0.1.0's; tried on an FM-1: two crashes on purpose, safe mode, then an install\n\nfrom it.) Nothing else changes.\n\n## Install\n• From the browser (Chrome or Edge, the FM-1 on USB): the web installer. Or try it in the browser first.\n• From the command line: python3 tools/fm1_install.py ind-0.2.1.fwsc (Python 3 with pip3 install mido python-rtmidi).\n• Going back: the installer's \"Back to the stock firmware\", or M-VAVE's M-UPGRADE.\n\nThe firmware is ind-0.2.1.fwsc below; its source is this tag. Installing other firmware is at your own risk; see the manual's Troubleshooting."
   },
   "commit": {
    "date": "2026-10-16",
    "title": "Safe mode reachable over USB after a crash (0.2.1)",
    "url": "https://github.com/devrvega/IND-1/commit/fa09b621d6f465a329dfc6e0ccb1e87687e635be"
   },
   "stars": 1,
   "created": "2026-10-15",
   "image": "https://raw.githubusercontent.com/devrvega/IND-1/HEAD/docs/img/ind1.gif",
   "images": [
    "https://raw.githubusercontent.com/devrvega/IND-1/HEAD/docs/img/ind1.gif",
    "https://raw.githubusercontent.com/devrvega/IND-1/HEAD/docs/img/screen-verse.png",
    "https://raw.githubusercontent.com/devrvega/IND-1/HEAD/docs/img/screen-song.png",
    "https://raw.githubusercontent.com/devrvega/IND-1/HEAD/docs/img/screen-step.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/devrvega~IND-1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://zednaked.github.io/jangada/"
    ],
    [
     "Studio",
     "https://zednaked.github.io/jangada/webapp/studio/"
    ],
    [
     "Editor",
     "https://zednaked.github.io/jangada/webapp/editor/"
    ]
   ],
   "name": "Jangada",
   "repo": "zednaked/jangada",
   "by": "zednaked",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "note": "Raising the core voltage is opt-in only, after warnings that it could damage chips: leave it off.",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://zednaked.github.io/jangada/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Studio",
     "url": "https://zednaked.github.io/jangada/webapp/studio/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://zednaked.github.io/jangada/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.0.1",
    "url": "https://github.com/zednaked/jangada/releases/tag/v1.0.1",
    "assets": [
     {
      "name": "jangada-1.0.1.fwsc",
      "url": "https://github.com/zednaked/jangada/releases/download/v1.0.1/jangada-1.0.1.fwsc",
      "size": 610304,
      "sha256": "c382e334057bd107294940e456e5c1140754917ba152a1958af3aa1696333588",
      "check": {
       "sha256": "c382e334057bd107294940e456e5c1140754917ba152a1958af3aa1696333588",
       "bytes": 610133,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "jangada-1.0.1.fwsc.sha256",
      "url": "https://github.com/zednaked/jangada/releases/download/v1.0.1/jangada-1.0.1.fwsc.sha256",
      "size": 85,
      "sha256": "e7da5cd3e10acef8767741c5e5158b99300c6aac20020a18c57630fe8bba3172"
     }
    ],
    "date": "2026-10-16",
    "title": "Jangada 1.0.1",
    "notes": "Install: ./instalar-linux.sh jangada-1.0.1.fwsc, or the web installer. Replaces 1.0. Your presets and projects are kept. Nothing changes in how the FM-1 plays or looks.\n\nA DAW or a mixer can keep the FM-1's sound with the song (editor protocol v8, #7):\n• TRACK_SOUND (F0 7D 46 4C 60 <track> F7): a track's whole sound in one frame (engine, every parameter, an FM6 track's own patch). Send the reply back as it came and the track plays that sound again. Nothing is written to flash, no preset slot is touched. Values travel under stable keys, so a dump saved with a project today still loads after a firmware update.\n• TRACK_PARAMS: several parameters of any tracks in one frame, so a host can fade many at once.\n• ENG_DESC: the description of any engine's parameters, without selecting a track on the device.\n• Jangada's own command numbers now start at 96, clear of Felucca's and SLOOP's.\n\nThis is what the FM-1 strip of Nirbija 0.6.0 uses: the FM-1 as an instrument of the mixer, its four tracks in an editor, its project kept in the session, its sounds changed by scenes on the bar line, and a step sequencer per track (DRUMS names the rows after the kit).\n\nTested on the host (the v8 commands through the editor's own handler, and the whole suite) and on an FM-1 with Nirbija. The full protocol is in web/EDITOR_PROTOCOL.md, section \"v8\".\n\nFull Changelog: v1.0...v1.0.1"
   },
   "commit": {
    "date": "2026-10-17",
    "title": "Menu: SPEAKER vira SPEAKER EQ (FLAT / LOW CUT), não lê mais como liga…",
    "url": "https://github.com/zednaked/jangada/commit/b546675f965b15704b0d9f56c38401c777d98048"
   },
   "stars": 37,
   "created": "2026-10-04",
   "about": "Alternative firmware for the M-VAVE FM-1 pocket synth: superwave analog, modulation matrix, latched drones, ratchets, 4 tracks. A Felucca fork. 🛶",
   "image": "https://raw.githubusercontent.com/zednaked/jangada/HEAD/docs/jangada.gif",
   "images": [
    "https://raw.githubusercontent.com/zednaked/jangada/HEAD/docs/jangada.gif",
    "https://raw.githubusercontent.com/zednaked/jangada/HEAD/docs/screens.png",
    "https://raw.githubusercontent.com/zednaked/jangada/HEAD/docs/studio.png",
    "https://raw.githubusercontent.com/zednaked/jangada/HEAD/docs/nirbija-fm1.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/zednaked~jangada.jpg"
   ],
   "upstream": {
    "prs": [
     {
      "repo": "hugelton/Felucca",
      "pr": 100,
      "state": "closed",
      "at": "2026-10-07",
      "title": "Sequencer: per-step ratchet (RATCH x1..x4)"
     }
    ],
    "says": "Going the other way: the ratchets went upstream and ship in Felucca 1.0.5 (PR #100)."
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Jellybean-37",
   "repo": "edco/jellybean-37",
   "by": "edco",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A testbed for the SMK-37 Pro: a Juno-60 and a DX7 engine on two cores, a desktop simulator and a RAM loader.",
   "board": "smk37",
   "experimental": true,
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-19",
    "title": "Added soft-limiter and MCUno-32 unison control",
    "url": "https://github.com/edco/jellybean-37/commit/e73b8265fbc7a3ceee219c3b12a694b6759c2961"
   },
   "stars": 2,
   "created": "2026-10-18",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source"
  },
  {
   "links": [
    [
     "Website",
     "https://devrvega.github.io/LCD-4/"
    ],
    [
     "Emulator",
     "https://devrvega.github.io/LCD-4/emu/"
    ],
    [
     "Installer",
     "https://devrvega.github.io/LCD-4/install/"
    ],
    [
     "Manual",
     "https://devrvega.github.io/LCD-4/manual/"
    ]
   ],
   "name": "LCD-4",
   "repo": "devrvega/LCD-4",
   "by": "devrvega",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://devrvega.github.io/LCD-4/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.2",
    "url": "https://github.com/devrvega/LCD-4/releases/tag/v0.1.2",
    "assets": [
     {
      "name": "lcd4-0.1.2.fwsc",
      "url": "https://github.com/devrvega/LCD-4/releases/download/v0.1.2/lcd4-0.1.2.fwsc",
      "size": 609280,
      "sha256": "56716b513a2483028a597fbcd18588db7edc3d9fff5ac3717c2ea4148aab4e0f",
      "check": {
       "sha256": "56716b513a2483028a597fbcd18588db7edc3d9fff5ac3717c2ea4148aab4e0f",
       "bytes": 609672,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-16",
    "title": "LCD-4 0.1.2",
    "notes": "• Fixed: safe mode can be reached over USB again after a crash. If the FM-1 crashed while it was making sound,\n\nsafe mode came up with USB off, so neither the web installer nor M-UPGRADE could find it until it was switched\n\noff and on. (The same fix as SEQ-4 0.1.0's; tried on an FM-1: two crashes on purpose, safe mode, then an install\n\nfrom it.) Nothing else changes.\n\n## Install\n• From the browser (Chrome or Edge, the FM-1 on USB): the web installer. Or try it in the browser first.\n• From the command line: python3 tools/fm1_install.py lcd4-0.1.2.fwsc (Python 3 with pip3 install mido python-rtmidi).\n• Going back: the installer's \"Back to the stock firmware\", or M-VAVE's M-UPGRADE.\n\nThe firmware is lcd4-0.1.2.fwsc below; its source is this tag. Installing other firmware is at your own risk; see the manual's Troubleshooting."
   },
   "commit": {
    "date": "2026-10-16",
    "title": "Safe mode reachable over USB after a crash (0.1.2)",
    "url": "https://github.com/devrvega/LCD-4/commit/9676218821be9fd65600dc74fcc68bd8ff5ba2b2"
   },
   "stars": 4,
   "created": "2026-10-15",
   "about": "LCD-4 turns the M-VAVE FM-1 into a four-track pocket groovebox: a drum machine and three synths in 16-step patterns you chain together, with chords the synths follow and sixteen punch-in effects, after the little synths that live in a…",
   "image": "https://raw.githubusercontent.com/devrvega/LCD-4/HEAD/docs/img/lcd4.gif",
   "images": [
    "https://raw.githubusercontent.com/devrvega/LCD-4/HEAD/docs/img/lcd4.gif",
    "https://raw.githubusercontent.com/devrvega/LCD-4/HEAD/docs/img/screen-drums.png",
    "https://raw.githubusercontent.com/devrvega/LCD-4/HEAD/docs/img/screen-acid.png",
    "https://raw.githubusercontent.com/devrvega/LCD-4/HEAD/docs/img/screen-arcade.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/devrvega~LCD-4.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://devrvega.github.io/LCD-4/manual/",
     "names": [
      "lcd4-X.Y.Z.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq-hold",
    "fx",
    "env",
    "arp",
    "scl",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "KIDBOY",
   "repo": "WillCMcC/kidboy-firmware",
   "by": "WillCMcC",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "A toddler toy: nursery songs, giant letters and numbers spoken, a piano and drums on every button; on Felucca 1.6.1.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.1",
    "url": "https://github.com/WillCMcC/kidboy-firmware/releases/tag/v0.1",
    "assets": [
     {
      "name": "kidboy-2e400c2.fwsc",
      "url": "https://github.com/WillCMcC/kidboy-firmware/releases/download/v0.1/kidboy-2e400c2.fwsc",
      "size": 610304,
      "sha256": "d4c4fe43f2970b45a5be8a67c45a8206590da59b29ef6e96454cbdce836d959e",
      "check": {
       "sha256": "d4c4fe43f2970b45a5be8a67c45a8206590da59b29ef6e96454cbdce836d959e",
       "bytes": 610090,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-18",
    "title": "Kidboy 0.1",
    "notes": "Kidboy 0.1 — the toddler firmware for the M-VAVE FM-1, as posted to r/MVaveFM1.\n\nDownload: kidboy-2e400c2.fwsc below (app package, identity FM-1_938, ~402 KB of a 581 KB app slot). Install it from a computer over USB with the Felucca installer — see INSTALL.md. Flashing Kidboy leaves ChordBoy's saved keys untouched (PERSISTENCE.md), and ChordBoy can be flashed back afterwards.\n\nBuilt at commit 2e400c2 (same build as the Reddit video and the unit it was tested on).\n\nNote: the boot splash always says KIDBOY 0.1 — it doesn't show the build's version.\n\nKidboy is GPL-3.0-only, built on Felucca 1.6.1 by Leo Kuroshita / Hügelton Instruments. Source is in this repo; build it yourself with ./tools/remote_build.sh."
   },
   "commit": {
    "date": "2026-10-18",
    "title": "Kidboy: Life Is a Highway and Monsters, Inc.; K1 paces the NUMBERS do…",
    "url": "https://github.com/WillCMcC/kidboy-firmware/commit/2e400c2dfcf3a95904e64656e373fe93f532216b"
   },
   "stars": 1,
   "created": "2026-10-18",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/WillCMcC~kidboy-firmware/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "typesGuess": [
    "groovebox"
   ],
   "screens": [
    "home"
   ]
  },
  {
   "links": [
    [
     "Emulator, editor and installer",
     "https://co-oscillator.github.io/Loom-FM-1/"
    ]
   ],
   "name": "Loom FM-1",
   "repo": "Co-oscillator/Loom-FM-1",
   "by": "Co-oscillator",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "sampler"
   ],
   "about": "Felucca grown to five tracks (four synth or sample tracks and a drum track) with tape-scrub, wavetable and chord tools.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Emulator, editor and installer",
     "url": "https://co-oscillator.github.io/Loom-FM-1/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.0",
    "url": "https://github.com/Co-oscillator/Loom-FM-1/releases/tag/v0.1.0",
    "assets": [
     {
      "name": "loom-groovebox.fwsc",
      "url": "https://github.com/Co-oscillator/Loom-FM-1/releases/download/v0.1.0/loom-groovebox.fwsc",
      "size": 610304,
      "sha256": "bbb5ba438d62e947158c614b18ac37264a64a472a077d57eb271acb60f6f47af",
      "check": {
       "sha256": "bbb5ba438d62e947158c614b18ac37264a64a472a077d57eb271acb60f6f47af",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-18",
    "title": "Loom FM-1 v0.1.0",
    "notes": "## Loom FM-1 v0.1.0 (Package Identity: FM-1_985)\n\n5-track polyphonic synthesizer, sampler, and groovebox firmware for the M-VAVE FM-1.\n• 5 Tracks (1-4 + D): 4 polyphonic synth/sampler tracks + dedicated 5th synthesized Drum track (Analog & FM kits, choke groups, per-lane mixer).\n• 14 Engines: Subtractive (SUBTRACT), Wavetable (WAVETBL), 6-Op FM (FM6), Physical Tape-Platter Scrubbing (SCRUB), Granular (GRAIN), Sample Slicer (SLICE), Multisample (SAMPLE), Physical Modeling (PHYS), Phase Distortion (PHASE), Formant (VOICE), Organ (WHEEL), Chiptune (LOFI), Noise (NOISE), and Drum (DRUM).\n• 64-Step Dual-View Sequencer: 4x4 STEP / 4x4 PAT piano roll and 8x8 STEP / 8x8 PAT 64-step matrix views with humanize, swing, parameter locks, and quick clear.\n• Chord Progression Generator & Bipolar Arpeggiator: Generative mood/complexity chord progression engine (CHRD: PROG) + 10-mode arpeggiator with bipolar -3 to +3 octave range and Euclidean gating.\n• Performance Macros & Sidechain Ducking: 4 assignable multi-destination performance macros + drum-triggered sidechain compression on tracks and master send FX.\n• License: GPL-3.0-only (full text in LICENSE, third-party notices in LICENSING.md and LICENSES/)."
   },
   "commit": {
    "date": "2026-11-02",
    "title": "docs: next-session handoff",
    "url": "https://github.com/Co-oscillator/Loom-FM-1/commit/be0f3c9794b381f6203c3f8beee54f5a9a88ee9d"
   },
   "stars": 4,
   "created": "2026-10-18",
   "image": "https://raw.githubusercontent.com/Co-oscillator/Loom-FM-1/HEAD/docs/5%20Track%20Mixer.png",
   "images": [
    "https://raw.githubusercontent.com/Co-oscillator/Loom-FM-1/HEAD/docs/5%20Track%20Mixer.png",
    "https://raw.githubusercontent.com/Co-oscillator/Loom-FM-1/HEAD/docs/Sample%20Tape%20Scrub%20Engine.png",
    "https://raw.githubusercontent.com/Co-oscillator/Loom-FM-1/HEAD/docs/Granular%20Engine.png",
    "https://raw.githubusercontent.com/Co-oscillator/Loom-FM-1/HEAD/docs/64%20Step%20Seq.png",
    "https://raw.githubusercontent.com/Co-oscillator/Loom-FM-1/HEAD/docs/Sample%20Slice%20Engine.png",
    "https://raw.githubusercontent.com/Co-oscillator/Loom-FM-1/HEAD/docs/Chord%20Progression%20Generator.png",
    "https://raw.githubusercontent.com/Co-oscillator/Loom-FM-1/HEAD/docs/controls.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Co-oscillator~Loom-FM-1.jpg"
   ],
   "pageFiles": [
    {
     "name": "FM-1_015.fwsc",
     "url": "https://co-oscillator.github.io/Loom-FM-1/FM-1_015.fwsc",
     "page": "https://co-oscillator.github.io/Loom-FM-1/",
     "found": "named",
     "etag": "W/\"6ae80e75-aae34\"",
     "size": 665626,
     "check": {
      "sha256": "db1642b2b6fa5c2cccb11ffd13878068bb28601678d3644049f99dc40e7edb8a",
      "bytes": 699956,
      "githubSha": null,
      "loader": false,
      "package": false,
      "identity": null,
      "sizeOk": true,
      "ok": false,
      "says": "Not recognised as an FM-1 update package"
     },
     "sha256": "db1642b2b6fa5c2cccb11ffd13878068bb28601678d3644049f99dc40e7edb8a"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://okumurari2.github.io/maku/"
    ],
    [
     "Releases",
     "https://github.com/okumurari2/maku/releases"
    ]
   ],
   "name": "MAKU",
   "repo": "okumurari2/maku",
   "by": "okumurari2",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "maku-v1.0",
    "url": "https://github.com/okumurari2/maku/releases/tag/maku-v1.0",
    "assets": [
     {
      "name": "ATTRIBUTION.txt",
      "url": "https://github.com/okumurari2/maku/releases/download/maku-v1.0/ATTRIBUTION.txt",
      "size": 1935,
      "sha256": "d9b6171396bce707eb16836c1abf82651fae8b1d3eeda3365f5baacf33c1ae59"
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/okumurari2/maku/releases/download/maku-v1.0/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/okumurari2/maku/releases/download/maku-v1.0/LICENSING.md",
      "size": 7383,
      "sha256": "086cd866d461e11b03ac944825112a4a4bbdd83fd351da26d9a7758e817c2af7"
     },
     {
      "name": "maku-1.0-app.bin",
      "url": "https://github.com/okumurari2/maku/releases/download/maku-v1.0/maku-1.0-app.bin",
      "size": 437248,
      "sha256": "9af7b1317827d1b901935304b47928f39c2177d98c9b0acf90655f40406999ab"
     },
     {
      "name": "maku-1.0.fwsc",
      "url": "https://github.com/okumurari2/maku/releases/download/maku-v1.0/maku-1.0.fwsc",
      "size": 610304,
      "sha256": "b55d471fd179008511dfea032530750f0692d5be8eab263970f5c3c2162b53ea",
      "check": {
       "sha256": "b55d471fd179008511dfea032530750f0692d5be8eab263970f5c3c2162b53ea",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/okumurari2/maku/releases/download/maku-v1.0/SHA256SUMS",
      "size": 163,
      "sha256": "5b0982a135cc2bb028edfd36ce6605fb3d9cbdd62843c2320ee75c91318b32a4"
     }
    ],
    "date": "2026-10-16",
    "title": "MAKU 1.0",
    "notes": "幕間機。M-VAVE FM-1 のためのファームウェア。 / An interlude machine: firmware for the M-VAVE FM-1.\n\n## 日本語\n\n毎回ちがう世界が鳴り、好きを押すと、次の世界があなたに寄っていく。 MAKU は、電源を入れた瞬間から鳴っているアンビエンスの機械です。\n\n## MAKU のここが違う\n\nFM-1 にはアンビエント系のファームがほかにもあります（たとえば AMB-1：曲を選び、手入れして育てる）。MAKU は設計の軸が違います。\n• 起動のたびに新しい世界。 曲を選ぶのではなく、音色・根音・スケール・テンポ・つまみの初期値がその場でランダムに決まります。音はつねにスケールの中。保存される状態はありません。\n• 好みで育つ。 REC で気に入った世界を「いいね」に記録（最大16件）。増えるほど、新しい世界は、いいねから（少し変えて）選ばれやすくなります（最大90%）。保存されるのはいいねだけ。\n• ボタンは動詞。 潜る・降り注ぐ・膨らむ・揺れる・持ち上げる・崩す。押している間だけ効き、離すとゆっくり戻ります。音を「設定する」のではなく、場に「手を入れる」。\n• 幕間のための道具。 DJ イベントの転換でつないで、すぐ鳴らす。電池駆動と小さなスピーカーを前提に、起動は無音からふくらむ・高域のピークを抑える・REC で音を止めない・電池表示は必要なときだけ、LED は電池なら暗め、という作法（docs/UI_RULES.md 10 章）で作っています。MIDI クロックに追従します。\n\n## v1.0 の変更点\n\nv0.1 以降の変更をまとめて 1.0 とします。\n• テンポを落とすと、音が息をする：70 BPM より遅くすると、1 小節がひと呼吸になっていきます（いちばん遅いと約18秒）。キックはぽつんとやわらかい合図になり、止まりそうで止まらない、ゆったりした波になります。外部クロックに合わせているときは働きません。\n• 放っておくと、音色まで変わっていく：DRIFT をオンにしておくと、値が漂うだけでなく、40〜60秒ごとに床・霞・アルペジオのどれかが、休符のところでこっそり別の音色に入れ替わります。気づいたら違う景色にいます。\n• 背景に空気が敷かれる：世界ごとに、潮騒・雨・風・たきび・レコードのノイズ・人のざわめきのどれか（または、なし）がうっすら流れます。録音ではなく計算で作った音です。SWELL を押すと近づいてきて（潮騒なら大波）、SINK を押すと遠くに沈みます。新しい世界のはじめに、音色名のあとに「~ SURF」のように名前が出ます。\n• 新しい世界は、ふんわり明けてくる：新しい世界・いいね・音色替えのあと、新しい音はこもった状態から数秒かけて自然に明るくなっていきます。いきなり耳に飛び込みません。\n• 小さなスピーカーでも耳にやさしく、広く：明るい音のきつさを抑え、ROOM の残響は広いホールのようにゆったり響きます。キックも少し控えめな音量から始まります。\n• 出会える音が増えた：床・霞・声あわせて20種の新しい音色。既存のいいねはそのまま使えます。\n• いま鳴っている音の名前がわかる：フォーカスした役の音色名が PRESETS の下に出て、新しい世界では3つの音色名が順に画面の左上に出ます。\n• バグ修正をしました。\n\n## インストール\n\nファームウェアの書き換えは自己責任です。戻し方を先に確認してください。\n• 下の maku-1.0.fwsc をダウンロードします。\n• FM-1 を USB でつなぎ、コンピューターから書き込みます：\n\npython3 tools/fm1_install.py maku-1.0.fwsc（pip3 install mido python-rtmidi が必要。詳しくは BUILDING.md）。\n\nFM-1 Firmware Hub などのブラウザ版インストーラーからも書き込めます（Chrome / Edge）。\n• 戻すには：インストーラーの「Return to official V15」、または M-VAVE 公式のアップデーター。どちらもいいねは消えます。\n\n途中で止まって画面が真っ黒のままのときは、README の \"If the FM-1 does not start\" を見てください。\n\n## ブラウザで試せます\n\nMAKU emulator（実機と同じコードを WebAssembly で動かしています）。\n\n## 既知の制限・実機で未確認のこと\n\n実機での動作は作者が確認済みですが、次はコードやホストでの測定から読んだ値で、実機では確かめていません。\n• REC の書き込み：フラッシュ書き込みで音が約 40 ms 途切れます。\n• いいねの保存：MAKU / Felucca 間の更新では残るはずですが（コードからの判断）、実機では未検証です。\n• 処理負荷：v0.1 での見積もりは最悪の世界で約 51%（ホスト測定からの換算）。v1.0 の追加分（高域コンプ・ホールリバーブ・背景層など）は実機で測っていません（背景層は、ホストの見積もりで最悪の世界に +4〜7 ポイント、合計約 58%）。\n• v0.1 以降に加えた音色・リバーブ・呼吸・背景層は（背景層は各種類の大きさと音質が、小さなスピーカーでどう聞こえるか未確認）、、ホストでの試聴・測定が中心です。気になる音があれば Issues へ。\n\n## ライセンス\n\nGPL-3.0-only。Felucca（Leo Kuroshita / Hügelton Instruments）から、シーケンサー編集・プリセットと保存・音作りページ・Web エディタを捨てて作った派生版です。パッケージには JieLi AC79 SDK（Apache-2.0）のファイルが3つ入っているため、ライセンス文は LICENSES/ にあります（パッケージの添付物にも LICENSE と LICENSING.md を付けています）。ロゴは AI 生成です。M-VAVE・FM-1 は各権利者の商標で、MAKU は関係も承認もありません。\n\n## English\n\nA different world every time, and the more you like, the more the next ones come from your taste. MAKU is an ambience machine that is already playing when you switch it on.\n\n## What sets MAKU apart\n\nThere are other ambient firmwares for the FM-1 (for example AMB-1: you pick a piece and tend it). MAKU is built on a different axis.\n• A new world on every boot. You do not choose a piece: the sounds, root, scale, tempo and every macro are drawn at random, on the spot. Notes always stay in the scale. No state is saved.\n• It grows to your taste. REC keeps the world playing as a like (up to 16). The more likes there are, the more often a new world comes from them, a little changed (up to 90 %). The likes are all it stores.\n• Buttons are verbs. Sink, cascade, swell, wobble, lift, scramble. Each works while held and fades back slowly: you lay a hand on the room rather than set a sound.\n• Made for the gaps between DJ sets. Plug it in and get sound, fast. Built for a small speaker and a battery (docs/UI_RULES.md, section 10): power-on swells up from silence, high-band peaks are tamed, REC does not stop the sound, the battery shows only when it matters, LEDs are dim on battery. It follows MIDI clock.\n\n## What changed in v1.0\n\nEverything since v0.1 is collected into 1.0.\n• Slow it down and the music breathes: below 70 BPM a bar becomes one breath (up to about 18 s at the slowest). The kick turns into a soft cue and the music rolls like a slow tide. Not under external clock.\n• Leave it alone and the sounds change too: with DRIFT on, not only do the values wander: every 40-60 s one of the floor, haze or arp quietly swaps to another sound, at a rest. You look up and the scene is different.\n• Air under the music: each world lays surf, shower, breeze, campfire, vinyl crackle or a murmuring crowd faintly underneath (or nothing). All of it is computed, not recorded. SWELL brings it close (a surf sends a big wave), SINK sinks it far away. A new world names it after the sounds, as \"~ SURF\".\n• A new world dawns softly: after a new world, a like or a change of voice, the new sound starts muffled and opens by itself over a few seconds. Nothing jumps at your ears.\n• Gentler and wider on a small speaker: bright sounds no longer shout, ROOM rings like a wide hall, and the kick starts a little quieter.\n• More sounds to meet: 20 new sounds across the floor, haze and voice. Existing likes keep working.\n• You can see what is playing: the focused part's sound name appears under PRESETS, and a new world names its three sounds in the top left.\n• Bug fixes.\n\n## Install\n\nInstalling replaces the FM-1's firmware: at your own risk. Check the way back first.\n• Download maku-1.0.fwsc below.\n• Connect the FM-1 over USB and write the package from a computer:\n\npython3 tools/fm1_install.py maku-1.0.fwsc (needs pip3 install mido python-rtmidi; see BUILDING.md).\n\nA browser installer such as the FM-1 Firmware Hub (Chrome / Edge) can write it too.\n• To go back: the installer's \"Return to official V15\", or M-VAVE's own updater. Both erase your likes.\n\nIf an update is interrupted and the screen stays black, see \"If the FM-1 does not start\" in the README.\n\n## Try it in the browser\n\nThe MAKU emulator runs the same code as the instrument, compiled to WebAssembly.\n\n## Known limits / not yet verified on hardware\n\n…"
   },
   "commit": {
    "date": "2026-10-19",
    "title": "chore: setup AGENTS.md rules and references",
    "url": "https://github.com/okumurari2/maku/commit/fa6d95aa4c28941d06c724385ed8bb96a880e8c9"
   },
   "stars": 25,
   "created": "2026-10-09",
   "about": "MAKU (幕間機) is an always-on ambience machine firmware for the M-VAVE FM-1: power it on and a new, random, in-key world is already playing, and the more you like, the more the next ones come from your taste. Other ambient firmwares for the…",
   "image": "https://raw.githubusercontent.com/okumurari2/maku/HEAD/assets/logo.jpg",
   "images": [
    "https://raw.githubusercontent.com/okumurari2/maku/HEAD/assets/logo.jpg",
    "https://raw.githubusercontent.com/okumurari2/maku/HEAD/docs/screenshot-pulse.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/okumurari2~maku.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq-hold",
    "fx-hold",
    "env-hold",
    "lfo-hold",
    "arp-hold",
    "scl-hold",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "MAKU37",
   "repo": "genkigenki/MAKU37",
   "by": "genkigenki",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "about": "MAKU on the SMK-37 keyboard: an unofficial port, offered to MAKU itself as okumurari2/maku#4.",
   "board": "smk37",
   "experimental": true,
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1",
    "url": "https://github.com/genkigenki/MAKU37/releases/tag/v0.1",
    "assets": [
     {
      "name": "maku37-0.1.fwsc",
      "url": "https://github.com/genkigenki/MAKU37/releases/download/v0.1/maku37-0.1.fwsc",
      "size": 651264,
      "sha256": "bcfaf5fb272f748052c03fe1cb60db50dee7bbf6773223b6b174750cce06d13a",
      "check": {
       "sha256": "bcfaf5fb272f748052c03fe1cb60db50dee7bbf6773223b6b174750cce06d13a",
       "bytes": 651211,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "maku37-0.1-elite.fwsc",
      "url": "https://github.com/genkigenki/MAKU37/releases/download/v0.1/maku37-0.1-elite.fwsc",
      "size": 651264,
      "sha256": "fbd8b881edfd18425b907be559841059c675d95932c3460ed875486bf89fe25e",
      "check": {
       "sha256": "fbd8b881edfd18425b907be559841059c675d95932c3460ed875486bf89fe25e",
       "bytes": 651211,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "maku37-0.1-mke.fwsc",
      "url": "https://github.com/genkigenki/MAKU37/releases/download/v0.1/maku37-0.1-mke.fwsc",
      "size": 651264,
      "sha256": "568e10bfba8beb2cb1223f29586d2d2b370141dd770efe3ff28d75bae162a944",
      "check": {
       "sha256": "568e10bfba8beb2cb1223f29586d2d2b370141dd770efe3ff28d75bae162a944",
       "bytes": 651207,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-12",
    "title": "MAKU SMK-37 build 0.1",
    "notes": "MAKU by okumurari2 (https://github.com/okumurari2/maku) for the M-Vave SMK-37 Pro, Elite and MKE-P37.\n\nPackages: maku37-0.1.fwsc (SMK-37 Pro), -elite (SMK-37 Elite), -mke (MKE-P37). The easiest way to install: https://genkigenki.github.io/smk37/ (Chrome or Edge). Experimental, at your own risk: back up the flash first. Ported with the fm1-to-smk37 kit; also offered upstream as okumurari2/maku#3."
   },
   "commit": {
    "date": "2026-10-13",
    "title": "Headers: keep the files' line endings",
    "url": "https://github.com/genkigenki/MAKU37/commit/248f8735d873591a119b06ddf063938614177b8d"
   },
   "stars": 1,
   "created": "2026-10-12",
   "image": "https://raw.githubusercontent.com/genkigenki/MAKU37/HEAD/docs/screenshot-pulse.png",
   "upstream": {
    "prs": [
     {
      "repo": "okumurari2/maku",
      "pr": 4,
      "state": "open",
      "at": null,
      "title": "SMK-37 Pro target again, with the emulator build fixed"
     }
    ],
    "says": "Unofficial SMK-37 build of MAKU by okumurari2. Offered upstream as okumurari2/maku#4; once merged, use the original project and this repo will be archived. All credit to okumurari2.",
    "archive": true
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/genkigenki/MAKU37/HEAD/docs/screenshot-pulse.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~MAKU37.jpg"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://keremimo.github.io/melodee/"
    ],
    [
     "Editor",
     "https://keremimo.github.io/melodee/webapp/editor/"
    ],
    [
     "Manual",
     "https://keremimo.github.io/melodee/webapp/manual/"
    ]
   ],
   "name": "Melodee",
   "repo": "keremimo/melodee",
   "by": "keremimo",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "relay": "melodee",
   "note": "Since 1.3.5 a boot stub returns to USB update mode after an interrupted write (OCT- held at power-on does the same); to move to another custom firmware its installer offers TransitFM1 as the stop in between.",
   "types": [
    "groovebox"
   ],
   "about": "Multi-engine synthesizer and sequencer firmware for the M-VAVE FM-1, a modified Felucca that follows Felucca 1.0's design, with five engines: PROPHET, FM6, CZ-1, SID and DRUM.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://keremimo.github.io/melodee/webapp/installer/",
     "from": "list",
     "front": "https://keremimo.github.io/melodee/"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://keremimo.github.io/melodee/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.6.1",
    "url": "https://github.com/keremimo/melodee/releases/tag/v1.6.1",
    "assets": [
     {
      "name": "BUILD_INFO.json",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/BUILD_INFO.json",
      "size": 4864,
      "sha256": "ecb98c2497aaa028f6d5a0a24524a823ab2f99de4baa4c0066ac281832cafff9"
     },
     {
      "name": "fm1-recover-1.6.1-linux-x64.zip",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/fm1-recover-1.6.1-linux-x64.zip",
      "size": 21600666,
      "sha256": "563e6928637ab383afa6fb97dda22ea0baf43ce559b460836e65770b1b98200b"
     },
     {
      "name": "fm1-recover-1.6.1-macos-arm64.zip",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/fm1-recover-1.6.1-macos-arm64.zip",
      "size": 9038725,
      "sha256": "943a46ed55056d246fe4da318ff6870607766e57317927a1ea594fdc5b4a788d"
     },
     {
      "name": "fm1-recover-1.6.1-macos-x64.zip",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/fm1-recover-1.6.1-macos-x64.zip",
      "size": 9615442,
      "sha256": "8323f95ad9f3a8fe38e8c16b95f20468a90bc484e8b35c4d71b9f9d81c46a993"
     },
     {
      "name": "fm1-recover-1.6.1-windows-x64.zip",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/fm1-recover-1.6.1-windows-x64.zip",
      "size": 9332326,
      "sha256": "2e6967d743ffc42105ac84adc50bc1914729218955213e382e3ba2b931c57c6c"
     },
     {
      "name": "melodee-1.6.1-app.bin",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/melodee-1.6.1-app.bin",
      "size": 559104,
      "sha256": "f254ecd11d364843e3e99d02188a59fc80f86fe53c6278675dd050186c08170b"
     },
     {
      "name": "melodee-1.6.1-licenses.zip",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/melodee-1.6.1-licenses.zip",
      "size": 40653,
      "sha256": "fa73a8a4e60b770ae6ea672271c52c70e72be7fa4217d85912c4383f8ef65ba3"
     },
     {
      "name": "melodee-1.6.1-res.bin",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/melodee-1.6.1-res.bin",
      "size": 53862,
      "sha256": "a952ed33d3abf49d2cfe354f9f75390a8cd014fc29285668d8f756efd7f3fff6"
     },
     {
      "name": "melodee-1.6.1.fwsc",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/melodee-1.6.1.fwsc",
      "size": 668672,
      "sha256": "8555dc54670a9e39b352e228cf5fb5ecc877fc2b702f19631f155dd85e58ba66",
      "check": {
       "sha256": "8555dc54670a9e39b352e228cf5fb5ecc877fc2b702f19631f155dd85e58ba66",
       "bytes": 668948,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/keremimo/melodee/releases/download/v1.6.1/SHA256SUMS",
      "size": 832,
      "sha256": "d67980e87c340589ccf81bc1a95a4983b3b3483fdf639e6a2b026644529e858c"
     }
    ],
    "date": "2026-11-02",
    "title": "Melodee 1.6.1",
    "notes": "## Melodee 1.6.1\n\nMelodee 1.6.1 lets external gear follow the FM-1. It is the first release that sends\n\nMIDI clock and transport, and its internal clock no longer drifts. The manual was also\n\nrewritten to match the firmware. Stored data is unchanged from 1.6.0.\n\nNot yet tried with real gear: clock output and Song Position are covered by\n\nautomated tests, but no external follower has been played against them on hardware.\n\nPlease report what works and what does not, with the device and connection you used.\n\n## MIDI clock out\n• With CLK on INT, the FM-1 sends MIDI clock on USB, USB HOST and Bluetooth,\n\nstopped or playing, with Start on PLAY and Stop on STOP. A DAW or drum machine can\n\nnow follow it.\n• GLO + PLAY sends Stop then Start. Leaving INT sends one Stop. With CLK on USB,\n\nTRS or BLE the FM-1 follows and sends no clock.\n• PLAY from a SONG cursor sends Song Position and Continue, so a follower starts\n\nat the same place. Song Position has no lead time: gear that needs time to locate\n\nmay miss the first pulses.\n• Clock and transport have their own queues, ahead of notes. Pulses wait while a SysEx\n\ntransfer is in flight, so a patch or editor transfer can hold them briefly.\n• TRS is an input only, so no clock leaves through it.\n\n## Following Song Position\n\nWith CLK on USB, TRS or BLE, Song Position then Continue starts every pattern where\n\nplaying from the top would put it, on the input's first clock. The FM-1 stays in its\n\npatterns: it does not run its own SONG sections while following.\n\n## Timing\n• INT no longer drifts. It now runs on the same exact musical units as external\n\nclock. Over five minutes, a 1/32 track used to drift +70 ms at 97 BPM, a 1/16 track\n\n+27 ms, and the arpeggiator −1,375 ms at 120 BPM. All are now zero.\n• Synced LFOs lock to the song. On INT they are exact. On external clock they keep\n\nthe measured tempo, so pulse jitter cannot modulate them, and are pulled back if they\n\nstray more than a quarter of a pulse from the song.\n\n## Other changes\n• Loading a project or template keeps CLK. It is now a device setting, so a song\n\nsaved on INT no longer takes the FM-1 off the clock you chose. Restoring a backup\n\nstill restores it. TUNE, SYSTEM MIDI and ROUT still come from the project.\n• Manual rewritten against the firmware: new sections for MIDI tracks, clock and\n\ntransport, MIDI LEARN, Bluetooth and USB Host, and corrected Projects, Patterns,\n\nNotes, Songs, Menu, GLO and USB audio pages. The README and the Bluetooth guide were\n\nbrought up to date too.\n\n## Upgrading\n• From 1.6.0: install as usual. Projects, presets, settings and backups are\n\nunchanged, and 1.6.0 can still read them.\n• From 1.5.1 or earlier: read Upgrading in the\n\n1.6.0 release notes first, and back up on your current firmware.\n• Check any setup that relied on a project's CLK. Loading a project no longer\n\nchanges it, so set GLO > GLOBAL > CLK once on the device.\n• External gear now receives clock. Anything listening to the FM-1 on USB or\n\nBluetooth sees clock and transport with CLK on INT, which can start a DAW or sequencer\n\nthat follows incoming MIDI.\n\n## Validation and downloads\n\nThe release uses the reviewed\n\nzvenson/fm1-build workflow at v1.\n\nHost and web tests block publication. Firmware and application attestations, source\n\ntag and commit, matching application bytes, all four native recovery archives and\n\nchecksums must pass before the draft is published.\n\nAutomated coverage includes exact no-drift checks over long runs, the clock and\n\ntransport messages on each output, Song Position in both directions, synced LFO lock,\n\nand the USB HOST and Bluetooth send paths against models. These are not the real thing:\n\nthe USB HOST send path and SysEx tools running alongside the clock carry the most\n\nhardware risk, and automated checks and build provenance do not establish hardware\n\nbehaviour.\n\nDownloads include dual-core firmware, application binary, the resource file\n\n(melodee-1.6.1-res.bin), native recovery archives for Windows x64, macOS Apple\n\nSilicon, macOS Intel and Linux x64, licence notices, BUILD_INFO.json and\n\nSHA256SUMS.\n\ngh attestation verify melodee-1.6.1.fwsc --repo keremimo/melodee \\\n--signer-workflow zvenson/fm1-build/.github/workflows/build.yml \\\n--source-ref refs/tags/v1.6.1\n\nSee licensing for retained third-party notices and attribution."
   },
   "commit": {
    "date": "2026-11-02",
    "title": "Merge release/1.6.1 into next",
    "url": "https://github.com/keremimo/melodee/commit/165d177a425944f3d30b0b669255a6ed0050c3a5"
   },
   "stars": 186,
   "created": "2026-10-03",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/keremimo~melodee/home.png",
   "pageFiles": [
    {
     "name": "melodee-1.6.0.fwsc",
     "url": "https://keremimo.github.io/melodee/firmware/melodee-1.6.0.fwsc",
     "page": "https://keremimo.github.io/melodee/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aead68c-a3414\"",
     "size": 619574,
     "check": {
      "sha256": "f51bfc75654129874ea5b7d033335127c7112d7d8a3df056806fef38774eaf44",
      "bytes": 668692,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "f51bfc75654129874ea5b7d033335127c7112d7d8a3df056806fef38774eaf44"
    },
    {
     "name": "melodee-1.5.1.fwsc",
     "url": "https://keremimo.github.io/melodee/firmware/melodee-1.5.1.fwsc",
     "page": "https://keremimo.github.io/melodee/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aead68d-95117\"",
     "size": 610583,
     "check": {
      "sha256": "172afb5b000f093bbe060922e76e11cd9334b12895a7e659bd20da515fb2d640",
      "bytes": 610583,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "172afb5b000f093bbe060922e76e11cd9334b12895a7e659bd20da515fb2d640"
    },
    {
     "name": "melodee-1.5.0.fwsc",
     "url": "https://keremimo.github.io/melodee/firmware/melodee-1.5.0.fwsc",
     "page": "https://keremimo.github.io/melodee/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aead68c-95117\"",
     "size": 610583,
     "check": {
      "sha256": "2bde63b60767bd98ca1688f58a9b200c81e1aab4e6b2ca8de57ed41a6f705e4d",
      "bytes": 610583,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "2bde63b60767bd98ca1688f58a9b200c81e1aab4e6b2ca8de57ed41a6f705e4d"
    },
    {
     "name": "melodee-1.4.5.fwsc",
     "url": "https://keremimo.github.io/melodee/firmware/melodee-1.4.5.fwsc",
     "page": "https://keremimo.github.io/melodee/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aead68c-950f1\"",
     "size": 562685,
     "check": {
      "sha256": "a18f40d6f8c8087b25f115ab11286f85c7f04383de836227c463c6ce4745ce20",
      "bytes": 610545,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "a18f40d6f8c8087b25f115ab11286f85c7f04383de836227c463c6ce4745ce20"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/keremimo~melodee/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/keremimo~melodee.jpg"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://eli7vh.github.io/melodee/webapp/installer/"
    ]
   ],
   "name": "Melodee (WaveLoop build)",
   "repo": "ELI7VH/melodee",
   "branch": "waveloop/main",
   "by": "ELI7VH",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "Melodee 1.4.1 as WaveLoop's performance build: four tracks, per-track USB stems, a set list, controller presets.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://eli7vh.github.io/melodee/webapp/installer/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-25",
    "title": "README: point to WaveLoop's FM-1 index (fm1/README.md)",
    "url": "https://github.com/ELI7VH/melodee/commit/aaaf5e4a5f78f2c3dfdcf5d6ae2e44eb99a5ef72"
   },
   "stars": 0,
   "created": "2026-10-14",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/ELI7VH~melodee/home.png",
   "pageFiles": [
    {
     "name": "melodee-1.4.1.fwsc",
     "url": "https://melodee.fm1.waveloop.app/firmware/melodee-1.4.1.fwsc",
     "page": "https://melodee.fm1.waveloop.app/webapp/installer/",
     "found": "named",
     "etag": "W/\"6adfc571-950e6\"",
     "size": 554354,
     "check": {
      "sha256": "59e4aabfc8ff510339f74a25ce09c7b08ea1d2ce3a354c9a1e34a0546189885c",
      "bytes": 610534,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "59e4aabfc8ff510339f74a25ce09c7b08ea1d2ce3a354c9a1e34a0546189885c"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "keremimo/melodee",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/ELI7VH~melodee/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ELI7VH~melodee.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://chancethemaker.github.io/melodee-smk/"
    ]
   ],
   "name": "Melodee SMK",
   "repo": "ChanceTheMaker/melodee-smk",
   "by": "ChanceTheMaker",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "board": "smk37",
   "about": "Melodee ported to the SMK-37 Pro and Elite, with its own installer (a dual-core beta).",
   "byTrusted": true,
   "seen": "2026-10-19",
   "tools": [
    {
     "kind": "installer",
     "label": "public installer",
     "url": "https://chancethemaker.github.io/melodee-smk/",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "melodee-smk-1.1.0-b1-dc9",
    "url": "https://github.com/ChanceTheMaker/melodee-smk/releases/tag/melodee-smk-1.1.0-b1-dc9",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-18",
    "title": "melodee-smk-1.1.0-b1-dc9",
    "notes": "The SMK updater rejected EB6014 chips before accepting firmware. This release accepts exactly 856014 and EB6014 and reports checksummed loader failures through browser/native installation and original-firmware restore. Sloop/Melodee storage probes share the same ID policy where present. Existing calibration policy, flash commands, writable ranges and protected-byte checks remain unchanged. FM-1 firmware artifacts are unchanged.\n\nValidation: this exact application installed on the owner-provided SMK Pro, restarted as SMK-37_943, then restored original Pro 016 with successful transfer/readback completion and exact restart identity. Host updater suites with sanitizers, native/browser diagnostic tests, package tests for both Pro and Elite, and relevant site/helper checks passed. EB6014 and Elite hardware confirmation, UI/sound and long-duration checks remain pending.\n\nCredits: andyddd for the measured flash ID and recovery evidence in Felucca #17. An already-installed rejecting loader still needs a separately validated recovery route; the Felucca-specific ZIP is not generalized or executed. Details: docs/SMK_FLASH_COMPATIBILITY.md.\n\nApplication SHA-256: b17f8d428d48ad5831c6cf371d7b9799e493b3be04a9dc35279b9b469fb66ead (581372 bytes). Matching source tag: melodee-smk-1.1.0-b1-dc9. Update older Windows helper copies to this release.\n\nInstall: https://chancethemaker.github.io/melodee-smk/"
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Make original-firmware restore independent of custom firmware names",
    "url": "https://github.com/ChanceTheMaker/melodee-smk/commit/42d392a85481011d4398207b7354d84e452f3654"
   },
   "stars": 1,
   "created": "2026-10-12",
   "image": "https://raw.githubusercontent.com/ChanceTheMaker/melodee-smk/HEAD/docs/media/melodee-1.0.0.png",
   "images": [
    "https://raw.githubusercontent.com/ChanceTheMaker/melodee-smk/HEAD/docs/media/melodee-1.0.0.png",
    "https://raw.githubusercontent.com/ChanceTheMaker/melodee-smk/HEAD/docs/panel.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ChanceTheMaker~melodee-smk.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "Melodee SMK-37",
   "repo": "genkigenki/melodee",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "board": "smk37",
   "about": "Melodee (keremimo) on the M-Vave SMK-37 keyboard, a beta port by genkigenki; the FM-1 build unchanged.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-22",
    "title": "Melodee 1.4.5 with the SMK-37 target (the review fixes)",
    "url": "https://github.com/genkigenki/melodee/commit/18b9f7e8ff615b9f2b5d1f631b2ee2dd55223801"
   },
   "stars": 2,
   "created": "2026-10-17",
   "image": null,
   "pageFiles": [
    {
     "name": "melodee-1.4.5.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/melodee-1.4.5.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9f18c\"",
     "size": 565212,
     "check": {
      "sha256": "622a8f3d02b12627b489d966a3568f714ed1b3a32d851fd2a7cd03a020188676",
      "bytes": 651660,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "622a8f3d02b12627b489d966a3568f714ed1b3a32d851fd2a7cd03a020188676"
    },
    {
     "name": "melodee-1.4.5-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/melodee-1.4.5-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9f18c\"",
     "size": 565195,
     "check": {
      "sha256": "3b01f768f1c44e3ece20b6e85d1e646718fbebf36fc707e5f71c6d8eda140902",
      "bytes": 651660,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "3b01f768f1c44e3ece20b6e85d1e646718fbebf36fc707e5f71c6d8eda140902"
    },
    {
     "name": "melodee-1.4.5-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/melodee-1.4.5-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9f188\"",
     "size": 565207,
     "check": {
      "sha256": "67ec46c5bb354801ece11f65244822b30266dc2cc59cf1e616f6a5beab71c72a",
      "bytes": 651656,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "67ec46c5bb354801ece11f65244822b30266dc2cc59cf1e616f6a5beab71c72a"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "keremimo/melodee"
  },
  {
   "links": [
    [
     "Installer",
     "https://rastapopolix.github.io/melodee-tess/webapp/installer/"
    ],
    [
     "Emulator",
     "https://rastapopolix.github.io/melodee-tess/webapp/sim/"
    ],
    [
     "Editor",
     "https://rastapopolix.github.io/melodee-tess/webapp/editor/"
    ]
   ],
   "name": "Melodee Tess",
   "repo": "Rastapopolix/melodee-tess",
   "by": "Rastapopolix",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "A generative-sequencing fork of Melodee.",
   "types": [
    "generative"
   ],
   "experimental": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://rastapopolix.github.io/melodee-tess/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://rastapopolix.github.io/melodee-tess/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v3.2.2",
    "url": "https://github.com/Rastapopolix/melodee-tess/releases/tag/v3.2.2",
    "assets": [
     {
      "name": "tessera-3.2.2.fwsc",
      "url": "https://github.com/Rastapopolix/tessera/releases/download/v3.2.2/tessera-3.2.2.fwsc",
      "size": 610304,
      "sha256": "86c8378aa6f502cce75e9d08963ef232ab00cb5e36a20873e3802b60308ebb82",
      "check": {
       "sha256": "86c8378aa6f502cce75e9d08963ef232ab00cb5e36a20873e3802b60308ebb82",
       "bytes": 610571,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/Rastapopolix/tessera/releases/download/v3.2.2/SHA256SUMS",
      "size": 176,
      "sha256": "c22681a79f42a20cd7d49c25b7bd9e070ebc2039bc1df1c00509ad7e3915a51a"
     },
     {
      "name": "tessera-3.2.2-1core.fwsc",
      "url": "https://github.com/Rastapopolix/tessera/releases/download/v3.2.2/tessera-3.2.2-1core.fwsc",
      "size": 610304,
      "sha256": "adbc026ee43ce554a09ab4303dbeccc9a37bfb2a5528a6c61d83a261ada4c6f6",
      "check": {
       "sha256": "adbc026ee43ce554a09ab4303dbeccc9a37bfb2a5528a6c61d83a261ada4c6f6",
       "bytes": 610571,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-11-01",
    "title": "Tessera 3.2.2",
    "notes": "Tessera 3.2.2 follows Tessera 3.2.1 with one addition: Snap to scale, which moves a pattern's written notes onto the scale. Projects, presets and settings from 2.x, 3.0, 3.0.1, 3.1, 3.2 and 3.2.1 carry over as they are.\n\n## 🎯 Snap to scale\n• QNT works on notes as they come in, so notes written with QNT OFF or before SCL changed stay off the scale. This brings them onto it, once.\n• Hold OCT+ on GEN (STEP), NOTES or PATTERN for the pattern's sheet, go to Snap to scale and press OCT+.\n• It moves every written note of the pattern on a melodic track: each note of a chord, recorded notes, and steps hidden past LEN.\n• Each note goes to the nearest note of the scale, from ROOT; halfway between two, it goes down. Two notes of a chord that land on the same note become one.\n• With QNT CHRD and a CHORD track playing, notes go to the nearest note of the chord playing now.\n• The header says how many moved (SNAPPED 7) or ALL IN SCALE. Hold EDIT to undo it.\n\n## 📦 Installation\n\nOpen rastapopolix.github.io/tessera in Chrome or Edge, connect the FM-1 by USB and press Install, then keep the tab open and the FM-1 connected until the install window says Done. The installer can also put the official M-VAVE firmware back. Or take tessera-3.2.2.fwsc (dual core) or tessera-3.2.2-1core.fwsc from this release.\n\n## ⚠️ Good to know\n• Projects from earlier versions load and play as before, and the project format has not changed.\n• On a microtonal scale or your own tuning with QNT on, every note already is a degree of the scale, so Snap to scale moves nothing. A kit or slices has no such row.\n• Snap to scale is new and not yet tried on many devices: if something is off, please say so in an issue."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #439 from Rastapopolix/site/experimental-line",
    "url": "https://github.com/Rastapopolix/tessera/commit/409b34c428c1f525503dd9a841ba796c90009949"
   },
   "stars": 23,
   "created": "2026-10-11",
   "image": "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/brand/banner.png",
   "images": [
    "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/brand/banner.png",
    "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/gallery/home.png",
    "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/gallery/gen_constel.png",
    "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/gallery/gen_grids.png",
    "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/gallery/gen_quad.png",
    "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/gallery/gen_chord.png",
    "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/gallery/gen_series.png",
    "https://raw.githubusercontent.com/Rastapopolix/melodee-tess/HEAD/assets/gallery/gen_turing.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://davidozz0.github.io/clipper-smk/webapp/installer/"
    ],
    [
     "Editor",
     "https://davidozz0.github.io/clipper-smk/webapp/editor/"
    ]
   ],
   "name": "clipper-smk",
   "repo": "davidozz0/clipper-smk",
   "by": "davidozz0",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "experimental"
   ],
   "experimental": true,
   "board": "smk37",
   "about": "Clipper 1.1 ported to the SMK-37 Pro: TRS MIDI out, a sound picker on the pads, sounds grouped by engine.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://davidozz0.github.io/clipper-smk/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://davidozz0.github.io/clipper-smk/webapp/editor/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-22",
    "title": "dist: the 2026-10-21 package (f1e96a07) as the canonical one, as the …",
    "url": "https://github.com/davidozz0/clipper-smk/commit/42cb76ed6a4942ce3b471cd6cb0801dfa3b3e817"
   },
   "stars": 1,
   "created": "2026-10-20",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/davidozz0~clipper-smk/home.png",
   "pageFiles": [
    {
     "name": "clipper-1.1-smk37.fwsc",
     "url": "https://davidozz0.github.io/clipper-smk/firmware/clipper-1.1-smk37.fwsc",
     "page": "https://davidozz0.github.io/clipper-smk/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ad9bc4a-9efda\"",
     "size": 564659,
     "check": {
      "sha256": "f1e96a0726dc2522643cf1e0b18afe3938e061927305d483672c5bf817b00074",
      "bytes": 651226,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "f1e96a0726dc2522643cf1e0b18afe3938e061927305d483672c5bf817b00074"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page",
   "parent": "isod89/clipper-fm1",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/davidozz0~clipper-smk/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/davidozz0~clipper-smk.jpg"
   ]
  },
  {
   "links": [],
   "name": "HYPNO-1",
   "repo": "shcherbakov7/hypno-1",
   "branch": "hypno/setup",
   "by": "shcherbakov7",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "about": "A SLOOP 2.6 fork for hypnotic acid techno, in progress: more tracks, a 303 ACID engine, sidechain and DICE beats.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-21",
    "title": "Stage 5, part 1: the GRID and ROLL screens, a drawn HYPNO-1 splash",
    "url": "https://github.com/shcherbakov7/hypno-1/commit/d68e8075864d842218303dc0e101715321e16c26"
   },
   "stars": 0,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/logo/sloop-logo.png",
   "images": [
    "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/screens/sloop-2.6-screens.png",
    "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/screens/editor-sound.png",
    "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/screens/editor-midi-texture.png",
    "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/screens/sloop-screens.png",
    "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/screens/editor-drumsynth.png",
    "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/screens/editor-cartridge.png",
    "https://raw.githubusercontent.com/shcherbakov7/hypno-1/hypno%2Fsetup/assets/screens/editor-pianoroll.png"
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: 2.6 (27 punch-in effects, a per-track INSERT effect, tempo-synced LFO and envelopes, MIDI LEARN, live drum mutes, a bolder screen; after 2.5's two new engines, drum synth and MIDI CCs). Still a beta: install at your own risk, and please report what you find. Your projects, presets, samples and settings are kept when you update, and you can go back at any time (see Going back).",
    "date": "2026-10-21",
    "url": "https://github.com/shcherbakov7/hypno-1#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Companion",
     "https://mandalars.org/mandalars/launchparty/"
    ]
   ],
   "name": "LAUNCHPARTY",
   "repo": "megagott/launchparty-fm1",
   "by": "megagott",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "experimental",
    "synth"
   ],
   "about": "MYCELIUM's sibling: playable synth sounds with interactive Launchpad Pro MK3 lightshows, and a browser companion.",
   "experimental": true,
   "status": "0.3.2-public is untested on hardware; the 0.3.1 development build ran on an FM-1.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.3.2-public",
    "url": "https://github.com/megagott/launchparty-fm1/releases/tag/v0.3.2-public",
    "assets": [
     {
      "name": "launchparty-0.3.2-public-source-clean.zip",
      "url": "https://github.com/megagott/launchparty-fm1/releases/download/v0.3.2-public/launchparty-0.3.2-public-source-clean.zip",
      "size": 2852127,
      "sha256": "87c50c0f053b3fa5aef8753762f60b96c1d014f98f060bfb5505ba3be1659a29"
     },
     {
      "name": "launchparty-0.3.2-public.fwsc",
      "url": "https://github.com/megagott/launchparty-fm1/releases/download/v0.3.2-public/launchparty-0.3.2-public.fwsc",
      "size": 610304,
      "sha256": "83b4a2ee4aa539c8946e8b9660a51b0bc6eff5abd1677fab0f3b55712429873e",
      "check": {
       "sha256": "83b4a2ee4aa539c8946e8b9660a51b0bc6eff5abd1677fab0f3b55712429873e",
       "bytes": 609999,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS-clean.txt",
      "url": "https://github.com/megagott/launchparty-fm1/releases/download/v0.3.2-public/SHA256SUMS-clean.txt",
      "size": 206,
      "sha256": "908eb89510210256956bfbd8a0ed49a58f3127b10a3132812710ad95f0abb93e"
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/megagott/launchparty-fm1/releases/download/v0.3.2-public/SHA256SUMS.txt",
      "size": 200,
      "sha256": "d15d2e84a47f26bfbd5609456897fae0dce3b6295f9da9019c847cf8d80545e5"
     }
    ],
    "prerelease": true,
    "date": "2026-10-21",
    "title": "LAUNCHPARTY 0.3.2-public — original-pattern test release",
    "notes": "Experimental public edition for M-VAVE FM-1 + Novation Launchpad Pro MK3.\n\nPlayable synth sounds, layered lightshow clips, 27 keyboard overlays, neon pad effects and Auto Party. Public factory patterns are original authored loops.\n\n## Source publication correction — 31 October 2026\n\nThe corresponding source is now directly browsable in main: firmware/, tools/, tests/, shows/, web/ and build/gen/.\n\nUse launchparty-0.3.2-public-source-clean.zip and SHA256SUMS-clean.txt below. An unused historical backup header containing private imported show data was discovered in the former source ZIP and removed from this replacement. The old attached source ZIP has been withdrawn. The original release tag and Git history have not been rewritten; their automatically generated archives are historical snapshots, not the corrected source download.\n\nThe firmware binary is unchanged. Firmware SHA-256: 83b4a2ee4aa539c8946e8b9660a51b0bc6eff5abd1677fab0f3b55712429873e. Clean source SHA-256: 87c50c0f053b3fa5aef8753762f60b96c1d014f98f060bfb5505ba3be1659a29. The older SHA256SUMS.txt describes the superseded source ZIP; use SHA256SUMS-clean.txt.\n\nEleven host regression checks and all three browser test suites passed again on 31 October 2026. Product identity FM-1_900; package CRCs and Felucca loader verified. Read INSTALL.md and BUILDING.md first.\n\n## Hardware status\n\nThis public 0.3.2 build has not completed the Firmware Hub physical installation, firmware-switch-back and interrupted-update checklist. Later private development builds have separate real-device test logs; those do not certify this public binary. An external USB-MIDI host or computer bridge is required. Other Launchpad models are not claimed compatible.\n\nReal FM-1 photo, development version 0.3.1 WEB. Independent project based on MYCELIUM, SLOOP and Felucca; GPL-3.0-only code with retained asset notices."
   },
   "commit": {
    "date": "2026-10-31",
    "title": "Publish public source: clean source archive and publication status",
    "url": "https://github.com/megagott/launchparty-fm1/commit/f6e27157cdb5936cbdb1c2d64056a6163bf3b911"
   },
   "stars": 0,
   "created": "2026-10-21",
   "image": "https://raw.githubusercontent.com/megagott/launchparty-fm1/HEAD/launchparty-logo-v1.png",
   "images": [
    "https://raw.githubusercontent.com/megagott/launchparty-fm1/HEAD/launchparty-logo-v1.png",
    "https://raw.githubusercontent.com/megagott/launchparty-fm1/HEAD/launchparty-fm1-display-0.3.1.jpg"
   ],
   "pageFiles": [
    {
     "name": "launchparty-0.3.1-web.fwsc",
     "url": "https://mandalars.org/mandalars/launchparty/launchparty-0.3.1-web.fwsc",
     "page": "https://mandalars.org/mandalars/launchparty/",
     "etag": "\"94ecf-65e5f76d3f308\"",
     "size": 609999,
     "check": {
      "sha256": "6f8d6a3a90f87fd2b61f8a89c3dca4dc0048a6ae3cd9e104a17c1a1de680d0df",
      "bytes": 609999,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "6f8d6a3a90f87fd2b61f8a89c3dca4dc0048a6ae3cd9e104a17c1a1de680d0df"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "home",
    "seq-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://vikramrojo.github.io/maqam-dev/"
    ]
   ],
   "name": "Maqam",
   "repo": "vikramrojo/maqam-dev",
   "by": "vikramrojo",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "theory"
   ],
   "about": "SLOOP with quarter tones: 52 Western, makam, maqam and raga scales on a 24-note grid, and a per-step cent bend.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://vikramrojo.github.io/maqam-dev/webapp/installer/",
     "from": "list",
     "front": "https://vikramrojo.github.io/maqam-dev/"
    }
   ],
   "commit": {
    "date": "2026-10-16",
    "title": "Merge pull request #3 from vikramrojo/vikramrojo/pr-previews",
    "url": "https://github.com/vikramrojo/maqam-dev/commit/8bd7db8492ccf13b5e9e63d421653894ae9cbbb2"
   },
   "stars": 1,
   "created": "2026-10-06",
   "image": "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/logo/sloop-logo.png",
   "images": [
    "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/screens/sloop-2.6-screens.png",
    "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/screens/editor-sound.png",
    "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/screens/editor-midi-texture.png",
    "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/screens/sloop-screens.png",
    "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/screens/editor-drumsynth.png",
    "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/screens/editor-cartridge.png",
    "https://raw.githubusercontent.com/vikramrojo/maqam-dev/HEAD/assets/screens/editor-pianoroll.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/vikramrojo~maqam-dev.jpg"
   ],
   "pageFiles": [
    {
     "name": "maqam-2.6-maqam-8bd7db8.fwsc",
     "url": "https://vikramrojo.github.io/maqam-dev/firmware/maqam-2.6-maqam-8bd7db8.fwsc",
     "page": "https://vikramrojo.github.io/maqam-dev/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ad36d89-94ee3\"",
     "size": 592930,
     "check": {
      "sha256": "d04542db396d2bc30c2102e4a8677db09dc8ae877ea6fde5567ddd3fabe05693",
      "bytes": 610019,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "d04542db396d2bc30c2102e4a8677db09dc8ae877ea6fde5567ddd3fabe05693"
    }
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: 2.6 (27 punch-in effects, a per-track INSERT effect, tempo-synced LFO and envelopes, MIDI LEARN, live drum mutes, a bolder screen; after 2.5's two new engines, drum synth and MIDI CCs). Still a beta: install at your own risk, and please report what you find. Your projects, presets, samples and settings are kept when you update, and you can go back at any time (see Going back).",
    "date": "2026-10-16",
    "url": "https://github.com/vikramrojo/maqam-dev#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "isod89/sloop-fm1",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://merthsoft.github.io/sloop-fm1/"
    ]
   ],
   "name": "MerthSloop",
   "repo": "merthsoft/sloop-fm1",
   "by": "merthsoft",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "SLOOP with track wah and pan, note ties, custom progressions, a clearer display and an Android companion app.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://merthsoft.github.io/sloop-fm1/webapp/installer/",
     "from": "list",
     "front": "https://merthsoft.github.io/sloop-fm1/"
    }
   ],
   "commit": {
    "date": "2026-11-02",
    "title": "Ship 2.8.4.119 firmware and mobile generator sessions",
    "url": "https://github.com/merthsoft/sloop-fm1/commit/128696868362b79ed90cb01234cea1b7369810de"
   },
   "stars": 0,
   "created": "2026-10-07",
   "image": "https://raw.githubusercontent.com/merthsoft/sloop-fm1/merthsloop/assets/screens/merthsoft/neon/home.png",
   "images": [
    "https://raw.githubusercontent.com/merthsoft/sloop-fm1/HEAD/assets/screens/merthsoft/neon/home.png",
    "https://raw.githubusercontent.com/merthsoft/sloop-fm1/HEAD/assets/screens/merthsoft/neon/envelope.png",
    "https://raw.githubusercontent.com/merthsoft/sloop-fm1/HEAD/assets/screens/merthsoft/neon/wah.png",
    "https://raw.githubusercontent.com/merthsoft/sloop-fm1/HEAD/assets/screens/merthsoft/neon/song.png",
    "https://raw.githubusercontent.com/merthsoft/sloop-fm1/HEAD/assets/screens/merthsoft/neon/record.png",
    "https://raw.githubusercontent.com/merthsoft/sloop-fm1/HEAD/assets/screens/merthsoft/neon/count-in.png",
    "https://raw.githubusercontent.com/merthsoft/sloop-fm1/HEAD/assets/screens/merthsoft/neon/notes.png",
    "https://raw.githubusercontent.com/merthsoft/sloop-fm1/HEAD/assets/screens/merthsoft/neon/note-actions.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/merthsoft~sloop-fm1.jpg"
   ],
   "pageFiles": [
    {
     "name": "merthsloop-2.8.4.119.fwsc",
     "url": "https://merthsoft.github.io/sloop-fm1/firmware/merthsloop-2.8.4.119.fwsc",
     "page": "https://merthsoft.github.io/sloop-fm1/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ae7dc31-94ed1\"",
     "size": 602460,
     "check": {
      "sha256": "6a978f44941e4205a110e05c5fde3db3c423b3926d23b9a2661385bdd19f3470",
      "bytes": 610001,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "6a978f44941e4205a110e05c5fde3db3c423b3926d23b9a2661385bdd19f3470"
    }
   ],
   "pageMentions": [
    {
     "page": "https://merthsoft.github.io/sloop-fm1/webapp/installer/",
     "names": [
      "sloop-2.7.fwsc"
     ]
    }
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: beta. Please report what you find. Projects, presets, samples and settings are kept during updates; see Going back before downgrading.",
    "date": "2026-11-02",
    "url": "https://github.com/merthsoft/sloop-fm1#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "isod89/sloop-fm1",
   "screens": [
    "boot",
    "home",
    "seq-hold",
    "fx",
    "fx-hold",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Website",
     "https://www.mandalars.org/mandalars/fm1/"
    ],
    [
     "Releases",
     "https://github.com/megagott/mycelium-fm1/releases"
    ]
   ],
   "name": "MYCELIUM",
   "repo": "megagott/mycelium-fm1",
   "by": "megagott",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "about": "Forest, psytrance, Goa and hi-tech firmware, based on Felucca and SLOOP.",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v1.0-test",
    "url": "https://github.com/megagott/mycelium-fm1/releases/tag/v1.0-test",
    "assets": [
     {
      "name": "Mycelium-FM1-1.0-Quellcode.zip",
      "url": "https://github.com/megagott/mycelium-fm1/releases/download/v1.0-test/Mycelium-FM1-1.0-Quellcode.zip",
      "size": 5274337,
      "sha256": "7011d8f34f5b62dc800c0890cf528636d012d7dd1f3c6116f43c623abd5034de"
     },
     {
      "name": "Mycelium-FM1-1.0.fwsc",
      "url": "https://github.com/megagott/mycelium-fm1/releases/download/v1.0-test/Mycelium-FM1-1.0.fwsc",
      "size": 610304,
      "sha256": "9aa2802a0ac07f412e36c079c8034820b7405e3477468d0b3cfc7fd3f93e0da8",
      "check": {
       "sha256": "9aa2802a0ac07f412e36c079c8034820b7405e3477468d0b3cfc7fd3f93e0da8",
       "bytes": 609999,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-10-14",
    "title": "MYCELIUM FM-1 1.0 — Test Release",
    "notes": "MYCELIUM is a free, open-source alternative firmware for M-VAVE FM-1, built on Felucca and SLOOP, with Forest, Psytrance, Goa and Hitech grooves, original drums/icons and four factory songs.\n\nTest release: installation and reboot on the project device are documented; a complete physical listening and controls test remains outstanding. Back up your work before flashing and read the installation/recovery instructions in the repository README.\n• Installable firmware: Mycelium-FM1-1.0.fwsc\n• Package identity: FM-1_900\n• Felucca update loader included; identity, loader marker and internal CRCs checked.\n• SHA-256: 9aa2802a0ac07f412e36c079c8034820b7405e3477468d0b3cfc7fd3f93e0da8\n• Corresponding source archive and asset licences included; extract and read BUILDING.md. No fresh reproducible build was performed here.\n\nFirmware code: GPL-3.0-only. Upstream credits and asset-specific notices are preserved. Real FM-1 display photo is in the repository. Independent of M-VAVE.\n\nHome: https://www.mandalars.org/mandalars/"
   },
   "commit": {
    "date": "2026-10-14",
    "title": "Publish MYCELIUM 1.0 source archive, GPL licence and real FM-1 display",
    "url": "https://github.com/megagott/mycelium-fm1/commit/750eb125e2850acc62a8391cb742246a7c437745"
   },
   "stars": 5,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/megagott/mycelium-fm1/HEAD/mycelium-fm1-display-original.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "scl-hold",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "MEOW-1",
   "repo": "JB-Interactive/Felucca-Meow",
   "branch": "meow",
   "by": "JB-Interactive",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "Felucca 1.4.1 with MEOW, a synthesized cat-call engine (meow, purr, hiss...), and a cat band on its four tracks.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-09",
    "title": "MEOW-1: a demo at power-on; patterns PURR, HISS, KATZ",
    "url": "https://github.com/JB-Interactive/Felucca-Meow/commit/bd948fa655232c98813347b6f7fd002ffd1b3aa5"
   },
   "stars": 0,
   "created": "2026-10-09",
   "image": "https://raw.githubusercontent.com/JB-Interactive/Felucca-Meow/meow/docs/felucca-1.0.png",
   "images": [
    "https://raw.githubusercontent.com/JB-Interactive/Felucca-Meow/meow/docs/felucca-1.0.png",
    "https://raw.githubusercontent.com/JB-Interactive/Felucca-Meow/meow/docs/controls.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Mini-Tone",
   "repo": "eldontyrellcorp/Mini-Tone",
   "by": "eldontyrellcorp",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "about": "Felucca 1.5 with six tracks, new engines after Elektron's and others (SID, Braids, TB-303) and a ping-pong delay.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "minitone-1.0.5",
    "url": "https://github.com/eldontyrellcorp/Mini-Tone/releases/tag/minitone-1.0.5",
    "assets": [
     {
      "name": "minitone-1.0.5.fwsc",
      "url": "https://github.com/eldontyrellcorp/Mini-Tone/releases/download/minitone-1.0.5/minitone-1.0.5.fwsc",
      "size": 610304,
      "sha256": "6e188e18052c67d3b2684781a35af3b0cf8a54ed7645e8c55e313fa143f0b9ca",
      "check": {
       "sha256": "6e188e18052c67d3b2684781a35af3b0cf8a54ed7645e8c55e313fa143f0b9ca",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-26",
    "title": "minitone-1.0.5",
    "notes": "• Fixed the noise issue with the ELEK reverv"
   },
   "commit": {
    "date": "2026-10-26",
    "title": "Version 1.0.5: the ELEK reverb's tail ends in silence; README",
    "url": "https://github.com/eldontyrellcorp/Mini-Tone/commit/6803c6c29e3402fcc0c4af7c2050df987d9b66b5"
   },
   "stars": 6,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/eldontyrellcorp/Mini-Tone/HEAD/docs/controls.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://bunglesociety.github.io/modular-one/"
    ]
   ],
   "name": "Modular One",
   "repo": "bunglesociety/modular-one",
   "by": "bunglesociety",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A film-music Felucca: the Modular Town plugin's soft FM engine and effects, three synth tracks, a MIDI player.",
   "status": "Beta: runs on its author's FM-1, not yet tested on other units.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://bunglesociety.github.io/modular-one/install/",
     "from": "site"
    }
   ],
   "release": {
    "tag": "v0.1-beta",
    "url": "https://github.com/bunglesociety/modular-one/releases/tag/v0.1-beta",
    "assets": [
     {
      "name": "modular-one-0.1-beta.fwsc",
      "url": "https://github.com/bunglesociety/modular-one/releases/download/v0.1-beta/modular-one-0.1-beta.fwsc",
      "size": 609280,
      "sha256": "beab4e0e28ff2ff3ef5073d6d63fa257c466c0fca25ba984f0f59335665184ca",
      "check": {
       "sha256": "beab4e0e28ff2ff3ef5073d6d63fa257c466c0fca25ba984f0f59335665184ca",
       "bytes": 609649,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-10-20",
    "title": "Modular One 0.1 beta",
    "notes": "First public beta of Modular One, a film-music firmware for the M-VAVE FM-1, based on Felucca by Leo Kuroshita.\n\nInstall instructions: see README (English) or LISEZMOI (Français).\n\nUse at your own risk. Back to official firmware: M-VAVE M-UPGRADE."
   },
   "commit": {
    "date": "2026-10-26",
    "title": "Lien Modular Town et vidéo",
    "url": "https://github.com/bunglesociety/modular-one/commit/78791b6deafe332ec44ce464c984170eedf42170"
   },
   "stars": 6,
   "created": "2026-10-20",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/bunglesociety~modular-one.jpg",
   "pageFiles": [
    {
     "name": "modular-one-0.2-beta.fwsc",
     "url": "https://bunglesociety.github.io/modular-one/firmware/modular-one-0.2-beta.fwsc",
     "page": "https://bunglesociety.github.io/modular-one/install/",
     "found": "named",
     "etag": "W/\"6adf2503-94d71\"",
     "size": 445392,
     "check": {
      "sha256": "1dac495c068e8a220598920bbcd79b03ce39d7d260966ae1b591ab6d54cc274c",
      "bytes": 609649,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "1dac495c068e8a220598920bbcd79b03ce39d7d260966ae1b591ab6d54cc274c"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://rosen-wav.github.io/more-chords-M-VAVE-FM-1-Custom-Firmware/site/"
    ],
    [
     "Emulator",
     "https://rosen-wav.github.io/more-chords-M-VAVE-FM-1-Custom-Firmware/site/emulator/"
    ]
   ],
   "name": "more chords!",
   "repo": "rosen-wav/more-chords-M-VAVE-FM-1-Custom-Firmware",
   "by": "rosen-wav",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "theory",
    "synth"
   ],
   "about": "A ChoralRoot remix: PROPHET, GRAIN, SWARM, CLUSTER, CLOUD, BASS and MORPH engines, a step sequencer, a chord generator.",
   "note": "Packages on its own site (site/firmware/), not in GitHub releases. Its site says the browser installer was tested on simulated devices only; the package matches the one checked with the command-line installer. Reports itself as ChoralRoot 0.14.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://rosen-wav.github.io/more-chords-M-VAVE-FM-1-Custom-Firmware/site/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-21",
    "title": "update to v61",
    "url": "https://github.com/rosen-wav/more-chords-M-VAVE-FM-1-Custom-Firmware/commit/d4de765d4022b9e9214594bf2451ae22dfe5b454"
   },
   "stars": 0,
   "created": "2026-10-18",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/rosen-wav~more-chords-M-VAVE-FM-1-Custom-Firmware.jpg",
   "pageFiles": [
    {
     "name": "more-chords-v61-410d52b2500d.fwsc",
     "url": "https://rosen-wav.github.io/more-chords-M-VAVE-FM-1-Custom-Firmware/site/firmware/more-chords-v61-410d52b2500d.fwsc",
     "page": "https://rosen-wav.github.io/more-chords-M-VAVE-FM-1-Custom-Firmware/site/",
     "etag": "W/\"6ad8d7fe-94ff9\"",
     "size": 583759,
     "check": {
      "sha256": "410d52b2500d7d79ed1956d425fdc5874c3c7f617df52adb2018e0ece64f06f6",
      "bytes": 610297,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "410d52b2500d7d79ed1956d425fdc5874c3c7f617df52adb2018e0ece64f06f6"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "screens": [
    "boot",
    "seq",
    "seq-hold",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "glo"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://fenderberg.github.io/fm1-nc-companion/webapp/try/"
    ]
   ],
   "name": "NCC",
   "repo": "fenderberg/fm1-nc-companion",
   "by": "fenderberg",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "Felucca cut down to a two-part synth for the Novation Circuit Tracks: its MIDI tracks play it, its macros edit it.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Install",
     "url": "https://fenderberg.github.io/fm1-nc-companion/webapp/installer/",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "v0.5",
    "url": "https://github.com/fenderberg/fm1-nc-companion/releases/tag/v0.5",
    "assets": [
     {
      "name": "ncc-0.5-source.tar.gz",
      "url": "https://github.com/fenderberg/fm1-nc-companion/releases/download/v0.5/ncc-0.5-source.tar.gz",
      "size": 6385828,
      "sha256": "478028e4b5437bc29798d22a7bd78c09a540d2f2364953e70208fa932aa80e55"
     },
     {
      "name": "ncc-0.5.fwsc",
      "url": "https://github.com/fenderberg/fm1-nc-companion/releases/download/v0.5/ncc-0.5.fwsc",
      "size": 610304,
      "sha256": "b98b152f77c5d510f9c062f5907d126c837e61d5a77a2239c6886138fd54ec52",
      "check": {
       "sha256": "b98b152f77c5d510f9c062f5907d126c837e61d5a77a2239c6886138fd54ec52",
       "bytes": 610090,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "ncc-0.5.zip",
      "url": "https://github.com/fenderberg/fm1-nc-companion/releases/download/v0.5/ncc-0.5.zip",
      "size": 1034240,
      "sha256": "ff3c79a70e1fbbccec1d205bbbd8b1707f50692e0f0e206284b4955a1d60ee88"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/fenderberg/fm1-nc-companion/releases/download/v0.5/SHA256SUMS",
      "size": 245,
      "sha256": "c1714de9c9e7784a2e71a8652aa1675f6f3a2228b06184e21762d576e7f1b201"
     }
    ],
    "date": "2026-11-01",
    "title": "NCC 0.5",
    "notes": "NCC 0.5 keeps the arp and a plain drone playing through a sound change, locks the arp tighter to the Circuit's\n\nclock, lets PLAY navigate the panel's pages, and crossfades REPLACE drones.\n• A preset or engine switch keeps the arp and a plain drone going, instead of silencing the part. The arp\n\nsimply continues stepping through its held notes on the new sound; a droning chord (no arp) is replayed at once.\n• PLAY turns the pages of ARP, FX, GLO and EDIT: tap for the next, hold for the previous. SELECT is only the\n\ncategory, on SOUND.\n• REPLACE drones crossfade from one chord to the next in POLY, when voices are free.\n• The arp stays exactly on the Circuit's clock, also when the tempo changes; Start restarts a held arp.\n• A new DX7 bank shows its own names: after a bank replaced another, the list kept the old names and\n\ncategories. The Manager can now remove the DX7 bank too.\n• A rare signed-overflow in FM6 fixed.\n\nInstall: web installer (Chrome/Edge and\n\nUSB), or python3 tools/fm1_install.py ncc-0.5.fwsc. Release identity: FM-1_705.\n\nManual.\n\nDownloads: ncc-0.5.zip contains the firmware, app image, checksums, sample attribution and licence texts.\n\nncc-0.5-source.tar.gz contains the complete corresponding source including the engine submodule, which\n\nGitHub's automatic source ZIP omits. SHA256SUMS covers all three downloads. Built on\n\nFelucca; GPL-3.0-only with the existing third-party licences.\n\nValidation: both NCC host variants pass with fatal UBSan enabled; 113 NCC + 98 plain golden renders unchanged;\n\nnew tests cover the preset/engine-switch arp and drone behavior, the corrected DX7 bank-replace/remove case and\n\nthe sequencer-driven arp grid. The same synth code (development build FM-1_700) was installed on the owner's FM-1\n\nearlier the same day: write/restart, identity and the library were verified. This release changes identity/version\n\nmetadata only. Listening, physical controls and hardware deadline checks remain practical tests.\n\nKnown limitations: the GLIDE ring's displayed time and restoration of an NCC patch's name after power cycling\n\nstill need work. PHYS/GRAIN have three voices per part, VOICE four; the shared voice budget still applies in Dual.\n\nFirmware SHA-256: b98b152f77c5d510f9c062f5907d126c837e61d5a77a2239c6886138fd54ec52."
   },
   "commit": {
    "date": "2026-11-01",
    "title": "NC: record enabling GitHub Discussions too",
    "url": "https://github.com/fenderberg/fm1-nc-companion/commit/ba2b2ed314e3a1a6d7f4b98fd47b0f46efa8d87e"
   },
   "stars": 6,
   "created": "2026-10-20",
   "image": "https://raw.githubusercontent.com/fenderberg/fm1-nc-companion/HEAD/docs/ncc-emulator.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "fx",
    "env-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/fenderberg/fm1-nc-companion/HEAD/docs/ncc-emulator.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/fenderberg~fm1-nc-companion.jpg"
   ]
  },
  {
   "links": [],
   "name": "NightShift",
   "repo": "Leeman1982/Felucca",
   "branch": "ccr-8a0f3129-a0xbup",
   "by": "Leeman1982",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "about": "An eight-track groovebox build of Felucca 1.5 with 16 voices and Open Samples basses, strings and a LinnDrum kit.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-18",
    "title": "NightShift: 16 shared voices",
    "url": "https://github.com/Leeman1982/Felucca/commit/74466ba9b130c9e3db9185d40033a40f442ec2c5"
   },
   "stars": 0,
   "created": "2026-10-10",
   "image": "https://raw.githubusercontent.com/Leeman1982/Felucca/ccr-8a0f3129-a0xbup/docs/felucca-1.0.png",
   "images": [
    "https://raw.githubusercontent.com/Leeman1982/Felucca/ccr-8a0f3129-a0xbup/docs/felucca-1.0.png",
    "https://raw.githubusercontent.com/Leeman1982/Felucca/ccr-8a0f3129-a0xbup/docs/controls.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Releases",
     "https://github.com/SPIKE-the-Percussionist/noiz_demons/releases"
    ]
   ],
   "name": "NOIZ DEMONS",
   "repo": "SPIKE-the-Percussionist/noiz_demons",
   "by": "SPIKE-the-Percussionist",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "experimental"
   ],
   "about": "Felucca 1.5.1 with a per-track ritual mode: a summon rerolls the track's sound under one of 30 ranked demons, the demon's rank setting how far each value moves, with its sigil drawn in the graph area and pulsing with the sound.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v666",
    "url": "https://github.com/SPIKE-the-Percussionist/noiz_demons/releases/tag/v666",
    "assets": [
     {
      "name": "noiz_demons.fwsc",
      "url": "https://github.com/SPIKE-the-Percussionist/noiz_demons/releases/download/v666/noiz_demons.fwsc",
      "size": 610304,
      "sha256": "b1c14859d45bd8ea1d5ea6ca630083e2a647178f1a45b33865e92da7a01e9b8a",
      "check": {
       "sha256": "b1c14859d45bd8ea1d5ea6ca630083e2a647178f1a45b33865e92da7a01e9b8a",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-15",
    "title": "NOIZ DEMONS",
    "notes": "NOIZ DEMONS — a Felucca mod for the M-VAVE FM-1, by SPIKE the Percussionist.\n\nNOIZ DEMONS turns your FM-1 into a demonic summoning ritual. It powers on in Ritual, ready to go — just hit Summon, and one of 30 Goetia demons answers. Each demon has its own hand-drawn sigil that replaces the waveform and pulses with your sound, and its own temper that decides how far the summoning twists your patch. Low-ranking spirits nudge it; Belial tears it wide open.\n\nTo install: download noiz_demons.fwsc below and flash it with the FM-1 web installer or fm1_install.py. See the README for the full demon codex and the wildness chart.\n\nBuilt on Felucca by Hügelton Instruments. GPL-3.0."
   },
   "commit": {
    "date": "2026-10-14",
    "title": "Add files via upload",
    "url": "https://github.com/SPIKE-the-Percussionist/noiz_demons/commit/4fe0f1afb4d97f56dfb763c176679fe6e059ecec"
   },
   "stars": 8,
   "created": "2026-10-12",
   "image": "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/codex.png",
   "images": [
    "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/codex.png",
    "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/wildness.png",
    "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/sigils/belial.png",
    "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/sigils/asmodeus.png",
    "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/sigils/paimon.png",
    "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/sigils/bael.png",
    "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/sigils/purson.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesOff": [
    {
     "url": "https://raw.githubusercontent.com/SPIKE-the-Percussionist/noiz_demons/HEAD/docs/img/splash.gif",
     "why": "its first frame is one colour"
    }
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://gybe808-dotcom.github.io/FeluccaWavetableOdeathMod/"
    ]
   ],
   "name": "ODeath WAVE-1",
   "repo": "gybe808-dotcom/FeluccaWavetableOdeathMod",
   "by": "gybe808-dotcom",
   "fam": "felucca",
   "lic": "?",
   "types": [
    "synth"
   ],
   "about": "A wavetable mod of Felucca: 20 waveforms with morphing, four voices, nine presets.",
   "experimental": true,
   "note": "Package and installer only: its modified source is not published yet (its README says so), and it does not say the package has run on an FM-1.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://gybe808-dotcom.github.io/FeluccaWavetableOdeathMod/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-20",
    "title": "Center installer logo and increase its size modestly",
    "url": "https://github.com/gybe808-dotcom/FeluccaWavetableOdeathMod/commit/2a661dc1e9a2c137323a7f6c35cadb6091fda996"
   },
   "stars": 0,
   "created": "2026-10-19",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/gybe808-dotcom~FeluccaWavetableOdeathMod/home.png",
   "pageFiles": [
    {
     "name": "felucca.fwsc",
     "url": "https://gybe808-dotcom.github.io/FeluccaWavetableOdeathMod/firmware/felucca.fwsc",
     "page": "https://gybe808-dotcom.github.io/FeluccaWavetableOdeathMod/",
     "found": "named",
     "etag": "W/\"6ad6d28a-94f26\"",
     "size": 592060,
     "check": {
      "sha256": "0a17a97e8603df570539b35f8d0a9cf12d1cb538db5bbe357c3f0e3f9b9a1dad",
      "bytes": 610086,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "0a17a97e8603df570539b35f8d0a9cf12d1cb538db5bbe357c3f0e3f9b9a1dad"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/gybe808-dotcom~FeluccaWavetableOdeathMod/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/gybe808-dotcom~FeluccaWavetableOdeathMod.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://pierrearnaudguyot.github.io/FM1-Oktowave-Firmware/"
    ]
   ],
   "name": "Oktowave",
   "repo": "PierreArnaudGUYOT/FM1-Oktowave-Firmware",
   "by": "PierreArnaudGUYOT",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "Felucca 1.6.1 with one more engine, WAVELET: the Wavelet Synthesizer's engines A and B in fixed point, 108 presets.",
   "experimental": true,
   "status": "Version 0.1 has not been run on an FM-1 yet (built and tested on computers only).",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://pierrearnaudguyot.github.io/FM1-Oktowave-Firmware/",
     "from": "list"
    }
   ],
   "missing": true,
   "missingSince": "2026-10-27T14:30:48.255Z",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "gone",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/PierreArnaudGUYOT~FM1-Oktowave-Firmware/home.png"
  },
  {
   "links": [],
   "name": "OPQuencer",
   "repo": "andrixb/OPQuencer",
   "by": "andrixb",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "Felucca 1.5.1 with the sequencer and arp sent out as MIDI per track (for MIDI-CV and Eurorack) and controlled chance.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-12",
    "title": "Fix formatting and improve README clarity",
    "url": "https://github.com/andrixb/OPQuencer/commit/b992291caa6e7a30832da3502902580fa32fba25"
   },
   "stars": 1,
   "created": "2026-10-12",
   "image": "https://raw.githubusercontent.com/andrixb/OPQuencer/HEAD/docs/opquencer-0.2.0.png",
   "images": [
    "https://raw.githubusercontent.com/andrixb/OPQuencer/HEAD/docs/opquencer-0.2.0.png",
    "https://raw.githubusercontent.com/andrixb/OPQuencer/HEAD/docs/controls.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer and editor",
     "https://seattleuser0.github.io/OrangeCat/"
    ]
   ],
   "name": "Orange Cat",
   "repo": "SeattleUser0/OrangeCat",
   "by": "SeattleUser0",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "experimental": true,
   "about": "Built from Melodee 1.4.5: Plaits and Braids ported as engines, and tracks recorded or frozen to WAV. Early.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and editor",
     "url": "https://seattleuser0.github.io/OrangeCat/webapp/installer/",
     "from": "list",
     "front": "https://seattleuser0.github.io/OrangeCat/"
    }
   ],
   "release": {
    "tag": "v0.15.0",
    "url": "https://github.com/SeattleUser0/OrangeCat/releases/tag/v0.15.0",
    "assets": [
     {
      "name": "orangecat-0.15.0-532c849.manifest.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0-532c849.manifest.json",
      "size": 121,
      "sha256": "3bbb17979fb1c3046c09fcc5b1c95fcbcfa79f6f23dbe8a7892e3af1f9be2bff"
     },
     {
      "name": "orangecat-0.15.0.dddd.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.dddd.set.json",
      "size": 272,
      "sha256": "cbef7ecde2cf2620dbca034f32f2e0c459220a416e33532e06fac304b2d29c7a"
     },
     {
      "name": "orangecat-0.15.0.fmbell.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.fmbell.set.json",
      "size": 274,
      "sha256": "a6587fcac8f71fc73c1f63cf13064d8377737f178cdcdeaa06b19666c933ae02"
     },
     {
      "name": "orangecat-0.15.0.fwsc",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.fwsc",
      "size": 610304,
      "sha256": "e8ee957e71ad264f142cfe7a0bcfcf0adac3168e0b07e164b01a06a71f5447a6",
      "check": {
       "sha256": "e8ee957e71ad264f142cfe7a0bcfcf0adac3168e0b07e164b01a06a71f5447a6",
       "bytes": 610617,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "orangecat-0.15.0.hades.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.hades.set.json",
      "size": 273,
      "sha256": "1465ba6bbe7c0eeb26a45a7147cb6065e44e2d29fa88cae7f32a10d1aad09f86"
     },
     {
      "name": "orangecat-0.15.0.pack.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.pack.set.json",
      "size": 210,
      "sha256": "23dce969fd88824c06b90b3c0c12226b3e7742c36bdf1af78903822652af1165"
     },
     {
      "name": "orangecat-0.15.0.pak",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.pak",
      "size": 40243,
      "sha256": "a4e45b1909922c2e5ee675852c959d2aa3963bf6bfb3d46460bb778e50527df9"
     },
     {
      "name": "orangecat-0.15.0.prophet.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.prophet.set.json",
      "size": 275,
      "sha256": "7787a530329325185de87214f08842e2335b5acfa4b7b62fdea6f7f492f59045"
     },
     {
      "name": "orangecat-0.15.0.sem.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.sem.set.json",
      "size": 271,
      "sha256": "d2bc80c5c99045ad96fb76d13fd00cabfb723fd8888e8f21839a9eb784354954"
     },
     {
      "name": "orangecat-0.15.0.shapes.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.shapes.set.json",
      "size": 274,
      "sha256": "939a904a749f04880976a2d540eeffcd8f51a0fe55abf085dcc4000ce4b2e966"
     },
     {
      "name": "orangecat-0.15.0.supersaw.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.supersaw.set.json",
      "size": 276,
      "sha256": "0366b7e4d2cbb866d63de80b504db517ebb61d126af426bf53dceca2b469b70b"
     },
     {
      "name": "orangecat-0.15.0.wheel.set.json",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-0.15.0.wheel.set.json",
      "size": 273,
      "sha256": "5870790277d25fd62cb146d4d7e2497a41b6765bb4538153fdb014c133164c47"
     },
     {
      "name": "orangecat-dddd-0.15.0-532c849.ocm",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-dddd-0.15.0-532c849.ocm",
      "size": 4485,
      "sha256": "77323fad86b3f68913ff202ad440a1846f8f93a7d007eb19494f3c806b5b57f1"
     },
     {
      "name": "orangecat-engine-gate-0.15.0-532c849.txt",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-engine-gate-0.15.0-532c849.txt",
      "size": 16998,
      "sha256": "be90dca4328934882ee7ad53a97d7fa7c92a50520c68c499a546cf0597362bd4"
     },
     {
      "name": "orangecat-fmbell-0.15.0-532c849.ocm",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-fmbell-0.15.0-532c849.ocm",
      "size": 1812,
      "sha256": "5f2b0cc9aa0e48c1bf0f630babac07081942d7e47977848a65d1f713e8faf41c"
     },
     {
      "name": "orangecat-hades-0.15.0-532c849.ocm",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-hades-0.15.0-532c849.ocm",
      "size": 3533,
      "sha256": "f5bfffea7c6a0cd4aa2e6d9a4399083a27bf6f11d056055c1664b70a3ec26d24"
     },
     {
      "name": "orangecat-prophet-0.15.0-532c849.ocm",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-prophet-0.15.0-532c849.ocm",
      "size": 32768,
      "sha256": "08ffe57727a4c95edd46474a7421667303b1e92aae711496e06b5858ce1f67d7"
     },
     {
      "name": "orangecat-sem-0.15.0-532c849.ocm",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-sem-0.15.0-532c849.ocm",
      "size": 3922,
      "sha256": "979b9c36176d164aaa6b4d0cea86595d2a2a491decbe596507fd94f41053fb11"
     },
     {
      "name": "orangecat-shapes-0.15.0-532c849.ocm",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-shapes-0.15.0-532c849.ocm",
      "size": 24781,
      "sha256": "f6c4746b8d51f024efeb5e91f1588ab7f10a1de7cade6a3679cd5bfdf7bd745f"
     },
     {
      "name": "orangecat-size-report.txt",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-size-report.txt",
      "size": 6380,
      "sha256": "0817ca5513bf5d4a4151a13ef1bda059174544e7eda0e53f6c73abcde0033920"
     },
     {
      "name": "orangecat-supersaw-0.15.0-532c849.ocm",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-supersaw-0.15.0-532c849.ocm",
      "size": 1864,
      "sha256": "cf3fd113671e7cf59fd79e5132c40bc450d4d5532bc683238c298f3aa75acf8a"
     },
     {
      "name": "orangecat-tests-passed.txt",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-tests-passed.txt",
      "size": 42,
      "sha256": "58ecaa4260ff451b62ad2503514e9a89dd1b2b280bfd8f5ca6daf99971b57a73"
     },
     {
      "name": "orangecat-wheel-0.15.0-532c849.ocm",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/orangecat-wheel-0.15.0-532c849.ocm",
      "size": 3267,
      "sha256": "02d21f1cb7b6b6663c630365562ebe96f8b4608ae8e50898d16e16259f266f08"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/SeattleUser0/OrangeCat/releases/download/v0.15.0/SHA256SUMS",
      "size": 2406,
      "sha256": "f55890a2d32504ae0b3b65222d97dd1094439f7d0963c9f21b7638743c03084a"
     }
    ],
    "date": "2026-10-28",
    "title": "v0.15.0",
    "notes": "Full Changelog: https://github.com/SeattleUser0/OrangeCat/commits/v0.15.0"
   },
   "commit": {
    "date": "2026-10-28",
    "title": "Workflow rev 25: the Nightly carry-forward's checksum files are writt…",
    "url": "https://github.com/SeattleUser0/OrangeCat/commit/d61340ea12816c6c7f94de64fa728eb5047ddb36"
   },
   "stars": 0,
   "created": "2026-10-20",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/SeattleUser0~OrangeCat/home.png",
   "pageFiles": [
    {
     "name": "melodee-0.15.0.fwsc",
     "url": "https://seattleuser0.github.io/OrangeCat/firmware/melodee-0.15.0.fwsc",
     "page": "https://seattleuser0.github.io/OrangeCat/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aec67fb-95139\"",
     "size": 561408,
     "check": {
      "sha256": "867444fe1df86f85cd3a05ca1c1348b541d6dedba21c7b5d7392e8898d11edcc",
      "bytes": 610617,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "867444fe1df86f85cd3a05ca1c1348b541d6dedba21c7b5d7392e8898d11edcc"
    },
    {
     "name": "melodee-nightly.fwsc",
     "url": "https://seattleuser0.github.io/OrangeCat/firmware/melodee-nightly.fwsc",
     "page": "https://seattleuser0.github.io/OrangeCat/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aec67fb-95139\"",
     "size": 582148,
     "check": {
      "sha256": "18be19a22acdf0794bfe40eb4c6ae2f8bc9d8e338d8ac43acc1f0937dacb05a1",
      "bytes": 610617,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "18be19a22acdf0794bfe40eb4c6ae2f8bc9d8e338d8ac43acc1f0937dacb05a1"
    }
   ],
   "pageMentions": [
    {
     "page": "https://seattleuser0.github.io/OrangeCat/webapp/installer/",
     "names": [
      "transit-0.1.3.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "parent": "keremimo/melodee",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/SeattleUser0~OrangeCat/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/SeattleUser0~OrangeCat.jpg"
   ]
  },
  {
   "links": [],
   "name": "OrganVave-1",
   "repo": "ruppert/organvave-1",
   "by": "ruppert",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "stage": "development",
   "about": "A tonewheel organ with drawbars and a rotary speaker, ported from setBfree; a fork of FMini-1, a Felucca fork.",
   "status": "Not yet tested on an FM-1 (its README).",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-11-05",
    "title": "v0.9.45: remove HOME's CPU meter",
    "url": "https://github.com/ruppert/organvave-1/commit/9e49485ddcfd6a08205b16110dd334ddec1b1bd7"
   },
   "stars": 3,
   "created": "2026-10-20",
   "image": "https://raw.githubusercontent.com/ruppert/organvave-1/HEAD/docs/organvave-splash.png",
   "pageFiles": [
    {
     "name": "organvave-1-v0.9.45.fwsc",
     "url": "https://ruppert.github.io/organvave-1/organvave-1-v0.9.45.fwsc",
     "page": "https://ruppert.github.io/organvave-1/",
     "found": "named",
     "etag": "W/\"6aec778c-94f2a\"",
     "size": 610090,
     "check": {
      "sha256": "e239f6216a509e1e2c1593938dd077ea7e30b9e891278f761252bbb749a15323",
      "bytes": 610090,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "e239f6216a509e1e2c1593938dd077ea7e30b9e891278f761252bbb749a15323"
    }
   ],
   "readmeNotes": {
    "version": "v0.1.0",
    "text": "Status: v0.1.0, the first organ. The firmware now plays one instrument: the upper manual's nine drawbars on setBfree's tone generator (the tonewheels, the key click, the crosstalk and the temperaments), with eight factory patches and the drawbar page. Percussion, vibrato, the rotary, the lower manual and the pedals come in the milestones below. Nothing here has been tested on a real FM-1 yet. Do not install it unless you know how to recover an FM-1 (see BUILDING.md).",
    "date": "2026-11-05",
    "url": "https://github.com/ruppert/organvave-1#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "screens": [
    "boot",
    "home",
    "fx",
    "lfo",
    "lfo-hold",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "glo"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/ruppert/organvave-1/HEAD/docs/organvave-splash.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ruppert~organvave-1.jpg"
   ]
  },
  {
   "links": [],
   "name": "Patricktronics",
   "repo": "gaumondp/patricktronics",
   "by": "gaumondp",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "A generative layer on Felucca.",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-11",
    "title": "init - Patricktronics generative layer on Felucca FM-1 fork",
    "url": "https://github.com/gaumondp/patricktronics/commit/a6e5e28472fd770d4cced99e32978ce9f8e6e276"
   },
   "stars": 1,
   "created": "2026-10-11",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false
  },
  {
   "links": [
    [
     "Website",
     "https://theshrimpblimp.com/pigeon/"
    ],
    [
     "Emulator",
     "https://theshrimpblimp.com/pigeon/webapp/emu/"
    ],
    [
     "Sample tool",
     "https://github.com/TheShrimpBlimp/pigeon-tool"
    ]
   ],
   "name": "Pigeon",
   "repo": "TheShrimpBlimp/pigeon",
   "by": "TheShrimpBlimp",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "A performance sampler: chop samples, play drums, sequence beats and perform live. Based on Felucca.",
   "types": [
    "sampler",
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.5.0-beta.1",
    "url": "https://github.com/TheShrimpBlimp/pigeon/releases/tag/v0.5.0-beta.1",
    "assets": [
     {
      "name": "pigeon-0.5.0-beta.1.fwsc",
      "url": "https://github.com/TheShrimpBlimp/pigeon/releases/download/v0.5.0-beta.1/pigeon-0.5.0-beta.1.fwsc",
      "size": 611328,
      "sha256": "a6cbb4fbd80baa38eb99400bb4bef5ddd5d4167024a8342189a07bc6b8861bed",
      "check": {
       "sha256": "a6cbb4fbd80baa38eb99400bb4bef5ddd5d4167024a8342189a07bc6b8861bed",
       "bytes": 611106,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/TheShrimpBlimp/pigeon/releases/download/v0.5.0-beta.1/SHA256SUMS",
      "size": 104,
      "sha256": "804c0e5a38969a2e171afe002b821828f2c02184bc7586ddfb245cafbcfad551"
     }
    ],
    "date": "2026-10-21",
    "title": "PIGEON 0.5.0-beta.1 — THE FINAL BETA",
    "notes": "## PIGEON — complete feature list\n\n0.5.0-beta.1 · THE FINAL BETA for the M-VAVE FM1. This page covers existing features and additions in 0.5. The tutorial and controls explain how to use them.\n\n## Instrument and sample storage\n• Three tracks: Song 1, a 16-pad drum kit, and Song 2.\n• Up to 32 chops per song, plus 16 drum hits: up to 80 assignments across the instrument.\n• 500 KiB usable shared sample storage, including encoded audio, waveforms and seek data. Duration depends on format, bitrate and the other sounds loaded.\n• Indexed mono MP3 or IMA ADPCM song playback; ADPCM drum hits and USB recordings.\n• Eight shared song voices and four additional drum voices. Empty slots stay silent.\n• Waveform display, scroll and zoom; two alternate chop layouts sharing source audio.\n• Samples and chop settings persist in flash. Patterns share the loaded bank rather than carrying separate copies of its audio.\n\n## Chopping and performance\n• Independently editable start/end boundaries and first-pass playback point.\n• Forward or reverse per chop; semitone pitch and fine tuning in cents.\n• Per-chop nondestructive gain and loop crossfade up to 8 ms; browser normalization.\n• Envelope controls, held-loop/latch behavior, one-shot playback and choke groups.\n• Split/join, copy whole chop, copy settings, duplicate, swap and move assignments.\n• Chop-edit undo/redo and reset to original source assignments.\n• Hold SEL and a key to audition the ending and loop while held; audition boundary changes immediately while editing.\n• FIFO chop queues with repeated entries, selected-entry removal and queue inspection.\n• Tap tempo, reference-loop beat count, loop-to-BPM tools and speed sync. Sync follows tempo by changing playback speed and pitch, within 50–200%.\n\n## USB sampling and output\n• Record incoming digital USB audio to the selected song or drum pad.\n• Input level meter, latched clipping warning and remaining recording-time display.\n• Immediate or threshold-triggered start; manual stop, seconds limit or bars limit.\n• Audition an unsaved take with PLAY; fine/coarse start/end trimming and selected-range audition.\n• Confirmed save to the selected destination, retry confirmation and take discard.\n• Other songs/pads remain intact when the selected destination is saved.\n• Failed, interrupted or overrun recordings are rejected instead of offered as successful takes.\n• Input format: mono 16-bit PCM at 22.05 kHz, encoded to IMA ADPCM.\n• Record the FM1's stereo master output on a computer over USB audio.\n\n## Keep sounds and reclaim space\n• On-device Keep selected chops retains marked regions and trims unused source audio.\n• Retain in the same song while preserving key numbers, or append to empty keys in the other song.\n• Browser selected-chop trimming with encoded-space preview and local undo; retained chops are renumbered consecutively.\n• Reclaim obsolete payloads by compacting the live bank.\n• Browser chop collections preserve useful regions from multiple source songs independently of the current bank/session.\n• Export/import collections, reorder collected sounds, and assemble song banks or drum kits.\n\n## Sequencer\n• Step grid and piano roll edit the same sequences.\n• 1–64 steps per track, with up to four notes per step.\n• Live recording and chord-based step entry; stopped/unarmed note toggling.\n• Velocity, gate, probability, repeats/ratchets, pitch, step nudge and conditions.\n• Independent note length and nudge for notes within a chord; piano-roll duration display.\n• Conditional fills and a:b conditions, Euclidean rhythms, DOUBLE/HALF tools and velocity/timing humanization.\n• Swing, quantization, step duration/division, tempo timing and sample-end timing.\n• Metronome and count-in; sequence undo/redo, automation and parameter locks.\n• Custom note timing shares a 128-entry budget with automation/locks; the editor reports a full store.\n\n## Patterns and arrangement\n• Saved patterns A–D, containing all three tracks' sequences, timing and automation.\n• Pattern copy/paste, unsaved-work indication and overwrite confirmation.\n• Quantized switching at the next bar or pattern end; change or cancel a pending launch.\n• A 16-section arrangement with per-track pattern selections, repeats, section insertion/deletion and captured mutes.\n• Complete session backup retains current work, saved patterns, arrangement and sample bank.\n\n## Mixer and effects\n• Three-track mixer with levels, mutes and FX sends.\n• Filter, delay, chorus, reverb, distortion and compression.\n• Drum-pad playback controls and choke grouping.\n\n## MIDI and accessibility\n• USB MIDI note/control integration and MIDI clock synchronization.\n• Per-track MIDI channels, OMNI/OFF choices, incoming-note selection and MIDI screen wake.\n• Standard firmware screen-reader support through the FM-1 Screen Reader protocol; no separate firmware fork required.\n• Page/control/value announcements, WHERE/read-current-screen, transport/recording states, errors and confirmations.\n• Emulator browser speech or screen-reader live-region output, repeat-last announcement and remembered preferences.\n• Keyboard-accessible virtual keys, buttons and knobs.\n\n## Sample loader and session tools\n• Browser-local audio import, editing, previews and encoding; Song 1/Song 2 assembly and up to 16 drum hits.\n• Append multiple source files to a song, select sections, trim, rearrange and automatically slice remaining keys.\n• Chop boundaries, playback point/direction, pitch/cents, gain, normalization, crossfade and matching audition previews.\n• Waveform selection, zoom, numeric trim, validated drafts, Apply, reset and workspace undo/redo.\n• Bank library and full-session library with summaries and overwrite previews.\n• Export/import .kob sample banks, .pigeon complete sessions and .pigeon-chops collections.\n• Connected-device backup/restore, bank upload/readback and firmware installation with recovery backup.\n• Capacity/capability checks for older firmware and expanded 0.5 banks.\n…"
   },
   "commit": {
    "date": "2026-10-29",
    "title": "Clarify PIGEON storage and official browser tools (#6)",
    "url": "https://github.com/TheShrimpBlimp/pigeon/commit/036fb2625c6416c1841a0bf9021a52015d4c662b"
   },
   "stars": 9,
   "created": "2026-10-11",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/TheShrimpBlimp~pigeon/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit-hold",
    "glo-hold"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://fvalente.github.io/GammaWave-FM1/webapp/installer/"
    ],
    [
     "Website",
     "https://gammawaveaudio.com/"
    ],
    [
     "Simulator",
     "https://fvalente.github.io/GammaWave-FM1/"
    ],
    [
     "Editor",
     "https://fvalente.github.io/GammaWave-FM1/webapp/editor/?mock=1"
    ],
    [
     "Releases",
     "https://github.com/fvalente/GammaWave-FM1/releases"
    ]
   ],
   "name": "Pocket GammaWave",
   "repo": "fvalente/GammaWave-FM1",
   "by": "fvalente",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "Wavetable 'Solar Hearth' voices, an FFT spectrogram filter, a 4-track tape deck and a 49-genre song generator, with a Web Studio (its desktop VST is sold apart).",
   "types": [
    "groovebox",
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://fvalente.github.io/GammaWave-FM1/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://fvalente.github.io/GammaWave-FM1/webapp/editor/?mock=1",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.2.1-GW",
    "url": "https://github.com/fvalente/GammaWave-FM1/releases/tag/v1.2.1-GW",
    "assets": [
     {
      "name": "felucca-1.2.1-GW.fwsc",
      "url": "https://github.com/fvalente/GammaWave-FM1/releases/download/v1.2.1-GW/felucca-1.2.1-GW.fwsc",
      "size": 610304,
      "sha256": "f8fae2b0191662713225608cd0191e60a18f0347748f60fad0f6327d6f81dc4b",
      "check": {
       "sha256": "f8fae2b0191662713225608cd0191e60a18f0347748f60fad0f6327d6f81dc4b",
       "bytes": 610113,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-26",
    "title": "Pocket GammaWave (GW-1) v1.2.1-GW — CLEAR PROJECT, smooth random LFO, fewer clicks",
    "notes": "## Pocket GammaWave (GW-1) v1.2.1-GW for M-VAVE FM-1: CLEAR PROJECT, a smooth random LFO, fewer clicks\n\nAn update to v1.2-GW. Projects, sounds and settings carry over.\n• To flash your M-VAVE FM-1, download felucca-1.2.1-GW.fwsc below or use the Live Web Studio & USB Installer.\n\nWhat's new\n• SAVE > TOOLS > 7 CLEAR PROJ (#22). It frees the current project's sections A–D and empties its song. It asks first and can't be undone; the music playing stays. Until now a stored section could never be freed, so once A–D were taken the generator's SONG form had nowhere to write.\n• NOISE, a smooth random LFO (#20). It's a new source in the modulation matrix (LFO > MOD, KNOB 2). Each track wanders on its own, a new value about every 46 ms with a smooth glide in between.\n\nFixed (taken from JIANT and Felucca, the firmware GW-1 is built on)\n• Clicks under load. An audio block that ran late made the next one replay 2.9 ms of old audio. Now a late block is caught up at once.\n• DRUM-X STEREO clicks and grit with IMAGE on and both cores running.\n• CLOUD reverb:\n• it no longer crackles when pushed hard;\n• it no longer clicks with AIR up;\n• SIZE at max no longer freezes silence from an empty start.\n• The delay at its longest TIME with MOD up no longer leaks the dry signal into the echoes.\n• LFO FREE: its FADE no longer comes back on every note.\n• A BPM of 0 can no longer crash the tempo maths.\n• 3 KB of main RAM freed for later features.\n\nThe full details are in the changelog."
   },
   "commit": {
    "date": "2026-10-26",
    "title": "Merge pull request #21 from fvalente/claude/gw1-backports",
    "url": "https://github.com/fvalente/GammaWave-FM1/commit/8bf1a12cdb7c70e86eba81e63cb374d14f9d43e2"
   },
   "stars": 10,
   "created": "2026-10-15",
   "image": "https://raw.githubusercontent.com/fvalente/GammaWave-FM1/HEAD/docs/gw1-screens.png",
   "images": [
    "https://raw.githubusercontent.com/fvalente/GammaWave-FM1/HEAD/docs/gw1-screens.png",
    "https://raw.githubusercontent.com/fvalente/GammaWave-FM1/HEAD/docs/gw1-generator.png",
    "https://raw.githubusercontent.com/fvalente/GammaWave-FM1/HEAD/docs/gw1-takes.png",
    "https://raw.githubusercontent.com/fvalente/GammaWave-FM1/HEAD/docs/cheatsheet-controls.png",
    "https://raw.githubusercontent.com/fvalente/GammaWave-FM1/HEAD/docs/cheatsheet-sound.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/fvalente~GammaWave-FM1.jpg"
   ],
   "pageFiles": [
    {
     "name": "felucca-v1.2.1-GW-8bf1a12.fwsc",
     "url": "https://fvalente.github.io/GammaWave-FM1/firmware/felucca-v1.2.1-GW-8bf1a12.fwsc",
     "page": "https://fvalente.github.io/GammaWave-FM1/webapp/installer/",
     "found": "named",
     "etag": "W/\"6adfc2be-94f41\"",
     "size": 564668,
     "check": {
      "sha256": "478b79d71405aa1c77be0578fd179403eb6719edf6db9ec4ec0e66680a3f8f25",
      "bytes": 610113,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "478b79d71405aa1c77be0578fd179403eb6719edf6db9ec4ec0e66680a3f8f25"
    },
    {
     "name": "felucca-v1.2-GW-ce65322.fwsc",
     "url": "https://fvalente.github.io/GammaWave-FM1/firmware/felucca-v1.2-GW-ce65322.fwsc",
     "page": "https://fvalente.github.io/GammaWave-FM1/webapp/installer/",
     "found": "named",
     "etag": "W/\"6adfc2be-94f41\"",
     "size": 564259,
     "check": {
      "sha256": "5d93a7b4794519e38d086e6d608ccc0874afc298cc7f927ffa3c77832004871b",
      "bytes": 610113,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "5d93a7b4794519e38d086e6d608ccc0874afc298cc7f927ffa3c77832004871b"
    },
    {
     "name": "felucca-v1.1.1-GW-2e98bee.fwsc",
     "url": "https://fvalente.github.io/GammaWave-FM1/firmware/felucca-v1.1.1-GW-2e98bee.fwsc",
     "page": "https://fvalente.github.io/GammaWave-FM1/webapp/installer/",
     "found": "named",
     "etag": "W/\"6adfc2be-94f41\"",
     "size": 562519,
     "check": {
      "sha256": "4c56043ee5262072c407a061c4d96d1da9182f55d1f13208ecb87192608b193e",
      "bytes": 610113,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "4c56043ee5262072c407a061c4d96d1da9182f55d1f13208ecb87192608b193e"
    },
    {
     "name": "felucca-v1.1-GW-ff61ba1.fwsc",
     "url": "https://fvalente.github.io/GammaWave-FM1/firmware/felucca-v1.1-GW-ff61ba1.fwsc",
     "page": "https://fvalente.github.io/GammaWave-FM1/webapp/installer/",
     "found": "named",
     "etag": "W/\"6adfc2be-94f41\"",
     "size": 562021,
     "check": {
      "sha256": "cbc0eb78cf1a96b7a0d261d0d27691d1e3b091c7535417fd497e88eb264b2a88",
      "bytes": 610113,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "cbc0eb78cf1a96b7a0d261d0d27691d1e3b091c7535417fd497e88eb264b2a88"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://charlesvestal.github.io/fm1-loom/install/"
    ],
    [
     "Emulator",
     "https://charlesvestal.github.io/fm1-loom/emu/"
    ]
   ],
   "name": "LOOM-8",
   "repo": "charlesvestal/fm1-loom",
   "by": "charlesvestal",
   "fam": "indep",
   "lic": "MPL-2.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "about": "An eight-track groovebox after the OP-XY: nine engines, a 64-step sequencer with locks, scenes and a song; on fm1-base.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://charlesvestal.github.io/fm1-loom/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.13",
    "url": "https://github.com/charlesvestal/fm1-loom/releases/tag/v0.13",
    "assets": [
     {
      "name": "firmware.json",
      "url": "https://github.com/charlesvestal/fm1-loom/releases/download/v0.13/firmware.json",
      "size": 2345,
      "sha256": "9746749e29ea75ebe5215b039af41c98535cffc8c8e369c9187bc729c166d0b0"
     },
     {
      "name": "loom-0.13-app.bin",
      "url": "https://github.com/charlesvestal/fm1-loom/releases/download/v0.13/loom-0.13-app.bin",
      "size": 581632,
      "sha256": "a8eef00cb935eb6d94260b287afd54dd7645ac7ad34cecf12818b89b9872a950"
     },
     {
      "name": "loom-0.13-res.bin",
      "url": "https://github.com/charlesvestal/fm1-loom/releases/download/v0.13/loom-0.13-res.bin",
      "size": 88474,
      "sha256": "fc536ab774ee68cc22975d56d04f272d27f0e328962d1a904d5ffbacc65d8879"
     },
     {
      "name": "loom-0.13.fwsc",
      "url": "https://github.com/charlesvestal/fm1-loom/releases/download/v0.13/loom-0.13.fwsc",
      "size": 615424,
      "sha256": "6db13fe0b22ab7e59aca78d20671fa2bc96bf60e90182d7621f4f52068f0e3bd",
      "check": {
       "sha256": "6db13fe0b22ab7e59aca78d20671fa2bc96bf60e90182d7621f4f52068f0e3bd",
       "bytes": 614938,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "loom-0.13.rfm1",
      "url": "https://github.com/charlesvestal/fm1-loom/releases/download/v0.13/loom-0.13.rfm1",
      "size": 1237320,
      "sha256": "8ddfcf28e4bda9fafe6e43f2d89941b963f1b9a18c1282f60f1d90a96fbbf63b"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/charlesvestal/fm1-loom/releases/download/v0.13/SHA256SUMS",
      "size": 515,
      "sha256": "209a3da85123394ed58eba86c8b2219e88c3874136c7cc12b380ff9792091353"
     }
    ],
    "date": "2026-11-05",
    "title": "LOOM-8 0.13",
    "notes": "• LOOM-8 now works on the newer FM-1s. Units sold since autumn 2026, mostly on AliExpress, have a different flash chip (UC25HQ80). Until this release, LOOM-8 couldn't save projects on them, back them up or install another firmware. Now it can, and the rescue script takes them too. Thanks to Laurens (@profikid) for the fix (fm1-base#35).\n• M-VAVE's updater, M-UPGRADE 3.11 (2026-11-03), didn't find an FM-1 running LOOM-8. It said \"A USB MIDI device is present but did not answer\". This version answers it, so M-UPGRADE can put M-VAVE's firmware back. Older versions of LOOM-8 still aren't found: for those, use \"Back to the stock firmware\" on the install page.\n• Screen mirroring is in every build now. Open the mirror page on the site to see the FM-1's screen and lights on your computer, dim lights and PLAY's green glow included. Backup and restore work alongside it.\n• Installing is much quicker from now on. Once LOOM-8 0.13 is on the FM-1, the next install writes only the parts that changed, and if the cable comes out halfway it carries on at the next power-on.\n• The install page takes M-VAVE's stock firmware V16 as well as V15.\n• The emulator plays in tune and in time on computers whose audio runs at 48 kHz. Before, it played a little high and fast there.\n\nEach release now also carries an .rfm1 for host apps (RemoteFM1) and firmware.json for firmware hubs.\n• Try it in the browser: https://charlesvestal.github.io/fm1-loom/emu/\n• Mirror the screen: https://charlesvestal.github.io/fm1-loom/mirror/\n• Install (Chrome or Edge, FM-1 on USB): https://charlesvestal.github.io/fm1-loom/install/"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "base: fm1-base 698e2cb (the installer page runs again: fm1ota.js's CR…",
    "url": "https://github.com/charlesvestal/fm1-loom/commit/f9bf7dc531016fcda0d7ef111e67e856452cf574"
   },
   "stars": 65,
   "created": "2026-10-16",
   "image": "https://raw.githubusercontent.com/charlesvestal/fm1-loom/HEAD/docs/img/screen-beat-playing.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagePick": true
  },
  {
   "links": [],
   "name": "MD-One",
   "repo": "d0pe1/md-one",
   "by": "d0pe1",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A drone machine on Mutable Instruments' Braids oscillators, with tuned combs and slow drift; on Dinghy.",
   "experimental": true,
   "status": "First run on its author's FM-1 on 2026-10-22; no release yet (built from source).",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-23",
    "title": "docs: a session handoff",
    "url": "https://github.com/d0pe1/md-one/commit/6db198515da051d31b903535958788137c153dc4"
   },
   "stars": 0,
   "created": "2026-10-16",
   "image": "https://raw.githubusercontent.com/d0pe1/md-one/HEAD/docs/media/emu-dinghy-screen.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "MIDIMON",
   "repo": "ignis32/midimonitor_fm1",
   "by": "ignis32",
   "fam": "indep",
   "lic": "MPL-2.0",
   "about": "A MIDI monitor and thru router: USB, the TRS jack and Bluetooth MIDI in, shown in hex or words; on fm1-base.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.4",
    "url": "https://github.com/ignis32/midimonitor_fm1/releases/tag/v0.4",
    "assets": [
     {
      "name": "midimon-0.4.fwsc",
      "url": "https://github.com/ignis32/midimonitor_fm1/releases/download/v0.4/midimon-0.4.fwsc",
      "size": 611328,
      "sha256": "cbe4868b87206a415396ddf77836a6b6a0f838fe3e30879acd0c5a78f1321328",
      "check": {
       "sha256": "cbe4868b87206a415396ddf77836a6b6a0f838fe3e30879acd0c5a78f1321328",
       "bytes": 611496,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/ignis32/midimonitor_fm1/releases/download/v0.4/SHA256SUMS",
      "size": 93,
      "sha256": "9d251ea14f9f3540e2e442937528173e5d391e924f8b46e90af5c206830e1214"
     }
    ],
    "date": "2026-10-25",
    "title": "v0.4",
    "notes": "Full Changelog: v0.3...v0.4"
   },
   "commit": {
    "date": "2026-10-25",
    "title": "README: the USB host is MPL-2.0 by its authors' explicit permission (…",
    "url": "https://github.com/ignis32/midimonitor_fm1/commit/be9c02551892e9a4683c50ecf8a6620714e1f5b6"
   },
   "stars": 4,
   "created": "2026-10-21",
   "image": "https://raw.githubusercontent.com/ignis32/midimonitor_fm1/HEAD/docs/screen-log.png",
   "images": [
    "https://raw.githubusercontent.com/ignis32/midimonitor_fm1/HEAD/docs/screen-log.png",
    "https://raw.githubusercontent.com/ignis32/midimonitor_fm1/HEAD/docs/screen-filter.png",
    "https://raw.githubusercontent.com/ignis32/midimonitor_fm1/HEAD/docs/screen-thru.png",
    "https://raw.githubusercontent.com/ignis32/midimonitor_fm1/HEAD/docs/screen-keys.png",
    "https://raw.githubusercontent.com/ignis32/midimonitor_fm1/HEAD/docs/screen-cc.png"
   ],
   "upstream": {
    "prs": [
     {
      "repo": "hugelton/felucca-bsp",
      "pr": 7,
      "state": "merged",
      "at": "2026-10-25",
      "title": "feat(usb): port Melodee USB MIDI host under MPL-2.0"
     }
    ],
    "says": "- Four sources, each its own: USB, TRS (the MIDI IN jack), BLE-P (BLE-Periphery: a computer or tablet connected to the FM-1 over Bluetooth) and BLE-C (BLE-Central: a Bluetooth MIDI device the FM-1 connected to). Both Bluetooth roles at…"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://inigohernandez.github.io/mono2k/"
    ]
   ],
   "name": "MONO2K",
   "repo": "InigoHernandez/mono2k",
   "by": "InigoHernandez",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "about": "Six Monomachine-style mono machines, a 64-step locking sequencer and a lofi bus; in its browser emulator so far.",
   "stage": "emulator",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "installer",
     "url": "https://inigohernandez.github.io/mono2k/installer.html",
     "from": "readme"
    },
    {
     "kind": "editor",
     "label": "Patch Editor",
     "url": "https://inigohernandez.github.io/mono2k/editor.html",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "v1.7",
    "url": "https://github.com/InigoHernandez/mono2k/releases/tag/v1.7",
    "assets": [
     {
      "name": "mono2k-1.7.fwsc",
      "url": "https://github.com/InigoHernandez/mono2k/releases/download/v1.7/mono2k-1.7.fwsc",
      "size": 610304,
      "sha256": "7e86ab05becba12c706da41ba48facb1e4581cba358aff48c4380cac541eabde",
      "check": {
       "sha256": "7e86ab05becba12c706da41ba48facb1e4581cba358aff48c4380cac541eabde",
       "bytes": 610113,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-02",
    "title": "MONO2K 1.7",
    "notes": "MONO2K 1.7 for the M-VAVE FM-1: no more dropouts when the CPU is full.\n\nNo more cracks: when a pattern asks the FM-1 for more than it has, the sound no longer cracks or drops out. The quietest track for what it costs fades out in 3 ms and rests, then plays again from its next note once there is room. The track you are on is never kept resting. Anything that fits plays exactly as before, bit for bit.\n\nCPU FULL names the tracks: \"T2 FADED, T4 HEAVIEST\": the one that rested, and the one to lighten. On GLO > PLAY a resting track's cell says REST.\n\nThe manual says what costs the FM-1 the most: VO-6, FX-CHORS, SWAV-ENS's stereo chorus, unison, MOD, a ringing delay (The FM-1's load).\n\nYour patterns load as they played. Six tracks, as before.\n• File: mono2k-1.7.fwsc, identity FM-1_980, SHA-256 7e86ab05becba12c706da41ba48facb1e4581cba358aff48c4380cac541eabde (the same file as the installer's).\n• Install: from the FM-1 Firmware Hub or the installer page, over USB in Chrome or Edge. Coming from 1.x, your patterns stay.\n• Leave it: install any other firmware as usual; MONO2K starts its update loader (Felucca's). Holding OCT− while switching on always reaches the updater.\n\nThe full list is in the manual's change log. Licence GPL-3.0-only; the update protocol and platform are Felucca's and CS-1's (Hügelton Instruments), GPL-3.0; Grids' map is Mutable Instruments' (GPL-3.0); the type is adapted from \"Elektron Pixel Font\" by savingaurora (FontStruct, CC BY-SA 3.0), the adaptation under CC BY-SA 4.0. Not affiliated with M-VAVE, Elektron or Torso."
   },
   "commit": {
    "date": "2026-11-02",
    "title": "MONO2K for the Move 0.3: PADS on Sample, Capture, the knob row; the s…",
    "url": "https://github.com/InigoHernandez/mono2k/commit/ecb3b96c65d9fa92b258923df6317e5bb0ef6b4d"
   },
   "stars": 18,
   "created": "2026-10-16",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/InigoHernandez~mono2k.jpg",
   "pageMentions": [
    {
     "page": "https://inigohernandez.github.io/mono2k/installer.html",
     "names": [
      "mono2k-test.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "scl",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://sylarpu-x.github.io/nightfall-fm1/"
    ],
    [
     "Installer",
     "https://sylarpu-x.github.io/nightfall-fm1/update.html"
    ]
   ],
   "name": "NIGHTFALL",
   "repo": "SylarPu-X/nightfall-fm1",
   "by": "SylarPu-X",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "groovebox"
   ],
   "about": "A cyberpunk performance synth: four tracks, 64-step patterns, a six-stage FX chain; its own code on Felucca's BSP.",
   "experimental": true,
   "status": "Experimental package: booted on one FM-1; rollback and long-run stability not proven yet.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://sylarpu-x.github.io/nightfall-fm1/update.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.0-green2-experimental",
    "url": "https://github.com/SylarPu-X/nightfall-fm1/releases/tag/v0.1.0-green2-experimental",
    "assets": [
     {
      "name": "NIGHTFALL-firmware-source-green2.tar.gz",
      "url": "https://github.com/SylarPu-X/nightfall-fm1/releases/download/v0.1.0-green2-experimental/NIGHTFALL-firmware-source-green2.tar.gz",
      "size": 827392,
      "sha256": "ea6da0770e6ea4e393c3b6615cf6210066ecdb641acd09b206ff9d675c1318fc"
     },
     {
      "name": "NIGHTFALL-FM1-999-GREEN2.fwsc",
      "url": "https://github.com/SylarPu-X/nightfall-fm1/releases/download/v0.1.0-green2-experimental/NIGHTFALL-FM1-999-GREEN2.fwsc",
      "size": 610304,
      "sha256": "8e72edc5d894b99efc556d20e64dfe4ea2bb59877920c5314d9befbf3f612be8",
      "check": {
       "sha256": "8e72edc5d894b99efc556d20e64dfe4ea2bb59877920c5314d9befbf3f612be8",
       "bytes": 610090,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-10-21",
    "title": "NIGHTFALL FM-1 GREEN2 (experimental)",
    "notes": "Experimental FM-1_999 build, not an official M-VAVE update or a stable release. Tested on one FM-1 for boot, USB identity, MIDI notes, parameter round-trip and 20-band terrain protocol only. Complete panel/audio regression, long-run stability, official rollback and recovery without external hardware are unverified. Flashing may leave the device unable to boot and require an external recovery tool. Package SHA-256: 8e72edc5d894b99efc556d20e64dfe4ea2bb59877920c5314d9befbf3f612be8. The attached corresponding-source archive contains NIGHTFALL, Felucca GPL board/update code and loader source, JieLi SPL/config assets and licenses. Use the browser updater only after identifying your device, verifying the hash, backing up data and explicitly accepting these risks."
   },
   "commit": {
    "date": "2026-10-21",
    "title": "Add Studio screenshot to README",
    "url": "https://github.com/SylarPu-X/nightfall-fm1/commit/3861e7a5e4fe0f4e79c5e2385847986171cfe8c1"
   },
   "stars": 1,
   "created": "2026-10-21",
   "image": "https://raw.githubusercontent.com/SylarPu-X/nightfall-fm1/HEAD/docs/studio-preview.jpg",
   "images": [
    "https://raw.githubusercontent.com/SylarPu-X/nightfall-fm1/HEAD/docs/studio-preview.jpg",
    "https://raw.githubusercontent.com/SylarPu-X/nightfall-fm1/HEAD/docs/terrain-preview.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/SylarPu-X~nightfall-fm1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "OberVave 4x",
   "repo": "rusbayzvuk-maker/OberVave-4x",
   "by": "rusbayzvuk-maker",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "groovebox"
   ],
   "board": "smk37",
   "about": "OberVave's 8-voice synth as a four-track groovebox for the SMK-37: TRS MIDI out, motion lanes, four engine parts.",
   "experimental": true,
   "status": "Beta pre-releases, tested on an SMK-37 Pro; its FM-1 package builds, but the four tracks are untested there.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": null,
   "stars": null,
   "created": null,
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source"
  },
  {
   "links": [],
   "name": "OberVave Multi",
   "repo": "HeyMoustache/obervave-multi",
   "by": "HeyMoustache",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "OberVave 1.2.1 made multitimbral: six parts on MIDI channels 1-6 sharing its eight voices.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-14",
    "title": "Program name over MIDI: CC 110 letter position, CC 111 letter",
    "url": "https://github.com/HeyMoustache/obervave-multi/commit/3ebcb8698f290295305b44a05d2b5829279a6ed7"
   },
   "stars": 0,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/HeyMoustache/obervave-multi/HEAD/assets/logo.png",
   "images": [
    "https://raw.githubusercontent.com/HeyMoustache/obervave-multi/HEAD/assets/logo.png",
    "https://raw.githubusercontent.com/HeyMoustache/obervave-multi/HEAD/docs/screen.png"
   ],
   "readmeNotes": {
    "version": "v1.2.1",
    "text": "Status: 1.2.1, runs on the FM-1. Install it from thefirmwarehub.com or with tools/fm1install.py docs/firmware/obervave-1.2.1.fwsc (identity FM-1952). 1.2.1 fixes the knobs while a function button is held on the GLOBAL page (they turned the GLOBAL settings, such as TUNE, instead of the sequencer). Do not install 1.1: its USB-MIDI out is broken, and once it runs no installer gets another firmware back on (1.2 fixed it).",
    "date": "2026-10-14",
    "url": "https://github.com/HeyMoustache/obervave-multi#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "zvenson/obervave",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://charlesvestal.github.io/fm1-polly/"
    ]
   ],
   "name": "Polly",
   "repo": "charlesvestal/fm1-polly",
   "by": "charlesvestal",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "theory",
    "groovebox"
   ],
   "about": "A pocket arranger for the M-VAVE FM-1, inspired by the Yamaha QY70: a style plays a band of eight instruments and the chords you play steer it; also a General MIDI sound module.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://charlesvestal.github.io/fm1-polly/install/",
     "from": "list",
     "front": "https://charlesvestal.github.io/fm1-polly/"
    }
   ],
   "release": {
    "tag": "v0.6.1",
    "url": "https://github.com/charlesvestal/fm1-polly/releases/tag/v0.6.1",
    "assets": [
     {
      "name": "firmware.json",
      "url": "https://github.com/charlesvestal/fm1-polly/releases/download/v0.6.1/firmware.json",
      "size": 1280,
      "sha256": "327d85820c53a06cf0781b7701bc3ca23f34e3d3673ad648a529239420f7b977"
     },
     {
      "name": "polly-0.6.1-app.bin",
      "url": "https://github.com/charlesvestal/fm1-polly/releases/download/v0.6.1/polly-0.6.1-app.bin",
      "size": 577536,
      "sha256": "605cecc1202af40c0e4a31080d47ae60533e726264a91a968f07491281c7166e"
     },
     {
      "name": "polly-0.6.1-res.bin",
      "url": "https://github.com/charlesvestal/fm1-polly/releases/download/v0.6.1/polly-0.6.1-res.bin",
      "size": 43008,
      "sha256": "441c5eb52f625f1850efe80e26bb9777e50d9c0a45035661992d80b93ee41d3f"
     },
     {
      "name": "polly-0.6.1.fwsc",
      "url": "https://github.com/charlesvestal/fm1-polly/releases/download/v0.6.1/polly-0.6.1.fwsc",
      "size": 615424,
      "sha256": "1de66fc5c0e871184adecb5b85bb51eedf7ef075ec069422c908733c2f9d3170",
      "check": {
       "sha256": "1de66fc5c0e871184adecb5b85bb51eedf7ef075ec069422c908733c2f9d3170",
       "bytes": 614938,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "polly-0.6.1.rfm1",
      "url": "https://github.com/charlesvestal/fm1-polly/releases/download/v0.6.1/polly-0.6.1.rfm1",
      "size": 882688,
      "sha256": "b6a9c004c8bc7eb6427111992e213ff6ded3b7a5edac649e9c596fb42d9ddd22"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/charlesvestal/fm1-polly/releases/download/v0.6.1/SHA256SUMS",
      "size": 523,
      "sha256": "1e8d73c376a9a8952759f7a369fc3acf673f2366d57beab16707b67872ea2ee8"
     }
    ],
    "date": "2026-11-05",
    "title": "Polly 0.6.1",
    "notes": "• Polly now works on the newer FM-1s. Units sold since autumn 2026, mostly on AliExpress, have a different flash chip (UC25HQ80). Until this release, Polly couldn't keep your songs on them, back them up or install another firmware. Now it can, and the rescue script takes them too. Thanks to Laurens (@profikid) for the fix (fm1-base#35).\n• M-VAVE's updater, M-UPGRADE 3.11 (2026-11-03), didn't find an FM-1 running Polly. It said \"A USB MIDI device is present but did not answer\". This version answers it, so M-UPGRADE can put M-VAVE's firmware back. Older versions of Polly still aren't found: for those, use \"Back to the stock firmware\" on the install page.\n• Installing is much quicker from now on. Once Polly 0.6.1 is on the FM-1, the next install writes only the parts that changed, and if the cable comes out halfway it carries on at the next power-on.\n• The install page works again. On 0.6's page it stopped with \"PORT_NAMES is not defined\".\n• The install page takes M-VAVE's stock firmware V16 as well as V15.\n• The emulator plays in tune and in time on computers whose audio runs at 48 kHz. Before, it played a little high and fast there.\n\nEach release now also carries an .rfm1 for host apps (RemoteFM1) and firmware.json for firmware hubs.\n• Try it in the browser: https://charlesvestal.github.io/fm1-polly/emu/\n• Install (Chrome or Edge, FM-1 on USB): https://charlesvestal.github.io/fm1-polly/install/"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "base: fm1-base 698e2cb (the installer page runs again: fm1ota.js's CR…",
    "url": "https://github.com/charlesvestal/fm1-polly/commit/a799839295c447f9990c0f20a1bbd8efe6ca0ebf"
   },
   "stars": 26,
   "created": "2026-10-12",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-polly.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "Polly SMK-37",
   "repo": "genkigenki/fm1-polly",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "theory"
   ],
   "board": "smk37",
   "about": "Polly, Charles Vestal's QY70-style pocket arranger, on the M-Vave SMK-37 keyboard: genkigenki's port.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-13",
    "title": "SMK-37 pads: progressions at three levels of the half's colour (pale …",
    "url": "https://github.com/genkigenki/fm1-polly/commit/26ac9f04192184f601e378c4494800b269626617"
   },
   "stars": 1,
   "created": "2026-10-13",
   "image": null,
   "pageFiles": [
    {
     "name": "polly-0.4.1.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/polly-0.4.1.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9eee8\"",
     "size": 575869,
     "check": {
      "sha256": "cdbc2808b71ca37386a08d3544378f8bc529fa74133b48aed3dfae7c3c961cbe",
      "bytes": 650984,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "cdbc2808b71ca37386a08d3544378f8bc529fa74133b48aed3dfae7c3c961cbe"
    },
    {
     "name": "polly-0.4.1-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/polly-0.4.1-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9eeec\"",
     "size": 575891,
     "check": {
      "sha256": "8ac9e2de432fb86a546f1c5312403990227d84d4cbdd399ea0f6ebda1cdcdf52",
      "bytes": 650988,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "8ac9e2de432fb86a546f1c5312403990227d84d4cbdd399ea0f6ebda1cdcdf52"
    },
    {
     "name": "polly-0.4.1-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/polly-0.4.1-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9eee4\"",
     "size": 575859,
     "check": {
      "sha256": "061db7375d5a722f864dba56df6b61ccf534a875b756807f3fd747a2ae4e746d",
      "bytes": 650980,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "061db7375d5a722f864dba56df6b61ccf534a875b756807f3fd747a2ae4e746d"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "charlesvestal/fm1-polly"
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://joshbartlettband-web.github.io/felucca-rainbow/"
    ]
   ],
   "name": "Rainbow mode",
   "repo": "joshbartlettband-web/felucca-rainbow",
   "by": "joshbartlettband-web",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "board": "both",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://joshbartlettband-web.github.io/felucca-rainbow/webapp/installer/",
     "from": "list",
     "front": "https://joshbartlettband-web.github.io/felucca-rainbow/"
    }
   ],
   "release": {
    "tag": "1.1.5-rb",
    "name": "1.1.5-rb",
    "date": null,
    "url": "https://joshbartlettband-web.github.io/felucca-rainbow/webapp/installer/",
    "assets": [
     {
      "name": "felucca-1.1.5-rb.fwsc",
      "url": "https://joshbartlettband-web.github.io/felucca-rainbow/firmware/felucca-1.1.5-rb.fwsc",
      "sha256": "68325a60e7237de045bdffc92d2f004e19b7b82fc769913ae21a83794b748f7f"
     }
    ],
    "site": true,
    "passedOver": {
     "tag": "fm1-rescue-test",
     "title": "FM-1 Rescue (test build)",
     "date": "2026-10-22",
     "url": "https://github.com/joshbartlettband-web/felucca-rainbow/releases/tag/fm1-rescue-test",
     "why": "no FM-1 package: fm1-rescue.apk, fm1-transporter-LICENSES.txt, fm1-transporter.uf2"
    }
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #21 from joshbartlettband-web/ccr-76d0d72b-fh8z7s",
    "url": "https://github.com/joshbartlettband-web/felucca-rainbow/commit/39d01bf2bda76ca16dd9dedc271c85b9a1c6dabb"
   },
   "stars": 19,
   "created": "2026-10-08",
   "about": "Rainbow mode: a music toy for little hands. Firmware for the M-VAVE FM-1, a fork of Felucca.",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/joshbartlettband-web~felucca-rainbow.jpg",
   "images": [
    "https://raw.githubusercontent.com/joshbartlettband-web/felucca-rainbow/HEAD/docs/felucca-1.0.png",
    "https://raw.githubusercontent.com/joshbartlettband-web/felucca-rainbow/HEAD/docs/controls.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/joshbartlettband-web~felucca-rainbow.jpg"
   ],
   "pageFiles": [
    {
     "name": "felucca-1.1.5-rb.fwsc",
     "url": "https://joshbartlettband-web.github.io/felucca-rainbow/firmware/felucca-1.1.5-rb.fwsc",
     "page": "https://joshbartlettband-web.github.io/felucca-rainbow/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecc339-94f26\"",
     "size": 610086,
     "check": {
      "sha256": "68325a60e7237de045bdffc92d2f004e19b7b82fc769913ae21a83794b748f7f",
      "bytes": 610086,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "68325a60e7237de045bdffc92d2f004e19b7b82fc769913ae21a83794b748f7f"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold"
   ],
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [],
   "name": "REDACTED",
   "home": "https://fm1-redacted-installer.xrhetor.chatgpt.site/",
   "by": "DJ Redacted",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "seen": "2026-10-16",
   "tools": [],
   "about": "Install REDACTED or CONCRÈTE firmware on your FM-1 using USB MIDI.",
   "pageFiles": [
    {
     "name": "FM1-CONCRETE-0.5.1.fwsc",
     "url": "https://fm1-redacted-installer.xrhetor.chatgpt.site/FM1-CONCRETE-0.5.1.fwsc",
     "page": "https://fm1-redacted-installer.xrhetor.chatgpt.site/",
     "etag": "\"05ee313a428109ea1481316e29761f3c\"",
     "size": null,
     "check": {
      "sha256": "05e1cbcaae3ea011595e51bdcc5f69cf79115a477b462b324b87c87907926f94",
      "bytes": 609849,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "05e1cbcaae3ea011595e51bdcc5f69cf79115a477b462b324b87c87907926f94"
    },
    {
     "name": "FM1-CHAOS-MACHINE-0.1.0.fwsc",
     "url": "https://fm1-redacted-installer.xrhetor.chatgpt.site/FM1-CHAOS-MACHINE-0.1.0.fwsc",
     "page": "https://fm1-redacted-installer.xrhetor.chatgpt.site/",
     "etag": "\"b11c9c56039925df76cf4c954612d1cb\"",
     "size": null,
     "check": {
      "sha256": "75d2a2bf4a729cb289f3dc28d4e99ef11560c332cebd36148d706fdc1eaeaf23",
      "bytes": 609849,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "75d2a2bf4a729cb289f3dc28d4e99ef11560c332cebd36148d706fdc1eaeaf23"
    }
   ],
   "siteReleases": [
    {
     "version": "0.5.1",
     "file": "https://fm1-redacted-installer.xrhetor.chatgpt.site/FM1-CONCRETE-0.5.1.fwsc",
     "url": "https://fm1-redacted-installer.xrhetor.chatgpt.site/"
    },
    {
     "version": "0.1.0",
     "file": "https://fm1-redacted-installer.xrhetor.chatgpt.site/FM1-CHAOS-MACHINE-0.1.0.fwsc",
     "url": "https://fm1-redacted-installer.xrhetor.chatgpt.site/"
    }
   ],
   "release": {
    "tag": "0.5.1",
    "name": "0.5.1",
    "date": null,
    "url": "https://fm1-redacted-installer.xrhetor.chatgpt.site/",
    "assets": [
     {
      "name": "FM1-CONCRETE-0.5.1.fwsc",
      "url": "https://fm1-redacted-installer.xrhetor.chatgpt.site/FM1-CONCRETE-0.5.1.fwsc",
      "sha256": "05e1cbcaae3ea011595e51bdcc5f69cf79115a477b462b324b87c87907926f94"
     },
     {
      "name": "FM1-CHAOS-MACHINE-0.1.0.fwsc",
      "url": "https://fm1-redacted-installer.xrhetor.chatgpt.site/FM1-CHAOS-MACHINE-0.1.0.fwsc",
      "sha256": "75d2a2bf4a729cb289f3dc28d4e99ef11560c332cebd36148d706fdc1eaeaf23"
     }
    ],
    "site": true
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false
  },
  {
   "links": [
    [
     "Emulator",
     "https://kemsthesage.github.io/reggae-os/"
    ]
   ],
   "name": "REGGAE-OS",
   "repo": "KemstheSage/reggae-os",
   "by": "KemstheSage",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "A reggae synthesizer, hardware first, based on Felucca.",
   "types": [
    "groovebox"
   ],
   "stage": "emulator",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-30",
    "title": "Clarify project saves and make punch-in FX persistent",
    "url": "https://github.com/KemstheSage/reggae-os/commit/7561b5f873bbe103324f545d6f9ca36aa97c713f"
   },
   "stars": 1,
   "created": "2026-10-15",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/KemstheSage~reggae-os.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false
  },
  {
   "links": [],
   "name": "RingsClouds",
   "repo": "vrcvs/Felucca",
   "branch": "ringsclouds-analysis",
   "by": "vrcvs",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "experimental"
   ],
   "stage": "development",
   "about": "Felucca 1.6.1 with a Clouds granular effect, LFO B and step / CC sources in the mod matrix; untested pre-release.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-19",
    "title": "Fix ROM scan and retain safe pool headroom",
    "url": "https://github.com/vrcvs/Felucca/commit/79b7b26ef49d101a8410f5988efea315257d770b"
   },
   "stars": 0,
   "created": "2026-10-16",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "hugelton/Felucca"
  },
  {
   "links": [
    [
     "Installer",
     "https://jrdntnnr.github.io/sardab/"
    ]
   ],
   "name": "sardab",
   "repo": "jrdntnnr/sardab",
   "by": "jrdntnnr",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://jrdntnnr.github.io/sardab/webapp/installer/",
     "from": "list",
     "front": "https://jrdntnnr.github.io/sardab/"
    }
   ],
   "release": {
    "tag": "sardab-v2.1-preview",
    "url": "https://github.com/jrdntnnr/sardab/releases/tag/sardab-v2.1-preview",
    "assets": [
     {
      "name": "sardab-2.1-preview.zip",
      "url": "https://github.com/jrdntnnr/sardab/releases/download/sardab-v2.1-preview/sardab-2.1-preview.zip",
      "size": 641024,
      "sha256": "9b0219f4397c68d1afd5d1099896df5b952383ee3cd4133ec644f56b596bd6f9"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/jrdntnnr/sardab/releases/download/sardab-v2.1-preview/SHA256SUMS",
      "size": 107,
      "sha256": "ed2bf651e971a0d2a4c38f5b74eb8252f4705683747b9f6e1338e7b53b85bcd3"
     }
    ],
    "prerelease": true,
    "date": "2026-10-13",
    "title": "SARDAB 2.1 — DESERT presets and Ghoulbox integration",
    "notes": "SARDAB 2.1 combines selected Ghoulbox 2.1 features with our Felucca 1.5.1 / SLOOP base, preserving maqam tuning, Scala import, tuned chord generation and desert instruments.\n\nOpen PRESETS → LIST (knob 4) → DESERT for DESERT OUD, BRASS QANUN, SANTUR, DUSK SANTUR, MIJWIZ, ARGHUL, DUNE NEY, DUNE DRUMS, SAND WIND and USR1 / USR2 / USR3. The USR entries play the banks already stored in those slots; empty slots are silent. Optional recorded banks, including Persian Tar, are uploaded through the editor's Samples tab.\n\nAlso includes USB rescue, twelve shared voices, drone latch, optional layer/split, GURDY crank, microtonal-aware note labels, temperaments and CAVE/TORCH textures. Existing SARDAB saves and upstream 2.1 projects/presets have explicit migration paths. New project records require this firmware or later; back up before updating.\n• Install in Chrome or Edge\n• Editor and sample uploads\n• Browser emulator\n• Controls and compatibility\n• Flashing instructions\n• Validation details\n\nDevelopment preview: physical-device validation is pending. Build, pitch, migration, functional UI, 152 audio reference renders, 720 engine-switch renders, WebAssembly/native equivalence, sample persistence and loader simulations pass. The broad suite remains red on existing screen-layout findings and a small PHASER host-cost estimate overrun that also reproduces on the previous source. Target static budgets pass; these are not measured device timing results.\n\nSource: bb65def. Application: 579,304 bytes (2,260 free). Package: 610,086 bytes, identity FM-1_900. SHA-256: 2ab4bd41b416f432b0068c2ffc8117da0c023508ba19825403a9f7b94c082e76.\n\nThe ZIP includes firmware, license texts, build identity and installation instructions. Flashing does not install optional sample banks or erase your existing banks."
   },
   "commit": {
    "date": "2026-10-18",
    "title": "Use Persian سرداب splash and refresh firmware screenshots",
    "url": "https://github.com/jrdntnnr/sardab/commit/830bb5831fe8451f30ba895e347411832e7a5f39"
   },
   "stars": 1,
   "created": "2026-10-11",
   "about": "Dungeon synth firmware for the M-VAVE FM-1, turned toward the desert: maqam tuning, Arabic rhythm, oud and ney, stone rooms. GHOULBOX on Felucca 1.6, with code from SLOOP, JIANT and Melodee.",
   "image": "https://raw.githubusercontent.com/jrdntnnr/sardab/HEAD/docs/sardab-2.3.png",
   "pageFiles": [
    {
     "name": "felucca-sardab-2.3-persian-splash-preview.fwsc",
     "url": "https://jrdntnnr.github.io/sardab/firmware/felucca-sardab-2.3-persian-splash-preview.fwsc",
     "page": "https://jrdntnnr.github.io/sardab/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ad5079d-94fe4\"",
     "size": 594831,
     "check": {
      "sha256": "ea418898dd0779b5debd348ce04b5f7e86d273ab9e6e79ef7a3b5252ac1ae16e",
      "bytes": 610276,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "ea418898dd0779b5debd348ce04b5f7e86d273ab9e6e79ef7a3b5252ac1ae16e"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "jasonpersinger/ghoulbox-fm1-dungeon-synth",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/jrdntnnr/sardab/HEAD/docs/sardab-2.3.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/jrdntnnr~sardab.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://nicholaspratt.github.io/Prysm/"
    ],
    [
     "Editor and emulator",
     "https://nicholaspratt.github.io/Prysm/editor/"
    ]
   ],
   "name": "Prysm",
   "repo": "NicholasPratt/Prysm",
   "by": "NicholasPratt",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A 4-voice wavetable FM synth: two 3-operator oscillators a voice, comb filter, two LFOs, a sequencer; on Dinghy.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://nicholaspratt.github.io/Prysm/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor and emulator",
     "url": "https://nicholaspratt.github.io/Prysm/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.3",
    "url": "https://github.com/NicholasPratt/Prysm/releases/tag/v1.3",
    "assets": [
     {
      "name": "prysm-1.3.fwsc",
      "url": "https://github.com/NicholasPratt/Prysm/releases/download/v1.3/prysm-1.3.fwsc",
      "size": 612352,
      "sha256": "f74cd6ffe2e4bec65d5b531cdab8de825f57bc1c71dbd2e6ef55ee0358807ab1",
      "check": {
       "sha256": "f74cd6ffe2e4bec65d5b531cdab8de825f57bc1c71dbd2e6ef55ee0358807ab1",
       "bytes": 612196,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "Prysm-clap-linux.zip",
      "url": "https://github.com/NicholasPratt/Prysm/releases/download/v1.3/Prysm-clap-linux.zip",
      "size": 403456,
      "sha256": "3176364008788cd64d5d93eeb41185e427d84173e7023fd42a812868409a5742"
     },
     {
      "name": "Prysm-clap-macos.zip",
      "url": "https://github.com/NicholasPratt/Prysm/releases/download/v1.3/Prysm-clap-macos.zip",
      "size": 847872,
      "sha256": "c03ff528376557a98c2b8e5182262b30376e197c3c534d429fe32f87a997d0ba"
     },
     {
      "name": "Prysm-clap-windows.zip",
      "url": "https://github.com/NicholasPratt/Prysm/releases/download/v1.3/Prysm-clap-windows.zip",
      "size": 444416,
      "sha256": "0f82d831d11698cee322728629f5231da26fd7fb901ed304e620c2f570ca8cb3"
     }
    ],
    "date": "2026-10-26",
    "title": "Prysm 1.3",
    "notes": "Prysm 1.3: a sequencer for every patch, a LIVE screen for playing out, and a keyboard split with two sequencer parts.\n\nInstall: the web installer (Chrome or Edge), or python3 tools/fm1_install.py prysm-1.3.fwsc. Manual: docs/MANUAL.md. Your saved sounds, patterns and song carry over: every used slot starts with a copy of your current sequencer, and the split starts off.\n\n## New\n• A sequencer per patch: each of the 8 slots keeps its own patterns, song and drum kit. Changing patch while playing swaps the sequencer at the end of the pattern. SAVE stores the sequencer with the sound (also when saving to a new slot); LOAD no longer saves the patch you're leaving.\n• LIVE screen (HOME twice), for playing live:\n• The first 4 black keys pick patterns, the first 8 white keys pick patches (sound and sequencer together). Both change on the next bar line; press again to cancel. A pattern key during a song switches to PATTERN mode.\n• Mutes on the keys above middle F: F#4 / G#4 / A#4 kick, snare, hats; C#5 / D#5 OSC 1 / OSC 2; F#5 the noise. Lit = on, flashing = muted. Not saved; an M in the header on other pages while anything is muted.\n• Four knobs, your choice: K1–K4 can each be any sound parameter (SELECT picks the knob, PRESETS its parameter), saved in the settings.\n• Keyboard split (MIX → SPLIT, saved per patch): below the split key only OSC 1 plays, from it only OSC 2: a bass under a lead. Each side has its own octave (±2); set the key with KNOB1 or LEARN (press the key). Still 4 voices, shared by both sides.\n• Two sequencer parts (SEQ → PARTS): with the split on, the notes below it are part 1 and the rest part 2. Record one over the other, and mute (MUTE1/2) or clear (CLR1/2) either. Recording replaces only the part you play.\n• Snare flam (DRUM: HIT after ACCENT): two snares ~20 ms apart, the second softer.\n• From Dinghy 0.4: TRS MIDI IN and the update loader's progress screen.\n• The editor and the CLAP plugin (1.3.0) have the split.\n\nFrom ETCH: restore the official firmware first. If an FM-1 does not start after an update, hold OCT- while switching it on (the rescue updater). Community firmware, not made or supported by M-VAVE: install at your own risk. GPL-3.0.",
    "pre": {
     "tag": "v1.4",
     "title": "v1.4",
     "date": "2026-10-29",
     "url": "https://github.com/NicholasPratt/Prysm/releases/tag/v1.4"
    }
   },
   "commit": {
    "date": "2026-10-30",
    "title": "films: introducing.py, the Introducing Prysm film",
    "url": "https://github.com/NicholasPratt/Prysm/commit/87a5c6b8edcfd5504756eb3b739c2d7b2e873d36"
   },
   "stars": 0,
   "created": "2026-10-19",
   "image": "https://raw.githubusercontent.com/NicholasPratt/Prysm/HEAD/docs/screen.png",
   "pageFiles": [
    {
     "name": "prysm-1.4.fwsc",
     "url": "https://nicholaspratt.github.io/Prysm/firmware/prysm-1.4.fwsc",
     "page": "https://nicholaspratt.github.io/Prysm/",
     "found": "named",
     "etag": "W/\"6ae2d694-95764\"",
     "size": 472982,
     "check": {
      "sha256": "2fbf4fea48db230485b05999540a710327b472cc907c217bc28a883bf6ba2bde",
      "bytes": 612196,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "2fbf4fea48db230485b05999540a710327b472cc907c217bc28a883bf6ba2bde"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "glo"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/NicholasPratt/Prysm/HEAD/docs/screen.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/NicholasPratt~Prysm.jpg"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://de-pattern.github.io/Ravel_FM1/"
    ],
    [
     "Installer",
     "https://de-pattern.github.io/Ravel_FM1/install/"
    ],
    [
     "Manual",
     "https://de-pattern.github.io/Ravel_FM1/manual.html"
    ]
   ],
   "name": "Ravel",
   "repo": "De-Pattern/Ravel_FM1",
   "by": "De-Pattern",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "experimental"
   ],
   "about": "An eight-track sound-design groovebox: tracks caught on a shared tape, cut up and replayed; its own code on Felucca HAL.",
   "experimental": true,
   "status": "Playable in its emulator; the FM-1 build has not yet been run on an FM-1.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://de-pattern.github.io/Ravel_FM1/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.19.0",
    "url": "https://github.com/De-Pattern/Ravel_FM1/releases/tag/v1.19.0",
    "assets": [
     {
      "name": "ravel-emulator.html",
      "url": "https://github.com/De-Pattern/Ravel_FM1/releases/download/v1.19.0/ravel-emulator.html",
      "size": 15728640,
      "sha256": "6851284b8a15de6d05e58f593ff7c325c355fa74ebfb682c577a7b191d54d16c"
     },
     {
      "name": "Ravel-FM1.fwsc",
      "url": "https://github.com/De-Pattern/Ravel_FM1/releases/download/v1.19.0/Ravel-FM1.fwsc",
      "size": 609280,
      "sha256": "dd65287c9d6f9f612cb12aa86acc015c875403d39b062fd342e6319ad37b6694",
      "check": {
       "sha256": "dd65287c9d6f9f612cb12aa86acc015c875403d39b062fd342e6319ad37b6694",
       "bytes": 609686,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "ravel-manual.pdf",
      "url": "https://github.com/De-Pattern/Ravel_FM1/releases/download/v1.19.0/ravel-manual.pdf",
      "size": 3030385,
      "sha256": "882b5854a8f0f1b29f1d0e638fc7376cf960891f8155307d5e6c9d31443905d8"
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/De-Pattern/Ravel_FM1/releases/download/v1.19.0/SHA256SUMS.txt",
      "size": 250,
      "sha256": "c82541df04d26e638c5522b338d1aa2156c06dd5252ee855716ca792ebfa64a7"
     }
    ],
    "date": "2026-11-05",
    "title": "Ravel 1.19.0",
    "notes": "Ravel 1.19.0 for the M-VAVE FM-1.\n\n## What's new\n\nFaster\n• The buses are shared between both cores. The BED with the SPACE, FEEDBACK and DELAY are three jobs, each going to whichever core has room (they play the last step's sends, so the first core can run one while the second plays its voices). Before, the second core ran all of them and took few voices. The sound is the same, bit for bit.\n• SPACE does about 18 % less work (about 43 % with MOTION at 0), and DELAY about 25 % less with WOW and FLUTTER at 0; the sound is the same, sample for sample.\n\nChanged\n• The BED rests when nothing plays. With the sequencer stopped and every track silent for four seconds, it fades out and stops computing, and the SPACE it sends into can rest too; it fades back in with the next sound or PLAY.\n\n## Files\n• Ravel-FM1.fwsc: the FM-1 firmware. Install it from the web installer (https://De-Pattern.github.io/Ravel_FM1/install/, Chrome or Edge, over USB) or with python3 tools/fm1_install.py Ravel-FM1.fwsc. Keep the FM-1 connected for the whole update. The installer page can also put M-VAVE's own firmware back.\n• ravel-emulator.html: the emulator in one file. Open it in a browser; no install.\n• ravel-manual.pdf: the manual.\n• SHA256SUMS.txt: checksums.\n\nLive emulator: https://De-Pattern.github.io/Ravel_FM1/ · Installer: https://De-Pattern.github.io/Ravel_FM1/install/ · Manual: https://De-Pattern.github.io/Ravel_FM1/manual.html · All changes: https://github.com/De-Pattern/Ravel_FM1/blob/main/CHANGELOG.md"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Release 1.19.0",
    "url": "https://github.com/De-Pattern/Ravel_FM1/commit/723fa4506df69558c97dce8f53bbd72ca97c1a6b"
   },
   "stars": 23,
   "created": "2026-10-19",
   "image": "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/brand/ravel-banner.jpg",
   "images": [
    "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/brand/ravel-banner.jpg",
    "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/logo/ravel-logo-dark.png",
    "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/showcase/ravel-showcase.png",
    "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/manual/voice-source.png",
    "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/manual/home-tracks.png",
    "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/manual/comp.png",
    "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/manual/loop.png",
    "https://raw.githubusercontent.com/De-Pattern/Ravel_FM1/HEAD/docs/manual/loopseq.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/De-Pattern~Ravel_FM1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://quixotic7.github.io/RemoteFM1/installer/"
    ],
    [
     "Player",
     "https://quixotic7.github.io/RemoteFM1/"
    ]
   ],
   "name": "RemoteFM1",
   "repo": "Quixotic7/RemoteFM1",
   "by": "Quixotic7",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "experimental"
   ],
   "about": "A firmware that makes the FM-1 a USB panel for a firmware running on the computer (fm1remote, FM1VST, a web player).",
   "note": "Makes no sound by itself. Built on TransitFM1: ChoralRoot's boot stub and a staged update loader; answers installers as the official V15 (FM-1_015). 0.1.1 refuses a package larger than the app area (Baud Girl's): go through V15 for it.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://quixotic7.github.io/RemoteFM1/installer/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.3.3",
    "url": "https://github.com/Quixotic7/RemoteFM1/releases/tag/v0.3.3",
    "assets": [
     {
      "name": "remote-0.3.3.fwsc",
      "url": "https://github.com/Quixotic7/RemoteFM1/releases/download/v0.3.3/remote-0.3.3.fwsc",
      "size": 611328,
      "sha256": "f123329b1b0b98ed0dc1085e39d2ab8368d50da4ffe410426ab3ad7688d60242",
      "check": {
       "sha256": "f123329b1b0b98ed0dc1085e39d2ab8368d50da4ffe410426ab3ad7688d60242",
       "bytes": 611496,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/Quixotic7/RemoteFM1/releases/download/v0.3.3/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/Quixotic7/RemoteFM1/releases/download/v0.3.3/LICENSES.zip",
      "size": 5642,
      "sha256": "0946bc9ab1dc74136f76485410add4069e2512a969f32658b60bce8a5ad19006"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/Quixotic7/RemoteFM1/releases/download/v0.3.3/LICENSING.md",
      "size": 9185,
      "sha256": "c4b98819e5315cc70b413f2ad7d2bdf4d1d3faa4b79a4506c02fc777de6cb418"
     },
     {
      "name": "remote-usb-0.3.3.fwsc",
      "url": "https://github.com/Quixotic7/RemoteFM1/releases/download/v0.3.3/remote-usb-0.3.3.fwsc",
      "size": 611328,
      "sha256": "c57b0141d0d9a7fd354fb8bd0f027b4cfa5d28fcbf8ad72d4179e4f1c47c1d06",
      "check": {
       "sha256": "c57b0141d0d9a7fd354fb8bd0f027b4cfa5d28fcbf8ad72d4179e4f1c47c1d06",
       "bytes": 611496,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/Quixotic7/RemoteFM1/releases/download/v0.3.3/SHA256SUMS",
      "size": 172,
      "sha256": "51148416bd2b24b01dbbe6fd8724e93a177d301205883c4ea9cd1ffe54f08114"
     }
    ],
    "date": "2026-11-04",
    "title": "RemoteFM1 0.3.3",
    "notes": "Released 2026-11-04, built and signed on GitHub with tools/hub_build.sh 0.3.3 (docs/RELEASING.md). It replaces 0.3.2.\n\nBoth packages install as FM-1_52000303.\n\nPackage\nsha256\n\nremote-0.3.3.fwsc, USB + Bluetooth MIDI (the default)\nf123329b1b0b98ed0dc1085e39d2ab8368d50da4ffe410426ab3ad7688d60242\n\nremote-usb-0.3.3.fwsc, USB only\nc57b0141d0d9a7fd354fb8bd0f027b4cfa5d28fcbf8ad72d4179e4f1c47c1d06\n\n## What changed from 0.3.2\n• The newer FM-1s' flash chip. FM-1s sold from late 2026 (the M-VAVE logo printed on the front) carry another\n\nmaker's 1 MiB flash (JEDEC id 0xB36014; the older units' Puya part is 0x856014). Earlier RemoteFM1 versions did not\n\naccept it, so on those units they ran from RAM only: no cartridges or loops saved, and no update possible from\n\nRemoteFM1 itself. 0.3.3 accepts both parts (fm1-base patch 0009, as ChoralRoot 0.29.1 does; the SMK-37 builds too).\n• Nothing else: your cartridges, loops and settings stay.\n\nA unit stuck on an earlier version that cannot update: start it in the ROM bootloader and restore V15 with\n\nMvaveFM1Unbricker (github.com/Quixotic7/MvaveFM1Unbricker), then install 0.3.3.\n\nremote-0.3.3.fwsc is the package with USB and Bluetooth MIDI (the one The Firmware Hub lists), remote-usb-0.3.3.fwsc the USB-only one; SHA256SUMS lists both. GitHub built and signed each file from this tag's source (The Firmware Hub's shared workflow); check one with gh attestation verify remote-0.3.3.fwsc --repo Quixotic7/RemoteFM1 --signer-workflow zvenson/fm1-build/.github/workflows/build.yml. The build downloads Yamaha's DX7 ROM cartridges and checks them against the sha256s pinned in tools/hub_build.sh; they are compiled in, never in the repository or the release. LICENSE, LICENSING.md and LICENSES.zip carry every licence. Installing firmware is at your own risk."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "FIZZ 0.12.0-beta.13 as the site's .rfm1 (with its skin): build_fizz.s…",
    "url": "https://github.com/Quixotic7/RemoteFM1/commit/8a5a5e806ac7fe842d34c215e99f0366244d51e5"
   },
   "stars": 26,
   "created": "2026-10-18",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Quixotic7~RemoteFM1.jpg",
   "pageFiles": [
    {
     "name": "remote-0.3.1.fwsc",
     "url": "https://remotefm1.com/installer/firmware/remote-0.3.1.fwsc",
     "page": "https://remotefm1.com/installer/firmware/",
     "etag": "W/\"6aec777b-954a8\"",
     "size": 611496,
     "check": {
      "sha256": "11680a48829ee5f4687da1148a60df192eb97e39d333ae18fd63931e3cd7e724",
      "bytes": 611496,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "11680a48829ee5f4687da1148a60df192eb97e39d333ae18fd63931e3cd7e724"
    },
    {
     "name": "remote-usb-0.3.1.fwsc",
     "url": "https://remotefm1.com/installer/firmware/remote-usb-0.3.1.fwsc",
     "page": "https://remotefm1.com/installer/firmware/",
     "etag": "W/\"6aec777b-954a8\"",
     "size": 611496,
     "check": {
      "sha256": "3d7d88535fe003dd57ba465ba552b798a23ed420e50e7c29525247d92248da12",
      "bytes": 611496,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "3d7d88535fe003dd57ba465ba552b798a23ed420e50e7c29525247d92248da12"
    },
    {
     "name": "remote-0.3.0.fwsc",
     "url": "https://remotefm1.com/installer/firmware/remote-0.3.0.fwsc",
     "page": "https://remotefm1.com/installer/firmware/",
     "etag": "W/\"6aec777c-954a8\"",
     "size": 611496,
     "check": {
      "sha256": "0403415f68afd8c087004ab65683378b3d52dd7669cd46fed11bdb7c923b9a9f",
      "bytes": 611496,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "0403415f68afd8c087004ab65683378b3d52dd7669cd46fed11bdb7c923b9a9f"
    },
    {
     "name": "remote-usb-0.3.0.fwsc",
     "url": "https://remotefm1.com/installer/firmware/remote-usb-0.3.0.fwsc",
     "page": "https://remotefm1.com/installer/firmware/",
     "etag": "W/\"6aec777b-954a8\"",
     "size": 611496,
     "check": {
      "sha256": "acde3717ef90e5f60c43c2e14636537e34feb3c95020ff0b7872e666a108c584",
      "bytes": 611496,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "acde3717ef90e5f60c43c2e14636537e34feb3c95020ff0b7872e666a108c584"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "edit",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://devrvega.github.io/SEQ-4/emu/"
    ],
    [
     "Installer",
     "https://devrvega.github.io/SEQ-4/install/"
    ]
   ],
   "name": "SEQ-4",
   "repo": "devrvega/SEQ-4",
   "by": "devrvega",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://devrvega.github.io/SEQ-4/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.0",
    "url": "https://github.com/devrvega/SEQ-4/releases/tag/v0.1.0",
    "assets": [
     {
      "name": "seq4-0.1.0.fwsc",
      "url": "https://github.com/devrvega/SEQ-4/releases/download/v0.1.0/seq4-0.1.0.fwsc",
      "size": 609280,
      "sha256": "7dae8979da10ba034f37aa0bb555f786a3c0e9af981920b9d8f3409232d5ec39",
      "check": {
       "sha256": "7dae8979da10ba034f37aa0bb555f786a3c0e9af981920b9d8f3409232d5ec39",
       "bytes": 609672,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-16",
    "title": "SEQ-4 0.1.0",
    "notes": "The first release.\n• Four MIDI sequencers, each on its own channel and USB port (four ports, A–D: 64 channels), up to 128\n\nsteps in eight pages, sixteen patterns each, all running together from one clock (its own, or USB or TRS\n\nMIDI clock).\n• Six modes: Mono, Poly (seven notes a step, pick and place), Chord (types in two banks, voicings, spread,\n\nstrum, bass, its own arpeggiator), Multitrack (eight drum tracks, each its own note, channel, length and\n\ndivision), Stochastic and Matriceal.\n• Steps: velocity, gate up to tie and legato, octave, glide, timing offset, repeats or skip, and\n\nconditions (chance, A:B, previous, first, fill, fixed, locked and their opposites); ties by holding two\n\nsteps; any division from four bars to 1/64, six directions, loops, swing.\n• On the panel: the screen is the grid (lit pads in each sequencer's colour); the white keys are the\n\nsteps, the black keys the rows (Multitrack: its tracks), the page keys and MUTE; the knobs a step's values\n\nor every step's; menus on the knobs; a card for each button when held.\n• The keyboard: notes, the chord keyboard, drum pads; pitch bend, mod wheel, a roller.\n• Recording live (count-in, metronome click, quantize, overdub, loop / one shot / extend), step by step,\n\nand MIDI capture.\n• Generators: random perform, a random generator (with humanize, shuffle, invert), Euclid, and a drum\n\ngenerator on Grids' map.\n• Modulation: two LFOs a sequencer, mod lanes (a CC, bend, pressure or program a step), MIDI mappings with\n\nlearn; a harmonizer that follows another sequencer's chords; 31 scales.\n• Live: mutes and solos, fills, snapshots, tap tempo, nudge and time bend; songs of patterns (ten, four\n\nlanes of fifteen slots); program changes and transport CCs both ways.\n• Saving: a log in the FM-1's flash for the project, 64 patterns and the songs; saves while playing, tidies\n\nup while stopped; undo and redo.\n• Measured on an FM-1: the engine ticks every 0.73 ms; all four sequencers at their busiest take at most\n\n545 µs of a tick; sixteenths at 120 BPM arrive within 0.4 ms (standard deviation) of each other.\n• In the browser: the same code, playing your synths through Web MIDI.\n• Fixed before release: changing patterns on sequencers 2 and 4, or giving back a snapshot, crashed the FM-1\n\n(a word copy of a sequencer that was not word aligned); and after a crash in the audio interrupt, safe mode's\n\nUSB never came up. The tests now also run every scenario under the address and undefined-behaviour\n\nsanitizers.\n\n## Install\n• From the browser (Chrome or Edge, the FM-1 on USB): the web installer. Or try it in the browser first.\n• From the command line: python3 tools/fm1_install.py seq4-0.1.0.fwsc (Python 3 with pip3 install mido python-rtmidi).\n• Going back: the installer's \"Back to the stock firmware\", or M-VAVE's M-UPGRADE.\n\nThe firmware is seq4-0.1.0.fwsc below; its source is this tag. Installing other firmware is at your own risk; see the manual's Troubleshooting."
   },
   "commit": {
    "date": "2026-10-16",
    "title": "SEQ-4 0.1.0: four MIDI sequencers for the M-VAVE FM-1",
    "url": "https://github.com/devrvega/SEQ-4/commit/97c813564c3ef453f519419cdcfac102375146bf"
   },
   "stars": 0,
   "created": "2026-10-16",
   "about": "SEQ-4 turns the M-VAVE FM-1 into four MIDI sequencers for the instruments around it. Each sequencer plays on its own channel and USB port (four ports, A–D: 64 channels) and runs in one of six modes: a melody, chords, eight tracks of drums…",
   "image": "https://raw.githubusercontent.com/devrvega/SEQ-4/HEAD/docs/img/seq4.gif",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/devrvega/SEQ-4/HEAD/docs/img/seq4.gif",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/devrvega~SEQ-4.jpg"
   ]
  },
  {
   "links": [],
   "name": "Simorgh",
   "repo": "runestone74/Simorgh",
   "branch": "santur",
   "by": "runestone74",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A Persian-flavoured Felucca fork: a santur model in PHYS, santur presets and a Simorgh boot splash.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://runestone74.github.io/Simorgh/webapp/installer/",
     "from": "site"
    }
   ],
   "commit": {
    "date": "2026-10-14",
    "title": "SANTR: RING (T60 s), VELO, MZRB, DMPR controls, velocity -> strike st…",
    "url": "https://github.com/runestone74/Simorgh/commit/3e92e899816eabcafb067d1367cf5b23af328cf7"
   },
   "stars": 0,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/runestone74/Simorgh/santur/assets/simorgh/simorgh_banner.jpg",
   "images": [
    "https://raw.githubusercontent.com/runestone74/Simorgh/santur/assets/simorgh/simorgh_banner.jpg",
    "https://raw.githubusercontent.com/runestone74/Simorgh/santur/docs/felucca-1.0.png"
   ],
   "pageFiles": [
    {
     "name": "felucca-1.6.1.fwsc",
     "url": "https://runestone74.github.io/Simorgh/firmware/felucca-1.6.1.fwsc",
     "page": "https://runestone74.github.io/Simorgh/webapp/installer/",
     "found": "named",
     "etag": "W/\"6acfc58b-94f2a\"",
     "size": 553410,
     "check": {
      "sha256": "dff3a38f7e5b9833e15aba322558c9485e9e422e3ff813c616c91b3584a2d909",
      "bytes": 610090,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "dff3a38f7e5b9833e15aba322558c9485e9e422e3ff813c616c91b3584a2d909"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "hugelton/Felucca",
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://illuminus5.github.io/skiff/webapp/installer/"
    ],
    [
     "Emulator",
     "https://illuminus5.github.io/skiff/try/"
    ],
    [
     "Editor",
     "https://illuminus5.github.io/skiff/webapp/editor/"
    ],
    [
     "Manual",
     "https://illuminus5.github.io/skiff/learn/"
    ]
   ],
   "name": "Skiff",
   "repo": "illuminus5/skiff",
   "by": "illuminus5",
   "fam": "felucca",
   "relay": "skiff",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "board": "both",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://illuminus5.github.io/skiff/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://illuminus5.github.io/skiff/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.2",
    "url": "https://github.com/illuminus5/skiff/releases/tag/v2.2",
    "assets": [
     {
      "name": "skiff-2.2.fwsc",
      "url": "https://github.com/illuminus5/skiff/releases/download/v2.2/skiff-2.2.fwsc",
      "size": 610304,
      "sha256": "4412ecae63f69f5d288a6d78029272d3685488c4ad3e3be7cd484403429fc3d9",
      "check": {
       "sha256": "4412ecae63f69f5d288a6d78029272d3685488c4ad3e3be7cd484403429fc3d9",
       "bytes": 610429,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_722",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_722"
      }
     },
     {
      "name": "skiff-2.2-smk37-elite.fwsc",
      "url": "https://github.com/illuminus5/skiff/releases/download/v2.2/skiff-2.2-smk37-elite.fwsc",
      "size": 652288,
      "sha256": "568e186fc35dc2db2de653823e4cda49fdf2e4a4d7f266f3977ba26e1af628cb",
      "check": {
       "sha256": "568e186fc35dc2db2de653823e4cda49fdf2e4a4d7f266f3977ba26e1af628cb",
       "bytes": 651975,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "skiff-2.2-smk37-mke.fwsc",
      "url": "https://github.com/illuminus5/skiff/releases/download/v2.2/skiff-2.2-smk37-mke.fwsc",
      "size": 652288,
      "sha256": "680634a85295a034cbf88ab444f89e998828fe15dbc683ea9a7670b4f33058d9",
      "check": {
       "sha256": "680634a85295a034cbf88ab444f89e998828fe15dbc683ea9a7670b4f33058d9",
       "bytes": 651971,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "skiff-2.2-smk37.fwsc",
      "url": "https://github.com/illuminus5/skiff/releases/download/v2.2/skiff-2.2-smk37.fwsc",
      "size": 652288,
      "sha256": "ae880e4f42bf52a1ded9b6eca65d0ac6c3cbdc941fdbd80d23c5d7a266fc3b7d",
      "check": {
       "sha256": "ae880e4f42bf52a1ded9b6eca65d0ac6c3cbdc941fdbd80d23c5d7a266fc3b7d",
       "bytes": 651975,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "skiff-2.2.zip",
      "url": "https://github.com/illuminus5/skiff/releases/download/v2.2/skiff-2.2.zip",
      "size": 1044480,
      "sha256": "87a1ef929c5b6f18058d6fd3902ae3c4235a4ec68b7dd6caea964b1fc615d549"
     }
    ],
    "date": "2026-11-03",
    "title": "Skiff 2.2",
    "notes": "Skiff 2.2: USB MIDI. What the tracks play goes out, timed with the sound, with MIDI clock, external-synth tracks, knob CCs, remote buttons and Song Position.\n\nThank you, @jsmonzani and @krzyzankowskig (#82), @JijRod (#89), @aehk (#90) and everyone who asked on YouTube for MIDI out and sync; @LevienBrugman for the LFO drift (#94); @zvenson of The Firmware Hub for the new flash chip (#96); Charles Vestal, darosh and @DevinMcDonald for the macOS USB fix (#59, PR #60); @hipnofx for the header mark; @mauricecalhoun for the MENU test fix (PR #84).\n\nInstall on the FM-1: in Chrome or Edge with the Skiff installer, or download skiff-2.2.fwsc below and run python tools/fm1_install.py skiff-2.2.fwsc. Custom firmware, at your own risk; the installer page also takes the FM-1 back to the official firmware, V15 or V16.\n\nInstall on the SMK-37 Pro: read SMK37.md first, then the same installer page, or python tools/fm1_install.py skiff-2.2-smk37.fwsc.\n\nFrom 2.0 to 2.1.1:\n• Your projects, sounds and patterns stay as they are.\n• Windows sets the FM-1 up once more: its USB audio now comes before its MIDI, for macOS. Pick its recording input again in your recorder or DAW; it may be named \"Line (2- Felucca)\".\n\nFrom 1.x or Felucca: read 2.0's notes first: the installer page takes a backup and converts what needs it.\n\nNOTES OUT is ALL now: what the sequencer plays goes out over USB MIDI. For only the keys you play, as before, set MENU › MIDI › NOTES OUT KEYS.\n\n## New\n• MIDI out of everything the tracks play (MENU › MIDI › NOTES OUT: ALL, KEYS, OFF).\n• What goes out: steps, ratchets, flams, NUDGE, the arp, chords, chord follow, keys and step preview, each on its\n\ntrack's channel.\n• Each note-off goes on the channel its note-on went on, and a track's channel changed mid-note ends only that\n\ntrack's notes.\n• The notes leave with their sound, timed to the audio, not a buffer early in a burst.\n• A muted track sends nothing, and what MIDI IN plays is never sent back.\n• Tried on an FM-1: 1,734 notes in 71 s on five channels, every one paired, through channel changes, sound loads\n\nand a key held over STOP.\n• CLOCK OUT (MENU › MIDI, ON by default): MIDI clock, Start and Stop from the internal clock.\n• It runs on the sequencer's own 1/16 grid, and while stopped too.\n• On the unit, 99 % of pulses came within 0.6 ms.\n• On the SMK-37 the TRS jack sends the same.\n• T1–T6 CHANNEL: OFF and CH 1–16 EXT.\n• OFF: the track is neither heard nor sent.\n• EXT: the track plays only through MIDI, as an external synth's track, with no sound or voices of its own. Its\n\nlocks and automation go out as CCs before its notes.\n• CC OUT (OFF / ON): a knob turned sends its CC: the one learned to it, else the standard map's (the README's\n\nMIDI implementation). An EXT track always sends. A CC\n\nthat came in never goes back out.\n• REMOTE (OFF / CH 1–16): CC 102–115 on that channel press the 14 buttons, holds and combinations too, in Sloop's\n\nmap: 102 FX, 103 SEL, 104 ENV, 105 LFO, 106 EDIT, 107 GLO, 108 HOME, 109 SAVE, 110 ARP, 111 SEQ, 112 PLAY, 113 REC,\n\n114 OCT−, 115 OCT+.\n• AUTO CHANNEL (OFF / CH 1–16): notes on that channel play the selected track.\n• THRU (OFF / ON): what comes in on the TRS jack goes on to USB; on the SMK-37, USB to its TRS jack.\n• Song Position in: a DAW's position and Continue pick the patterns up where it says. On the unit, a jump to step\n\n11 played exactly as step 11 does from the start.\n• macOS: the USB audio interface now comes before MIDI. macOS 13–15 show no FM-1 audio otherwise (Charles\n\nVestal's fix in Felucca, PR #60). Not yet tried on a Mac by us: tell us in #59.\n• The README has a MIDI implementation chart: every\n\nmessage in and out, the CC and REMOTE maps.\n\n## Fixed\n• Newer FM-1s with the UC25HQ80 flash chip now save and update (#96).\n• Skiff before 2.2 took the chip for unknown: everything stayed in RAM and updates were refused.\n• From the official firmware, the installer puts 2.2 on as usual.\n• From Skiff 2.1.1 or older on such a unit, read\n\nthe README first.\n• LFO SYNC drifted on drum tracks (#94): a synced LFO now counts whole steps of its own track, and a kit's synced\n\nLFO starts from its PHASE at PLAY.\n• A key held while its track's MIDI channel changed left its note on at the old channel.\n• The header's pattern mark, too long for a SEQ page's title, now gets shorter instead of vanishing (@hipnofx).\n• WAITING FOR USB / TRS CLOCK now shows when PLAY finds no clock.\n• The SMK-37's TRS out sent stray bytes after a clock message.\n• The installer's \"no loader\" error lists the MIDI ports it saw (#83).\n\n## Known\n• macOS and Linux with the new USB layout are not tried by us yet (#59).\n• The new flash chip (#96) is tried on the computer, not yet on a unit that has it.\n• With CLOCK USB or TRS and no clock coming in, PLAY sounds the first step, then stops and says WAITING FOR USB\n\nCLOCK, as 2.1.1 did.\n• PLAY starts the clock afresh, so one interval right at Start is shorter. A follower restarts its count at Start\n\nanyway.\n• A changed setting is saved at STOP, or at once when stopped. The save pauses everything for about 17 ms, the clock\n\ntoo, as in 2.1.1.\n• 2.1's Known items about the SMK-37 still apply.\n\n## Going back to 2.1.1\n• Install skiff-2.1.1.fwsc (or the SMK package) from\n\n2.1.1's release.\n• Projects saved on 2.2 open there. A track set to OFF or EXT plays as a plain channel, and 2.1.1 sends only the\n\nkeys over MIDI.\n• On an FM-1 with the new flash chip, 2.1.1 can't save: stay on 2.2.\n\n## Credits\n\nSkiff is built on Felucca by Leo Kuroshita (Hügelton Instruments). The README's Credits have the rest.\n\n## Files\n• skiff-2.2.fwsc: the FM-1 package (identity FM-1_722)\n• skiff-2.2.zip: the FM-1 package, the app image, SHA256SUMS and every licence and attribution text they need\n• skiff-2.2-smk37.fwsc: the SMK-37 Pro package (identity SMK-37 Pro_722)\n• skiff-2.2-smk37-elite.fwsc, skiff-2.2-smk37-mke.fwsc: the SMK-37 Elite and MKE-P37 packages (identities\n\nSMK-37 Elite_722, MKE-P37_722), not tried on a keyboard yet\n\n…"
   },
   "commit": {
    "date": "2026-11-04",
    "title": "Learn Skiff: chapter 5 on 2.1.1 with QUANTIZE SOLO; chapter 21, chord…",
    "url": "https://github.com/illuminus5/skiff/commit/db2ce89c8cb4260661f86720f607455a0133aa6a"
   },
   "stars": 135,
   "created": "2026-10-12",
   "about": "Six-track groovebox firmware for the M-VAVE FM-1: 14 synth and drum engines, a 64-step sequencer, patterns and songs, live performance, and a browser editor. Built on Felucca.",
   "image": "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/img/video_1_3.jpg",
   "images": [
    "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/img/video_1_3.jpg",
    "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/skiff.png",
    "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/img/presets_bass.png",
    "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/img/roll_chords.png",
    "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/img/notes_overlap.png",
    "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/img/drum.png",
    "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/img/step_tiles.png",
    "https://raw.githubusercontent.com/illuminus5/skiff/HEAD/docs/img/auto_list.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/illuminus5~skiff.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://illuminus5.github.io/skiff/webapp/installer/",
     "names": [
      "FM-1_015.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://seattleuser0.github.io/skiff/webapp/installer/"
    ],
    [
     "Editor",
     "https://seattleuser0.github.io/skiff/webapp/editor/"
    ]
   ],
   "name": "Skiff (SeattleUser0's fork)",
   "repo": "SeattleUser0/skiff",
   "by": "SeattleUser0",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "experimental": true,
   "about": "Skiff 1.3.3 with per-note step modes: each note in a step its own TIE, SLIDE or ACCENT; SLIDE HOLD on POLY tracks.",
   "note": "Built by CI; its BUILD-PERNOTE.md still lists the on-device tests as to do. A block of 4 patterns holding a note mode is saved in a bigger format the official Skiff cannot read. No USB serial console; 7 undo levels.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://seattleuser0.github.io/skiff/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://seattleuser0.github.io/skiff/webapp/editor/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-20",
    "title": "README, FORK.md, Pages index: say this is a fork and how it differs f…",
    "url": "https://github.com/SeattleUser0/skiff/commit/2b350ac2bd887f3dd3538d4e5a1b049c1a0bd039"
   },
   "stars": 0,
   "created": "2026-10-19",
   "image": "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/img/video_1_3.jpg",
   "images": [
    "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/img/video_1_3.jpg",
    "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/skiff.png",
    "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/img/presets_bass.png",
    "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/img/step_tiles.png",
    "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/img/roll_chords.png",
    "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/img/drum.png",
    "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/img/chance_flam.png",
    "https://raw.githubusercontent.com/SeattleUser0/skiff/HEAD/docs/img/auto_list.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/SeattleUser0~skiff.jpg"
   ],
   "pageFiles": [
    {
     "name": "skiff-1.3.3-notes.fwsc",
     "url": "https://seattleuser0.github.io/skiff/firmware/skiff-1.3.3-notes.fwsc",
     "page": "https://seattleuser0.github.io/skiff/",
     "etag": "W/\"6ad6e04a-95515\"",
     "size": 594472,
     "check": {
      "sha256": "874d6de9181ded272399dd2a4bd0dce10830b86b03c634513a796c8e6d317f61",
      "bytes": 611605,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_713",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_713"
     },
     "sha256": "874d6de9181ded272399dd2a4bd0dce10830b86b03c634513a796c8e6d317f61"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page",
   "parent": "illuminus5/skiff",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Web flasher and studio",
     "https://djstrombo.github.io/SMK-dee/"
    ]
   ],
   "name": "SMK-dee",
   "repo": "djStrombo/SMK-dee",
   "by": "djStrombo",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "Melodee ported to the SMK-37 Pro and Elite, with a MIDI controller mode and a web flasher and mapper.",
   "board": "smk37",
   "note": "Its page can also write M-VAVE's own V016 firmware back (Factory Restore).",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Web flasher and studio",
     "url": "https://djstrombo.github.io/SMK-dee/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.6.1",
    "url": "https://github.com/djStrombo/SMK-dee/releases/tag/v1.6.1",
    "assets": [
     {
      "name": "smk-dee-1.6.1-pro.fwsc",
      "url": "https://github.com/djStrombo/SMK-dee/releases/download/v1.6.1/smk-dee-1.6.1-pro.fwsc",
      "size": 668672,
      "sha256": "a489ab7a6f52bfc4aec603375e2d4480c1330922cf1eb22293810856f0333e77",
      "check": {
       "sha256": "a489ab7a6f52bfc4aec603375e2d4480c1330922cf1eb22293810856f0333e77",
       "bytes": 668948,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "smk-dee-1.6.1-elite.fwsc",
      "url": "https://github.com/djStrombo/SMK-dee/releases/download/v1.6.1/smk-dee-1.6.1-elite.fwsc",
      "size": 668672,
      "sha256": "73f56ec89b64505a9f0d5c9f0454f40af2dbd07bdb39fe6bf056e721bc29c764",
      "check": {
       "sha256": "73f56ec89b64505a9f0d5c9f0454f40af2dbd07bdb39fe6bf056e721bc29c764",
       "bytes": 668948,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "smk-dee.bin",
      "url": "https://github.com/djStrombo/SMK-dee/releases/download/v1.6.1/smk-dee.bin",
      "size": 668672,
      "sha256": "a489ab7a6f52bfc4aec603375e2d4480c1330922cf1eb22293810856f0333e77"
     }
    ],
    "date": "2026-11-03",
    "title": "SMK-dee 1.6.1",
    "notes": "## SMK-dee v1.6.1 (Final Release)\n\n## Dual-Core Polyphonic Synthesizer & Dynamic MIDI Controller Port for M-VAVE SMK-37 (Pro & Elite)\n\nBased on the Melodee (FM-1) engine by @keremimo and Leo Kuroshita.\n\n## 🎹 Online Web Flasher & Live Sound Studio\n\nYou can flash your keyboard, manage sound presets, and customize hardware mappings directly from your browser (Chrome/Edge/Brave/Opera) without installing anything:\n\n👉 https://djstrombo.github.io/SMK-dee/\n\n## ✨ Features & Improvements in this Release\n• Melodee 1.6.1 Core Engine: Upgraded base to Melodee 1.6.1 with 22 sound engines (including SID, Drum 909, FM6, CZ-1, Prophet-5, and MIDI Track), 124 parameters, and 45 globals.\n• Dedicated Bluetooth (BT) Button:\n• Short press toggles Bluetooth ON, initiating search or discoverable mode according to Global settings.\n• Long press (>1.2s) turns the Bluetooth radio completely OFF (BT LED shuts off).\n• Tap Tempo removed from BT button for dedicated, reliable radio operation.\n• Pad MIDI Channel Combo:\n• Moved from GLOBAL + BT to GLOBAL + SEQ REC, freeing the BT button completely in MIDI controller mode. (In v1.4.2: GLOBAL + BT).\n• Physical Drum Pad Isolation:\n• Tapping a physical drum pad (e.g. Pad 1 Kick) illuminates only that pad without triggering duplicate mirror lighting on Pad 12.\n• Dynamic Track Color Pad Illumination:\n• Drum and keys pads dynamically light up using the active track color (Track 1 Cyan, Track 2 Yellow, Track 3 Magenta, Track 4 White, Drum Orange/Amber).\n• Brighter Button LEDs:\n• Increased button LED brightness across the control surface for crisp visibility on stage.\n• State & Sequence Persistence:\n• Sequences, sound design modifications, track parameters, and settings are preserved across power off and reboots.\n• Global TRS MIDI Clock Routing:\n• In INT mode: transmits MIDI clock simultaneously over USB, Bluetooth, and TRS.\n• In TRS mode: transmits clock exclusively over TRS.\n• In USB mode: receives clock over USB.\n• In BLE mode: receives clock over Bluetooth.\n• Multi-Version Sound Editor & Auto-Detection:\n• The web flasher automatically identifies whether the connected SMK-37 is running v1.6.1 or v1.4.2 and loads the exact matching Synth Sound Editor and firmware card, with complete 57-object backup archive support.\n\n## 📦 Flashing Files\n• SMK-37 Elite: smk-dee-1.6.1-elite.fwsc\n• SMK-37 Pro: smk-dee-1.6.1-pro.fwsc\n• Raw binary: smk-dee.bin\n• Hardware Guide Diagram: smk37_hardware_guide.png"
   },
   "commit": {
    "date": "2026-11-04",
    "title": "fix(build): guard SMK37 symbols in v1.4.2 seq.c and ui_input.c for fa…",
    "url": "https://github.com/djStrombo/SMK-dee/commit/17fc84e38db60bf09311304d3400cbd5c7eb54ee"
   },
   "stars": 2,
   "created": "2026-10-19",
   "image": "https://raw.githubusercontent.com/djStrombo/SMK-dee/HEAD/docs/assets/smk37_hardware_guide.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "keremimo/melodee",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env-hold",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/djStrombo/SMK-dee/HEAD/docs/assets/smk37_hardware_guide.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/djStrombo~SMK-dee.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ],
    [
     "Simulator",
     "https://genkigenki.github.io/smk37/speak37-sim/"
    ]
   ],
   "name": "Speak37",
   "repo": "genkigenki/Speak37",
   "by": "genkigenki",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A Speak & Spell style talking synth for the SMK-37 and the FM-1: each key speaks the next word at its pitch.",
   "board": "both",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.0",
    "url": "https://github.com/genkigenki/Speak37/releases/tag/v1.0",
    "assets": [
     {
      "name": "speak37-fm1-1.0.fwsc",
      "url": "https://github.com/genkigenki/Speak37/releases/download/v1.0/speak37-fm1-1.0.fwsc",
      "size": 610304,
      "sha256": "3441ba1d65a3be72adcd89e144571eb483beb0a310ea992841100e26c163c476",
      "check": {
       "sha256": "3441ba1d65a3be72adcd89e144571eb483beb0a310ea992841100e26c163c476",
       "bytes": 610087,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/genkigenki/Speak37/releases/download/v1.0/SHA256SUMS",
      "size": 346,
      "sha256": "321393cfc1ef0ff758662d223cf1641453742fdd4f4670110bfc1a83767e92b0"
     },
     {
      "name": "speak37-1.0.fwsc",
      "url": "https://github.com/genkigenki/Speak37/releases/download/v1.0/speak37-1.0.fwsc",
      "size": 651264,
      "sha256": "033f23bf63de35f60ba6e2b98a3fd264b4a34aafb790c178f9ad7c1d5db11cce",
      "check": {
       "sha256": "033f23bf63de35f60ba6e2b98a3fd264b4a34aafb790c178f9ad7c1d5db11cce",
       "bytes": 651060,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "speak37-elite-1.0.fwsc",
      "url": "https://github.com/genkigenki/Speak37/releases/download/v1.0/speak37-elite-1.0.fwsc",
      "size": 651264,
      "sha256": "14065f0571dac4e8c12b05512832fda7676681d085dfebbac869688d9a73e6a0",
      "check": {
       "sha256": "14065f0571dac4e8c12b05512832fda7676681d085dfebbac869688d9a73e6a0",
       "bytes": 651064,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "speak37-mke-1.0.fwsc",
      "url": "https://github.com/genkigenki/Speak37/releases/download/v1.0/speak37-mke-1.0.fwsc",
      "size": 651264,
      "sha256": "3580a0e2c7d07f9e1b0c453c2b313ee9c27e895b5d8215e9ddbd31b0bf641a57",
      "check": {
       "sha256": "3580a0e2c7d07f9e1b0c453c2b313ee9c27e895b5d8215e9ddbd31b0bf641a57",
       "bytes": 651056,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-17",
    "title": "Speak37 1.0",
    "notes": "Speak37 1.0: a talking synth for the M-Vave SMK-37 (Pro, Elite, MKE-P37) and the FM-1.\n• Every key speaks the next word of a sentence at its pitch; chords speak in harmony.\n• Nine voices, sentences, songs sung word by word, robot mantras, a beatbox kit, your own sentences.\n• PLAY speaks the sentence on the beat while the keys pick the notes; RHYTHM adds a fixed-point 808 with 16 grooves.\n• MOPE (PATCH): a gloomy robot who listens to what you play and comments on it, reacts to every knob, fader, wheel and button, has a light game on the pads and sulks with a new sad tune every time.\n• All in fixed point on the keyboard's own chip.\n\nInstall: https://genkigenki.github.io/smk37/ (Chrome or Edge), or python3 tools/fm1_install.py <package>.\n\nPackage\nKeyboard\n\nspeak37-1.0.fwsc\nSMK-37 Pro, Starrykey 37 Play\n\nspeak37-elite-1.0.fwsc\nSMK-37 Elite\n\nspeak37-mke-1.0.fwsc\nMKE-P37\n\nspeak37-fm1-1.0.fwsc\nFM-1\n\nFM-1: Need feedback how to improve the usage on the FM-1. Ideas and reports are welcome in Discussions.\n\nThe way back: M-Vave's own updater with your model's factory package. Unofficial community firmware, not made or endorsed by M-Vave; installing it is at your own risk. GPL-3.0; see LICENSING.md for every part."
   },
   "commit": {
    "date": "2026-10-17",
    "title": "The simulator: Speak37 in the browser (web/sim): the firmware's sourc…",
    "url": "https://github.com/genkigenki/Speak37/commit/81fa061b40e6b6305e3672c671ead2552c9b8569"
   },
   "stars": 5,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/genkigenki/Speak37/HEAD/docs/banner.png",
   "images": [
    "https://raw.githubusercontent.com/genkigenki/Speak37/HEAD/docs/banner.png",
    "https://raw.githubusercontent.com/genkigenki/Speak37/HEAD/docs/speak37-mope.png",
    "https://raw.githubusercontent.com/genkigenki/Speak37/HEAD/docs/speak37-editor.png",
    "https://raw.githubusercontent.com/genkigenki/Speak37/HEAD/docs/speak37-main.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~Speak37.jpg"
   ],
   "pageFiles": [
    {
     "name": "speak37-1.0-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/speak37-1.0-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ef38\"",
     "size": 633054,
     "check": {
      "sha256": "14065f0571dac4e8c12b05512832fda7676681d085dfebbac869688d9a73e6a0",
      "bytes": 651064,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "14065f0571dac4e8c12b05512832fda7676681d085dfebbac869688d9a73e6a0"
    },
    {
     "name": "speak37-1.0-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/speak37-1.0-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ef30\"",
     "size": 633028,
     "check": {
      "sha256": "3580a0e2c7d07f9e1b0c453c2b313ee9c27e895b5d8215e9ddbd31b0bf641a57",
      "bytes": 651056,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "3580a0e2c7d07f9e1b0c453c2b313ee9c27e895b5d8215e9ddbd31b0bf641a57"
    },
    {
     "name": "speak37-1.0-fm1.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/speak37-1.0-fm1.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-94f27\"",
     "size": 595645,
     "check": {
      "sha256": "3441ba1d65a3be72adcd89e144571eb483beb0a310ea992841100e26c163c476",
      "bytes": 610087,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "3441ba1d65a3be72adcd89e144571eb483beb0a310ea992841100e26c163c476"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [],
   "name": "TamaMPE",
   "repo": "tamabotmusic/TamaMPE",
   "by": "tamabotmusic",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "stage": "development",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-11",
    "title": "Merge release/1.2.1 into next",
    "url": "https://github.com/tamabotmusic/TamaMPE/commit/16daf99ea797f2e4f6b5e40065942df3648d08b9"
   },
   "stars": 2,
   "created": "2026-10-13",
   "about": "Expressive MPE synthesizer firmware for M-VAVE FM-1. FM6 and Prophet synthesis, stereo spatial effects and layered sounds. Based on Melodee.",
   "image": "https://raw.githubusercontent.com/tamabotmusic/TamaMPE/HEAD/docs/media/melodee-1.0.0.png",
   "images": [
    "https://raw.githubusercontent.com/tamabotmusic/TamaMPE/HEAD/docs/media/melodee-1.0.0.png",
    "https://raw.githubusercontent.com/tamabotmusic/TamaMPE/HEAD/docs/panel.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/tamabotmusic~TamaMPE.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "keremimo/melodee",
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Felucca MPE",
   "repo": "stanleygurvich/FeluccaMPE",
   "by": "Stanley Gurvich",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "MPE (MIDI Polyphonic Expression) for the M-Vave FM-1, plus Voice LFO (VLFO) and DRIFT: chords that move and breathe, on any keyboard. Built on Felucca 1.6.1.",
   "experimental": true,
   "note": "Its firmware file (prebuilt/ in the repository) has not been tested on a real FM-1.",
   "seen": "2026-10-18",
   "tools": [],
   "commit": {
    "date": "2026-10-18",
    "title": "README: started on 13 October 2026",
    "url": "https://github.com/stanleygurvich/FeluccaMPE/commit/817f5b8f3fd91f127ff345ae857b9845bd9186e6"
   },
   "stars": 4,
   "created": "2026-10-18",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "parent": "hugelton/Felucca"
  },
  {
   "links": [
    [
     "Website and installer",
     "https://apiel.github.io/fm1-tribe/"
    ],
    [
     "Emulator",
     "https://apiel.github.io/fm1-tribe/#emulator"
    ],
    [
     "Manual",
     "https://apiel.github.io/fm1-tribe/#manual"
    ]
   ],
   "name": "TRIBE",
   "repo": "apiel/fm1-tribe",
   "by": "apiel",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Website and installer",
     "url": "https://apiel.github.io/fm1-tribe/install/",
     "from": "list",
     "front": "https://apiel.github.io/fm1-tribe/"
    }
   ],
   "release": {
    "tag": "v0.3-beta",
    "url": "https://github.com/apiel/fm1-tribe/releases/tag/v0.3-beta",
    "assets": [
     {
      "name": "tribe-0.3-beta.fwsc",
      "url": "https://github.com/apiel/fm1-tribe/releases/download/v0.3-beta/tribe-0.3-beta.fwsc",
      "size": 609280,
      "sha256": "daa953ea5c37a5612d6db6f508a86879a79214768acc79d6ae04f2e0b93b6f6b",
      "check": {
       "sha256": "daa953ea5c37a5612d6db6f508a86879a79214768acc79d6ae04f2e0b93b6f6b",
       "bytes": 609680,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-10-22",
    "title": "TRIBE 0.3-beta",
    "notes": "## 0.3 beta\n\n## Highlights\n• Sixty-four clips per track, in four banks of sixteen: OCT- and OCT+ on HOME move between the banks.\n• Clip menu: hold a clip key for about half a second to copy the track's clip into it, or to empty it.\n• Song mode (CLIPS, KNOB 4): a track plays its clips one after another, from the clip it is on. LOOP starts again; ONE SHOT stops at the first empty clip.\n• Capture: while a track plays, the notes you play on ARP or REC are kept. SAVE, then REC, writes them into the clip on screen and saves it.\n\n🤖 Generated with Claude Code"
   },
   "commit": {
    "date": "2026-10-23",
    "title": "make",
    "url": "https://github.com/apiel/fm1-tribe/commit/29664b28c9d8b8eb043de0739bf9dd64869958c4"
   },
   "stars": 12,
   "created": "2026-10-10",
   "about": "Custom firmware for the M-VAVE FM-1: a ten-track groovebox where any engine plays on any track. Kicks, the 909 and 808 voices and ACID, sixty-four clips per track, scatter effects, two master effects every track sends to, and four master…",
   "image": "https://raw.githubusercontent.com/apiel/fm1-tribe/HEAD/docs/img/screen-splash.png",
   "images": [
    "https://raw.githubusercontent.com/apiel/fm1-tribe/HEAD/docs/img/screen-splash.png",
    "https://raw.githubusercontent.com/apiel/fm1-tribe/HEAD/docs/img/screen-seq.png",
    "https://raw.githubusercontent.com/apiel/fm1-tribe/HEAD/docs/img/screen-clips.png",
    "https://raw.githubusercontent.com/apiel/fm1-tribe/HEAD/docs/img/screen-sel.png",
    "https://raw.githubusercontent.com/apiel/fm1-tribe/HEAD/docs/img/screen-edit.png",
    "https://raw.githubusercontent.com/apiel/fm1-tribe/HEAD/docs/img/screen-scatter.png",
    "https://raw.githubusercontent.com/apiel/fm1-tribe/HEAD/docs/img/screen-glo-fx.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/apiel~fm1-tribe.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://apiel.github.io/fm1-tribe/",
     "names": [
      "tribe-0.1-beta.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website and emulator",
     "https://delirioux.github.io/tuna/"
    ]
   ],
   "name": "Tuna",
   "repo": "delirioux/tuna",
   "by": "delirioux",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "about": "A generative-music firmware on Felucca 1.6.1's engines and hardware layer: it replaces Felucca's UI and sequencer with an endless composer that plays in the manner of 89 composers and 86 genres, using a Marbles-style random core shaped by music theory.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://delirioux.github.io/tuna/install/",
     "from": "site"
    }
   ],
   "release": {
    "tag": "v1.2",
    "url": "https://github.com/delirioux/tuna/releases/tag/v1.2",
    "assets": [
     {
      "name": "tuna-1.2-3f1567b.fwsc",
      "url": "https://github.com/delirioux/tuna/releases/download/v1.2/tuna-1.2-3f1567b.fwsc",
      "size": 610304,
      "sha256": "b1c330ce0d11971069f87d6dde952c1447afba65acbe03ce77f2228def9e0182",
      "check": {
       "sha256": "b1c330ce0d11971069f87d6dde952c1447afba65acbe03ce77f2228def9e0182",
       "bytes": 610090,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-11-04",
    "title": "Tuna 1.2",
    "notes": "## Tuna 1.2\n\nGenerative music on the FM-1, composed as it plays.\n\nNew in 1.2, the player:\n• Seeds sorted by the type of work: OCT+ walks through a composer's fugues, then chorales, then gigues, the screen\n\nsaying where you are (\"FUGUE 17/86\").\n• Favourites: hold REC on a piece you like; up to 32, kept across power-offs, below TUNA in the library.\n• Share codes: every piece has one (BACH-FUGUE-17), the same piece on any FM-1 and in the browser.\n• Radio: another piece after 1 to 30 minutes, from the same era or the whole library, coming in at a cadence.\n• MOOD in place of MACRO: one knob from calm to busy, every part at once.\n• MIDI clock in: Tuna follows another device's tempo, start and stop.\n• Flute and sax as FM patches of Tuna's own, freeing the flash their samples took; WIND and RAIN on Felucca's\n\nNOISE engine.\n• An instrument tester in the browser.\n\nFrom 1.1: newer FM-1 units, with a UC25HQ80 flash, save (Felucca's fix for #320), and the sample clock plays for\n\ndays without a hiccup.\n\nWhat Tuna holds:\n• 89 composers and styles in 10 eras, from Hildegard von Bingen to today, in 285 manners; 86 popular genres in\n\n8 decades, the 1950s to now; 8 character presets, from STILL to DRIVE.\n• The melodies of 45 composers tuned toward what 3,486 public-domain scores of theirs measure.\n• 95 instruments on Felucca's engines, levels evened out; odd meters and grouped beats; equal, meantone,\n\nWerckmeister, Pythagorean, just and user-defined tunings.\n• The chaos knobs RHYTHM, PITCH and DENSITY, and MOOD; a tapped key sets the root, held keys the chord; the seed on\n\nOCT− / OCT+; REC locks the phrase.\n• A sequencer: freeze what you hear into an editable pattern of up to 384 notes, with trig conditions, parameter\n\nlocks and an evolution timer.\n• 16 slots that save the whole state and play back exactly the music that was saved.\n• MIDI out with every part on its own channel, and clock; a resonator of sympathetic strings tuned to the harmony.\n• In the browser: the same firmware on a simulated FM-1.\n\nRuns on the FM-1. To go back: Felucca's installer, or the official V15."
   },
   "commit": {
    "date": "2026-11-04",
    "title": "Tuna 1.2: the player",
    "url": "https://github.com/delirioux/tuna/commit/3f1567b9f33cd7896cdb22e23bc288c4ada447cf"
   },
   "stars": 4,
   "created": "2026-10-11",
   "image": "https://raw.githubusercontent.com/delirioux/tuna/HEAD/docs/tuna-logo.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/delirioux/tuna/HEAD/docs/tuna-logo.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/delirioux~tuna.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://actuallysparky.github.io/FM-1-Unholy-Union-generative-drone-firmware/"
    ]
   ],
   "name": "Unholy Union",
   "repo": "actuallysparky/FM-1-Unholy-Union-generative-drone-firmware",
   "by": "actuallysparky",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "about": "Generative drone firmware for the M-VAVE FM-1: Immaculate Permutation rolls an ambient arrangement in a shared key, with a pad, sequence and chord arpeggio beneath a fourth voice for your hands. Felucca underneath, Jangada's drone algorithm on top.",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://actuallysparky.github.io/FM-1-Unholy-Union-generative-drone-firmware/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.2.3",
    "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/tag/v0.2.3",
    "assets": [
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/download/v0.2.3/SHA256SUMS",
      "size": 714,
      "sha256": "16e2663136b6449fb48520e2466087995817c4070bf81e1448efea048d8bd79e"
     },
     {
      "name": "UnholyUnion-Manual-0.2.3-source.zip",
      "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/download/v0.2.3/UnholyUnion-Manual-0.2.3-source.zip",
      "size": 59085,
      "sha256": "6117f4870eef0554dfb9a59bdae1424f77177ee6e14d6f174485501e8b535f5d"
     },
     {
      "name": "unholyunion-permutation-0.2.3.fwsc",
      "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/download/v0.2.3/unholyunion-permutation-0.2.3.fwsc",
      "size": 610304,
      "sha256": "025bec05d71da1b106ecb05d52e165ea6592812e92209cfe2626278047f7abba",
      "check": {
       "sha256": "025bec05d71da1b106ecb05d52e165ea6592812e92209cfe2626278047f7abba",
       "bytes": 610567,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_901",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_901"
      }
     },
     {
      "name": "UnholyUnion-Quick-Start-0.2.3-source.zip",
      "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/download/v0.2.3/UnholyUnion-Quick-Start-0.2.3-source.zip",
      "size": 18739,
      "sha256": "791c8bce6fb658e9adb053d9273eb9724c819ac7a5a26e39349bc0ceb33108cd"
     },
     {
      "name": "UnholyUnion-Quick-Start-0.2.3.pdf",
      "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/download/v0.2.3/UnholyUnion-Quick-Start-0.2.3.pdf",
      "size": 16077,
      "sha256": "e92785a3f4c99164171d82aa39f9c6256b6b9605e8cceef8bbe880d3c8978217"
     },
     {
      "name": "UnholyUnion-Quick-Start-a3e780b.pdf",
      "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/download/v0.2.3/UnholyUnion-Quick-Start-a3e780b.pdf",
      "size": 13107,
      "sha256": "f7efc6b4a7dcbede0fa1fe86b1d24478be412fb3ffcf4936ba57ca72c78e6a46"
     },
     {
      "name": "UnholyUnion-source-sdk-0.2.3.tar.gz",
      "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/download/v0.2.3/UnholyUnion-source-sdk-0.2.3.tar.gz",
      "size": 5798625,
      "sha256": "5ef36dc6ca00cd70816f14812dc8ad4ce6d4dd9e06a79eafc83ba33efb33caa8"
     },
     {
      "name": "UnholyUnion-User-Manual-0.2.3.pdf",
      "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/releases/download/v0.2.3/UnholyUnion-User-Manual-0.2.3.pdf",
      "size": 164864,
      "sha256": "1f5830b9396f235cf38103d3b82d68000d5bb55c2c163770545e0835bd15ca71"
     }
    ],
    "prerelease": true,
    "date": "2026-10-13",
    "title": "Apocrypha 0.2.3 — Immaculate Permutation",
    "notes": "Press PLAY to pray. Immaculate Permutation conjures a pad/drone, a sequence, a chord arpeggio and a fourth voice for live playing, all gathered around one key.\n• Reveal a new sermon with OCT+; evolve its notes with ENV + OCT+; add gentle modulation with LFO + OCT+.\n• Auto-evolve every 2, 4, 8, 12, 16, 24 or 32 bars; new sessions start at 16 bars.\n• Evening Vow, GILT SIN and the Choir Loft put the sacred sounds within reach.\n• Hold SAVE to checkpoint your sermon during playback. This release corrects the save timeout; Sparky reports successful saves with no audible glitches on one FM-1.\n\nThe Ritual Room offers one Apocryphal installation. Connect your FM-1, optionally Gather the scriptures, then choose Install Apocryphal. Installation preserves saved music; keep USB and power connected until it finishes.\n\n## Receive the offering\n\nDownload the compiled firmware (.fwsc) — no compiler or development environment needed.\n\nUse the Ritual Room installer. The .fwsc asset is the pinned 0.2.3 firmware; the source/SDK archive includes corresponding source, licensed SDK package data and building instructions. The compiler is obtained separately. SHA256SUMS covers every attached offering.\n\nBegin with The Pocket Hymnbook, the illustrated four-page 0.2.3 quick start: Press PLAY to pray, reveal a sermon, evolve it, bless it and keep it. Read the Book of Sacred Sounds for the full liturgy. Both guides have editable source ZIPs. The older a3e780b quick start remains an archive of the original controls.\n\nPraise the saints: Felucca by Leo Kuroshita and Hügelton Instruments, Jangada for the drone lineage, and Cyma Forma RND for inspiration. Licenses and upstream notices are retained in the source."
   },
   "commit": {
    "date": "2026-10-28",
    "title": "Make full-editor navigation explicit in firmware 0.2.4",
    "url": "https://github.com/actuallysparky/FM-1-Unholy-Union-generative-drone-firmware/commit/b9c66f374521a910486ebd0f3f46f99fd3ac57b2"
   },
   "stars": 6,
   "created": "2026-10-13",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/actuallysparky~FM-1-Unholy-Union-generative-drone-firmware.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Emulator and installer",
     "https://i-am-maxpower.github.io/drift-fm1/"
    ]
   ],
   "name": "DRIFT",
   "repo": "I-am-MaxPower/drift-fm1",
   "by": "I-am-MaxPower",
   "fam": "fomni",
   "lic": "GPL-3.0",
   "types": [
    "generative",
    "theory"
   ],
   "about": "FoMni-1 with a drone that follows the chords, four Euclidean percussion lanes and an Omnichord-style strum plate.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Emulator and installer",
     "url": "https://i-am-maxpower.github.io/drift-fm1/install/",
     "from": "list",
     "front": "https://i-am-maxpower.github.io/drift-fm1/"
    }
   ],
   "commit": {
    "date": "2026-10-21",
    "title": "DRIFT: its own package identity, FM-1_5 (AMB-1 uses FM-1_7)",
    "url": "https://github.com/I-am-MaxPower/drift-fm1/commit/6cfac70ac312811fd6418380a366cf4310ffb0cd"
   },
   "stars": 1,
   "created": "2026-10-21",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/I-am-MaxPower~drift-fm1.jpg",
   "pageFiles": [
    {
     "name": "drift-0.1.1.fwsc",
     "url": "https://i-am-maxpower.github.io/drift-fm1/firmware/drift-0.1.1.fwsc",
     "page": "https://i-am-maxpower.github.io/drift-fm1/",
     "etag": "W/\"6ad8ee06-94d7d\"",
     "size": 302465,
     "check": {
      "sha256": "964970d49f4e85ebdaddc6f21054870b47491c9252d9dafe617b8b50db23b146",
      "bytes": 609661,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "964970d49f4e85ebdaddc6f21054870b47491c9252d9dafe617b8b50db23b146"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "screens": [
    "home",
    "seq",
    "fx",
    "arp",
    "arp-hold",
    "scl",
    "edit"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "FoMni SMK-37",
   "repo": "genkigenki/fm1-fomni",
   "by": "genkigenki",
   "fam": "fomni",
   "lic": "GPL-3.0",
   "types": [
    "theory"
   ],
   "board": "smk37",
   "about": "FoMni, Charles Vestal's Omnichord-style chord harp, on the M-Vave SMK-37: the pads as a strum plate.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "smk37-v0.2",
    "url": "https://github.com/genkigenki/fm1-fomni/releases/tag/smk37-v0.2",
    "assets": [
     {
      "name": "fomni-smk37-0.2.fwsc",
      "url": "https://github.com/genkigenki/fm1-fomni/releases/download/smk37-v0.2/fomni-smk37-0.2.fwsc",
      "size": 651264,
      "sha256": "d7dfe5583b4314eb8aa1b6158553dc6234d8aaf6aaeac4087820086303c0cd76",
      "check": {
       "sha256": "d7dfe5583b4314eb8aa1b6158553dc6234d8aaf6aaeac4087820086303c0cd76",
       "bytes": 650795,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "fomni-smk37-0.2-elite.fwsc",
      "url": "https://github.com/genkigenki/fm1-fomni/releases/download/smk37-v0.2/fomni-smk37-0.2-elite.fwsc",
      "size": 651264,
      "sha256": "8e7f68295dc99c34307ab523436f85f49f5f074b9f92738a72e7c2a631734cfa",
      "check": {
       "sha256": "8e7f68295dc99c34307ab523436f85f49f5f074b9f92738a72e7c2a631734cfa",
       "bytes": 650799,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "fomni-smk37-0.2-mke.fwsc",
      "url": "https://github.com/genkigenki/fm1-fomni/releases/download/smk37-v0.2/fomni-smk37-0.2-mke.fwsc",
      "size": 651264,
      "sha256": "d99cabd903362d6c5bd05065a63f1cd052eac68f59503d8c7505d630e5ddf7eb",
      "check": {
       "sha256": "d99cabd903362d6c5bd05065a63f1cd052eac68f59503d8c7505d630e5ddf7eb",
       "bytes": 650791,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-13",
    "title": "FoMni SMK-37 build 0.2",
    "notes": "Unofficial SMK-37 build of FoMni by Charles Vestal, offered upstream as charlesvestal#2. Install in Chrome or Edge: https://genkigenki.github.io/smk37/ . Packages for SMK-37 Pro (also Starrykey 37 Play), SMK-37 Elite, MKE-P37. At your own risk."
   },
   "commit": {
    "date": "2026-10-13",
    "title": "Headers: keep the files' line endings",
    "url": "https://github.com/genkigenki/fm1-fomni/commit/d05ba744279c05c93fcdbec2938b9e46345a0d5b"
   },
   "stars": 0,
   "created": "2026-10-11",
   "image": "https://img.youtube.com/vi/pahaM6nzucE/maxresdefault.jpg",
   "images": [
    "https://img.youtube.com/vi/pahaM6nzucE/maxresdefault.jpg",
    "https://raw.githubusercontent.com/genkigenki/fm1-fomni/HEAD/docs/img/screen-strum.png",
    "https://raw.githubusercontent.com/genkigenki/fm1-fomni/HEAD/docs/img/screen-chord.png",
    "https://raw.githubusercontent.com/genkigenki/fm1-fomni/HEAD/docs/img/screen-rhythm.png"
   ],
   "pageFiles": [
    {
     "name": "fomni37-0.2.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/fomni37-0.2.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee2b\"",
     "size": 309179,
     "check": {
      "sha256": "d7dfe5583b4314eb8aa1b6158553dc6234d8aaf6aaeac4087820086303c0cd76",
      "bytes": 650795,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "d7dfe5583b4314eb8aa1b6158553dc6234d8aaf6aaeac4087820086303c0cd76"
    },
    {
     "name": "fomni37-0.2-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/fomni37-0.2-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee2f\"",
     "size": 309198,
     "check": {
      "sha256": "8e7f68295dc99c34307ab523436f85f49f5f074b9f92738a72e7c2a631734cfa",
      "bytes": 650799,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "8e7f68295dc99c34307ab523436f85f49f5f074b9f92738a72e7c2a631734cfa"
    },
    {
     "name": "fomni37-0.2-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/fomni37-0.2-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee27\"",
     "size": 309113,
     "check": {
      "sha256": "d99cabd903362d6c5bd05065a63f1cd052eac68f59503d8c7505d630e5ddf7eb",
      "bytes": 650791,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "d99cabd903362d6c5bd05065a63f1cd052eac68f59503d8c7505d630e5ddf7eb"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "charlesvestal/fm1-fomni",
   "screens": [
    "home",
    "seq",
    "fx",
    "arp",
    "arp-hold",
    "scl",
    "edit"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://raydnoper.github.io/fm1-fomnium/install/"
    ],
    [
     "Emulator",
     "https://raydnoper.github.io/fm1-fomnium/emu/"
    ]
   ],
   "name": "Jambox FM-1",
   "repo": "RayDNoper/fm1-fomnium",
   "by": "RayDNoper",
   "fam": "fomni",
   "lic": "GPL-3.0",
   "types": [
    "theory"
   ],
   "about": "A FoMni-1 fork: Omnichord-style strumming with DX7 voices, chord sequences, a reggae rhythm and a melody maker.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://raydnoper.github.io/fm1-fomnium/install/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-23",
    "title": "Links: the repository is fm1-jambox (the site at raydnoper.github.io/…",
    "url": "https://github.com/RayDNoper/fm1-jambox/commit/44d6a1296a05c241ce50b4d7c81b58a34429ea13"
   },
   "stars": 0,
   "created": "2026-10-09",
   "image": "https://raw.githubusercontent.com/RayDNoper/fm1-fomnium/HEAD/docs/img/screen-strum.png",
   "images": [
    "https://img.youtube.com/vi/pahaM6nzucE/maxresdefault.jpg",
    "https://raw.githubusercontent.com/RayDNoper/fm1-fomnium/HEAD/docs/img/screen-strum.png",
    "https://raw.githubusercontent.com/RayDNoper/fm1-fomnium/HEAD/docs/img/screen-chord.png",
    "https://raw.githubusercontent.com/RayDNoper/fm1-fomnium/HEAD/docs/img/screen-rhythm.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/RayDNoper~fm1-fomnium.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false,
   "parent": "charlesvestal/fm1-fomni",
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [],
   "name": "Velo",
   "repo": "charlesvestal/fm1-velocity",
   "by": "charlesvestal",
   "fam": "fomni",
   "lic": "GPL-3.0",
   "types": [
    "experimental"
   ],
   "status": "An experiment, parked on 2026-10-14: velocity read from the stock keys works on the device, with no hardware change; per-key calibration is not right yet and aftertouch is untried by feel. No package released.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-14",
    "title": "BUILDING.md for Velo (was FoMni's); the notes name JieLi's Bluetooth …",
    "url": "https://github.com/charlesvestal/fm1-velocity/commit/8f62ce0d968c91ce8bfdafbb908f81d15351650a"
   },
   "stars": 5,
   "created": "2026-10-14",
   "about": "Velo: velocity and aftertouch from the M-VAVE FM-1's keys, no hardware mods (custom firmware on Felucca's platform)",
   "image": null,
   "readmeNotes": {
    "version": "",
    "text": "Status: working; parked 2026-10-14 with per-key calibration built but not yet right (the first session with it played more extremes, not fewer: notes/01-lab.md, \"Calibration\"). Untested so far: CHORD, aftertouch in drive mode by feel, release velocity (not sent). Parked on 2026-10-08 after the first session: read through the row's 10k pull-up, every played key seats at the same reading (the matrix diode's drop) and only slow presses read soft. Revived by DRIVE: a held key's every other sample is taken with its row driven high by one of the pin's weaker drivers (DRIVE 1 is the datasheet's 2.4 mA level; DRIVE 2, the default, repeats firm presses within +-5 counts), which then reads the carbon pill's resistance above the diode's drop. Soft and firm presses separate by 100..150 counts where the pull-up gave 5; on a log scale of that resistance, free playing gives velocities with quartiles 40 / 59 / 74, and the held force is polyphonic aftertouch. The top seven keys (no converter) are read through the LED line PA10. notes/01-lab.md has the measurements (section 02), the converter settings, and the traps.",
    "date": "2026-10-14",
    "url": "https://github.com/charlesvestal/fm1-velocity#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false
  },
  {
   "links": [],
   "name": "VintageS",
   "repo": "jazzfolderPARLA/VintageS",
   "by": "jazzfolderPARLA",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "Melodee 1.3.6 with a 70s-striped FM MODULE splash and incoming MIDI clock ignored, so it no longer follows an external tempo; on main nothing is added.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-25",
    "title": "Add files via upload",
    "url": "https://github.com/jazzfolderPARLA/VintageS/commit/5ff4a226ae6dd3f2e2d0662dc30b16d6af483fe2"
   },
   "stars": 0,
   "created": "2026-10-15",
   "image": "https://raw.githubusercontent.com/jazzfolderPARLA/VintageS/HEAD/docs/media/VintageModule.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "keremimo/melodee",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://eli7vh.github.io/Felucca/"
    ],
    [
     "Editor",
     "https://eli7vh.github.io/Felucca/webapp/editor/"
    ],
    [
     "Features and controls",
     "https://eli7vh.github.io/Felucca/mod/"
    ]
   ],
   "name": "WaveLoop FM-1",
   "repo": "ELI7VH/Felucca",
   "by": "ELI7VH",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://eli7vh.github.io/Felucca/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://eli7vh.github.io/Felucca/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "1.0.5.2-midi23",
    "url": "https://github.com/ELI7VH/Felucca/releases/tag/1.0.5.2-midi23",
    "assets": [
     {
      "name": "felucca-1.0.5.2-midi23.fwsc",
      "url": "https://github.com/ELI7VH/Felucca/releases/download/1.0.5.2-midi23/felucca-1.0.5.2-midi23.fwsc",
      "size": 610304,
      "sha256": "e9529deb7ff626ee64b08fe06a550e39cd2a99c3cc1697bfcb65828f030cf22d",
      "check": {
       "sha256": "e9529deb7ff626ee64b08fe06a550e39cd2a99c3cc1697bfcb65828f030cf22d",
       "bytes": 609849,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "WaveLoop-Kit-1.0.5.2-midi23.zip",
      "url": "https://github.com/ELI7VH/Felucca/releases/download/1.0.5.2-midi23/WaveLoop-Kit-1.0.5.2-midi23.zip",
      "size": 563200,
      "sha256": "2451c62ad648c8c81f7b2d8f582af551252a82abafa73314b10221bb7440bebe"
     },
     {
      "name": "WaveLoop-Kit-midi23-SHA256SUMS",
      "url": "https://github.com/ELI7VH/Felucca/releases/download/1.0.5.2-midi23/WaveLoop-Kit-midi23-SHA256SUMS",
      "size": 192,
      "sha256": "cb935fe5b50aba2c2e8fec26162a45948eae2a5a224a7a4c322ee2fb651c9194"
     }
    ],
    "date": "2026-10-09",
    "title": "WaveLoop Kit midi23 · Alt LFO shape",
    "notes": "Alt + top knob 3 now selects LFO shape: sine, triangle, saw, square or sample-and-hold.\n\nHold the Alt button (cyan A-bank pad 1) for:\n• Top 1: filter LFO rate.\n• Top 2: filter LFO amount; centre is off.\n• Top 3: LFO shape.\n\nThese follow the keyboard MIDI channel. Rate and shape are shared with vibrato and other track LFO destinations. FM6 modulates brightness; other destinations vary by engine. DRUM Alt knobs remain unassigned, and WHEEL ignores filter depth.\n\nRelease Alt for the usual master DJ filter and sound controls. The existing MiniLab preset works unchanged. This update includes midi22's rate and amount controls.\n\nInstall felucca-1.0.5.2-midi23.fwsc, or use the WaveLoop Kit installer. The ZIP includes the controller preset, updated guides and licenses.\n\nValidation: firmware build, MIDI integration, editor web checks, 369 unchanged sound regression renders and target instruction budgets pass. Shape tests cover all five waveforms, routing, popup labels, normal-layer restoration, saved state and motion recording. Physical-device installation is pending."
   },
   "commit": {
    "date": "2026-10-25",
    "title": "WaveLoop Kit: SHAYPE KEY ATTACH (NOW / NOTE / CYCLE, NOTE the default…",
    "url": "https://github.com/ELI7VH/Felucca/commit/8e5c90b3a192712efc699559334c896a892442c2"
   },
   "stars": 9,
   "created": "2026-10-08",
   "about": "Felucca Mod: standalone MiniLab 3 control for FM-1, fine track mixing, DJ filter, momentary effects and MIDI feedback.",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ELI7VH~Felucca.jpg",
   "images": [
    "https://raw.githubusercontent.com/ELI7VH/Felucca/HEAD/docs/felucca-1.0.png",
    "https://raw.githubusercontent.com/ELI7VH/Felucca/HEAD/docs/controls.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ELI7VH~Felucca.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "hugelton/Felucca",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://charlesvestal.github.io/fm1-x0x/install/"
    ],
    [
     "Emulator",
     "https://charlesvestal.github.io/fm1-x0x/emu/"
    ],
    [
     "Manual",
     "https://charlesvestal.github.io/fm1-x0x/manual/"
    ]
   ],
   "name": "X0X",
   "repo": "charlesvestal/fm1-x0x",
   "by": "charlesvestal",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "note": "Felucca 0.9's loader (sector writes with verify); SAFE MODE with USB after two failed boots.",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://charlesvestal.github.io/fm1-x0x/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.2.1",
    "url": "https://github.com/charlesvestal/fm1-x0x/releases/tag/v1.2.1",
    "assets": [
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/charlesvestal/fm1-x0x/releases/download/v1.2.1/SHA256SUMS",
      "size": 207,
      "sha256": "87e7e1cc112a156d00d77fdaee56c45635be6f1d9264e3574b059b56f2e3612c"
     },
     {
      "name": "x0x-1.2.1-app.bin",
      "url": "https://github.com/charlesvestal/fm1-x0x/releases/download/v1.2.1/x0x-1.2.1-app.bin",
      "size": 491520,
      "sha256": "ce464580192dd47c9c0edaec809f3114d7bca557442841f3eb284d35e48d1142"
     },
     {
      "name": "x0x-1.2.1.fwsc",
      "url": "https://github.com/charlesvestal/fm1-x0x/releases/download/v1.2.1/x0x-1.2.1.fwsc",
      "size": 609280,
      "sha256": "b0039140d54459d678e27b4101895018d3e127f16ee9e1f1e432459d772b3827",
      "check": {
       "sha256": "b0039140d54459d678e27b4101895018d3e127f16ee9e1f1e432459d772b3827",
       "bytes": 609682,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-05",
    "title": "X0X 1.2.1",
    "notes": "Install it with the web installer. For details, see the manual.\n• X0X now works on the newer FM-1s. Units sold since autumn 2026, mostly on AliExpress, have a different flash chip (UC25HQ80). Until this release, X0X couldn't save projects on them, back them up or install another firmware. Now it can, and the rescue script takes them too. Thanks to Laurens (@profikid) for the fix (fm1-base#35).\n• M-VAVE's updater, M-UPGRADE 3.11 (2026-11-03), didn't find an FM-1 running X0X. It said \"A USB MIDI device is present but did not answer\". This version answers it, so M-UPGRADE can put M-VAVE's firmware back. Older versions of X0X still aren't found: for those, use \"Back to the stock firmware\" on the install page.\n\nx0x-1.2.1.fwsc is the firmware to install; x0x-1.2.1-app.bin is the bare app image."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "M-UPGRADE 3.11 finds X0X again: ota.c answers its handshake with the …",
    "url": "https://github.com/charlesvestal/fm1-x0x/commit/502b2c28c14ab2bff31eb4f0777fdfd0efcf8bea"
   },
   "stars": 221,
   "created": "2026-10-04",
   "about": "X0X: groovebox firmware for the M-VAVE FM-1 (909, 808, two 303s with TB-3PO, breakbeat generator, song mode). A fork of Felucca.",
   "image": "https://img.youtube.com/vi/cZLYrZaLDUk/maxresdefault.jpg",
   "pageMentions": [
    {
     "page": "https://charlesvestal.github.io/fm1-x0x/manual/",
     "names": [
      "x0x-1.0.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://img.youtube.com/vi/cZLYrZaLDUk/maxresdefault.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-x0x.jpg"
   ]
  },
  {
   "links": [],
   "name": "X0X AMY",
   "repo": "dpwe/fm1-x0x",
   "branch": "amy-juno",
   "by": "dpwe",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "An X0X build with the AMY synthesizer's Juno-60 in place of its drum and bass engines: 128 Juno-60 patches.",
   "note": "Source only: built with X0X_AMY=1 and AMY's sources (tools/prep_amy_src.py).",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-22",
    "title": "X0X_AMY: AMY's Juno-60 in place of X0X's engines",
    "url": "https://github.com/dpwe/fm1-x0x/commit/7b86b8b4b24759b6c1c0b9c455b43bb4a0b14db6"
   },
   "stars": 0,
   "created": "2026-10-22",
   "image": "https://img.youtube.com/vi/cZLYrZaLDUk/maxresdefault.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "charlesvestal/fm1-x0x",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "X0X SMK-37",
   "repo": "genkigenki/fm1-x0x",
   "by": "genkigenki",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "board": "smk37",
   "about": "X0X, Charles Vestal's 909 / 808 / 303 groovebox, on the M-Vave SMK-37 with the pads as a step grid.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "smk37-v0.2",
    "url": "https://github.com/genkigenki/fm1-x0x/releases/tag/smk37-v0.2",
    "assets": [
     {
      "name": "x0x-smk37-0.2.fwsc",
      "url": "https://github.com/genkigenki/fm1-x0x/releases/download/smk37-v0.2/x0x-smk37-0.2.fwsc",
      "size": 651264,
      "sha256": "983402ce49bac7dab2b36b30eddf9e5a1ae7a36e63dd35717bd6479a63dcd26d",
      "check": {
       "sha256": "983402ce49bac7dab2b36b30eddf9e5a1ae7a36e63dd35717bd6479a63dcd26d",
       "bytes": 650816,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "x0x-smk37-0.2-elite.fwsc",
      "url": "https://github.com/genkigenki/fm1-x0x/releases/download/smk37-v0.2/x0x-smk37-0.2-elite.fwsc",
      "size": 651264,
      "sha256": "b577c6aceac17ebe94753046394775153a743eb29502806478fbb2303a416e61",
      "check": {
       "sha256": "b577c6aceac17ebe94753046394775153a743eb29502806478fbb2303a416e61",
       "bytes": 650820,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "x0x-smk37-0.2-mke.fwsc",
      "url": "https://github.com/genkigenki/fm1-x0x/releases/download/smk37-v0.2/x0x-smk37-0.2-mke.fwsc",
      "size": 651264,
      "sha256": "1cd132eb5db3b70f7b5fcde7175a262569d3ee087460a1acd0fb425f0905b53b",
      "check": {
       "sha256": "1cd132eb5db3b70f7b5fcde7175a262569d3ee087460a1acd0fb425f0905b53b",
       "bytes": 650812,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-13",
    "title": "X0X SMK-37 build 0.2",
    "notes": "Unofficial SMK-37 build of X0X by Charles Vestal, offered upstream as charlesvestal#13. Install in Chrome or Edge: https://genkigenki.github.io/smk37/ . Packages for SMK-37 Pro (also Starrykey 37 Play), SMK-37 Elite, MKE-P37. At your own risk."
   },
   "commit": {
    "date": "2026-10-13",
    "title": "Headers: keep the files' line endings",
    "url": "https://github.com/genkigenki/fm1-x0x/commit/8af3731713ba6062f17b403300f436aac50aaf30"
   },
   "stars": 0,
   "created": "2026-10-11",
   "image": "https://img.youtube.com/vi/cZLYrZaLDUk/maxresdefault.jpg",
   "pageFiles": [
    {
     "name": "x0x37-0.2.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/x0x37-0.2.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee40\"",
     "size": 599107,
     "check": {
      "sha256": "983402ce49bac7dab2b36b30eddf9e5a1ae7a36e63dd35717bd6479a63dcd26d",
      "bytes": 650816,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "983402ce49bac7dab2b36b30eddf9e5a1ae7a36e63dd35717bd6479a63dcd26d"
    },
    {
     "name": "x0x37-0.2-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/x0x37-0.2-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee44\"",
     "size": 599165,
     "check": {
      "sha256": "b577c6aceac17ebe94753046394775153a743eb29502806478fbb2303a416e61",
      "bytes": 650820,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "b577c6aceac17ebe94753046394775153a743eb29502806478fbb2303a416e61"
    },
    {
     "name": "x0x37-0.2-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/x0x37-0.2-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9ee3c\"",
     "size": 599069,
     "check": {
      "sha256": "1cd132eb5db3b70f7b5fcde7175a262569d3ee087460a1acd0fb425f0905b53b",
      "bytes": 650812,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "1cd132eb5db3b70f7b5fcde7175a262569d3ee087460a1acd0fb425f0905b53b"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "charlesvestal/fm1-x0x",
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env-hold",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://mr-roboto.github.io/fm1-x0x-rmx/install/"
    ],
    [
     "Emulator",
     "https://mr-roboto.github.io/fm1-x0x-rmx/emu/"
    ],
    [
     "Manual",
     "https://mr-roboto.github.io/fm1-x0x-rmx/manual/"
    ],
    [
     "Project backup",
     "https://mr-roboto.github.io/fm1-x0x-rmx/backup/"
    ]
   ],
   "name": "X0X-RMX",
   "repo": "Mr-Roboto/fm1-x0x-rmx",
   "by": "Mr-Roboto",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://mr-roboto.github.io/fm1-x0x-rmx/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.1.0",
    "url": "https://github.com/Mr-Roboto/fm1-x0x-rmx/releases/tag/v1.1.0",
    "assets": [
     {
      "name": "x0x-1.1.0.fwsc",
      "url": "https://github.com/Mr-Roboto/fm1-x0x-rmx/releases/download/v1.1.0/x0x-1.1.0.fwsc",
      "size": 609280,
      "sha256": "b343c135779c1de933d655236b14628103816036e170d65faed706aba620dcaa",
      "check": {
       "sha256": "b343c135779c1de933d655236b14628103816036e170d65faed706aba620dcaa",
       "bytes": 609680,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "x0x-1.1.0.fwsc.sha256",
      "url": "https://github.com/Mr-Roboto/fm1-x0x-rmx/releases/download/v1.1.0/x0x-1.1.0.fwsc.sha256",
      "size": 81,
      "sha256": "24f7bcaff24b32b16c1a12221fbe3d4a1c7204849e3ca1f13fd337379d080369"
     }
    ],
    "date": "2026-10-18",
    "title": "X0X-RMX v1.1.0 Stable",
    "notes": "The maintainer approved X0X-RMX v1.1.0 Stable after successful physical FM-1 RC2 validation. This release publishes the exact tested RC2 firmware bytes without rebuilding or repackaging.\n\nExactly four new features:\n• G.711 µ-law TR-909 cymbal sample compression.\n• BREAK FILTER, with LP/OFF/HP operation.\n• ENV + KNOB parameter reset.\n• USB project backup/restore, through Chrome/Edge Web MIDI and the Python CLI.\n\nExisting ORB REMIX, MREV, Morph, TB3PO, Grids and 303/808/909 engines remain available.\n\nInstaller · USB backup · Manual · Emulator\n\nUSB backup accepts only RMX-compatible files. Uploaded user loops must be backed up separately. Calibration, Undo history and session-only Grids controls are excluded. Restore requires stopped playback and explicit SEL confirmation on the FM-1; HOME cancels. During playback, backup exports saved data only; stop first to include unsaved edits.\n\nv1.0.0 upgrade warning: the v1.0.1 direction numbering still applies (FWD=0, REV=1, MREV=2, PING=3, RND=4), without direction migration. Old PING becomes MREV; old RND becomes PING. Reselect and save affected directions. Existing v1.0.1 direction values are preserved.\n\nMaintainer-reported hardware validation: installation/operation, two cores, built-in PERFORMANCE benchmark, BREAK FILTER, ENV reset, 909 cymbals, USB backup/restore, HOME cancellation and other checklist items, existing projects, user samples and persistence succeeded. No audio glitches or regressions were reported.\n\nWorkload\nv1.0.0 mean / peak\nRC2 mean / peak\n\nFACTORY LOOP\n41.1% / 49%\n41.5% / 50%\n\nALL FIVE\n56.6% / 69%\n56.8% / 70%\n\nWORST CASE\n70.7% / 90%\n71.0% / 89%\n\nDifferences are small. No numerical live-filter measurements, specific USB timings or physical power-cut results are claimed. Automated simulated interrupted-commit recovery is separate from hardware observations. The established RC2 suite passed 82 groups, 0 failures, with 2 unavailable external 808/Open303 reference comparisons skipped. Release preparation also passed package identity, Pages, backup protocol and headless browser installer/emulator checks; no physical flashing was performed by automation.\n\nImmutable firmware: x0x-1.1.0.fwsc, 609,680 bytes. Displayed version 1.1.0; firmware/package identity FM-1_987010100.\n\nb343c135779c1de933d655236b14628103816036e170d65faed706aba620dcaa x0x-1.1.0.fwsc\n\nFull release notes · Physical validation record\n\nHistorical v1.0.0 and v1.0.1 releases remain available unchanged."
   },
   "commit": {
    "date": "2026-10-18",
    "title": "docs: show v1.1.0 Stable and USB backup on repository landing page",
    "url": "https://github.com/Mr-Roboto/fm1-x0x-rmx/commit/c7a633d01dca5faf714b436b92a1bf9a87729cee"
   },
   "stars": 3,
   "created": "2026-10-12",
   "about": "X0X-RMX: Custom M-VAVE FM-1 groovebox firmware with ORB Remix, TB-303, 808/909, Grids, Morph and USB project backup.",
   "image": "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/img/x0x-rmx-banner-1280x320.png",
   "images": [
    "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/img/x0x-rmx-banner-1280x320.png",
    "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/img/p82/01-overview-cream.png",
    "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/media/video/x0x-rmx-demo-poster.png",
    "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/img/p82/06-remix-909-on-b3.png",
    "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/img/p82/08-grids-map-909.png",
    "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/img/p82/15-tb3po-generate-303a.png",
    "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/img/p82/22-303a-extra-morph64.png",
    "https://raw.githubusercontent.com/Mr-Roboto/fm1-x0x-rmx/HEAD/docs/img/p82/01-device-comparison.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Mr-Roboto~fm1-x0x-rmx.jpg"
   ],
   "pageFiles": [
    {
     "name": "x0x-1.0.1.fwsc",
     "url": "https://mr-roboto.github.io/fm1-x0x-rmx/firmware/x0x-1.0.1.fwsc",
     "page": "https://mr-roboto.github.io/fm1-x0x-rmx/",
     "etag": "W/\"6ad4b20f-94d90\"",
     "size": 596319,
     "check": {
      "sha256": "42190c2dffbda6d89807e40b68dd8d2426ef502fa3848dc47bb1af37e34a2fd3",
      "bytes": 609680,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "42190c2dffbda6d89807e40b68dd8d2426ef502fa3848dc47bb1af37e34a2fd3"
    },
    {
     "name": "x0x-1.0.0.fwsc",
     "url": "https://mr-roboto.github.io/fm1-x0x-rmx/firmware/x0x-1.0.0.fwsc",
     "page": "https://mr-roboto.github.io/fm1-x0x-rmx/",
     "etag": "W/\"6ad4b20f-94d90\"",
     "size": 596066,
     "check": {
      "sha256": "eccacfa995efec6b9c819583e7bce43b3aa7a126033c8e668ae89c6a988b754c",
      "bytes": 609680,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "eccacfa995efec6b9c819583e7bce43b3aa7a126033c8e668ae89c6a988b754c"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "charlesvestal/fm1-x0x",
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env-hold",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://izumoe.github.io/yanfei/"
    ]
   ],
   "name": "Yanfei",
   "repo": "izumoe/yanfei",
   "by": "izumoe",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "experimental": true,
   "note": "A preview its own docs say has not been flashed onto an FM-1 yet (docs/CORE_ENGINES.md, docs/CODE_REVIEW.md).",
   "about": "A Felucca fork with twelve engines, retro chip voices among them, 96 presets and a four-track tracker.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://izumoe.github.io/yanfei/webapp/installer/",
     "from": "list",
     "front": "https://izumoe.github.io/yanfei/"
    }
   ],
   "commit": {
    "date": "2026-10-21",
    "title": "Move engine submodule to canonical yanfei-engines repository",
    "url": "https://github.com/izumoe/yanfei/commit/876d6cb4d2d40564da5ea2c4ad50eb0c782419a2"
   },
   "stars": 0,
   "created": "2026-10-20",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/izumoe~yanfei.jpg",
   "pageFiles": [
    {
     "name": "yanfei-v1.6.1-y13.fwsc",
     "url": "https://izumoe.github.io/yanfei/firmware/yanfei-v1.6.1-y13.fwsc",
     "page": "https://izumoe.github.io/yanfei/",
     "etag": "W/\"6ad8680a-94ef8\"",
     "size": 501846,
     "check": {
      "sha256": "8675e8cf55771336b50971fc8da81725d8ffc0848dba96441d7ebb7d7e2bd075",
      "bytes": 610040,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "8675e8cf55771336b50971fc8da81725d8ffc0848dba96441d7ebb7d7e2bd075"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page",
   "parent": "hugelton/Felucca",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [],
   "name": "Zed",
   "repo": "cmlarsen/fm1-zed",
   "by": "cmlarsen",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "An unchanged copy of Felucca 1.5.1 (as of upstream's next commit), imported into a new repository with no changes of its own yet.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-12",
    "title": "Import Felucca v1.5.1 from hugelton/Felucca",
    "url": "https://github.com/cmlarsen/fm1-zed/commit/218b8fd736fd80449718339963a7917b6e7ba8a8"
   },
   "stars": 0,
   "created": "2026-10-12",
   "image": "https://raw.githubusercontent.com/cmlarsen/fm1-zed/HEAD/docs/felucca-1.0.png",
   "images": [
    "https://raw.githubusercontent.com/cmlarsen/fm1-zed/HEAD/docs/felucca-1.0.png",
    "https://raw.githubusercontent.com/cmlarsen/fm1-zed/HEAD/docs/controls.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://imijes.github.io/fm-dub/"
    ]
   ],
   "name": "fm-dub",
   "repo": "imijes/fm-dub",
   "by": "imijes",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "emulator",
   "branch": "feature/dub-preamp-audio-core",
   "about": "SLOOP 2.5 turned into a dub sound-system preamp: the whole mix (and the computer's audio over USB) runs through band kills, a stepped high-pass, a siren, a tape echo and a spring tank, played from the 16 FX pads and a MIDI channel of its own.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-12",
    "title": "ci(web): run get_toolchain.sh through sh, fresh toolchain cache",
    "url": "https://github.com/imijes/fm-dub/commit/06cf6ff61fa0f10171c4a56493b76895f0c34d63"
   },
   "stars": 0,
   "created": "2026-10-10",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/imijes~fm-dub.jpg",
   "images": [
    "https://raw.githubusercontent.com/imijes/fm-dub/feature%2Fdub-preamp-audio-core/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/imijes/fm-dub/feature%2Fdub-preamp-audio-core/assets/screens/sloop-2.3-screens.png",
    "https://raw.githubusercontent.com/imijes/fm-dub/feature%2Fdub-preamp-audio-core/assets/screens/screens.png",
    "https://raw.githubusercontent.com/imijes/fm-dub/feature%2Fdub-preamp-audio-core/assets/screens/editor-drums.png",
    "https://raw.githubusercontent.com/imijes/fm-dub/feature%2Fdub-preamp-audio-core/assets/screens/editor-chop.png",
    "https://raw.githubusercontent.com/imijes/fm-dub/feature%2Fdub-preamp-audio-core/assets/screens/editor-backup.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/imijes~fm-dub.jpg"
   ],
   "readmeNotes": {
    "version": "v2.4.1",
    "text": "Status: 2.5 (two new engines, PHYS and NOISE, 77 new sounds, a drum synth, DX7 cartridges in one go, MIDI CCs, 48 kHz USB audio, and the fixes of 2.4.1). Still a beta: install at your own risk, and please report what you find. Your projects, presets, samples and settings are kept when you update, and you can go back at any time (see Going back).",
    "date": "2026-10-12",
    "url": "https://github.com/imijes/fm-dub#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Simulator",
     "https://nicodesy06.github.io/FM1-MOVE/sim/"
    ],
    [
     "Installer",
     "https://nicodesy06.github.io/FM1-MOVE/device/"
    ],
    [
     "Manual",
     "https://nicodesy06.github.io/FM1-MOVE/manual/"
    ],
    [
     "Source",
     "https://github.com/Nicodesy06/FM1-MOVE/tree/fm1-move/dev"
    ]
   ],
   "name": "FM1 Move",
   "repo": "Nicodesy06/FM1-MOVE",
   "by": "Nicodesy06",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "experimental": true,
   "types": [
    "groovebox"
   ],
   "about": "An eight-track groovebox firmware for the M-VAVE FM-1: Groove Engine, eight tracks of any kind, a premium 240 × 240 interface designed for performance.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://nicodesy06.github.io/FM1-MOVE/device/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-15",
    "title": "FM1 Move 0.3.1 with the UI audit fixes: package, simulator, device pa…",
    "url": "https://github.com/Nicodesy06/FM1-MOVE/commit/42fc1af2a2ab6174331d2a4953f7628d6f11b7f8"
   },
   "stars": 15,
   "created": "2026-10-10",
   "image": "https://raw.githubusercontent.com/Nicodesy06/FM1-MOVE/HEAD/assets/readme/hero.png",
   "images": [
    "https://raw.githubusercontent.com/Nicodesy06/FM1-MOVE/HEAD/assets/readme/hero.png",
    "https://raw.githubusercontent.com/Nicodesy06/FM1-MOVE/HEAD/assets/readme/screens.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Nicodesy06~FM1-MOVE.jpg"
   ],
   "pageFiles": [
    {
     "name": "fm1move-0.3.1.fwsc",
     "url": "https://nicodesy06.github.io/FM1-MOVE/firmware/fm1move-0.3.1.fwsc",
     "page": "https://nicodesy06.github.io/FM1-MOVE/device/",
     "found": "named",
     "etag": "W/\"6ad0f517-94ee3\"",
     "size": 594124,
     "check": {
      "sha256": "da7e27a1d808753790a4164f372d5c7120ce4f623d97c6d16d1cf7910f443399",
      "bytes": 610019,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "da7e27a1d808753790a4164f372d5c7120ce4f623d97c6d16d1cf7910f443399"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Cat Piano",
   "repo": "thefriendlyhedgehog/FM-Cat1",
   "by": "thefriendlyhedgehog",
   "fam": "games",
   "lic": "GPL-3.0",
   "about": "Every key a real cat's meow at its note: four banks, a four-track sequencer, an arpeggiator; from Fart Machine One.",
   "status": "Runs on an FM-1; no package yet (built from source).",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-18",
    "title": "Add development notes and demo renders",
    "url": "https://github.com/thefriendlyhedgehog/FM-Cat1/commit/820251d823eb4d6af1172487d72c0f4862de6215"
   },
   "stars": 0,
   "created": "2026-10-18",
   "image": "https://raw.githubusercontent.com/thefriendlyhedgehog/FM-Cat1/HEAD/docs/images/screen-playing.png",
   "readmeNotes": {
    "version": "",
    "text": "Status: runs on an FM-1 (installed with tools/fm1install.py) and passes its host tests. CPU load on the device is still to be measured (hold FX); the sequencer's per-track and per-step settings have no panel controls yet (see the roadmap).",
    "date": "2026-10-18",
    "url": "https://github.com/thefriendlyhedgehog/FM-Cat1#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Deal or No Deal",
   "repo": "Kiwi3p/fm1-deal-or-no-deal",
   "by": "Kiwi3p",
   "fam": "games",
   "lic": "GPL-3.0",
   "about": "Deal or No Deal as a 16-bit style game: 26 cases on the keys, a pixel-art host and a chiptune soundtrack.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-18",
    "title": "Deal or No Deal 16-bit edition for the M-VAVE FM-1",
    "url": "https://github.com/Kiwi3p/fm1-deal-or-no-deal/commit/a8ffcf7989671a6a9d07944c523e1a4c8fc2c457"
   },
   "stars": 0,
   "created": "2026-10-18",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false
  },
  {
   "links": [
    [
     "Website",
     "https://fm1.quest/"
    ],
    [
     "Installer",
     "https://hericdk.github.io/fm1-quest/webapp/installer/"
    ],
    [
     "Emulator",
     "https://hericdk.github.io/fm1-quest/emulator/"
    ]
   ],
   "name": "FM1 Quest",
   "repo": "hericdk/fm1-quest",
   "by": "hericdk",
   "fam": "games",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://hericdk.github.io/fm1-quest/webapp/installer/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "quest-43",
    "url": "https://github.com/hericdk/fm1-quest/releases/tag/quest-43",
    "assets": [
     {
      "name": "fm1-quest-43.fwsc",
      "url": "https://github.com/hericdk/fm1-quest/releases/download/quest-43/fm1-quest-43.fwsc",
      "size": 610304,
      "sha256": "08a9d725bdb3f00aef7703e0a00f27a9f3e2e63794d47bfc1f152507a3c0f483",
      "check": {
       "sha256": "08a9d725bdb3f00aef7703e0a00f27a9f3e2e63794d47bfc1f152507a3c0f483",
       "bytes": 610052,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-02",
    "title": "FM1 Quest build 43",
    "notes": "Installable package. Open the installer page, connect the FM-1 by USB (a data cable, no hub), press INSTALL. Custom firmware: at your own risk; OCT- held at power-on = USB rescue."
   },
   "commit": {
    "date": "2026-11-02",
    "title": "Remove local paths and external references from the published files; …",
    "url": "https://github.com/hericdk/fm1-quest/commit/70bc92765fe1559de4a038c983eabf9ed8c7f759"
   },
   "stars": 14,
   "created": "2026-10-06",
   "about": "A live RPG Adventure inside your M-VAVE FM-1",
   "image": "https://raw.githubusercontent.com/hericdk/fm1-quest/HEAD/page/assets/logo.png",
   "pageFiles": [
    {
     "name": "fm1-quest-0.9.fwsc",
     "url": "https://fm1.quest/firmware/fm1-quest-0.9.fwsc",
     "page": "https://fm1.quest/",
     "found": "named",
     "etag": "W/\"6ae8e34f-94f04\"",
     "size": 592991,
     "check": {
      "sha256": "08a9d725bdb3f00aef7703e0a00f27a9f3e2e63794d47bfc1f152507a3c0f483",
      "bytes": 610052,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "08a9d725bdb3f00aef7703e0a00f27a9f3e2e63794d47bfc1f152507a3c0f483"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/hericdk/fm1-quest/HEAD/page/assets/logo.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/hericdk~fm1-quest.jpg"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://y6zkcqnf5r-hue.github.io/fm1-fm80s/"
    ]
   ],
   "name": "FM80S",
   "repo": "y6zkcqnf5r-hue/fm1-fm80s",
   "by": "y6zkcqnf5r-hue",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "emulator",
   "status": "0.1 is SLOOP 2.5 under its own name and boot image, with the same sound and functions; eight tracks and a synthwave look are planned. A browser FM-1 runs it; no package of its own yet.",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "plateforme-trawler",
    "url": "https://github.com/y6zkcqnf5r-hue/fm1-fm80s/releases/tag/plateforme-trawler",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-10",
    "title": "plateforme-trawler: docs: FM80S repart d'un fork de SLOOP à 8 pistes",
    "notes": "PRD v0.2, spec, architecture et backlog réécrits autour d'un fork de\n\nSLOOP 2.5 ; étude de faisabilité des 8 pistes (docs/10) ; ADR-036 à\n\nADR-045 et questions Q-07 à Q-12 ; CLAUDE.md et README mis à jour.\n\nProchaine story : F0-01, FM80S sur le FM-1.\n\nCo-Authored-By: Claude Opus 5.5 noreply@anthropic.com"
   },
   "commit": {
    "date": "2026-10-10",
    "title": "docs: F0-02 commence avant le volet appareil de F0-01 (ADR-048)",
    "url": "https://github.com/y6zkcqnf5r-hue/fm1-fm80s/commit/171c51fae0c433f32b1185b79d0e3d6df86ea849"
   },
   "stars": 4,
   "created": "2026-10-10",
   "about": "FM80S : un synthé-looper ludique pour le M-VAVE FM-1 (firmware libre, GPL-3.0)",
   "image": "https://raw.githubusercontent.com/y6zkcqnf5r-hue/fm1-fm80s/HEAD/assets/logo/fm80s-splash.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/y6zkcqnf5r-hue/fm1-fm80s/HEAD/assets/logo/fm80s-splash.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/y6zkcqnf5r-hue~fm1-fm80s.jpg"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://juanjiant-bit.github.io/JIANT/emu/"
    ],
    [
     "Manual",
     "https://juanjiant-bit.github.io/JIANT/manual/"
    ],
    [
     "Installer",
     "https://juanjiant-bit.github.io/JIANT/webapp/installer/"
    ],
    [
     "Editor",
     "https://juanjiant-bit.github.io/JIANT/webapp/editor/"
    ]
   ],
   "name": "JIANT FM",
   "repo": "juanjiant-bit/JIANT",
   "by": "juanjiant-bit",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "relay": "jiant",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://juanjiant-bit.github.io/JIANT/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://juanjiant-bit.github.io/JIANT/webapp/editor/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-11-05",
    "title": "[private-preview] Publish final ADD draft beta with verified PLAY-STO…",
    "url": "https://github.com/juanjiant-bit/JIANT/commit/94009765cf0817ef672b89b97a2d3cfaec50f077"
   },
   "stars": 214,
   "created": "2026-10-08",
   "about": "Bio-synthetic operating system for the M-VAVE FM-1 — synthesis, sequencing, mutation, performance.",
   "image": "https://raw.githubusercontent.com/juanjiant-bit/JIANT/HEAD/docs/jiant-hero.png",
   "images": [
    "https://raw.githubusercontent.com/juanjiant-bit/JIANT/HEAD/docs/jiant-hero.png",
    "https://raw.githubusercontent.com/juanjiant-bit/JIANT/HEAD/docs/navigation-map.png",
    "https://raw.githubusercontent.com/juanjiant-bit/JIANT/HEAD/docs/cheatsheet-controls.png",
    "https://raw.githubusercontent.com/juanjiant-bit/JIANT/HEAD/docs/cheatsheet-sound.png",
    "https://raw.githubusercontent.com/juanjiant-bit/JIANT/HEAD/docs/jiant-screens.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/juanjiant-bit~JIANT.jpg"
   ],
   "pageFiles": [
    {
     "name": "felucca-V10.60-43b8ea8.fwsc",
     "url": "https://juanjiant-bit.github.io/JIANT/firmware/felucca-V10.60-43b8ea8.fwsc",
     "page": "https://juanjiant-bit.github.io/JIANT/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecc3da-a6868\"",
     "size": 682088,
     "check": {
      "sha256": "455a820e8f706b0d305f8b2aad2659942b6ea42dac698801243779fafdd3e286",
      "bytes": 682088,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "455a820e8f706b0d305f8b2aad2659942b6ea42dac698801243779fafdd3e286"
    },
    {
     "name": "felucca-V10.26-5db7ffc.fwsc",
     "url": "https://juanjiant-bit.github.io/JIANT/firmware/felucca-V10.26-5db7ffc.fwsc",
     "page": "https://juanjiant-bit.github.io/JIANT/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecc3da-a0cec\"",
     "size": 658668,
     "check": {
      "sha256": "00c4841ed48e0d5ffe8c68b4512f7b9bd205d4f1feb355308b9e4d2d83fd51a6",
      "bytes": 658668,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "00c4841ed48e0d5ffe8c68b4512f7b9bd205d4f1feb355308b9e4d2d83fd51a6"
    },
    {
     "name": "felucca-V10.6c.fwsc",
     "url": "https://juanjiant-bit.github.io/JIANT/firmware/felucca-V10.6c.fwsc",
     "page": "https://juanjiant-bit.github.io/JIANT/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecc3da-a6a48\"",
     "size": 682568,
     "check": {
      "sha256": "ddc97abb2303e837f7b5d2a38d2a71b043dbb069b063f2f7ec465a3f85b9f3d7",
      "bytes": 682568,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "ddc97abb2303e837f7b5d2a38d2a71b043dbb069b063f2f7ec465a3f85b9f3d7"
    },
    {
     "name": "felucca-v0.9.17-73726de.fwsc",
     "url": "https://juanjiant-bit.github.io/JIANT/firmware/felucca-v0.9.17-73726de.fwsc",
     "page": "https://juanjiant-bit.github.io/JIANT/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecc3da-94f41\"",
     "size": 610113,
     "check": {
      "sha256": "618aff21a3015dca2d4c9c1d90b631e1861d79abc4c0ce50f67d80a0929352a3",
      "bytes": 610113,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "618aff21a3015dca2d4c9c1d90b631e1861d79abc4c0ce50f67d80a0929352a3"
    }
   ],
   "readmeNotes": {
    "version": "v0.9.18",
    "text": "Status of main: the 0.9.18 development line (the text below). The public and beta installers use separately pinned 0.9.9-par revisions: see Current versions above. It builds and passes every test (Felucca's and its own). Back up the flash before installing it.\n• RATCH and ARP spill over the steps (0.9.18): (in the 0.9.1x line, installer: 0.9.17; not yet in 0.9.9-beta4a): RATCH x1–x8 (ECHO folded in: FLAT, FADE, RISE, a pitch step) and ARP one note at a time at its RATE play on past their step; OCT an octave a lap; SEQ › COMP frames the step it edits; the SEQ › BAR page is gone.\n• Every SEQ page is the piano roll (0.9.17): (in the 0.9.1x line, installer: 0.9.17; not yet in 0.9.9-beta4a): the same bars' strip and roll (a kit: the grid) on all the pages, the values on top, each page marking what it does on the notes: PATTERN their GATE and SWING, TRACK the notes moved by PITCH, PLAYHEADS the extra heads as they play, COMP the steps with a component, AUTOMATION and AUTO LIST every record (V10.6: EUCLID and MODES their pattern; MUTATE is gone). The BOTTOM skin is retired (a saved BOTTOM opens as AIR).\n• DRUM-X, VOICE and ANIMAL first (0.9.9): the FM-1 powers on with T1 DRUM-X, T2 VOICE singing words, T3 ANIMAL's bird, T4 LOFI's bytebeat, T5 ANALOG's bass and T6 FM6's electric piano, and PRESETS lists the engines in that order. A new skin, AIR (0.9.7, the default of new settings): HUD's light look on every page with the knob row on top, the middle of the screen free; HOME's beings over the whole screen. MENU › SCREEN › SCOPE (OFF by default): an engine's EDIT pages give its creature the whole panel. HOME's beings have faces: three isotherms coloured by their own level, eyes that shut on a hit, a mouth that opens with the sound (V10.6: the look up went with MUTATE). 15 KB of flash given back, nothing removed, the sound bit for bit.\n• Every engine draws its own creature (0.9.6): ANALOG a cell whose membrane is its wave, FM6 its operators as little beings wired as the algorithm (also on OPERATOR and OP ENV), WHEEL nine tube worms, one a drawbar, NOISE a swarm, PHASE a snail whose shell is the bent phase, LOFI a caterpillar whose skin is its output and segments its bits (0.9.10: CHIP flattens it into a DIP chip, 1BIT all the way; every knob shows on it).\n• Messages no longer darken the screen (0.9.5): a message is a small pill over the page, which keeps moving behind it, clear of the page's words; a page's hint comes only once you stay on it (never while SELECT walks past), at most twice ever; a layer button's tap no longer says \"HOLD [X] QUICK\". On JIANT each card's colour follows its value again, as in 0.6.\n• Three engines draw their own creature (0.9.4): VOICE its vocal tract singing, a glowing tube in a ghost of a head (0.9.9; the tongue, jaw, lips and velum move with the phoneme sung, glottal pulses travel up it, waves leave the mouth), ANIMAL a creature that metamorphoses between bird, insect and mammal, DRUM-X its kit as little beings that squash, shut their eyes and shout with every hit.\n• MUTATE can go back (0.9.3): turning MUTATE off asks to return the track to its anchor; SEQ + D5 REVERT, GLO + B4 REVERT ALL, undoable. (V10.6: MUTATE, REVERT and REVERT ALL are gone; SEQ › EUCLID takes its place.) 0.9.2 is driven by six rules (see Navigation): SELECT walks a section's pages as one chain, the section's button jumps group to group, PRESETS always loads presets, KNOB 1 picks, a button held is its layer, and the tabs and the footer say where you are. Every page, knob and function is where it was; only the way between them changed.\n• The dice starts in EXPLORE (0.8.6): HOME + SELECT opens GEN on a choice that follows no genre and breaks every rule (any tempo, odd metres and polyrhythm, exotic modes, any engine on any role, DRUM-X octaves, PLAYHEADS), each seed a very different piece, still in the key its SCALE and CHORD pages show. RANDOM and the 43 genres follow.\n…",
    "date": "2026-11-05",
    "url": "https://github.com/juanjiant-bit/JIANT#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "hugelton/Felucca",
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "fx-hold",
    "lfo-hold",
    "scl-hold",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://hericdk.github.io/nomanskyFM/"
    ],
    [
     "Simulator",
     "https://hericdk.github.io/nomanskyFM/"
    ]
   ],
   "name": "No Man Sky FM",
   "repo": "hericdk/nomanskyFM",
   "by": "hericdk",
   "fam": "games",
   "lic": "GPL-3.0",
   "about": "A space adventure on SLOOP 2.7.1: fly the ship with two knobs, land on planets, mine, fight sentinels and warp between stars, while the other hand plays the music.",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-17",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://hericdk.github.io/nomanskyFM/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "The No Man Sky FM editor",
     "url": "https://hericdk.github.io/nomanskyFM/editor/",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "v0.9",
    "url": "https://github.com/hericdk/nomanskyFM/releases/tag/v0.9",
    "assets": [
     {
      "name": "nmsfm-0.9.fwsc",
      "url": "https://github.com/hericdk/nomanskyFM/releases/download/v0.9/nmsfm-0.9.fwsc",
      "size": 610304,
      "sha256": "3633c4ff4955ab107df2bec30919017ab40c02469d8e922f64f8b9963db623f0",
      "check": {
       "sha256": "3633c4ff4955ab107df2bec30919017ab40c02469d8e922f64f8b9963db623f0",
       "bytes": 610052,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-02",
    "title": "No Man Sky FM v0.9",
    "notes": "Install: open https://hericdk.github.io/nomanskyFM/ in Chrome or Edge, connect the FM-1 by USB and press Install. Or use the attached .fwsc.\n\nStill being optimized. v0.9 brings a lot at once. The 3D flight and some screens can still lose frames, and more optimization is coming.\n\n## New\n• The planet in 3D: choose a planet and you come down flying over the ground you walk on. Hold OCT+ over land to land; a tree under the ship blows to pixels. It refuses the sea.\n• Races: at top speed over a planet, four ships join you through six beams of light. In space, a ship with a chequered flag starts the road race, and you end up back in space. Inspired by Galactic Racer.\n• CDs: every sound change shows the sounds as CDs in a 3D carousel, after the tapes of winampFM.\n• SLOOP 2.8.4 by isod89: more stable MIDI clock, resonance on every track filter, a filter on the drums, sound fixes.\n• FX > PARTY and ARP 2 > ORD SCL, from winampFM.\n• EDIT > WAVE, a mini sample editor, after the ½ sampler.\n• Lighter screens over the game: only what changes goes to the LCD.\n• Site: the editor, the whole simulator, six languages (EN, PT, KO, JA, DE, FR).\n\n## Changed or removed\n• The race flags on planets, the gates at stations and the neon space race are gone, to make room.\n• BASS, hats and cymbals went to 16 kHz and SCRATCH to 11 kHz. No sound was removed.\n• The NOTES page of SLOOP 2.8 has its logic but not its piano-roll screen yet.\n\nExperimental firmware, use at your own risk and keep a backup. GPL-3.0. Based on SLOOP by isod89 and Felucca by Leo Kuroshita."
   },
   "commit": {
    "date": "2026-11-02",
    "title": "Ignore internal folders and local files",
    "url": "https://github.com/hericdk/nomanskyFM/commit/8ba483368b3b230fb5f097efb8790d3237606ba7"
   },
   "stars": 6,
   "created": "2026-10-16",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/hericdk~nomanskyFM.jpg",
   "pageFiles": [
    {
     "name": "nomanskyfm-0.9.fwsc",
     "url": "https://hericdk.github.io/nomanskyFM/firmware/nomanskyfm-0.9.fwsc",
     "page": "https://hericdk.github.io/nomanskyFM/",
     "etag": "W/\"6ae91616-94f04\"",
     "size": 591060,
     "check": {
      "sha256": "3633c4ff4955ab107df2bec30919017ab40c02469d8e922f64f8b9963db623f0",
      "bytes": 610052,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "3633c4ff4955ab107df2bec30919017ab40c02469d8e922f64f8b9963db623f0"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Installer and editor",
     "https://catacombius.github.io/NoteSorcery/"
    ],
    [
     "BOTANICA installer",
     "https://catacombius.github.io/NoteSorcery/botanica/"
    ]
   ],
   "name": "NoteSorcery",
   "repo": "catacombius/NoteSorcery",
   "by": "catacombius",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "experimental": true,
   "about": "SLOOP 2.5 grown to eight tracks (six synths, two drum machines): X0X's 303 and circuit 808 / 909, single-cycle waves, Machinedrum-style kits, clock out and Song Position, sampling over USB, and Ableton export from its web editor.",
   "status": "0.1, only on its own site (rebuilt from main at every push, the version left at 0.1; no GitHub release); its README says it is tested on the host and in CI, not yet on an FM-1. Its GitHub releases (botanica-v*) are BOTANICA, a soft acoustic edition built from the same tree, with its own installer.",
   "note": "Its own web installer with Felucca's update loader (unchanged from SLOOP 2.5); package identity FM-1_95XY, not FM-1_900; recovery is the FM-1's ROM bootloader. It does not read SLOOP's projects (back up first). SLOOP user presets made on its first six engines come up on NoteSorcery's renumbered engines.",
   "tags": "^(?!botanica-)",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and editor",
     "url": "https://catacombius.github.io/NoteSorcery/webapp/installer/",
     "from": "list",
     "front": "https://catacombius.github.io/NoteSorcery/"
    },
    {
     "kind": "installer",
     "label": "BOTANICA installer",
     "url": "https://catacombius.github.io/NoteSorcery/botanica/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-20",
    "title": "Merge pull request #4 from catacombius/ccr-6efdfbd0-mmmihv",
    "url": "https://github.com/catacombius/NoteSorcery/commit/73d6cdd6d2a006fad9df4f2227757b8131fe6ef6"
   },
   "stars": 2,
   "created": "2026-10-09",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/catacombius~NoteSorcery.jpg",
   "pageFiles": [
    {
     "name": "notesorcery-0.1.fwsc",
     "url": "https://catacombius.github.io/NoteSorcery/firmware/notesorcery-0.1.fwsc",
     "page": "https://catacombius.github.io/NoteSorcery/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ad70d47-94eeb\"",
     "size": 515159,
     "check": {
      "sha256": "b1076f34835ec888cc42e56b290554aca6c3154c7514c60c662643f91fc80bc7",
      "bytes": 610027,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "b1076f34835ec888cc42e56b290554aca6c3154c7514c60c662643f91fc80bc7"
    }
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: in development (0.1). All seven milestones are done: eight tracks, the new project format, the ACID / WAVE engines, the circuit and Machinedrum-style drum kits, the visual sequencer, themes and night mode, MIDI clock out and Song Position, live sampling over USB, Ableton export from the browser, and the FieldTape / NoteMove integration. They have been tested on the host, not yet on a device (see the roadmap below). Install at your own risk and back up first: NoteSorcery does not read SLOOP's projects, and its sample slots are smaller (see Differences from SLOOP).",
    "date": "2026-10-20",
    "url": "https://github.com/catacombius/NoteSorcery#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/catacombius~NoteSorcery/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/catacombius~NoteSorcery.jpg"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://dspaudio.github.io/orbit/"
    ],
    [
     "Emulator",
     "https://dspaudio.github.io/orbit-web-emu/"
    ]
   ],
   "name": "ORBIT",
   "repo": "dspaudio/orbit",
   "by": "dspaudio",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "SLOOP 2.6 given an OP-1-like face: HOME becomes an Event Tape that copies, lifts and drops a span of any track's steps, the main sound pages and the mixer are drawn as four colour-coded encoder screens, five engines are added (SWARM, PULSE, FM4, the oscillator-grain CLOUD, and CLUSTER, a C translation of the OP-1's own Cluster oscillator), and each synth sound keeps four user macros.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://dspaudio.github.io/orbit/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.0.0",
    "url": "https://github.com/dspaudio/orbit/releases/tag/v1.0.0",
    "assets": [
     {
      "name": "orbit.fwsc",
      "url": "https://github.com/dspaudio/orbit/releases/download/v1.0.0/orbit.fwsc",
      "size": 610304,
      "sha256": "6f6c73e86807f2b9c96402c5cc9aac2f1024417d4ebd4763568e098fbb30d791",
      "check": {
       "sha256": "6f6c73e86807f2b9c96402c5cc9aac2f1024417d4ebd4763568e098fbb30d791",
       "bytes": 610032,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/dspaudio/orbit/releases/download/v1.0.0/SHA256SUMS",
      "size": 77,
      "sha256": "abd9f566efe6510ded330b1e56e03e3eb94fdd7fa262dcf7fd6bb1692f556c13"
     }
    ],
    "date": "2026-11-03",
    "title": "ORBIT 1.0.0",
    "notes": "## ORBIT 1.0.0 and 1.0.B\n\nORBIT 1.0 adds four chord voicings, keeps arpeggios moving across chord changes, and makes its MIDI controller easier to use with a DAW. Both FM-1 builds keep the FM-1_900 install identity.\n\nBuild\nPackage\nSound\n\n1.0.0\norbit.fwsc\nOriginal melodic and drum samples\n\n1.0.B\norbit-ble.fwsc\nFM replacements for built-in melodic samples; original drums\n\nThe Bluetooth build also accepts phone audio. Read the 1.0.B notes for pairing, mixing and its shorter delay.\n\n## Chords and arpeggios\n\nThe CHORD setting adds OPEN (root, fifth and tenth), OPEN7, ADD9 and 6TH alongside the existing modes. The open voicings put the third an octave up. Chord modifiers and voice leading still apply.\n\nWhen you release one chord and play the next within an arpeggiator step, the arpeggio keeps its rhythmic phase instead of restarting from its first note. Shared notes remain held across the change.\n\n## MIDI controller feedback and switches\n\nThe controller screen follows incoming CC values on its controller channel: a DAW moving an assigned knob CC updates its displayed value, and feedback to a toggle switch updates its lit state. EDIT + FX / SEL / ENV / LFO selects momentary or toggle operation for each switch; the choice is saved in device settings. Toggle switches stay on after release and turn off on the next press. Previous settings default to momentary switches.\n\nThe existing OCT- + OCT+ tap enters or leaves controller mode. MIDI notes and CCs still leave over USB, and over Bluetooth MIDI when connected in 1.0.B.\n\n## Compatibility and validation\n\nORP8 projects, OPB3 user banks and the step_t format are unchanged. The controller switch modes use reserved bytes in the existing device settings; the Bluetooth build extends its own radio-settings object to keep phone pairing keys while reading older objects.\n\nThe device owner reports that the current firmware works on the FM-1. Host and target checks, package hashes and any remaining measurement limits are recorded in the validation record.\n\nInstall and build · User guide · Web emulator",
    "pre": {
     "tag": "v1.0.1B",
     "title": "ORBIT 1.0.1B: adjustable Bluetooth audio buffer",
     "date": "2026-11-04",
     "url": "https://github.com/dspaudio/orbit/releases/tag/v1.0.1B"
    }
   },
   "commit": {
    "date": "2026-11-04",
    "title": "Document and publish ORBIT 1.0.1B installer support",
    "url": "https://github.com/dspaudio/orbit/commit/1dbb77d61236d77ef363af1f4c8620e0c2996480"
   },
   "stars": 40,
   "created": "2026-10-07",
   "image": "https://raw.githubusercontent.com/dspaudio/orbit/HEAD/docs/orbit-preview-0.2.png",
   "images": [
    "https://raw.githubusercontent.com/dspaudio/orbit/HEAD/docs/orbit-preview-0.2.png",
    "https://raw.githubusercontent.com/dspaudio/orbit/HEAD/docs/orbit-demo-0.3.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/dspaudio~orbit.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "ORBIT SMK-37",
   "repo": "genkigenki/orbit",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "board": "smk37",
   "about": "ORBIT, dspaudio's SLOOP-based groovebox, on the M-Vave SMK-37 keyboard: genkigenki's port.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-13",
    "title": "Headers: no email address",
    "url": "https://github.com/genkigenki/orbit/commit/6231144012eae758180dc36c83816e5ef693a485"
   },
   "stars": 1,
   "created": "2026-10-13",
   "image": "https://raw.githubusercontent.com/genkigenki/orbit/smk37/docs/orbit-preview-0.2.png",
   "images": [
    "https://raw.githubusercontent.com/genkigenki/orbit/smk37/docs/orbit-preview-0.2.png",
    "https://raw.githubusercontent.com/genkigenki/orbit/smk37/docs/orbit-demo-0.3.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~orbit.jpg"
   ],
   "pageFiles": [
    {
     "name": "orbit-0.7.0.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/orbit-0.7.0.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efb6\"",
     "size": 605784,
     "check": {
      "sha256": "e3aab2db84940173dfe045304815ffcb51bd22852ed7c3dce08dec6f0a521363",
      "bytes": 651190,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "e3aab2db84940173dfe045304815ffcb51bd22852ed7c3dce08dec6f0a521363"
    },
    {
     "name": "orbit-0.7.0-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/orbit-0.7.0-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efba\"",
     "size": 605817,
     "check": {
      "sha256": "b6439abd5641e5867182db3f29363f5ca7a785b92f4645978a1533eea125d7a4",
      "bytes": 651194,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "b6439abd5641e5867182db3f29363f5ca7a785b92f4645978a1533eea125d7a4"
    },
    {
     "name": "orbit-0.7.0-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/orbit-0.7.0-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efb2\"",
     "size": 605772,
     "check": {
      "sha256": "6e90ae7e491ea186ba22a78373eed18984b0f5ef2fc5df9cd58e8258b0d87439",
      "bytes": 651186,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "6e90ae7e491ea186ba22a78373eed18984b0f5ef2fc5df9cd58e8258b0d87439"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "dspaudio/orbit",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://shifl.netlify.app/webapp/installer/"
    ],
    [
     "Editor",
     "https://shifl.netlify.app/webapp/editor/"
    ]
   ],
   "name": "shifl",
   "repo": "schwartzworld/shifl",
   "by": "schwartzworld",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://shifl.netlify.app/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://shifl.netlify.app/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "FM-1_938",
    "url": "https://github.com/schwartzworld/shifl/releases/tag/FM-1_938",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-09",
    "title": "CZ-1: add RING/FOLD/BITS/PHSR effects, bump to FM-1_938",
    "notes": "EDIT 2 for the CZ-1 engine now has four sound design params:\n• RING (P_E4): ring mod at 2x osc-1 frequency, depth 0-127\n• FOLD (P_E5): wavefolder, 1x-3x drive into triangle fold\n• BITS (P_E6): bit crush, removes 1-15 bits\n• PHSR (P_E7): 2-stage allpass phaser, ~0.3 Hz LFO, persists across notes\n\nSignal chain: oscillators -> RING -> FOLD -> BITS -> filter -> PHSR.\n\nPhaser state (phaser_ph, phaser_s[4]) added to cz_voice_t in eng_phase.c.\n\nVestigial CZ_NATIVE sentinel check removed from cz_factory_loaded;\n\nall factory preset P_E7 values updated from CZ_NATIVE to 0.\n\nCo-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com"
   },
   "commit": {
    "date": "2026-10-26",
    "title": "lots of basic functionality for sound design",
    "url": "https://github.com/schwartzworld/shifl/commit/9e6bbf64f95bcdb59d50ae6f70a2a23f72f2d732"
   },
   "stars": 2,
   "created": "2026-10-09",
   "about": "A firmware for the FM1 with Advanced Sequencing features for composition and live play",
   "image": "https://raw.githubusercontent.com/schwartzworld/shifl/HEAD/assets/logo/shifl-logo.png",
   "images": [
    "https://raw.githubusercontent.com/schwartzworld/shifl/HEAD/assets/logo/shifl-logo.png",
    "https://raw.githubusercontent.com/schwartzworld/shifl/HEAD/assets/screens/shifl-2.3-screens.png",
    "https://raw.githubusercontent.com/schwartzworld/shifl/HEAD/assets/screens/screens.png",
    "https://raw.githubusercontent.com/schwartzworld/shifl/HEAD/assets/screens/editor-drums.png",
    "https://raw.githubusercontent.com/schwartzworld/shifl/HEAD/assets/screens/editor-chop.png",
    "https://raw.githubusercontent.com/schwartzworld/shifl/HEAD/assets/screens/editor-backup.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/schwartzworld~shifl.jpg"
   ],
   "pageFiles": [
    {
     "name": "shifl-dev.fwsc",
     "url": "https://shifl.netlify.app/firmware/shifl-dev.fwsc",
     "page": "https://shifl.netlify.app/webapp/installer/",
     "found": "named",
     "etag": "\"6b2c5aa3e6fb4d1059c203e7926ba4fb-ssl\"",
     "size": 610019,
     "check": {
      "sha256": "c4a2cee2ce727b654267c3d762dc0d30615b242c9b8d064fa5907c2032627089",
      "bytes": 610019,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "c4a2cee2ce727b654267c3d762dc0d30615b242c9b8d064fa5907c2032627089"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "isod89/sloop-fm1",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "SLICE64-FM",
   "home": "https://jeymadcat-ops.github.io/SLICE64-FM-web/",
   "by": "jeymadcat-ops",
   "fam": "indep",
   "lic": "?",
   "types": [
    "sampler",
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "website",
   "experimental": false,
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/jeymadcat-ops~SLICE64-FM-web.jpg",
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://isod89.github.io/clipper-fm1/webapp/installer/"
    ],
    [
     "Editor",
     "https://isod89.github.io/clipper-fm1/webapp/editor/"
    ]
   ],
   "name": "Clipper",
   "repo": "isod89/clipper-fm1",
   "by": "isod89",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "relay": "clipper",
   "experimental": true,
   "types": [
    "synth",
    "experimental"
   ],
   "tracks": [
    1,
    "one instrument, with a layer"
   ],
   "byTrusted": true,
   "seen": "2026-10-19",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://isod89.github.io/clipper-fm1/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://isod89.github.io/clipper-fm1/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.3.1",
    "url": "https://github.com/isod89/clipper-fm1/releases/tag/v1.3.1",
    "assets": [
     {
      "name": "clipper-1.0-demo.wav",
      "url": "https://github.com/isod89/clipper-fm1/releases/download/v1.3.1/clipper-1.0-demo.wav",
      "size": 5200937,
      "sha256": "b78ba7b381b1253d0017c4174cf5403f9c80550d4cd2368f5d3bd103077a3544"
     },
     {
      "name": "clipper-1.3.1.fwsc",
      "url": "https://github.com/isod89/clipper-fm1/releases/download/v1.3.1/clipper-1.3.1.fwsc",
      "size": 610304,
      "sha256": "b29d53498a7bc40eb6d8409270b15b53576a6d116c2839217ac6210bf96e752a",
      "check": {
       "sha256": "b29d53498a7bc40eb6d8409270b15b53576a6d116c2839217ac6210bf96e752a",
       "bytes": 610105,
       "githubSha": true,
       "loader": true,
       "package": false,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": false,
       "says": "Not recognised as an FM-1 update package"
      }
     },
     {
      "name": "clipper-editor-1.3.1.html",
      "url": "https://github.com/isod89/clipper-fm1/releases/download/v1.3.1/clipper-editor-1.3.1.html",
      "size": 861184,
      "sha256": "e3ac84d7d082ea4c87d62d4e33e8018247cf3661c2d19d2a78579f8d295cf6d9"
     }
    ],
    "date": "2026-11-04",
    "title": "Clipper 1.3.1",
    "notes": "## Clipper 1.3.1: FM-1 units with the newer flash chip\n\nFM-1 units sold recently (mostly on AliExpress) carry a different flash chip, the UC25HQ80 (JEDEC ID 0xB36014), instead of the Puya P25Q80 (0x856014). It has the same size (1 MiB) and the same commands, but Clipper only knew the old one, so on these units:\n• projects, presets and settings were not saved (the screen said \"flash error\": everything stayed in RAM until power-off);\n• the update loader refused to install a new version.\n\nClipper 1.3.1 knows both chips: in the firmware, in the USB rescue and in the update loader. Nothing else changes.\n\nIf you have one of these units and already installed an older Clipper, its update loader does not know the chip and will refuse 1.3.1 too: go back to the official firmware first (the installer page's Return to the official firmware, or M-VAVE's M-UPGRADE with FM-1 V16), then install 1.3.1. From 1.3.1 on, updates install normally.\n\nThanks to Sven (The Firmware Hub) for the heads-up.\n\nCompatibility: projects, presets, samples and settings are kept; the project format is unchanged.\n\nInstall from the browser: https://isod89.github.io/clipper-fm1/webapp/installer/ (Chrome or Edge, the FM-1 on USB)."
   },
   "commit": {
    "date": "2026-11-04",
    "title": "Clipper 1.3.1 (FM-1): the newer flash chip. FM-1 units sold from late…",
    "url": "https://github.com/isod89/clipper-fm1/commit/7bc15a950a8b3fd51aec280514905448e4faaf1b"
   },
   "stars": 76,
   "created": "2026-10-19",
   "about": "Clipper: an experimental synthesizer firmware for the M-VAVE FM-1 (from SLOOP, based on Felucca)",
   "image": "https://raw.githubusercontent.com/isod89/clipper-fm1/HEAD/assets/logo/clipper-logo.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/isod89/clipper-fm1/HEAD/assets/logo/clipper-logo.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/isod89~clipper-fm1.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://isod89.github.io/sloop-fm1/"
    ],
    [
     "Editor",
     "https://isod89.github.io/sloop-fm1/webapp/editor/"
    ]
   ],
   "name": "SLOOP",
   "repo": "isod89/sloop-fm1",
   "by": "isod89",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "relay": "sloop",
   "note": "Its loader verifies after writing; a USB RESCUE mode after two failed boots, or OCT− held at power-on.",
   "types": [
    "groovebox"
   ],
   "vetted": "original",
   "byTrusted": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://isod89.github.io/sloop-fm1/webapp/installer/",
     "from": "list",
     "front": "https://isod89.github.io/sloop-fm1/"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://isod89.github.io/sloop-fm1/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.8.5",
    "url": "https://github.com/isod89/sloop-fm1/releases/tag/v2.8.5",
    "assets": [
     {
      "name": "sloop-2.8.5.fwsc",
      "url": "https://github.com/isod89/sloop-fm1/releases/download/v2.8.5/sloop-2.8.5.fwsc",
      "size": 610304,
      "sha256": "b0446effb840740a3aa5c386ce004e79334e4f833d48d82a9eb5edbfde92ae67",
      "check": {
       "sha256": "b0446effb840740a3aa5c386ce004e79334e4f833d48d82a9eb5edbfde92ae67",
       "bytes": 610076,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "sloop-editor-2.8.5.html",
      "url": "https://github.com/isod89/sloop-fm1/releases/download/v2.8.5/sloop-editor-2.8.5.html",
      "size": 965632,
      "sha256": "25fe6043084b6d6bdd0529699e2b8cf6f4ba186f7d04801c2564882dabb76f03"
     }
    ],
    "date": "2026-11-04",
    "title": "SLOOP 2.8.5",
    "notes": "Hi! Heads-up from The Firmware Hub.\n\nFM-1 units sold recently (mostly AliExpress) carry a UC25HQ80 flash, JEDEC ID 0xB36014, instead of the Puya P25Q80 (0x856014). Same size (1 MiB), the same plain SPI NOR commands.\n\nYour firmware checks for 0x856014, so it takes these units for unknown: saves stay in RAM (\"flash error\") and the update loader refuses to install. Users with the new chip are already writing in.\n\nFix: accept both IDs, in the app and in the update loader (ldr_flash_known in loader.c, if you have one):\n\n#define FL_JEDEC_OK(id) ((id) == 0x856014u || (id) == 0xB36014u)\n\nflash_ok = FL_JEDEC_OK(FL_FAR(fl_jedec_ram)());\n\nOberVave 3.3.1, sloopDX and Dinghy have it already. A new release with this goes on your hub card by itself.\n\nThanks!\n\nSven – The Firmware Hub"
   },
   "commit": {
    "date": "2026-11-04",
    "title": "SLOOP 2.8.5: FM-1 units with the UC25HQ80 flash (JEDEC 0xB36014, sold…",
    "url": "https://github.com/isod89/sloop-fm1/commit/bac9c05ea7627449405aa10e48da21d75b6c8c56"
   },
   "stars": 743,
   "created": "2026-10-04",
   "about": "A live groovebox firmware for the M-VAVE FM-1",
   "image": "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/logo/sloop-logo.png",
   "images": [
    "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/screens/sloop-2.6-screens.png",
    "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/screens/editor-sound.png",
    "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/screens/editor-midi-texture.png",
    "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/screens/sloop-screens.png",
    "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/screens/editor-drumsynth.png",
    "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/screens/editor-cartridge.png",
    "https://raw.githubusercontent.com/isod89/sloop-fm1/HEAD/assets/screens/editor-pianoroll.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/isod89~sloop-fm1.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://isod89.github.io/sloop-fm1/webapp/installer/",
     "names": [
      "sloop-2.7.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://majnikool.github.io/sloop-fm1/webapp/installer/"
    ]
   ],
   "name": "SLOOP (majnikool's fork)",
   "repo": "majnikool/sloop-fm1",
   "by": "majnikool",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "Test builds of SLOOP 2.5 (its majid branch), not SLOOP releases: twelve DX7 voice banks (D1–D384) for your own cartridges, presets browsed by kind, FX KEEP / DRY / RESET and a KEY VELOCITY setting.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://majnikool.github.io/sloop-fm1/webapp/installer/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.5-b28-test",
    "url": "https://github.com/majnikool/sloop-fm1/releases/tag/v2.5-b28-test",
    "assets": [
     {
      "name": "sloop-2.5-b28.fwsc",
      "url": "https://github.com/majnikool/sloop-fm1/releases/download/v2.5-b28-test/sloop-2.5-b28.fwsc",
      "size": 610304,
      "sha256": "a54e9d815db8502565023b11977f83da2fa9bcbdf824ee64ec67d81d601e4cd3",
      "check": {
       "sha256": "a54e9d815db8502565023b11977f83da2fa9bcbdf824ee64ec67d81d601e4cd3",
       "bytes": 610019,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-10-09",
    "title": "Test build 28: 2.5-b28 — DX7 voices play as the patch is",
    "notes": "DX7 voices play as the patch is, as upstream SLOOP plays a DX7 cartridge voice (its editor's cartridge presets: every value at its default, 'the patch plays as it is') and as M-VAVE's firmware plays its own: dry, no level trim. Build 26's per-voice level matching is removed: upstream's method judges a sound by its name (PIANO: short chords, PAD: held chords), which fits its own labelled sounds but not a cart — PIANO 6 swells like a pad, got +11.5 dB and played 10 dB over SYN PAD 5 on single notes. Kept: the names in banks 5–12 (25), KEY VELOCITY (default 100) and dry picks (27).\n\nSafe over builds 19–27: nothing is erased, no bank needs reloading. Going to plain upstream and back can erase banks 1–8 — save a backup in the editor first. Not a SLOOP release."
   },
   "commit": {
    "date": "2026-10-06",
    "title": "SLOOP 2.3: USB audio, MIDI IN jack, MIDI clock, REC modes, lights, ba…",
    "url": "https://github.com/majnikool/sloop-fm1/commit/d691ba7b2d922f1a1f41a3622cffe29ce41c5506"
   },
   "stars": 5,
   "created": "2026-10-06",
   "image": "https://raw.githubusercontent.com/majnikool/sloop-fm1/HEAD/assets/logo/sloop-logo.png",
   "images": [
    "https://raw.githubusercontent.com/majnikool/sloop-fm1/HEAD/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/majnikool/sloop-fm1/HEAD/assets/screens/sloop-2.3-screens.png",
    "https://raw.githubusercontent.com/majnikool/sloop-fm1/HEAD/assets/screens/screens.png",
    "https://raw.githubusercontent.com/majnikool/sloop-fm1/HEAD/assets/screens/editor-drums.png",
    "https://raw.githubusercontent.com/majnikool/sloop-fm1/HEAD/assets/screens/editor-chop.png",
    "https://raw.githubusercontent.com/majnikool/sloop-fm1/HEAD/assets/screens/editor-backup.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/majnikool~sloop-fm1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "SLOOP (René Bohne's fork)",
   "repo": "renebohne/sloop-fm1",
   "by": "renebohne",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "SLOOP 2.3 with FLOYD, a four-operator FM engine of its own: per-operator envelopes, seven pages (ALGO, OP1–OP4, LEVEL, RATIO) and a live vector oscilloscope; released as its 2.4.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://www.rene-bohne.de/sloop-fm1/webapp/installer/",
     "from": "site"
    }
   ],
   "release": {
    "tag": "v2.4",
    "url": "https://github.com/renebohne/sloop-fm1/releases/tag/v2.4",
    "assets": [
     {
      "name": "sloop-2.4.fwsc",
      "url": "https://github.com/renebohne/sloop-fm1/releases/download/v2.4/sloop-2.4.fwsc",
      "size": 610304,
      "sha256": "d70301ad3e1f67a71792a2644829658a8570eceb0681ba2ac6eb41d771cc7560",
      "check": {
       "sha256": "d70301ad3e1f67a71792a2644829658a8570eceb0681ba2ac6eb41d771cc7560",
       "bytes": 609802,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "felucca-2.4.fwsc",
      "url": "https://github.com/renebohne/sloop-fm1/releases/download/v2.4/felucca-2.4.fwsc",
      "size": 610304,
      "sha256": "7eb5f44a150fcf5ff08f278c8658a47d88e829f50b7a1df82cf8f8c604fff9b3",
      "check": {
       "sha256": "7eb5f44a150fcf5ff08f278c8658a47d88e829f50b7a1df82cf8f8c604fff9b3",
       "bytes": 610019,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-06",
    "title": "SLOOP 2.4",
    "notes": "## SLOOP 2.4 — Floyd 4-Operator Visual FM Engine + SLOOP 2.3 Upstream Sync\n• Floyd 4-Operator FM Engine: Inspired by Floyd Steinberg's 4-OP FM concept video and Jonathan Zeppa's FloydFM VST.\n• Per-Operator ADSR Envelopes: Full independent 4-stage envelopes with dedicated stage tracking and discrete level/ratio controls.\n• 7-Page UI Sub-Navigation: Dedicated pages for ALGO, OP1..OP4, LEVEL, and RATIO.\n• Live Vector Oscilloscope: Real-time ADSR curve plotting and ray-projected playhead tracer dots across active voices.\n• Upstream 2.3 Integration: Includes USB audio input streaming, backup system, and all official 2.3 features.\n• See FLOYD.md for full architecture and sound design reference."
   },
   "commit": {
    "date": "2026-10-07",
    "title": "SLOOP 2.4.1: FM6 hotfix, imported DX7 patches with AMS no longer play…",
    "url": "https://github.com/renebohne/sloop-fm1/commit/a1c5d68767ae10fafb6821dc63b9b1fc490342d2"
   },
   "stars": 3,
   "created": "2026-10-05",
   "image": "https://raw.githubusercontent.com/renebohne/sloop-fm1/HEAD/assets/logo/sloop-logo.png",
   "images": [
    "https://raw.githubusercontent.com/renebohne/sloop-fm1/HEAD/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/renebohne/sloop-fm1/HEAD/assets/screens/sloop-2.3-screens.png",
    "https://raw.githubusercontent.com/renebohne/sloop-fm1/HEAD/assets/screens/screens.png",
    "https://raw.githubusercontent.com/renebohne/sloop-fm1/HEAD/assets/screens/editor-drums.png",
    "https://raw.githubusercontent.com/renebohne/sloop-fm1/HEAD/assets/screens/editor-chop.png",
    "https://raw.githubusercontent.com/renebohne/sloop-fm1/HEAD/assets/screens/editor-backup.png"
   ],
   "pageFiles": [
    {
     "name": "sloop-2.4.1.fwsc",
     "url": "https://www.rene-bohne.de/sloop-fm1/firmware/sloop-2.4.1.fwsc",
     "page": "https://www.rene-bohne.de/sloop-fm1/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ac77b7a-94ee3\"",
     "size": 577632,
     "check": {
      "sha256": "98ccc614d67a6fe48ee180368d5586b64f071f3c196224bfff3daef1631fb005",
      "bytes": 610019,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "98ccc614d67a6fe48ee180368d5586b64f071f3c196224bfff3daef1631fb005"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "SLOOP 2.6-JA",
   "repo": "Azsoft-jp/sloop-fm1",
   "branch": "codex/ja-localization-sloop-2.6",
   "by": "Azsoft-jp",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "about": "SLOOP 2.6 with its FM-1 screens and web editor in Japanese (2.6-JA beta); not yet written to an FM-1.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-12",
    "title": "Reduce SLOOP 2.6 Japanese firmware footprint",
    "url": "https://github.com/Azsoft-jp/sloop-fm1/commit/c9db6be41486aeee9fa08ce182c96abe0f2721c3"
   },
   "stars": 0,
   "created": "2026-10-07",
   "image": "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/logo/sloop-logo.png",
   "images": [
    "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/screens/sloop-2.6-screens.png",
    "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/screens/editor-sound.png",
    "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/screens/editor-midi-texture.png",
    "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/screens/sloop-screens.png",
    "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/screens/editor-drumsynth.png",
    "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/screens/editor-cartridge.png",
    "https://raw.githubusercontent.com/Azsoft-jp/sloop-fm1/codex%2Fja-localization-sloop-2.6/assets/screens/editor-pianoroll.png"
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: 2.6 (27 punch-in effects, a per-track INSERT effect, tempo-synced LFO and envelopes, MIDI LEARN, live drum mutes, a bolder screen; after 2.5's two new engines, drum synth and MIDI CCs). Still a beta: install at your own risk, and please report what you find. Your projects, presets, samples and settings are kept when you update, and you can go back at any time (see Going back).",
    "date": "2026-10-12",
    "url": "https://github.com/Azsoft-jp/sloop-fm1#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://gonziweb.github.io/sloop-fm1/"
    ]
   ],
   "name": "SLOOP 3 songs",
   "repo": "gonziWeb/sloop-fm1",
   "by": "gonziWeb",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "about": "SLOOP 2.7.1 keeping three songs (SAVE + keys 9 to 11) in USR4's flash; tested on a computer only.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://gonziweb.github.io/sloop-fm1/webapp/installer/",
     "from": "list",
     "front": "https://gonziweb.github.io/sloop-fm1/"
    }
   ],
   "commit": {
    "date": "2026-10-17",
    "title": "CI: keep the built package on a firmware branch",
    "url": "https://github.com/gonziWeb/sloop-fm1/commit/79dd32bce73fb0bb517992003bc7cb212aac0ea9"
   },
   "stars": 0,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/logo/sloop-logo.png",
   "images": [
    "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/screens/sloop-2.6-screens.png",
    "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/screens/editor-sound.png",
    "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/screens/editor-midi-texture.png",
    "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/screens/sloop-screens.png",
    "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/screens/editor-drumsynth.png",
    "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/screens/editor-cartridge.png",
    "https://raw.githubusercontent.com/gonziWeb/sloop-fm1/HEAD/assets/screens/editor-pianoroll.png"
   ],
   "pageFiles": [
    {
     "name": "sloop-2.7-3songs.fwsc",
     "url": "https://gonziweb.github.io/sloop-fm1/firmware/sloop-2.7-3songs.fwsc",
     "page": "https://gonziweb.github.io/sloop-fm1/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ad30f3d-94ef3\"",
     "size": 592419,
     "check": {
      "sha256": "f5c618c8d50b092411d8bc2d9c28d72b44c98b8ebaaac3128dfa8920c82b0411",
      "bytes": 610035,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "f5c618c8d50b092411d8bc2d9c28d72b44c98b8ebaaac3128dfa8920c82b0411"
    }
   ],
   "pageMentions": [
    {
     "page": "https://gonziweb.github.io/sloop-fm1/webapp/installer/",
     "names": [
      "sloop-2.7.fwsc"
     ]
    }
   ],
   "readmeNotes": {
    "version": "v2.7.1",
    "text": "Status: 2.7.1 (a fix for 2.7: an FM-1 whose second core ran late showed a FELUCCA CRASH screen and restarted; it now carries on, on one core). 2.7: two processor cores, fifteen arp modes, KBD HOLD, drum TUNE and DECAY, favourite sounds, looping samples, QUANT off, MIDI 3, your own screen colours; after 2.6's 27 punch-in effects, INSERT and MIDI LEARN. Still a beta: install at your own risk, and please report what you find. Your projects, presets, samples and settings are kept when you update, and you can go back at any time (see Going back).",
    "date": "2026-10-17",
    "url": "https://github.com/gonziWeb/sloop-fm1#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "isod89/sloop-fm1",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://shaw-core.github.io/Sloop_ALG02/webapp/installer/"
    ],
    [
     "Editor",
     "https://shaw-core.github.io/Sloop_ALG02/webapp/editor/"
    ]
   ],
   "name": "SLOOP ALG",
   "repo": "shaw-core/Sloop_ALG02",
   "by": "shaw-core",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "experimental": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://shaw-core.github.io/Sloop_ALG02/webapp/installer/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://shaw-core.github.io/Sloop_ALG02/webapp/editor/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-07",
    "title": "fix: restore live scope and add editable factory preset overrides",
    "url": "https://github.com/shaw-core/Sloop_ALG02/commit/cbfcee3e79f759abffc2613b931f495d29e4c1e5"
   },
   "stars": 5,
   "created": "2026-10-05",
   "about": "适用于 M-VAVE FM-1 的 SLOOP 自定义固件，基于 SLOOP 2.2，扩展拨弦、加法、六算子 DX7、VA 与多种 KS 引擎，并提供 GitHub Pages 网页安装器和音色编辑器。",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/shaw-core~Sloop_ALG02/home.png",
   "pageFiles": [
    {
     "name": "sloop-ALG05-TEST.fwsc",
     "url": "https://shaw-core.github.io/Sloop_ALG02/firmware/sloop-ALG05-TEST.fwsc",
     "page": "https://shaw-core.github.io/Sloop_ALG02/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ac5e545-94e0a\"",
     "size": 554969,
     "check": {
      "sha256": "3017149d3de8e4b324b5bb1629bf30fc1b0b7745627e23927fa543b4626e8ee9",
      "bytes": 609802,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "3017149d3de8e4b324b5bb1629bf30fc1b0b7745627e23927fa543b4626e8ee9"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "installFrom": "page",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/shaw-core~Sloop_ALG02/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/shaw-core~Sloop_ALG02.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://chancethemaker.github.io/sloop-smk/"
    ]
   ],
   "name": "SLOOP SMK",
   "repo": "ChanceTheMaker/sloop-smk",
   "by": "ChanceTheMaker",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "board": "smk37",
   "about": "SLOOP 2.8's music and screens on Felucca SMK's hardware layer, for the SMK-37 Pro and Elite, with its own installer.",
   "byTrusted": true,
   "seen": "2026-10-20",
   "tools": [
    {
     "kind": "installer",
     "label": "Sloop SMK installer",
     "url": "https://chancethemaker.github.io/sloop-smk/",
     "from": "readme"
    },
    {
     "kind": "editor",
     "label": "Studio",
     "url": "https://chancethemaker.github.io/sloop-smk/editor.html",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "sloop-smk-2.8.0-b3",
    "url": "https://github.com/ChanceTheMaker/sloop-smk/releases/tag/sloop-smk-2.8.0-b3",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-22",
    "title": "sloop-smk-2.8.0-b3",
    "notes": "Sloop SMK 2.8.0-b3: paired pads, Low startup brightness and 2.8 music…"
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Make original-firmware restore independent of custom firmware names",
    "url": "https://github.com/ChanceTheMaker/sloop-smk/commit/08c823081d9ab394077767a0604df7799ad449b0"
   },
   "stars": 7,
   "created": "2026-10-11",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ChanceTheMaker~sloop-smk.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false
  },
  {
   "links": [],
   "name": "sloop-lab",
   "repo": "andrerezemini/sloop-lab",
   "by": "andrerezemini",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "synth-2.6",
    "url": "https://github.com/andrerezemini/sloop-lab/releases/tag/synth-2.6",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-13",
    "title": "synth-2.6",
    "notes": "docs: the synth branch in the README, the manual and the complete gui…"
   },
   "commit": {
    "date": "2026-10-11",
    "title": "stacks: core 0's two stacks painted at boot and measured on the conso…",
    "url": "https://github.com/andrerezemini/sloop-lab/commit/3b83f31020f5579f226e12aec58aacd70486e536"
   },
   "stars": 0,
   "created": "2026-10-10",
   "about": "SLOOP (isod89) for the M-VAVE FM-1, with experiments by Andre Rezemini: the second core (branch dualcore, bit-identical audio on both cores), less RAM (branch ram, 96.5 to 58.2 KB) and a synth series (branch synth: MIDI expression, a 4-slot…",
   "image": "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/sloop-2.6-screens.png",
   "images": [
    "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/sloop-2.6-screens.png",
    "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/editor-sound.png",
    "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/editor-midi-texture.png",
    "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/sloop-screens.png",
    "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/editor-drumsynth.png",
    "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/editor-cartridge.png",
    "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/editor-pianoroll.png",
    "https://raw.githubusercontent.com/andrerezemini/sloop-lab/HEAD/assets/screens/editor-backup.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website and installer",
     "https://dx7.designburgapps.com/"
    ],
    [
     "Editor",
     "https://dx7.designburgapps.com/webapp/editor/"
    ],
    [
     "Cheat sheet",
     "https://dx7.designburgapps.com/sloopdx-cheat-sheet.pdf"
    ]
   ],
   "name": "sloopDX",
   "repo": "zvenson/dxsloop",
   "by": "zvenson",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth"
   ],
   "about": "Custom firmware for the M-VAVE FM-1: FM drums you program on the device, and a DX7 on top (six operators, 32 algorithms, real voice editing).",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Website and installer",
     "url": "https://dx7.designburgapps.com/webapp/installer/",
     "from": "list",
     "front": "https://dx7.designburgapps.com/"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://dx7.designburgapps.com/webapp/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v4.0.1",
    "url": "https://github.com/zvenson/dxsloop/releases/tag/v4.0.1",
    "assets": [
     {
      "name": "felucca-4.0.1.fwsc",
      "url": "https://github.com/zvenson/dxsloop/releases/download/v4.0.1/felucca-4.0.1.fwsc",
      "size": 610304,
      "sha256": "cebc88c0f996f338d4741502ec7f99d05ecb9c6de3715ab674401a14d6a255d7",
      "check": {
       "sha256": "cebc88c0f996f338d4741502ec7f99d05ecb9c6de3715ab674401a14d6a255d7",
       "bytes": 610154,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-03",
    "title": "v4.0.1",
    "notes": "Full Changelog: v4.0...v4.0.1"
   },
   "commit": {
    "date": "2026-11-03",
    "title": "Site 4.0.1: the installer with sloopDX 4.0.1 (FM-1_940, the CI's atte…",
    "url": "https://github.com/zvenson/dxsloop/commit/8c1035b79d860edcb6f23556910206332669dac8"
   },
   "stars": 27,
   "created": "2026-10-06",
   "image": "https://raw.githubusercontent.com/zvenson/dxsloop/HEAD/assets/logo/sloopdx-logo.png",
   "images": [
    "https://raw.githubusercontent.com/zvenson/dxsloop/HEAD/assets/logo/sloopdx-logo.png",
    "https://img.youtube.com/vi/qas9XWBgpL4/maxresdefault.jpg",
    "https://raw.githubusercontent.com/zvenson/dxsloop/HEAD/assets/screens/sloopdx-screens.png",
    "https://raw.githubusercontent.com/zvenson/dxsloop/HEAD/assets/screens/editor-backup.png"
   ],
   "pageFiles": [
    {
     "name": "sloopdx-4.0.fwsc",
     "url": "https://dx7.designburgapps.com/firmware/sloopdx-4.0.fwsc",
     "page": "https://dx7.designburgapps.com/webapp/installer/",
     "found": "named",
     "etag": "\"6ad1e392-94f52\"",
     "size": 610130,
     "check": {
      "sha256": "5d330286fa42583db5d2e4eceb246dbcbcff6c8e716398f4c98ed87ab56c6c79",
      "bytes": 610130,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "5d330286fa42583db5d2e4eceb246dbcbcff6c8e716398f4c98ed87ab56c6c79"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "Snoop37",
   "repo": "genkigenki/sloop-fm1",
   "by": "genkigenki",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "board": "smk37",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.7.2",
    "url": "https://github.com/genkigenki/sloop-fm1/releases/tag/v2.7.2",
    "assets": [
     {
      "name": "snoop37-2.7.2.fwsc",
      "url": "https://github.com/genkigenki/sloop-fm1/releases/download/v2.7.2/snoop37-2.7.2.fwsc",
      "size": 651264,
      "sha256": "29abd2153eefa4d62702788f2eef4e23bebff32418734d175ca59c3772f306ba",
      "check": {
       "sha256": "29abd2153eefa4d62702788f2eef4e23bebff32418734d175ca59c3772f306ba",
       "bytes": 651206,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/genkigenki/sloop-fm1/releases/download/v2.7.2/SHA256SUMS",
      "size": 265,
      "sha256": "25740c1b515bbfb08f6eb3ec36a68b09cfdaeead8feb6d01e979368ae788c391"
     },
     {
      "name": "snoop37-2.7.2-elite.fwsc",
      "url": "https://github.com/genkigenki/sloop-fm1/releases/download/v2.7.2/snoop37-2.7.2-elite.fwsc",
      "size": 651264,
      "sha256": "5a8a5bce5e1b581b33c9c63f0d5de5124904deebdbee41f01d456216f39a616c",
      "check": {
       "sha256": "5a8a5bce5e1b581b33c9c63f0d5de5124904deebdbee41f01d456216f39a616c",
       "bytes": 651210,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "snoop37-2.7.2-mke.fwsc",
      "url": "https://github.com/genkigenki/sloop-fm1/releases/download/v2.7.2/snoop37-2.7.2-mke.fwsc",
      "size": 651264,
      "sha256": "55460a2a36aefd031be9b98861f3e55a2857595cc507ab46dac4b41425be1d80",
      "check": {
       "sha256": "55460a2a36aefd031be9b98861f3e55a2857595cc507ab46dac4b41425be1d80",
       "bytes": 651202,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-22",
    "title": "Snoop37 2.7.2",
    "notes": "Snoop37 2.7.2: PAD LIGHT (HOME menu > LIGHTS, fourth row, K8; K4 with KNOB LAYOUT = SMK): the pads at 100 % (as before), 75, 50 or 25 %. The dim states stay visible at every level, off stays off, and the setting is kept over power-off. Nothing else changes; settings from 2.7.1 are kept.\n\nInstall: https://genkigenki.github.io/smk37/"
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Snoop37 2.7.2: PAD LIGHT",
    "url": "https://github.com/genkigenki/sloop-fm1/commit/259c7bb02780f7be30370009693c97afc500eb19"
   },
   "stars": 19,
   "created": "2026-10-11",
   "about": "Snoop37: SLOOP by isod89 for the M-Vave SMK-37 (fork; branch snoop37). SMK-37 support offered upstream in #112.",
   "image": "https://raw.githubusercontent.com/genkigenki/sloop-fm1/HEAD/docs/img/banner.png",
   "images": [
    "https://raw.githubusercontent.com/genkigenki/sloop-fm1/HEAD/docs/img/banner.png",
    "https://raw.githubusercontent.com/genkigenki/sloop-fm1/HEAD/docs/img/intro.webp",
    "https://raw.githubusercontent.com/genkigenki/sloop-fm1/HEAD/docs/img/screens.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~sloop-fm1.jpg"
   ],
   "upstream": {
    "prs": [
     {
      "repo": "isod89/sloop-fm1",
      "pr": 112,
      "state": "open",
      "at": null,
      "title": "SMK-37 Pro target (BOARD=smk37), FM-1 build unchanged"
     },
     {
      "repo": "isod89/sloop-fm1",
      "pr": 130,
      "state": "open",
      "at": null,
      "title": "Optional: Snoop37 look for the SMK-37 build (SNOOP37=1, off by default)"
     }
    ],
    "says": "Snoop37 — SLOOP by isod89 for the M-Vave SMK-37, with an optional look. The SMK-37 support is offered upstream: #112 (hardware), #130 (look). Install: https://genkigenki.github.io/smk37/"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "isod89/sloop-fm1",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://spiralfractalplugins.github.io/spiralfm1/"
    ]
   ],
   "name": "SPIRALFM1",
   "repo": "Spiralfractalplugins/spiralfm1",
   "by": "Spiralfractalplugins",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "A forest, Goa, psytrance and hi-tech groovebox on SLOOP and MYCELIUM: six grooves, four factory songs, PSY FX.",
   "status": "1.0 beta: no release or live installer page yet.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "installer page",
     "url": "https://spiralfractalplugins.github.io/spiralfm1/webapp/installer/",
     "from": "readme",
     "front": "https://spiralfractalplugins.github.io/spiralfm1/"
    },
    {
     "kind": "editor",
     "label": "web editor",
     "url": "https://spiralfractalplugins.github.io/spiralfm1/webapp/editor/",
     "from": "readme"
    }
   ],
   "commit": {
    "date": "2026-10-21",
    "title": "AGENTS.md: the studio's parameter values are visible again, and the r…",
    "url": "https://github.com/Spiralfractalplugins/spiralfm1/commit/6e0fd2b824fde7ad3c3673c7b661d79a7bbc840c"
   },
   "stars": 1,
   "created": "2026-10-21",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/Spiralfractalplugins~spiralfm1/home.png",
   "pageFiles": [
    {
     "name": "spiralfm1-1.0.fwsc",
     "url": "https://spiralfractalplugins.github.io/spiralfm1/firmware/spiralfm1-1.0.fwsc",
     "page": "https://spiralfractalplugins.github.io/spiralfm1/webapp/installer/",
     "found": "named",
     "etag": "W/\"6ad87b6d-94ed5\"",
     "size": 576824,
     "check": {
      "sha256": "a96c4cdec5e2d62f18ce9f6416b98aa59f45f599419b228f38182d30e2736b83",
      "bytes": 610005,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "a96c4cdec5e2d62f18ce9f6416b98aa59f45f599419b228f38182d30e2736b83"
    }
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: 1.0, beta. Install at your own risk and report what you find. Flashing never touches the boot area: you can go back to SLOOP or the official firmware at any time. Your projects, presets, samples and settings survive updates. ## Screenshots <p align=\"center\"><img src=\"assets/spiralfm1/spiralfm1-logo.svg\" alt=\"The SPIRALFM1 mark\" width=\"260\"></p> The device firmware is from the Mycelium 1.0 build this work started from; the UI text and splash on SPIRALFM1 read differently now. More: assets/screens/ (live pages, layers, the web editor). ## What SPIRALFM1 adds over SLOOP | | | | --- | --- | | Grooves | HOME hold → GROOVES: six 32-step factory grooves, 144–196 BPM: Forest quarter kicks with three bass sixteenths, TeKK offbeat bass with end fill, HiTech rolling hats. Loading one never touches your saved project slots. | | Songs | HOME hold → SONGS: four factory songs, 240 bars, 16 sections each (atmosphere → build → drop → break), read-only; USER SONG restores your own order. SAVE from the overview banks the four song screens. | | PSY FX | The FX page opens a dedicated panel: KB LP (one lowpass over dry bass and the kick), SPACE (clocked echo and reverb together), FB+DRV (feedback and low-end drive), ALIEN+ (ring modulation and stutter on lead and FX only). | | Sound bank | 21 curated factory presets browsable on device (Psy / Goa / HiTech / Forest) plus the new MODERN MOTION pack: 16 more presets after the movement-bass, wobble, growl and big-room sound of modern soft synths (Vital, Serum 2) — original designs, no imported preset data. Three original drum kits: PSY KICK, FOREST, HITECH, built from 15 procedurally generated one-shots. | | Look | Original spiral mark and wordmark (drawn by tools/genspiralfm1svg.py), the 86-glyph pixel icon atlas, neon track colours, USB name \"SPIRALFM1\", manufacturer \"Spiralfractal\". | The full notes: SPIRALFM1.md. Changelog: CHANGELOG.md. ## Install From the browser (Chrome or Edge, Web MIDI): open the installer page, put the FM-1 on USB, hold POWER → B1 while you tap Install. Make a backup first with the web editor (Projects → Backup). From the command line (needs pip3 install mido python-rtmidi): sh python3 tools/fm1install.py build/felucca.fwsc python3 tools/fm1install.py --info # identity of the connected FM-1 Windows: tools/windows/INSTALL-SPIRALFM1.bat builds in WSL and opens the installer locally. ## Play it in the browser (Studio) The firmware's own code runs in the browser: the same nine engines, the sequencer, the punch-in FX and the ADPCM samples, compiled to WebAssembly. No FM-1, no USB. - Open the Studio — play it with the computer keyboard or a MIDI keyboard, edit the sequence in the page. - Build it: python3 tools/buildstudio.py → build/studio/engine.wasm + build/studio/samples.bin (clang with the wasm32 target and lld; the script uses a debian container on macOS). - Put it in the site: python3 web/makesite.py build/felucca.fwsc 1.0 site → site/webapp/studio/. The DSP is not a re-implementation: firmware/src/ is compiled for wasm32 like tests/hostsim.c compiles it for the host, web/studio/engine.c is the bridge, and web/studio/worklet.js runs the engine in an AudioWorklet. ## Your first beat 1. HOME hold → GROOVES → pick FOREST JAM → OCT+ twice to confirm (transport stopped). 2. Play any key: the beat starts. OCT+ / OCT- transpose, the four knobs live on the track page. 3. FX tap: PSY FX; ARP tap: GALLOP → OFFBEAT → FULL-ON bass patterns. Details in SPIRALFM1.md and the SLOOP manual (everything else is SLOOP's: tracks, layers, recording, drums, songs, MIDI, USB audio, the editor). ## Build and tests sh pip3 install Pillow tools/gettoolchain.sh && tools/getsdkfiles.sh # once ./build.sh # -> build/felucca.fwsc sh tests/runtests.sh # every host test, no hardware See BUILDING.md (macOS needs Docker; CI runs on Linux) and CONTRIBUTING.md — hear any preset without a device with build/host/hostsim ENGINE PRESET MONO out.wav. ## Compatibility Any M-VAVE FM-1 on the official firmware V15 (the update page starts from it). The package identity is FM-1900; provenance of every release: meta/. ## Documentation - SPIRALFM1.md — what SPIRALFM1 adds, version by version (Deutsch, Русский) - docs/MANUAL.md — the full SLOOP base manual (every page, layer, sound, kit) - docs/quickstart-fr.md — démarrage rapide en français - docs/quickstart-ru.md — как запустить веб-установщик локально и на Pages (Русский) - web/EDITORPROTOCOL.md — the editor's SysEx protocol - BUILDING.md · CHANGELOG.md · LICENSING.md ## Credits and basis SPIRALFM1 is an independent firmware, not a fork of one repository but a build of its own on top of three: - Mycelium 1.0 (Mandalars, 2026) — the groovebox layer this version starts from: the six curated grooves, the four 240-bar factory songs, the PSY FX panel, per-track probability, the curated sound bank and the icon atlas. Renamed artwork, retuned presets and regenerated drums since then; the base release is recorded in meta/BASE-MYCELIUM-.json, this one in meta/SPIRALFM1-PROVENANCE.json. - Leo Kuroshita / Hügelton Instruments — Felucca, the platform all of this runs on - 3dSam / isod89 — SLOOP, the groovebox base - The FM-1 hacking community: awesome-fm-1 and FM-1-RE for the reverse-engineered update path ## Licence GPL-3.0-only for the code; assets are separately licensed (CC0 samples, OFL and MIT fonts) — the full map with texts in LICENSING.md and LICENSES/. \"M-VAVE\" and \"FM-1\" are trademarks of their respective owners. SPIRALFM1 is independent firmware: not affiliated with, endorsed by or supported by them. SPIRALFM1 never enables the Bluetooth / Wi-Fi radio of the hardware\n…",
    "date": "2026-10-21",
    "url": "https://github.com/Spiralfractalplugins/spiralfm1#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "scl-hold",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/Spiralfractalplugins~spiralfm1/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Spiralfractalplugins~spiralfm1.jpg"
   ]
  },
  {
   "links": [
    [
     "Website, installer and editor",
     "https://michaeljsmalley.github.io/synthesthetic/"
    ],
    [
     "Emulator",
     "https://michaeljsmalley.github.io/synthesthetic/play/"
    ]
   ],
   "name": "Synthesthetic",
   "repo": "michaeljsmalley/synthesthetic",
   "by": "michaeljsmalley",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "experimental"
   ],
   "about": "SLOOP 2.7.1 that also sends video: its visualizers reach a computer as a USB camera while it plays.",
   "experimental": true,
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Website, installer and editor",
     "url": "https://michaeljsmalley.github.io/synthesthetic/webapp/installer/",
     "from": "list",
     "front": "https://michaeljsmalley.github.io/synthesthetic/"
    }
   ],
   "release": {
    "tag": "v0.3-beta",
    "url": "https://github.com/michaeljsmalley/synthesthetic/releases/tag/v0.3-beta",
    "assets": [
     {
      "name": "synthesthetic-0.3.fwsc",
      "url": "https://github.com/michaeljsmalley/synthesthetic/releases/download/v0.3-beta/synthesthetic-0.3.fwsc",
      "size": 610304,
      "sha256": "993e4e45f660db226d5e2703cf5ee1928b09893184a68b73397b459ea0be0bda",
      "check": {
       "sha256": "993e4e45f660db226d5e2703cf5ee1928b09893184a68b73397b459ea0be0bda",
       "bytes": 610026,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/michaeljsmalley/synthesthetic/releases/download/v0.3-beta/SHA256SUMS",
      "size": 384,
      "sha256": "a06fe86ef04ebe7beb69efd8fe7c3fa258b30bbdcd1f738f645cc9c0986499c7"
     },
     {
      "name": "synthesthetic-0.3-smk37-elite.fwsc",
      "url": "https://github.com/michaeljsmalley/synthesthetic/releases/download/v0.3-beta/synthesthetic-0.3-smk37-elite.fwsc",
      "size": 651264,
      "sha256": "008d3f1ace40128800240e3781ed89f3ff48bfbba132765f68d3561873449b68",
      "check": {
       "sha256": "008d3f1ace40128800240e3781ed89f3ff48bfbba132765f68d3561873449b68",
       "bytes": 651200,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "synthesthetic-0.3-smk37-mke.fwsc",
      "url": "https://github.com/michaeljsmalley/synthesthetic/releases/download/v0.3-beta/synthesthetic-0.3-smk37-mke.fwsc",
      "size": 651264,
      "sha256": "200d73bfbcd2484bc15cea8b15c5620bd6d5d8fc53967ddbd7b99608a26c7f01",
      "check": {
       "sha256": "200d73bfbcd2484bc15cea8b15c5620bd6d5d8fc53967ddbd7b99608a26c7f01",
       "bytes": 651192,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "synthesthetic-0.3-smk37.fwsc",
      "url": "https://github.com/michaeljsmalley/synthesthetic/releases/download/v0.3-beta/synthesthetic-0.3-smk37.fwsc",
      "size": 651264,
      "sha256": "7c0c09e3c1a7618127b4c74d78dd1267a8bdda4119718627f1f8fe984699b2d2",
      "check": {
       "sha256": "7c0c09e3c1a7618127b4c74d78dd1267a8bdda4119718627f1f8fe984699b2d2",
       "bytes": 651196,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-10-30",
    "title": "Synthesthetic 0.3 beta",
    "notes": "Synthesthetic turns the M-VAVE FM-1 and the M-Vave SMK-37 into an audio/video synth. It sends 30 visualizers to your computer over USB, on the same cable as USB-MIDI and USB audio, and the instrument is still a four-track groovebox underneath. This release brings the groovebox up to SLOOP 2.8.3 and runs on the SMK-37. It's still a beta, tested on one FM-1 and one SMK-37 Elite, with macOS.\n\n## What's new\n• The SMK-37 (Pro, Elite and MKE-P37) runs Synthesthetic. The middle 27 keys are the FM-1's keys, with velocity; the outer keys play more notes, or drums on the drum track; the 16 pads show the step grid and play the drum kit; the faders have five banks, levels, filters, reverb and delay sends, and VISUAL, the visualizer's four knobs; the pitch wheel bends and the mod wheel adds vibrato. USB video and SCREEN mode work the same, from the keyboard's own display. The board layer is M. Geisler's (genkigenki), from the SMK-37 port of SLOOP. SMK37.md has every control.\n• SLOOP 2.8.3 underneath, up from 2.7.1: a NOTES piano-roll editor on the synth tracks and a per-step sheet on the drums, filter resonance on every track, a settable punch-in fade, MIDI expression and bank select, a steadier external MIDI clock, held notes kept under others while recording, drums that no longer drop out, a sample played again starting from silence, and a hardened second core.\n• SYSTEM > RESET in the menu: forget MIDI LEARN, put every setting back, or erase everything, with two presses of OCT+ to confirm.\n• The installer carries a package for each instrument and picks the right one for the device it finds. The Play page is 0.3 too.\n\n## Updating from 0.2\n• On the FM-1, install it the same way as 0.2. Your projects, presets, kits and samples are kept. The USB audio interface is listed in a new order for macOS 15, so if the Synthesthetic audio input is missing afterwards, unplug the FM-1 and plug it back in once.\n• On an SMK-37 running one of genkigenki's ports, or M-Vave's official V016, the installer writes Synthesthetic directly. The first boot clears the previous firmware's data in the shared store; the keyboard's calibration and the way back to the official firmware are untouched. Back up the whole flash first, as with every custom firmware.\n• The HOME menu has six sections on the FM-1 now, SCREEN, LIGHTS, AUDIO, SEQ, SYSTEM and VJ, and nine on the SMK-37.\n\n## Known limits\n• On the SMK-37, DAW mode, the TRS MIDI OUT jack and the pedal input come from genkigenki's layer unchanged and have not been tried on a unit yet.\n• Windows and Linux are untested, as before."
   },
   "commit": {
    "date": "2026-10-30",
    "title": "site test: the preview image's URL carries the version",
    "url": "https://github.com/michaeljsmalley/synthesthetic/commit/589bd0f30b68b66f78dab84debb42909131f4cad"
   },
   "stars": 2,
   "created": "2026-10-21",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/michaeljsmalley~synthesthetic/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/michaeljsmalley~synthesthetic/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/michaeljsmalley~synthesthetic.jpg"
   ]
  },
  {
   "links": [],
   "name": "Videodrome",
   "repo": "Leeman1982/sloop-fm1",
   "branch": "claude/videodrome-synth-port-4bn2t8",
   "by": "Leeman1982",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "groovebox"
   ],
   "board": "both",
   "stage": "development",
   "experimental": true,
   "about": "SLOOP 2.8 with six component-level models of classic synths (Model D, Prophet-5, Jupiter-8, OB-X, MS-20, CS-80).",
   "note": "Untested on hardware (its VIDEODROME.md). Packages for the FM-1 and the SMK-37 Pro, Elite and MKE-P37 are committed in releases/ on that branch.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-23",
    "title": "Videodrome 1.1: UI overhaul, CH 83 public access with xtro's panel vo…",
    "url": "https://github.com/Leeman1982/sloop-fm1/commit/c51905fbee7f57b88d625feb9ae9e68d6e2b570c"
   },
   "stars": 1,
   "created": "2026-10-21",
   "image": "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/logo/sloop-logo.png",
   "images": [
    "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/logo/sloop-logo.png",
    "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/screens/sloop-2.6-screens.png",
    "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/screens/editor-sound.png",
    "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/screens/editor-midi-texture.png",
    "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/screens/sloop-screens.png",
    "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/screens/editor-drumsynth.png",
    "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/screens/editor-cartridge.png",
    "https://raw.githubusercontent.com/Leeman1982/sloop-fm1/claude%2Fvideodrome-synth-port-4bn2t8/assets/screens/editor-pianoroll.png"
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: 2.8 (a NOTES piano-roll editor for the synth tracks and the same per-step sheet on the drums, the playing section A–D shown on the main screen, resonance on every filter, the FX filter on the drums, drum TUNE on the noise sounds, a settable punch-in fade, steadier MIDI clock in, MIDI Bank Select; fixes: a reliable USB RESCUE, the browser installer finds the FM-1's loader by its handshake, the in-browser return-to-stock removed — use M-UPGRADE). 2.7: two processor cores, fifteen arp modes, KBD HOLD, drum TUNE and DECAY, favourite sounds, looping samples, QUANT off, MIDI 3, your own screen colours; after 2.6's 27 punch-in effects, INSERT and MIDI LEARN. Still a beta: install at your own risk, and please report what you find. Your projects, presets, samples and settings are kept when you update, and you can go back at any time (see Going back).",
    "date": "2026-10-23",
    "url": "https://github.com/Leeman1982/sloop-fm1#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "parent": "isod89/sloop-fm1",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer and simulator",
     "https://hericdk.github.io/winampFM/"
    ]
   ],
   "name": "winampFM",
   "repo": "hericdk/winampFM",
   "by": "hericdk",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and simulator",
     "url": "https://hericdk.github.io/winampFM/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.9",
    "url": "https://github.com/hericdk/winampFM/releases/tag/v0.9",
    "assets": [],
    "prerelease": true,
    "date": "2026-11-02",
    "title": "v0.9",
    "notes": "v0.9: SLOOP 2.8.4, scale arpeggio, WAVE mini editor, the chord in the…"
   },
   "commit": {
    "date": "2026-11-02",
    "title": "Simulator: a smaller file, without the build's debug information",
    "url": "https://github.com/hericdk/winampFM/commit/9e3c73f969665a22b50df55d7649f414752db96b"
   },
   "stars": 10,
   "created": "2026-10-13",
   "about": "winampFM Synth: a Winamp 2.x-style firmware for the M-VAVE FM-1, based on SLOOP 2.6 (GPL-3.0)",
   "image": "https://raw.githubusercontent.com/hericdk/winampFM/HEAD/media/launch.jpg",
   "pageFiles": [
    {
     "name": "winampfm-0.9.fwsc",
     "url": "https://hericdk.github.io/winampFM/release/winampfm-0.9.fwsc",
     "page": "https://hericdk.github.io/winampFM/",
     "found": "named",
     "etag": "W/\"6ae8e3d8-94f04\"",
     "size": 596060,
     "check": {
      "sha256": "527b8932547719db6387ff989019dc4167290993b4ffb443993c3d003820fe34",
      "bytes": 610052,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "527b8932547719db6387ff989019dc4167290993b4ffb443993c3d003820fe34"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "winampFM SMK-37",
   "repo": "genkigenki/winampFM",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "board": "smk37",
   "about": "winampFM (hericdk, on SLOOP 2.6) on the M-Vave SMK-37 keyboard: genkigenki's port.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-13",
    "title": "SMK37.md: winampFM on the SMK-37 (models, build, install, the way bac…",
    "url": "https://github.com/genkigenki/winampFM/commit/6251d64721c4a3391e68c74280917375c8eb7767"
   },
   "stars": 2,
   "created": "2026-10-13",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~winampFM.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false,
   "parent": "hericdk/winampFM"
  },
  {
   "links": [
    [
     "Installer",
     "https://charlesvestal.github.io/fm1-fomni/install/"
    ],
    [
     "Emulator",
     "https://charlesvestal.github.io/fm1-fomni/emu/"
    ]
   ],
   "name": "FoMni-1",
   "repo": "charlesvestal/fm1-fomni",
   "by": "charlesvestal",
   "fam": "fomni",
   "lic": "GPL-3.0",
   "note": "Felucca 0.9's loader; SAFE MODE with USB after two failed boots (as X0X).",
   "types": [
    "theory"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://charlesvestal.github.io/fm1-fomni/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.4.1",
    "url": "https://github.com/charlesvestal/fm1-fomni/releases/tag/v0.4.1",
    "assets": [
     {
      "name": "omni-0.4.1-app.bin",
      "url": "https://github.com/charlesvestal/fm1-fomni/releases/download/v0.4.1/omni-0.4.1-app.bin",
      "size": 159744,
      "sha256": "d3226f0defbe53ae28759064761c87fd3a1076413a4a58a082f0608bb1e3fb28"
     },
     {
      "name": "omni-0.4.1.fwsc",
      "url": "https://github.com/charlesvestal/fm1-fomni/releases/download/v0.4.1/omni-0.4.1.fwsc",
      "size": 609280,
      "sha256": "f937b807da1cfe13d43bef86c2469fa45d6a88b2b3a7f4b6f5b9741bdb0351ab",
      "check": {
       "sha256": "f937b807da1cfe13d43bef86c2469fa45d6a88b2b3a7f4b6f5b9741bdb0351ab",
       "bytes": 609659,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/charlesvestal/fm1-fomni/releases/download/v0.4.1/SHA256SUMS",
      "size": 209,
      "sha256": "9d0426c36c722f8232476c98c839cd1ff19cb99e62a4e3bcdfe4a69b6f9a83f5"
     }
    ],
    "date": "2026-11-05",
    "title": "FoMni-1 0.4.1",
    "notes": "Install it with the web installer in Chrome or Edge, or try it first in the emulator.\n• FoMni-1 now works on the newer FM-1s. Units sold since autumn 2026, mostly on AliExpress, have a different flash chip (UC25HQ80). Until this release, FoMni-1 couldn't save on them, back them up or install another firmware. Now it can, and the rescue script takes them too. Thanks to Laurens (@profikid) for the fix (fm1-base#35).\n• M-VAVE's updater, M-UPGRADE 3.11 (2026-11-03), didn't find an FM-1 running FoMni-1. It said \"A USB MIDI device is present but did not answer\". This version answers it, so M-UPGRADE can put M-VAVE's firmware back. Older versions of FoMni-1 still aren't found: for those, use \"Back to the stock firmware\" on the install page.\n• The install page works again. On 0.4's page the buttons had no labels and nothing could be installed.\n• The installer and the rescue script take M-VAVE's stock firmware V16 as well as V15.\n• The site's pages work with a screen reader and the keyboard. In the emulator, every knob, button and key can be reached with the keyboard, and the screen is spoken, as the FM-1 Screen Reader speaks the FM-1's.\n• The emulator fits a phone's screen.\n\nReleases are now built and attested on GitHub (zvenson/fm1-build), so the Firmware Hub can check where a package came from.\n\nomni-0.4.1.fwsc is the firmware to install; omni-0.4.1-app.bin is the bare app image."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "M-UPGRADE 3.11 finds FoMni-1 again: ota.c answers its handshake with …",
    "url": "https://github.com/charlesvestal/fm1-fomni/commit/17a740b7b2d19615ffe19aa73f8eda67f60f223d"
   },
   "stars": 77,
   "created": "2026-10-06",
   "about": "FoMni: a chord harp firmware for the M-VAVE FM-1, inspired by the Omnichord. Strum the white keys, pick chords on the black ones.",
   "image": "https://img.youtube.com/vi/pahaM6nzucE/maxresdefault.jpg",
   "images": [
    "https://img.youtube.com/vi/pahaM6nzucE/maxresdefault.jpg",
    "https://raw.githubusercontent.com/charlesvestal/fm1-fomni/HEAD/docs/img/screen-strum.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-fomni/HEAD/docs/img/screen-chord.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-fomni/HEAD/docs/img/screen-rhythm.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-fomni.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://cartesive.github.io/fumi-1/"
    ]
   ],
   "name": "FuMi-1",
   "repo": "cartesive/fumi-1",
   "by": "cartesive",
   "fam": "fomni",
   "lic": "GPL-3.0",
   "types": [
    "theory"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://cartesive.github.io/fumi-1/install/",
     "from": "list",
     "front": "https://cartesive.github.io/fumi-1/"
    }
   ],
   "release": {
    "tag": "fumi-1.1.0",
    "url": "https://github.com/cartesive/fumi-1/releases/tag/fumi-1.1.0",
    "assets": [
     {
      "name": "fumi-1.1.0.fwsc",
      "url": "https://github.com/cartesive/fumi-1/releases/download/fumi-1.1.0/fumi-1.1.0.fwsc",
      "size": 609280,
      "sha256": "211db1c2efc379b0a29a284aea523c67e230d98dab7a7f91336cc3fbd1201188",
      "check": {
       "sha256": "211db1c2efc379b0a29a284aea523c67e230d98dab7a7f91336cc3fbd1201188",
       "bytes": 609657,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-23",
    "title": "FuMi-1 1.1.0",
    "notes": "The loop's ruler reaches 20–240 BPM and 4–256 beats (the knob moves the beats four at a time; up to 12:48 of loop, shown as a time on the Loop page). The loop survives power-off: a stopped loop is written to flash a few seconds later with its layers' instruments and comes back stopped at the next power-on, in a flash object of its own. The trill starts at 85 and the ornament key's oroshi at Long; a setup from any earlier version still at the old defaults takes the new ones (PROJ_FORMAT 5), one set away from them keeps its own. Identity FM-1_7010100. Notes in docs/CHANGELOG.md. Install from https://cartesive.github.io/fumi-1/install/\n\nNo new SoundFont: the voices are unchanged, so FuMi-1.0.8.sf2 on the 1.0.8 release stays the SoundFont."
   },
   "commit": {
    "date": "2026-10-23",
    "title": "1.1.0 review fixes: the loop image keeps slot 8 (a 16-bit slot word);…",
    "url": "https://github.com/cartesive/fumi-1/commit/6a20fa387cf6bc28a33309a09aaa94a108325e2e"
   },
   "stars": 21,
   "created": "2026-10-09",
   "about": "FuMi-1: custom firmware for the M-VAVE FM-1 inspired by the Suiko ST-50 shigin conductor (a fork of FoMni)",
   "image": "https://raw.githubusercontent.com/cartesive/fumi-1/HEAD/docs/img/screen-home.png",
   "images": [
    "https://raw.githubusercontent.com/cartesive/fumi-1/HEAD/docs/img/screen-home.png",
    "https://raw.githubusercontent.com/cartesive/fumi-1/HEAD/docs/img/screen-loop.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/cartesive~fumi-1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "glo",
    "glo-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://charlesvestal.github.io/fm1-amb/install/"
    ],
    [
     "Emulator",
     "https://charlesvestal.github.io/fm1-amb/emu/"
    ],
    [
     "Manual",
     "https://charlesvestal.github.io/fm1-amb/manual/"
    ]
   ],
   "name": "AMB-1",
   "repo": "charlesvestal/fm1-amb",
   "by": "charlesvestal",
   "fam": "indep",
   "lic": "MPL-2.0",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://charlesvestal.github.io/fm1-amb/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.3.1",
    "url": "https://github.com/charlesvestal/fm1-amb/releases/tag/v1.3.1",
    "assets": [
     {
      "name": "amb-1.3.1-app.bin",
      "url": "https://github.com/charlesvestal/fm1-amb/releases/download/v1.3.1/amb-1.3.1-app.bin",
      "size": 120832,
      "sha256": "a32e81b3f7261c82b4c21db2a09a3c37d8cbb1946f9c749d1cca1326c5698619"
     },
     {
      "name": "amb-1.3.1.fwsc",
      "url": "https://github.com/charlesvestal/fm1-amb/releases/download/v1.3.1/amb-1.3.1.fwsc",
      "size": 615424,
      "sha256": "1abb966c88d979a76ab4215a4f40508f10abc9e3c220ba67898a45b3920041e8",
      "check": {
       "sha256": "1abb966c88d979a76ab4215a4f40508f10abc9e3c220ba67898a45b3920041e8",
       "bytes": 614938,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "amb-1.3.1.rfm1",
      "url": "https://github.com/charlesvestal/fm1-amb/releases/download/v1.3.1/amb-1.3.1.rfm1",
      "size": 200704,
      "sha256": "fc2a72099a443ebde9b32780183d20dd58484b06a1d47efaa97234f5e3f10ddc"
     },
     {
      "name": "firmware.json",
      "url": "https://github.com/charlesvestal/fm1-amb/releases/download/v1.3.1/firmware.json",
      "size": 1167,
      "sha256": "932b0a3cee3d6e2cf05760f324ca1f7f8addaec1be9235dc4888a1b86eebfd48"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/charlesvestal/fm1-amb/releases/download/v1.3.1/SHA256SUMS",
      "size": 410,
      "sha256": "dfc9b5b0b2638d1053fa2e90b658fe4f657a1d5be53cb592538cfb46885359a4"
     }
    ],
    "date": "2026-11-05",
    "title": "AMB-1 1.3.1",
    "notes": "The music is the same: the same pieces, played the same way. This release is about the FM-1 around it.\n• AMB-1 now plays on the newer FM-1s. Units sold since autumn 2026, mostly on AliExpress, have a different flash chip (UC25HQ80). Until this release, AMB-1 couldn't keep your pieces' settings on them, back them up or install another firmware. Now it can, and the rescue script takes them too. Thanks to Laurens (@profikid) for the fix (fm1-base#35).\n• The top line shows the battery: three bars when it's full, fewer as it runs down, red when it's time to charge, and a lightning bolt when the FM-1 is plugged into a computer. The screen reader says it too. Thanks to @Bronislas for asking (#9).\n• M-VAVE's updater, M-UPGRADE 3.11 (2026-11-03), didn't find an FM-1 running AMB-1. It said \"A USB MIDI device is present but did not answer\". This version answers it, so M-UPGRADE can put M-VAVE's firmware back. Older versions of AMB-1 still aren't found: for those, use \"Back to the stock firmware\" on the install page.\n• Installing is much quicker from now on. Once AMB-1 1.3.1 is on the FM-1, the next install writes only the parts that changed, and if the cable comes out halfway it carries on at the next power-on.\n• The install page works again. Since late October its Install button stayed greyed out.\n• The install page finds the FM-1 under any port name, checks the package before sending it, and takes M-VAVE's stock firmware V16 as well as V15.\n• The emulator plays in tune and in time on computers whose audio runs at 48 kHz. Before, it played a little high and fast there.\n\nReleases are now built and attested on GitHub (zvenson/fm1-build), so the Firmware Hub can check where a package came from. Each release also carries amb-1.3.1.rfm1 for host apps (RemoteFM1) and firmware.json for firmware hubs.\n• Try it in the browser: https://charlesvestal.github.io/fm1-amb/emu/\n• Install (Chrome or Edge, FM-1 on USB): https://charlesvestal.github.io/fm1-amb/install/\n• Manual: https://charlesvestal.github.io/fm1-amb/manual/\n\nYour pieces' settings carry over."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "base: fm1-base 698e2cb (the installer page runs again: fm1ota.js's CR…",
    "url": "https://github.com/charlesvestal/fm1-amb/commit/30101b27452e96e9ef70a1123eb05fe52ec25eef"
   },
   "stars": 114,
   "created": "2026-10-07",
   "about": "AMB-1: a generative ambient machine for the M-VAVE FM-1, inspired by Music for Airports",
   "image": "https://raw.githubusercontent.com/charlesvestal/fm1-amb/HEAD/docs/img/screen-garden.png",
   "images": [
    "https://raw.githubusercontent.com/charlesvestal/fm1-amb/HEAD/docs/img/screen-garden.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-amb/HEAD/docs/img/screen-voices.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-amb/HEAD/docs/img/screen-frozen.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-amb.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://charlesvestal.github.io/fm1-amb/manual/",
     "names": [
      "amb-1.0.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "AMBII",
   "repo": "JalopyMusic/fm1-milkboyg-ambii",
   "by": "JalopyMusic",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "stage": "development",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "missing": true,
   "missingSince": "2026-10-29T21:07:16.756Z",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "gone",
   "experimental": false
  },
  {
   "links": [
    [
     "MIDI guide",
     "https://m-vave-fm1-midi-guide.up.railway.app/"
    ],
    [
     "Installer",
     "https://baudgirl.com/work/FM-1+VA/install"
    ]
   ],
   "name": "BAUDGIRL",
   "home": "https://baudgirl.com/",
   "by": "BAUDGIRL",
   "fam": "indep",
   "lic": "closed",
   "vetted": "original",
   "types": [
    "synth"
   ],
   "about": "FM-1+VA, Baud Girl's closed-source firmware for the FM-1: a virtual-analog (VA) engine beside the FM sound, a reworked sequencer, and every sound parameter edited on the device in a list; installed from her site.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://baudgirl.com/work/FM-1+VA/install",
     "from": "list"
    }
   ],
   "pageFiles": [
    {
     "name": "FM-1+VA-102.fwsc",
     "url": "https://baudgirl.com/fm1/firmware/FM-1+VA-102.fwsc",
     "page": "https://baudgirl.com/work/FM-1+VA/install",
     "etag": "W/\"d1e34-1a155aaeea0\"",
     "size": 859700,
     "check": {
      "sha256": "7b169a69b30570581d0ebc7b44851e3e08898d2956ade155363bcf18fac5c348",
      "bytes": 859700,
      "githubSha": null,
      "loader": false,
      "package": false,
      "identity": null,
      "sizeOk": true,
      "ok": false,
      "says": "Not recognised as an FM-1 update package"
     },
     "sha256": "7b169a69b30570581d0ebc7b44851e3e08898d2956ade155363bcf18fac5c348"
    },
    {
     "name": "FM-1+VA-101.fwsc",
     "url": "https://baudgirl.com/fm1/firmware/FM-1+VA-101.fwsc",
     "page": "https://baudgirl.com/work/FM-1+VA/install",
     "found": "named",
     "etag": "W/\"d1e34-1a155aaeea0\"",
     "size": 859700,
     "check": {
      "sha256": "b43d6fcdf5618b83e3294b84d0b177f490956b903024452d021cd7667a61f9b4",
      "bytes": 859700,
      "githubSha": null,
      "loader": false,
      "package": false,
      "identity": null,
      "sizeOk": true,
      "ok": false,
      "says": "Not recognised as an FM-1 update package"
     },
     "sha256": "b43d6fcdf5618b83e3294b84d0b177f490956b903024452d021cd7667a61f9b4"
    },
    {
     "name": "FM-1+VA-97.fwsc",
     "url": "https://baudgirl.com/fm1/firmware/FM-1+VA-97.fwsc",
     "page": "https://baudgirl.com/work/FM-1+VA/install",
     "found": "named",
     "etag": "W/\"cfe34-1a155aaeea0\"",
     "size": 851508,
     "check": {
      "sha256": "08ed843fe0057f290905f0c456edb0647ab063c34057ed9c30c0b921e03626e2",
      "bytes": 851508,
      "githubSha": null,
      "loader": false,
      "package": false,
      "identity": null,
      "sizeOk": true,
      "ok": false,
      "says": "Not recognised as an FM-1 update package"
     },
     "sha256": "08ed843fe0057f290905f0c456edb0647ab063c34057ed9c30c0b921e03626e2"
    },
    {
     "name": "FM-1+VA-96.fwsc",
     "url": "https://baudgirl.com/fm1/firmware/FM-1+VA-96.fwsc",
     "page": "https://baudgirl.com/work/FM-1+VA/install",
     "found": "named",
     "etag": "W/\"cee34-1a155aaeea0\"",
     "size": 847412,
     "check": {
      "sha256": "c6b4a3813ec5d5a7d58f5883df57c3a20b04ca66007fbe1618e1b85784b9e109",
      "bytes": 847412,
      "githubSha": null,
      "loader": false,
      "package": false,
      "identity": null,
      "sizeOk": true,
      "ok": false,
      "says": "Not recognised as an FM-1 update package"
     },
     "sha256": "c6b4a3813ec5d5a7d58f5883df57c3a20b04ca66007fbe1618e1b85784b9e109"
    }
   ],
   "siteReleases": [
    {
     "version": "FM-1_102",
     "date": "2026-10-19",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-102.fwsc",
     "sha256": "7b169a69b30570581d0ebc7b44851e3e08898d2956ade155363bcf18fac5c348",
     "device": "fm1",
     "current": true,
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_101",
     "date": "2026-10-12",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-101.fwsc",
     "sha256": "b43d6fcdf5618b83e3294b84d0b177f490956b903024452d021cd7667a61f9b4",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_097",
     "date": "2026-10-09",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-97.fwsc",
     "sha256": "08ed843fe0057f290905f0c456edb0647ab063c34057ed9c30c0b921e03626e2",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_096",
     "date": "2026-10-06",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-96.fwsc",
     "sha256": "c6b4a3813ec5d5a7d58f5883df57c3a20b04ca66007fbe1618e1b85784b9e109",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_093",
     "date": "2026-09-30",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-93.fwsc",
     "sha256": "ac69c2cd070a5fa606fb4170f190fee0aa593f73e8fdc58b638ac89269e39b48",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_092",
     "date": "2026-09-29",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-92.fwsc",
     "sha256": "ed8415f32f5e2ff5558a24cee45eafd8d0a5b1982af14d4cb88ba019b876eb80",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_089",
     "date": "2026-09-27",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-89.fwsc",
     "sha256": "22970024894434cb4bc7ab3a69e8fb1c2ebdc4bba072944a13326bd1a3cbe367",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_086",
     "date": "2026-09-26",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-86.fwsc",
     "sha256": "39e1ff50600e209ed102119c3ec4f5d0f9358bbe5014fe37359ec5441297c70d",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_085",
     "date": "2026-09-26",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-85.fwsc",
     "sha256": "c82a055a01abdc4c04adb553c960ac3ce1fca9cf0da71f29e45e0ff52d4ad43d",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_084",
     "date": "2026-09-26",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-84.fwsc",
     "sha256": "134fe7592945aa7f8c81a5b42f0b57106853c1e7113c88df64cc5eed3b017856",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_083",
     "date": "2026-09-26",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-83.fwsc",
     "sha256": "b6587ed274757107617fab8bff0621398a477697f6e220700ef4c3db11ba94d7",
     "device": "fm1",
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    },
    {
     "version": "FM-1_094",
     "date": "2026-09-30",
     "file": "https://baudgirl.com/fm1/firmware/FM-1+VA-94.fwsc",
     "sha256": "187e587cea1590ac2e62ad954e7e1522615aaf1572d9f6144788cc34a0704515",
     "device": "fm1",
     "beta": true,
     "url": "https://baudgirl.com/work/FM-1+VA/install"
    }
   ],
   "release": {
    "tag": "FM-1_102",
    "name": "FM-1_102",
    "date": "2026-10-19",
    "url": "https://baudgirl.com/work/FM-1+VA/install",
    "assets": [
     {
      "name": "FM-1+VA-102.fwsc",
      "url": "https://baudgirl.com/fm1/firmware/FM-1+VA-102.fwsc",
      "sha256": "7b169a69b30570581d0ebc7b44851e3e08898d2956ade155363bcf18fac5c348"
     },
     {
      "name": "FM-1+VA-101.fwsc",
      "url": "https://baudgirl.com/fm1/firmware/FM-1+VA-101.fwsc",
      "sha256": "b43d6fcdf5618b83e3294b84d0b177f490956b903024452d021cd7667a61f9b4"
     },
     {
      "name": "FM-1+VA-97.fwsc",
      "url": "https://baudgirl.com/fm1/firmware/FM-1+VA-97.fwsc",
      "sha256": "08ed843fe0057f290905f0c456edb0647ab063c34057ed9c30c0b921e03626e2"
     },
     {
      "name": "FM-1+VA-96.fwsc",
      "url": "https://baudgirl.com/fm1/firmware/FM-1+VA-96.fwsc",
      "sha256": "c6b4a3813ec5d5a7d58f5883df57c3a20b04ca66007fbe1618e1b85784b9e109"
     }
    ],
    "site": true
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false
  },
  {
   "links": [
    [
     "Website and emulator",
     "https://sikkenworks.github.io/BEETLE/"
    ],
    [
     "Installer",
     "https://sikkenworks.github.io/BEETLE/WebInstaller.html"
    ],
    [
     "Simulator",
     "https://sikkenworks.github.io/BEETLE/simulator.html"
    ],
    [
     "Project manager",
     "https://sikkenworks.github.io/BEETLE/BEETLE-Project-Manager.html"
    ],
    [
     "Releases",
     "https://github.com/SikkenWorks/BEETLE/releases"
    ]
   ],
   "name": "BEETLE",
   "repo": "SikkenWorks/BEETLE",
   "by": "SikkenWorks",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A tracker for the FM-1, with a web installer and simulator.",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://sikkenworks.github.io/BEETLE/WebInstaller.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "V1.8.2",
    "url": "https://github.com/SikkenWorks/BEETLE/releases/tag/V1.8.2",
    "assets": [
     {
      "name": "BEETLE-V1.8.2.fwsc",
      "url": "https://github.com/SikkenWorks/BEETLE/releases/download/V1.8.2/BEETLE-V1.8.2.fwsc",
      "size": 610304,
      "sha256": "0723249c39d6aed49c6542083e53446c87cc88de4c7227ab1a1699adeac99f14",
      "check": {
       "sha256": "0723249c39d6aed49c6542083e53446c87cc88de4c7227ab1a1699adeac99f14",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-11-02",
    "title": "BEETLE V1.8.2",
    "notes": "No content."
   },
   "commit": {
    "date": "2026-11-02",
    "title": "Update",
    "url": "https://github.com/SikkenWorks/BEETLE/commit/b40eca7b8157be95f0836a7e9708384474768c3b"
   },
   "stars": 5,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/SikkenWorks/BEETLE/HEAD/BEETLE.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "scl",
    "scl-hold",
    "edit-hold",
    "glo"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/SikkenWorks/BEETLE/HEAD/BEETLE.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/SikkenWorks~BEETLE.jpg"
   ]
  },
  {
   "links": [
    [
     "Website",
     "https://erbubar23.github.io/bubba-machine/"
    ],
    [
     "Installer",
     "https://erbubar23.github.io/bubba-machine/instalar.html"
    ],
    [
     "Emulator",
     "https://erbubar23.github.io/bubba-machine/emulador.html"
    ],
    [
     "Editor",
     "https://erbubar23.github.io/bubba-machine/control.html"
    ],
    [
     "Manual",
     "https://github.com/Erbubar23/bubba-machine/blob/main/docs/MANUAL.md"
    ]
   ],
   "name": "Bubba Machine",
   "repo": "Erbubar23/bubba-machine",
   "by": "Erbubar23",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://erbubar23.github.io/bubba-machine/instalar.html",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://erbubar23.github.io/bubba-machine/control.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.2.0",
    "url": "https://github.com/Erbubar23/bubba-machine/releases/tag/v0.2.0",
    "assets": [],
    "date": "2026-10-10",
    "title": "Bubba Machine 0.2.0",
    "notes": "Primera versión pública de Bubba Machine, firmware libre (GPL-3.0-or-later) de groovebox de 6 pistas para el M-VAVE FM-1.\n\nImportante: esta versión funciona completa en el emulador web y en las pruebas de PC. El port al FM-1 todavía no se ha probado en hardware y no hay binario para instalar. No intentes flashear nada. Ver Instalar.\n\n## Agregado\n• Batería TR (T1) y sampler (T2) con 16 instrumentos, cada uno con su línea y su largo (polímetro), acento, repetición ×2-×4, flam, P-Locks y pasos que solo suenan (o callan) en el fill. Roll en vivo y borrado estilo TR.\n• Tiempo por pista: largo 1-64 y velocidad ×2 a ×1/4; largo maestro de 16 pasos a infinito.\n• Sampler: graba la mezcla con chops en vivo; 2 slots de 4 s en flash que se reproducen directo (XIP).\n• Loops de fábrica en la ROM (BUBBA 160 y BUBBA 128), sintetizados por tools/gen_loops.py. El demo arranca con uno.\n• Dibujo del sample por frecuencias: tres carriles (graves, medios y agudos) en lugar de la forma de onda, que en música muy comprimida es un bloque.\n• Loopera de notas por pista en los synths (REC › PLAY › OVERDUB).\n• Acordes en cuadrícula 4×4 con grado, nombre y función por color; juegos de progresiones, voicing conducido y strum.\n• Escenas A-D con cadenas y SONG REC; fills automáticos.\n• Tercera pulsación de 2 s (TIEMPO, SISTEMA, SAMPLER, borrar pista, guardado rápido) con anillo de progreso.\n• Licencia GPL-3.0-or-later, documentación, sitio web y CI.\n\n## Cambiado\n• El proyecto se publica como Bubba Machine, independiente de cualquier firmware anterior.\n\nSitio: https://erbubar23.github.io/bubba-machine/ · Manual: https://erbubar23.github.io/bubba-machine/docs/manual.html",
    "pre": {
     "tag": "v0.10.0-beta",
     "title": "Bubba Machine 0.10.0-beta: every machine is its own instrument",
     "date": "2026-10-25",
     "url": "https://github.com/Erbubar23/bubba-machine/releases/tag/v0.10.0-beta"
    }
   },
   "commit": {
    "date": "2026-10-25",
    "title": "Merge pull request #17 from Erbubar23/qa",
    "url": "https://github.com/Erbubar23/bubba-machine/commit/038020e1da721093e7481e8c7c8fd046d0571821"
   },
   "stars": 10,
   "created": "2026-10-10",
   "about": "Bubba Machine: firmware libre (GPL-3.0) de groovebox de 6 pistas para el M-VAVE FM-1",
   "image": "https://raw.githubusercontent.com/Erbubar23/bubba-machine/HEAD/assets/logo/bubba-machine-logo.png",
   "images": [
    "https://raw.githubusercontent.com/Erbubar23/bubba-machine/HEAD/assets/logo/bubba-machine-logo.png",
    "https://raw.githubusercontent.com/Erbubar23/bubba-machine/HEAD/assets/screens/00-home.png",
    "https://raw.githubusercontent.com/Erbubar23/bubba-machine/HEAD/assets/screens/02-seq-tr.png",
    "https://raw.githubusercontent.com/Erbubar23/bubba-machine/HEAD/assets/screens/81-b303-panel.png",
    "https://raw.githubusercontent.com/Erbubar23/bubba-machine/HEAD/assets/screens/90-slicer-trim.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Erbubar23~bubba-machine.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://erbubar23.github.io/bubba-machine/en/docs/install.html",
     "names": [
      "bubba-machine-0.9.0-beta.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website and emulator",
     "https://twochannels.github.io/CS-1/"
    ],
    [
     "Installer",
     "https://twochannels.github.io/CS-1/install.html"
    ]
   ],
   "name": "CS-1",
   "repo": "twochannels/CS-1",
   "by": "twochannels",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://twochannels.github.io/CS-1/install.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.3.2",
    "url": "https://github.com/twochannels/CS-1/releases/tag/v0.3.2",
    "assets": [
     {
      "name": "cs1-0.3.2.fwsc",
      "url": "https://github.com/twochannels/CS-1/releases/download/v0.3.2/cs1-0.3.2.fwsc",
      "size": 610304,
      "sha256": "abde7ad1503e39c92d5d476f0a30799491f0e459307e67e4be8cb73e86f94c68",
      "check": {
       "sha256": "abde7ad1503e39c92d5d476f0a30799491f0e459307e67e4be8cb73e86f94c68",
       "bytes": 610113,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-22",
    "title": "CS-1 0.3.2",
    "notes": "CS-1 0.3.2\n\nInstalling another firmware over CS-1 works again. Packages with M-VAVE's own update loader, the official V15 and firmwares built on it, were refused on any unit whose flash head was older than V15's, and the screen only flickered. CS-1 now checks the chip key in the package's head rather than the whole head. A refused update says why on screen for three seconds.",
    "pre": {
     "tag": "v0.3.4",
     "title": "v0.3.4",
     "date": "2026-10-22",
     "url": "https://github.com/twochannels/CS-1/releases/tag/v0.3.4"
    }
   },
   "commit": {
    "date": "2026-10-22",
    "title": "The randomiser: a RANDOM page drawing new sounds from what 910 sounds…",
    "url": "https://github.com/twochannels/CS-1/commit/5dce8fadd3aa86cf47a3290289ee1c10b7c102e4"
   },
   "stars": 9,
   "created": "2026-10-14",
   "about": "A CS-80-style synthesizer firmware for the M-VAVE FM-1: a sound module for a dawless rig, played over MIDI (TRS or USB) from a sequencer such as the Novation Circuit Tracks.",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/twochannels~CS-1.jpg",
   "pageFiles": [
    {
     "name": "cs1.fwsc",
     "url": "https://twochannels.github.io/CS-1/firmware/cs1.fwsc",
     "page": "https://twochannels.github.io/CS-1/install.html",
     "found": "named",
     "etag": "W/\"6ada21b3-94f41\"",
     "size": 256919,
     "check": {
      "sha256": "25179bef57f6136a36071647bbca6d6b82f718042d8ca6ccb5b13d1c9051110c",
      "bytes": 610113,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "25179bef57f6136a36071647bbca6d6b82f718042d8ca6ccb5b13d1c9051110c"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl-hold",
    "edit",
    "glo"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://charlesvestal.github.io/fm1-ctl/install/"
    ],
    [
     "Emulator",
     "https://charlesvestal.github.io/fm1-ctl/emu/"
    ],
    [
     "Manual",
     "https://charlesvestal.github.io/fm1-ctl/manual/"
    ]
   ],
   "name": "CTL-1",
   "repo": "charlesvestal/fm1-ctl",
   "by": "charlesvestal",
   "fam": "indep",
   "lic": "MPL-2.0",
   "types": [
    "theory"
   ],
   "bt": "midi",
   "btHow": "On at every boot; its ctl-usb package is the same without it.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://charlesvestal.github.io/fm1-ctl/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.0.1",
    "url": "https://github.com/charlesvestal/fm1-ctl/releases/tag/v1.0.1",
    "assets": [
     {
      "name": "ctl-usb-1.0.1.fwsc",
      "url": "https://github.com/charlesvestal/fm1-ctl/releases/download/v1.0.1/ctl-usb-1.0.1.fwsc",
      "size": 615424,
      "sha256": "de9eebbe6283fcd66e715dd0d53dc84bf68b62cbbe798d5bba7cd81c23405794",
      "check": {
       "sha256": "de9eebbe6283fcd66e715dd0d53dc84bf68b62cbbe798d5bba7cd81c23405794",
       "bytes": 614938,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "ctl-1.0.1-app.bin",
      "url": "https://github.com/charlesvestal/fm1-ctl/releases/download/v1.0.1/ctl-1.0.1-app.bin",
      "size": 505856,
      "sha256": "846e0b64499cf5d31656b7d8759f8b7a198dcff1bcb34fde21ef159c9fc66db5"
     },
     {
      "name": "ctl-1.0.1.fwsc",
      "url": "https://github.com/charlesvestal/fm1-ctl/releases/download/v1.0.1/ctl-1.0.1.fwsc",
      "size": 615424,
      "sha256": "0d065868dd5bb889fc52ee0c8a0ae297531524c268422aff722ece4357f1bef2",
      "check": {
       "sha256": "0d065868dd5bb889fc52ee0c8a0ae297531524c268422aff722ece4357f1bef2",
       "bytes": 614938,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "ctl-1.0.1.rfm1",
      "url": "https://github.com/charlesvestal/fm1-ctl/releases/download/v1.0.1/ctl-1.0.1.rfm1",
      "size": 480256,
      "sha256": "414c4f65ae2493672fd57e926ed02608f0339b682087878f2eed27d219dccfe6"
     },
     {
      "name": "ctl-usb-1.0.1-app.bin",
      "url": "https://github.com/charlesvestal/fm1-ctl/releases/download/v1.0.1/ctl-usb-1.0.1-app.bin",
      "size": 365568,
      "sha256": "a1ffc3e0fd843d4c956d12671d89c48d8cee9c8a0991cd9482bf2462c3ad4e4c"
     },
     {
      "name": "firmware.json",
      "url": "https://github.com/charlesvestal/fm1-ctl/releases/download/v1.0.1/firmware.json",
      "size": 1290,
      "sha256": "0575eb2582ca5c96f288a466b880224e05e6e0d8da5452518bb16b6ef88182a4"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/charlesvestal/fm1-ctl/releases/download/v1.0.1/SHA256SUMS",
      "size": 625,
      "sha256": "18309ea4f215e97feb73797726e63050889e3aeea9993b9ffc23783537379277"
     }
    ],
    "date": "2026-11-05",
    "title": "CTL-1 1.0.1",
    "notes": "• CTL-1 now works on the newer FM-1s. Units sold since autumn 2026, mostly on AliExpress, have a different flash chip (UC25HQ80). Until this release, CTL-1 couldn't keep your settings on them, back them up or install another firmware. Now it can, and the rescue script takes them too. Thanks to Laurens (@profikid) for the fix (fm1-base#35).\n• M-VAVE's updater, M-UPGRADE 3.11 (2026-11-03), didn't find an FM-1 running CTL-1. It said \"A USB MIDI device is present but did not answer\". This version answers it, so M-UPGRADE can put M-VAVE's firmware back. Older versions of CTL-1 still aren't found: for those, use \"Back to the stock firmware\" on the install page.\n• Installing is much quicker from now on. Once CTL-1 1.0.1 is on the FM-1, the next install writes only the parts that changed, and if the cable comes out halfway it carries on at the next power-on.\n• The install page finds the FM-1 under any port name, checks the package before sending it, and takes M-VAVE's stock firmware V16 as well as V15. If your FM-1 crashes, \"Report a problem\" on the install page reads what happened.\n• The emulator plays in tune and in time on computers whose audio runs at 48 kHz. Before, it played a little high and fast there.\n• In the emulator, press \"MIDI ports\" and pick an in and an out to play CTL-1 with your own gear. The page remembers your ports.\n\nTwo files, either one installs over the other:\n• ctl-1.0.1.fwsc: USB, TRS and Bluetooth MIDI.\n• ctl-usb-1.0.1.fwsc: the same without Bluetooth.\n\nReleases are now built and attested on GitHub (zvenson/fm1-build), so the Firmware Hub can check where a package came from. Each release also carries an .rfm1 for host apps (RemoteFM1) and firmware.json for firmware hubs.\n• Try it in the browser: https://charlesvestal.github.io/fm1-ctl/emu/\n• Install (Chrome or Edge, FM-1 on USB): https://charlesvestal.github.io/fm1-ctl/install/"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "base: fm1-base 698e2cb (the installer page runs again: fm1ota.js's CR…",
    "url": "https://github.com/charlesvestal/fm1-ctl/commit/2b560cf1de65a7efa1dbe08e85536fc44a7d82ba"
   },
   "stars": 23,
   "created": "2026-10-08",
   "about": "CTL-1: a MIDI controller firmware for the M-VAVE FM-1, with General MIDI sounds of its own",
   "image": "https://raw.githubusercontent.com/charlesvestal/fm1-ctl/HEAD/docs/img/screen-play.png",
   "images": [
    "https://raw.githubusercontent.com/charlesvestal/fm1-ctl/HEAD/docs/img/screen-play.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-ctl/HEAD/docs/img/screen-keys.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-ctl/HEAD/docs/img/screen-seq.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-ctl.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://charlesvestal.github.io/fm1-ctl/manual/",
     "names": [
      "ctl-VERSION.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://johnskiller.github.io/driftseq/"
    ]
   ],
   "name": "DriftSeq",
   "repo": "johnskiller/driftseq",
   "by": "johnskiller",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A 16-track polymetric master MIDI sequencer, with a GM engine to play drafts.",
   "types": [
    "groovebox"
   ],
   "stage": "emulator",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-26",
    "title": "the two code spans lost from this message by shell substitution: a to…",
    "url": "https://github.com/johnskiller/driftseq/commit/841cafdff17e3b7e0a42635d2362ea9c71b7680c"
   },
   "stars": 1,
   "created": "2026-10-14",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/johnskiller~driftseq.jpg",
   "readmeNotes": {
    "version": "",
    "text": "Status: web/emu is live — spec phase closed, remaining input-detail decisions are play-gated (test them in the emu or on device).",
    "date": "2026-10-26",
    "url": "https://github.com/johnskiller/driftseq#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer",
     "https://sbegueria.github.io/fm1-dub/install/"
    ],
    [
     "Emulator",
     "https://sbegueria.github.io/fm1-dub/emu/"
    ],
    [
     "Manual",
     "https://sbegueria.github.io/fm1-dub/manual/"
    ]
   ],
   "name": "DUB-1",
   "repo": "sbegueria/fm1-dub",
   "by": "sbegueria",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A generative dub techno machine, a fork of AMB-1: it plays itself (chord stabs into a tape echo, FM pings, sub bass, kick, hats, crackle) and you steer it: piece, scale, filter, feedback, dub hold, 16 effects.",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://sbegueria.github.io/fm1-dub/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.4.3",
    "url": "https://github.com/sbegueria/fm1-dub/releases/tag/v1.4.3",
    "assets": [
     {
      "name": "dub-1.4.3.fwsc",
      "url": "https://github.com/sbegueria/fm1-dub/releases/download/v1.4.3/dub-1.4.3.fwsc",
      "size": 609280,
      "sha256": "19cc9649583192d0634467e18e28532078d4d7889231c9e842da7fb4ff869c0a",
      "check": {
       "sha256": "19cc9649583192d0634467e18e28532078d4d7889231c9e842da7fb4ff869c0a",
       "bytes": 609666,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-30",
    "title": "DUB-1 1.4.3",
    "notes": "DUB-1 1.4.3 brings MIDI CC in, a page for the chord's filter, stabs that open and close like the records', and fuller intros and outros.\n\nTry it in the browser: https://sbegueria.github.io/fm1-dub/emu/\n\nInstall from Chrome or Edge: https://sbegueria.github.io/fm1-dub/install/\n\nManual: https://sbegueria.github.io/fm1-dub/manual/\n\nCheat sheets: https://sbegueria.github.io/fm1-dub/cheatsheets/\n\n## New\n• MIDI CC in, on channel 1: a controller's knobs and faders turn DUB-1's, through the same path as the panel's (the table is in the manual, \"MIDI\"). Contributed by Christian Meier (@christianmeier, PR #4); thank you!\n• The Chord filter page, ENV a third time (Chord, Chord voice, Chord filter, Chord FM, Chord LFO): Cutoff, Reso, Env (how far each stab opens the filter) and Env decay (how fast it closes). Its picture draws the cutoff falling after each strike, with how far it opens and its half-time (\"1.3 oct, half 30 ms\").\n• Colour on the Chord voice page (KNOB 3), next to Attack and Decay; it stays on the Chord FM page too.\n\n## Changed\n• The stabs' filter, after the records. Measured on the classic albums and the Munich set, a dub chord's filter falls about half an octave within some 45 ms of the strike; DUB-1's closed about three times faster. Basic, Steppers, Concrete and Pressure now close at their model albums' pace; the other four pieces sound as before.\n• ENV held (the nudge) moves Env and Env decay too.\n• Fuller intros and outros. Measured against the classic albums, DUB-1's intros stayed far too quiet for too long: an Ambient piece's could sit more than 10 LU under its body for 11 or 12 bars. Now the noise and the chord come in from the downbeat, the kick and the bass sooner, and the first parts fade in over a bar or two; an LP outro keeps its bass and kick longer, thinning out at the end as the records do.\n• Segue comes in from the next piece's second phrase, as the Mix does since 1.4.2: the new kick, bass and noise start under the held echo, the chord and the pings once it lets go. No more quiet hole at the start of an Ambient piece.\n\n## Fixed\n• The chord's filter envelope was drawn about seven times slower than it plays.\n• A warning that stopped the build with GCC 12 and later (reported in PR #4).\n\n## Upgrading\n\nProjects saved by earlier versions load as they are, and every piece keeps its sound: a piece you changed keeps its filter envelope as it was. They're saved as format 36 from now on. Going back to 1.4.2 or earlier after saving on 1.4.3 starts every piece from its recipe again, as with any older firmware.\n\n## Installing\n\nUse the web installer above, or download dub-1.4.3.fwsc below and run python3 tools/fm1_install.py dub-1.4.3.fwsc from a checkout of the source. To go back, use the installer's \"Back to the stock firmware\", or M-VAVE's M-UPGRADE. Installing other firmware is at your own risk; an FM-1 that fails to start twice comes up in a safe mode the installer can reach.\n\nEverything new in 1.4.0 is in the 1.4.0 release; 1.4.1 fixed PRESETS turned fast, 1.4.2 made a Set's Mix seamless.\n\nGPL-3.0-only. A fork of AMB-1 by Charles Vestal. M-VAVE and FM-1 are trademarks of their owners; DUB-1 is not affiliated with M-VAVE or Hügelton Instruments."
   },
   "commit": {
    "date": "2026-10-30",
    "title": "emu_browser_test: MIDI in alone (the Grid's feedback checks to the MI…",
    "url": "https://github.com/sbegueria/fm1-dub/commit/501c4cf22bb2c5ffdcf43467890127de623825dd"
   },
   "stars": 35,
   "created": "2026-10-16",
   "image": "https://raw.githubusercontent.com/sbegueria/fm1-dub/HEAD/docs/img/screen-main.png",
   "images": [
    "https://raw.githubusercontent.com/sbegueria/fm1-dub/HEAD/docs/img/screen-main.png",
    "https://raw.githubusercontent.com/sbegueria/fm1-dub/HEAD/docs/img/screen-perform.png",
    "https://raw.githubusercontent.com/sbegueria/fm1-dub/HEAD/docs/img/screen-hold.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/sbegueria~fm1-dub.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website and installer",
     "https://etch.sikkenworks.com/"
    ]
   ],
   "name": "ETCH",
   "repo": "SikkenWorks/ETCH",
   "by": "SikkenWorks",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "experimental"
   ],
   "experimental": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Website and installer",
     "url": "https://etch.sikkenworks.com/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "V1.88",
    "url": "https://github.com/SikkenWorks/ETCH/releases/tag/V1.88",
    "assets": [
     {
      "name": "ETCH-V1.88.fwsc",
      "url": "https://github.com/SikkenWorks/ETCH/releases/download/V1.88/ETCH-V1.88.fwsc",
      "size": 610304,
      "sha256": "65bcb51012d81c9c8206c4843ce04b5c03177b8f09ed74313799ebec0798330f",
      "check": {
       "sha256": "65bcb51012d81c9c8206c4843ce04b5c03177b8f09ed74313799ebec0798330f",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-30",
    "title": "V1.88",
    "notes": "No content."
   },
   "commit": {
    "date": "2026-10-30",
    "title": "Update index.html",
    "url": "https://github.com/SikkenWorks/ETCH/commit/19166366f1a3b4b18b1ef68ece87d2f8f85a2be9"
   },
   "stars": 10,
   "created": "2026-10-12",
   "about": "DRAW. MORPH. MODULATE. M-VAVE FM1",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/SikkenWorks~ETCH/edit.png",
   "pageFiles": [
    {
     "name": "ETCH-V1.86.fwsc",
     "url": "https://sikkenworks.github.io/ETCH/release/ETCH-V1.86.fwsc",
     "page": "https://sikkenworks.github.io/ETCH/",
     "etag": "W/\"6ae4a778-94f26\"",
     "size": 371496,
     "check": {
      "sha256": "cb014b49a1a099dc388f7cd094d9b353e75cd7414080cf958c25b588af0f4591",
      "bytes": 610086,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "cb014b49a1a099dc388f7cd094d9b353e75cd7414080cf958c25b588af0f4591"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "home",
    "scl",
    "scl-hold",
    "edit",
    "glo",
    "glo-hold"
   ],
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://jadamsowers.github.io/fm1-fimba/"
    ]
   ],
   "name": "FiMba-1",
   "repo": "jadamsowers/fm1-fimba",
   "by": "jadamsowers",
   "fam": "fomni",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://jadamsowers.github.io/fm1-fimba/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.6.1",
    "url": "https://github.com/jadamsowers/fm1-fimba/releases/tag/v0.6.1",
    "assets": [
     {
      "name": "fimba-0.6.1.fwsc",
      "url": "https://github.com/jadamsowers/fm1-fimba/releases/download/v0.6.1/fimba-0.6.1.fwsc",
      "size": 609280,
      "sha256": "2ce744411ab6142a27e5c6238b8eb2f3875ccaa1e6fc47726211bf09f1393fa7",
      "check": {
       "sha256": "2ce744411ab6142a27e5c6238b8eb2f3875ccaa1e6fc47726211bf09f1393fa7",
       "bytes": 609657,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "FiMba-1.html",
      "url": "https://github.com/jadamsowers/fm1-fimba/releases/download/v0.6.1/FiMba-1.html",
      "size": 168960,
      "sha256": "450f335fd043556586e3ad7584b9d7aaa2e00a2433fe48faee990a41517cd848"
     }
    ],
    "prerelease": true,
    "date": "2026-10-13",
    "title": "FiMba-1 0.6.1 (beta)",
    "notes": "## What's new in 0.6.1\n• Less work with Reverb at 0: once the reverb's tail has died away, the reverb stops running until\n\nyou turn it up again (on the FM-1, about 24% → 15% CPU when nothing is playing). Nothing changes in\n\nthe sound.\n\nFiMba-1: a physically modelled kalimba (thumb piano) firmware for the M-VAVE FM-1.\n\nBeta. FiMba-1 runs on the FM-1, installed with the web updater. Custom firmware is installed at\n\nyour own risk, so have the way back ready first (below). Its package differs from FoMni's only in\n\nthe app, checked byte by byte in this release's build.\n\n## Files\n\nFile\nWhat it is\n\nfimba-0.6.1.fwsc\nThe firmware package, to install on the FM-1\n\nFiMba-1.html\nThe browser version in one file: open it from disk, no FM-1 needed\n\nOr play it online: https://jadamsowers.github.io/fm1-fimba/\n\n## Installing\n• Get the way back ready. Download M-VAVE's stock firmware (FM-1 V15, \"PC Firmware\" at\n\nm-vave.com/download) and keep it. If FiMba-1 fails to start twice, the FM-1 comes up in safe mode\n\n(no sound, USB on), where you can reinstall. After four failed starts it enters the chip's own\n\nupdate mode, which the package can't overwrite, and tools/fm1_rescue.py puts stock firmware\n\nback. FoMni's web installer can also restore it.\n• Install from the web page: https://jadamsowers.github.io/fm1-fimba/#install (Chrome or Edge):\n\nconnect the FM-1 by USB and press Install. Or over USB from the command line, from a checkout\n\nof this repository (pip install -r requirements.txt):\npython3 tools/fm1_install.py --info # finds the FM-1, writes nothing\npython3 tools/fm1_install.py fimba-0.6.1.fwsc\n\nOr hold OCT− and OCT+ for 5 seconds for update mode, and use any Felucca-family installer.\n• The splash screen shows the version, and the Setup page (GLO) shows the audio load. If it's\n\nhigh, or if you hear dropouts, please open an issue.\n\nThe README explains every key, button and knob."
   },
   "commit": {
    "date": "2026-10-13",
    "title": "Reverb: the plate stops at Reverb 0 once its tail is gone",
    "url": "https://github.com/jadamsowers/fm1-fimba/commit/0485ed0d387ce78216428c7b19f97d77bbe10b4d"
   },
   "stars": 21,
   "created": "2026-10-08",
   "about": "FiMba-1: a physically modelled kalimba (thumb piano) firmware for the M-VAVE FM-1, with mbira patterns, tape, grains and more. Built on Felucca, X0X and FoMni.",
   "image": "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/ringing.png",
   "images": [
    "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/ringing.png",
    "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/pattern_running.png",
    "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/color_on.png",
    "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/chords.png",
    "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/perform.png",
    "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/keyboard.png",
    "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/character.png",
    "https://raw.githubusercontent.com/jadamsowers/fm1-fimba/HEAD/docs/img/dark.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/jadamsowers~fm1-fimba.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "edit",
    "edit-hold",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer, emulator and guide",
     "https://aceyprime.github.io/zen-1/"
    ]
   ],
   "name": "ZEN-1",
   "repo": "aceyprime/zen-1",
   "by": "aceyprime",
   "fam": "fomni",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "about": "Ambient scenes (sakura, koi, fireflies) where every movement on screen is a note you hear; built on FuMi-1.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer, emulator and guide",
     "url": "https://aceyprime.github.io/zen-1/install/",
     "from": "list",
     "front": "https://aceyprime.github.io/zen-1/"
    }
   ],
   "release": {
    "tag": "v1.2",
    "url": "https://github.com/aceyprime/zen-1/releases/tag/v1.2",
    "assets": [
     {
      "name": "zen-1-1.2.fwsc",
      "url": "https://github.com/aceyprime/zen-1/releases/download/v1.2/zen-1-1.2.fwsc",
      "size": 609280,
      "sha256": "e3c51c045b1a763b6d16d2a7e783289ee874b25790e9010c0a5a084ddb65a125",
      "check": {
       "sha256": "e3c51c045b1a763b6d16d2a7e783289ee874b25790e9010c0a5a084ddb65a125",
       "bytes": 609657,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-21",
    "title": "ZEN-1 1.2",
    "notes": "ZEN-1 1.2: ambient firmware for the M-VAVE FM-1.\n• The panel's lights (ENV): On, Auto or Off, kept across power-offs. Auto puts every light out after 30 seconds with nothing touched and brings them back at a touch; Off keeps the panel dark, for a dark room (everything still works). The status card (tap HOME) shows the setting. The koto keeps its own lights. Thanks to ghostly606-gmcg for asking.\n• A Key page (FX's fifth): Key (the mood's, or C to B), Scale (the mood's, or Yo, In or Min'yo), Chord (Moving, or Held on the home chord) and Drift (Off, Slow or Often), one setting for every mood and scene, to play along in your key. The drone and the notes glide to a new key or scale. Thanks to anubispop for asking.\n• The koto's big instrument names take half the flash (4 shades instead of 16; the same to the eye).\n\nInstall: the easiest way is the web installer at https://aceyprime.github.io/zen-1/install/ (Chrome or Edge, with the FM-1 connected by USB). Or download zen-1-1.2.fwsc below and run python3 tools/fm1_install.py zen-1-1.2.fwsc.\n\nIdentity FM-1_6010200. Your FM-1 should be on M-VAVE's V15 before installing custom firmware, and installing is at your own risk; the installer can put M-VAVE's firmware back. Try it in the browser first: https://aceyprime.github.io/zen-1/emu/"
   },
   "commit": {
    "date": "2026-10-21",
    "title": "ZEN-1 1.2",
    "url": "https://github.com/aceyprime/zen-1/commit/ec9295233ea64ddac224b58b4d07216706c1b8ee"
   },
   "stars": 10,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/aceyprime/zen-1/HEAD/docs/img/gallery/sakura-night.png",
   "images": [
    "https://raw.githubusercontent.com/aceyprime/zen-1/HEAD/docs/img/gallery/sakura-night.png",
    "https://raw.githubusercontent.com/aceyprime/zen-1/HEAD/docs/img/gallery/koi-day.png",
    "https://raw.githubusercontent.com/aceyprime/zen-1/HEAD/docs/img/gallery/hotaru-festival.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/aceyprime~zen-1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "FM-1 Ctrl",
   "repo": "johnskiller/fm1-ctrl",
   "by": "johnskiller",
   "fam": "indep",
   "lic": "MPL-2.0",
   "about": "A thin controller firmware: the FM-1's keys, knobs and buttons play any firmware's web emulator over Web MIDI.",
   "stage": "development",
   "status": "Not on an FM-1 yet: its package builds (ctrl.fwsc) and runs in its web panel emulator; its first flash on a unit is next.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-27",
    "title": "platform: each FM-1 names itself, upstream's way",
    "url": "https://github.com/johnskiller/fm1-ctrl/commit/6c4d4d45d73019e6af6bc379d0b7a4b18ed70680"
   },
   "stars": 0,
   "created": "2026-10-14",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/johnskiller~fm1-ctrl.jpg",
   "readmeNotes": {
    "version": "",
    "text": "Status: ported to fm1-base (MPL-2.0), which brings Bluetooth MIDI. The app is one file, app/app.c.",
    "date": "2026-10-27",
    "url": "https://github.com/johnskiller/fm1-ctrl#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "typesGuess": [
    "synth"
   ]
  },
  {
   "links": [],
   "name": "FM-1 T1",
   "repo": "tensor-programming/fm1-t1",
   "by": "tensor-programming",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "stage": "development",
   "about": "Felucca 1.6 with a Torso T-1-style algorithmic sequencer written but not yet connected: on the device it plays as Felucca 1.6.",
   "status": "Work in progress: flash at your own risk.",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-14",
    "title": "Delete README content for Felucca synthesizer",
    "url": "https://github.com/tensor-programming/fm1-t1/commit/bea0fd38fbebe48758059828a7ba107c6248304c"
   },
   "stars": 2,
   "created": "2026-10-14",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer",
     "https://patttf.github.io/fm-106/"
    ],
    [
     "Librarian",
     "https://patttf.github.io/fm-106/Librarian.html"
    ]
   ],
   "name": "FM-106",
   "repo": "patttf/fm-106",
   "by": "patttf",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://patttf.github.io/fm-106/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Librarian",
     "url": "https://patttf.github.io/fm-106/Librarian.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "beta7",
    "url": "https://github.com/patttf/fm-106/releases/tag/beta7",
    "assets": [
     {
      "name": "fm106.fwsc",
      "url": "https://github.com/PatttF/fm-106/releases/download/beta7/fm106.fwsc",
      "size": 611328,
      "sha256": "52ddf015ad2087bf0b2be5fa38e538e85b025c562386a8c4c0d028b4ff40ed30",
      "check": {
       "sha256": "52ddf015ad2087bf0b2be5fa38e538e85b025c562386a8c4c0d028b4ff40ed30",
       "bytes": 611486,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-31",
    "title": "Beta 7",
    "notes": "Happy Halloween!\n\nBluetooth\n\nShimmer Reverb\n\nPerformance fixes\n\nBug Fixes\n\nUpdated Base"
   },
   "commit": {
    "date": "2026-11-01",
    "title": "Refine Poly II allocator to authentic Roland release-choking and voic…",
    "url": "https://github.com/PatttF/fm-106/commit/e3f04d84ae37723ef2fd885e048efb16921544ca"
   },
   "stars": 14,
   "created": "2026-10-11",
   "about": "A port of KR-106 to the MVAVE FM-1",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/patttf~fm-106/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "edit",
    "glo"
   ],
   "images": [
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/patttf~fm-106/home.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/patttf~fm-106.jpg"
   ]
  },
  {
   "links": [
    [
     "Releases",
     "https://github.com/m-vave/fm1_open/releases"
    ],
    [
     "Workbench and installer",
     "https://open.m-vave.com/fm1-workbench"
    ],
    [
     "Forum",
     "https://forum.m-vave.com"
    ]
   ],
   "name": "FM1 Open",
   "repo": "m-vave/fm1_open",
   "by": "m-vave",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "synth",
    "sampler"
   ],
   "vetted": "og",
   "bt": "midi",
   "btHow": "From its SDK: BLE MIDI as a peripheral, or as a central that scans for and connects to a BLE MIDI controller, and Bluetooth music in, mixed into the output; on at power-on until switched off on the BLUETOOTH page.",
   "about": "M-VAVE's own open firmware for the FM-1: an eight-track groovebox where each track is a DX7 voice, a 303, an 808 kit, a PSG chip, a plucked string or an eight-pad sampler, with a 64-step sequencer and arpeggiators; the instrument engine ships as a closed binary SDK, the panel, storage and MIDI code as GPL source.",
   "aboutFrom": "studied",
   "byTrusted": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Workbench and installer",
     "url": "https://open.m-vave.com/fm1-workbench",
     "from": "list"
    }
   ],
   "release": {
    "tag": "V14",
    "url": "https://github.com/m-vave/fm1_open/releases/tag/V14",
    "assets": [
     {
      "name": "FM1-Open-V14-Development-Kit.zip",
      "url": "https://github.com/m-vave/fm1_open/releases/download/V14/FM1-Open-V14-Development-Kit.zip",
      "size": 1751122,
      "sha256": "6324230590b8e332bc544128abd7b919a2efd5982db60ea9a11663d4ea820344"
     },
     {
      "name": "FM1-Open-V14-Workbench.html",
      "url": "https://github.com/m-vave/fm1_open/releases/download/V14/FM1-Open-V14-Workbench.html",
      "size": 2548040,
      "sha256": "4b3197fdb23d9922a122b72fd11cdf9100215cc9c812de381b0888662d59e6c8"
     },
     {
      "name": "SHA256SUMS-V14",
      "url": "https://github.com/m-vave/fm1_open/releases/download/V14/SHA256SUMS-V14",
      "size": 193,
      "sha256": "53276e3a67112689e22ad451f60822602ace38992092d795f0a9bb5651e71c07"
     }
    ],
    "date": "2026-10-19",
    "title": "FM1 Open V14",
    "notes": "FM1 Open V14\n\nSource + SDK · Offline workbench · Online workbench\n• 128 independent DX7 voices in four groups of 32, using the M-VAVE FM1 original V15 factory voices by default. Saved user banks take priority.\n• NORMAL, PLAY and OFF track roles, configurable MIDI input channels, and MIDI output/routing controls.\n• Tap Tempo and tempo-synchronized delay.\n• Fixed DRUM 808 and SAMPLER step recording: on NORMAL tracks, releasing all played keys advances to the next step.\n\nThe eight-track default and all 16 onboard demo projects are retained. DX7 single-voice and 32-voice bank SysEx are supported; extension parameters are not handled.\n\nBack up projects, voices and samples separately before updating. Export DX7 groups A–D individually. PLAY timbre edits need a separate timbre export or, for DX7, a save to the independent library. Firmware switching does not make project and sample formats interchangeable; compatibility has been checked with selected firmware versions.\n\nThank you to @vikramrojo for the tuning contribution and DX7 library proposal, and to @giomaspi-max for the track-role and MIDI routing proposal.\n\nAPP: GPLv3 with the FM1 SDK linking exception. SDK and third-party components retain their separate terms; see THIRD_PARTY.md."
   },
   "commit": {
    "date": "2026-10-21",
    "title": "Fix Quick Edit display and support JieLi 2.5.3",
    "url": "https://github.com/m-vave/fm1_open/commit/4c7496daac04a95ff10d1afdcc8f9ead2dbabc41"
   },
   "stars": 310,
   "created": "2026-10-13",
   "image": null,
   "pageMentions": [
    {
     "page": "https://open.m-vave.com/fm1-workbench",
     "names": [
      "FM-1_015.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false
  },
  {
   "links": [
    [
     "Website",
     "https://jonbenderr.github.io/fm1-p6/"
    ],
    [
     "Installer",
     "https://jonbenderr.github.io/fm1-p6/install/"
    ],
    [
     "Emulator",
     "https://jonbenderr.github.io/fm1-p6/emu/"
    ]
   ],
   "name": "fm1-p6",
   "repo": "Jonbenderr/fm1-p6",
   "by": "Jonbenderr",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "status": "Untested on hardware: built and run in its desktop simulator and browser emulator, not yet flashed to an FM-1.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://jonbenderr.github.io/fm1-p6/install/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-16",
    "title": "Add files via upload",
    "url": "https://github.com/Jonbenderr/fm1-p6/commit/8e7108bce690107f99b218f8cfa829e1417c0bf4"
   },
   "stars": 2,
   "created": "2026-10-16",
   "about": "Polysix EMU for Mvave FM1",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Jonbenderr~fm1-p6.jpg",
   "pageFiles": [
    {
     "name": "omni-0.1.fwsc",
     "url": "https://jonbenderr.github.io/fm1-p6/firmware/omni-0.1.fwsc",
     "page": "https://jonbenderr.github.io/fm1-p6/",
     "etag": "W/\"6ad24a1d-94d7d\"",
     "size": 266699,
     "check": {
      "sha256": "7fa7f6ca8c58f7605266d581e2b2228f8f932a960d6cc30f1c2df7599c7aa3f9",
      "bytes": 609661,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "7fa7f6ca8c58f7605266d581e2b2228f8f932a960d6cc30f1c2df7599c7aa3f9"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "glo",
    "home-hold"
   ]
  },
  {
   "links": [],
   "name": "fm1-pocket-sampler",
   "repo": "friendsmakenoise-prog/fm1-pocket-sampler",
   "by": "friendsmakenoise-prog",
   "fam": "indep",
   "lic": "?",
   "unavailable": "2026-10-17",
   "types": [
    "sampler"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "missing": true,
   "missingSince": "2026-10-17",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "gone",
   "experimental": false
  },
  {
   "links": [],
   "name": "fm1-polyseq",
   "repo": "NOVALENTI/fm1-polyseq",
   "by": "NOVALENTI",
   "fam": "indep",
   "lic": "?",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "status": "An early bring-up of its own (a DX7-style FM voice and a sequencer, host-tested): by its own notes the panel's pinout is unknown and custom flashing is blocked; no FM-1 package; quiet since 2026-09-04.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-29",
    "title": "docs: add accurate portfolio README and safe usage notes",
    "url": "https://github.com/NOVALENTI/fm1-polyseq/commit/056a3bd6b187674167138d20293572942547be91"
   },
   "stars": 3,
   "created": "2026-09-03",
   "about": "Polyphonic 16-step sequencer and HAL for the M-VAVE FM-1 synthesizer (JieLi AC7911B8, pi32v2). Strict C99, zero-malloc.",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false
  },
  {
   "links": [
    [
     "Website and emulator",
     "https://leonardomirabal.github.io/frodhes/"
    ],
    [
     "Releases",
     "https://github.com/leonardoMirabal/frodhes/releases"
    ]
   ],
   "name": "Frodhes",
   "repo": "leonardoMirabal/frodhes",
   "by": "leonardoMirabal",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.9.8",
    "url": "https://github.com/leonardoMirabal/frodhes/releases/tag/v0.9.8",
    "assets": [
     {
      "name": "frodhes-0.9.8.fwsc",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-0.9.8.fwsc",
      "size": 612352,
      "sha256": "787eb06c52994642e31a56e2f4b3a93d4770e708e04f50b671a4b59529319a28",
      "check": {
       "sha256": "787eb06c52994642e31a56e2f4b3a93d4770e708e04f50b671a4b59529319a28",
       "bytes": 612196,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "Apache-2.0.txt",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/Apache-2.0.txt",
      "size": 11366,
      "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30"
     },
     {
      "name": "frodhes-0.9.8-mke-p37.fwsc",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-0.9.8-mke-p37.fwsc",
      "size": 651264,
      "sha256": "c3a020b8fd18e8e31f85b8182a95ca91659c41952dcdfc868be7fde5ed3efdde",
      "check": {
       "sha256": "c3a020b8fd18e8e31f85b8182a95ca91659c41952dcdfc868be7fde5ed3efdde",
       "bytes": 651359,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "frodhes-0.9.8-move.tar.gz",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-0.9.8-move.tar.gz",
      "size": 2610954,
      "sha256": "efbaedc8233663a5f616443aba4693259084a00e89572997f03dd0a25c45de03"
     },
     {
      "name": "frodhes-0.9.8-smk37-elite.fwsc",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-0.9.8-smk37-elite.fwsc",
      "size": 651264,
      "sha256": "914b38196b47a68bb7aa180c3c37e58f24b6baf22e392263f90ceed4a0de9462",
      "check": {
       "sha256": "914b38196b47a68bb7aa180c3c37e58f24b6baf22e392263f90ceed4a0de9462",
       "bytes": 651367,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "frodhes-0.9.8-smk37-pro.fwsc",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-0.9.8-smk37-pro.fwsc",
      "size": 651264,
      "sha256": "385c9f28ca3a4701fe3173795da5eb76b0be75d6f4d0faa2ea6b9cd5040af003",
      "check": {
       "sha256": "385c9f28ca3a4701fe3173795da5eb76b0be75d6f4d0faa2ea6b9cd5040af003",
       "bytes": 651363,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "frodhes-mke-p37.fwsc",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-mke-p37.fwsc",
      "size": 651264,
      "sha256": "c3a020b8fd18e8e31f85b8182a95ca91659c41952dcdfc868be7fde5ed3efdde",
      "check": {
       "sha256": "c3a020b8fd18e8e31f85b8182a95ca91659c41952dcdfc868be7fde5ed3efdde",
       "bytes": 651359,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "frodhes-module.tar.gz",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-module.tar.gz",
      "size": 2610954,
      "sha256": "efbaedc8233663a5f616443aba4693259084a00e89572997f03dd0a25c45de03"
     },
     {
      "name": "frodhes-smk37-elite.fwsc",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-smk37-elite.fwsc",
      "size": 651264,
      "sha256": "914b38196b47a68bb7aa180c3c37e58f24b6baf22e392263f90ceed4a0de9462",
      "check": {
       "sha256": "914b38196b47a68bb7aa180c3c37e58f24b6baf22e392263f90ceed4a0de9462",
       "bytes": 651367,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "frodhes-smk37-pro.fwsc",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes-smk37-pro.fwsc",
      "size": 651264,
      "sha256": "385c9f28ca3a4701fe3173795da5eb76b0be75d6f4d0faa2ea6b9cd5040af003",
      "check": {
       "sha256": "385c9f28ca3a4701fe3173795da5eb76b0be75d6f4d0faa2ea6b9cd5040af003",
       "bytes": 651363,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "frodhes.fwsc",
      "url": "https://github.com/leonardoMirabal/frodhes/releases/download/v0.9.8/frodhes.fwsc",
      "size": 612352,
      "sha256": "787eb06c52994642e31a56e2f4b3a93d4770e708e04f50b671a4b59529319a28",
      "check": {
       "sha256": "787eb06c52994642e31a56e2f4b3a93d4770e708e04f50b671a4b59529319a28",
       "bytes": 612196,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-05",
    "title": "Frodhes 0.9.8",
    "notes": "Frodhes 0.9.8 adds a 3-band EQ and faster knobs on the FM-1, cleaner effects, and the first release of Frodhes for the Ableton Move.\n\nDownload: frodhes.fwsc below (the same file as frodhes-0.9.8.fwsc; the newest is always at https://github.com/leonardoMirabal/frodhes/releases/latest/download/frodhes.fwsc). Try it first in your browser: https://leonardomirabal.github.io/frodhes/\n\n## Install\n\nFM-1: download frodhes.fwsc below. Install it from the emulator page (Chrome or Edge, Install on your FM-1 or SMK-37), or from a terminal:\n\npip install mido python-rtmidi\npython3 tools/fm1_install.py frodhes.fwsc\n\nYour settings, presets and pattern are kept. If anything goes wrong, switch the FM-1 off, hold OCT− and switch it on: that is the USB rescue, and you can install again from there.\n\nMove: you need Schwung on the Move. Install Frodhes with Schwung Manager in a web browser: Install Custom Module > From GitHub URL, leonardoMirabal/frodhes. Or download frodhes-module.tar.gz below and use From Tarball. Details: the Move manual.\n\nSMK-37 Pro, SMK-37 Elite, MKE-P37: frodhes-smk37-pro.fwsc, frodhes-smk37-elite.fwsc and frodhes-mke-p37.fwsc below. Read SMK37.md first.\n\n## New in 0.9.8\n• EQ page, between COMPRESSOR and DRIVE: a LOW shelf at 120 Hz, a MID band you can move from 200 Hz to 5 kHz\n\n(MID FREQ), and a HIGH shelf at 5 kHz, each ±15 dB. It sits before the drive, so it also changes how the drive\n\nbreaks up. It is saved in presets. Presets and settings from earlier versions load with it flat, and flat it\n\nleaves the sound untouched. Over MIDI: CC 34-37.\n• The knobs speed up when you turn them fast (#25). A\n\nquick turn moves an amount up to 8 steps per click, so one turn covers the whole range. A slow turn still moves\n\none step per click. Choices, note values and short ranges always move one step.\n• The emulator page installs on the SMK-37 Pro, SMK-37 Elite and MKE-P37 too. It\n\nfinds the model and picks its file, and an install that was cut off can be resumed.\n• VIBES and MARIMBA start at most 10 notes at the same instant. Any more (a large MIDI chord, a busy sequencer step)\n\nstart 5.8 ms later, in order.\n• Frodhes on the Move: Frodhes now runs on the Ableton Move as a sound generator in Schwung.\n• All six instruments and every effect, with 16 voices and the higher-quality version of each instrument.\n• The reverb at the full sample rate: its tails keep their top octave.\n• Frodhes' own screen: the eight knobs as eight cards, a page at a time, in the FM-1's order. Touch or turn a\n\nknob to see its card large. A double tap on a knob sets it back to its default. The knob lights show the values.\n• The arrows: Left turns the effects off or on (the compressor stays on), Right turns the sustain on or off. A\n\nsustain pedal on CC 64 works as on the FM-1.\n• Presets: F01-F19 are the FM-1's, F20-F57 are 38 more for the Move, and 16 user slots. SAVE TO USER, in the\n\nlist under the jog wheel, saves your sound.\n• The arpeggiator, with HOLD. It follows the Move's tempo and transport, as do all synced rates. The Move's\n\nsequencer and scales play Frodhes.\n• Pressure mappings: the pads' pressure can drive a control through its CC number. Off by default.\n• Up to four Frodhes at once, one per track, each with its own sound. Three play without dropouts. With four,\n\nvery heavy playing with every effect on can drop audio.\n• To play at every velocity, turn the Move's Full Velocity setting off. Keep Schwung's slot volume at 100 %.\n\n## Changes\n• Drive: FDRV and KHLON are cleaner when driven hard on high notes, with far less harsh, out-of-tune edge.\n• Touch wah: far less noise on soft notes, less grit on loud ones, and the sweep no longer flickers on a held\n\nnote.\n• Chorus: cleaner on high notes, and turning DEPTH quickly no longer clicks.\n• Delay ANA and TAPE: cleaner echoes, and each repeat keeps more of its top.\n• Filter with its LFO, and the phaser: smoother sweeps, without the faint grain of the fast settings.\n• LEVEL: presets turned down or up with LEVEL keep a clean, quiet tail.\n• The end of every note fades smoothly to silence instead of stopping with a short cut.\n\n## Fixed\n• VIBES and MARIMBA: a released note could keep its voice for up to 15 s after it had faded, which changed which\n\nnotes were cut off next. A released note now always ends once it has died away.\n• DELAY with the chorus, the phaser or the pan on: the echoes' level jumped by up to 3 dB from one moment to the\n\nnext. Present since 0.9.3.\n• Drive (KHLON and FDRV): after a panic, or once every note had died away, a faint constant level could stay, and the\n\ntremolo turned it into a soft pulse. The drive now returns to true silence.\n• FDRV: the last seconds of a held note had a faint, coarse buzz, mostly heard over USB audio.\n• The emulator page's installer offered nothing that would install on an SMK-37 running Frodhes\n\n(#23).\n\nFull manual: https://github.com/leonardoMirabal/frodhes/blob/main/docs/MANUAL.md · Built on Dinghy. GPL-3.0."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #28: CI: no half-written test files",
    "url": "https://github.com/leonardoMirabal/frodhes/commit/4742349b80ca9960077fa5550e2c58e239334c26"
   },
   "stars": 12,
   "created": "2026-10-14",
   "about": "Physically modelled Fender Rhodes, vibraphone and marimba for the M-VAVE FM-1. No samples. Effects, arpeggiator, sequencer, scales, presets, and a web emulator.",
   "image": "https://raw.githubusercontent.com/leonardoMirabal/frodhes/HEAD/docs/manual/img/thumbnail.png?v=23c51997",
   "images": [
    "https://raw.githubusercontent.com/leonardoMirabal/frodhes/HEAD/docs/manual/img/thumbnail.png?v=23c51997",
    "https://raw.githubusercontent.com/leonardoMirabal/frodhes/HEAD/docs/manual/img/piano.png?v=b2c98a85",
    "https://raw.githubusercontent.com/leonardoMirabal/frodhes/HEAD/docs/manual/img/move/move-frodhes.png?v=ed05fe9c",
    "https://raw.githubusercontent.com/leonardoMirabal/frodhes/HEAD/docs/manual/img/move/move-drive-filter.png?v=5388b9c5",
    "https://raw.githubusercontent.com/leonardoMirabal/frodhes/HEAD/docs/manual/img/move/move-pages.png?v=fcd9ce1d",
    "https://raw.githubusercontent.com/leonardoMirabal/frodhes/HEAD/docs/manual/img/overview.png?v=40425df3",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/leonardoMirabal~frodhes.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://npi3pak.github.io/fm1-gator/"
    ]
   ],
   "name": "GATOR",
   "repo": "npi3pak/fm1-gator",
   "by": "npi3pak",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://npi3pak.github.io/fm1-gator/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.6",
    "url": "https://github.com/npi3pak/fm1-gator/releases/tag/v0.6",
    "assets": [
     {
      "name": "gator-0.6.fwsc",
      "url": "https://github.com/npi3pak/fm1-gator/releases/download/v0.6/gator-0.6.fwsc",
      "size": 610304,
      "sha256": "52bcd2428c098b373f237622a392424069219b83d87f7a5606ca91cf28430bfb",
      "check": {
       "sha256": "52bcd2428c098b373f237622a392424069219b83d87f7a5606ca91cf28430bfb",
       "bytes": 610019,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/npi3pak/fm1-gator/releases/download/v0.6/LICENSE",
      "size": 35123,
      "sha256": "e57f1c320b8cf8798a7d2ff83a6f9e06a33a03585f6e065fea97f1d86db84052"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/npi3pak/fm1-gator/releases/download/v0.6/LICENSES.zip",
      "size": 7967,
      "sha256": "c3f125677d6d414be5ef5d6142dc89b37b578e956ad968c4936061ea0f02d0b7"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/npi3pak/fm1-gator/releases/download/v0.6/LICENSING.md",
      "size": 5847,
      "sha256": "6c5c6c97ebd1b8891fa2a710a0841acf11ffb7c84fdabff6693ee4b336a0a629"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/npi3pak/fm1-gator/releases/download/v0.6/SHA256SUMS",
      "size": 81,
      "sha256": "c8afd969859fea7f950f90d160c2623f9a37688d421db7918af5a91edda0f29e"
     }
    ],
    "date": "2026-10-17",
    "title": "GATOR 0.6",
    "notes": "GATOR 0.6 for the M-VAVE FM-1, a macro-oscillator inspired by Mutable Instruments Plaits (not affiliated with or endorsed by Mutable Instruments).\n\nInstall from the browser at https://npi3pak.github.io/fm1-gator/ (Chrome or Edge, the FM-1 connected by USB), or with the command-line installer: python3 tools/fm1_install.py gator-0.6.fwsc.\n\ngator-0.6.fwsc is the package (48 kHz); SHA256SUMS lists its SHA-256. The package holds three JieLi AC79 SDK files (Apache-2.0); LICENSE, LICENSING.md and LICENSES.zip carry every licence (GPL-3.0-only; Plaits and stmlib DSP by Emilie Gillet, MIT; Terminus font, OFL 1.1; JieLi SDK files, Apache-2.0). The complete source of this release is the tag v0.6.\n\nInstalling custom firmware is at your own risk. GATOR is provided as is, without any warranty.\n\nFull Changelog: v0.5...v0.6"
   },
   "commit": {
    "date": "2026-10-17",
    "title": "48 kHz only: one package, no 44.1 kHz variant on the site",
    "url": "https://github.com/npi3pak/fm1-gator/commit/92f923e0b9fe6101d5cd422cffa5946ce20d785a"
   },
   "stars": 6,
   "created": "2026-10-16",
   "about": "Mutable Instruments Plaits-inspired firmware for the M-VAVE FM-1",
   "image": "https://raw.githubusercontent.com/npi3pak/fm1-gator/HEAD/docs/img/gator.jpg",
   "images": [
    "https://raw.githubusercontent.com/npi3pak/fm1-gator/HEAD/docs/img/gator.jpg",
    "https://raw.githubusercontent.com/npi3pak/fm1-gator/HEAD/docs/img/gator-pages.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/npi3pak~fm1-gator.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "fx",
    "env",
    "lfo",
    "scl",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://www.groove-os.com/emu"
    ]
   ],
   "name": "Groove OS",
   "home": "https://www.groove-os.com/",
   "by": "",
   "fam": "indep",
   "lic": "commercial",
   "paid": true,
   "price": "$29",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "about": "Groove OS turns the M-VAVE FM-1 into a groovebox you jam and make whole beats on, no other gear. Record a sound from your phone or the FM-1 itself and play it on the keys, play FM and VA sounds with four macro knobs each, write patterns…",
   "siteReleases": [
    {
     "version": "2.0",
     "notes": "Groove OS 2.0 is firmware built new for the FM-1, not a mod on top of M-VAVE&#x27;s V15. It is independent software: it is not made, endorsed or supported by M-VAVE. It goes on the way M-VAVE&#x27;s own updates do, through the FM-1&#x27;s updater, and a small protected starter runs first on every start. If Groove OS cannot start, the starter stays up and waits for the Install page (see Rescue mode",
     "url": "https://www.groove-os.com/manual/firmware"
    },
    {
     "version": "v15",
     "notes": "If your FM-1 still runs M-VAVE&#x27;s own firmware, Connect FM-1 shows it ( FM-1_015 , or FM-1_016 · M-VAVE&#x27;s V16 ) and Install is one click that runs two parts, one after the other: 1 of 2: Groove OS 1.4 goes on first The page installs 1.4 from the published build, checked against its SHA-256, and, over V16, puts the FM-1&#x27;s factory sounds back in banks A to D. 1.4 then runs for a few se",
     "url": "https://www.groove-os.com/manual/firmware"
    },
    {
     "version": "1.4",
     "notes": "2.0 is the current release, and 1.4 is the way back. Install with nothing added installs 2.0, and Install with ?to=1.4 puts 1.4 back. Moving either way is an install on the same page. Moving between 1.4 and 2.0 in the SAMPLER chapter says the same from the sound side. Your samples and kits They come with you. The page saves them in this browser before it writes anything, and puts them on the FM-1",
     "url": "https://www.groove-os.com/manual/firmware"
    }
   ],
   "release": {
    "tag": "2.0",
    "name": "2.0",
    "date": null,
    "url": "https://www.groove-os.com/manual/firmware",
    "assets": [],
    "site": true
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "website",
   "experimental": false
  },
  {
   "links": [
    [
     "Website",
     "https://rustypawz.github.io/fm1-HYP1/hyp/"
    ],
    [
     "Emulator",
     "https://rustypawz.github.io/fm1-HYP1/emu/"
    ],
    [
     "Installer",
     "https://rustypawz.github.io/fm1-HYP1/install/"
    ],
    [
     "Manual",
     "https://rustypawz.github.io/fm1-HYP1/manual/"
    ]
   ],
   "name": "HYP-1",
   "repo": "RustyPawz/fm1-HYP1",
   "by": "RustyPawz",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "generative",
    "groovebox"
   ],
   "status": "Version 1.5.x, a new build with each push to main (1.5.49 on its install page when the bot last read it), installed from its own page; its GitHub tags v0.9 and v1.1 are AMB-1's. The same repository also builds four experimental 0.x firmwares, untested on an FM-1: LOF-1 (a lofi groovebox), ECO-1 (a plant), GRAV-1 (a solar system) and CTY-1 (a city).",
   "about": "AMB-1's generative engine rebuilt as a techno and acid groovebox: a breathing pad, a saw drone, a self-writing 303-style line and a coloured-noise bed play over a six-lane drum step sequencer with synthesized kits, with breakdown / build / drop on SAVE and held performance effects on the keys.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://rustypawz.github.io/fm1-HYP1/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.1",
    "url": "https://github.com/RustyPawz/fm1-HYP1/releases/tag/v1.1",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-10",
    "title": "v1.1",
    "notes": "The echo evolves in stereo: with Motion its two heads wander across t…"
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Site: link Orrery from the firmware dropdowns and the front page",
    "url": "https://github.com/RustyPawz/fm1-HYP1/commit/57c456db61826331d356458c9c1a136517da7cbf"
   },
   "stars": 28,
   "created": "2026-10-13",
   "image": "https://raw.githubusercontent.com/RustyPawz/fm1-HYP1/HEAD/docs/img/hyp-hero.png",
   "images": [
    "https://raw.githubusercontent.com/RustyPawz/fm1-HYP1/HEAD/docs/img/hyp-hero.png",
    "https://img.youtube.com/vi/0UvGnZE2_VI/maxresdefault.jpg",
    "https://raw.githubusercontent.com/RustyPawz/fm1-HYP1/HEAD/docs/img/hyp-sounds.png",
    "https://raw.githubusercontent.com/RustyPawz/fm1-HYP1/HEAD/docs/img/hyp-device-seq.png",
    "https://raw.githubusercontent.com/RustyPawz/fm1-HYP1/HEAD/docs/img/hyp-device-fx.png",
    "https://raw.githubusercontent.com/RustyPawz/fm1-HYP1/HEAD/docs/img/hyp-device-play.png",
    "https://raw.githubusercontent.com/RustyPawz/fm1-HYP1/HEAD/docs/img/hyp-themes.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/RustyPawz~fm1-HYP1.jpg"
   ],
   "pageFiles": [
    {
     "name": "hyp1-1.5.54.fwsc",
     "url": "https://rustypawz.github.io/fm1-HYP1/hyp/firmware/hyp1-1.5.54.fwsc",
     "page": "https://rustypawz.github.io/fm1-HYP1/hyp/",
     "etag": null,
     "size": null,
     "check": {
      "ok": false,
      "why": "HTTP 404"
     },
     "sha256": null
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "charlesvestal/fm1-amb",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://ip2k.github.io/lunar-modulator/"
    ],
    [
     "Manual",
     "https://ip2k.github.io/lunar-modulator/manual/"
    ]
   ],
   "name": "Lunar Modulator",
   "repo": "ip2k/lunar-modulator",
   "by": "ip2k",
   "fam": "indep",
   "lic": "MIT",
   "stage": "emulator",
   "types": [
    "synth",
    "groovebox",
    "experimental"
   ],
   "status": "Not installable on an FM-1 yet: it runs in its browser simulator; the chip build is still to be linked and tested.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-11-01",
    "title": "Merge pull request #151 from ip2k/feature/2026-10-17@workbench-reuse-…",
    "url": "https://github.com/ip2k/lunar-modulator/commit/8d790e3060643ab4e4f8404a7dbf52505ec9b303"
   },
   "stars": 63,
   "created": "2026-09-06",
   "about": "Lunar Modulator — INTERGALACTIC MODULATION STATION. Open firmware for the M-VAVE FM-1: sound engines, a sequencer and a playable browser simulator. Preview: Lunar has not run on an FM-1 yet.",
   "image": "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/branding/banner.png",
   "images": [
    "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/branding/banner.png",
    "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/screenshots/virtual-fm1.png",
    "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/screenshots/screen-macro.png",
    "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/screenshots/screen-macro-heavy.png",
    "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/screenshots/screen-sixop.png",
    "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/screenshots/screen-shapes.png",
    "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/screenshots/screen-sophie.png",
    "https://raw.githubusercontent.com/ip2k/lunar-modulator/HEAD/assets/screenshots/screen-drums.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ip2k~lunar-modulator.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ],
    [
     "Simulator",
     "https://genkigenki.github.io/smk37/makkuro37-sim/"
    ]
   ],
   "name": "Makkuro37",
   "repo": "genkigenki/Makkuro37",
   "by": "genkigenki",
   "fam": "indep",
   "lic": "GPL-3.0",
   "board": "smk37",
   "types": [
    "synth",
    "experimental"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.3",
    "url": "https://github.com/genkigenki/Makkuro37/releases/tag/v0.3",
    "assets": [
     {
      "name": "makkuro37-0.3.fwsc",
      "url": "https://github.com/genkigenki/Makkuro37/releases/download/v0.3/makkuro37-0.3.fwsc",
      "size": 651264,
      "sha256": "9b17ea5647d009d421fe01d03384330a8dc52607ac510e5d3fcb045190ae03cb",
      "check": {
       "sha256": "9b17ea5647d009d421fe01d03384330a8dc52607ac510e5d3fcb045190ae03cb",
       "bytes": 651195,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "makkuro37-elite-0.3.fwsc",
      "url": "https://github.com/genkigenki/Makkuro37/releases/download/v0.3/makkuro37-elite-0.3.fwsc",
      "size": 651264,
      "sha256": "f52f420c3d385781692befc5e390ea78008710d38910e9a3651549ccf87bae5e",
      "check": {
       "sha256": "f52f420c3d385781692befc5e390ea78008710d38910e9a3651549ccf87bae5e",
       "bytes": 651199,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "makkuro37-mke-0.3.fwsc",
      "url": "https://github.com/genkigenki/Makkuro37/releases/download/v0.3/makkuro37-mke-0.3.fwsc",
      "size": 651264,
      "sha256": "3d5889aa42e510e87d30909b4f225307a9a98309afe62ecc538a247e8fe9f946",
      "check": {
       "sha256": "3d5889aa42e510e87d30909b4f225307a9a98309afe62ecc538a247e8fe9f946",
       "bytes": 651191,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/genkigenki/Makkuro37/releases/download/v0.3/SHA256SUMS",
      "size": 625,
      "sha256": "295934cb22db5c5a4c9718894647ae9af29933a97d7012bbf469ef9b39b5efc2"
     }
    ],
    "date": "2026-10-17",
    "title": "Makkuro37 0.3",
    "notes": "Makkuro37 0.3: a microtonal drone synth for the M-Vave SMK-37.\n• The key of everything from the lowest keys: SETUP > KEY, LOWKEY 12 KEYS or 24 KEYS. Press a key there and every drone glides to the new root together (GLIDE 0-8 s, default 6 s), each at a slightly different pace; the tuning's root follows (just, Pythagorean, 24-TET, maqam and gamelan sets too) and the keyboard plays the scale on the new root.\n• Three new played sounds: VOICE (a small choir through vowel formants; SHAPE or the mod wheel morphs the vowel), BOWED (a breathy bowed string, velocity sets the brightness) and GLASS (a struck glass tone that rings out). SOUND > WAVE, after NOISE.\n• 0.2's quality of life: sleeping creatures dimmed, a first-run hint, HELP labels for the pads, the PRESETS theme strip, SETUP K4 START PLAY / SILENT.\n\nInstall: https://genkigenki.github.io/smk37/#fw-makkuro37 (Chrome or Edge), or python3 tools/fm1_install.py <package>. Packages: makkuro37-0.3.fwsc (SMK-37 Pro, Starrykey 37 Play), -elite, -mke.\n\nUnofficial community firmware, not made or endorsed by M-Vave; the stock firmware can always go back with M-Vave's updater."
   },
   "commit": {
    "date": "2026-10-17",
    "title": "Simulator: 0.3's controls; the keys' velocity; LOWKEY's keys marked",
    "url": "https://github.com/genkigenki/Makkuro37/commit/3d9755993348ef20a25a16c6839f7dd230ca4543"
   },
   "stars": 15,
   "created": "2026-10-10",
   "about": "A microtonal drone synth for the M-Vave SMK-37",
   "image": "https://raw.githubusercontent.com/genkigenki/Makkuro37/HEAD/docs/img/banner.png",
   "images": [
    "https://raw.githubusercontent.com/genkigenki/Makkuro37/HEAD/docs/img/banner.png",
    "https://raw.githubusercontent.com/genkigenki/Makkuro37/HEAD/docs/img/hero.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~Makkuro37.jpg"
   ],
   "pageFiles": [
    {
     "name": "makkuro37-0.3-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/makkuro37-0.3-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efbf\"",
     "size": 303599,
     "check": {
      "sha256": "f52f420c3d385781692befc5e390ea78008710d38910e9a3651549ccf87bae5e",
      "bytes": 651199,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "f52f420c3d385781692befc5e390ea78008710d38910e9a3651549ccf87bae5e"
    },
    {
     "name": "makkuro37-0.3-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/makkuro37-0.3-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efb7\"",
     "size": 303568,
     "check": {
      "sha256": "3d5889aa42e510e87d30909b4f225307a9a98309afe62ecc538a247e8fe9f946",
      "bytes": 651191,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "3d5889aa42e510e87d30909b4f225307a9a98309afe62ecc538a247e8fe9f946"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website",
     "https://dspaudio.github.io/mc-1/"
    ],
    [
     "Installer",
     "https://dspaudio.github.io/mc-1/install.html"
    ],
    [
     "Emulator",
     "https://dspaudio.github.io/mc-1-web/"
    ]
   ],
   "name": "MC-1",
   "repo": "dspaudio/mc-1",
   "by": "dspaudio",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://dspaudio.github.io/mc-1/install.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.2.0",
    "url": "https://github.com/dspaudio/mc-1/releases/tag/v1.2.0",
    "assets": [
     {
      "name": "FIRMWARE.json",
      "url": "https://github.com/dspaudio/mc-1/releases/download/v1.2.0/FIRMWARE.json",
      "size": 463,
      "sha256": "c74a2f87b607305f788fe88d8498770b6822397743245a5042d51fa9c4f6128e"
     },
     {
      "name": "mc-1-1.2.0-installer.zip",
      "url": "https://github.com/dspaudio/mc-1/releases/download/v1.2.0/mc-1-1.2.0-installer.zip",
      "size": 622592,
      "sha256": "0dca05281e11c20c093736cb33629e425568604a73541bbca053053a57f5d5bf"
     },
     {
      "name": "mc-1-1.2.0.fwsc",
      "url": "https://github.com/dspaudio/mc-1/releases/download/v1.2.0/mc-1-1.2.0.fwsc",
      "size": 610304,
      "sha256": "cb0b5454d3e459da11489f73818d4537093907aa13adee0230f3404227a701e4",
      "check": {
       "sha256": "cb0b5454d3e459da11489f73818d4537093907aa13adee0230f3404227a701e4",
       "bytes": 610089,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/dspaudio/mc-1/releases/download/v1.2.0/SHA256SUMS",
      "size": 253,
      "sha256": "25e84b65e110aff82ec7a6cb931998eded157f4c155dce742a17b889b7041a0d"
     }
    ],
    "date": "2026-10-20",
    "title": "MC-1 1.2.0 — Rebuilt LA-PCM engine and 112 new sounds",
    "notes": "## MC-1 1.2.0 - rebuilt LA-PCM engine and sound bank\n\nA new LA-PCM engine. All 112 LA sounds replaced.\n\nInstall and hear the new engine · Web emulator\n\nThis is an engine and instrument-data replacement, not just a preset expansion.\n\nReal recorded attacks restore piano, nylon guitar and orchestral character.\n\nSource-derived harmonic sustain frames share one phase accumulator, replacing\n\nthe old generic detuned blend and repeated sustain motion. The 16 Acid presets,\n\neight synthesized drum kits, eight melodic voices and four FX banks are retained.\n\n## New sound engine and recordings\n• All 112 LA presets use real PCM attacks plus synthesized harmonic sustain.\n\nThis remains LA-PCM, not a GM/SoundFont player or a full-note sample loop.\n• Twenty-four source zones cover 17 instrument families: six piano registers,\n\nthree nylon-guitar registers and 15 other families.\n• Individual attack colours, PCM contribution and envelopes distinguish each\n\npreset. Phase-coherent, energy-matched sustain avoids unintended beating and\n\nper-note swells; plucked instruments retain measured non-cyclic decay.\n• Reverb return level and mode-specific decay make ROOM and HALL easier to hear\n\nand distinguish, using the existing delay storage.\n• Shorter attack-cache snapshots and family-indexed zone lookup remove the\n\ndeadline misses found in the first installed candidate without changing the\n\naccepted audio. All eight approved representative WAVs remain byte-identical.\n\nThe selected recordings are CC0-1.0: Meta Open Sound piano/nylon guitar and\n\nVSCO 2 Community Edition's other 15 families. Firmware, original patches and\n\ncompositions remain GPL-3.0-only. See NOTICE, the\n\n24-zone source manifest and both retained\n\nMeta / VSCO licenses.\n\nThe downloaded 752,311,261-byte piano source ZIP is not installed on the FM-1.\n\n## Hear 1.2.0\n• Hip-hop piano, 86 BPM.\n• Pop nylon guitar, 110 BPM.\n• Chamber strings, 90 BPM.\n• Updated NIGHT CIRCUIT and\n\nNEON SPIRAL full-groove demos.\n\nThese original compositions are native shared-C renders, not FM-1 recordings.\n\nThe five 320 kbps MP3s have working native browser players and downloads on the\n\nproduct page. Audio hashes and export settings are retained.\n\nThe representative four timbres have listener approval; numerical checks are\n\nnot a blanket listening-approval claim for every remaining preset.\n\n## Installed and measured on an FM-1\n\nThe final package was installed successfully, restarted and reidentified as\n\nFM-1_900. This is the updater identity, not an installed-version readout.\n\nThe package hash below identifies the tested image. A new flash backup was\n\nexplicitly declined by the operator; none was taken.\n\nEleven captures cover both built-in demos and four maximum-load cohorts:\n\n8 melodic / 6 drum voices with 0, 1 or 2 Acid parts, and three monophonic Acid\n\nparts / 6 drums. The maximum-load settings use four FX banks, Analog 127,\n\nkit 6, R/D type 5, C/F type 5, sends 127 and active USB audio.\n\nAll eleven frozen 8,192-block timing windows pass. The accompanying\n\n44.1 kHz/16-bit stereo USB recordings total 495 seconds; each 45-second file\n\nincludes warmup, the active measurement and a post-STOP tail.\n• Deadline misses, DMA-half changes and USB error deltas: 0.\n• CPU1 remains READY, worker failures 0, guards intact.\n• Minimum unused CPU1 user stack: 3,524 bytes.\n• Every recording contains non-silent audio with no integer rail clipping.\n• The originally failing first demo also passes three additional full captures.\n\nThe highest recorded whole-audio maximum is 69,184 raw timer ticks. This is\n\ntested-workload evidence, not a guarantee for arbitrary arrangements. A few\n\ncaptures contain physical master-ADC drift and are not matched speed comparisons.\n\nNo new power-loss or forced-worker-failure trial is claimed.\n\nSee raw counters and recording hashes.\n\nThe first installed candidate failed with deadline/DMA/USB errors. A cache-only\n\ncandidate still failed the first demo once. Neither is the release image.\n\n## Size and reproducible identity\n\nResource\nFinal\nLimit or previous budget\n\nPCM audio data\n384,240 B\n390,144 B\n\nApp\n503,980 B\n581,564 B\n\nGlobals\n55,692 B\n65,536 B policy\n\nPool\n303,464 B\n335,872 B policy\n\nFWSC package\n610,089 B\nIncludes loader and fixed padding\n\nApp SHA256:\n\n9ebcd27952284c2298f4f8f51ac490b3f49cf012aa64ab15fe899d344ef51256\n\nPackage SHA256:\n\ncb0b5454d3e459da11489f73818d4537093907aa13adee0230f3404227a701e4\n\nTarget source fingerprint:\n\n54122b1698f1880d7b5895890e65ab7d87c57276dcbcc6f0747fd1f955081556\n\nChecks include 31 native C executables, 51 Python tests, a fresh 31-executable\n\nASan/UBSan build, exact single/dual-core PCM and complete state, all 4,096 FX\n\ncombinations, 129 current audio renders, deterministic assets, pi32v2 linking,\n\npackage/OTA/loader simulation and product/installer resource checks.\n\n## Installation and saved projects\n\nInstall mc-1-1.2.0.fwsc using the web installer or bundled desktop installer.\n\nThe unchanged original 1.0.2 single-core package remains available as a fallback,\n\nnot a single-core rebuild of 1.2.0. Verified restoration of official V15 still\n\nrequires the operator's original official file.\n\nProject format remains 8, importing formats 1-7. Existing LA patches load with\n\nthe replacement sources and therefore sound different. Preset names/positions\n\nremain stable. 1.0.2 cannot open format-8 saves; changing firmware is not project\n\nconversion. The bootloader, project-bank addresses and flash allowlist are unchanged.\n\nThe new nylon-guitar PCM source is ID 40; 1.1.0 rejects projects containing it\n\neven though both releases use project format 8.\n\nCPU1 failure still falls back to CPU0 without reducing voices; full-load\n\nreal-time audio is not guaranteed in that state. A fatal fault can attempt\n\nUBOOT, and power cycling is not automatic rollback. The web/desktop MIDI\n\ninstaller cannot recover ROM WL80UBOOT1.00. Existing recovery boundaries are\n\ndocumented in the prior hardware record."
   },
   "commit": {
    "date": "2026-10-20",
    "title": "Rebuild the LA-PCM engine and replace all 112 sounds for 1.2.0",
    "url": "https://github.com/dspaudio/mc-1/commit/10a2240d7f3c63e3ed551774a8e17fb24ed002b8"
   },
   "stars": 7,
   "created": "2026-10-14",
   "about": "MC-1: original groovebox firmware for M-VAVE FM-1 — LA-inspired, acid and synthesized drums",
   "image": "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-home.png",
   "images": [
    "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-home.png",
    "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-drums.png",
    "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-presets.png",
    "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-mixer.png",
    "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-fx-sends.png",
    "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-fx-types.png",
    "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-arp.png",
    "https://raw.githubusercontent.com/dspaudio/mc-1/HEAD/site/assets/screens/v1-song.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/dspaudio~mc-1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "env-hold",
    "lfo-hold",
    "arp",
    "scl-hold",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website",
     "https://reytian.github.io/fm1-min1/"
    ],
    [
     "Emulator",
     "https://reytian.github.io/fm1-min1/emu/"
    ],
    [
     "Installer",
     "https://reytian.github.io/fm1-min1/install/"
    ],
    [
     "Releases",
     "https://github.com/Reytian/fm1-min1/releases"
    ]
   ],
   "name": "MIN-1",
   "repo": "Reytian/fm1-min1",
   "by": "Reytian",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "generative"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://reytian.github.io/fm1-min1/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.2.2",
    "url": "https://github.com/Reytian/fm1-min1/releases/tag/v0.2.2",
    "assets": [
     {
      "name": "min-0.2.2.fwsc",
      "url": "https://github.com/Reytian/fm1-min1/releases/download/v0.2.2/min-0.2.2.fwsc",
      "size": 609280,
      "sha256": "8d1a6f23708f92ac8146f4b8cd68f1e1ec9f542e8fcd2d8267834454159f3858",
      "check": {
       "sha256": "8d1a6f23708f92ac8146f4b8cd68f1e1ec9f542e8fcd2d8267834454159f3858",
       "bytes": 609657,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-05",
    "title": "MIN-1 0.2.2",
    "notes": "MIN-1 0.2.2: for the newer FM-1s. The music is the same as in 0.2.1.\n\nFM-1s sold since autumn 2026 (mostly AliExpress) carry another flash chip, the UC25HQ80 (ID 0xB36014), instead of the\n\nPuya P25Q80 (0x856014). Up to 0.2.1 MIN-1 knew only the Puya: on a newer unit it kept saves in RAM, gone at power-off (NOT SAVED, FLASH ERROR), and refused every update, so nothing could be installed over it. 0.2.2 takes both chips.\n\nStuck on an older version on a newer FM-1? The FM-1 itself is fine, but installing again won't help:\n\nthe hub's rescue page shows how to put a firmware back through the chip's download mode.\n\nAlso: M-VAVE's download is V16 now, which MIN-1's web installer and tools/fm1_rescue.sh refuse, so both now fetch V15 from M-VAVE's own repository. tools/fm1_rescue.py takes both chips. M-VAVE's M-UPGRADE 3.11 doesn't find MIN-1 (it refuses long identities): to go back to stock, use the web installer's \"Back to the stock firmware\".\n\nTested on an FM-1 with the old chip: it installs from another firmware, a saved piece comes back after a power cycle, and another firmware installs over it. It hasn't been tried on a unit with the new chip yet. The same change works on a newer unit in Felucca 1.8.2-beta\n\n(report). Reports are welcome in the issues.\n\nInstall: https://reytian.github.io/fm1-min1/install/ in Chrome or Edge, or python3 tools/fm1_install.py min-0.2.2.fwsc (see BUILDING.md).\n\nFile\nWhat\n\nmin-0.2.2.fwsc\nThe firmware (identity FM-1_5000202; sha256 8d1a6f23708f92ac8146f4b8cd68f1e1ec9f542e8fcd2d8267834454159f3858)\n\nInstalling firmware is at your own risk. GPL-3.0-only.\n\nMIN-1 0.2.2：支持新批次的 FM-1。 音乐部分和 0.2.1 一样。\n\n2026 年秋天以后卖出的 FM-1（大多来自速卖通）换了闪存芯片 UC25HQ80（ID 0xB36014），原来是 Puya P25Q80（0x856014）。0.2.1 及更早的版本只认 Puya：在新机器上保存只留在内存里，关机就没了（NOT SAVED、FLASH ERROR），而且拒绝一切更新，什么固件都装不上去。0.2.2 两种芯片都认。\n\n如果新机器已经卡在旧版本上：机器本身没坏，但反复重装没有用，请按 The Firmware Hub 的救援页，通过芯片的下载模式写入固件。\n\n另外：M-VAVE 官网的固件现在是 V16，MIN-1 的网页安装器和 tools/fm1_rescue.sh 不接受，所以改为从 M-VAVE 自己的仓库取 V15；tools/fm1_rescue.py 也认两种芯片了。M-VAVE 的 M-UPGRADE 3.11 找不到 MIN-1，回原厂请用网页安装器的 “Back to the stock firmware”。\n\n已在老芯片的 FM-1 上实测：能从别的固件装上来，保存的曲子断电后还在，也能被别的固件刷走。新芯片的机器上还没试过，同样的改动在 Felucca 1.8.2-beta 上已有新机器用户验证，欢迎在 issues 里反馈。\n\n安装：用 Chrome 或 Edge 打开 https://reytian.github.io/fm1-min1/install/，或运行 python3 tools/fm1_install.py min-0.2.2.fwsc。风险自负。"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "MIN-1 0.2.2: the newer FM-1s' flash chip",
    "url": "https://github.com/Reytian/fm1-min1/commit/85c26d3055c22e43c88c6605144e4cd9f1d03b9b"
   },
   "stars": 7,
   "created": "2026-10-16",
   "about": "Minimalist music for the M-VAVE FM-1: a self-playing ensemble anyone can take over. Inspired by FM1-AMB and Philip Glass.",
   "image": "https://raw.githubusercontent.com/Reytian/fm1-min1/HEAD/docs/images/min1.png",
   "images": [
    "https://raw.githubusercontent.com/Reytian/fm1-min1/HEAD/docs/images/min1.png",
    "https://raw.githubusercontent.com/Reytian/fm1-min1/HEAD/docs/images/models.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Reytian~fm1-min1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "MNM-1",
   "repo": "sirpearson/fm-1-monomachine",
   "by": "sirpearson",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A groovebox of six monophonic tracks after Elektron's Monomachine, each its own synthesis machine, with a 64-step sequencer.",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "status": "Experimental: builds with the JieLi toolchain and passes its host tests; not yet tried on a real FM-1.",
   "experimental": true,
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-13",
    "title": "0.3.0: the KIT, eleven drum voices on the black keys",
    "url": "https://github.com/sirpearson/fm-1-monomachine/commit/527da33beb3dde611836cff376aee1b9a324949b"
   },
   "stars": 1,
   "created": "2026-10-13",
   "image": "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/kit.png",
   "images": [
    "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/kit.png",
    "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/kitmix.png",
    "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/syn.png",
    "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/steprec.png",
    "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/scale.png",
    "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/lock.png",
    "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/lfo.png",
    "https://raw.githubusercontent.com/sirpearson/fm-1-monomachine/HEAD/docs/img/home.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://charlesvestal.github.io/fm1-monk/emu/"
    ],
    [
     "Installer",
     "https://charlesvestal.github.io/fm1-monk/install/"
    ],
    [
     "Manual",
     "https://charlesvestal.github.io/fm1-monk/manual/"
    ],
    [
     "Releases",
     "https://github.com/charlesvestal/fm1-monk/releases"
    ]
   ],
   "name": "MONK-1",
   "repo": "charlesvestal/fm1-monk",
   "by": "charlesvestal",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://charlesvestal.github.io/fm1-monk/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.10",
    "url": "https://github.com/charlesvestal/fm1-monk/releases/tag/v0.10",
    "assets": [
     {
      "name": "monk-0.10-app.bin",
      "url": "https://github.com/charlesvestal/fm1-monk/releases/download/v0.10/monk-0.10-app.bin",
      "size": 299008,
      "sha256": "67cf9f3971fdc0c3582ca3a3cc41b819d3dcc1b0ba5ca62987107fbf1b012f3c"
     },
     {
      "name": "monk-0.10.fwsc",
      "url": "https://github.com/charlesvestal/fm1-monk/releases/download/v0.10/monk-0.10.fwsc",
      "size": 609280,
      "sha256": "60b4f16be48fc3c088b626b8a5403620de2377941cc96c570c5d886eaa1165c5",
      "check": {
       "sha256": "60b4f16be48fc3c088b626b8a5403620de2377941cc96c570c5d886eaa1165c5",
       "bytes": 609659,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/charlesvestal/fm1-monk/releases/download/v0.10/SHA256SUMS",
      "size": 207,
      "sha256": "5cca04d74dee3735ac38fb8f3f21e1081f898b0f748999762820a94717894cb2"
     }
    ],
    "date": "2026-11-05",
    "title": "MONK-1 0.10",
    "notes": "Install it with the web installer in Chrome or Edge, or try it first in the emulator. For details, see the manual.\n• MONK-1 now works on the newer FM-1s. Units sold since autumn 2026, mostly on AliExpress, have a different flash chip (UC25HQ80). Until this release, MONK-1 couldn't save on them, back them up or install another firmware. Now it can, and the rescue script takes them too. Thanks to Laurens (@profikid) for the fix (fm1-base#35).\n• M-VAVE's updater, M-UPGRADE 3.11 (2026-11-03), didn't find an FM-1 running MONK-1. It said \"A USB MIDI device is present but did not answer\". This version answers it, so M-UPGRADE can put M-VAVE's firmware back. Older versions of MONK-1 still aren't found: for those, use \"Back to the stock firmware\" on the install page.\n• MONK-1 has a package identity of its own: FM-1_45 and the version (0.10 is FM-1_45001000). Up to 0.9.1 it shared one with MIN-1, and the Firmware Hub asked for the change.\n• The installer and the rescue script take M-VAVE's stock firmware V16 as well as V15.\n• The site's pages work with a screen reader and the keyboard. In the emulator, every knob, button and key can be reached with the keyboard, and the screen is spoken, as the FM-1 Screen Reader speaks the FM-1's. Keys sing at the keyboard velocity, and a new slider sets the aftertouch.\n\nReleases are now built and attested on GitHub (zvenson/fm1-build), so the Firmware Hub can check where a package came from.\n\nmonk-0.10.fwsc is the firmware to install; monk-0.10-app.bin is the bare app image.\n\nMonkSynth is offered completely free of charge. If you enjoy it, you are kindly requested to make a donation at https://www.savetibet.org."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "sense.c, sense_test.c: the readings' differences as uint32_t, for gcc…",
    "url": "https://github.com/charlesvestal/fm1-monk/commit/7f4de9c94ee4cffc5671babd01adefd1c62ed1a2"
   },
   "stars": 11,
   "created": "2026-10-14",
   "about": "MONK-1: twelve singers for the M-VAVE FM-1. MonkSynth with velocity and pressure from the FM-1's own keys",
   "image": "https://raw.githubusercontent.com/charlesvestal/fm1-monk/HEAD/docs/img/screen-singing.png",
   "images": [
    "https://raw.githubusercontent.com/charlesvestal/fm1-monk/HEAD/docs/img/screen-singing.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-monk/HEAD/docs/img/screen-unicorn.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-monk/HEAD/docs/img/screen-punk.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-monk.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://charlesvestal.github.io/fm1-monk/manual/",
     "names": [
      "monk-0.9.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://evanyerburgh.github.io/niagara-drift/"
    ],
    [
     "Installer",
     "https://evanyerburgh.github.io/niagara-drift/install/"
    ]
   ],
   "name": "Niagara Drift",
   "repo": "evanyerburgh/niagara-drift",
   "by": "evanyerburgh",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A drone synthesizer: two drifting virtual-analog drones, each with a partner, a sub and a resonant filter, through delay and reverb.",
   "types": [
    "synth",
    "generative"
   ],
   "status": "0.2: runs on the FM-1 (tested on one unit so far) and in the browser.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://evanyerburgh.github.io/niagara-drift/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.2.1",
    "url": "https://github.com/evanyerburgh/niagara-drift/releases/tag/v0.2.1",
    "assets": [
     {
      "name": "niagara-drift-0.2.1.fwsc",
      "url": "https://github.com/evanyerburgh/niagara-drift/releases/download/v0.2.1/niagara-drift-0.2.1.fwsc",
      "size": 609280,
      "sha256": "11b2fce37efdd33d981bedacd84b4dbd15af3060137cfabe04ebd2eeadd492f4",
      "check": {
       "sha256": "11b2fce37efdd33d981bedacd84b4dbd15af3060137cfabe04ebd2eeadd492f4",
       "bytes": 609657,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-02",
    "title": "Niagara Drift 0.2.1",
    "notes": "Getting on and off Niagara Drift, on every FM-1. The sound is the same as 0.2's, and an update from 0.2 keeps your\n\nsound and scenes. Tested on an older FM-1; the newer FM-1s' memory chip hasn't been tried here yet.\n• Newer FM-1s: 0.2 didn't recognize the memory chip of some newer FM-1s, so on those it couldn't save and ignored\n\nevery install (it just started again). 0.2.1 works with any standard memory chip, and never ignores an install. An\n\nFM-1 like that still on 0.2 needs M-Flasher once to leave it: the\n\ninstall page's \"Trouble installing?\" shows how.\n• Back to M-VAVE's V16 or V15, whichever bootloader the FM-1 has (0.2 took back only the version whose bootloader\n\nit already had, so an FM-1 with V15's refused V16). Charles Vestal's fix, from felucca-bsp.\n• The installer takes M-VAVE's V16 as well as V15 (M-VAVE's link now gives V16; V15 is linked on the Internet\n\nArchive). From 0.2, \"Back to M-VAVE's firmware\" updates Niagara Drift to 0.2.1 first, then writes M-VAVE's: one\n\nbutton.\n• \"Trouble installing?\" on the install page, and in the manual: what to do when an install doesn't take.\n\nThanks to Charles Vestal for the bootloader fix (felucca-bsp), and to jonngstudio-debug for reporting it (#66).\n\nInstall: open the web installer in Chrome or Edge, or from a terminal python3 tools/fm1_install.py niagara-drift-0.2.1.fwsc. Try it first in the browser: https://evanyerburgh.github.io/niagara-drift/"
   },
   "commit": {
    "date": "2026-11-03",
    "title": "Merge pull request #73 from evanyerburgh/look-seq-lfo",
    "url": "https://github.com/evanyerburgh/niagara-drift/commit/b2ac67cb82a7833c943788f587fc9c1ef7996030"
   },
   "stars": 16,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/panel.png",
   "images": [
    "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/panel.png",
    "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/page-play.png",
    "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/page-tone.png",
    "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/page-osc.png",
    "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/page-seq.png",
    "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/page-lfo.png",
    "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/page-swell.png",
    "https://raw.githubusercontent.com/evanyerburgh/niagara-drift/HEAD/docs/img/page-effects.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/evanyerburgh~niagara-drift.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "OberVave",
   "repo": "zvenson/obervave",
   "by": "zvenson",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "board": "both",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v3.3.2",
    "url": "https://github.com/zvenson/obervave/releases/tag/v3.3.2",
    "assets": [
     {
      "name": "obervave-3.3.2.fwsc",
      "url": "https://github.com/zvenson/obervave/releases/download/v3.3.2/obervave-3.3.2.fwsc",
      "size": 612352,
      "sha256": "ba54723e1ec0d40d3552fb463a384d3b9a33290e57fdf8a615f7f22fa34644a2",
      "check": {
       "sha256": "ba54723e1ec0d40d3552fb463a384d3b9a33290e57fdf8a615f7f22fa34644a2",
       "bytes": 612223,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "obervave-3.3.2-smk37-elite.fwsc",
      "url": "https://github.com/zvenson/obervave/releases/download/v3.3.2/obervave-3.3.2-smk37-elite.fwsc",
      "size": 651264,
      "sha256": "753e8f659d84574f74b03bbf16dc11a7650c099402a6f6af63cef529b732c17c",
      "check": {
       "sha256": "753e8f659d84574f74b03bbf16dc11a7650c099402a6f6af63cef529b732c17c",
       "bytes": 651327,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "obervave-3.3.2-smk37-mke.fwsc",
      "url": "https://github.com/zvenson/obervave/releases/download/v3.3.2/obervave-3.3.2-smk37-mke.fwsc",
      "size": 651264,
      "sha256": "5154d15fb7b4a662ea619c90b2c00b051dc61169865ebfcefeb6e4d2b0c37f42",
      "check": {
       "sha256": "5154d15fb7b4a662ea619c90b2c00b051dc61169865ebfcefeb6e4d2b0c37f42",
       "bytes": 651323,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "obervave-3.3.2-smk37.fwsc",
      "url": "https://github.com/zvenson/obervave/releases/download/v3.3.2/obervave-3.3.2-smk37.fwsc",
      "size": 651264,
      "sha256": "a23372836bcf4487228220fa8ec41b5f013f538151f9416aef3b69f75b45b6ae",
      "check": {
       "sha256": "a23372836bcf4487228220fa8ec41b5f013f538151f9416aef3b69f75b45b6ae",
       "bytes": 651327,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "obervave-smk37-elite.fwsc",
      "url": "https://github.com/zvenson/obervave/releases/download/v3.3.2/obervave-smk37-elite.fwsc",
      "size": 651264,
      "sha256": "fe95553aceba018630f6c18b08fcc4d90829fe2bb9e9c8fdadee42e4afe1f6cb",
      "check": {
       "sha256": "fe95553aceba018630f6c18b08fcc4d90829fe2bb9e9c8fdadee42e4afe1f6cb",
       "bytes": 651327,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "obervave-smk37-mke.fwsc",
      "url": "https://github.com/zvenson/obervave/releases/download/v3.3.2/obervave-smk37-mke.fwsc",
      "size": 651264,
      "sha256": "edc59ac6e332258431d6ba838d2ad6889d74a2a9faf340791a0ee0f5b6023e6e",
      "check": {
       "sha256": "edc59ac6e332258431d6ba838d2ad6889d74a2a9faf340791a0ee0f5b6023e6e",
       "bytes": 651323,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "obervave-smk37.fwsc",
      "url": "https://github.com/zvenson/obervave/releases/download/v3.3.2/obervave-smk37.fwsc",
      "size": 651264,
      "sha256": "f6f4a1473bc942c6eff1198b5113ca4574ec35e32176f054756702b2afa3dd8f",
      "check": {
       "sha256": "f6f4a1473bc942c6eff1198b5113ca4574ec35e32176f054756702b2afa3dd8f",
       "bytes": 651327,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/zvenson/obervave/releases/download/v3.3.2/SHA256SUMS",
      "size": 372,
      "sha256": "45835c5ec55f83f6ef0b4e50cf1fb55d685f941466352d07039e6c16e84f35ff"
     }
    ],
    "date": "2026-11-02",
    "title": "v3.3.2",
    "notes": "Full Changelog: v3.3.1...v3.3.2"
   },
   "commit": {
    "date": "2026-11-02",
    "title": "Release 3.3.2: the CI's attested package in docs/firmware (FM-1_9533;…",
    "url": "https://github.com/zvenson/obervave/commit/099ccd6f30a83591cea3521efaec6d3546004036"
   },
   "stars": 49,
   "created": "2026-10-13",
   "about": "An 8-voice analog-style polysynth for the M-VAVE FM-1, on four tracks: a mixer, effects, a master, a step sequencer.",
   "image": "https://raw.githubusercontent.com/zvenson/obervave/HEAD/assets/logo.png",
   "images": [
    "https://raw.githubusercontent.com/zvenson/obervave/HEAD/assets/logo.png",
    "https://raw.githubusercontent.com/zvenson/obervave/HEAD/docs/screen.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Web app",
     "https://opn-1.putch.co.uk/"
    ],
    [
     "Reddit post",
     "https://www.reddit.com/r/MVaveFM1/comments/1x7edf7/mega_drive_genesis_sounds_on_the_fm1/"
    ]
   ],
   "name": "OPN-1",
   "repo": "putchdev/opn-1",
   "by": "putchdev",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://opn-1.putch.co.uk/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.0.0",
    "url": "https://github.com/putchdev/opn-1/releases/tag/v2.0.0",
    "assets": [
     {
      "name": "LICENSE",
      "url": "https://github.com/putchdev/opn-1/releases/download/v2.0.0/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/putchdev/opn-1/releases/download/v2.0.0/LICENSING.md",
      "size": 3072,
      "sha256": "3f007a6c17e13dc7445b5ac1a1ae34ab779a2a045ecf3016809259583776d08e"
     },
     {
      "name": "opn1-2.0.0.fwsc",
      "url": "https://github.com/putchdev/opn-1/releases/download/v2.0.0/opn1-2.0.0.fwsc",
      "size": 610304,
      "sha256": "31b88c6fd4ec081ce85393977453e61ff86c6f545f10e7b1db2023986803675c",
      "check": {
       "sha256": "31b88c6fd4ec081ce85393977453e61ff86c6f545f10e7b1db2023986803675c",
       "bytes": 610110,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-17",
    "title": "OPN-1 2.0.0",
    "notes": "OPN-1 2.0 turns the FM-1 into a patch-based synth for the Mega Drive / Genesis sound chips.\n\nUse it with the web app: https://opn-1.putch.co.uk/ (Chrome or Edge). The web app now works only with OPN-1 2.x; for 1.x, the 1.0 page stays at https://opn-1.putch.co.uk/v1/.\n\n## What's new since 1.0\n• A library of 128 FM patches in 4 banks of 32, kept in flash. PRESETS or a program change picks one. Your 1.0 sound set moves into bank 1 when you install.\n• Fill it from VOPM .opm files (such as the 2612.org packs) or a game's VGM songs, into the bank and slot you choose, and export a bank back to .opm.\n• Single, Layer or Split: one patch, up to six stacked on the keys (with the note, after a delay or on release), or a patch per MIDI channel.\n• A patch editor in the web app that draws every operator's envelope, plays your changes on the FM-1 and saves to the patch's slot.\n• Redrawn FM-1 screens: envelope graphs, an operator page, a setup page and a new SEQ screen. The version shows at power-on and on the GLO page.\n• Songs can be played as MIDI in GenMDM mode, or saved as a .mid file, alongside the exact streaming. In GenMDM mode the screen names the library patch a song is playing.\n• A normal MIDI layout by default: the patch on channels 1 to 6 and 12 to 15, square waves on 7 to 9, drums on 10, noise on 11. GenMDM's layout is still a setting.\n\n## Install\n\nFrom the OPN-1 project folder (see the README for Windows, macOS and Linux):\n\npython3 tools/fm1_install.py opn1-2.0.0.fwsc\n\nTo go back to 1.0 or the official firmware, install that instead, or use the FM-1 Firmware Hub.\n\nInstalling is at your own risk: see the disclaimer in the README.\n\nSHA-256 of opn1-2.0.0.fwsc:\n\n31b88c6fd4ec081ce85393977453e61ff86c6f545f10e7b1db2023986803675c\n\nThe package contains BSD-3-Clause and Apache-2.0 code; LICENSE and LICENSING.md are attached."
   },
   "commit": {
    "date": "2026-10-17",
    "title": "Remember the drum kit sent to the FM-1 across page loads",
    "url": "https://github.com/putchdev/opn-1/commit/3319da44abc76fd0ce208de7c37405feef5770fd"
   },
   "stars": 1,
   "created": "2026-10-16",
   "about": "OPN-1 is open-source firmware for the M-VAVE FM-1 keyboard. It runs accurate recreations of the console's two sound chips, the Yamaha YM2612 (six FM channels plus a sample DAC) and the SN76489 PSG (three square waves and a noise channel)…",
   "image": "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-sound.png",
   "images": [
    "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-sound.png",
    "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-envelopes.png",
    "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-seq.png",
    "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-operator.png",
    "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-lfo.png",
    "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-vibrato.png",
    "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-arpeggio.png",
    "https://raw.githubusercontent.com/putchdev/opn-1/HEAD/docs/screens/fm1-global.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/putchdev~opn-1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website and installer",
     "https://quixotic7.github.io/PurpleMonkeyFM1/"
    ],
    [
     "Emulator",
     "https://quixotic7.github.io/PurpleMonkeyFM1/emu/"
    ]
   ],
   "name": "PurpleMonkey FM-1",
   "repo": "Quixotic7/PurpleMonkeyFM1",
   "by": "Quixotic7",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "status": "A first public beta: installed and runs on the owner's FM-1 (2026-10-09); most of it checked on the emulator.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Website and installer",
     "url": "https://quixotic7.github.io/PurpleMonkeyFM1/webapp/installer/",
     "from": "list",
     "front": "https://quixotic7.github.io/PurpleMonkeyFM1/"
    }
   ],
   "release": {
    "tag": "v0.11",
    "url": "https://github.com/Quixotic7/PurpleMonkeyFM1/releases/tag/v0.11",
    "assets": [
     {
      "name": "LICENSE",
      "url": "https://github.com/Quixotic7/PurpleMonkeyFM1/releases/download/v0.11/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/Quixotic7/PurpleMonkeyFM1/releases/download/v0.11/LICENSES.zip",
      "size": 15053,
      "sha256": "8410b22fbd26abf3412aed6ce47359858581d81e5656a617bc9524c83ab72b20"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/Quixotic7/PurpleMonkeyFM1/releases/download/v0.11/LICENSING.md",
      "size": 12288,
      "sha256": "be4e2ba09ea1927e1187d42d8af7b86e4e9fa6a7c556dde7910acc3f18233381"
     },
     {
      "name": "purplemonkey-0.11-app.bin",
      "url": "https://github.com/Quixotic7/PurpleMonkeyFM1/releases/download/v0.11/purplemonkey-0.11-app.bin",
      "size": 325632,
      "sha256": "6bbc6121105eb1ff038f4c6db8bb580a075cb176c8d3063daf972afa84d4b2a4"
     },
     {
      "name": "purplemonkey-0.11.fwsc",
      "url": "https://github.com/Quixotic7/PurpleMonkeyFM1/releases/download/v0.11/purplemonkey-0.11.fwsc",
      "size": 610304,
      "sha256": "edf961e7a85e8795747d1624b828a70bc8f6b0e065bdb019c106ee9a7d43b606",
      "check": {
       "sha256": "edf961e7a85e8795747d1624b828a70bc8f6b0e065bdb019c106ee9a7d43b606",
       "bytes": 609857,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/Quixotic7/PurpleMonkeyFM1/releases/download/v0.11/SHA256SUMS",
      "size": 181,
      "sha256": "914f43574016a6dba832412effb94fb42c1d0deb56b17d635fcab15f70d448ed"
     }
    ],
    "prerelease": true,
    "date": "2026-10-10",
    "title": "PurpleMonkey 0.11",
    "notes": "## PurpleMonkey 0.11\n\nA small release of fixes after 0.10.\n\n## Fixed\n• TALK: the big letter now always shows. About half the time (depending on the millisecond a key went down)\n\nthe letter was cleared in the moment it appeared, so the key spoke but showed nothing.\n• The Cat's right ear. Its resting picture was drawn a quarter turn off the other three, and the poses turned\n\nit to compensate, so the ear lay over sideways whenever the face changed (singing a note, happy with keys held,\n\nsurprised, sleepy) and while dancing. The picture is now drawn the same way as the others and each face places\n\nits ears itself.\n\n## For people animating the pets\n• The Face editor of the pet animator (tools/rig_editor/) has an x and a y for each ear in every face key, next\n\nto its turn, and the firmware applies them: an ear's pictures were drawn one by one and do not all sit alike.\n\nInstalling over 0.10 needs nothing special: PurpleMonkey stores nothing.\n\nPurpleMonkey 0.11 for the M-VAVE FM-1 (identity FM-1_927): a first instrument for a small child.\n\nTry it in the browser, no FM-1 needed: https://quixotic7.github.io/PurpleMonkeyFM1/emu/\n\nInstall from the browser at https://quixotic7.github.io/PurpleMonkeyFM1/ (Chrome or Edge, the FM-1 connected by USB), or with the command-line installer: python3 tools/fm1_install.py purplemonkey-0.11.fwsc.\n\nSHA256SUMS lists the package and the app. The package holds three JieLi AC79 SDK files (Apache-2.0); LICENSE, LICENSING.md and LICENSES.zip carry every licence. Installing firmware is at your own risk.\n\nFull Changelog: v0.10...v0.11"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "RemoteFM1Metadata.json: this firmware's skin for RemoteFM1",
    "url": "https://github.com/Quixotic7/PurpleMonkeyFM1/commit/3b80d1e21992cd5bf887c4b52563caa87eb94a36"
   },
   "stars": 9,
   "created": "2026-10-08",
   "about": "MVave FM-1 Firmware for kids",
   "image": "https://raw.githubusercontent.com/Quixotic7/PurpleMonkeyFM1/HEAD/docs/img/pm_screens.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "fx",
    "scl",
    "edit"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/Quixotic7/PurpleMonkeyFM1/HEAD/docs/img/pm_screens.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Quixotic7~PurpleMonkeyFM1.jpg"
   ]
  },
  {
   "links": [],
   "name": "S1-FM",
   "repo": "Qubestar/Saibertin-S-FM",
   "by": "Qubestar",
   "fam": "indep",
   "lic": "?",
   "experimental": true,
   "about": "An experimental MIDI controller and hardware sequencer (Saibertin S1's playground).",
   "status": "Not on an FM-1 yet: its work is on feature branches (a browser companion sequencer and a small overlay on SLOOP 2.6); its main branch holds only the README.",
   "types": [
    "experimental"
   ],
   "stage": "development",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-15",
    "title": "Initial commit: project overview",
    "url": "https://github.com/Qubestar/Saibertin-S-FM/commit/9c3f5a89f3d8c2bb4ff96fcee575a6e6e11c689e"
   },
   "stars": 0,
   "created": "2026-10-15",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development"
  },
  {
   "links": [
    [
     "Emulator",
     "https://dsablic.github.io/sidou/"
    ]
   ],
   "name": "SIDOU",
   "repo": "dsablic/sidou",
   "by": "dsablic",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A C64 SID instrument: SID emulation with a chip-character layer, live, step and tracker views, GoatTracker 2 songs played on the device, MIDI.",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "editor",
     "label": "editor",
     "url": "https://dsablic.github.io/sidou/editor.html",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "v1.7.0",
    "url": "https://github.com/dsablic/sidou/releases/tag/v1.7.0",
    "assets": [
     {
      "name": "Apache-2.0.txt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/Apache-2.0.txt",
      "size": 10240,
      "sha256": "074e6e32c86a4c0ef8b3ed25b721ca23aca83df277cd88106ef7177c354615ff"
     },
     {
      "name": "GPL-3.0-only.txt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/GPL-3.0-only.txt",
      "size": 34714,
      "sha256": "fb981668c18a279e285fc4d83fba1e836cc84dd4daa73c9697d3cfd2d8aca6e0"
     },
     {
      "name": "sidou-1.7.0.fwsc",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/sidou-1.7.0.fwsc",
      "size": 610304,
      "sha256": "38a83cedf2fcf2f587b65f2d71446b4c057c44f673c5b771f674494ec29ec0de",
      "check": {
       "sha256": "38a83cedf2fcf2f587b65f2d71446b4c057c44f673c5b771f674494ec29ec0de",
       "bytes": 610090,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "video-add-an-effect-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-add-an-effect-square.mp4",
      "size": 1436549,
      "sha256": "5728661ffc2aff3acad2eba2593d601935973eab9ebb63bd521d906ee1f07f13"
     },
     {
      "name": "video-add-an-effect-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-add-an-effect-vertical.mp4",
      "size": 2327839,
      "sha256": "eb2db1ec2ec58443679b8e9f2e3ac4c74384c7e7a10628ea8c36ec3e343ce022"
     },
     {
      "name": "video-add-an-effect.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-add-an-effect.mp4",
      "size": 2128609,
      "sha256": "c7298f0b19cddb4834ead1af6dbb5fc22d966e4e31c5763322889e441e153e52"
     },
     {
      "name": "video-add-an-effect.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-add-an-effect.srt",
      "size": 415,
      "sha256": "807aae3fe2290c8f836360418a8a519ed2128da8789da0c49b56394cfd543ae5"
     },
     {
      "name": "video-chip-character-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chip-character-square.mp4",
      "size": 1541407,
      "sha256": "a0557f3834f6c61474c3cbb3cb6d1060f69143ead35df0f7939826c119acbc98"
     },
     {
      "name": "video-chip-character-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chip-character-vertical.mp4",
      "size": 2537554,
      "sha256": "648435aabb0657ab04dd822c84ad881c47ce59e36b58e39b661f79636e4ec336"
     },
     {
      "name": "video-chip-character.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chip-character.mp4",
      "size": 2285896,
      "sha256": "acff7ec92dde2898ce83720780c49d4435ce2cef934da803e617bd1ff582e83b"
     },
     {
      "name": "video-chip-character.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chip-character.srt",
      "size": 568,
      "sha256": "029b9c9a2ebfc0e1d060c87d8a13b806040222801f75f3dc1136dd95a313fe4f"
     },
     {
      "name": "video-chip-spread-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chip-spread-square.mp4",
      "size": 1667236,
      "sha256": "1c7bd151927676b6f7faa4befbadfc21e42c4a37049e173bd652fcbed42b1a0a"
     },
     {
      "name": "video-chip-spread-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chip-spread-vertical.mp4",
      "size": 2443182,
      "sha256": "5169d9fb366c929fa6370968b10c95f45105a5617f8fce37a4e1d3b296197160"
     },
     {
      "name": "video-chip-spread.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chip-spread.mp4",
      "size": 2285896,
      "sha256": "28c3006ce4d84ec8bdaa586cb87ffc07e9d53dddf4b9bc0e3e389d4445d5e9cb"
     },
     {
      "name": "video-chip-spread.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chip-spread.srt",
      "size": 489,
      "sha256": "4dcdb5205043c4f75e7c1da78d390727d74f52af02fbce262935637d57c47e82"
     },
     {
      "name": "video-chord-arpeggio-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chord-arpeggio-square.mp4",
      "size": 1426063,
      "sha256": "6ae025e983969cbf281f4e1794678c0cded1ae2df705249e2034c0ecb2fb57a4"
     },
     {
      "name": "video-chord-arpeggio-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chord-arpeggio-vertical.mp4",
      "size": 2327839,
      "sha256": "4fb9261ec7bbf3bce6bfaa23f2dfd6df5ddcf21fbd44247500008e1113ef6994"
     },
     {
      "name": "video-chord-arpeggio.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chord-arpeggio.mp4",
      "size": 2086666,
      "sha256": "f3709a566ce4726f24e0d67fb1c27e61480738b5186aa0fd625dc0a9ee564d81"
     },
     {
      "name": "video-chord-arpeggio.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-chord-arpeggio.srt",
      "size": 769,
      "sha256": "4b499e1e898a20f5900264325fe31a8d3b537b4da1fa7b64cee24625ea72b9dc"
     },
     {
      "name": "video-first-sound-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-first-sound-square.mp4",
      "size": 1426063,
      "sha256": "9762b262126497418ba46833f12fa4acb2f6f6151b1dd2343a4c9f1e3aaf593b"
     },
     {
      "name": "video-first-sound-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-first-sound-vertical.mp4",
      "size": 2254438,
      "sha256": "7558828495447d18afdbea1c2d73d98fde9c20fc442bbf238ee74e1ba87fea69"
     },
     {
      "name": "video-first-sound.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-first-sound.mp4",
      "size": 2065695,
      "sha256": "92d649234d7cbd6d0cf4f55b7ee9e22c09ceb8ae305b0c933f4f5a35b3db84b9"
     },
     {
      "name": "video-first-sound.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-first-sound.srt",
      "size": 557,
      "sha256": "01bccc4aa3e310561e063989ee7042d4f43c314368bb36aa9174dacf7fd3a255"
     },
     {
      "name": "video-lift-a-sound-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-lift-a-sound-square.mp4",
      "size": 1604321,
      "sha256": "d2f3e74f8a3febc27d402527dffa7975ff17f3f67125728ba645d542281b6023"
     },
     {
      "name": "video-lift-a-sound-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-lift-a-sound-vertical.mp4",
      "size": 2579497,
      "sha256": "ad4e90d18fedef8ad5d69a29b228a38bcecb5f63137d22b519ab482fa6a05f0a"
     },
     {
      "name": "video-lift-a-sound.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-lift-a-sound.mp4",
      "size": 2359296,
      "sha256": "fc8e7d729f241965ae6a0044fbc821649b71a74f54cff3f26ba27d02e79d05b1"
     },
     {
      "name": "video-lift-a-sound.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-lift-a-sound.srt",
      "size": 712,
      "sha256": "b57da1ea18c70add27651e3cfc03f62778b78fe176bfe0560a70d18a2c959501"
     },
     {
      "name": "video-midi-learn-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-midi-learn-square.mp4",
      "size": 1163919,
      "sha256": "9d9257ef228814486f7539e347f73f23b0f6dde4f64f08b2ff2f01d5e0737474"
     },
     {
      "name": "video-midi-learn-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-midi-learn-vertical.mp4",
      "size": 1960837,
      "sha256": "5c5ed8ef6ab1b32aa2918057204314cba0b10c8b81b47cc0a55b81e214a14283"
     },
     {
      "name": "video-midi-learn.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-midi-learn.mp4",
      "size": 1761608,
      "sha256": "8ba13f186a5a1388a15240ba38eb7173b739d4b1a4d3ec8e65d60c1411fd30f4"
     },
     {
      "name": "video-midi-learn.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-midi-learn.srt",
      "size": 532,
      "sha256": "2ea396ac56dbbbae4cd62c310d5f381671f11eb08e39ec0d7b5dadcb941a4933"
     },
     {
      "name": "video-mute-and-solo-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-mute-and-solo-square.mp4",
      "size": 1950351,
      "sha256": "35bbc297d40dfca9a3bbae07cbe29decd29c6c4aba8a0d577718352e777ae9b3"
     },
     {
      "name": "video-mute-and-solo-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-mute-and-solo-vertical.mp4",
      "size": 3093299,
      "sha256": "96cd650d9c8fb86c7b77c5b85a9ae6302e542fe0c7eff86afe8afdfe3c51ef63"
     },
     {
      "name": "video-mute-and-solo.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-mute-and-solo.mp4",
      "size": 2768241,
      "sha256": "f032f5ef6ea3effb4abe1981ab0642098624e1ffb3f043a942106a0a21cd1cc2"
     },
     {
      "name": "video-mute-and-solo.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-mute-and-solo.srt",
      "size": 672,
      "sha256": "7d25789b0c73c2c8736fd5f92615d67ed4817633a14859e37831d52472b2420b"
     },
     {
      "name": "video-play-a-sid-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-play-a-sid-square.mp4",
      "size": 1803551,
      "sha256": "0c9f6aeaa0547281287189cabdd6376e705bbd89afec3f9517d1dc8db7767642"
     },
     {
      "name": "video-play-a-sid-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-play-a-sid-vertical.mp4",
      "size": 2768241,
      "sha256": "e3376c7835456f31543153d1f075403fa5157e80908398a5d763666df1d1c741"
     },
     {
      "name": "video-play-a-sid.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-play-a-sid.mp4",
      "size": 2548040,
      "sha256": "06dfdb38e165ce822b11e1681526e238329afbc2eb8be021c41997807667bae3"
     },
     {
      "name": "video-play-a-sid.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-play-a-sid.srt",
      "size": 901,
      "sha256": "8e218a8510b2c9a45acfad8f80f1510e8c2a4f92c642324a0b00f58e7f2d3476"
     },
     {
      "name": "video-play-over-a-song-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-play-over-a-song-square.mp4",
      "size": 2998927,
      "sha256": "6fc3d0e863ecef0460b04013241128aff52f9cf3388922899c647b47cdb0caa8"
     },
     {
      "name": "video-play-over-a-song-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-play-over-a-song-vertical.mp4",
      "size": 4372562,
      "sha256": "e0b846674d99be5b248236a3ba3af0bca89a8701a202ebeddbd787959a41644c"
     },
     {
      "name": "video-play-over-a-song.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-play-over-a-song.mp4",
      "size": 4037018,
      "sha256": "00689aca4bc8bc0798cba6636b9e94c027b15e8f5e482d3c6c20bbff9dcb0e19"
     },
     {
      "name": "video-play-over-a-song.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-play-over-a-song.srt",
      "size": 642,
      "sha256": "dd5953352da8cc5f9ca806fde5cc3ea255452071b9fcf6b48c4caf8d28ff1d33"
     },
     {
      "name": "video-rec-over-loop-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-rec-over-loop-square.mp4",
      "size": 2002780,
      "sha256": "1322debf2feab6136dbf672a67a68efdc222e5d259a9efebac172c12c73dfa87"
     },
     {
      "name": "video-rec-over-loop-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-rec-over-loop-vertical.mp4",
      "size": 2904556,
      "sha256": "a5b856fa0933ffa7bded6abc33278ac548679d2c2ccd62bcd549cde151bd0b4b"
     },
     {
      "name": "video-rec-over-loop.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-rec-over-loop.mp4",
      "size": 2600468,
      "sha256": "9cbbca9cc90f01ffcfd856f9e86fd5d6a435bcd7418ee0b638aa6a8f3e618686"
     },
     {
      "name": "video-rec-over-loop.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-rec-over-loop.srt",
      "size": 569,
      "sha256": "a425e79c94b701764e7a4c2ee0500fe9cd47e359692e4d81ecf8e5d2e52bc5be"
     },
     {
      "name": "video-remix-a-song-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-remix-a-song-square.mp4",
      "size": 2181038,
      "sha256": "f67e3de7ea6e74111cc29e52b1df9f1f6b8b09c20b502e4460fab39350146f5d"
     },
     {
      "name": "video-remix-a-song-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-remix-a-song-vertical.mp4",
      "size": 3365929,
      "sha256": "6448127bee8f50b074d39692c143c29d96ea45148401e831020bbd7ef9adf1dc"
     },
     {
      "name": "video-remix-a-song.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-remix-a-song.mp4",
      "size": 3019899,
      "sha256": "eb72cfa495f0826c6a9febe5baf4bab4c386ddb93dc7e2b9d370beb1e95674db"
     },
     {
      "name": "video-remix-a-song.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-remix-a-song.srt",
      "size": 733,
      "sha256": "5899cf6609e21b3a4b6ebda6091e6e23fbad7bd69d1ab77a1e35517f5e0fe8e4"
     },
     {
      "name": "video-save-and-load-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-save-and-load-square.mp4",
      "size": 1761608,
      "sha256": "ed7d47cabd3b806640a8332af539c1508e32c664b6557e8002d4b2ab8d87f20b"
     },
     {
      "name": "video-save-and-load-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-save-and-load-vertical.mp4",
      "size": 2778726,
      "sha256": "457ad268cba59f4fa7473b4ed1abc99cb27699205fbca651a1d3740122b925d2"
     },
     {
      "name": "video-save-and-load.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-save-and-load.mp4",
      "size": 2527068,
      "sha256": "b77447156bd310fd7eccf331937e07911759a4aa5a066e39be6506e000957403"
     },
     {
      "name": "video-save-and-load.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-save-and-load.srt",
      "size": 684,
      "sha256": "f6e25bceb31576119fb46d203ffd8827a888491948dffd0b383c248477a24b15"
     },
     {
      "name": "video-send-to-song-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-send-to-song-square.mp4",
      "size": 2558525,
      "sha256": "3f57f5ab232c20a699df32fc99a0d3e4add3ba702e8fdfd90af91b652f0dfdfc"
     },
     {
      "name": "video-send-to-song-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-send-to-song-vertical.mp4",
      "size": 3827302,
      "sha256": "86b7f6f55e0d994b9ffac2ea4bc7eca113e5a5883747891bef86049df9a6429e"
     },
     {
      "name": "video-send-to-song.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-send-to-song.mp4",
      "size": 3502244,
      "sha256": "e94688d2292d5c074bc468779233766c772a1752a84785a8f093abf8770a5285"
     },
     {
      "name": "video-send-to-song.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-send-to-song.srt",
      "size": 1085,
      "sha256": "52bce1e287f83ba07e4d306e107f297c54ec78326ce8f5c600cf0dfcccb3c4c5"
     },
     {
      "name": "video-shape-a-sound-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-shape-a-sound-square.mp4",
      "size": 1394606,
      "sha256": "dd2766907742fd45471089d4ebdbe230b51d8db1af8f0e359fe0ca09b8db9252"
     },
     {
      "name": "video-shape-a-sound-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-shape-a-sound-vertical.mp4",
      "size": 2264924,
      "sha256": "5cc33842aca54db00ab2c3097f65b29642391df4d8e56d7cd45bff0401a0ea04"
     },
     {
      "name": "video-shape-a-sound.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-shape-a-sound.mp4",
      "size": 2086666,
      "sha256": "541a252be9c3fece1d04b52e1ca2083253cdfb999f5db24691555595179fa09b"
     },
     {
      "name": "video-shape-a-sound.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-shape-a-sound.srt",
      "size": 573,
      "sha256": "bb080d46a0e8dd5ec1a56dd148ffa8c28d7c3b8bba9786557a9642a28a680512"
     },
     {
      "name": "video-shape-in-lab-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-shape-in-lab-square.mp4",
      "size": 3009413,
      "sha256": "1d5f5877565e6dab954dfeaee9e95acf1eb102f84c6880ff2ea7a4c6b3cbafe4"
     },
     {
      "name": "video-shape-in-lab-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-shape-in-lab-vertical.mp4",
      "size": 4917821,
      "sha256": "4054dd4e0bf1e17fef62dad3a63d968053fa8087de0847f0a3e921bbc7c92dcf"
     },
     {
      "name": "video-shape-in-lab.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-shape-in-lab.mp4",
      "size": 4508877,
      "sha256": "b4e124c6615e609bc5bcf3daad9466a4f16600665908bb87d45ac5c44f224872"
     },
     {
      "name": "video-shape-in-lab.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-shape-in-lab.srt",
      "size": 1362,
      "sha256": "c1f3edbd72ae3aa08b6fcb238c4ae93e074a37beebce856e58215999bf6ee438"
     },
     {
      "name": "video-sidou-intro-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-sidou-intro-square.mp4",
      "size": 5054136,
      "sha256": "9ce871df96ee4e3afeb4271fa86703f2e934bdb46f22ad1ee6d70703f50a2a27"
     },
     {
      "name": "video-sidou-intro-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-sidou-intro-vertical.mp4",
      "size": 7161774,
      "sha256": "d0a66d13bb5da37d9f0ce44ec2fc6795f197684b8f1bb2fe1f1540366cc1a391"
     },
     {
      "name": "video-sidou-intro.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-sidou-intro.mp4",
      "size": 6763315,
      "sha256": "401043f6b0a6454d943a04e976a20da6eed7523fbd64b63f9f9b190e46e39852"
     },
     {
      "name": "video-sidou-intro.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-sidou-intro.srt",
      "size": 1423,
      "sha256": "5418ccaff06d14fc1e25fd35ad9d1d2c9d673f0c48fc88ceee9d3593cfc1f4f6"
     },
     {
      "name": "video-step-a-beat-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-step-a-beat-square.mp4",
      "size": 2862612,
      "sha256": "412ab8d90e99fbe290709d5cf1561ca62fbfd767dd7b5a0acd03513774577620"
     },
     {
      "name": "video-step-a-beat-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-step-a-beat-vertical.mp4",
      "size": 4477420,
      "sha256": "c2c7f65d2461b2168147b85c2e89a230bcd761560e090d3c05a58d42311b67fd"
     },
     {
      "name": "video-step-a-beat.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-step-a-beat.mp4",
      "size": 4047503,
      "sha256": "4f055f1cfdeb24fb849df3c7e9d7bac1a366d530880ca0ef995aa551b65d234c"
     },
     {
      "name": "video-step-a-beat.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-step-a-beat.srt",
      "size": 954,
      "sha256": "eb952dde152a0184b1627e12786606b67e463a66d98da769d5d6f332307d0111"
     },
     {
      "name": "video-step-generative-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-step-generative-square.mp4",
      "size": 2107638,
      "sha256": "db9328ff4c894d1da3d0ac83e70d1ebd7629613e78aff5b1411643659614d7c2"
     },
     {
      "name": "video-step-generative-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-step-generative-vertical.mp4",
      "size": 3250586,
      "sha256": "d17adf59d380dc225ccf149bff0f893f9f7e127a63250049072a60aaedcba229"
     },
     {
      "name": "video-step-generative.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-step-generative.mp4",
      "size": 3009413,
      "sha256": "5dc5ad523ef0e198fa191b85e8adbbbf8e4279d213d8150b1cc0223662bf474c"
     },
     {
      "name": "video-step-generative.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-step-generative.srt",
      "size": 850,
      "sha256": "a51d2cce3b505c1861a6facef7dac69f73db2e9d4ce1715c93c360057a4ccd6c"
     },
     {
      "name": "video-track-bass-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-track-bass-square.mp4",
      "size": 2034237,
      "sha256": "dfabbdd1e763d9000ba6dd55067a09ffba4aa389a539e9d2c506bf1fc33c166b"
     },
     {
      "name": "video-track-bass-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-track-bass-vertical.mp4",
      "size": 2915041,
      "sha256": "3a922afb09a8cb3c69cf59c15026cc37b4b70385aedeb6165671250ee273018a"
     },
     {
      "name": "video-track-bass.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-track-bass.mp4",
      "size": 2684355,
      "sha256": "7f73f4f64a5a227815ae9210237c7e6a019350e5a7c23b4b2a89204ecaab885b"
     },
     {
      "name": "video-track-bass.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-track-bass.srt",
      "size": 537,
      "sha256": "9305c9a67d8135356c00b9a9a3e1101422a7a3f5203f58c58d323b392bff316f"
     },
     {
      "name": "video-track-lead-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-track-lead-square.mp4",
      "size": 1960837,
      "sha256": "5487def5fce25393d869e3d16990c36d6209f0d1fef7b13ea7ffc2d2eb8883c8"
     },
     {
      "name": "video-track-lead-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-track-lead-vertical.mp4",
      "size": 2862612,
      "sha256": "fca5bca9f2f9a33012368e6af4f2a071cf41f60d7f2abc143b6199b337b86fb3"
     },
     {
      "name": "video-track-lead.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-track-lead.mp4",
      "size": 2579497,
      "sha256": "f29e963bebe1819c5d176245b6f7becc1992e029bd38f891b4065e66150c00f2"
     },
     {
      "name": "video-track-lead.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-track-lead.srt",
      "size": 400,
      "sha256": "284aa08752891ab75fdb900612a84c31562b458bdad8547216271339ad106d4e"
     },
     {
      "name": "video-whats-new-square.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-whats-new-square.mp4",
      "size": 2516582,
      "sha256": "c79b59f9656dcba9b66472fa5dea47e2a5f169cfb5820fe1fea9a491ff032838"
     },
     {
      "name": "video-whats-new-vertical.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-whats-new-vertical.mp4",
      "size": 3869245,
      "sha256": "335b817662a697cf1d30d0b84ae3fd3952db302cd4a464ce3c32efdf17397ad3"
     },
     {
      "name": "video-whats-new.mp4",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-whats-new.mp4",
      "size": 3554673,
      "sha256": "f88bf1714cc8891a89c41a955a6fa83fd118ea86131d3ee077c6711caf3755f1"
     },
     {
      "name": "video-whats-new.srt",
      "url": "https://github.com/dsablic/sidou/releases/download/v1.7.0/video-whats-new.srt",
      "size": 1208,
      "sha256": "0f0a25363508fb40d6d30e89df1d1125c1d531908ccaf19159f65e2d86213e3c"
     }
    ],
    "date": "2026-11-05",
    "title": "SIDOU 1.7.0",
    "notes": "## SIDOU 1.7.0: step tables, free LFOs, slide and accent\n\nTry it in your browser first: https://dsablic.github.io/sidou/, the\n\ncheat sheet and the\n\nhow-to videos, with a new What's new in 1.7.\n\n## On the FM-1\n• TABLE in LAB. A sound carries a step table, as a SidStation or a C64 tune does: up to 16\n\nsteps, each a waveform and a pitch (from the key, or a fixed note) for so many frames, played\n\nonce or looped from a step, on every note. One key plays a noise attack into a pulse, an octave\n\narpeggio or a drum that drops in pitch. REC sends it to the song as the instrument's GoatTracker\n\nwave program, and ENV on INSTR reads a wave program back as a table.\n• Two free LFOs in LAB. MOD's second page (LFO on MOD goes there): triangle, saw up, saw down,\n\nsquare or sample and hold, on the pitch, the pulse width, the cutoff or the chip's volume,\n\n0.05 to 12.75 Hz, drawn side by side. LAB has ten pages.\n• SLIDE and ACCENT in STEP. Hold a step and press FX: the note slides into the next one (its\n\ngate held, a 4-frame glide). Hold a step and press ENV: the step is accented (cutoff, resonance\n\nand sustain up for its row). Both are locks, saved with the song.\n• An NRPN for every LAB card. FILTER ENV, LAYERS, TABLE and LFO's cards are NRPN group 7, so a\n\nDAW can automate each (receive only; the MIDI map).\n• Sounds kept in 1.6 load unchanged, with no table and the LFOs off; a 1.6 SIDOU plays a 1.7\n\nsound without its table and LFOs.\n\n## On the computer and on the site\n• SIDOU's own sounds. The site's Library page\n\nsends sixteen original LAB sounds to the FM-1 as one song, SIDOU SOUNDS (a table kick and\n\nsnare, a chip chord, wobble and acid basses, a 303 BASS for slides and accents, LFO strings,\n\nlayered saws and more): ENV on INSTR opens each in LAB.\n• sidou-sysex import keeps a SidStation patch's table and LFOs. The first playing\n\noscillator's step table becomes the LAB sound's (the others still play from their song\n\ninstruments, and the report names them), and the vibrato, PWM and filter LFOs map onto LAB's\n\ntwo. An imported table no longer plays each step a frame too long.\n\n## Measured\n\nGoatTracker's player now runs from flash, as it is called once a song frame, not once a sample:\n\n6.4 KB of the SRAM kept for the audio path is free again (42,752 of 49,152 bytes used), room for\n\n1.8's live tweaks on a playing .sid and for chip B on the second core. The image is 552,384\n\nbytes of 568,000. fm1-emu has no instruction cache, so the cost of the player's cache misses on a\n\nreal FM-1 is estimated, at up to about 4 % of an audio block once a song frame; the device test\n\nbelow measures it.\n\nThree things are not proven yet and are worth reporting:\n• The SidStation's LFO format is undocumented: the import's mapping of its shapes, speeds and\n\ndepths is a best guess. A patch whose vibrato or sweep runs at a clearly wrong speed or depth is\n\nworth an issue.\n• The sixteen sounds on the site were designed by numbers and checked by a render and SIDOU's\n\naudibility estimate; none has been ear-checked on a real FM-1 yet.\n• A song with a slide or an accent loses all its locks in SIDOU 1.6. Slide and accent ride\n\nthe song's lock chunk, and 1.6 drops a lock chunk with a lock it does not know: such a song plays\n\nin 1.6 without any of its locks (cutoff, resonance, chance and the rest). It plays whole again\n\nin 1.7.\n\nTested on a real FM-1 (2026-11-05): an install over 1.6.0; NEON HIGHWAY with the three effect\n\nslots at their heaviest and a chord on chip B for two minutes of knobs, effects and views, and a\n\n.sid the same way, with no click or gap (GoatTracker's player now runs from flash); a TABLE\n\nsound, an LFO on the cutoff, SLIDE and ACCENT in STEP; a kept sound back after a power-cycle, and\n\na table sound sent to the song and pulled back.\n\nThe full list is in CHANGELOG.md.\n\n## Install\n\nOver USB, at your own risk; the official firmware is one install away. Use Felucca's installer:\n\nfm1_install.py sidou-1.7.0.fwsc, from the stock firmware, a Felucca-family firmware or an\n\nearlier SIDOU (it finds the FM-1 as \"SIDOU FM-1\"). Back to stock: install M-VAVE's FM-1.fwsc\n\nthe same way. Holding OCT- at power-on is a rescue.\n\nsidou-1.7.0.fwsc, identity FM-1_964, SHA-256 38a83cedf2fcf2f587b65f2d71446b4c057c44f673c5b771f674494ec29ec0de."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge wasm-budget: the site's wasm core budget is 176 KiB, built in t…",
    "url": "https://github.com/dsablic/sidou/commit/6dca8fbee49cf7fdb2a8228e92a83c542c555249"
   },
   "stars": 6,
   "created": "2026-10-14",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/dsablic~sidou/home.png",
   "images": [
    "https://raw.githubusercontent.com/dsablic/sidou/HEAD/assets/logo/metal-chrome-lettering-2x.png",
    "https://raw.githubusercontent.com/dsablic/sidou/HEAD/docs/media/sidou-screens.png",
    "https://raw.githubusercontent.com/dsablic/sidou/HEAD/docs/media/videos/sidou-intro.webp",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/dsablic~sidou.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://dsablic.github.io/sidou/",
     "names": [
      "sidou.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://djstrombo.github.io/SMK-zp12/"
    ]
   ],
   "name": "SMK-zp12",
   "repo": "djStrombo/SMK-zp12",
   "branch": "smk37",
   "by": "djStrombo",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "sampler"
   ],
   "board": "smk37",
   "about": "zp12's eight-track groovebox and sampler ported to the SMK-37 Pro and Elite, with a MIDI controller mode.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://djstrombo.github.io/SMK-zp12/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-21",
    "title": "fix: revert keyboard extension to stock FM-1 layout and add SEQ PLAY …",
    "url": "https://github.com/djStrombo/SMK-zp12/commit/580c003fbd410b6b1ab0cb918542af1a8def5d05"
   },
   "stars": 0,
   "created": "2026-10-20",
   "image": "https://raw.githubusercontent.com/djStrombo/SMK-zp12/smk37/web/img/home.png",
   "images": [
    "https://raw.githubusercontent.com/djStrombo/SMK-zp12/smk37/web/img/home.png",
    "https://raw.githubusercontent.com/djStrombo/SMK-zp12/smk37/web/img/armed.png",
    "https://raw.githubusercontent.com/djStrombo/SMK-zp12/smk37/web/img/steps.png",
    "https://raw.githubusercontent.com/djStrombo/SMK-zp12/smk37/web/img/mute.png",
    "https://raw.githubusercontent.com/djStrombo/SMK-zp12/smk37/web/img/sampling.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/djStrombo~SMK-zp12.jpg"
   ],
   "readmeNotes": {
    "version": "v2.4.4",
    "text": "Status: 2.4.4 (2026-10-19). Install: https://zp12.designburgapps.com/install/ · Sample editor (now with sampling in the browser): https://zp12.designburgapps.com/editor/ · Backup: https://zp12.designburgapps.com/backup/ · Cheat sheet: https://zp12.designburgapps.com/#cheatsheet (PDF).",
    "date": "2026-10-21",
    "url": "https://github.com/djStrombo/SMK-zp12#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false,
   "parent": "zvenson/zp12",
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "SQRL-1",
   "repo": "hed0rah/sqrl-1",
   "by": "hed0rah",
   "fam": "indep",
   "lic": "GPL-3.0",
   "stage": "announced",
   "status": "Its repository is empty so far (2026-10-22).",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v1.1.0",
    "url": "https://github.com/hed0rah/sqrl-1/releases/tag/v1.1.0",
    "assets": [
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/hed0rah/sqrl-1/releases/download/v1.1.0/SHA256SUMS",
      "size": 429,
      "sha256": "4c3bef4af9a99bf555e5b4bc90125c3937e633c7b527dd2708e47015c4c1669f"
     },
     {
      "name": "sqrl-1-1.1.0-app.bin",
      "url": "https://github.com/hed0rah/sqrl-1/releases/download/v1.1.0/sqrl-1-1.1.0-app.bin",
      "size": 465920,
      "sha256": "c666822c444fb77452fdb08a21ba27a92935a71b56c30bb47b7c8ab5a8755b9c"
     },
     {
      "name": "sqrl-1-1.1.0.fwsc",
      "url": "https://github.com/hed0rah/sqrl-1/releases/download/v1.1.0/sqrl-1-1.1.0.fwsc",
      "size": 610304,
      "sha256": "0c18849602605061598f554e527b2f705bcc81f2052cd2404f6674b4393c9f0d",
      "check": {
       "sha256": "0c18849602605061598f554e527b2f705bcc81f2052cd2404f6674b4393c9f0d",
       "bytes": 610257,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "sqrl-1-1.1.0.zip",
      "url": "https://github.com/hed0rah/sqrl-1/releases/download/v1.1.0/sqrl-1-1.1.0.zip",
      "size": 921600,
      "sha256": "7fac3f426e661551b09ed3e9945374e0c189a565f251f05b42f838dc8838cf72"
     },
     {
      "name": "sqrl-1-cheatsheet.pdf",
      "url": "https://github.com/hed0rah/sqrl-1/releases/download/v1.1.0/sqrl-1-cheatsheet.pdf",
      "size": 185344,
      "sha256": "9996de31e059b7af4d4378d16a843a4bc63a1517bfa9ec89c689ff08c28a99ed"
     },
     {
      "name": "sqrl-1-deep-dive.pdf",
      "url": "https://github.com/hed0rah/sqrl-1/releases/download/v1.1.0/sqrl-1-deep-dive.pdf",
      "size": 557056,
      "sha256": "ef11b010b689690eda7081403e5d9dc4f6941eb5275c14fc411a5f8c5676e33f"
     }
    ],
    "date": "2026-11-03",
    "title": "SQRL-1 1.1.0",
    "notes": "SQRL-1 1.1.0 moves onto Felucca 1.8.0. New: TOUCH, a SOUND page after GLIDE (EDIT), routes the keys' pressure or MIDI channel pressure with AT, DEST and AMT; SYSTEM 3 (GLO) has 2CORE, OFF or BETA, Felucca's second core, from the next power-on. From Felucca: FM6 operators with AMS follow the LFO, external MIDI clock no longer drifts, TRS MIDI clock holds under heavy CC input, no divide by zero at BPM 0, and the update loader refuses a package made for another device.\n\nSQRL-1 is firmware for the M-VAVE FM-1, built on Felucca 1.8.0. Every pair is a SOUND and a NOTE\n\nengine, picked on the wheel (hold HOME). What it adds over Felucca is in the changelog.\n\nInstall from databurn.org/sqrl/install in Chrome or Edge over USB; the page installs the package below.\n\nBack up first if you have music on the FM-1; the README says how to go back to official V15. Installing is at your own risk.\n\nFiles\n• sqrl-1-1.1.0.fwsc: the package to install (build 4f42878, sha256 0c188496...)\n• sqrl-1-1.1.0-app.bin: the bare application image, for tools that want it\n• sqrl-1-1.1.0.zip: both, with the licences, ATTRIBUTION.txt and LICENSING.md\n• sqrl-1-deep-dive.pdf, sqrl-1-cheatsheet.pdf: printable reference sheets, at 1.1.0\n• SHA256SUMS\n\nThe manual is docs/; start with Getting started. TALK is not in this release."
   },
   "commit": {
    "date": "2026-11-03",
    "title": "docs: ACID, TOUCH and tracks figures; the printables at v1.1.0; SYSTE…",
    "url": "https://github.com/hed0rah/sqrl-1/commit/09070c4ad18f18e87e1d97896f0167abcaf1845d"
   },
   "stars": 0,
   "created": "2026-10-16",
   "about": "SQRL-1 Firmware for the M-VAVE FM-1",
   "image": "https://raw.githubusercontent.com/hed0rah/sqrl-1/HEAD/docs/img/shell_wheel.png",
   "images": [
    "https://raw.githubusercontent.com/hed0rah/sqrl-1/HEAD/docs/img/shell_wheel.png",
    "https://raw.githubusercontent.com/hed0rah/sqrl-1/HEAD/docs/img/chord_main.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/hed0rah~sqrl-1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "typesGuess": [
    "groovebox"
   ],
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "edit",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website",
     "https://terkinstein.com/"
    ]
   ],
   "name": "TERKINSTEIN",
   "repo": "TerkWerX/FM1-TERKINSTEIN-Firmware",
   "by": "TerkWerX",
   "fam": "indep",
   "lic": "GPL-3.0",
   "experimental": true,
   "about": "A dark performance synth and four-track groovebox: 64 sounds, six-operator FM, metallic distortion, synthesized drum kits.",
   "status": "Development preview (0.22.0-dev): installed on one FM-1, hardware verification in progress.",
   "types": [
    "groovebox",
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.26.19",
    "url": "https://github.com/TerkWerX/FM1-TERKINSTEIN-Firmware/releases/tag/v0.26.19",
    "assets": [
     {
      "name": "Crepuscular-Homunculus-0.26.19-source.zip",
      "url": "https://github.com/TerkWerX/Crepuscular_Homunculus/releases/download/v0.26.19/Crepuscular-Homunculus-0.26.19-source.zip",
      "size": 3722445,
      "sha256": "fd035621c60bf4e1798a4f162e5787ae64a8ec55bb97155421dab2c435288fd0"
     },
     {
      "name": "Crepuscular-Homunculus-0.26.19.fwsc",
      "url": "https://github.com/TerkWerX/Crepuscular_Homunculus/releases/download/v0.26.19/Crepuscular-Homunculus-0.26.19.fwsc",
      "size": 610304,
      "sha256": "985c1000dc58dd0afeafb18185a5de980795908166e9356d4c72fd07e656708f",
      "check": {
       "sha256": "985c1000dc58dd0afeafb18185a5de980795908166e9356d4c72fd07e656708f",
       "bytes": 610143,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_986",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_986"
      }
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/TerkWerX/Crepuscular_Homunculus/releases/download/v0.26.19/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/TerkWerX/Crepuscular_Homunculus/releases/download/v0.26.19/LICENSING.md",
      "size": 2345,
      "sha256": "619ba8a7250e54520b7a0a42caec3a7a6eace1df87e146315b8f237cd6effc90"
     },
     {
      "name": "RELEASE_NOTES.md",
      "url": "https://github.com/TerkWerX/Crepuscular_Homunculus/releases/download/v0.26.19/RELEASE_NOTES.md",
      "size": 3297,
      "sha256": "71f5cc91cfe408e6849bfa090a85af9526cc7cf61e5352a3014d03173c7e676b"
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/TerkWerX/Crepuscular_Homunculus/releases/download/v0.26.19/SHA256SUMS.txt",
      "size": 446,
      "sha256": "78b2339dfaf73e6878f0406b24e7b62c516ff4566766eb1860cf95f492a23716"
     }
    ],
    "prerelease": true,
    "date": "2026-10-27",
    "title": "Crepuscular Homunculus 0.26.19",
    "notes": "## Crepuscular Homunculus 0.26.19\n\nA free, standalone synth and four-track groovebox for the M-VAVE FM-1, by TERKINSTEIN.\n\nPlay, edit, sequence and save on the instrument itself.\n\nTry the virtual FM-1 · Quick start · Full controls\n\n## Download\n• Crepuscular-Homunculus-0.26.19.fwsc — the firmware to install.\n• Crepuscular-Homunculus-0.26.19-source.zip — the complete matching source.\n• SHA256SUMS.txt — checksums for verifying the attached files.\n\nLicensing, credits and these release notes are also attached.\n\n## What's new since 0.22\n• Crepuscular Homunculus naming, bubbling intro and reactive HOME artwork, with the creator splash and selectable Thorn Rift display retained.\n• Native piano-roll editing and independent selected-track sound control.\n• Saved song-wide swing: zero is straight; higher settings add a stronger lilt.\n• Confirmation before a held HOME press can reset the song.\n• Bounded display updates that keep page changes from blocking external MIDI clock service.\n• More distinct SULFUR TONGUE and WICKED FELT sounds, with original definitions retained for older captures.\n• Corrected USB/updater identity and the final 0.26.19 version label, without “dev.”\n\n## Before installing\n\nStop PLAY, release keys and pedals, let tails finish, press SAVE and wait for SAVED.\n\nKeep a separate song backup and your previous firmware. Follow the installation guide.\n\nSupported older Homunculus songs migrate explicitly. Unrelated firmware's projects\n\nand samples do not. Returning to older firmware may require its own compatible\n\nbackup; see save compatibility.\n\n## Validation and limits\n\nThe final label build passes the target build, host/AddressSanitizer checks,\n\npiano-roll navigation and save checks, and exact audio/save comparisons with\n\n0.26.19-dev. The only native source difference from that build is the version string.\n\nThe retained 0.26.19-dev passed hardware identity, custom/official V15 switching\n\nand controlled transfer-recovery checks. Musical, USB audio and persistence results\n\nremain attributed to their tested builds. The suffix-free build was not flashed\n\nduring release preparation. Read the validation record for exact scope.\n\nEight voices are shared, with at most four FM voices. No extra voices or new effects\n\nare added. Device timing excludes full USB/DAC/ISR load; exhaustive stack and\n\npower-loss recovery qualification is not claimed.\n\nFirmware SHA-256:\n\n985c1000dc58dd0afeafb18185a5de980795908166e9356d4c72fd07e656708f\n\nGPL-3.0-only. Matching source and inherited credits are included.\n\nDocumentation in the attached source archive was refreshed after the original release tag.\n\nSource archive revision: 6a504c0. The firmware package is unchanged."
   },
   "commit": {
    "date": "2026-10-27",
    "title": "docs: keep beginner track setup on the overview [skip ci]",
    "url": "https://github.com/TerkWerX/Crepuscular_Homunculus/commit/6ad5b18ca5822bcc9af9e944e1e30b2975ac45dc"
   },
   "stars": 3,
   "created": "2026-10-13",
   "image": "https://raw.githubusercontent.com/TerkWerX/FM1-TERKINSTEIN-Firmware/HEAD/assets/hub/home-0.26.19.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx-hold",
    "env",
    "lfo-hold",
    "arp-hold",
    "scl",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/TerkWerX/FM1-TERKINSTEIN-Firmware/HEAD/assets/hub/home-0.26.19.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/TerkWerX~FM1-TERKINSTEIN-Firmware.jpg"
   ]
  },
  {
   "links": [
    [
     "Website",
     "https://nzimas.github.io/tonitor/"
    ],
    [
     "Installer",
     "https://nzimas.github.io/tonitor/install.html"
    ],
    [
     "Manual",
     "https://nzimas.github.io/tonitor/manual.html"
    ],
    [
     "Backup",
     "https://nzimas.github.io/tonitor/backup.html"
    ]
   ],
   "name": "Tonitor",
   "repo": "nzimas/tonitor",
   "by": "nzimas",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "Acousmatic and dark-ambient instrument: six tracks with seven engines of its own (FM, ANIMA, CALIGULA, RUSSOLO, DRUID, BAYAREA, HIVE) whose sounds are generated, untimed overdub loopers, ball and step sequencers, granulator and modulation; not a groovebox.",
   "types": [
    "experimental",
    "generative",
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://nzimas.github.io/tonitor/install.html",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-11-03",
    "title": "Website: manual chapter Voices and load",
    "url": "https://github.com/nzimas/tonitor/commit/412145ea1fb524cc907ba17dfae174f6c251f581"
   },
   "stars": 31,
   "created": "2026-10-14",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/nzimas~tonitor.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false
  },
  {
   "links": [
    [
     "Emulator",
     "https://y6zkcqnf5r-hue.github.io/fm1-trawler/"
    ]
   ],
   "name": "Trawler",
   "repo": "y6zkcqnf5r-hue/fm1-trawler",
   "by": "y6zkcqnf5r-hue",
   "fam": "indep",
   "lic": "GPL-3.0",
   "stage": "emulator",
   "about": "A tracker in the line of LSDJ (Song, Chain, Phrase, Instrument, Table, Groove).",
   "status": "Archived: stopped in development on 2026-10-10 (the work goes on in FM80S); the browser emulator only, no hardware build.",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-10",
    "title": "docs: projet arrêté, la suite dans FM80S",
    "url": "https://github.com/y6zkcqnf5r-hue/fm1-trawler/commit/153f4f4433f15ef5bf3576035cff61f7d009ecc2"
   },
   "stars": 2,
   "created": "2026-10-09",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/y6zkcqnf5r-hue~fm1-trawler.jpg",
   "archived": true,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "emulator",
   "experimental": false
  },
  {
   "links": [],
   "name": "TripDeck",
   "repo": "anonymousacademe/FM-1-TripDeck",
   "by": "anonymousacademe",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A psychedelic synth: every screen an animated picture, its four knobs change the sound and the picture together.",
   "types": [
    "synth",
    "experimental"
   ],
   "status": "0.2: runs on the FM-1 (tested on the device); its release carries no package, it is built from source.",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.2",
    "url": "https://github.com/anonymousacademe/FM-1-TripDeck/releases/tag/v0.2",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-14",
    "title": "v0.2",
    "notes": "TripDeck v0.2"
   },
   "commit": {
    "date": "2026-10-19",
    "title": "TRIPDECK: play from an external keyboard (TRS MIDI in, USB MIDI in) a…",
    "url": "https://github.com/anonymousacademe/FM-1-TripDeck/commit/a977f53558b7106d594f03654d4beba9d2ff7477"
   },
   "stars": 2,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/anonymousacademe/FM-1-TripDeck/HEAD/docs/pictures.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Trireme",
   "repo": "ignis32/trireme_fm1",
   "by": "ignis32",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "A VIAL-compatible macro keyboard: the FM-1 as a programmable macro pad.",
   "experimental": true,
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.1.1",
    "url": "https://github.com/ignis32/trireme_fm1/releases/tag/v0.1.1",
    "assets": [
     {
      "name": "LICENSE-Apache-2.0-JieLi-SDK.txt",
      "url": "https://github.com/ignis32/trireme_fm1/releases/download/v0.1.1/LICENSE-Apache-2.0-JieLi-SDK.txt",
      "size": 11366,
      "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/ignis32/trireme_fm1/releases/download/v0.1.1/SHA256SUMS",
      "size": 328,
      "sha256": "81d5c480ade91e2d595ecc093ba9f4d232f79a587e51aad4ff2cdde5826a6cb5"
     },
     {
      "name": "trireme-fm1-v0.1.1.fwsc",
      "url": "https://github.com/ignis32/trireme_fm1/releases/download/v0.1.1/trireme-fm1-v0.1.1.fwsc",
      "size": 610304,
      "sha256": "9e7028d1d65398aa6d7f2c883a95b6dbe7ded4f0cbaaf88197c81684d347fded",
      "check": {
       "sha256": "9e7028d1d65398aa6d7f2c883a95b6dbe7ded4f0cbaaf88197c81684d347fded",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "trireme-fm1-v0.1.1.fwsc.sha256",
      "url": "https://github.com/ignis32/trireme_fm1/releases/download/v0.1.1/trireme-fm1-v0.1.1.fwsc.sha256",
      "size": 90,
      "sha256": "7c9d8426b9b08841c97ee39b4129ae3b5d6fd1ebedcf2e2ff41cf281cb666a8a"
     }
    ],
    "date": "2026-10-20",
    "title": "v0.1.1",
    "notes": "Full Changelog: v0.1...v0.1.1"
   },
   "commit": {
    "date": "2026-10-20",
    "title": "Trireme FM-1 0.1.1: the firmware of 0.1, the first release built and …",
    "url": "https://github.com/ignis32/trireme_fm1/commit/cc0a1efe46442d774dbd89fac025de1f564693fb"
   },
   "stars": 4,
   "created": "2026-10-12",
   "image": "https://raw.githubusercontent.com/ignis32/trireme_fm1/HEAD/docs/images/normal_start.png",
   "images": [
    "https://raw.githubusercontent.com/ignis32/trireme_fm1/HEAD/docs/images/normal_start.png",
    "https://raw.githubusercontent.com/ignis32/trireme_fm1/HEAD/docs/images/ed_edit_ctrl_c.png",
    "https://raw.githubusercontent.com/ignis32/trireme_fm1/HEAD/docs/images/ed_edit_lt.png",
    "https://raw.githubusercontent.com/ignis32/trireme_fm1/HEAD/docs/images/normal_keys.png",
    "https://raw.githubusercontent.com/ignis32/trireme_fm1/HEAD/docs/images/normal_unlock.png",
    "https://raw.githubusercontent.com/ignis32/trireme_fm1/HEAD/docs/images/ed_choose_rec.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/#fw-vector37"
    ],
    [
     "Simulator",
     "https://genkigenki.github.io/smk37/vector37-sim/"
    ]
   ],
   "name": "Vector37",
   "repo": "genkigenki/Vector37",
   "by": "genkigenki",
   "fam": "indep",
   "lic": "GPL-3.0",
   "about": "An orbiting overtone synth for the M-Vave SMK-37 (and, experimental, the FM-1).",
   "types": [
    "synth"
   ],
   "board": "both",
   "status": "The FM-1 build (vector37-fm1.fwsc) is untested on a unit; the SMK-37 builds are its home.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/#fw-vector37",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.3.2",
    "url": "https://github.com/genkigenki/Vector37/releases/tag/v0.3.2",
    "assets": [
     {
      "name": "vector37-fm1-0.3.2.fwsc",
      "url": "https://github.com/genkigenki/Vector37/releases/download/v0.3.2/vector37-fm1-0.3.2.fwsc",
      "size": 610304,
      "sha256": "4c9ff3c9ca0b874d98760497a4d80d7d4380aa3f187503f67e6fde6462a81a9a",
      "check": {
       "sha256": "4c9ff3c9ca0b874d98760497a4d80d7d4380aa3f187503f67e6fde6462a81a9a",
       "bytes": 610019,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS-0.3.2",
      "url": "https://github.com/genkigenki/Vector37/releases/download/v0.3.2/SHA256SUMS-0.3.2",
      "size": 358,
      "sha256": "fbc4276b020d6a7c51137e938d4292c5852fcb69a5bcefb5af1e32daec1d0f89"
     },
     {
      "name": "vector37-0.3.2.fwsc",
      "url": "https://github.com/genkigenki/Vector37/releases/download/v0.3.2/vector37-0.3.2.fwsc",
      "size": 651264,
      "sha256": "abc116a4dc8b41eeb8be86b1b4761d3aecd3080c67e9caf3122c3615aeae6153",
      "check": {
       "sha256": "abc116a4dc8b41eeb8be86b1b4761d3aecd3080c67e9caf3122c3615aeae6153",
       "bytes": 651194,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "vector37-elite-0.3.2.fwsc",
      "url": "https://github.com/genkigenki/Vector37/releases/download/v0.3.2/vector37-elite-0.3.2.fwsc",
      "size": 651264,
      "sha256": "0f391cbca19d678800cbd6775763c531a2681e98659ab5eadd36321c2b061db1",
      "check": {
       "sha256": "0f391cbca19d678800cbd6775763c531a2681e98659ab5eadd36321c2b061db1",
       "bytes": 651194,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "vector37-mke-0.3.2.fwsc",
      "url": "https://github.com/genkigenki/Vector37/releases/download/v0.3.2/vector37-mke-0.3.2.fwsc",
      "size": 651264,
      "sha256": "8e5163ea6b6eb85ac81de1198afdb2996f564bf6ac281de7406da9ce58541800",
      "check": {
       "sha256": "8e5163ea6b6eb85ac81de1198afdb2996f564bf6ac281de7406da9ce58541800",
       "bytes": 651190,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-23",
    "title": "Vector37 0.3.2",
    "notes": "Vector37 0.3.2: PAD LIGHT on SETUP (BT) K3 in four steps, 25 / 50 / 75 / 100 % (75 % at first; the old setting is taken over). Every pad stays visible at every step, and empty USER slots are now pale instead of dark. The volume and the limiter now work on the full bus, so soft notes and reverb tails fade out smoothly. Everything from 0.3.1 stays.\n\nInstall: https://genkigenki.github.io/smk37/#fw-vector37 · Try it in your browser: https://genkigenki.github.io/smk37/vector37-sim/\n\nUnofficial community firmware, not made or endorsed by M-Vave."
   },
   "commit": {
    "date": "2026-10-23",
    "title": "Vector37 0.3.2: PAD LIGHT 25 / 50 / 75 / 100 %, every pad visible at …",
    "url": "https://github.com/genkigenki/Vector37/commit/08742a4198f99e2db2846b00b70ed6808239c447"
   },
   "stars": 17,
   "created": "2026-10-14",
   "image": "https://raw.githubusercontent.com/genkigenki/Vector37/HEAD/docs/img/readme-banner.png",
   "images": [
    "https://raw.githubusercontent.com/genkigenki/Vector37/HEAD/docs/img/readme-banner.png",
    "https://raw.githubusercontent.com/genkigenki/Vector37/HEAD/docs/img/orbit.webp",
    "https://raw.githubusercontent.com/genkigenki/Vector37/HEAD/docs/img/screen-fm1-planet.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~Vector37.jpg"
   ],
   "pageFiles": [
    {
     "name": "vector37-0.3.2-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/vector37-0.3.2-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efba\"",
     "size": 481633,
     "check": {
      "sha256": "0f391cbca19d678800cbd6775763c531a2681e98659ab5eadd36321c2b061db1",
      "bytes": 651194,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "0f391cbca19d678800cbd6775763c531a2681e98659ab5eadd36321c2b061db1"
    },
    {
     "name": "vector37-0.3.2-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/vector37-0.3.2-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efb6\"",
     "size": 481624,
     "check": {
      "sha256": "8e5163ea6b6eb85ac81de1198afdb2996f564bf6ac281de7406da9ce58541800",
      "bytes": 651190,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "8e5163ea6b6eb85ac81de1198afdb2996f564bf6ac281de7406da9ce58541800"
    },
    {
     "name": "vector37-0.3.2-fm1.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/vector37-0.3.2-fm1.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-94ee3\"",
     "size": 468159,
     "check": {
      "sha256": "4c9ff3c9ca0b874d98760497a4d80d7d4380aa3f187503f67e6fde6462a81a9a",
      "bytes": 610019,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "4c9ff3c9ca0b874d98760497a4d80d7d4380aa3f187503f67e6fde6462a81a9a"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "scl",
    "edit",
    "glo",
    "glo-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "WitchBox",
   "repo": "davidpryan/witchbox",
   "by": "davidpryan",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox",
    "generative"
   ],
   "stage": "development",
   "about": "A six-track groovebox for Burial-style 2-step and melodic dubstep, with pattern generators; on Dinghy.",
   "status": "Builds and plays on the host; not yet run on an FM-1.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-22",
    "title": "platform: write the project slot size as a shift so the register-lite…",
    "url": "https://github.com/davidpryan/witchbox/commit/4c58958716c882389c5a0374175df33c88dd7775"
   },
   "stars": 0,
   "created": "2026-10-22",
   "image": null,
   "readmeNotes": {
    "version": "",
    "text": "Status: builds on the host, runs the demo script, renders audio. Not yet run on an FM-1. The firmware is built in CI with JieLi's toolchain, but nobody has flashed it yet. It stands on the Dinghy platform (Felucca / SLOOP), which is proven on the hardware: the USB rescue, the updater, MIDI, audio and the screen are theirs. Flashing any firmware is at your own risk; read docs/PLATFORM-RULES.md first.",
    "date": "2026-10-22",
    "url": "https://github.com/davidpryan/witchbox#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false
  },
  {
   "links": [
    [
     "Website",
     "https://zp12.designburgapps.com/"
    ],
    [
     "Installer",
     "https://zp12.designburgapps.com/install/"
    ],
    [
     "Sample editor",
     "https://zp12.designburgapps.com/editor/"
    ],
    [
     "Backup",
     "https://zp12.designburgapps.com/backup/"
    ]
   ],
   "name": "zp12",
   "repo": "zvenson/zp12",
   "by": "zvenson",
   "fam": "indep",
   "lic": "GPL-3.0",
   "note": "Its divide-by-zero trap is still armed: old stored data can crash it at boot.",
   "types": [
    "sampler",
    "groovebox"
   ],
   "about": "A 12-bit sampling drum machine for the M-VAVE FM-1: 32 sounds at 26.04 kHz (or 27.5 kHz), pitched without interpolation, eight output channels with their filters, a panel-style screen.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://zp12.designburgapps.com/install/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Sample editor",
     "url": "https://zp12.designburgapps.com/editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v2.5",
    "url": "https://github.com/zvenson/zp12/releases/tag/v2.5",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-24",
    "title": "v2.5",
    "notes": "zp12 2.5: sampling on the machine over USB (the FM-1 is the computer'…"
   },
   "commit": {
    "date": "2026-10-24",
    "title": "zp12 2.5: sampling on the machine over USB (the FM-1 is the computer'…",
    "url": "https://github.com/zvenson/zp12/commit/7b8b97586ef87854d1859aad907e5f10ca49898d"
   },
   "stars": 35,
   "created": "2026-10-07",
   "image": "https://raw.githubusercontent.com/zvenson/zp12/HEAD/web/img/home.png",
   "images": [
    "https://raw.githubusercontent.com/zvenson/zp12/HEAD/web/img/home.png",
    "https://raw.githubusercontent.com/zvenson/zp12/HEAD/web/img/armed.png",
    "https://raw.githubusercontent.com/zvenson/zp12/HEAD/web/img/steps.png",
    "https://raw.githubusercontent.com/zvenson/zp12/HEAD/web/img/mute.png",
    "https://raw.githubusercontent.com/zvenson/zp12/HEAD/web/img/sampling.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/zvenson~zp12.jpg"
   ],
   "pageFiles": [
    {
     "name": "zp12-2.5.fwsc",
     "url": "https://zp12.designburgapps.com/install/firmware/zp12-2.5.fwsc",
     "page": "https://zp12.designburgapps.com/install/",
     "found": "named",
     "etag": "\"6adc7349-95768\"",
     "size": 612200,
     "check": {
      "sha256": "fb1e6bfc01a74f145f93793fbeace8483888391be48f75aec7d423f05b6fac9d",
      "bytes": 612200,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "fb1e6bfc01a74f145f93793fbeace8483888391be48f75aec7d423f05b6fac9d"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "lfo",
    "scl",
    "scl-hold",
    "edit",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Dinghy",
   "repo": "zvenson/dinghy",
   "by": "zvenson",
   "fam": "modular",
   "lic": "GPL-3.0",
   "status": "0.3, runs on the FM-1: tested on the device (install, MIDI in, USB audio, keys, screen, settings, back to another firmware).",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.4",
    "url": "https://github.com/zvenson/dinghy/releases/tag/v0.4",
    "assets": [
     {
      "name": "dinghy-0.4.fwsc",
      "url": "https://github.com/zvenson/dinghy/releases/download/v0.4/dinghy-0.4.fwsc",
      "size": 612352,
      "sha256": "5e7dc80d186528cf71a2e6dd2ade8a176325aa20c62334e0fdb9256789d58838",
      "check": {
       "sha256": "5e7dc80d186528cf71a2e6dd2ade8a176325aa20c62334e0fdb9256789d58838",
       "bytes": 612195,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "dinghy-0.4-smk37-elite.fwsc",
      "url": "https://github.com/zvenson/dinghy/releases/download/v0.4/dinghy-0.4-smk37-elite.fwsc",
      "size": 651264,
      "sha256": "63dd84c5fa12bf382316a686422dc56a6a540e7ebe76bf185d30910e2939e3c4",
      "check": {
       "sha256": "63dd84c5fa12bf382316a686422dc56a6a540e7ebe76bf185d30910e2939e3c4",
       "bytes": 651327,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "dinghy-0.4-smk37-mke.fwsc",
      "url": "https://github.com/zvenson/dinghy/releases/download/v0.4/dinghy-0.4-smk37-mke.fwsc",
      "size": 651264,
      "sha256": "6f02aff73fcf7c8a2a3052e5574ea72ff8a8c8aa3cba093100bcc76be2d1badb",
      "check": {
       "sha256": "6f02aff73fcf7c8a2a3052e5574ea72ff8a8c8aa3cba093100bcc76be2d1badb",
       "bytes": 651323,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "dinghy-0.4-smk37.fwsc",
      "url": "https://github.com/zvenson/dinghy/releases/download/v0.4/dinghy-0.4-smk37.fwsc",
      "size": 651264,
      "sha256": "5f13d23d014bbe66de22ada8d765614b8cde0afbce43a37ddba39c6cf6e56470",
      "check": {
       "sha256": "5f13d23d014bbe66de22ada8d765614b8cde0afbce43a37ddba39c6cf6e56470",
       "bytes": 651327,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/zvenson/dinghy/releases/download/v0.4/SHA256SUMS",
      "size": 356,
      "sha256": "e6037398a874c450a2637000c13b1a102d59fc0e3efe64508847e4e366b400da"
     }
    ],
    "date": "2026-10-23",
    "title": "Dinghy 0.4",
    "notes": "Dinghy 0.4 brings OberVave's platform over to the base:\n• MIDI: the FM-1's TRS MIDI IN next to USB in one queue (midi_get returns 1 for USB, 2 for TRS); clock, start, stop and continue reach the app. The demo shows an incoming clock's tempo, blinks PLAY on the beat, and PRESETS sets a MIDI channel (OMNI or 1-16) for in and out.\n• Storage: settings up to 4 KB, 8 blobs of 4 KB, 8 slots of 16 KB, each with a CRC (store.h).\n• LCD_IDLE: the app reads MIDI while the screen's DMA runs, so notes don't wait for a redraw.\n• The update loader's screen (FM-1): your name in your colour, a progress bar, what to do.\n• SMK-37 (Pro, Elite, MKE-P37): ./build.sh --board smk37 [--model elite|mke], the same app with velocity, outer keys, 16 coloured pads, faders and the pitch wheel (genkigenki's board layer).\n• Tests and CI: tests/run_tests.sh (host app, flash maps, update path, loader, installer); a tag builds, tests and releases with a build attestation.\n\nTested on the host and in CI. The platform code runs on the device in OberVave; Dinghy 0.4 itself has not been tried on an FM-1 or SMK-37 yet.\n\nPackages: dinghy-0.4.fwsc (FM-1, FM-1_994), dinghy-0.4-smk37.fwsc (SMK-37 Pro), -smk37-elite, -smk37-mke."
   },
   "commit": {
    "date": "2026-11-03",
    "title": "fm1_flash_map.h: accept the UC25HQ80 (0xB36014) of newer FM-1s beside…",
    "url": "https://github.com/zvenson/dinghy/commit/f77bf03283bbb2c05294b01cdad68a30b410f93d"
   },
   "stars": 49,
   "created": "2026-10-09",
   "about": "The smallest firmware for the M-VAVE FM-1 to build your own on: the plumbing done and documented (updates, USB rescue, USB-MIDI, USB audio, panel, screen, settings), a sine on top.",
   "image": "https://raw.githubusercontent.com/zvenson/dinghy/HEAD/docs/screen.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "fm1-rocket-os",
   "repo": "cmlarsen/fm1-rocket-os",
   "by": "cmlarsen",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "stage": "development",
   "types": [
    "groovebox"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-12",
    "title": "Docs: FM-1 firmware playbook, the lessons of this run for the next FM…",
    "url": "https://github.com/cmlarsen/fm1-rocket-os/commit/d269df962a6d023f47e7f31e0dec64b05bb742ab"
   },
   "stars": 2,
   "created": "2026-10-11",
   "about": "Clip-launching performance firmware for the M-VAVE FM-1 (GPL-3.0, forked from X0X)",
   "image": "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/modes-studio-home.png",
   "images": [
    "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/modes-studio-home.png",
    "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/modes-live-enter.png",
    "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/modes-live-pads.png",
    "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/record-empty.png",
    "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/record-recording.png",
    "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/record-clip.png",
    "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/record-notes.png",
    "https://raw.githubusercontent.com/cmlarsen/fm1-rocket-os/HEAD/docs/img/readme/erase-ring.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "FM2000",
   "repo": "jukejutsu/FM2000",
   "by": "jukejutsu",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "stage": "development",
   "status": "An early prototype: runs in its browser simulator and on a computer; not built or tried on an FM-1 yet, no release.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-15",
    "title": "Simulator: the screen pixel-perfect (a whole number of device pixels …",
    "url": "https://github.com/jukejutsu/FM2000/commit/10787e18359aef9cfa9dae1fcbc3e95c93a7e579"
   },
   "stars": 0,
   "created": "2026-10-11",
   "about": "A song maker for the M-VAVE FM-1, after Music 2000 on the PlayStation. Write short riffs, place them on a timeline of bars, build a whole track on the device: arrangement first, the way a DAW works, not a pattern looper.",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "zvenson/dinghy"
  },
  {
   "links": [
    [
     "Emulator",
     "https://antonioaltea.github.io/fmel-1/"
    ],
    [
     "Installer",
     "https://antonioaltea.github.io/fmel-1/install/"
    ]
   ],
   "name": "fmel-1",
   "repo": "AntonioAltea/fmel-1",
   "by": "AntonioAltea",
   "fam": "indep",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://antonioaltea.github.io/fmel-1/install/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.2",
    "url": "https://github.com/AntonioAltea/fmel-1/releases/tag/v1.2",
    "assets": [
     {
      "name": "mel-1.2.fwsc",
      "url": "https://github.com/AntonioAltea/fmel-1/releases/download/v1.2/mel-1.2.fwsc",
      "size": 612352,
      "sha256": "92d3744b448fcc8db5e06cc7710eb216da555bdea9e8ba1e3378277c87371f43",
      "check": {
       "sha256": "92d3744b448fcc8db5e06cc7710eb216da555bdea9e8ba1e3378277c87371f43",
       "bytes": 612208,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "mel-1.2-smk37-elite.fwsc",
      "url": "https://github.com/AntonioAltea/fmel-1/releases/download/v1.2/mel-1.2-smk37-elite.fwsc",
      "size": 651264,
      "sha256": "04d021091c699fa3d668380b04a82b679f27016e45e82ad4178121c01ce88dca",
      "check": {
       "sha256": "04d021091c699fa3d668380b04a82b679f27016e45e82ad4178121c01ce88dca",
       "bytes": 651328,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "mel-1.2-smk37-mke.fwsc",
      "url": "https://github.com/AntonioAltea/fmel-1/releases/download/v1.2/mel-1.2-smk37-mke.fwsc",
      "size": 651264,
      "sha256": "a173f88005ca162a91168dfdd1d3e4afca4dafd09ba886f454a151d4179e3e9d",
      "check": {
       "sha256": "a173f88005ca162a91168dfdd1d3e4afca4dafd09ba886f454a151d4179e3e9d",
       "bytes": 651320,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "mel-1.2-smk37.fwsc",
      "url": "https://github.com/AntonioAltea/fmel-1/releases/download/v1.2/mel-1.2-smk37.fwsc",
      "size": 651264,
      "sha256": "b724cb47af0dad69098fd91606c61dd5f1248c20708671c5278c72b4bf983bf1",
      "check": {
       "sha256": "b724cb47af0dad69098fd91606c61dd5f1248c20708671c5278c72b4bf983bf1",
       "bytes": 651324,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/AntonioAltea/fmel-1/releases/download/v1.2/SHA256SUMS",
      "size": 344,
      "sha256": "8aaebdaf6b06f76e1f5649ee877204314111eeafef2cf6c29306eb1b04caf554"
     }
    ],
    "date": "2026-11-04",
    "title": "FMEL-1 1.2",
    "notes": "FMEL-1 1.2: firmware for the M-VAVE FM-1 and SMK-37 that plays samples of a Mellotron M400S's tapes.\n\nTry it in the browser: https://antonioaltea.github.io/fmel-1/ (FM-1) and https://antonioaltea.github.io/fmel-1/smk37.html (SMK-37).\n\n## New in 1.2\n• FLUTE: 1.0's again. 1.1 rebuilt it on fewer tapes, which put a whoosh at the start of its low notes. Its 12 original tapes are back, played as in 1.0: with LOFI and FX out, it matches 1.0 sample for sample in host tests. Its loops and grain are 1.0's too, so 1.1's loop fixes no longer apply to it.\n• SAX: the same sound, packed without loss, 30 KB smaller. That is what makes room for the flute.\n• VIBRATO RATE still defaults to 5.5 Hz, as in 1.1 (it was 3 Hz in 1.0); with FX in, turn it down for 1.0's.\n• Installer: it no longer stops on what the keyboard is running; it gives advice and installs.\n\n## Installing\n\nPackage\nKeyboard\nIdentity\n\nmel-1.2.fwsc\nFM-1\nFM-1_952\n\nmel-1.2-smk37.fwsc\nSMK-37 Pro, Starrykey 37 Play\nSMK-37 Pro_452\n\nmel-1.2-smk37-elite.fwsc\nSMK-37 Elite\nSMK-37 Elite_452\n\nmel-1.2-smk37-mke.fwsc\nMKE-P37\nMKE-P37_452\n• In Chrome or Edge on a computer: https://antonioaltea.github.io/fmel-1/install/\n• From a terminal: python3 tools/fm1_install.py mel-1.2.fwsc (or the SMK-37 package for your model)\n\nInstall it over M-VAVE's official firmware (FM-1: V15; SMK-37: V016) or an earlier FMEL-1. Over another custom firmware, going back to the official one first is safer; the web installer installs over it all the same (from a terminal: --over-custom). On the SMK-37, install the package for the model written on yours. Don't unplug it until the installer says it's done. The installer page explains how to get back to the official firmware if something goes wrong.\n\nThis is a hobby project, not an official M-VAVE thing. Install at your own risk.\n\n## The tapes\n\nThe tapes are Taijiguy's, not under the GPL: \"free to use, but cannot be used in any commercial, for profit software\". Share FMEL-1 freely; don't sell it, nor anything with these tapes in it.\n\n## Credits\n\nDrawings by Javi. Built on Dinghy (zvenson), Felucca (Leo Kuroshita, Hügelton Instruments) and SLOOP (isod89); the SMK-37 board layer and the tapes' block ADPCM by genkigenki. Tapes by Bernie Kornowicz (Taijiguy). All the credits are in the README."
   },
   "commit": {
    "date": "2026-11-04",
    "title": "Installer: the version where you install: «FMEL-1 1.2: check passed.»…",
    "url": "https://github.com/AntonioAltea/fmel-1/commit/e6b47ac257ed6c5af0af2c75b94d6f0171d3465f"
   },
   "stars": 8,
   "created": "2026-10-10",
   "about": "Personal Mellotron-style firmware for the M-VAVE FM-1: tape sounds colored with FX and lo-fi tape effects. Based on zvenson's dinghy repository.",
   "image": "https://raw.githubusercontent.com/AntonioAltea/fmel-1/HEAD/web/emu/img/choir.png",
   "images": [
    "https://raw.githubusercontent.com/AntonioAltea/fmel-1/HEAD/web/emu/img/choir.png",
    "https://raw.githubusercontent.com/AntonioAltea/fmel-1/HEAD/web/emu/img/tape.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/AntonioAltea~fmel-1.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "zvenson/dinghy",
   "screens": [
    "home",
    "seq",
    "fx",
    "fx-hold",
    "env",
    "env-hold",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "edit",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "EXTRATONE CORE",
   "repo": "fabiomassimopasquazzi/dinghy",
   "branch": "fix/extratone-v14-retrigger-declick",
   "by": "fabiomassimopasquazzi",
   "fam": "modular",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "experimental"
   ],
   "stage": "development",
   "about": "A one-voice FM kick synth for extratone on Dinghy: pitch and AHDR envelopes, LP24 filter, key-rate retriggers.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-19",
    "title": "Verify 1.4 retrigger continuity test and compile device firmware",
    "url": "https://github.com/fabiomassimopasquazzi/dinghy/commit/8659881e284d3f7032148a0ec862adb5bd8af629"
   },
   "stars": 0,
   "created": "2026-10-18",
   "image": "https://raw.githubusercontent.com/fabiomassimopasquazzi/dinghy/fix%2Fextratone-v14-retrigger-declick/docs/screen.png",
   "readmeNotes": {
    "version": "",
    "text": "Status: 0.3, runs on the FM-1. Tested on the device: the install, MIDI in (pitch exact, 4 voices), USB audio at 44.1 / 48 kHz, the keys, the screen, the octave kept in flash, and back to another firmware through the hub.",
    "date": "2026-10-19",
    "url": "https://github.com/fabiomassimopasquazzi/dinghy#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development",
   "experimental": false,
   "parent": "zvenson/dinghy",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Template in the browser",
     "https://charlesvestal.github.io/fm1-base/emu/"
    ]
   ],
   "name": "fm1-base",
   "repo": "charlesvestal/fm1-base",
   "by": "charlesvestal",
   "fam": "modular",
   "lic": "MPL-2.0",
   "about": "The platform CTL-1, Polly, AMB-1 (from 1.3) and Erik37 are built on: Charles Vestal's layer over the FM-1's hardware, on felucca-bsp, with a template app, a simulator on the computer and a browser emulator; Bluetooth MIDI and WiFi are parts an app chooses.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://charlesvestal.github.io/fm1-base/install/",
     "from": "site"
    }
   ],
   "commit": {
    "date": "2026-11-05",
    "title": "The installer page runs again: fm1ota.js's CRC16 for the fast install…",
    "url": "https://github.com/charlesvestal/fm1-base/commit/698e2cba46b33bf14d9bf756675036053535638e"
   },
   "stars": 28,
   "created": "2026-10-17",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-base.jpg",
   "pageFiles": [
    {
     "name": "template-0.3.fwsc",
     "url": "https://charlesvestal.github.io/fm1-base/firmware/template-0.3.fwsc",
     "page": "https://charlesvestal.github.io/fm1-base/",
     "etag": "W/\"6adf0d99-954a8\"",
     "size": 344360,
     "check": {
      "sha256": "a62e6d803b0fa223839d4af1eb558a4d02cc27b1f5c492e93b4a49beedc00538",
      "bytes": 611496,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "a62e6d803b0fa223839d4af1eb558a4d02cc27b1f5c492e93b4a49beedc00538"
    }
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: beta. Two firmwares are built on it so far, and they are its proof points: CTL-1 (with Bluetooth MIDI) and Radio (with WiFi). Expect the platform interface (include/plat.h) and fm1.toml's settings to change before 1.0.",
    "date": "2026-11-05",
    "url": "https://github.com/charlesvestal/fm1-base#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "typesGuess": [
    "synth"
   ],
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx-hold",
    "env-hold",
    "lfo-hold",
    "arp-hold",
    "scl-hold",
    "edit-hold",
    "glo-hold",
    "home-hold"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "FMEL-1 SMK-37",
   "repo": "genkigenki/fmel-1",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "modular",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "board": "smk37",
   "about": "fmel-1, AntonioAltea's Mellotron-style tape synth on Dinghy, on the M-Vave SMK-37: genkigenki's port.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-17",
    "title": "SMK37.md, mel_smk.h: the M400's 35 notes with PITCH -5 (G2..G5); the …",
    "url": "https://github.com/genkigenki/fmel-1/commit/5796e078be4bbbc57c5508de4890f907d8d9c8c9"
   },
   "stars": 1,
   "created": "2026-10-17",
   "image": null,
   "pageFiles": [
    {
     "name": "fmel-0.1-beta.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/fmel-0.1-beta.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9f002\"",
     "size": 581368,
     "check": {
      "sha256": "4fb10421f223bb71000e461f1262e5b4b1dc5e61c9e9fb475c3c990b07b11660",
      "bytes": 651266,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "4fb10421f223bb71000e461f1262e5b4b1dc5e61c9e9fb475c3c990b07b11660"
    },
    {
     "name": "fmel-0.1-beta-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/fmel-0.1-beta-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9f006\"",
     "size": 581367,
     "check": {
      "sha256": "4af1372b518cdba5d999793dccd5e367feb7fc09de24b03dde0b4f8501c12b92",
      "bytes": 651270,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "4af1372b518cdba5d999793dccd5e367feb7fc09de24b03dde0b4f8501c12b92"
    },
    {
     "name": "fmel-0.1-beta-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/fmel-0.1-beta-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9effe\"",
     "size": 581352,
     "check": {
      "sha256": "8bdf83818063b06570f8ed8273ff67045511c6b7d4eebf05f3006d7c585e2a21",
      "bytes": 651262,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "8bdf83818063b06570f8ed8273ff67045511c6b7d4eebf05f3006d7c585e2a21"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "AntonioAltea/fmel-1"
  },
  {
   "links": [],
   "name": "FMLarynx",
   "repo": "ejtb76/FMLarynx",
   "by": "ejtb76",
   "fam": "modular",
   "lic": "GPL-3.0",
   "types": [
    "synth"
   ],
   "about": "A talking formant synth with a 303-style sequencer: a saw through three vowel formants, built on Dinghy.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.1.1",
    "url": "https://github.com/ejtb76/FMLarynx/releases/tag/v0.1.1",
    "assets": [
     {
      "name": "fmlarynx-0.1.1.fwsc",
      "url": "https://github.com/ejtb76/FMLarynx/releases/download/v0.1.1/fmlarynx-0.1.1.fwsc",
      "size": 610304,
      "sha256": "6d15be0e9804fb0588cefc6e312245aa257252365dffac694b6fd8106a3d8c30",
      "check": {
       "sha256": "6d15be0e9804fb0588cefc6e312245aa257252365dffac694b6fd8106a3d8c30",
       "bytes": 610110,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/ejtb76/FMLarynx/releases/download/v0.1.1/SHA256SUMS",
      "size": 92,
      "sha256": "9d84c174dfd711ff68070dea0f3defd9478edb152b2505330f02b1181fe1a134"
     }
    ],
    "date": "2026-10-30",
    "title": "FMLarynx 0.1.1",
    "notes": "FMLarynx 0.1, built and signed on GitHub by the Firmware Hub's shared workflow (the same firmware as 0.1). A throaty talking formant synth with a 303-style pattern sequencer: The synth is a saw wave through a three-formant vowel filter with an envelope, an added resonant LPF with cutoff and a ping-pong delay with drive. The 16-step sequencer has vowels, accent and slide per step, a pattern randomizer and storage for 16 patterns.\n\nPackage identity: FM-1_984 · Install: from the Firmware Hub, or fmlarynx-0.1.1.fwsc below with tools/fm1_install.py.\n\n## What's in it\n• The voice: a saw through three formant filters on a vowel plane you steer with Tongue and Jaw, with Size, Resonance and Voice (male to female/child), and two LFOs.\n• 303-style: a resonant cutoff whose resonance follows RES, an envelope (Decay, Env Mod, Accent, Amp Decay), accents and real slides.\n• Effects: Drive and a tempo-synced ping-pong Delay.\n• Sequencer: 16 steps with slides, accents and a vowel per step; a randomizer (root, scale) on ARP; live transpose on SEQ; 16 stored patterns (SAVE / SEL + a white key); follows MIDI clock.\n• Screen: the inside of a throat whose opening follows the vowel, the step strip and the keyboard.\n\nAll controls are in the README.\n\n## Tested on an FM-1\n\nInstalled from the official V15, from Dinghy and from Unholy Union; from FMLarynx, Dinghy and Unholy Union install again. Back to the official firmware or anything else from the Firmware Hub; if it ever gets stuck, hold OCT− while switching on for the USB rescue.\n\nGPL-3.0, built on Dinghy by zvenson and the Felucca / SLOOP platform.\n\n## Built from source on GitHub\n\nCheck it yourself:\n\ngh attestation verify fmlarynx-0.1.1.fwsc --repo ejtb76/FMLarynx \\n --signer-workflow zvenson/fm1-build/.github/workflows/build.yml"
   },
   "commit": {
    "date": "2026-10-30",
    "title": "fmhub.json: the Firmware Hub card's text, author, kind and picture",
    "url": "https://github.com/ejtb76/FMLarynx/commit/80d2696d547bb54b53d32f431fd29617ad5fbbb9"
   },
   "stars": 1,
   "created": "2026-10-18",
   "image": "https://raw.githubusercontent.com/ejtb76/FMLarynx/HEAD/docs/screen.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "zvenson/dinghy",
   "screens": [
    "home"
   ],
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Website and emulator",
     "https://konsumer.js.org/fomajam/"
    ],
    [
     "Releases",
     "https://github.com/konsumer/fomajam/releases"
    ]
   ],
   "name": "FOMAJAM",
   "repo": "konsumer/fomajam",
   "by": "konsumer",
   "fam": "modular",
   "lic": "GPL-3.0",
   "about": "A groovebox made with foma: 9 tracks, each its own machine (modeled 808, 909, CR-78 and more drum machines, synths).",
   "types": [
    "groovebox"
   ],
   "board": "both",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.1.9",
    "url": "https://github.com/konsumer/fomajam/releases/tag/v0.1.9",
    "assets": [
     {
      "name": "fomajam-0.1.9.fwsc",
      "url": "https://github.com/konsumer/fomajam/releases/download/v0.1.9/fomajam-0.1.9.fwsc",
      "size": 610304,
      "sha256": "105d045697a8887315fe0bd4e70c606c9f38f8e396fa8ad13c20544da5f673c1",
      "check": {
       "sha256": "105d045697a8887315fe0bd4e70c606c9f38f8e396fa8ad13c20544da5f673c1",
       "bytes": 610110,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "fomajam-bt-0.1.9.fwsc",
      "url": "https://github.com/konsumer/fomajam/releases/download/v0.1.9/fomajam-bt-0.1.9.fwsc",
      "size": 610304,
      "sha256": "789c8abf11bb71ba9e89b38ce804b24b3939c67762c62736434fc85c0cac9e99",
      "check": {
       "sha256": "789c8abf11bb71ba9e89b38ce804b24b3939c67762c62736434fc85c0cac9e99",
       "bytes": 610110,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "fomajam-smk37-0.1.9.fwsc",
      "url": "https://github.com/konsumer/fomajam/releases/download/v0.1.9/fomajam-smk37-0.1.9.fwsc",
      "size": 651264,
      "sha256": "fe6dd2d258c21b5753c43d514745bdb2ab2795a0240068c8a5fca7bc19680a93",
      "check": {
       "sha256": "fe6dd2d258c21b5753c43d514745bdb2ab2795a0240068c8a5fca7bc19680a93",
       "bytes": 651228,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "fomajam-smk37-elite-0.1.9.fwsc",
      "url": "https://github.com/konsumer/fomajam/releases/download/v0.1.9/fomajam-smk37-elite-0.1.9.fwsc",
      "size": 651264,
      "sha256": "3445a8f5f9950bb1f4676a5e0b9fe1abe30667633ce27de4b4d0da32a458afcf",
      "check": {
       "sha256": "3445a8f5f9950bb1f4676a5e0b9fe1abe30667633ce27de4b4d0da32a458afcf",
       "bytes": 651232,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "fomajam-smk37-mke-0.1.9.fwsc",
      "url": "https://github.com/konsumer/fomajam/releases/download/v0.1.9/fomajam-smk37-mke-0.1.9.fwsc",
      "size": 651264,
      "sha256": "8e7e9f60f52e51726f4bc38d8d3daa46d9e4c94b1f7d76525465e3b7eb9ec1bf",
      "check": {
       "sha256": "8e7e9f60f52e51726f4bc38d8d3daa46d9e4c94b1f7d76525465e3b7eb9ec1bf",
       "bytes": 651224,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-11-01",
    "title": "v0.1.9",
    "notes": "No content."
   },
   "commit": {
    "date": "2026-11-03",
    "title": "Link mutant.cloud listing in README",
    "url": "https://github.com/konsumer/fomajam/commit/ad4a11e0b73c4cb7099c8a76f3cf26dece953d8c"
   },
   "stars": 3,
   "created": "2026-10-15",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/konsumer~fomajam/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "env",
    "env-hold",
    "lfo-hold",
    "arp",
    "arp-hold",
    "edit",
    "glo"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/konsumer/fomajam/HEAD/docs/fomajam.gif",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/konsumer~fomajam.jpg"
   ],
   "imagePick": true
  },
  {
   "links": [],
   "name": "Hexagon Console",
   "home": "https://www.reddit.com/r/MVaveFM1/comments/1x5qq7z/coming_soon_hexagon_console/",
   "by": "",
   "fam": "modular",
   "lic": "?",
   "stage": "announced",
   "seen": "2026-10-16",
   "tools": [],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "announced",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://risseraka.github.io/fm1-tracker-ketch/"
    ],
    [
     "Guide",
     "https://risseraka.github.io/fm1-tracker-ketch/guide/"
    ]
   ],
   "name": "Ketch",
   "repo": "risseraka/fm1-tracker-ketch",
   "by": "risseraka",
   "fam": "modular",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "about": "An LSDJ-style tracker for the FM-1, on Dinghy: song, chain and phrase screens, four channels of Felucca's engines.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://risseraka.github.io/fm1-tracker-ketch/install/",
     "from": "list",
     "front": "https://risseraka.github.io/fm1-tracker-ketch/"
    }
   ],
   "release": {
    "tag": "v0.1-beta",
    "url": "https://github.com/risseraka/fm1-tracker-ketch/releases/tag/v0.1-beta",
    "assets": [
     {
      "name": "ketch-0.1-beta.fwsc",
      "url": "https://github.com/risseraka/fm1-tracker-ketch/releases/download/v0.1-beta/ketch-0.1-beta.fwsc",
      "size": 610304,
      "sha256": "1402e84bd2499a0861dc7c58f406bb0b52cd741f23e93944c04af04cee0904cf",
      "check": {
       "sha256": "1402e84bd2499a0861dc7c58f406bb0b52cd741f23e93944c04af04cee0904cf",
       "bytes": 610775,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "prerelease": true,
    "date": "2026-10-12",
    "title": "Ketch 0.1 beta",
    "notes": "Ketch 0.1 beta: the first public build of a tracker firmware for the M-VAVE FM-1. Pre-release: please report what breaks.\n\nInstall: python3 tools/fm1_install.py ketch-0.1-beta.fwsc (see the README). Charge the FM-1 fully, keep it on USB power and don't touch it until it restarts. Go back to the official firmware with the FM-1 Firmware Hub. At your own risk.\n\nWhat's in it: 4 channels on Felucca's engines; song, chain, phrase, instrument, effects and mixer screens; row commands (delay, retrigger, ramps, chance, hops, swing, sound parameters); live recording with count-in; projects saved in flash.\n\nKnown limits\n• Tested on one unit only.\n• Songs saved in this beta may not load in the next one.\n• CPU load with heavy engines (PHYS, FM6 on all four channels) is not yet measured on the device: a dense song may drop voices.\n\nPackage identity FM-1_951, 610,775 bytes."
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Ketch: sync with the development repo (sampling over USB, param help,…",
    "url": "https://github.com/risseraka/fm1-tracker-ketch/commit/d8ebe8641f4faa80ad7919092aef810511ae1883"
   },
   "stars": 7,
   "created": "2026-10-12",
   "image": "https://raw.githubusercontent.com/risseraka/fm1-tracker-ketch/HEAD/docs/screens/guide-S.png",
   "images": [
    "https://raw.githubusercontent.com/risseraka/fm1-tracker-ketch/HEAD/docs/screens/guide-S.png",
    "https://raw.githubusercontent.com/risseraka/fm1-tracker-ketch/HEAD/docs/screens/guide-P.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/risseraka~fm1-tracker-ketch.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "scl",
    "scl-hold",
    "glo"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "Ketch SMK-37",
   "repo": "genkigenki/fm1-tracker-ketch",
   "branch": "smk37",
   "by": "genkigenki",
   "fam": "modular",
   "lic": "GPL-3.0",
   "types": [
    "groovebox"
   ],
   "board": "smk37",
   "about": "Ketch, risseraka's LSDJ-style tracker on Dinghy, on the M-Vave SMK-37 keyboard: genkigenki's port, offered upstream.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-17",
    "title": "SMK-37: K1-K4 are KNOB 1-4, K5-K8 MASTER, SELECT, ALGORITHM, PRESETS;…",
    "url": "https://github.com/genkigenki/fm1-tracker-ketch/commit/729fd546a9cad0102ef1d8e30c274a2dbe9ec1b1"
   },
   "stars": 0,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/genkigenki/fm1-tracker-ketch/smk37/docs/screens/guide-S.png",
   "images": [
    "https://raw.githubusercontent.com/genkigenki/fm1-tracker-ketch/smk37/docs/screens/guide-S.png",
    "https://raw.githubusercontent.com/genkigenki/fm1-tracker-ketch/smk37/docs/screens/guide-P.png"
   ],
   "pageFiles": [
    {
     "name": "ketch-0.1.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/ketch-0.1.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9f2a8\"",
     "size": 435653,
     "check": {
      "sha256": "84be6c37fe7a1c5d63df46ac6bd3c6c2b06d49ce128d9416d7940816c4aa2f78",
      "bytes": 651944,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "84be6c37fe7a1c5d63df46ac6bd3c6c2b06d49ce128d9416d7940816c4aa2f78"
    },
    {
     "name": "ketch-0.1-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/ketch-0.1-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9f2a8\"",
     "size": 435634,
     "check": {
      "sha256": "accd7cef122f37c83da71229633a7ad6f1597d31875879cc3d093a8e73c2bb55",
      "bytes": 651944,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "accd7cef122f37c83da71229633a7ad6f1597d31875879cc3d093a8e73c2bb55"
    },
    {
     "name": "ketch-0.1-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/ketch-0.1-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/",
     "found": "named",
     "etag": "W/\"6ae9f46c-9f2a6\"",
     "size": 435656,
     "check": {
      "sha256": "60f84f933f64247130b928624283fff29c2da3bf5ef5ebc40d57fe1c7fcbcc3c",
      "bytes": 651942,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "60f84f933f64247130b928624283fff29c2da3bf5ef5ebc40d57fe1c7fcbcc3c"
    }
   ],
   "readmeNotes": {
    "version": "",
    "text": "Status: 0.1 beta. It runs on the FM-1, but it has been tested on one unit by one person. Expect bugs, and expect that a song saved in a beta may not load in the next one. To keep a song, record it over USB audio.",
    "date": "2026-10-17",
    "url": "https://github.com/genkigenki/fm1-tracker-ketch#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "parent": "risseraka/fm1-tracker-ketch",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Editor and installer",
     "https://matry0shka.pages.dev/"
    ]
   ],
   "name": "Matryoshka",
   "repo": "glvno/matryoshka",
   "by": "glvno",
   "fam": "modular",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "experimental"
   ],
   "about": "A modular synth framework from Modular-1: modules nest into reusable assemblies, patched in a browser editor.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Editor and installer",
     "url": "https://matry0shka.pages.dev/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.9.1",
    "url": "https://github.com/glvno/matryoshka/releases/tag/v1.9.1",
    "assets": [
     {
      "name": "matryoshka-1.9.1.fwsc",
      "url": "https://github.com/glvno/matryoshka/releases/download/v1.9.1/matryoshka-1.9.1.fwsc",
      "size": 610304,
      "sha256": "903463a8f69a1fd416153ab993985392bf5940714022bfb8576097101dd751d0",
      "check": {
       "sha256": "903463a8f69a1fd416153ab993985392bf5940714022bfb8576097101dd751d0",
       "bytes": 610609,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_700",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_700"
      }
     },
     {
      "name": "matryoshka-1.9.1.zip",
      "url": "https://github.com/glvno/matryoshka/releases/download/v1.9.1/matryoshka-1.9.1.zip",
      "size": 773120,
      "sha256": "802735c30f95a28eb55c8197c244c033834807492de7e3aed6ef314bbaf1e1b9"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/glvno/matryoshka/releases/download/v1.9.1/SHA256SUMS",
      "size": 179,
      "sha256": "a46ec674c887b890103aeaea237c3d1bdf9094239a8e09619d7623944c54c6ff"
     }
    ],
    "date": "2026-11-04",
    "title": "Matryoshka 1.9.1",
    "notes": "## FM-1\n• Even loudness: every factory patch and preset plays at about the same loudness, and none clips.\n• Level row: every engine has one (level, volume or vol). Presets you stored yourself for 11 of these engines stay with the patches you stored them on and don't show on the new factory patches yet; a later update brings them over.\n• Cassia 1: shorter row names (wave, rate, depth, delay, res) to make room for vol.\n• Controls sheet: SEL reads \"arm only this\", with a new row \"ENV then SEL arm several\".\n\n## Editor\n• \"Delete with its modules\" also deletes nested assemblies, and one Undo brings them back."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #642 from glvno/venv-from-main-checkout",
    "url": "https://github.com/glvno/matryoshka/commit/4e6ed4d44ee9a2f0e86904148870d8b70373f78c"
   },
   "stars": 6,
   "created": "2026-10-13",
   "image": "https://raw.githubusercontent.com/glvno/matryoshka/HEAD/web/public/brand/matryoshka.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "glo"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/glvno/matryoshka/HEAD/web/public/brand/matryoshka.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/glvno~matryoshka.jpg"
   ]
  },
  {
   "links": [
    [
     "Web app and flasher",
     "https://wiggismodular.github.io/Modular-1/"
    ]
   ],
   "name": "Modular-1",
   "repo": "WiggisModular/Modular-1",
   "by": "WiggisModular",
   "fam": "modular",
   "lic": "GPL-3.0",
   "types": [
    "synth",
    "experimental"
   ],
   "about": "A patchable synth after the Nord Modular: patches built from modules in its web app and sent to the FM-1, with an arpeggiator of scales, Euclidean rhythms and chaos.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Web app and flasher",
     "url": "https://wiggismodular.github.io/Modular-1/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.0.3",
    "url": "https://github.com/WiggisModular/Modular-1/releases/tag/v1.0.3",
    "assets": [
     {
      "name": "modular-1.fwsc",
      "url": "https://github.com/WiggisModular/Modular-1/releases/download/v1.0.3/modular-1.fwsc",
      "size": 610304,
      "sha256": "8197e3e5acefb40f0d334ddd21ec216372cfe1c38cac31d9e922246d7d1fea53",
      "check": {
       "sha256": "8197e3e5acefb40f0d334ddd21ec216372cfe1c38cac31d9e922246d7d1fea53",
       "bytes": 610086,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-14",
    "title": "V1.0.3",
    "notes": "Make your FM-1 modular\n\nNow with 4 voices..."
   },
   "commit": {
    "date": "2026-10-20",
    "title": "Release 1.1.1: version bump, changelog, rebuilt firmware package",
    "url": "https://github.com/WiggisModular/Modular-1/commit/3d520b413109c6d507c77b0adf4af15e7a8b8a7d"
   },
   "stars": 4,
   "created": "2026-10-10",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/WiggisModular~Modular-1.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "lfo",
    "arp",
    "scl",
    "scl-hold",
    "edit",
    "glo"
   ]
  },
  {
   "links": [
    [
     "Install",
     "https://w0ts.github.io/optimist/webapp/editor/#install"
    ],
    [
     "Simulator",
     "https://w0ts.github.io/optimist/webapp/editor/#sim"
    ],
    [
     "Editor",
     "https://w0ts.github.io/optimist/webapp/editor/#mixer"
    ],
    [
     "Build",
     "https://w0ts.github.io/optimist/webapp/editor/#build"
    ]
   ],
   "name": "Optimist",
   "repo": "w0ts/optimist",
   "by": "w0ts",
   "fam": "sloop",
   "lic": "GPL-3.0",
   "note": "Builds before 2026-10-08 could erase the stock radio calibration (an FM6 user-preset copy at 0xE8000); since then it never writes the SDK's sectors. Its default Synth and drum machine flavours erase SLOOP's projects at their first start: back up first.",
   "bt": "midi",
   "btHow": "Its own stack, in the default Synth build; off at power-on; the radio starts only with the stock calibration still in flash (or the copy it saved).",
   "status": "Early access (0.1): runs on real FM-1s, most features tested in the emulator and on the host; formats may change between versions.",
   "types": [
    "groovebox",
    "synth"
   ],
   "tags": "^v\\d",
   "about": "A build-it-yourself FM-1 firmware grown from SLOOP 2.2: a browser builder picks the engines, drum kits, effects and features of each build within the flash budget, around its own interface, a sequencer with patterns and scenes, insert-effect slots everywhere and a Bluetooth MIDI stack written from the specifications.",
   "aboutFrom": "studied",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Install",
     "url": "https://w0ts.github.io/optimist/webapp/editor/#install",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://w0ts.github.io/optimist/webapp/editor/#mixer",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.2",
    "url": "https://github.com/w0ts/optimist/releases/tag/v0.2",
    "assets": [
     {
      "name": "optimist-0.2-synths.fwsc",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/optimist-0.2-synths.fwsc",
      "size": 611328,
      "sha256": "926f08a95fa0e00f988bfd73f82fd8df130b9a8e4aa95a98e3aca925ec9b89a7",
      "check": {
       "sha256": "926f08a95fa0e00f988bfd73f82fd8df130b9a8e4aa95a98e3aca925ec9b89a7",
       "bytes": 610819,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_700",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_700"
      }
     },
     {
      "name": "Apache-2.0.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/Apache-2.0.txt",
      "size": 11366,
      "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4"
     },
     {
      "name": "BSD-2-Clause-micro-ecc.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/BSD-2-Clause-micro-ecc.txt",
      "size": 1300,
      "sha256": "ffd8b033d2df7568c25a98866bd92b1656f7da82d7f813c0b2eb85ec36611193"
     },
     {
      "name": "BSD-3-Clause-uPD933.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/BSD-3-Clause-uPD933.txt",
      "size": 1823,
      "sha256": "0b3aa480311f5a5f4455f6f53c054a8b795f9fa51d045f23c02984d51280bac6"
     },
     {
      "name": "GPL-2.0-reSID.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/GPL-2.0-reSID.txt",
      "size": 18022,
      "sha256": "32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670"
     },
     {
      "name": "LICENSE",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/LICENSING.md",
      "size": 41062,
      "sha256": "d3ac5303405c29470f82e197fa96b038279d6e4f8b71f83ef727d833e09f9f50"
     },
     {
      "name": "MIT-airwindows.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/MIT-airwindows.txt",
      "size": 1065,
      "sha256": "b4f5719b00ba3fecf8c0ce651e843651bd80f08a10cf4cf1f00e673a5bcaf23b"
     },
     {
      "name": "MIT-DaisySP.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/MIT-DaisySP.txt",
      "size": 3195,
      "sha256": "5d81bc8a6e25f24ee3a21b900fe9655707395c235e0cdb91586311a1b31aa64e"
     },
     {
      "name": "MIT-Felucca-Engines.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/MIT-Felucca-Engines.txt",
      "size": 1106,
      "sha256": "8d7a6483ea3289b07b1d9d5a4b760c8e6c69d22ca4248cad6fec14afa0ee5f4b"
     },
     {
      "name": "MIT-Open303.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/MIT-Open303.txt",
      "size": 1475,
      "sha256": "b39bec07999c563b9ae101c6d703fc03276717dec1abd4fd0350300aa82bf181"
     },
     {
      "name": "MIT-Plaits.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/MIT-Plaits.txt",
      "size": 2058,
      "sha256": "68acddcfe7970a7e763a94edba57db259366fdc5c37a43fb98c1a61520c098b7"
     },
     {
      "name": "MIT-Rings.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/MIT-Rings.txt",
      "size": 1772,
      "sha256": "9027fc62f36e0b00c98a349b8ed31725adbbeadb08c64b378d74e1020fe4c6fd"
     },
     {
      "name": "MIT-sc808.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/MIT-sc808.txt",
      "size": 1618,
      "sha256": "8ce55b3592f3ef9699ff4bd50d6bff67ebcfd928c83afd802ac33ff637fe697d"
     },
     {
      "name": "MIT-TB3PO.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/MIT-TB3PO.txt",
      "size": 1516,
      "sha256": "b3ce33ae0d1e8c9b9315f0da1ed11f46b7a47eaa0d1c3b49fb4fba5e49ee5851"
     },
     {
      "name": "optimist-0.2-drum-machines-ui.zip",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/optimist-0.2-drum-machines-ui.zip",
      "size": 400384,
      "sha256": "cd4ce562db9ecc773fbc01be512aa74f8cfaefb8821749c6516d8aa765addb2e"
     },
     {
      "name": "optimist-0.2-drum-machines.fwsc",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/optimist-0.2-drum-machines.fwsc",
      "size": 611328,
      "sha256": "3682292e50b1b30b27dbca42f6ad516206db1979f823db5a658de802731f7097",
      "check": {
       "sha256": "3682292e50b1b30b27dbca42f6ad516206db1979f823db5a658de802731f7097",
       "bytes": 610819,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_700",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_700"
      }
     },
     {
      "name": "optimist-0.2-synths-2-ui.zip",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/optimist-0.2-synths-2-ui.zip",
      "size": 400384,
      "sha256": "a4974f2861a1b020d1723532fba70f888b1006000e918fc9cd605a1b2a4623cc"
     },
     {
      "name": "optimist-0.2-synths-2.fwsc",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/optimist-0.2-synths-2.fwsc",
      "size": 611328,
      "sha256": "f47c8ab075a8cc4cdc6eb4e68a4dda31e12f5287611914b285a738c4710dcdbb",
      "check": {
       "sha256": "f47c8ab075a8cc4cdc6eb4e68a4dda31e12f5287611914b285a738c4710dcdbb",
       "bytes": 610819,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_700",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_700"
      }
     },
     {
      "name": "optimist-0.2-synths-ui.zip",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/optimist-0.2-synths-ui.zip",
      "size": 400384,
      "sha256": "daec7dbdb6741dffce65a127e6689abfd0e37d2586a40517ac744a51f175578e"
     },
     {
      "name": "optimist-0.2-synths_USBaudio_BTaudio_BTmidi-ui.zip",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/optimist-0.2-synths_USBaudio_BTaudio_BTmidi-ui.zip",
      "size": 400384,
      "sha256": "d5df33e6887509e2bb20e7feeec634f1d490310e94348ecc62f3298711ccba51"
     },
     {
      "name": "optimist-0.2-synths_USBaudio_BTaudio_BTmidi.fwsc",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/optimist-0.2-synths_USBaudio_BTaudio_BTmidi.fwsc",
      "size": 611328,
      "sha256": "9b9176fc45873d47b58750a31ce9ee30ecd3522846d4c17bbc278af1522b36b1",
      "check": {
       "sha256": "9b9176fc45873d47b58750a31ce9ee30ecd3522846d4c17bbc278af1522b36b1",
       "bytes": 610819,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_700",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_700"
      }
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/w0ts/optimist/releases/download/v0.2/SHA256SUMS.txt",
      "size": 818,
      "sha256": "1ebd518b9c22175e14859ff06a8a7cb3403da8848e9e2764ef2bc7a77b6475fd"
     }
    ],
    "date": "2026-10-25",
    "title": "Optimist 0.2",
    "notes": "Install it: https://w0ts.github.io/optimist/webapp/installer/\n\nThe new version of optimist has landed!\n\nThere is more in 0.2 than one firmware can fit: 26 synth engines, 37 kits, the inserts, Bluetooth audio and MIDI, at the same time! No single build has it all, and the release flavours are only our picks. Make your own in the web builder: tick what you want, watch the flash and RAM budget, and build it in the cloud in a few minutes.\n\nThe stock flavours of optimist are merely there to attempt to cover most of the synth engines and features, but I strongly encourage you to try them out and make your own build/flavour.\n\n## Bluetooth\n• Bluetooth audio. The FM-1 plays through AirPods and other Bluetooth headphones and speakers (A2DP, our own stack): pairing, bonding, reconnect without pairing; SHIFT + volume switches between Bluetooth and the FM-1's own output, or reconnects the last device. Adaptive frequency hopping: the link counts the headset's answers per radio channel and drops the bad channels from the hop set every 30 s, as every phone does.\n• Bluetooth MIDI. BLE MIDI, our own stack: play the FM-1 from an iPhone or a Mac, or send notes out; long packets asked for. MIDI clock both ways over Bluetooth (SYNC BLE), with CLK OFS / BT OFS offsets to line it up.\n• Both at once. BT MIDI and BT AUDIO are two pages in SYSTEM, each with its own mode (OFF / MAN / AUTO), device and state. Headphones, BLE MIDI to a Mac and the Mirror app together ran clean on the FM-1.\n• Devices. Each page remembers four devices. With no link up, the page scans and lists them: remembered ones in green, new ones in amber. K2 moves through the list, SAVE connects, SAVE held forgets.\n\n## Sound\n• 26 synth engines, ten of them new. Every one a builder item; the new ones are off by default.\n• DRONE (new): Caravel's coupled drone network, LYRA-8 inspired, with binaural BEAT and HOLD (Caravel 0.3.3 by bonszaimusic).\n• PLAITS (new): four of Mutable Instruments Plaits' models, waveshaping, additive, granular formant and particles (Plaits by Émilie Gillet).\n• STRINGS (new): a 1970s string machine (Clipper 1.1 by 3dSam).\n• VPS (new): vector phaseshaping, a sine read through a bent phase (Clipper).\n• TERRAIN (new): wave terrain synthesis (Clipper).\n• WSEQ (new): Wavestation-style wave sequencing (Clipper).\n• VECTOR (new): Prophet VS-style vector synthesis (Clipper).\n• WAVE (new): Clipper's wavetables, 8 of its 16 tables, one table shared by every WAVE track; +70 KB of flash and +73 KB of pool, so a build with it needs a shorter delay line.\n• SID (new): the Commodore 64's MOS 6581 / 8580, one voice of reSID 0.16 in integer code, three a part (Mini-Tone by Stephane Schmitz, after reSID by Dag Lem).\n• PROPHET (new): a Prophet-5 style voice with our controls and presets, no Sequential programs (from Melodee by Kerem Kilic).\n• ANALOG 2: the analog-style synth, swarm, two filters, now with four filter models (below) and FLT B, a second filter before FLT (the MS-20's order).\n• FM6: the DX7, bit-exact with Dexed; SysEx voices and banks in; voice packs (from Melodee).\n• JUNO: the Juno-106 voice, DCO, OTA ladder filter and HPF (fm-106 / KR-106).\n• ACID: the TB-303 bass voice with the TB-3PO line generator (X0X, Open303).\n• CZ: Casio CZ-1 style tones, two lines with 8-step envelopes, the CZ-1 tone collection (from Melodee).\n• PHYS: physical models, modal, string, membrane and sympathetic strings.\n• DIGITAL: 4-operator FM.\n• PHASE: phase distortion, with FOLD, a sine wavefolder (Felucca-Engines).\n• LOFI: chip sounds and wavetables.\n• SAMPLE: the sample sets and your own USR slots.\n• VOICE: formant synthesis, sung vowels.\n• TRIO: three oscillators.\n• WHEEL: a drawbar organ.\n• GRAIN: granular synthesis on the sample sets.\n• SLICE: a break slicer with its BREAK sample.\n• NOISE: colours, crackle and shift-register noise (Felucca-Engines).\n• ANALOG 2 filter models: LADR (Moog-style ladder), OTA (Juno-style 4-pole), DIOD (303-style diode ladder), MS20 (Sallen-Key); each a builder choice.\n• Three independent drum synths: the 32 classic kits, KAWA (kit 47, from Kawa Tracker by Guizmoh) and PLAITS (kit 48, Plaits' kick and snare, from Hortator by Leo Kuroshita after Plaits).\n• Inserts: XDLY, a LYRA-8 style cross-modulated dual delay; GATER; TAPE and SPIT (from Melodee 1.4.4 by Kerem Kilic); the insert slots show how many instances are free (2/4 CHRS).\n• Scene backports, builder items on by default: track FILTER resonance and drum TUNE on the noise sounds (SLOOP 2.8 by isod89), a track reuses its own released voice first (JIANT 0.9.9 by juanjiant-bit), PHASE's sine wavefolder (Felucca-Engines by Leo Kuroshita). The note generators (NOTEGEN, from Felucca) and USB audio (from Melodee).\n• Levels aligned: drums and synths at one level; every preset trimmed to the same loudness; drum VOLUME up to +6 dB.\n• One list of note values everywhere (4BAR … 1/64, straight, dotted, triplet) for the arp, SEQ DIV, delay TIME, synced LFOs, slicer, gater, ROLL. Arp GATE up to 198 %.\n\n## Sequencer and projects\n• GRIDS note generator (Mutable Instruments Grids' drum map) and the note generators, apart from the STEP tools. Two builder sub-items, off by default:\n• LFO modulation: two LFOs on the drum track move the kit's six GRIDS values (X, Y, CHAOS, the three densities), so the pattern drifts on its own.\n• Euclidean mode (OUT DRUMS / EUCL): Grids' own Euclidean output, X, Y and CHAOS the three parts' lengths 1..32, BD SD HH their fills, bit for bit Grids' table.\n• Projects own their scenes, patterns and song. A project is one record; PROJECT LOAD opens it, SAVE saves everything (into another slot: the whole project copied there, a save as), DELETE / NEW clear it; backup objects PJ01..PJ16.\n• SONG tables: scenes and parts as tables; SELECT / ALGORITHM navigate, the knobs edit; BARS; edits and clears while playing.\n• Mute mode (SHIFT + a key) with three key lights; the master channel too; the track LEDs follow the notes.\n…"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "feat(usb): the serial console comes with the build (USB_CONSOLE): pre…",
    "url": "https://github.com/w0ts/optimist/commit/8a91efd6b7725b86df3f35576aa3169664ed1589"
   },
   "stars": 31,
   "created": "2026-10-08",
   "image": "https://raw.githubusercontent.com/w0ts/optimist/HEAD/assets/screens/device-mixer.webp",
   "images": [
    "https://raw.githubusercontent.com/w0ts/optimist/HEAD/assets/screens/device-mixer.webp",
    "https://raw.githubusercontent.com/w0ts/optimist/HEAD/assets/screens/device-drums.webp",
    "https://raw.githubusercontent.com/w0ts/optimist/HEAD/assets/screens/device-master.webp",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/w0ts~optimist.jpg"
   ],
   "pageFiles": [
    {
     "name": "optimist-0.2-default.fwsc",
     "url": "https://w0ts.github.io/optimist/firmware/optimist-0.2-default.fwsc",
     "page": "https://w0ts.github.io/optimist/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecb2fb-d0b59\"",
     "size": 854873,
     "check": {
      "sha256": "d69c576c50b7aa286d98260935551b9ad05c59b288ac064a21024996214c6d33",
      "bytes": 854873,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "d69c576c50b7aa286d98260935551b9ad05c59b288ac064a21024996214c6d33"
    },
    {
     "name": "optimist-0.1-drum-machine.fwsc",
     "url": "https://w0ts.github.io/optimist/firmware/r/v0.1/optimist-0.1-drum-machine.fwsc",
     "page": "https://w0ts.github.io/optimist/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecb2fb-95203\"",
     "size": 610819,
     "check": {
      "sha256": "c6863a2889521327ba8cdfb4a2b70bca93ea6554793ba34495c8d1443ebb1b44",
      "bytes": 610819,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_700",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_700"
     },
     "sha256": "c6863a2889521327ba8cdfb4a2b70bca93ea6554793ba34495c8d1443ebb1b44"
    },
    {
     "name": "optimist-0.1-everything-that-fits.fwsc",
     "url": "https://w0ts.github.io/optimist/firmware/r/v0.1/optimist-0.1-everything-that-fits.fwsc",
     "page": "https://w0ts.github.io/optimist/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecb2fb-95203\"",
     "size": 610819,
     "check": {
      "sha256": "68379e0a725f3db117d36beb442cde70e39f3d31e0b8ddfa7fdb64bad1f87a38",
      "bytes": 610819,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_700",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_700"
     },
     "sha256": "68379e0a725f3db117d36beb442cde70e39f3d31e0b8ddfa7fdb64bad1f87a38"
    },
    {
     "name": "optimist-0.1-fm-va-studio.fwsc",
     "url": "https://w0ts.github.io/optimist/firmware/r/v0.1/optimist-0.1-fm-va-studio.fwsc",
     "page": "https://w0ts.github.io/optimist/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aecb2fb-95203\"",
     "size": 610819,
     "check": {
      "sha256": "7e43b0cecce94d5a0a2ff6998f61cb8f3ae2dfcec770b08b28ca1204bf0cb716",
      "bytes": 610819,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_700",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_700"
     },
     "sha256": "7e43b0cecce94d5a0a2ff6998f61cb8f3ae2dfcec770b08b28ca1204bf0cb716"
    }
   ],
   "pageMentions": [
    {
     "page": "https://w0ts.github.io/optimist/webapp/installer/",
     "names": [
      "PACKAGE.fwsc",
      "b.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://doom.deadlockinteractive.com/"
    ]
   ],
   "name": "Doom E1M1",
   "repo": "seanohollaren/fm1-doom",
   "by": "seanohollaren",
   "fam": "games",
   "lic": "GPL-3.0",
   "experimental": true,
   "about": "The first level of Doom (E1M1) with its title screen, sound and music, on rp2040-doom's engine and Felucca's hardware layer and loader.",
   "status": "Experimental: installed and played on one FM-1.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://doom.deadlockinteractive.com/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-13",
    "title": "Merge pull request #6 from seanohollaren/install-count",
    "url": "https://github.com/seanohollaren/fm1-doom/commit/bde88936a14e50276edebf684e60458f05926da8"
   },
   "stars": 2,
   "created": "2026-10-10",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/seanohollaren~fm1-doom.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer"
  },
  {
   "links": [
    [
     "Website and installer",
     "https://chancethemaker.github.io/doom-fm1-smk/"
    ],
    [
     "Simulator",
     "https://chancethemaker.github.io/doom-fm1-smk/simulator.html"
    ]
   ],
   "name": "Doom FM-1 / SMK",
   "repo": "ChanceTheMaker/doom-fm1-smk",
   "by": "ChanceTheMaker",
   "fam": "games",
   "lic": "GPL-3.0",
   "about": "Doom for the FM-1 and the SMK-37 Pro / Elite, with a browser firmware builder and installer.",
   "board": "both",
   "byTrusted": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Website and installer",
     "url": "https://chancethemaker.github.io/doom-fm1-smk/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "smk-pads-24",
    "url": "https://github.com/ChanceTheMaker/doom-fm1-smk/releases/tag/smk-pads-24",
    "assets": [
     {
      "name": "doom-smk-pads-24-source.zip",
      "url": "https://github.com/ChanceTheMaker/doom-fm1-smk/releases/download/smk-pads-24/doom-smk-pads-24-source.zip",
      "size": 10905190,
      "sha256": "acc258b0af636c1a780e6c8f83eadb1de74a6085465b881625812723ec3720fa"
     },
     {
      "name": "doom-smk37-elite-24.bin",
      "url": "https://github.com/ChanceTheMaker/doom-fm1-smk/releases/download/smk-pads-24/doom-smk37-elite-24.bin",
      "size": 580608,
      "sha256": "ef1cc34be742beee0d2dac49e3046a52c733c732fe50682690ec04198b8180fc"
     },
     {
      "name": "doom-smk37-pro-24.bin",
      "url": "https://github.com/ChanceTheMaker/doom-fm1-smk/releases/download/smk-pads-24/doom-smk37-pro-24.bin",
      "size": 580608,
      "sha256": "136b0185818cfaa786a92fd961bedd254443d048e13800dd50829d29d315030f"
     },
     {
      "name": "releases.json",
      "url": "https://github.com/ChanceTheMaker/doom-fm1-smk/releases/download/smk-pads-24/releases.json",
      "size": 1925,
      "sha256": "234a840021313ffa62c18cb4a32da861bfe203e8a16686a62f292e32d9098995"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/ChanceTheMaker/doom-fm1-smk/releases/download/smk-pads-24/SHA256SUMS",
      "size": 356,
      "sha256": "04517c091b75d70896074cda1b2c5ca967626a09410d4e016a65a923ef98add5"
     }
    ],
    "prerelease": true,
    "date": "2026-10-22",
    "title": "Doom SMK 24 — illuminated pad controls",
    "notes": "SMK Doom 24 adds illuminated drum-pad controls: cyan movement, amber strafe, green Use, red Fire. Only a held pad goes dark. Fader 2 adjusts brightness with noise rejection. Startup clears inherited LED/DMA state; LED reset gaps are carried inside the DMA frame. USB labels identify Doom correctly. The existing animated hero keeps its device rotation, camera zooms, shell finishes and screens, with the eight mapped SMK pads illuminated. FM-1 stays on release 16.\n\nValidation: owner confirmed controls, steady colors, brightness and sound on SMK Pro. A separate 3-minute gameplay monitor recorded 6,347 pad samples with no LED/audio errors. Host sanitizer, renderer, 70,000-frame campaign (72 level completions), installer and helper checks passed. The exact public Pro packet matches the installed packet. Normal USB restore completed and verified SMK-37 Pro_016; device left on original firmware. The original-firmware installer remains available.\n\nElite is compiled and exact-package simulated, not hardware-tested. A physical Chrome cable-disconnect test was not repeated. The earlier sprite-frame stop was not reproduced; no specific renderer fix is claimed. See docs/SMK_DRUM_CONTROLS.md.\n\nFirmware binary assets are application-only; install through the website. Source archive includes pinned DoomGeneric and printf submodules. Existing build tools fetch and prepare checksum-pinned artwork and toolchain dependencies."
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Create timer test output parents in clean CI checkout",
    "url": "https://github.com/ChanceTheMaker/doom-fm1-smk/commit/b705a7b06e01e74363d6ad556af1570349bc79a4"
   },
   "stars": 3,
   "created": "2026-10-12",
   "image": "https://raw.githubusercontent.com/ChanceTheMaker/doom-fm1-smk/HEAD/site/screenshots/splash.png",
   "images": [
    "https://raw.githubusercontent.com/ChanceTheMaker/doom-fm1-smk/HEAD/site/screenshots/splash.png",
    "https://raw.githubusercontent.com/ChanceTheMaker/doom-fm1-smk/HEAD/site/screenshots/outpost.png",
    "https://raw.githubusercontent.com/ChanceTheMaker/doom-fm1-smk/HEAD/site/screenshots/reactor.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ChanceTheMaker~doom-fm1-smk.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Website",
     "https://fm1.miketsak.gr/"
    ],
    [
     "Emulator",
     "https://fm1.miketsak.gr/emu/"
    ],
    [
     "Installer",
     "https://fm1.miketsak.gr/installer.html"
    ],
    [
     "Manual",
     "https://fm1.miketsak.gr/manual.html"
    ]
   ],
   "name": "Evander's Music Box",
   "repo": "MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware",
   "by": "MikeTsak",
   "fam": "games",
   "lic": "GPL-3.0",
   "about": "A LARP relic: the FM-1 as an elven bard's music box: tunes written on four tracks of 64 steps, and a mode for playing them at the table.",
   "status": "Early hardware testing: it runs on an FM-1, but its fix for starting on battery (v1.0 stayed dark) is not yet confirmed on a unit; the core, emulator and web tools are tested.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://fm1.miketsak.gr/installer.html",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.5.2",
    "url": "https://github.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/releases/tag/v1.5.2",
    "assets": [
     {
      "name": "emb.fwsc",
      "url": "https://github.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/releases/download/v1.5.2/emb.fwsc",
      "size": 610304,
      "sha256": "4316a6e114912952ed70e1b230b0fc199b353f1fa0bc5c8c04ebb4bcd4801b57",
      "check": {
       "sha256": "4316a6e114912952ed70e1b230b0fc199b353f1fa0bc5c8c04ebb4bcd4801b57",
       "bytes": 610090,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "emb.json",
      "url": "https://github.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/releases/download/v1.5.2/emb.json",
      "size": 148,
      "sha256": "b7b2261f73e03fa1c90d4702f0d973ea6a23f6191ad4116346e1803c148803c9"
     },
     {
      "name": "firmware.json",
      "url": "https://github.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/releases/download/v1.5.2/firmware.json",
      "size": 170,
      "sha256": "a9f95c42990395e82c906af3ea1e4fa473a862703fbe78736343828140a86c02"
     }
    ],
    "date": "2026-10-16",
    "title": "Evander's Music Box v1.5.2",
    "notes": "feat: add core firmware engine, platforms, and web emulator for FM-1 …\n\n…LARP device"
   },
   "commit": {
    "date": "2026-10-16",
    "title": "feat: add core firmware engine, platforms, and web emulator for FM-1 …",
    "url": "https://github.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/commit/53c32342efb4b06c7f40ae4758279c5c361c5535"
   },
   "stars": 3,
   "created": "2026-10-15",
   "image": "https://raw.githubusercontent.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/HEAD/assets/bluerose.png",
   "images": [
    "https://raw.githubusercontent.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/HEAD/assets/bluerose.png",
    "https://raw.githubusercontent.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/HEAD/assets/screenshots/web_emulator.png",
    "https://raw.githubusercontent.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/HEAD/assets/screenshots/boot_rose.png",
    "https://raw.githubusercontent.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/HEAD/assets/screenshots/bardic_home.png",
    "https://raw.githubusercontent.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/HEAD/assets/screenshots/encounter.png",
    "https://raw.githubusercontent.com/MikeTsak/Evanders-Music-Box--FM-1-LARP-firmware/HEAD/assets/screenshots/bardic_steps.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "arp-hold",
    "scl",
    "edit",
    "glo",
    "glo-hold"
   ],
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Fart Machine One",
   "repo": "adamcharleswilsonmusic-code/Fart-Machine-One",
   "by": "adamcharleswilsonmusic-code",
   "fam": "games",
   "lic": "GPL-3.0",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "V1.1.0",
    "url": "https://github.com/adamcharleswilsonmusic-code/Fart-Machine-One/releases/tag/V1.1.0",
    "assets": [
     {
      "name": "fart-machine-one-source.zip",
      "url": "https://github.com/adamcharleswilsonmusic-code/Fart-Machine-One/releases/download/V1.1.0/fart-machine-one-source.zip",
      "size": 2464154,
      "sha256": "3a78fbf9c3b3d49dbc7ba47473d2f1d6132ee76be32f4fe4ef6a69a383ffb443"
     },
     {
      "name": "fart-machine-one.fwsc",
      "url": "https://github.com/adamcharleswilsonmusic-code/Fart-Machine-One/releases/download/V1.1.0/fart-machine-one.fwsc",
      "size": 609280,
      "sha256": "b9e380061ddc086d5c45cfa4d4e583249a9bfb45869e1fcd6fdaf5249c7ee7e2",
      "check": {
       "sha256": "b9e380061ddc086d5c45cfa4d4e583249a9bfb45869e1fcd6fdaf5249c7ee7e2",
       "bytes": 609657,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "README.md",
      "url": "https://github.com/adamcharleswilsonmusic-code/Fart-Machine-One/releases/download/V1.1.0/README.md",
      "size": 9544,
      "sha256": "651a016dc12c99b0670e19a56c4ce17cc3e9a2f964251a1e3b14b3a9257cc6ab"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/adamcharleswilsonmusic-code/Fart-Machine-One/releases/download/V1.1.0/SHA256SUMS",
      "size": 1016,
      "sha256": "8231e4de5f70be9d7f2713b11ce99bd25886f71fa8a3598013e121b335b95dc4"
     }
    ],
    "date": "2026-10-23",
    "title": "Fart Machine One 1.1.0",
    "notes": "Fart Machine One turns the M-VAVE FM-1 into a sample instrument with ten recorded sounds across all 27 keys, a 16-step sequencer, reverb, delay, and an animated character.\n\n## Install\n\nDownload fart-machine-one.fwsc and fart-machine-one-source.zip together, then follow the included README.md or INSTALL.md. The expected device identity is FM-1_703.\n\nThe source archive includes the firmware source, installation tool, samples, and build instructions. Creator credits, audio licenses, and upstream code notices are included. SHA256SUMS provides download checksums.\n\nThis release was installed on an FM-1 and its FM-1_703 identity was independently verified after restart. Automated playback, effects, sequencer, browser, sample-name mapping, and simulated update checks also passed."
   },
   "commit": {
    "date": "2026-10-23",
    "title": "Prepare Fart Machine One 1.1.0 release",
    "url": "https://github.com/adamcharleswilsonmusic-code/Fart-Machine-One/commit/5e49a216c18c6e0a7e5e42bef43843b40ad9ea5f"
   },
   "stars": 23,
   "created": "2026-10-12",
   "about": "Turns your M-VAVE FM-1 into a questionable musical instrument. Ten artisanal farts, reverb, delay, and a sixteen-step sequencer.",
   "image": "https://raw.githubusercontent.com/adamcharleswilsonmusic-code/Fart-Machine-One/HEAD/docs/images/screen-playing.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home"
   ],
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://dx7.designburgapps.com/doom/"
    ]
   ],
   "name": "FM-1 Doom",
   "repo": "zvenson/fm1doom",
   "by": "zvenson",
   "fam": "games",
   "lic": "GPL-2.0",
   "note": "Its divide-by-zero trap is still armed (Felucca turned its own off in 1.0.3.1), so a stray divide by 0 shows DOOM CRASH and restarts it. It saves nothing to flash; OCT− held at power-on starts its USB rescue for the web installer.",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://dx7.designburgapps.com/doom/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-07",
    "title": "README: the YouTube Short and the installer link",
    "url": "https://github.com/zvenson/fm1doom/commit/640bc2dbdc69bcaf045afb9ef3695274f49fed4c"
   },
   "stars": 2,
   "created": "2026-10-07",
   "about": "Doom on the M-VAVE FM-1 (JieLi AC791N, 1 MiB flash, ~430 KB RAM, 240×240 LCD). A side project of sloopDX.",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/zvenson~fm1doom/home.png",
   "pageFiles": [
    {
     "name": "fm1doom-0.5.fwsc",
     "url": "https://dx7.designburgapps.com/doom/firmware/fm1doom-0.5.fwsc",
     "page": "https://dx7.designburgapps.com/doom/",
     "found": "named",
     "etag": "\"6ac6265d-94f3e\"",
     "size": 610110,
     "check": {
      "sha256": "6e23e322d16923e8653b9ecc5e78d891c7a372f9f0fd786d0031f177f0e242c1",
      "bytes": 610110,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "6e23e322d16923e8653b9ecc5e78d891c7a372f9f0fd786d0031f177f0e242c1"
    }
   ],
   "readmeNotes": {
    "version": "",
    "text": "status bar: 562 KB raw, 276 KB with zlib per lump. The installer writes only the app area (0x4000..0x93000, ~570 KB), which the engine (~280 KB) and the data share. - Host build: sh host/build.sh, then build/fm1doom-host <tics> <frame dir> <zone KiB>: headless, a virtual clock, scripted keys, every 35th frame a PPM.",
    "date": "2026-10-07",
    "url": "https://github.com/zvenson/fm1doom#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "installFrom": "page",
   "screens": [
    "boot",
    "home",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "lfo-hold",
    "arp"
   ]
  },
  {
   "links": [
    [
     "Update guide",
     "https://github.com/Keitark/fm1-nes/blob/main/APP_UPDATES.md"
    ]
   ],
   "name": "FM-1 NES",
   "repo": "Keitark/fm1-nes",
   "by": "Keitark",
   "fam": "games",
   "lic": "Apache-2.0",
   "stage": "development",
   "experimental": true,
   "note": "No FM-1 package (.fwsc): it builds an app-only .fm1app, written in the chip's UBOOT download mode by a Jieli writer, keeping the installed bootloader. Tested on one V14 unit with its author's own writer; the public wrapper is not bench-tested yet.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-09",
    "title": "Merge pull request #19 from Keitark/chore/18-readme-badges",
    "url": "https://github.com/Keitark/fm1-nes/commit/90d41c5e48073af2d4f7ff94df7496004d4b6627"
   },
   "stars": 19,
   "created": "2026-09-29",
   "about": "Custom firmware development resources for M-VAVE FM-1 (WL82): source-only SDK integration, diagnostics and a NES example.",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development"
  },
  {
   "links": [],
   "name": "fm1-mdx",
   "repo": "Keitark/fm1-mdx",
   "by": "Keitark",
   "fam": "games",
   "lic": "GPL-3.0",
   "stage": "development",
   "experimental": true,
   "status": "Host-tested candidate. Not yet installed or accepted on the FM-1.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-06",
    "title": "Merge pull request #21 from Keitark/chore/20-publication",
    "url": "https://github.com/Keitark/fm1-mdx/commit/9762d417d6f3464647e8cdca4e3d9d3a4df38538"
   },
   "stars": 1,
   "created": "2026-09-30",
   "about": "Experimental MDX/PDX karaoke player for the M-VAVE FM-1",
   "image": null,
   "readmeNotes": {
    "version": "",
    "text": "Status: host-tested candidate. Not yet installed or accepted on the FM-1. This repository contains source and original demo assets. It contains no stock firmware, device backups, chip keys, commercial songs, vendor SDK libraries or unit-specific flash images.",
    "date": "2026-10-06",
    "url": "https://github.com/Keitark/fm1-mdx#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "development"
  },
  {
   "links": [
    [
     "Installer and simulator",
     "https://chancethemaker.github.io/gamedude-fm1-smk/"
    ]
   ],
   "name": "GameDude",
   "repo": "ChanceTheMaker/gamedude-fm1-smk",
   "by": "ChanceTheMaker",
   "fam": "games",
   "lic": "GPL-3.0",
   "bt": "other",
   "btHow": "To load games onto it, not for MIDI.",
   "board": "both",
   "byTrusted": true,
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and simulator",
     "url": "https://chancethemaker.github.io/gamedude-fm1-smk/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "smk-pad-lights-953",
    "url": "https://github.com/ChanceTheMaker/gamedude-fm1-smk/releases/tag/smk-pad-lights-953",
    "assets": [
     {
      "name": "gamedude-smk-953-source.zip",
      "url": "https://github.com/ChanceTheMaker/gamedude-fm1-smk/releases/download/smk-pad-lights-953/gamedude-smk-953-source.zip",
      "size": 7077888,
      "sha256": "8d47565c3a4e56f5a6e1c08c856e0631a729822ae7e45a6ddb4d0728610c47bf"
     },
     {
      "name": "gamedude-smk37-953.bin",
      "url": "https://github.com/ChanceTheMaker/gamedude-fm1-smk/releases/download/smk-pad-lights-953/gamedude-smk37-953.bin",
      "size": 172032,
      "sha256": "db3ed0d31ff9287a62dc45c992533b11ffeae9e6453db4a646e98a3f4bb774a2"
     },
     {
      "name": "gamedude.json",
      "url": "https://github.com/ChanceTheMaker/gamedude-fm1-smk/releases/download/smk-pad-lights-953/gamedude.json",
      "size": 1290,
      "sha256": "b661c61f636d10a32437344fcbfcf4483fbcc5c5d75c9307f91f8721cb49ebed"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/ChanceTheMaker/gamedude-fm1-smk/releases/download/smk-pad-lights-953/SHA256SUMS",
      "size": 266,
      "sha256": "8d0ab7e7f7cf4098c125f816628dc6d181bd4b448097d25d49b1bb8905665a99"
     }
    ],
    "prerelease": true,
    "date": "2026-10-22",
    "title": "GameDude SMK 953 - stable pad colors and brightness",
    "notes": "GameDude SMK 953 stabilizes drum-pad colors when pressing pads and moving Fader 2. The LED packet now includes reset/latch zeros before and after the color data in one DMA transfer, following the tested Doom implementation. Existing controls, palette, press-dark behavior and brightness range are retained.\n\nThe owner tested this exact application on SMK-37 Pro and accepted the pad/fader behavior. USB game-upload CRC verification passed; subsequent telemetry reported zero LED transfer errors. The public native install image and packet match the physically tested package byte for byte.\n\nBoth Pro and Elite package validation passes. Installer, checksum, corruption, upload and original-firmware restore checks pass. Isolated headless Chrome tests verify the Windows SMK helper path and unchanged FM-1 browser path. Elite physical testing and a new stock round trip/power cycle were not repeated for this release.\n\nThe site and Windows USB helper now select the same revision. Original-firmware restore remains available. FM-1 binaries are unchanged. No Bluetooth stack or licensing changes are included. Detailed evidence: docs/SMK_PAD_LIGHTS.md.\n\nThe .bin asset is application-only: install through the website and matching helper. Corresponding source and SHA256SUMS are attached."
   },
   "commit": {
    "date": "2026-10-22",
    "title": "Publish tested SMK 953 pad-light build with matching installers",
    "url": "https://github.com/ChanceTheMaker/gamedude-fm1-smk/commit/09fe97f82cf70a15b14300bd699aa955095e36bb"
   },
   "stars": 3,
   "created": "2026-10-13",
   "about": "GameDude: Game Boy emulator, ROM-to-firmware tools and browser simulator for FM-1 and SMK37.",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ChanceTheMaker~gamedude-fm1-smk.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer",
     "https://charlesvestal.github.io/fm1-mocky/install/"
    ],
    [
     "Web app",
     "https://charlesvestal.github.io/fm1-mocky/app/"
    ]
   ],
   "name": "Mocky",
   "repo": "charlesvestal/fm1-mocky",
   "by": "charlesvestal",
   "fam": "games",
   "lic": "GPL-3.0",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://charlesvestal.github.io/fm1-mocky/install/",
     "from": "list"
    },
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://charlesvestal.github.io/fm1-mocky/app/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.9.2",
    "url": "https://github.com/charlesvestal/fm1-mocky/releases/tag/v0.9.2",
    "assets": [
     {
      "name": "mocky-0.9.2-app.bin",
      "url": "https://github.com/charlesvestal/fm1-mocky/releases/download/v0.9.2/mocky-0.9.2-app.bin",
      "size": 72806,
      "sha256": "6c2e7c85901ad874f0641cdeed549264e74116d391c43e263797976b02d6328a"
     },
     {
      "name": "mocky-0.9.2.fwsc",
      "url": "https://github.com/charlesvestal/fm1-mocky/releases/download/v0.9.2/mocky-0.9.2.fwsc",
      "size": 609280,
      "sha256": "355af27379546d40cbe20a864fab658ccdcb3b4370f4ba9e6a226a2c40c5773d",
      "check": {
       "sha256": "355af27379546d40cbe20a864fab658ccdcb3b4370f4ba9e6a226a2c40c5773d",
       "bytes": 609659,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/charlesvestal/fm1-mocky/releases/download/v0.9.2/SHA256SUMS",
      "size": 211,
      "sha256": "fdf01cf5eb2ed17447b70df1fc045658805129d260928579c3c8fc66890a17a0"
     }
    ],
    "date": "2026-11-05",
    "title": "Mocky 0.9.2",
    "notes": "Install it with the web installer in Chrome or Edge, then send pictures.\n• Mocky now works on the newer FM-1s. Units sold since autumn 2026, mostly on AliExpress, have a different flash chip (UC25HQ80). Until this release, Mocky couldn't keep pictures on them, back them up or install another firmware. Now it can, and the rescue script takes them too. Thanks to Laurens (@profikid) for the fix (fm1-base#35).\n• M-VAVE's updater, M-UPGRADE 3.11 (2026-11-03), didn't find an FM-1 running Mocky. It said \"A USB MIDI device is present but did not answer\". This version answers it, so M-UPGRADE can put M-VAVE's firmware back. Older versions of Mocky still aren't found: for those, use \"Back to the stock firmware\" on the install page.\n• The installer and the rescue script take M-VAVE's stock firmware V16 as well as V15.\n• The site's pages work with a screen reader and the keyboard. The picture page says what it's doing as it connects and sends, and the preview is described by its picture and how it's fitted.\n\nReleases are now built and attested on GitHub (zvenson/fm1-build), so the Firmware Hub can check where a package came from.\n\nmocky-0.9.2.fwsc is the firmware to install; mocky-0.9.2-app.bin is the bare app image."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "M-UPGRADE 3.11 finds Mocky again: ota.c answers its handshake with th…",
    "url": "https://github.com/charlesvestal/fm1-mocky/commit/a9a754514c4764faa2423b2e1b2025c10ab9b142"
   },
   "stars": 3,
   "created": "2026-10-10",
   "about": "Mocky: pictures on the M-VAVE FM-1's screen, sent from the browser (custom firmware + web app)",
   "image": "https://raw.githubusercontent.com/charlesvestal/fm1-mocky/main/docs/img/slideshow.png",
   "images": [
    "https://raw.githubusercontent.com/charlesvestal/fm1-mocky/HEAD/docs/img/welcome.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-mocky/HEAD/docs/img/step.png",
    "https://raw.githubusercontent.com/charlesvestal/fm1-mocky/HEAD/docs/img/slideshow.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-mocky.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://ueinegoms.github.io/noterush37/"
    ]
   ],
   "name": "NOTE RUSH 37",
   "repo": "ueinegoms/noterush37",
   "by": "ueinegoms",
   "fam": "games",
   "lic": "GPL-3.0",
   "board": "smk37",
   "about": "A note-reading game for the SMK-37, built on Vector37: name, staff and ear rounds with a top-5 table.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://ueinegoms.github.io/noterush37/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.0",
    "url": "https://github.com/ueinegoms/noterush37/releases/tag/v0.1.0",
    "assets": [
     {
      "name": "noterush37.fwsc",
      "url": "https://github.com/ueinegoms/noterush37/releases/download/v0.1.0/noterush37.fwsc",
      "size": 651264,
      "sha256": "f7bb2cc2d00e49f94d7760037caaa67fc7828eb585c8724f656a92d17f5cdca9",
      "check": {
       "sha256": "f7bb2cc2d00e49f94d7760037caaa67fc7828eb585c8724f656a92d17f5cdca9",
       "bytes": 651206,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "noterush37-elite.fwsc",
      "url": "https://github.com/ueinegoms/noterush37/releases/download/v0.1.0/noterush37-elite.fwsc",
      "size": 651264,
      "sha256": "1f98e8c29312b2af690d11fb3addac8e3583345c47059dd1608eee973ae7b407",
      "check": {
       "sha256": "1f98e8c29312b2af690d11fb3addac8e3583345c47059dd1608eee973ae7b407",
       "bytes": 651206,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "noterush37-mke.fwsc",
      "url": "https://github.com/ueinegoms/noterush37/releases/download/v0.1.0/noterush37-mke.fwsc",
      "size": 651264,
      "sha256": "c58aed2492bfca1e091566864a1c40ecc6d4553c717ec47146cfa495567b4894",
      "check": {
       "sha256": "c58aed2492bfca1e091566864a1c40ecc6d4553c717ec47146cfa495567b4894",
       "bytes": 651202,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-20",
    "title": "NOTE RUSH 37 0.1.0",
    "notes": "The first release of NOTE RUSH 37, a note-reading game for the M-Vave SMK-37.\n\nPackages (one keyboard under three names: take your model's)\n• SMK-37 Elite: noterush37-elite.fwsc\n• SMK-37 Pro: noterush37.fwsc\n• MKE-P37: noterush37-mke.fwsc\n\nInstall: in the browser at https://ueinegoms.github.io/noterush37/ (Chrome or Edge: CONECTAR, INSTALAR), or python tools/fm1_install.py --yes noterush37-elite.fwsc. Rescue: hold OCT- while switching on. Unofficial firmware, at your own risk; installing clears another firmware's stored data.\n\nIn it: the phases NOME (the letter), PAUTA (the staff, C3..C6), OUVIDO (by ear), the notes coming in by octave; the combo with lightning across the screen and the pads; the local top 5; nine sounds of Vector37's engine with the knobs, faders and wheels (PATCH: the sound drawn; PARA: the VETOR; GLOBE: the settings).\n\nEm português: a primeira versão do NOTE RUSH 37, jogo de leitura de notas pro SMK-37. Instale pelo navegador no link acima (Chrome ou Edge) ou pelo script em Python; resgate: segure OCT- ao ligar."
   },
   "commit": {
    "date": "2026-10-20",
    "title": "README, the site: NOTE RUSH CYBERFUNK, the web game it comes from, li…",
    "url": "https://github.com/ueinegoms/noterush37/commit/03c39bd949715acf0f7b49b63274af4e6514fd05"
   },
   "stars": 0,
   "created": "2026-10-20",
   "image": "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/banner.png",
   "images": [
    "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/banner.png",
    "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/screen-ask-nome.png",
    "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/screen-ask-pauta.png",
    "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/screen-ask-ouvido.png",
    "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/screen-lightning.png",
    "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/screen-over-pauta.png",
    "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/screen-name.png",
    "https://raw.githubusercontent.com/ueinegoms/noterush37/HEAD/docs/img/screen-sound.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ueinegoms~noterush37.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "parent": "genkigenki/Vector37",
   "screens": [
    "boot",
    "home",
    "edit-hold"
   ],
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Website and simulator",
     "https://acidsound.github.io/picovave/"
    ]
   ],
   "name": "picovave",
   "repo": "acidsound/picovave",
   "by": "acidsound",
   "fam": "games",
   "lic": "GPL-3.0",
   "about": "A PICO-8 console (femto8): carts played on the SMK-37 Pro or the FM-1, uploaded over SysEx; on Makkuro37's platform.",
   "board": "both",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "12822759",
    "url": "https://github.com/acidsound/picovave/releases/tag/12822759",
    "assets": [
     {
      "name": "picovave-fm1.fwsc",
      "url": "https://github.com/acidsound/picovave/releases/download/12822759/picovave-fm1.fwsc",
      "size": 610304,
      "sha256": "936e6924cf802366f54dc2fa3062d079094d39698f4ef9ccb2287fee6c41dff3",
      "check": {
       "sha256": "936e6924cf802366f54dc2fa3062d079094d39698f4ef9ccb2287fee6c41dff3",
       "bytes": 610213,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     },
     {
      "name": "picovave-smk37.fwsc",
      "url": "https://github.com/acidsound/picovave/releases/download/12822759/picovave-smk37.fwsc",
      "size": 651264,
      "sha256": "0eaeeab75e68ccdc10c555f08b3a1f4c3962e78fb6d6f2422ca58b7bf97bd514",
      "check": {
       "sha256": "0eaeeab75e68ccdc10c555f08b3a1f4c3962e78fb6d6f2422ca58b7bf97bd514",
       "bytes": 651383,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "picovave.fwsc",
      "url": "https://github.com/acidsound/picovave/releases/download/12822759/picovave.fwsc",
      "size": 651264,
      "sha256": "0eaeeab75e68ccdc10c555f08b3a1f4c3962e78fb6d6f2422ca58b7bf97bd514",
      "check": {
       "sha256": "0eaeeab75e68ccdc10c555f08b3a1f4c3962e78fb6d6f2422ca58b7bf97bd514",
       "bytes": 651383,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-24",
    "title": "picovave 12822759 — 듀얼코어 AMP 안전망 강화 (FM-1 & SMK-37 Pro)",
    "notes": "picovave — M-Vave SMK-37 Pro 및 FM-1(AC791N/WL82)에서 PICO-8 카트를 실행하는 펌웨어 패키지입니다.\n\n이 릴리스의 빌드 태그는 12822759 입니다(기기가 --ask / identity SysEx 에 보고하는 값).\n\n## 설치물 (Firmware Packages)\n• FM-1용: picovave-fm1.fwsc — 610,213 B\n• sha256: 936e6924cf802366f54dc2fa3062d079094d39698f4ef9ccb2287fee6c41dff3\n• 대상 기기: M-Vave FM-1 (FM-1_900)\n• SMK-37 Pro용: picovave-smk37.fwsc (또는 picovave.fwsc) — 651,383 B\n• sha256: 0eaeeab75e68ccdc10c555f08b3a1f4c3962e78fb6d6f2422ca58b7bf97bd514\n• 대상 기기: M-Vave SMK-37 Pro (SMK-37 Pro_700)\n\n## 주요 변경 사항\n\n듀얼코어 AMP(§18)를 리스크 관점에서 추적해 패널이 얼어붙을 수 있는 경로 4건을 닫았습니다.\n\n모두 실기(FM-1 + SMK-37 Pro)에서 확인했습니다.\n• 리셋 뒤 stale 메일박스(가장 위험): 메일박스는 .noinit이라 WDT/크래시 리셋을 넘어 살아남는데,\n\nfm1_cpu1_start()가 이를 지우지 않았습니다. 다음 부팅의 Core 1이 미완료 RENDER를 첫 루프에서\n\n실행하면 그 시점은 .bss 클리어 직후라 m_memory가 NULL이고, Core 1은 icfg=0에 벡터도 없어\n\n폴트합니다. c1_alive는 1로 남고 모든 push가 50 ms 타임아웃을 물며 WDT는 계속 먹여져\n\n리셋도 없이 패널만 영구 정지했습니다. → Core 1 기상 전에 메일박스를 0으로 클리어.\n• Core 1 사망 미감지: 부팅 probe가 pingpong 완료 불일치/기동 실패 시 c1_alive = 0으로 내려\n\n기존 Core 0 직접 렌더 경로로 자동 폴백합니다.\n• Core 1 스택 2 KB 무감시: 인터럽트가 꺼져 있어 TIMER5 sp 샘플러가 못 보고 가드 밴드도 없습니다.\n\nprobe가 스택 바닥을 카나리로 칠하고 pv_c1_wait_done()이 작업 완료 직후 여유를 검사해,\n\n512 B 미만이면 Core 0 렌더로 폴백합니다(부팅 화면 C1 TICKS:xxxxx Snnn에 표시).\n• p8_stop_cart() 해체 비직렬화: Lua 상태/VRAM을 해체하기 전에 진행 중인 Core 1 렌더를\n\n기다립니다.\n\n실기에서 잡은 결함: 카나리 표시가 반전돼 있었습니다(소모량을 여유로 오독). 그래서 정상 상태\n\n(Core 1 스택 사용 100 B)를 위험으로 오판해 AMP가 스스로 꺼졌습니다(C1: NOT RESPONDING).\n\n수정 후 두 기기 모두 C1: OK, PINGPONG: 10000/10000, 스택 여유 S1692 로 동작합니다.\n\n참고로 반전된 빌드에서 폴백 경로는 실제로 기기를 살려냈습니다 — AMP가 꺼진 상태에서도 멈추지 않고\n\n카트를 계속 돌렸습니다.\n\n문서: docs/DUAL_CORE_AMP.md §4가 존재하지 않는 필드(busy/skips/active_buf)를 설명하고\n\n있었습니다. 실제 fm1_c1_probe_t와 직렬화 계약(모든 kick은 Core 0의 대기를 통과)으로 다시 썼고,\n\n§5.4에 안전망, §6에는 0.00 ms/60+ FPS의 참인 조건을 한정해 적었습니다.\n\n## 검증\n• 게이트: 태그 12822759, 아레나 415,696 B(SMK-37 Pro) / 416,848 B(FM-1) 불변, build_sim 패리티 통과,\n\nverify_final.py all checks passed\n• 실기: FM-1 및 SMK-37 Pro(스톡 v016에서 설치) 모두 정상 부팅·카트 구동·오디오 클리핑 없음"
   },
   "commit": {
    "date": "2026-10-24",
    "title": "fix(amp): harden Core 1 reset/liveness/stack safety and correct dual-…",
    "url": "https://github.com/acidsound/picovave/commit/cc46dbabedb5709d5c9370fd5cc430e8108de3b1"
   },
   "stars": 3,
   "created": "2026-10-19",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/acidsound~picovave.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "scl"
   ]
  },
  {
   "links": [],
   "name": "Trumpagotchi",
   "repo": "adamcharleswilsonmusic-code/Trumpagotchi",
   "by": "adamcharleswilsonmusic-code",
   "fam": "games",
   "lic": "GPL-3.0",
   "about": "An unofficial Trump virtual pet (a parody). Burgers, praise, questionable news and bongos.",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v1.0.0",
    "url": "https://github.com/adamcharleswilsonmusic-code/Trumpagotchi/releases/tag/v1.0.0",
    "assets": [
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/adamcharleswilsonmusic-code/Trumpagotchi/releases/download/v1.0.0/SHA256SUMS.txt",
      "size": 364,
      "sha256": "18dcc2cd904db7489849fbf9852038d21cfe9fdb5d876925f9124e851af0a678"
     },
     {
      "name": "trumpagotchi-quick-start.pdf",
      "url": "https://github.com/adamcharleswilsonmusic-code/Trumpagotchi/releases/download/v1.0.0/trumpagotchi-quick-start.pdf",
      "size": 53862,
      "sha256": "fe9348394f8798a44f2f06e642ed9f388a821dfbf435546681139a250dc4f6a5"
     },
     {
      "name": "trumpagotchi-quick-start.png",
      "url": "https://github.com/adamcharleswilsonmusic-code/Trumpagotchi/releases/download/v1.0.0/trumpagotchi-quick-start.png",
      "size": 327680,
      "sha256": "549fbc70dc7a7ff3f6e8e201fd52e2331546d7967a962b44ab2c2f496120ee09"
     },
     {
      "name": "trumpagotchi-source.zip",
      "url": "https://github.com/adamcharleswilsonmusic-code/Trumpagotchi/releases/download/v1.0.0/trumpagotchi-source.zip",
      "size": 2936013,
      "sha256": "6d0819c2c8d328e9cda015fd831d440312d5610db6209876a6c7754a8b19c3b6"
     },
     {
      "name": "trumpagotchi.fwsc",
      "url": "https://github.com/adamcharleswilsonmusic-code/Trumpagotchi/releases/download/v1.0.0/trumpagotchi.fwsc",
      "size": 609280,
      "sha256": "cf05c608818d54ad9b4061968f5f67de34ad41faa45672852c82774ed8277222",
      "check": {
       "sha256": "cf05c608818d54ad9b4061968f5f67de34ad41faa45672852c82774ed8277222",
       "bytes": 609657,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-10-13",
    "title": "Trumpagotchi — First Release",
    "notes": "A burger-powered virtual pet with an ego problem and surprisingly good bongo timing.\n• Feed, Praise, Clean and Rest on four illuminated care keys.\n• Pentatonic keyboard instrument and happy-pet bongo accompaniment.\n• Twelve recorded reactions, captions, news watching and stress eating.\n• Five-minute days, daytime naps and fast overnight sleep with full energy at dawn.\n• Persistent progress, manual SAVE, autosave, pause and three-meter Game Over.\n• HOME Status and GLO Start Over; dry keyboard sound.\n\nFirmware identity: FM-1_710. This exact package was installed and its restart verified on an M-VAVE FM-1. Other hardware units, starting firmware and computer setups are not exhaustively tested.\n\nDownload trumpagotchi.fwsc and trumpagotchi-source.zip from the assets below. Follow the included README to install. trumpagotchi-quick-start.pdf is the one-page controls guide; the PNG is an image copy.\n\nUnofficial parody with edited fictional dialogue. No affiliation or endorsement is implied. Source-video credits and preserved code/SDK/font notices are included."
   },
   "commit": {
    "date": "2026-10-13",
    "title": "Add voice samples, simulator and tests",
    "url": "https://github.com/adamcharleswilsonmusic-code/Trumpagotchi/commit/976b6e65dc968a6f9bfa946e6d300e61aa69ebb6"
   },
   "stars": 6,
   "created": "2026-10-13",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/adamcharleswilsonmusic-code~Trumpagotchi/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq-hold",
    "fx",
    "fx-hold",
    "env-hold",
    "lfo-hold",
    "edit-hold",
    "glo",
    "home-hold"
   ],
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [],
   "name": "FM-1 Firmware Patcher",
   "repo": "czietz/fm1-firmware-patcher",
   "by": "czietz",
   "fam": "patch",
   "lic": "Unlicense",
   "bt": "midi",
   "btHow": "The stock firmware's, which its patch leaves alone (not checked on a device).",
   "types": [
    "synth"
   ],
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-28",
    "title": "Add patcher for M-VAVE firmware V16",
    "url": "https://github.com/czietz/fm1-firmware-patcher/commit/2ca1fafe2a269c60e2f8fee01a6a8be14c663d07"
   },
   "stars": 11,
   "created": "2026-09-27",
   "about": "M-VAVE FM-1 firmware patching utility",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false
  },
  {
   "links": [
    [
     "Patcher",
     "https://smememe.github.io/fm1-macropad-patch/"
    ],
    [
     "Input monitor",
     "https://smememe.github.io/fm1-macropad-patch/monitor.html"
    ]
   ],
   "name": "FM-1 Macropad Patch",
   "repo": "smememe/fm1-macropad-patch",
   "by": "smememe",
   "fam": "patch",
   "lic": "MIT",
   "bt": "midi",
   "btHow": "The stock firmware's, which its patch leaves alone; its settings screen is out of reach (not checked on a device).",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Patcher",
     "url": "https://smememe.github.io/fm1-macropad-patch/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.0.0",
    "url": "https://github.com/smememe/fm1-macropad-patch/releases/tag/v1.0.0",
    "assets": [],
    "date": "2026-10-12",
    "title": "v1.0.0",
    "notes": "First release.\n• Patches the official M-VAVE FM-1 firmware V15 (FM-1.fwsc) so that every button, key and knob sends a USB-MIDI note (55 inputs), with all LEDs off.\n• Apply it in the browser at https://smememe.github.io/fm1-macropad-patch/ or with python3 fm1patch.py FM-1.fwsc.\n• Output SHA-256: 4192103baeef0b4601a60e0ec55cd517371ec9834ce2e6b2964647e22aa98641\n• No M-VAVE firmware is included in this release. Read the README before flashing.\n\n最初のリリース。M-VAVE FM-1 の公式ファームウェア V15 に当てると、ボタン・鍵盤・ノブのすべて（55 入力）が USB-MIDI のノートを送るようになり、LED はすべて消える。使い方と注意は README.ja.md を参照。M-VAVE のファームウェアは含まない。"
   },
   "commit": {
    "date": "2026-10-12",
    "title": "Add input monitor page (Web MIDI) and share the layout drawing",
    "url": "https://github.com/smememe/fm1-macropad-patch/commit/0e6b52c247d4cbde3dce11e99eb9adf31f572118"
   },
   "stars": 3,
   "created": "2026-10-12",
   "about": "Unofficial patch that turns the M-VAVE FM-1 into a MIDI macro pad",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/smememe~fm1-macropad-patch.jpg",
   "pageMentions": [
    {
     "page": "https://smememe.github.io/fm1-macropad-patch/",
     "names": [
      "FM-1-macropad.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "installer",
   "experimental": false
  },
  {
   "links": [
    [
     "Editor",
     "https://acidsound.github.io/smk37pro-acidsound-mod/patch-set-editor/"
    ]
   ],
   "name": "SMK-37 Pro Acidsound Mod",
   "repo": "acidsound/smk37pro-acidsound-mod",
   "by": "acidsound",
   "fam": "patch",
   "lic": "?",
   "board": "smk37",
   "experimental": true,
   "about": "M-Vave's SMK-37 Pro v15 firmware, modified so each pad can load a DX7 drum voice; with a web patch-set editor.",
   "note": "A personal research mod: its README asks to flash only through its hash-locked OTA gate with a rollback ready. Install only the release's package; the repository also holds candidate builds and a SLOOP port to the SMK-37 Pro not yet run on hardware. For the SMK-37, not the FM-1.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "editor",
     "label": "Editor",
     "url": "https://acidsound.github.io/smk37pro-acidsound-mod/patch-set-editor/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v15-s1c6-reset-signature-isolation",
    "url": "https://github.com/acidsound/smk37pro-acidsound-mod/releases/tag/v15-s1c6-reset-signature-isolation",
    "assets": [
     {
      "name": "app-manifest.json",
      "url": "https://github.com/acidsound/smk37pro-acidsound-mod/releases/download/v15-s1c6-reset-signature-isolation/app-manifest.json",
      "size": 4639,
      "sha256": "325cd2b88f89c39da72da395ce3e32e85ec13d607eb616f366507d08c619e588"
     },
     {
      "name": "app.bin",
      "url": "https://github.com/acidsound/smk37pro-acidsound-mod/releases/download/v15-s1c6-reset-signature-isolation/app.bin",
      "size": 617472,
      "sha256": "312790c080f6fcead69eccd84edf2c608ef3fa7e772455d781ab086dafed44b1"
     },
     {
      "name": "ota-v15-s1c6-reset-sig-20260814.log",
      "url": "https://github.com/acidsound/smk37pro-acidsound-mod/releases/download/v15-s1c6-reset-signature-isolation/ota-v15-s1c6-reset-sig-20260814.log",
      "size": 64717,
      "sha256": "52a1460c61f985f28d01a89379dbd6b43ea0d9326d0fe4659730710db714f0b1"
     },
     {
      "name": "package-manifest.json",
      "url": "https://github.com/acidsound/smk37pro-acidsound-mod/releases/download/v15-s1c6-reset-signature-isolation/package-manifest.json",
      "size": 4700,
      "sha256": "80254f894c756357feb812a02734984771d34caa8001ee0edbdce0fb60b2266b"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/acidsound/smk37pro-acidsound-mod/releases/download/v15-s1c6-reset-signature-isolation/SHA256SUMS",
      "size": 5079,
      "sha256": "812da066bc943d475522fb1e99f1f5a9eae1ea13e94a1b1e493d9e9babc7646c"
     },
     {
      "name": "SMK37Pro-v15-S1C6-reset-signature-isolation-S16-marked.fwsc",
      "url": "https://github.com/acidsound/smk37pro-acidsound-mod/releases/download/v15-s1c6-reset-signature-isolation/SMK37Pro-v15-S1C6-reset-signature-isolation-S16-marked.fwsc",
      "size": 701440,
      "sha256": "fd449b93afc2a9abe777cee10f810e3f4618b8a6b745391f73d8b7d5959fa886",
      "check": {
       "sha256": "fd449b93afc2a9abe777cee10f810e3f4618b8a6b745391f73d8b7d5959fa886",
       "bytes": 701140,
       "githubSha": true,
       "loader": false,
       "package": false,
       "identity": null,
       "sizeOk": true,
       "ok": false,
       "says": "Not recognised as an FM-1 update package"
      }
     }
    ],
    "date": "2026-08-14",
    "title": "SMK-37 Pro v15 S1-C6 Reset Signature Isolation (flash-verified 2026-08-14)",
    "notes": "## SMK-37 Pro v15 S1-C6 Reset Signature Isolation (flash-verified 2026-08-14)\n\n최근 실기기 flashing에 성공·검증된 펌웨어입니다 (2026-08-14, 표시 마커 S16).\n\n## 내용\n• 기반: 공식 v15(SMK-37 Pro_015) · 부모 S1C5-marked (playback register return 보존, selector/producer core byte-for-byte 보존)\n• 기능: 16개 Pad 각각에 Yamaha DX7 single-voice SysEx 적재 + Pad별 Playback Note(내부 Ch10 신스 발음 음높이) 인코딩\n• 변경점 (S1C5 대비): 리셋 검출 분리 — 프로듀서 reset wrapper가 검사하던 음성 데이터 시그니처(stage[0..1] == 62 63)를, 구조적 불가능 시그니처 0x64 0x65(DX7 EG rate 범위 0..99 초과 — 유효한 보이스에 존재 불가)로 교체하고 명시적 리셋 패킷(리셋은 보이스로 적재하지 않음) 프로토콜(리셋 1 + 보이스 16 = 17패킷)을 도입\n• 효과: ① FM Drum 키트의 HITUN RIMS(62 63)·LONG TOM(63 63) 보이스가 리셋으로 오인되던 로드 붕괴 해소 ② 전원 사이클 없이 적재된 키트 위 재로드 가능 ③ 임의 Playback Note(36..51 drum-map) 허용 — FM Drum identity-safe 제한 해제\n• 동작 방식: 16-slot volatile RAM transaction → 재부팅 후에는 웹 에디터로 재전송 필요 (에디터는 리셋 패킷 선행 17개 전송, S16 전용)\n\n## 실기기 검증 (2026-08-14)\n• OTA: check(양성 PASS + S1C5 음성 REJECT) → upload --confirm INSTALL-SMK37PRO-V15-S1C6-RESET-SIG-FD449B93 성공 (stage-1 요청 1290개 완주 + completion ack, post-update identity 응답 확인)\n• 재로드 회귀: all-C4 17패킷 → 전원 사이클 없이 FM 키트 17패킷 재전송, 에러 0 → FM 키트 재로드 성공\n• FM requested map(36..51) 16음 전부 의도한 드럼 음색 확인 (HITUN RIMS/LONG TOM 충돌 보이스 포함)\n• 에디터 RESET_PACKET(wire 6..7 = 64 65, byte 161 = 0) live 검증 패킷과 바이트 동일, 테스트 14/14\n\n## 파일\n\n파일\nSHA-256\n\nSMK37Pro-v15-S1C6-reset-signature-isolation-S16-marked.fwsc\nfd449b93afc2a9abe777cee10f810e3f4618b8a6b745391f73d8b7d5959fa886\n\napp.bin\n312790c080f6fcead69eccd84edf2c608ef3fa7e772455d781ab086dafed44b1\n\nota-v15-s1c6-reset-sig-20260814.log\n실기기 OTA transcript (완주 + completion ack)\n\n## 설치\n\nOTA 업로더는 정확한 SHA-256 게이트로만 허용합니다:\n\nexact_ota upload SMK37Pro-v15-S1C6-reset-signature-isolation-S16-marked.fwsc <transcript.log> \\\n--confirm INSTALL-SMK37PRO-V15-S1C6-RESET-SIG-FD449B93\n\nS1C5 이하 펌웨어에서는 17패킷(리셋 선행) 프로토콜이 동작하지 않습니다\n\n(리셋 패킷이 보이스로 오인됨). 에디터의 리셋 선행 전송은 S16 전용입니다.\n\n## 관련 문서\n• 연구·계획: docs/playback-note-safety-plan.md (루트 원인: 리셋 시그니처 콜리전, Phase 1–2 완료)\n• 현황: docs/v15-s1c-status.md"
   },
   "commit": {
    "date": "2026-10-13",
    "title": "Install official v16 through Tool 4.0, and correct the records that b…",
    "url": "https://github.com/acidsound/smk37pro-acidsound-mod/commit/519b1f62c547c9e9def8eef2ababa7f4bde3b007"
   },
   "stars": 1,
   "created": "2026-08-12",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/acidsound~smk37pro-acidsound-mod.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "boot",
    "home",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "scl",
    "scl-hold",
    "edit-hold",
    "glo-hold"
   ]
  },
  {
   "links": [],
   "name": "SMK-37 Pro Custom Mod",
   "repo": "amalahama/smk37-firmware-custom-mod",
   "by": "amalahama",
   "fam": "patch",
   "lic": "MIT",
   "about": "M-Vave's SMK-37 Pro firmware, modified: Woovebox 3.0 BLE-MIDI and low-latency DAW fixes; a flasher and an ASIO driver. For the M-Vave SMK-37 keyboard, not the FM-1.",
   "bt": "midi",
   "btHow": "The SMK-37's own, kept and patched.",
   "board": "smk37",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v022",
    "url": "https://github.com/amalahama/smk37-firmware-custom-mod/releases/tag/v022",
    "assets": [
     {
      "name": "BLE_EXTENDED_PATCH.txt",
      "url": "https://github.com/amalahama/smk37-firmware-custom-mod/releases/download/v022/BLE_EXTENDED_PATCH.txt",
      "size": 12288,
      "sha256": "d67e5abb1112e667d61041a4f48ade3075f8218e1ff32dc1e86c56f22789c24f"
     },
     {
      "name": "SMK-37_Pro_custom_022.fwsc",
      "url": "https://github.com/amalahama/smk37-firmware-custom-mod/releases/download/v022/SMK-37_Pro_custom_022.fwsc",
      "size": 705536,
      "sha256": "fe51c1c6eba90dc9aabe40900457aa1c1ddb3d9c32391335b1aceaded1d2035f",
      "check": {
       "sha256": "fe51c1c6eba90dc9aabe40900457aa1c1ddb3d9c32391335b1aceaded1d2035f",
       "bytes": 705252,
       "githubSha": true,
       "loader": false,
       "package": false,
       "identity": null,
       "sizeOk": true,
       "ok": false,
       "says": "Not recognised as an FM-1 update package"
      }
     },
     {
      "name": "SMK-37_Pro_custom_v022_flasher.zip",
      "url": "https://github.com/amalahama/smk37-firmware-custom-mod/releases/download/v022/SMK-37_Pro_custom_v022_flasher.zip",
      "size": 687104,
      "sha256": "80fcfbdce2b6d30ae53ee87962ef7137c6c7f4ef3529926765ef942cc4052095"
     },
     {
      "name": "smk_ota_win.py",
      "url": "https://github.com/amalahama/smk37-firmware-custom-mod/releases/download/v022/smk_ota_win.py",
      "size": 21504,
      "sha256": "b023e1ba750438ec920df361bba3a5d32fdf780aff7bf28b5bcb81bdfaa1fdcb"
     }
    ],
    "date": "2026-10-03",
    "title": "M-VAVE SMK-37 Pro Custom Firmware v022 (Woovebox BLE & DAW Fix)",
    "notes": "## M-VAVE SMK-37 Pro Custom Firmware v022\n\nCustom firmware modification for the M-VAVE SMK-37 Pro MIDI controller keyboard (JieLi AC791N SoC) that resolves Bluetooth Low Energy (BLE) pairing and continuous note transmission with embedded host grooveboxes/synthesizers (especially Woovebox 3.0 in hoSt bLE mode) and provides rock-solid DAW stability.\n\n## 📦 Downloads\n• SMK-37_Pro_custom_v022_flasher.zip: Complete one-click flasher package for Windows (includes firmware, batch runner, Python flasher, and guides).\n• SMK-37_Pro_custom_022.fwsc: Standalone custom firmware binary.\n• smk_ota_win.py: Standalone zero-dependency Python USB-MIDI OTA flasher.\n• BLE_EXTENDED_PATCH.txt: Detailed architecture specification of all assembly patches.\n\n## 🚀 Quick Flashing Guide (Windows)\n• Connect your SMK-37 Pro keyboard to your PC via USB cable.\n• Close all DAWs (Ableton, FL Studio, Reaper) or MIDI utilities.\n• Unzip SMK-37_Pro_custom_v022_flasher.zip and double-click flash_v022.bat.\n• Wait ~15 seconds until the flashing reaches 100% and the keyboard reboots.\n\n## 🔍 Technical Patches in v022\n• Patch 1 (Secondary Advertising Suppression, Offset 0x0013D2): NOPs out the secondary BLE advertising trigger upon CCCD notification subscription, eliminating RF channel 37/38/39 collision bursts and reconnect loops.\n• Patch 2 (Supervision Timeout & Connection Parameters, Offset 0x05839E): Increased supervision timeout from 1,000 ms to 4,000 ms with relaxed connection intervals (7.5-20 ms / 15-30 ms), tolerating ESP32 scheduling jitter without link drops.\n• Patch 3 (SMP \"Just Works\" Bonding, Offsets 0x087446, 0x08758A, 0x0875C4): Configured auth_req = 0x01 (Bonding enabled without MITM), IO_CAP = 3 (NoInputNoOutput), and removed mandatory Secure Connections for full BLE 4.0/4.2 compatibility.\n• Patch 4 (Unconditional BLE-MIDI Notifications, Offset 0x000AEE): Bypasses the CCCD descriptor check in the MIDI note transmit gateway (0x02000AD4), guaranteeing notes are never silenced if the Central skips re-writing descriptor 0x2902 on reconnection.\n• Patch 5 (Clean Unique MAC Address Generation, Offsets 0x0035CE, 0x003668): Redirects Flash VM MAC key from 102 to 108, generating a fresh, clean Bluetooth address to bypass stale/corrupt bond caches in host devices.\n• Patch 6 (Version Bump & Container Integrity): Bumped internal strings and container markers to SMK-37 Pro_022, re-encrypted JLFS App Area with SFC chipkey 0x980F, and recalculated all CRCs.\n\n## 🎹 Verified Integrations\n• Woovebox 3.0: Verified in hoSt bLE (4/Ar track mode). Immediate connection, solid BT LED, real-time note response with near-zero latency.\n• USB MIDI & DAWs: Verified with Ableton Live, Reaper, Logic with dynamic velocity tracking (25-93) across all 37 keys and zero stuck notes.\n• Official M-VAVE App: 100% backward compatible (proprietary advertising descriptor preserved)."
   },
   "commit": {
    "date": "2026-10-03",
    "title": "docs: translate all documentation, guides, and plans to English",
    "url": "https://github.com/amalahama/smk37-firmware-custom-mod/commit/9d5614590be7d2d05fd931ede3e7d0228d23cd26"
   },
   "stars": 11,
   "created": "2026-10-03",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/amalahama~smk37-firmware-custom-mod/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "boot",
    "home",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo-hold"
   ],
   "imagePick": true
  },
  {
   "links": [],
   "name": "SMK-37 Pro FL Studio port",
   "repo": "kritonpc/smk37-pro-fl-port",
   "by": "kritonpc",
   "fam": "patch",
   "lic": "MIT",
   "board": "smk37",
   "experimental": true,
   "about": "M-Vave's SMK-37 Elite V016 firmware repackaged for the SMK-37 Pro, with FL Studio controller profiles.",
   "note": "A binary transplant of M-Vave's own application, shown on one unit; no turnkey flasher (the test used a restricted community loader). For the SMK-37, not the FM-1.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.1.2-experimental",
    "url": "https://github.com/kritonpc/smk37-pro-fl-port/releases/tag/v0.1.2-experimental",
    "assets": [
     {
      "name": "INSTALL.txt",
      "url": "https://github.com/kritonpc/smk37-pro-fl-port/releases/download/v0.1.2-experimental/INSTALL.txt",
      "size": 1219,
      "sha256": "6f8bc890b74379f8807d137f82178739b074c5b0f65e2adcfdada169c2eebf0f"
     },
     {
      "name": "SHA256SUMS.txt",
      "url": "https://github.com/kritonpc/smk37-pro-fl-port/releases/download/v0.1.2-experimental/SHA256SUMS.txt",
      "size": 282,
      "sha256": "43605d02945fd5a105e3329e0527fa6cf5b609c83cdfe1f35c677ce558a32bee"
     },
     {
      "name": "SMK-37_Pro_FL_experimental_916.fwsc",
      "url": "https://github.com/kritonpc/smk37-pro-fl-port/releases/download/v0.1.2-experimental/SMK-37_Pro_FL_experimental_916.fwsc",
      "size": 705536,
      "sha256": "fa7c2a9f3ca173f608e8afd54c9190b9cec82af6cae76d9acbea3de0c9124726",
      "check": {
       "sha256": "fa7c2a9f3ca173f608e8afd54c9190b9cec82af6cae76d9acbea3de0c9124726",
       "bytes": 705252,
       "githubSha": true,
       "loader": false,
       "package": false,
       "identity": null,
       "sizeOk": true,
       "ok": false,
       "says": "Not recognised as an FM-1 update package"
      }
     },
     {
      "name": "SMK-37_Pro_FL_experimental_916.json",
      "url": "https://github.com/kritonpc/smk37-pro-fl-port/releases/download/v0.1.2-experimental/SMK-37_Pro_FL_experimental_916.json",
      "size": 1270,
      "sha256": "ebdd1023868294489001e32b44f36b397ca2efd277cabd37a4fc4e4f296fcf8f"
     }
    ],
    "prerelease": true,
    "date": "2026-10-15",
    "title": "v0.1.2-experimental: gradual knob control",
    "notes": "## v0.1.2-experimental: gradual knob control\n\nFixes knobs driving volume or pan straight to the limits. The earlier converter wrote 240 in the second encoder-record field, producing excessive relative MIDI messages. The corrected value is 2, matching the inspected Elite FL defaults, in both knob banks.\n\nThe owner confirmed gradual Cha Mode volume and Seq Mode volume/pan on knobs 1 and 2. The full corrected profile was read back and verified. Remaining controls and compatibility limits are recorded in docs/VALIDATION.md.\n\n## Upgrade from build 916\n\nUpdate your source tools, make a fresh profile backup and apply the corrected profile using docs/FL-STUDIO.md. Existing v0.1.1 FL scripts need no changes. No firmware reflash is required. Keep the documented MIDI input routing.\n\nCha Mode assigns all eight knobs to channel volumes. Seq Mode assigns knob 1 to selected-channel volume and knob 2 to pan.\n\nNew installations should follow docs/SETUP.md. Firmware build 916 is unchanged; its firmware, manifest, checksums and installation notice are attached. The installer remains an advanced procedure without a portable hardware-validated turnkey flasher.\n\nAttribution and licensing remain in THIRD_PARTY.md. Support Kriton Georgiou on Ko-fi."
   },
   "commit": {
    "date": "2026-10-15",
    "title": "fix: correct relative encoder field to prevent knob jumps",
    "url": "https://github.com/kritonpc/smk37-pro-fl-port/commit/d2cb2bdc05c2a42c31a15a1c39f2cc541f4d71e0"
   },
   "stars": 1,
   "created": "2026-10-15",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/screens/kritonpc~smk37-pro-fl-port/home.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "screens": [
    "boot",
    "home",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "lfo-hold",
    "arp",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo-hold"
   ]
  },
  {
   "links": [],
   "name": "Aquanode soundscapes",
   "repo": "aquanodemusic/aquanode-soundscapes",
   "by": "aquanodemusic",
   "fam": "tool",
   "lic": "CC0-1.0",
   "type": "presets",
   "about": "Free synth presets (Vital, Dexed and more); its DX7 SysEx banks, its own sounds and remakes of Ekhozone's Infinite Cycles, go onto the FM-1 through a DX7 bank editor (FM1 Editor & Librarian bundles 11 of them).",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-09-20",
    "title": "Update README.md",
    "url": "https://github.com/aquanodemusic/aquanode-soundscapes/commit/f0e59287c9991038f688c5e7457db77117638124"
   },
   "stars": 14,
   "created": "2026-07-19",
   "image": "https://raw.githubusercontent.com/aquanodemusic/aquanode-soundscapes/HEAD/assets/Banner.png",
   "images": [
    "https://raw.githubusercontent.com/aquanodemusic/aquanode-soundscapes/HEAD/assets/Banner.png",
    "https://raw.githubusercontent.com/aquanodemusic/aquanode-soundscapes/HEAD/fl-studio/aquanode-resonator/assets/Icon.webp",
    "https://raw.githubusercontent.com/aquanodemusic/aquanode-soundscapes/HEAD/fl-studio/automorph-eq/assets/Icon.webp",
    "https://raw.githubusercontent.com/aquanodemusic/aquanode-soundscapes/HEAD/fl-studio/d3lt4-creative-polarity-inverter/assets/Icon.webp",
    "https://raw.githubusercontent.com/aquanodemusic/aquanode-soundscapes/HEAD/plugdata/bandpass-modulator/assets/Icon.webp",
    "https://raw.githubusercontent.com/aquanodemusic/aquanode-soundscapes/HEAD/vital/assets/Icon.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Web app",
     "https://quixotic7.github.io/MvaveFM1-Designer/"
    ]
   ],
   "name": "ChoralRoot FM-1 designer",
   "repo": "Quixotic7/MvaveFM1-Designer",
   "by": "Quixotic7",
   "fam": "tool",
   "lic": "MIT",
   "type": "library",
   "about": "A web tool for designing FM-1 panel states and screen mock-ups (LEDs, knob jobs, screens), with a JSON format.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://quixotic7.github.io/MvaveFM1-Designer/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-09",
    "title": "Looper PLAY menu kinds: loopmenu, slots, timeline, steps; the looper …",
    "url": "https://github.com/Quixotic7/MvaveFM1-Designer/commit/0ecd189b7b3a2ef8d147cda6cbf13f2ac73f3fa6"
   },
   "stars": 6,
   "created": "2026-10-07",
   "image": "https://media.githubusercontent.com/media/Quixotic7/MvaveFM1-Designer/HEAD/docs/choralroot-fm1-screens.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesOff": [
    {
     "url": "https://raw.githubusercontent.com/Quixotic7/MvaveFM1-Designer/HEAD/docs/choralroot-fm1-screens.png",
     "why": "a Git LFS pointer: its file is on media.githubusercontent.com",
     "to": "https://media.githubusercontent.com/media/Quixotic7/MvaveFM1-Designer/HEAD/docs/choralroot-fm1-screens.png"
    }
   ],
   "imagesSeen": 1,
   "images": [
    "https://media.githubusercontent.com/media/Quixotic7/MvaveFM1-Designer/HEAD/docs/choralroot-fm1-screens.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Quixotic7~MvaveFM1-Designer.jpg"
   ]
  },
  {
   "links": [
    [
     "Web app",
     "https://zisonzishen0415-stack.github.io/sloop-consort/"
    ]
   ],
   "name": "Consort",
   "repo": "zisonzishen0415-stack/sloop-consort",
   "by": "zisonzishen0415-stack",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "app",
   "about": "An Android companion for SLOOP 2.7: sample recording and upload, punch-in FX pads, project backups and themes.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://zisonzishen0415-stack.github.io/sloop-consort/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.9.4-20261019",
    "url": "https://github.com/zisonzishen0415-stack/sloop-consort/releases/tag/v0.9.4-20261019",
    "assets": [
     {
      "name": "consort.apk",
      "url": "https://github.com/zisonzishen0415-stack/sloop-consort/releases/download/v0.9.4-20261019/consort.apk",
      "size": 541696,
      "sha256": "60a576e70a4b5618f75fa9e17c5d2d1f4242dfd0a0761c74a07c0a6b4d8306d3"
     }
    ],
    "date": "2026-10-19",
    "title": "Consort 0.9.4 — web / iOS mode (2026-10-19)",
    "notes": "Consort 0.9.4 — 2026-10-19\n• Web / iOS mode: the same page runs in a browser with a file library (IndexedDB), Web MIDI transport, sampler save, song/backup save, share/download and the full-song offline renderer. It is installable as a PWA.\n• Web MIDI (navigator.requestMIDIAccess) replaces the Android bridge in browsers: sampler upload, FX, themes, songs and backups work when the browser exposes CoreMIDI/USB MIDI.\n• Safari/iOS has no Web MIDI, so the FM-1 connection needs a Web-MIDI-capable iOS browser (for example MIDIWeb or Midi浏览器). Offline render and the file library work in Safari without it.\n• A native iOS app (CoreMIDI + UIDocumentPicker/ShareSheet) still requires macOS/Xcode and is not built here.\n• APK 541,864 B. Debug-signed (not a Play Store build); Android 6.0+ (minSdk 23), USB host / OTG for the FM-1."
   },
   "commit": {
    "date": "2026-10-19",
    "title": "Refresh the screenshots for 0.9.6",
    "url": "https://github.com/zisonzishen0415-stack/sloop-consort/commit/af74b1bf6bed6d915c37a574b06ccf31a582d6a6"
   },
   "stars": 3,
   "created": "2026-10-17",
   "image": "https://raw.githubusercontent.com/zisonzishen0415-stack/sloop-consort/HEAD/docs/screenshots/sampler.jpg",
   "images": [
    "https://raw.githubusercontent.com/zisonzishen0415-stack/sloop-consort/HEAD/docs/screenshots/sampler.jpg",
    "https://raw.githubusercontent.com/zisonzishen0415-stack/sloop-consort/HEAD/docs/screenshots/fx.jpg",
    "https://raw.githubusercontent.com/zisonzishen0415-stack/sloop-consort/HEAD/docs/screenshots/songs.jpg",
    "https://raw.githubusercontent.com/zisonzishen0415-stack/sloop-consort/HEAD/docs/screenshots/settings.jpg",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/zisonzishen0415-stack~sloop-consort.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "dx7toFM1",
   "repo": "s0fx2/YamahaDX7_to_FM-1",
   "by": "s0fx2",
   "fam": "tool",
   "type": "app",
   "lic": "GPL-3.0",
   "about": "A Python script that splits a DX7 32-voice bank (.syx) into single-voice files the FM-1's firmwares can import.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-21",
    "title": "Add dx7toFM1: split DX7 32-voice banks into single-voice .syx files",
    "url": "https://github.com/s0fx2/YamahaDX7_to_FM-1/commit/21e3e26c0add9b3eeb8432600138c7d6e86bac91"
   },
   "stars": 1,
   "created": "2026-10-21",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "Falua",
   "repo": "ehn96/Falua",
   "by": "ehn96",
   "fam": "tool",
   "type": "plugin",
   "lic": "GPL-3.0",
   "about": "A VST3 / AU plugin and standalone app running JIANT's sound engines, compiled unchanged; v0.1 plays ANALOG.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-10",
    "title": "Falua v0.1",
    "url": "https://github.com/ehn96/Falua/commit/73fc26cf0a6c3116decd5c337d83650782db3d7a"
   },
   "stars": 0,
   "created": "2026-10-10",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "Felucca for tuttidaw",
   "repo": "weavejam/Felucca",
   "by": "weavejam",
   "fam": "tool",
   "type": "plugin",
   "lic": "GPL-3.0",
   "about": "Felucca's browser emulator as a tuttidaw plugin: renders Felucca's song or MIDI offline into a mix and four stems.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v1.6.1",
    "url": "https://github.com/weavejam/Felucca/releases/tag/v1.6.1",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-14",
    "title": "v1.6.1: Felucca 1.6.1",
    "notes": "MENU > LARGE keeps one size per knob (hugelton#251): each knob shows all its\n\nvalues in the size its longest value fits, so a value no longer jumps\n\nbetween sizes while it is turned. No new fonts.\n\nUpdates check the package's size on the device: the update entry and the\n\nupdate loader take only a package whose firmware area is exactly the\n\nFM-1's. Another device's package is refused before anything is erased\n\n(the update screen shows FAILED -15; the loader answers -14).\n\nSecond core (beta, PR hugelton#247): MENU > SYSTEM > 2ND CORE, OFF by default.\n\nON (BETA) applies from the next power-on: the second core renders some\n\nof the four parts of each block, bit for bit the one-core sound. A unit\n\nwhose second core misreads goes on with one core and sets it back to\n\nOFF. FELUCCA_CPU2=0 builds none of it. Start, mailbox and guards from\n\nX0X (with Melodee's dual-core findings), the split and hardening after\n\nJangada.\n\nFelucca-Engines: ANALOG, LOFI, TRIO, WHEEL and NOISE, the engine\n\ninterface, the shared DSP helpers and their table generator move to\n\nhttps://github.com/hugelton/Felucca-Engines under the MIT licence,\n\nincluded as the git submodule firmware/engines. The firmware stays\n\nGPL-3.0-only; clone with --recurse-submodules. The sound is unchanged\n\n(the same golden renders); the engines' own tests run with Felucca's.\n\nCo-authored-by: Кирилл Сапфиров gospodindilly@gmail.com"
   },
   "commit": {
    "date": "2026-10-25",
    "title": "ci: deploy the sites to vm-tuttidaw-sg's Caddy (China reachability) (…",
    "url": "https://github.com/weavejam/Felucca/commit/a4a4a6d0b77ed7251f7fb475672a8ac8a9ef6b8e"
   },
   "stars": 0,
   "created": "2026-10-21",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "parent": "hugelton/Felucca"
  },
  {
   "links": [],
   "name": "Felucca SysEx editor",
   "repo": "hunterxiong2026/fm1-felucca-editor-2026",
   "by": "hunterxiong2026",
   "fam": "tool",
   "lic": "MIT",
   "type": "editor",
   "status": "Written for Felucca 1.5, on Windows (winmm).",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v1.3.0",
    "url": "https://github.com/hunterxiong2026/fm1-felucca-editor-2026/releases/tag/v1.3.0",
    "assets": [],
    "date": "2026-10-13",
    "title": "v1.3.0 — Felucca v1.5 Support",
    "notes": "## v1.3.0 — Felucca v1.5 Support\n\n适配 FELUCCA v1.5 固件，参数体系与协议层全面更新。\n\n## ⚠️ Breaking Changes\n\n参数 ID 大幅移位——v1.1.5.1 时代的 ANALOG EDIT 脚本需按新 ID 修正：\n\n区段\nv1.1.5.1（旧）\nv1.5（新）\n\n91-100\nWAVE/DTN/MIX/NOIS/CUT/RES/DRV/KTR\nSYNC/TRIG/POL/QNTZ/SPRD/INSRT/INS A/INS B/INS C/MIX\n\n101-110\n—\nANALOG EDIT 新位置（TYPE/ESYNC/WAVE/DTN/MIX/NOIS/CUT/RES/DRV/KTR）\n\n写 CUT=95 会写进 SPRD（音色变宽）；写 RES=96 会写进 INSRT（无共鸣）。\n\n必须用新 ID：WAVE=103 DTN=104 CUT=107 RES=108 DRV=109 KTR=110。\n\n## 新增\n• INFO：pcount 99 → 111；pe0 91 → 103\n• DIV 枚举：8 个 → 10 个（新增 2BAR、4BAR）\n• ANALOG WAVE 枚举：5 个 → 7 个（新增 SYNC、SUB）\n• 滤波器 TYPE：新增（LP/BP/HP）\n• TRACK_DUMP(29) v1.5 起有效：[tr, engine, preset, (hi, lo) × 111]，高字节在前\n• TRACK [] 空参：返回全部 4 轨 engine/preset/LVL\n\n## 增强（scripts/felucca_link.py）\n• find_felucca(name=None)：设备名关键字可配置，默认 'felucca'\n• 支持 FELUCCA_MIDI_NAME 环境变量精确指定设备\n• 多候选设备时逐台探测 INFO：自动跳过 SLOOP，选非 SLOOP 的 Felucca\n• 报错信息包含全部现有 MIDI 端口\n\n## 文档重组\n• 新增 reference/protocol.md：帧格式 / 命令表 / STEP·SONG 布局 / INFO 解析 / 直连坑\n• 新增 reference/params.md：111 轨道参数 + 27 全局参数 + 全部枚举（权威）\n• 新增 reference/arrangement-metrics.md：编曲质量指标\n• reference/sysx-map.md：更新至 v1.5\n• README.md：从 changelog 拷贝重写为项目说明\n• SKILL.md：version → 1.3.0\n\n## 环境要求\n\n项目\n要求\n\n硬件\nM-VAVE FM-1\n\n固件\nFELUCCA v1.5\n\n运行时\nPython 3.10+\n\n平台\nWindows（依赖 winmm.dll）\n\n## 已知限制\n• 仅 Windows\n• 多行链 repeat>1 不稳（单遍链稳定）\n• INSERT 效果 A/B/C 参数含义未完全逆向\n• SYNC / TRIG / POL / QNTZ / SPRD 参数范围待完整校准"
   },
   "commit": {
    "date": "2026-10-13",
    "title": "docs: README 原作者支持段",
    "url": "https://github.com/hunterxiong2026/fm1-felucca-editor-2026/commit/937d395f36f9e3ed035fe74fafcb7564ddd6f11e"
   },
   "stars": 4,
   "created": "2026-10-06",
   "about": "M-VAVE FM-1 synthesizer control via SysEx (Felucca firmware)",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "felucca-try",
   "repo": "spinkham/felucca-try",
   "by": "spinkham",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "emulator",
   "status": "Its page answered 404 on 2026-10-19; its MIDI knob control (CC 20–27) has been in Felucca's own browser emulator since 1.6, and it runs Felucca 1.5.1.",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-10",
    "title": "Felucca v1.5.1 emulator, MIDI knobs opt-in with relative modes",
    "url": "https://github.com/spinkham/felucca-try/commit/ac3ba1b58c5b7e8b53ebc15ae9e8420de59c7f79"
   },
   "stars": 0,
   "created": "2026-10-08",
   "about": "Felucca (FM-1 firmware) browser emulator with MIDI knob control - unofficial build",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "Flipper FM-1 recovery",
   "repo": "merthsoft/flipper-fm1-recovery",
   "by": "merthsoft",
   "fam": "tool",
   "lic": "Unlicense",
   "type": "recovery",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-09",
    "title": "Add Flipper boot recovery and guarded Windows firmware restoration",
    "url": "https://github.com/merthsoft/flipper-fm1-recovery/commit/df88b862a4794855f792fed529629a255cba0a0e"
   },
   "stars": 6,
   "created": "2026-10-09",
   "about": "Recover your MVAVE FM-1 using a Flipper Zero",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "FM-1 banks",
   "repo": "mene311/fm1-banks",
   "by": "mene311",
   "fam": "tool",
   "lic": "MIT",
   "type": "presets",
   "about": "26 themed banks of 32 DX7 voices for the FM-1 (synthwave, acid, drums, ambient...), with a sender script.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-09-29",
    "title": "Resolve patch origin through the derived _Best_Of layer",
    "url": "https://github.com/mene311/fm1-banks/commit/f47b11b9035be0dfe7f899aec90798dccbcde9ee"
   },
   "stars": 18,
   "created": "2026-09-29",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/mene311~fm1-banks.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Emulator",
     "https://shcherbakov7.github.io/m-wave-fm1-browser-emulator/"
    ]
   ],
   "name": "FM-1 browser emulator",
   "repo": "shcherbakov7/m-wave-fm1-browser-emulator",
   "by": "shcherbakov7",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "emulator",
   "about": "Runs unmodified FM-1 firmware packages in the browser: a Rust / WebAssembly chip emulator built on fm1-emulator.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-09",
    "title": "Limit live translated blocks on WebKit (#6)",
    "url": "https://github.com/shcherbakov7/m-wave-fm1-browser-emulator/commit/056621b0c3187e6712326ef854d0a78ed9605600"
   },
   "stars": 2,
   "created": "2026-10-08",
   "image": "https://raw.githubusercontent.com/shcherbakov7/m-wave-fm1-browser-emulator/HEAD/docs/panel.png",
   "images": [
    "https://raw.githubusercontent.com/shcherbakov7/m-wave-fm1-browser-emulator/HEAD/docs/panel.png",
    "https://raw.githubusercontent.com/shcherbakov7/m-wave-fm1-browser-emulator/HEAD/docs/compatibility.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/shcherbakov7~m-wave-fm1-browser-emulator.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "FM-1 emulator (hdavid fork)",
   "repo": "hdavid/fm1-emulator",
   "by": "hdavid",
   "fam": "tool",
   "type": "emulator",
   "lic": "GPL-3.0",
   "about": "simonjohansson's Rust FM-1 emulator as a desktop app for macOS, Windows and Linux, faster, with USB-MIDI and audio.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "commit-8265d46573664fe3df1c57c5d031d5f9da783013",
    "url": "https://github.com/hdavid/fm1-emulator/releases/tag/commit-8265d46573664fe3df1c57c5d031d5f9da783013",
    "assets": [
     {
      "name": "emulator-linux-amd64.tar.gz",
      "url": "https://github.com/w0ts/fm1-emulator/releases/download/commit-8265d46573664fe3df1c57c5d031d5f9da783013/emulator-linux-amd64.tar.gz",
      "size": 4477420,
      "sha256": "abf9ea98bf03dc685ff5b7321b137ba4778331861354e20abf4fe773dd821999"
     },
     {
      "name": "emulator-linux-arm64.tar.gz",
      "url": "https://github.com/w0ts/fm1-emulator/releases/download/commit-8265d46573664fe3df1c57c5d031d5f9da783013/emulator-linux-arm64.tar.gz",
      "size": 4404019,
      "sha256": "2c58ec223f384f2032b48bf22d5fb274318b221a95045eb6ac73ca9b2cec75da"
     },
     {
      "name": "emulator-macos-arm64.zip",
      "url": "https://github.com/w0ts/fm1-emulator/releases/download/commit-8265d46573664fe3df1c57c5d031d5f9da783013/emulator-macos-arm64.zip",
      "size": 3439329,
      "sha256": "fd746c47df9d70fb7775844bed1be479ac450c1c6559330c47a024f139957dac"
     },
     {
      "name": "emulator-windows-amd64.zip",
      "url": "https://github.com/w0ts/fm1-emulator/releases/download/commit-8265d46573664fe3df1c57c5d031d5f9da783013/emulator-windows-amd64.zip",
      "size": 2998927,
      "sha256": "7fd1fa40b82f63a802d7846294534537b4a96ea67a0e8a09f448788d4d53e04e"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/w0ts/fm1-emulator/releases/download/commit-8265d46573664fe3df1c57c5d031d5f9da783013/SHA256SUMS",
      "size": 372,
      "sha256": "927fdf19f274cfa0cf9948ba752bf33b6cbf667a3c67cd9c3f48303a7f46ac44"
     }
    ],
    "prerelease": true,
    "date": "2026-10-31",
    "title": "Commit 8265d4657366",
    "notes": "Native emulator builds for commit 8265d46573664fe3df1c57c5d031d5f9da783013.\n\nAll four platforms passed the core/GUI tests and the pinned Felucca 0.9-beta boot and note-rendering test. Firmware is not included.\n\nExtract the archive for your platform and start the app (FM-1 Emulator.app on macOS, emulator.exe on Windows, emulator on Linux). It opens with a Load firmware button for a .fwsc, .elf or .bin file; a firmware path on the command line still works. The macOS app is not signed by Apple: see the repository README for the first launch. Current limitations are in the README too."
   },
   "commit": {
    "date": "2026-10-31",
    "title": "test: panel_stress example, seeded random key taps and encoder detent…",
    "url": "https://github.com/w0ts/fm1-emulator/commit/8265d46573664fe3df1c57c5d031d5f9da783013"
   },
   "stars": 5,
   "created": "2026-10-07",
   "image": "https://raw.githubusercontent.com/hdavid/fm1-emulator/HEAD/docs/felucca.jpg",
   "upstream": {
    "prs": [
     {
      "repo": "simonjohansson/fm1-emulator",
      "pr": 9,
      "state": "closed",
      "at": "2026-10-09",
      "title": "Panel UI: knobs, MASTER, host audio, LEDs, colour themes, button keys and remembered settings"
     },
     {
      "repo": "simonjohansson/fm1-emulator",
      "pr": 10,
      "state": "closed",
      "at": "2026-10-09",
      "title": "CPU: compiler forms of Felucca, Jangada and SLOOP, divide trap, float compare-branches, cycle counters"
     },
     {
      "repo": "simonjohansson/fm1-emulator",
      "pr": 11,
      "state": "closed",
      "at": "2026-10-09",
      "title": "Devices and I/O: USB-MIDI host and web editor bridge, UART MIDI IN, USB audio host, nested interrupts, Baud Girl's voice"
     },
     {
      "repo": "simonjohansson/fm1-emulator",
      "pr": 12,
      "state": "closed",
      "at": "2026-10-09",
      "title": "Speed: event-scheduled devices and idle skip, a leaner interpreter loop, spin-loop skip, profiler"
     }
    ],
    "says": "| Closed upstream PR | Group | | --- | --- | | #9 | UI: knobs, MASTER, host audio, LEDs, themes, computer keys, remembered settings | | #10 | CPU: compiler forms, divide trap, float compare-branches, cycle counters | | #11 | Devices:…"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "parent": "simonjohansson/fm1-emulator",
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Web app",
     "https://grandsummoner.github.io/fm-1-helper/FM-1%20Helper.html"
    ]
   ],
   "name": "FM-1 Helper",
   "repo": "Grandsummoner/fm-1-helper",
   "by": "Grandsummoner",
   "fam": "tool",
   "lic": "?",
   "type": "editor",
   "about": "A web tool to sort DX7 SysEx voices into the FM-1's four banks and send them over Web MIDI.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://grandsummoner.github.io/fm-1-helper/FM-1%20Helper.html",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-07-08",
    "title": "Update README.md",
    "url": "https://github.com/Grandsummoner/fm-1-helper/commit/7a5932662a92ef8fe0e8f6938325e7dabc6dfa99"
   },
   "stars": 4,
   "created": "2026-07-08",
   "image": "https://raw.githubusercontent.com/Grandsummoner/fm-1-helper/HEAD/res/FM-1-Helper.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/Grandsummoner/fm-1-helper/HEAD/res/FM-1-Helper.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Grandsummoner~fm-1-helper.jpg"
   ]
  },
  {
   "links": [],
   "name": "FM-1 learning web",
   "repo": "itoyohane/fm1-learning-web",
   "by": "itoyohane",
   "fam": "tool",
   "lic": "?",
   "type": "guide",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-28",
    "title": "Update firmware guides and add bilingual JIANT documentation",
    "url": "https://github.com/itoyohane/fm1-learning-web/commit/1b4f7e26800ebfd46a69ab351202fd7e26e7bb62"
   },
   "stars": 0,
   "created": "2026-10-15",
   "about": "a web docs for learning Mwave FM1 and its different firmwares",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "FM-1 Pico recovery (guía en español)",
   "repo": "codeine4563-netizen/fm1-pico-recovery-guia-en-espa-ol-para-uso-de-raspberry-pi-pico-rp2040-",
   "by": "codeine4563-netizen",
   "fam": "tool",
   "type": "guide",
   "lic": "?",
   "about": "A Spanish step-by-step guide (PDF) to reviving a bricked FM-1 with a Raspberry Pi Pico, on Windows.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-21",
    "title": "Revise README for M-VAVE FM-1 recovery guide",
    "url": "https://github.com/codeine4563-netizen/fm1-pico-recovery-guia-en-espa-ol-para-uso-de-raspberry-pi-pico-rp2040-/commit/066f5eb1f9312c10bd7f77242bbfd07b0af48d98"
   },
   "stars": 1,
   "created": "2026-10-21",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Website",
     "https://mene311.github.io/fm1-pulses/"
    ]
   ],
   "name": "FM-1 Pulses (Baud Girl)",
   "repo": "mene311/fm1-pulses",
   "by": "mene311",
   "fam": "tool",
   "type": "app",
   "lic": "?",
   "about": "A browser generative sequencer that writes 16 patterns into an FM-1 on Baud Girl's firmware, or plays live over MIDI.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "mvp-1",
    "url": "https://github.com/mene311/fm1-pulses/releases/tag/mvp-1",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-04",
    "title": "mvp-1",
    "notes": "MVP: slider UI, engine frozen 2026-10-04"
   },
   "commit": {
    "date": "2026-10-13",
    "title": "notes: laptop path after the fm1/ tree move",
    "url": "https://github.com/mene311/fm1-pulses/commit/f81ae5d3746c1f0dea2baed9d867c0f975b0d411"
   },
   "stars": 4,
   "created": "2026-10-02",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/mene311~fm1-pulses.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Web app",
     "https://mene311.github.io/fm1-pulses-felucca/"
    ]
   ],
   "name": "FM-1 Pulses (Felucca)",
   "repo": "mene311/fm1-pulses-felucca",
   "by": "mene311",
   "fam": "tool",
   "lic": "?",
   "type": "app",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://mene311.github.io/fm1-pulses-felucca/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-13",
    "title": "The dest select now selects the track (not just the write target)",
    "url": "https://github.com/mene311/fm1-pulses-felucca/commit/1c09071e2019f24234c2a78810bb6f1ad8d42aa1"
   },
   "stars": 4,
   "created": "2026-10-13",
   "about": "FM-1 Pulses · Felucca — generative 64-step sequencer for the M-VAVE FM-1 running Felucca (editor protocol, piano roll, 4×4 project/track matrix)",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/mene311~fm1-pulses-felucca.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Web app",
     "https://charlesvestal.github.io/fm1-reader/"
    ]
   ],
   "name": "FM-1 Screen Reader",
   "repo": "charlesvestal/fm1-reader",
   "by": "charlesvestal",
   "fam": "tool",
   "lic": "MIT",
   "type": "app",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://charlesvestal.github.io/fm1-reader/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-11-05",
    "title": "README: OCA-1 0.9+ has the screen reader",
    "url": "https://github.com/charlesvestal/fm1-reader/commit/15355a6c76858f3c8141ec7bb7efb39195073fe1"
   },
   "stars": 1,
   "created": "2026-10-15",
   "about": "FM-1 Screen Reader: M-VAVE FM-1 firmwares say their screen in words, for a screen reader",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/charlesvestal~fm1-reader.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "FM-1 Studio",
   "repo": "thingsapart/fm1-studio",
   "by": "thingsapart",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "app",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.4",
    "url": "https://github.com/thingsapart/fm1-studio/releases/tag/v0.4",
    "assets": [
     {
      "name": "fm1-studio-v0.4-preview.apk",
      "url": "https://github.com/thingsapart/fm1-studio/releases/download/v0.4/fm1-studio-v0.4-preview.apk",
      "size": 4959764,
      "sha256": "ab785515248302261a04a471dd53d2c8ceed9bf5573b370ffd924c3b97f0ebdc"
     }
    ],
    "prerelease": true,
    "date": "2026-10-14",
    "title": "v0.4",
    "notes": "Some minor UI work - eg an \"FM-1 style\" view that mostly shows controls as they are on the real FM-1.\n\nMIDI and Jamjum JP-1 MIDI pad support."
   },
   "commit": {
    "date": "2026-10-14",
    "title": "Add Ghoulbox and ZP12 support, improve MIDI and JP-1 integration",
    "url": "https://github.com/thingsapart/fm1-studio/commit/76372746ca8579bb04eeaf67748adbb7c0b76d6d"
   },
   "stars": 2,
   "created": "2026-10-13",
   "about": "Run FM-1 firmwares SLOOP, FM1 MOVE, Felucca and sloopDX on Android, with native firmware displays, touch controls, a piano roll, sound editors.",
   "image": "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/09-landscape.png",
   "images": [
    "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/01-sloop-native.png",
    "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/02-sound-editor.png",
    "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/03-piano-roll.png",
    "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/04-chord-editor.png",
    "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/05-drum-grid.png",
    "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/06-drum-sound.png",
    "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/07-mixer.png",
    "https://raw.githubusercontent.com/thingsapart/fm1-studio/HEAD/docs/screenshots/08-performance.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [
    [
     "Installer",
     "https://hyruleanhero1988.github.io/FM-1-Swap/"
    ]
   ],
   "name": "FM-1 Swap",
   "repo": "HyruleanHero1988/FM-1-Swap",
   "by": "HyruleanHero1988",
   "fam": "tool",
   "type": "installer",
   "lic": "MIT",
   "about": "An Android app that installs FM-1 firmwares over USB MIDI, with V15 built in and an emulator to try a package first.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.6.2",
    "url": "https://github.com/HyruleanHero1988/FM-1-Swap/releases/tag/v0.6.2",
    "assets": [
     {
      "name": "before-you-start.jpg",
      "url": "https://github.com/HyruleanHero1988/FM-1-Swap/releases/download/v0.6.2/before-you-start.jpg",
      "size": 896000,
      "sha256": "dd23e3e1b1df345c4b2db42a07d09e2a300ce431d08dd33f14a18092bbdd118f"
     },
     {
      "name": "firmware-list.jpg",
      "url": "https://github.com/HyruleanHero1988/FM-1-Swap/releases/download/v0.6.2/firmware-list.jpg",
      "size": 669696,
      "sha256": "f102cd013b8488cfe31e9c17dc35a5d177b301283130993b3dc711de21093fa1"
     },
     {
      "name": "flashed.jpg",
      "url": "https://github.com/HyruleanHero1988/FM-1-Swap/releases/download/v0.6.2/flashed.jpg",
      "size": 595968,
      "sha256": "7fbf256f294ec19150da471c0e9e7aa3016487a0403debf43d84cd2b607756b7"
     },
     {
      "name": "FM-1-Swap.apk",
      "url": "https://github.com/HyruleanHero1988/FM-1-Swap/releases/download/v0.6.2/FM-1-Swap.apk",
      "size": 15309210,
      "sha256": "235d42605ae81e5677ebc84aa8e819da3b6d0ba939ca5f9f2247ef14d6443834"
     }
    ],
    "date": "2026-10-24",
    "title": "FM-1 Swap 0.6.2",
    "notes": "Download FM-1-Swap.apk from this GitHub release and install it on the phone. It replaces an earlier release of FM-1 Swap already there.\n\nInstall that file from this release and nowhere else. If Android refuses the install because a different copy of the app is already on the phone, uninstall that first, then install this file.\n\nNot affiliated with M-VAVE. Flashing custom firmware is at your own risk.\n\n## New in 0.6.2\n\nPATCHES has TRY ON V15. It loads that bank's 32 patches into Official V15 and starts it. They fill the first 32 slots. Patches you already saved in those slots on the virtual FM-1 are replaced, and the bank stays for the next time you TRY that same virtual FM-1.\n\nA phone already on 0.6.1 shows this release under the top bar. UPDATE downloads it.\n\n## New in 0.6.1\n\nTRY was stopping 386DX while its own screen said it was building voices. CTL and MC-1 stopped on the same instruction, and Kawa on a bit-test branch. The virtual FM-1 now runs both, so those firmwares keep going.\n\nA phone already on 0.6.0 shows this release under the top bar. UPDATE downloads it.\n\n## New in 0.6.0\n\nFoMni, the Omnichord firmware, reports FM-1_8000400. That number sits near Official Open's, and the app was waiting for Official Open to say it was ready to update. FoMni never says that, so nothing was written, whichever firmware you chose. It now switches with the ordinary update. The same goes for FiMba, Niagara Drift, and Dub Techno, and for a firmware that reports an Official Open number but doesn't answer like Official Open.\n\nA phone already on 0.5.0 shows this release under the top bar. UPDATE downloads it.\n\n## New in 0.5.0\n\nA firmware you have flashed says when, on its row: last installed, then the day-month-year. Forks that report the same device name are kept apart.\n\nSETUP names every source the firmware list and the patch banks come from, with a link to each. The same credits are on the guide.\n\nSETUP, next to the version, has a link to tip on Ko-fi.\n\nA USB MIDI keyboard plays in TRY. Notes are played on channel 2, so a controller left on channel 1 is heard, and every port the keyboard sends on is listened to. A keyboard such as an MPK mini is no longer opened to ask whether it is an FM-1.\n\nWhen a newer release of FM-1 Swap is published, a line under the top bar says so. UPDATE downloads it. Android asks you to confirm before it installs. LATER hides that line. SETUP still shows UPDATE.\n\nThe first screen can be scrolled. That is the notice that appears the first time the app opens. On a short phone the text was taller than the display, so OK sat off the bottom and you could not reach it. The notice now scrolls, and OK stays on the screen.\n\nFIRMWARE now has the same groups as the firmware hub. You can show All, Synths, Grooveboxes, Drums, Chords, Trackers, For devs, Other, Vintage, In browser, or From source.\n\nHow it works is on the guide.\n\n## What has been tried on a real FM-1\n\nFM-1 Swap has been used to swap firmwares on a real FM-1, including SLOOP, Felucca Rainbow, and Clipper. Those swaps completed. The pictures here are from a write that started on Clipper, which reported FM-1_900. FM-1 Swap wrote Rainbow Mode 1.1.5-rb, and the FM-1 came back reporting FM-1_911.\n\n## If a flash goes wrong\n\nKeep the screen open and the cable in until the app says it finished. An install takes about a minute. If the write is interrupted after the update loader has taken over, leave the FM-1 plugged in and press RESUME with the same package. The FM-1 waits in that loader until a write finishes.\n\nSome firmwares can be started in USB recovery by holding OCT− while switching on, then flashing a saved package. SLOOP and Clipper do this. Melodee does from 1.3.5, ChoralRoot from 0.16. HYP-1, FuMi-1, FiMba-1, LOF-1, ECO-1 and GRAV-1 use OCT− and OCT+ held for 5 seconds while the firmware is already running.\n\nOfficial V15 and Felucca 1.6.1 do not. Holding OCT− while switching those on starts them normally. There is no recovery gesture.\n\nIf the FM-1 will not start at all, not even in USB recovery, FM-1 Swap cannot repair it. A computer that sees a USB device with UBOOT in the name, such as WL80UBOOT, is seeing the chip's own download mode. Tools built on jl-uboot-tool can put the official firmware back. Some firmwares, Melodee, FuMi-1 and Hortator among them, publish one with instructions. If the chip never gets that far, recovery needs an FM-1 Transporter. This app has not tried either.\n\n## Pictures\n\nThese shots are from a write that started on Clipper. The status line on the firmware list is the FM-1 reporting FM-1_900 before Rainbow Mode was written."
   },
   "commit": {
    "date": "2026-10-24",
    "title": "Point the guide at 0.6.2 and TRY ON V15.",
    "url": "https://github.com/HyruleanHero1988/FM-1-Swap/commit/98a2519a4c8e9153849434f5e8cc94f08b435cf9"
   },
   "stars": 11,
   "created": "2026-10-20",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/HyruleanHero1988~FM-1-Swap.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Website",
     "https://kurogedelic.github.io/FM-1-transporter/web/"
    ]
   ],
   "name": "FM-1 Transporter",
   "repo": "kurogedelic/FM-1-transporter",
   "by": "kurogedelic",
   "fam": "tool",
   "type": "recovery",
   "lic": "MIT",
   "about": "Reads and writes the FM-1's flash from a Mac through a Seeed XIAO RP2040 wired to its USB lines (mask-ROM boot).",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "editor",
     "label": "Open the web app",
     "url": "https://kurogedelic.github.io/FM-1-transporter/web/",
     "from": "readme"
    }
   ],
   "release": {
    "tag": "v0.1.0",
    "url": "https://github.com/kurogedelic/FM-1-transporter/releases/tag/v0.1.0",
    "assets": [
     {
      "name": "fm1_transporter_debugprobe.uf2",
      "url": "https://github.com/kurogedelic/FM-1-transporter/releases/download/v0.1.0/fm1_transporter_debugprobe.uf2",
      "size": 167936,
      "sha256": "84c072366439efdacb66f44aad7719bcad0cf324d3bbdc34231c8fef5e1e5f5e"
     },
     {
      "name": "fm1_transporter_pico.uf2",
      "url": "https://github.com/kurogedelic/FM-1-transporter/releases/download/v0.1.0/fm1_transporter_pico.uf2",
      "size": 167936,
      "sha256": "91822ed2875d953d88f5c35a4ef3cbec85744fc9e9c7d90a9599310a97a0f890"
     },
     {
      "name": "fm1_transporter_pico2.uf2",
      "url": "https://github.com/kurogedelic/FM-1-transporter/releases/download/v0.1.0/fm1_transporter_pico2.uf2",
      "size": 155648,
      "sha256": "c51c6dd5c28a0e884af655b47cced54d003b79aabd880109713b13ef673ea8f9"
     },
     {
      "name": "fm1_transporter_xiao_rp2040.uf2",
      "url": "https://github.com/kurogedelic/FM-1-transporter/releases/download/v0.1.0/fm1_transporter_xiao_rp2040.uf2",
      "size": 164864,
      "sha256": "3258d40b4a4b7b28a9e0d3f7786659aa03f9d602ab818a39f524be51ca6f72b8"
     }
    ],
    "date": "2026-11-04",
    "title": "v0.1.0",
    "notes": "No content."
   },
   "commit": {
    "date": "2026-11-04",
    "title": "README: link the hosted web app at the top",
    "url": "https://github.com/kurogedelic/FM-1-transporter/commit/14fd4dfe08b5afb403693142b07fcb21a95092ba"
   },
   "stars": 67,
   "created": "2026-09-30",
   "image": "https://raw.githubusercontent.com/kurogedelic/FM-1-transporter/HEAD/docs/images/connection.png",
   "pageMentions": [
    {
     "page": "https://kurogedelic.github.io/FM-1-transporter/",
     "names": [
      "FM-1_vNN.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/kurogedelic/FM-1-transporter/HEAD/docs/images/connection.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/kurogedelic~FM-1-transporter.jpg"
   ]
  },
  {
   "links": [],
   "name": "FM-1 Unbricker",
   "repo": "Quixotic7/MvaveFM1Unbricker",
   "by": "Quixotic7",
   "fam": "tool",
   "lic": "MIT",
   "type": "recovery",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-11-03",
    "title": "Update README.md",
    "url": "https://github.com/Quixotic7/MvaveFM1Unbricker/commit/9b68a8282615329973cd0e42ea3a258225451648"
   },
   "stars": 93,
   "created": "2026-10-07",
   "about": "Good easy to use guide: https://github.com/GoodPerson42/FM1-Unbricking-For-Dummies",
   "image": null,
   "readmeNotes": {
    "version": "",
    "text": "status still counts: note it. On Linux: lsusb | grep -i 4c4a and dmesg | tail. 2. Leave it switched on for two full minutes. Felucca-family firmware arms a watchdog and a boot-loop guard: a firmware that hangs or crashes at boot is reset by the watchdog, and after two failed boots in a row the guard itself enters ROM boot. Then check again. 3. The update-mode hold. Switch the FM-1 off. Hold OCT- and OCT+ together, switch it on, and keep holding for 10 seconds. If the firmware reaches its main loop at all, this enters update mode (the screen may stay black). Check again. 4. Three quick restarts. Switch on, wait 10 s, off; on, wait 10 s, off; on. If each boot was a crash, the third one lands in ROM boot. (This is also how a unit can get there by accident.) 5. If after all that nothing with vendor id 4C4A ever appears, the chip is not reaching ROM boot over USB and fm1unbrick.py cannot help. The hardware route is the FM-1 Transporter: see TRANSPORTER-GUIDE.md (parts, wiring, fm1transporterrecover.py). This is exactly what an update interrupted mid-write by the FM-1 itself (a flat battery) looks like: the half-written firmware hangs before any of its own safety code runs, and the chip's SPL does not fall back to the update loader on a power-on. Holds and restarts cannot help there.",
    "date": "2026-11-03",
    "url": "https://github.com/Quixotic7/MvaveFM1Unbricker#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Web app",
     "https://fm1-workbench.web.app"
    ]
   ],
   "name": "FM-1 Workbench",
   "repo": "thegiantsnail/fm1-workbench-public",
   "by": "thegiantsnail",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "editor",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://fm1-workbench.web.app",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.0",
    "url": "https://github.com/thegiantsnail/fm1-workbench-public/releases/tag/v0.1.0",
    "assets": [
     {
      "name": "FM-1-Controller-macos-universal.zip",
      "url": "https://github.com/thegiantsnail/fm1-workbench-public/releases/download/v0.1.0/FM-1-Controller-macos-universal.zip",
      "size": 10590618,
      "sha256": "ef071f894d29f9d0bb8474b2eddec5e708ada6c321e4c95fe1df01d3cf51078b"
     },
     {
      "name": "FM-1-Controller-windows-x64.zip",
      "url": "https://github.com/thegiantsnail/fm1-workbench-public/releases/download/v0.1.0/FM-1-Controller-windows-x64.zip",
      "size": 5096079,
      "sha256": "acbaabfcff862ea2186098d0dd941aea9db78bdcca3e64bf9561a3a9028cd88f"
     }
    ],
    "date": "2026-10-01",
    "title": "FM-1 Controller v0.1.0",
    "notes": "FM-1 Controller plays and programs the M-VAVE FM-1 from a DAW. Without the unit, and for offline renders, it plays its built-in software FM-1 instead. See vst/README.md in the repository for what it does and how it was checked.\n\nInstall\n• Windows: unzip and copy FM-1 Controller.vst3 to C:\\Program Files\\Common Files\\VST3\\. Switch the FM-1's MIDI output off in the DAW's own MIDI settings: Windows lets only one program open it. This build has not been tried on Windows hardware by the author.\n• macOS: unzip and copy FM-1 Controller.vst3 to ~/Library/Audio/Plug-Ins/VST3/. The build is not notarised: clear the quarantine flag with xattr -dr com.apple.quarantine ~/Library/Audio/Plug-Ins/VST3/\"FM-1 Controller.vst3\".\n\nLicensed under the GNU General Public License, version 3; the source is this repository at this tag."
   },
   "commit": {
    "date": "2026-10-01",
    "title": "FM-1 Controller 0.1.0: Windows build, built-in software FM-1",
    "url": "https://github.com/thegiantsnail/fm1-workbench-public/commit/e35315b7ea814b99387840a4fc66754f6a7f59d5"
   },
   "stars": 4,
   "created": "2026-10-01",
   "about": "Tools for the M-VAVE FM-1 FM synth: web workbench, Android app, MCP server and a VST3/CLAP controller plugin",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "FM-1-RE",
   "repo": "AL-255/FM-1-RE",
   "by": "AL-255",
   "fam": "tool",
   "lic": "WTFPL",
   "type": "guide",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-09-08",
    "title": "Merge pull request #2 from Echomatter/codex/fix-fm1-ota-reflash-proof",
    "url": "https://github.com/AL-255/FM-1-RE/commit/ec832f281ca165a7d5e0722985f3acb1465046d5"
   },
   "stars": 126,
   "created": "2026-07-19",
   "about": "Reverse Engineering of the M-VAVE FM-1 Pocket Synthesizer Firmware",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "FM-SWITCH",
   "repo": "ocean/FM-SWITCH",
   "by": "ocean",
   "fam": "tool",
   "lic": "?",
   "type": "installer",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "0.1.1",
    "url": "https://github.com/ocean/FM-SWITCH/releases/tag/0.1.1",
    "assets": [
     {
      "name": "FM-SWITCH-0.1.1.dmg",
      "url": "https://github.com/ocean/FM-SWITCH/releases/download/0.1.1/FM-SWITCH-0.1.1.dmg",
      "size": 5903483,
      "sha256": "a1794aae5ce760967da890ab433f74769ae88449e8a150fd3002cde8fc27a91f"
     },
     {
      "name": "FM-SWITCH-0.1.1.dmg.sha256",
      "url": "https://github.com/ocean/FM-SWITCH/releases/download/0.1.1/FM-SWITCH-0.1.1.dmg.sha256",
      "size": 86,
      "sha256": "a9afb96e5c728ba01191ff22c9e36953bfea397de0b0b007ec54e68eaaaddca2"
     },
     {
      "name": "FM-SWITCH.dmg",
      "url": "https://github.com/ocean/FM-SWITCH/releases/download/0.1.1/FM-SWITCH.dmg",
      "size": 5903483,
      "sha256": "a1794aae5ce760967da890ab433f74769ae88449e8a150fd3002cde8fc27a91f"
     }
    ],
    "date": "2026-11-03",
    "title": "FM-SWITCH 0.1.1 for Mac",
    "notes": "This update makes the firmware list easier to sort, filter and keep track of, and fixes a hang.\n• Sort the firmware list by most installed too, using The Firmware Hub's install counts.\n• The filters wrap onto more rows instead of scrolling sideways, and FM-SWITCH remembers the one you picked. Once you scroll down, the sort and the filter you picked stay at the top of the list.\n• My firmwares has its own sort and filters, so you can find your way around a big collection.\n• Saving a new release of a firmware keeps the ones you saved before, so you can go back to an older release.\n• More firmwares, from mutant.cloud as well as The Firmware Hub, fm1-editor.com and the FM1 Resource Hub.\n• Fixed: the firmware list could stop responding for several seconds when it loaded, scrolled or changed filter.\n• Fixed: a firmware's build picker no longer widens the window.\n\nTo install, download FM-SWITCH.dmg, open it, and drag FM-SWITCH to Applications. Needs macOS 14 or later. Signed with Developer ID and notarised by Apple. If you have 0.1.0, the app will tell you about this update within a day.\n\nOnce a day the app asks GitHub whether there's a newer release of FM-SWITCH. Nothing about you or your FM-1 is sent.\n\nNot affiliated with M-VAVE. Installing custom firmware is at your own risk."
   },
   "commit": {
    "date": "2026-11-03",
    "title": "Version 0.1.1 (5)",
    "url": "https://github.com/ocean/FM-SWITCH/commit/dc5bbb966a21bdeb0362143808cf2e2cc2503ff0"
   },
   "stars": 17,
   "created": "2026-10-16",
   "about": "An iOS firmware switcher for the M-Vave FM-1 synthesiser.",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "FM1 Editor",
   "repo": "AlexanderSeel/FM1Editor",
   "by": "AlexanderSeel",
   "fam": "tool",
   "type": "editor",
   "lic": "MIT",
   "about": "A web editor and librarian for DX7 voices and banks on the FM-1's stock firmware (and a DX7), with a MIDI monitor.",
   "note": "Built from source (no hosted page found); its bank transfer to an FM-1 is not yet verified on hardware (its README).",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-08-12",
    "title": "Refactor code structure for improved readability and maintainability",
    "url": "https://github.com/AlexanderSeel/FM1Editor/commit/8661fa21a6af1cefdbe814d1875ba93f28f9d63c"
   },
   "stars": 0,
   "created": "2026-08-05",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Web editor",
     "https://fm1-editor.com/"
    ]
   ],
   "name": "FM1 Editor & librarian",
   "repo": "benny-sparra/fm1-dx7-patch-importer",
   "by": "benny-sparra",
   "fam": "tool",
   "lic": "MIT",
   "type": "editor",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "editor",
     "label": "Web editor",
     "url": "https://fm1-editor.com/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-11-05",
    "title": "Update the firmware page for 5 Nov 2026 (#461)",
    "url": "https://github.com/benny-sparra/fm1-dx7-patch-importer/commit/fe65af1f52062fbbdb5117414dce672572c2cddc"
   },
   "stars": 70,
   "created": "2026-07-08",
   "about": "M-VAVE FM1 editor and librarian",
   "image": "https://raw.githubusercontent.com/benny-sparra/fm1-dx7-patch-importer/HEAD/src/assets/fm1-header.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/benny-sparra/fm1-dx7-patch-importer/HEAD/src/assets/fm1-header.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/benny-sparra~fm1-dx7-patch-importer.jpg"
   ]
  },
  {
   "links": [
    [
     "Emulator",
     "https://joakimeriksson.github.io/fm1-emu/"
    ],
    [
     "SMK-37 emulator",
     "https://joakimeriksson.github.io/fm1-emu/smk37/"
    ]
   ],
   "name": "fm1-emu",
   "repo": "joakimeriksson/fm1-emu",
   "by": "joakimeriksson",
   "fam": "tool",
   "lic": "MIT",
   "type": "emulator",
   "board": "both",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.4.0",
    "url": "https://github.com/joakimeriksson/fm1-emu/releases/tag/v0.4.0",
    "assets": [
     {
      "name": "fm1-emu-0.4.0-linux-arm64.tar.gz",
      "url": "https://github.com/joakimeriksson/fm1-emu/releases/download/v0.4.0/fm1-emu-0.4.0-linux-arm64.tar.gz",
      "size": 2673869,
      "sha256": "f515f6a5ab4a80006730cb824628e7555234af07562f0936f021da2cb93cf110"
     },
     {
      "name": "fm1-emu-0.4.0-linux-x86_64.tar.gz",
      "url": "https://github.com/joakimeriksson/fm1-emu/releases/download/v0.4.0/fm1-emu-0.4.0-linux-x86_64.tar.gz",
      "size": 2652897,
      "sha256": "b6a921ff2f8ec89b0af661d89d733f6ea880222c1b546a49845037e64b86f07d"
     },
     {
      "name": "fm1-emu-0.4.0-macos-arm64.tar.gz",
      "url": "https://github.com/joakimeriksson/fm1-emu/releases/download/v0.4.0/fm1-emu-0.4.0-macos-arm64.tar.gz",
      "size": 2254438,
      "sha256": "8b4f10115e07bbfcc2ddf4635044d0f70e8d5a6ee827d4f3b7386d8a8e31fbfb"
     },
     {
      "name": "fm1-plugin-0.4.0-macos-arm64.zip",
      "url": "https://github.com/joakimeriksson/fm1-emu/releases/download/v0.4.0/fm1-plugin-0.4.0-macos-arm64.zip",
      "size": 9468641,
      "sha256": "a3843689b4a18bc83f50352ac1195912953495115cd21b98f67386dd87f15480"
     },
     {
      "name": "fm1-plugin-0.4.0-windows-x86_64.zip",
      "url": "https://github.com/joakimeriksson/fm1-emu/releases/download/v0.4.0/fm1-plugin-0.4.0-windows-x86_64.zip",
      "size": 3323986,
      "sha256": "957c97ba768e3c95ddef03687b40e813967d4c8ad8610cf7f80f785934179063"
     }
    ],
    "date": "2026-11-02",
    "title": "fm1-emu 0.4.0",
    "notes": "The plugin comes for Windows (VST3 and CLAP), the emulator is faster everywhere, with FM-1 Dock\n\neight times faster, and more firmwares run: the SMK-37 Pro's stock-based mods, Bubba Machine's\n\nFreeRTOS on both cores, COSMOS, Ravel. The page,\n\njoakimeriksson.github.io/fm1-emu, needs no download\n\nand is always the latest.\n\n## Downloads\n\nFile\nFor\n\nfm1-plugin-0.4.0-macos-arm64.zip\nThe plugin (AU, VST3, CLAP): Macs with Apple silicon, macOS 11 or later. Its INSTALL.txt says where each file goes.\n\nfm1-plugin-0.4.0-windows-x86_64.zip\nThe plugin (VST3, CLAP): Windows 10 or later, x86-64. New. Its INSTALL.txt names the folders; keep both files, the VST3 loads the CLAP.\n\nfm1-emu-0.4.0-macos-arm64.tar.gz\nfm1-live and fm1-emu, Macs with Apple silicon (with the JIT)\n\nfm1-emu-0.4.0-linux-arm64.tar.gz\nfm1-live and fm1-emu, 64-bit ARM Linux (with the JIT)\n\nfm1-emu-0.4.0-linux-x86_64.tar.gz\nfm1-live and fm1-emu, x86-64 Linux (with the JIT)\n\nIntel Macs: the JIT runs there too, built from source (tools/build_plugin.sh, cargo build --release); an Intel macOS download is still to come.\n\nfm1-live plays a firmware package: ./fm1-live --fwsc felucca.fwsc. The packages: the\n\ncommunity firmwares on the FM-1 Firmware Hub (and the list on\n\nthe page, with each author's link), or M-VAVE's own FM-1.fwsc. The computer keyboard plays\n\nthe keys, and so does every MIDI input. On Linux it needs ALSA and X11:\n\nsudo apt install libasound2 libx11-6 libxkbcommon0 libxcursor1 libxrandr2 libxi6 (Ubuntu 24.04\n\nand later: libasound2t64 in place of libasound2). Each archive's README.txt has the rest.\n\nNot signed: macOS blocks the downloads until you allow them. For the plugin, after copying\n\nit (as INSTALL.txt says):\n\nxattr -dr com.apple.quarantine ~/Library/Audio/Plug-Ins/Components/FM-1.component ~/Library/Audio/Plug-Ins/VST3/FM-1.vst3 ~/Library/Audio/Plug-Ins/CLAP/FM-1.clap\n\nand for fm1-live, in its folder: xattr -d com.apple.quarantine fm1-live fm1-emu. The Windows\n\nbuild is unsigned too; Windows hosts load it as it is.\n\n## What's new since 0.3.0\n• The plugin on Windows: VST3 and CLAP, tested and validated on every release, with a guide\n\nfor Waveform Free in the README. The file dialog opens on top of the host's window. On a Mac,\n\na firmware the plugin may not read (macOS keeps a DAW's plugin host out of Desktop, Documents,\n\nDownloads and iCloud Drive) now says so, and where the file works.\n• More firmwares run: the SMK-37 Pro's stock-based mods (their patch area); Bubba Machine,\n\nwhose FreeRTOS runs on both cores (the cores' hardware lock, and a core that sleeps on idle\n\nuntil its interrupt); COSMOS, whose core 1 faults on the chip and is let go\n\n(--cpu1-survives in fm1-live); Ravel, whose hot loop runs from RAM (its code and the\n\nfirmware's no longer evict each other).\n• Faster. Natively, by CPU time per block against 0.3.0 on this Mac: Felucca -8 %, X0X -4 %,\n\nGhoulbox -12 %, 386DX -10 %, Melodee -7 %, FM-1 Dock -87 % (a software delay on its second\n\ncore ran as 60 million blocks a second; it runs in one go now). In the browser the heaviest\n\nfirmwares gained the most: Bubba Machine 0.62x to 1.13x real time, Ravel 0.74x to 0.91x,\n\nLOOM-8 2.87x to 3.31x, DUELL 0.83x to 1.00x, FM-1 Dock at real time, with the FPU and most\n\nother instructions compiled inline, core 1 running whole stretches in compiled code, and one\n\ncompiled region handing over to the next without a return to the emulator between them.\n• The chip's hardware DSP units: the FFT / vector unit, the hardware EQ and the sample-rate\n\nconverter, measured on a real FM-1 and modelled (FM-1 Dock's master EQ runs on it).\n• The chip's resets: the watchdog and PR_PWR reset the emulated chip, so a firmware's\n\nhang recovery can be tested.\n• A realistic mode for firmware authors, FM1_STRICT=1: the LCD's transfers take their time\n\nat the SPI clock, each instruction its measured cost, the flash cache its misses, and\n\nmisaligned accesses fault, all measured on a real FM-1; the CPU's guards (PC limits, the NULL\n\npage) are always on. The default emulator is unchanged and pays nothing for the mode: its\n\ntests are compiled out of the default run loop.\n• USB: the computer can record the firmware's USB audio (FM1_USB_WAV), and a tail call out\n\nof an if-block no longer holds interrupts off (FM-1 Dock's USB audio missed packets for it).\n• The page: ?flash= and ?script= open a firmware with flash contents and an input script\n\nlaid over it, which is how FM-1 Dock's catalog opens each module with one click.\n• Fixes: the stock FM-1 firmware's SPI1 interrupt turns off as it should (eubide); the JIT\n\non Intel Macs (eubide); a countdown loop on the second core stops where the interpreter does.\n• Contributors this release: jamminstein (the second core, the wasm JIT's speed, the SMK-37\n\nPro's patches), eubide (Intel Macs, SPI1).\n\n## What's Changed\n• fm1-sid: Install FM-1 SID on my FM-1 on the page by @joakimeriksson in #93\n• Technical report: FM-1 SID's early release, the rounds on the real FM-1, fm1-dock and its probes by @joakimeriksson in #95\n• The report on the site: the version with the real FM-1 by @joakimeriksson in #97\n• Scripts for the SMK-37: key velocity, analog inputs, FM1_USB_SEND from a file by @joakimeriksson in #96\n• Core speed pass 3: SoC hot paths, patched chain exits, literal pool, ISR micro-ops (JIT -13% CPU time, audio identical) by @joakimeriksson in #98\n• fm1-sid: the chiptune guide on its page by @joakimeriksson in #94\n• P33: the watchdog and PR_PWR reset the chip by @joakimeriksson in #92\n• Licence: usb.rs is MIT, as the rest of the emulator by @joakimeriksson in #103\n• Compile to native code on Intel Macs by @eubide in #99\n• Stock FM-1: SPI1's CON turns its interrupt off by @eubide in #100\n• The AC79's FFT / vector unit, EQ and sample-rate converter, measured on an FM-1 by @joakimeriksson in #102\n• USB audio recording (FM1_USB_WAV), and a goto out of a then-part no longer holds interrupts off by @joakimeriksson in #101\n• Catalog: fm1-dock 0.7 by @joakimeriksson in #107\n…"
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #149 from joakimeriksson/mem-shift-by-reg",
    "url": "https://github.com/joakimeriksson/fm1-emu/commit/1c6e80a816f07f350aa8abbbce5f040992b219f3"
   },
   "stars": 162,
   "created": "2026-10-12",
   "about": "Emulator for the M-VAVE FM-1 pocket synth: runs its firmwares unchanged in the browser and natively",
   "image": "https://raw.githubusercontent.com/joakimeriksson/fm1-emu/HEAD/docs/media/firmwares.gif",
   "images": [
    "https://raw.githubusercontent.com/joakimeriksson/fm1-emu/HEAD/docs/media/firmwares.gif",
    "https://raw.githubusercontent.com/joakimeriksson/fm1-emu/HEAD/docs/media/plugin-windows-waveform.gif",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/joakimeriksson~fm1-emu.jpg"
   ],
   "pageMentions": [
    {
     "page": "https://joakimeriksson.github.io/fm1-emu/smk37/",
     "names": [
      "Pro_016.fwsc"
     ]
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "fm1-emulator",
   "repo": "simonjohansson/fm1-emulator",
   "by": "simonjohansson",
   "fam": "tool",
   "lic": "GPL-2.0",
   "type": "emulator",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "build-67",
    "url": "https://github.com/simonjohansson/fm1-emulator/releases/tag/build-67",
    "assets": [
     {
      "name": "fm1-emulator-linux-amd64.tar.gz",
      "url": "https://github.com/simonjohansson/fm1-emulator/releases/download/build-67/fm1-emulator-linux-amd64.tar.gz",
      "size": 10108273,
      "sha256": "5e28620c8f4c73d4e8a0a96310e6b4ed3fd43a97008cb6159a374b244afa706a"
     },
     {
      "name": "fm1-emulator-macos-arm64.tar.gz",
      "url": "https://github.com/simonjohansson/fm1-emulator/releases/download/build-67/fm1-emulator-macos-arm64.tar.gz",
      "size": 3009413,
      "sha256": "739758a473cf67185da1f9da48231b725c9a6f8a340d137b181936e1e5086df4"
     }
    ],
    "date": "2026-10-13",
    "title": "Build 67 (519a13b)",
    "notes": "## What's Changed\n• Keep paced sessions on time when the firmware idles often by @probonopd in #24\n\n## New Contributors\n• @probonopd made their first contribution in #24\n\nFull Changelog: build-64...build-67"
   },
   "commit": {
    "date": "2026-10-13",
    "title": "List the idle catch-up icount hook in the QEMU hooks table",
    "url": "https://github.com/simonjohansson/fm1-emulator/commit/519a13b879d744f5c05bfe3c4e5d4e04d8d4ae34"
   },
   "stars": 22,
   "created": "2026-10-04",
   "about": "Emulator to run M-WAVE FM-1 firmwares without having to flash a real device",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "fm1-guide",
   "repo": "fuleo/fm1-guide",
   "by": "fuleo",
   "fam": "tool",
   "lic": "?",
   "type": "guide",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-18",
    "title": "Timeline to 18 Oct: FM-1 Open, Felucca's author steps back, 6 more",
    "url": "https://github.com/fuleo/fm1-guide/commit/161d57e1ac92d30648659f255ded9a58447ce390"
   },
   "stars": 3,
   "created": "2026-10-03",
   "about": "Practical notes for the M-VAVE FM-1 synth: sequencer tutorial, V15 reverb fix, updating from Linux",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/fuleo~fm1-guide.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "fm1-linux-update",
   "repo": "fuleo/fm1-linux-update",
   "by": "fuleo",
   "fam": "tool",
   "lic": "MIT",
   "type": "installer",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-03",
    "title": "Add reverb_sweep.py: measure the reverb tail over USB audio",
    "url": "https://github.com/fuleo/fm1-linux-update/commit/fa850941dbd69f9172ed78dea5a1d01178a5fa2d"
   },
   "stars": 0,
   "created": "2026-10-03",
   "about": "Update the M-VAVE FM-1 synth from stock V14 to V15 on Linux (USB-MIDI SysEx), with verification",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/fuleo~fm1-linux-update.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "fm1-manager",
   "repo": "bratta/fm1-manager",
   "by": "bratta",
   "fam": "tool",
   "lic": "?",
   "type": "editor",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-16",
    "title": "Update README with video link",
    "url": "https://github.com/bratta/fm1-manager/commit/64cad0932ae2c1b97320d3dab4eb1e40893eb647"
   },
   "stars": 0,
   "created": "2026-10-16",
   "about": "Manage/edit presets and restore firmware for the M-VAVE FM-1 synth",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Website",
     "https://genkigenki.github.io/smk37/kit.html"
    ]
   ],
   "name": "fm1-to-smk37",
   "repo": "genkigenki/fm1-to-smk37",
   "by": "genkigenki",
   "fam": "tool",
   "lic": "CC-BY-NC-4.0",
   "type": "library",
   "board": "smk37",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Install the ports",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "readme"
    }
   ],
   "commit": {
    "date": "2026-10-17",
    "title": "Revert \"README: banner\"",
    "url": "https://github.com/genkigenki/fm1-to-smk37/commit/54252ffa2219e3c9cd7eb70f4e99b361eaa048e1"
   },
   "stars": 45,
   "created": "2026-10-09",
   "about": "Migrate FM-1 firmwares to the SMK-37",
   "image": "https://raw.githubusercontent.com/genkigenki/fm1-to-smk37/HEAD/assets/hero.png",
   "upstream": {
    "prs": [
     {
      "repo": "isod89/sloop-fm1",
      "pr": 112,
      "state": "open",
      "at": null,
      "title": "SMK-37 Pro target (BOARD=smk37), FM-1 build unchanged"
     },
     {
      "repo": "isod89/sloop-fm1",
      "pr": 130,
      "state": "open",
      "at": null,
      "title": "Optional: Snoop37 look for the SMK-37 build (SNOOP37=1, off by default)"
     },
     {
      "repo": "charlesvestal/fm1-x0x",
      "pr": 13,
      "state": "open",
      "at": null,
      "title": "SMK-37 Pro target (BOARD=smk37), FM-1 build unchanged"
     },
     {
      "repo": "charlesvestal/fm1-fomni",
      "pr": 2,
      "state": "open",
      "at": null,
      "title": "SMK-37 Pro target (BOARD=smk37), FM-1 build unchanged"
     }
    ],
    "says": "| Port | From | What the SMK adds | Upstream | |---|---|---|---| | Makkuro37 | new firmware | pads gate eight drone voices, a CHAOS pad, fader banks | | | SLOOP, SMK-37 build | SLOOP | pads in track colours, pad sound picker, fader banks,…"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/genkigenki/fm1-to-smk37/HEAD/assets/hero.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~fm1-to-smk37.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://konsumer.github.io/fm1buddy/"
    ]
   ],
   "name": "fm1buddy",
   "repo": "konsumer/fm1buddy",
   "by": "konsumer",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "hardware",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://konsumer.github.io/fm1buddy/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.29",
    "url": "https://github.com/konsumer/fm1buddy/releases/tag/v0.1.29",
    "assets": [
     {
      "name": "fm1buddy-cyd-s3.bin",
      "url": "https://github.com/konsumer/fm1buddy/releases/download/v0.1.29/fm1buddy-cyd-s3.bin",
      "size": 2170552,
      "sha256": "904d5ea40bc423ca2094579fc31cdac4a3ebfc120131305cd2aa76e48f8d7418"
     }
    ],
    "date": "2026-11-05",
    "title": "v0.1.29",
    "notes": "No content."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #64 from konsumer/backup-fw-name",
    "url": "https://github.com/konsumer/fm1buddy/commit/924a55fa011430968c08604be34e3ef3a4068405"
   },
   "stars": 24,
   "created": "2026-10-15",
   "about": "A cheap touchscreen box (Freenove ESP32-S3 2.8\", no soldering) that runs your FM-1 or SMK-37 without a computer: install firmware from SD or mutant.cloud over Wi-Fi, back up and recover, play it from USB and Bluetooth MIDI gear, with MIDI…",
   "image": "https://raw.githubusercontent.com/konsumer/fm1buddy/HEAD/docs/screens/midi.png",
   "images": [
    "https://img.youtube.com/vi/mT8rAArBcnE/hqdefault.jpg",
    "https://raw.githubusercontent.com/konsumer/fm1buddy/HEAD/docs/screens/firmware-hub.png",
    "https://raw.githubusercontent.com/konsumer/fm1buddy/HEAD/docs/screens/firmware-details.png",
    "https://raw.githubusercontent.com/konsumer/fm1buddy/HEAD/docs/screens/firmware-install.png",
    "https://raw.githubusercontent.com/konsumer/fm1buddy/HEAD/docs/screens/midi.png",
    "https://raw.githubusercontent.com/konsumer/fm1buddy/HEAD/docs/screens/midi-bluetooth.png",
    "https://raw.githubusercontent.com/konsumer/fm1buddy/HEAD/docs/screens/themes.png",
    "https://raw.githubusercontent.com/konsumer/fm1buddy/HEAD/docs/screens/sounds.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/konsumer~fm1buddy.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1,
   "imagePick": true
  },
  {
   "links": [],
   "name": "FM1Kit",
   "repo": "ocean/FM1Kit",
   "by": "ocean",
   "fam": "tool",
   "lic": "MIT",
   "type": "library",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "0.5.1",
    "url": "https://github.com/ocean/FM1Kit/releases/tag/0.5.1",
    "assets": [],
    "date": "2026-11-03",
    "title": "FM1Kit 0.5.1",
    "notes": "TransitFM1 refuses V16, as tested on an FM-1 in stage S, so the switching guide now sends people from it to V16 through MIDIMON 0.4 or LOOM-8.\n\n## Fixed\n• LeavingGuide now sends people from TransitFM1 to V16 through MIDIMON 0.4 or LOOM-8: TransitFM1 refuses V16 at the header (tested on an FM-1 in stage S), since it takes only firmware images the size of V15's. Its steps to V16 no longer say the FM-1 keeps its bootloader, or that TransitFM1 must be confirmed as not V15. A TransitFM1 guide now has two warnings, not one.\n• packageRefused's explanation names TransitFM1, and says MIDIMON 0.4 and LOOM-8 take V16 too.\n• fm1probe install --reinstall-official describes the install by the package's identity, since it can't tell whether TransitFM1 is being installed over V15 or V15 over TransitFM1.\n\nNo API changes: move from 0.5.0 with .upToNextMinor(from: \"0.5.1\")."
   },
   "commit": {
    "date": "2026-11-04",
    "title": "Bump zizmorcore/zizmor-action",
    "url": "https://github.com/ocean/FM1Kit/commit/b190411c7b755c9858f7790f0bc57fc482627d9d"
   },
   "stars": 1,
   "created": "2026-10-16",
   "about": "A Swift toolkit for the M-Vave FM-1 synthesiser",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "FM1VST",
   "repo": "Quixotic7/FM1VST",
   "by": "Quixotic7",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "plugin",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.6.2",
    "url": "https://github.com/Quixotic7/FM1VST/releases/tag/v0.6.2",
    "assets": [
     {
      "name": "FM1VST-0.6.2-macOS-arm64.pkg",
      "url": "https://github.com/Quixotic7/FM1VST/releases/download/v0.6.2/FM1VST-0.6.2-macOS-arm64.pkg",
      "size": 44145050,
      "sha256": "e587bf167090885952ef6b571548e754674f9284774ff9561ca965a74ae87fea"
     },
     {
      "name": "FM1VST-0.6.2-macOS-arm64.zip",
      "url": "https://github.com/Quixotic7/FM1VST/releases/download/v0.6.2/FM1VST-0.6.2-macOS-arm64.zip",
      "size": 44879053,
      "sha256": "4116a96d63740f23a5df95140b2b732975c6095845baa7c6d2d974a7a161ec82"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/Quixotic7/FM1VST/releases/download/v0.6.2/SHA256SUMS",
      "size": 190,
      "sha256": "60831ad8d2872ad02b2b8435859f6cf32634d39d02b7150a60adaa9540db9a16"
     }
    ],
    "date": "2026-10-28",
    "title": "FM1VST 0.6.2",
    "notes": "FM1VST 0.6.2 for macOS 11.0 or later on Apple silicon: AU, VST3 and Standalone, as an installer\n\npackage (FM1VST-0.6.2-macOS-arm64.pkg: the app into /Applications, the plug-ins into /Library/Audio/Plug-Ins) or a zip to\n\ncopy by hand (FM1VST-0.6.2-macOS-arm64.zip, with the licences).\n\nNot signed with a Developer ID nor notarised. The installer: right-click it > Open (macOS 14 or earlier), or\n\nopen it once, then System Settings > Privacy & Security > Open Anyway (macOS 15 or later); what it installs\n\ncarries no quarantine flag. The zip's bundles: xattr -dr com.apple.quarantine after copying, or Open\n\nAnyway. INSTALL.txt in the zip has the details, and rescanning in Live and Logic.\n\n## The cores in this build\n\nfirmware\nversion\nlicence\nsource\n\nChoralRoot (default)\n0.26.1\nGPL-3.0-only\nQuixotic7/ChoralRootFM1 at 7d97982\n\nFelucca\n1.6.1\nGPL-3.0-only\nhugelton/Felucca at a53ecf4\n\nGHOULBOX\n2.3.2\nGPL-3.0-only\njasonpersinger/ghoulbox-fm1-dungeon-synth at 71ac3f8\n\nJIANT FM\n0.9.9\nGPL-3.0-only\njuanjiant-bit/JIANT at 0912abb\n\nPurpleMonkey\n0.11\nGPL-3.0-only\nQuixotic7/PurpleMonkeyFM1 at 7590d4a\n\nCoralFlower\n0.5\nGPL-3.0-only\nFicusFicusov/CoralFlower at b5ceb99\n\nMelodee\n1.4.5\nGPL-3.0-only\nkeremimo/melodee at 398ada1\n\nFoMni-1\n0.4\nGPL-3.0-only\ncharlesvestal/fm1-fomni at 6ecd227\n\nFiMba-1\n0.6.1\nGPL-3.0-only\njadamsowers/fm1-fimba at 0485ed0\n\nAMB-1\n1.3\nMPL-2.0\ncharlesvestal/fm1-amb at 188b0a4\n\nOberVave\n1.5.3\nGPL-3.0-only\nzvenson/obervave at 7e1ccf9\n\nFrodhes\n0.9.4\nGPL-3.0-only\nleonardoMirabal/frodhes at c82f71e\n\nLOOM-8\n0.6.1\nGPL-3.0-only\ncharlesvestal/fm1-loom at 3f41391\n\nDUELL (unofficial build)\n1.0\nGPL-3.0-only\noscillr/DUELL at 33e2e2e\n\nMini-Tone\n1.0.1\nGPL-3.0-only\neldontyrellcorp/Mini-Tone at 5e5d09c\n\nFMini-1\n1.8.0\nGPL-3.0-only\nruppert/fmini-1 at ab0f5c8\n\nSkiff\n1.4\nGPL-3.0-only\nilluminus5/skiff at c01fa1e\n\nGR!MM\n1.0\nGPL-3.0-only\nGRiMMBIENT/grimm at 815ca6b\n\nPIGEON\n0.4.1\nGPL-3.0-only\nTheShrimpBlimp/pigeon at 8f34e81\n\nTonitor\n0.55\nGPL-3.0-only\nnzimas/tonitor at a240bc1\n\nSpeak37\n1.0\nGPL-3.0-only\ngenkigenki/Speak37 at a617d60\n\nFM-1 (emulated)\nfm1-emu 5fbb066 + 0001+0002+0003+0004\nMIT\njoakimeriksson/fm1-emu at 5fbb066\n\nRemote FM-1 needs the unit on the RemoteFM1 firmware.\n\n## What's new\n• Remote FM-1 over Bluetooth MIDI. A unit on RemoteFM1 0.2 or later, paired with the Mac over Bluetooth (it shows\n\nas \"FM-1 ...\"), can be the panel too: the plugin finds it by that name, and other Bluetooth MIDI gear never gets a\n\nmessage. The status says connected (Bluetooth, N fps).\n• Frames paced for the unit (libremotefm1 from RemoteFM1 0.2.2). Over Bluetooth the plugin sends no more than\n\nthe unit's radio carries, so the screen no longer updates in random chunks. Changed tiles go in 4 colours first\n\nand in their exact colours once the screen has been still for a second.\n• Changes shown whole, about 6x faster with 0.2.2. With a unit on RemoteFM1 0.2.2, each screen change appears at\n\nonce when all of it has arrived, at about 30 KB/s (0.2.2's faster radio) instead of about 5.5 KB/s for older units.\n\nUpdate the unit to 0.2.2 for both.\n• USB first. A unit connected by USB and Bluetooth at once is driven over USB.\n• The settings sheet's Remote FM-1 diagnostics count, over Bluetooth, the tiles sent in 4 colours, those made exact,\n\nand the frames held for whole changes.\n\nSHA-256 (SHA256SUMS):\n• FM1VST-0.6.2-macOS-arm64.zip: 4116a96d63740f23a5df95140b2b732975c6095845baa7c6d2d974a7a161ec82\n• FM1VST-0.6.2-macOS-arm64.pkg: e587bf167090885952ef6b571548e754674f9284774ff9561ca965a74ae87fea"
   },
   "commit": {
    "date": "2026-10-28",
    "title": "0.6.2: the version, and CHANGELOG.md's 0.6.2 entry (Remote FM-1 over …",
    "url": "https://github.com/Quixotic7/FM1VST/commit/177e27a7643284833f06b37435faf7a611ecf065"
   },
   "stars": 9,
   "created": "2026-10-08",
   "about": "VST for Felucca base FM-1 Firmware",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Demo page",
     "http://konsumer.js.org/foma/"
    ]
   ],
   "name": "foma",
   "repo": "konsumer/foma",
   "by": "konsumer",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "library",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #7 from konsumer/ac79-sdk",
    "url": "https://github.com/konsumer/foma/commit/f81e1e86298f6f69e7a59a4c781964f34ac7a050"
   },
   "stars": 5,
   "created": "2026-10-15",
   "about": "Template for making custom FM-1 firmware",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/konsumer~foma.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "Harbor",
   "repo": "markterm/harbor",
   "by": "markterm",
   "fam": "tool",
   "lic": "?",
   "type": "emulator",
   "about": "An Android app that plays FM-1 firmwares, unchanged, on the fm1-emu emulator; other apps see it as a MIDI device.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v0.1.7",
    "url": "https://github.com/markterm/harbor/releases/tag/v0.1.7",
    "assets": [
     {
      "name": "harbor-0.1.7.apk",
      "url": "https://github.com/markterm/harbor/releases/download/v0.1.7/harbor-0.1.7.apk",
      "size": 5788140,
      "sha256": "c1f90ab1a262f5456d3e2c62acac85b14211b81664eb0b19725bd4362e46ab12"
     }
    ],
    "date": "2026-10-21",
    "title": "Harbor 0.1.7",
    "notes": "Harbor runs M-VAVE FM-1 firmwares on Android phones and tablets (Android 12 or later, 64-bit Arm). No firmware is included: Harbor downloads each one from its author's release, through the FM-1 Firmware Hub, or opens a .fwsc file you have.\n\nInstall: download harbor-0.1.7.apk on your phone, open it, and allow installs from your browser or file manager when Android asks.\n\nThis APK is signed with a different key from the Play Store version, so Android won't install one over the other. To switch, uninstall the one you have first. That removes its saved patches, so export any you want to keep from the Saves screen before you do.\n\n## What's new\n• 0.1.7: SLOOP 2.8 no longer stops while recording, and Kawa boots (fm1-emu learns a long forward branch, patches/0005).\n• 0.1.6: case colours like the real FM-1's (Purple, Orange, Navy, Green, Red), and DUELL no longer stops when HOME is pressed.\n• 0.1.5: Melodee boots (fm1-emu models the P33 power registers).\n• 0.1.4: fixes the app closing at launch on Android 12, and the Library shows each firmware's screenshot from the Hub.\n\nSHA-256: c1f90ab1a262f5456d3e2c62acac85b14211b81664eb0b19725bd4362e46ab12"
   },
   "commit": {
    "date": "2026-10-21",
    "title": "Harbor 0.1.7: SLOOP 2.8 records, Kawa boots",
    "url": "https://github.com/markterm/harbor/commit/7fd7b2810a115a40c2b8025d1ff106f8ef668073"
   },
   "stars": 28,
   "created": "2026-10-20",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "m-bootloader",
   "repo": "jvitkauskas/m-bootloader",
   "by": "jvitkauskas",
   "fam": "tool",
   "lic": "MIT",
   "type": "recovery",
   "about": "An open (MIT) replacement bootloader for the FM-1 and SMK-37 with a recovery menu and download mode from the keys.",
   "board": "both",
   "note": "It replaces the chip's bootloader; M-VAVE's own updates and Baud Girl's installer put the stock one back. Back up with m-flasher first.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v2.0",
    "url": "https://github.com/jvitkauskas/m-bootloader/releases/tag/v2.0",
    "assets": [
     {
      "name": "fm1-uboot.fwsc",
      "url": "https://github.com/jvitkauskas/m-bootloader/releases/download/v2.0/fm1-uboot.fwsc",
      "size": 19661,
      "sha256": "868094cd31d3dd1bfe60aba165648ceea5923f66ff27f9c9eed834f5ac958116",
      "check": {
       "sha256": "868094cd31d3dd1bfe60aba165648ceea5923f66ff27f9c9eed834f5ac958116",
       "bytes": 19636,
       "githubSha": true,
       "loader": false,
       "package": true,
       "identity": null,
       "sizeOk": false,
       "ok": false,
       "says": "Not recognised as an FM-1 update package"
      }
     },
     {
      "name": "fm1-uboot.boot",
      "url": "https://github.com/jvitkauskas/m-bootloader/releases/download/v2.0/fm1-uboot.boot",
      "size": 13824,
      "sha256": "2b119015933138aa39d5bc640f04085af2e610c504ff54c234dadea25a8934ef"
     },
     {
      "name": "mflr-loader-a.bin",
      "url": "https://github.com/jvitkauskas/m-bootloader/releases/download/v2.0/mflr-loader-a.bin",
      "size": 6021,
      "sha256": "ae0cdf4965cc2438a362e933ccf11d41159322d67f2dc630a61ab84cc58e04d7"
     },
     {
      "name": "mflr-loader-b.bin",
      "url": "https://github.com/jvitkauskas/m-bootloader/releases/download/v2.0/mflr-loader-b.bin",
      "size": 6021,
      "sha256": "6f9d97fcd3b16a74dd2b056ebca5e516c56a1c789a4b46b5afdd824d42fd684f"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/jvitkauskas/m-bootloader/releases/download/v2.0/SHA256SUMS",
      "size": 589,
      "sha256": "a71e4c216aaf0e97ee238f66b15145e3f803f88f94a035256f702bf0a916513e"
     },
     {
      "name": "smk37-elite-uboot.fwsc",
      "url": "https://github.com/jvitkauskas/m-bootloader/releases/download/v2.0/smk37-elite-uboot.fwsc",
      "size": 19251,
      "sha256": "5b5a031ca95141215f6c26f9c131c5a93b3f50a7969e7a449a194de69d7cbc0b",
      "check": {
       "sha256": "5b5a031ca95141215f6c26f9c131c5a93b3f50a7969e7a449a194de69d7cbc0b",
       "bytes": 19220,
       "githubSha": true,
       "loader": false,
       "package": true,
       "identity": null,
       "sizeOk": false,
       "ok": false,
       "says": "Not recognised as an FM-1 update package"
      }
     },
     {
      "name": "smk37-pro-uboot.fwsc",
      "url": "https://github.com/jvitkauskas/m-bootloader/releases/download/v2.0/smk37-pro-uboot.fwsc",
      "size": 19251,
      "sha256": "a57fc3c65932dacd2653b9fd0c6f8ee93b12b911ce8b2809c6936467000ae27c",
      "check": {
       "sha256": "a57fc3c65932dacd2653b9fd0c6f8ee93b12b911ce8b2809c6936467000ae27c",
       "bytes": 19236,
       "githubSha": true,
       "loader": false,
       "package": true,
       "identity": null,
       "sizeOk": false,
       "ok": false,
       "says": "Not recognised as an FM-1 update package"
      }
     },
     {
      "name": "smk37-uboot.boot",
      "url": "https://github.com/jvitkauskas/m-bootloader/releases/download/v2.0/smk37-uboot.boot",
      "size": 13312,
      "sha256": "b6f25369701e917809d728213558a841d771c14f79bbeecbb0cd8c00d8dd980e"
     }
    ],
    "date": "2026-11-05",
    "title": "m-bootloader 2.0",
    "notes": "The bootloader can now reinstall firmware by itself over USB MIDI, so a unit with broken firmware can be recovered from a phone, with no computer and no mod. This release also makes room for it by packing most of the bootloader, and can load a second stage from an SD card.\n• New: MIDI mode. Hold PLAY (FM-1) or SEQ PLAY (SMK-37) at power-on and choose MIDI MODE, then use a browser installer. Tested with SLOOP's, Felucca's, Melodee's and ChoralRoot's installers, from Linux, macOS, Android and iOS (the MIDIWeb app). The unit reads the package twice, to check it and then to write it, so the browser's bar fills about twice as fast as the unit's. Wait for the unit, and keep the tab in front. Baud Girl's installer refuses it.\n• New: SD card second stage, for units with a soldered card slot. It loads /MBOOT/MENU.BIN. It has been run on one prototype, without a real slot switch.\n• Hold-REC is more robust. The path to download mode is now a small uncompressed stage that doesn't depend on the firmware, the screen or the rest of the bootloader. The rest is packed with Upkr and checked before it runs. Any problem with it goes to download mode.\n• Short boot configuration. This version doesn't read the boot configuration, so installing it keeps only the 34-byte chip-key record that firmware installers need, and uses the room freed.\n\nBefore you install\n• Don't install 1.3 or older over this version. They need the configuration it removes, and stop at their menu with BAD CONFIG on every start. Boot app still starts the firmware, and reinstalling this version fixes it. Melodee's installer offers 1.2 as an option, so leave that unticked.\n• Use M-Flasher 0.9.0 or newer. To install this version, and to put the stock bootloader back on a unit that has it: 0.8.2 and older keep the short configuration when putting stock back.\n• Official M-VAVE updates and Baud Girl's installer put the stock bootloader back, with its full configuration. Reinstall m-bootloader afterwards.\n• FAILED -5: Melodee's Return to official V15, and M-UPGRADE on an SMK-37 running Felucca-family firmware, refuse because the boot area differs from the package's. Nothing is written. Use M-Flasher instead.\n\nLittle tested on the FM-1's newer flash chip. FM-1s sold from late 2026 have a UCUN UC25HQ80 flash (0xB36014). One such unit did not start after 1.1 or 1.2 was installed, and the cause is not known. Another runs 1.3 and this version on one owner's report, with firmware, menu and download mode working, and a MIDI mode reinstall of the same firmware, which rewrites only its first 4 KiB sector (M-Flasher #13). Install it on that chip at your own risk.\n\nFile\nFor\n\nfm1-uboot.fwsc\nFM-1, with M-UPGRADE\n\nsmk37-pro-uboot.fwsc\nSMK-37 Pro, with M-UPGRADE\n\nsmk37-elite-uboot.fwsc\nSMK-37 Elite, with M-UPGRADE\n\nfm1-uboot.boot\nFM-1, with M-Flasher\n\nsmk37-uboot.boot\nSMK-37 Pro / Elite, with M-Flasher\n\nmflr-loader-a.bin, mflr-loader-b.bin\nM-Flasher's flash loader, unchanged from 1.3\n\nSHA256SUMS\nchecksums\n\nBack up your unit with M-Flasher first. The menu and M-Flasher show the version as 2.0-c43a32f. M-UPGRADE waits for an updater that never comes and times out with an error at the end: the installation is done by then.\n\nTested on this exact build, on an FM-1 (0x856014) and an SMK-37 Pro: installing over 1.3 with M-Flasher and over 1.2 with M-UPGRADE, an official 016 update, Baud Girl, a browser installer from running firmware, and MIDI mode. On the FM-1 also M-UPGRADE from the stock bootloader, MIDI mode from macOS, and M-Flasher on macOS and Windows.\n\nNot tested: the SMK-37 Elite (its M-UPGRADE package is built the same way and has run on an SMK-37), the MiniFM, power lost during a boot-area write, firmware keeping data in RAM across restarts, a real SD card slot switch, MIDI mode from Windows, and the SMK-37 from a phone. On an Elite, an install from MIDI mode leaves it reporting itself as a Pro."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #13 from jvitkauskas/release-2.0",
    "url": "https://github.com/jvitkauskas/m-bootloader/commit/d131391a398dc9a757b54ea91ab3cc71ef939d14"
   },
   "stars": 31,
   "created": "2026-10-16",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "m-flasher",
   "repo": "jvitkauskas/m-flasher",
   "by": "jvitkauskas",
   "fam": "tool",
   "lic": "MIT",
   "type": "installer",
   "board": "both",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.9.0",
    "url": "https://github.com/jvitkauskas/m-flasher/releases/tag/v0.9.0",
    "assets": [
     {
      "name": "m-flasher-0.9.0-1.aarch64.rpm",
      "url": "https://github.com/jvitkauskas/m-flasher/releases/download/v0.9.0/m-flasher-0.9.0-1.aarch64.rpm",
      "size": 3837788,
      "sha256": "a271dbe22c79d5e0b0d9cef8b339a42aef73700b14240bf0ff743a2fd3d4ad76"
     },
     {
      "name": "m-flasher-0.9.0-1.x86_64.rpm",
      "url": "https://github.com/jvitkauskas/m-flasher/releases/download/v0.9.0/m-flasher-0.9.0-1.x86_64.rpm",
      "size": 4162847,
      "sha256": "3de5ab344624b609225a066e64e0c666d87b72bda849d515f7cd2a0d726e5ca5"
     },
     {
      "name": "m-flasher-0.9.0-linux-aarch64.tar.gz",
      "url": "https://github.com/jvitkauskas/m-flasher/releases/download/v0.9.0/m-flasher-0.9.0-linux-aarch64.tar.gz",
      "size": 3638559,
      "sha256": "26804e22835ac965689f0ebbd6f46c105d4d734aa6544abf7ca0cd85d132c45f"
     },
     {
      "name": "m-flasher-0.9.0-linux-x86_64.tar.gz",
      "url": "https://github.com/jvitkauskas/m-flasher/releases/download/v0.9.0/m-flasher-0.9.0-linux-x86_64.tar.gz",
      "size": 3995075,
      "sha256": "ecab9a9fd2fd4881289c143dac77a32da80c6d5c5338ac066704323a6689f43f"
     },
     {
      "name": "M-Flasher-0.9.0-macos.dmg",
      "url": "https://github.com/jvitkauskas/m-flasher/releases/download/v0.9.0/M-Flasher-0.9.0-macos.dmg",
      "size": 7413432,
      "sha256": "110c05c961c98f7be0dc1e1368ad82c40c41c4fb5653df64f5d82f799d3bb492"
     },
     {
      "name": "M-Flasher-0.9.0-windows.zip",
      "url": "https://github.com/jvitkauskas/m-flasher/releases/download/v0.9.0/M-Flasher-0.9.0-windows.zip",
      "size": 3166700,
      "sha256": "d61c21b18b3971b3104a838ff2b478e63aca51deacef87f6282f287a0b1718f6"
     },
     {
      "name": "m-flasher_0.9.0-1_amd64.deb",
      "url": "https://github.com/jvitkauskas/m-flasher/releases/download/v0.9.0/m-flasher_0.9.0-1_amd64.deb",
      "size": 4057989,
      "sha256": "54a7558e40126356e962fc88387a57369cb471930b98a90061bd1b32e43f63a8"
     },
     {
      "name": "m-flasher_0.9.0-1_arm64.deb",
      "url": "https://github.com/jvitkauskas/m-flasher/releases/download/v0.9.0/m-flasher_0.9.0-1_arm64.deb",
      "size": 3764388,
      "sha256": "42b83971ec26c711a2e538a87bf831fba61f4a1bd302a22a60ca6403a13bc2a6"
     }
    ],
    "date": "2026-11-05",
    "title": "M-Flasher 0.9.0",
    "notes": "Download\nThen\n\nWindows 10 / 11\nM-Flasher-0.9.0-windows.zip\nextract it and run M-Flasher.exe. It asks for administrator rights. The app is not signed, so the first time Windows may say it protected your PC: More info → Run anyway.\n\nmacOS 11+ (Apple silicon and Intel)\nM-Flasher-0.9.0-macos.dmg\nopen it and drag M-Flasher to Applications. The first time macOS blocks it: System Settings → Privacy & Security → Open Anyway. When it finds the unit, it asks for your password, and once to let it access a removable volume (the unit): Allow.\n\nDebian 12+, Ubuntu 22.04+, Mint, Raspberry Pi OS (64-bit)\nm-flasher_0.9.0-1_amd64.deb, ARM64: _arm64.deb\nsudo apt install ./m-flasher_0.9.0-1_amd64.deb, connect the unit, and start M-Flasher from the app menu.\n\nFedora, RHEL / Alma / Rocky 10, openSUSE Tumbleweed and Leap 16\nm-flasher-0.9.0-1.x86_64.rpm, ARM64: .aarch64.rpm\nsudo dnf install ./m-flasher-0.9.0-1.x86_64.rpm (openSUSE: sudo zypper install …), connect the unit, and start M-Flasher from the app menu.\n\nOther Linux (glibc 2.35+)\nm-flasher-0.9.0-linux-x86_64.tar.gz, ARM64: -aarch64.tar.gz\nextract it and follow README.txt: install the udev rule once, connect the unit, run m-flasher as yourself.\n\nNew in 0.9.0:\n• m-bootloader 2.0 bundled. It adds MIDI mode, for reinstalling firmware from a phone or a browser with no firmware running. It keeps only the 34-byte chip-key record of the boot configuration, so older M-Flasher versions shouldn't be used on a unit that has it: 0.8.2 and older leave the stock bootloader with the short configuration when putting it back.\n• Putting the stock bootloader back now writes the package's whole boot area, so the configuration matches that bootloader, as official updates do.\n• Warnings: installing m-bootloader 1.3 or older over the short configuration warns of BAD CONFIG, and a stock bootloader from a file warns that the unit may not start.\n• Putting stock back now checks the chip key, as installing firmware already did: a package that doesn't match this unit is refused.\n• Linux: the command line now says to run sudo modprobe sg when a unit in download mode can't be found because that driver isn't loaded. Before, it said no unit was found.\n\nTested with m-bootloader 2.0-c43a32f, on an FM-1 and an SMK-37 Pro from Linux: installing over 1.3, putting stock back, and installing again. On the FM-1 also on macOS and Windows, on the build just before the last small changes. The macOS app is now built on a newer GitHub image, and still runs on macOS 11 and newer.\n\nNewer FM-1 flash chip (0xB36014): M-Flasher still warns before installing m-bootloader on it. One unit did not start after 1.1 or 1.2 and the cause is not known, while another runs 1.3 and 2.0 (#13)."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "Merge pull request #17 from jvitkauskas/short-config",
    "url": "https://github.com/jvitkauskas/m-flasher/commit/d528a688d040b644fe588db8156e19ad40541c4a"
   },
   "stars": 48,
   "created": "2026-10-17",
   "about": "Back up, restore and reinstall the firmware of an M-VAVE FM-1 (or its rebranded twin, the Fame MiniFM) or SMK-37 Pro / Elite over USB, and install m-bootloader. It talks to the chip's built-in USB download mode, so it also works when the…",
   "image": "https://raw.githubusercontent.com/jvitkauskas/m-flasher/HEAD/docs/screenshot.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "Oscuro Companion",
   "repo": "kartun83/oscuro-companion-protocol",
   "by": "kartun83",
   "fam": "tool",
   "lic": "Apache-2.0",
   "type": "library",
   "board": "smk37",
   "seen": "2026-10-16",
   "tools": [],
   "commit": {
    "date": "2026-10-14",
    "title": "docs+host: protocol v1 draft, SMK-37 feasibility, reference client an…",
    "url": "https://github.com/kartun83/oscuro-companion-protocol/commit/9e22ce391d48d17cc002ff3eb4b20119bedece4b"
   },
   "stars": 1,
   "created": "2026-10-13",
   "about": "Oscuro Companion protocol & File Bridge: phone↔keyboard USB file service. RAM firmware payload (SMK-37 / JieLi AC791N) + Android USB-host app + pyusb mock + protocol/extension docs.",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "setup-fm1-emulator",
   "repo": "DimmKirr/setup-fm1-emulator",
   "by": "DimmKirr",
   "fam": "tool",
   "lic": "MIT",
   "type": "library",
   "about": "A GitHub Action that sets up fm1-emu for testing firmware UIs in CI, with a Playwright test harness.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v1.1.0",
    "url": "https://github.com/DimmKirr/setup-fm1-emulator/releases/tag/v1.1.0",
    "assets": [],
    "date": "2026-10-24",
    "title": "setup-fm1-emulator v1.1.0",
    "notes": "Installs fm1-emu by Joakim Eriksson.\n\nWASM emulator is published separately via vendor-sync (prerelease wasm-VERSION).\n\nBundled fm1-emu version: v0.2.0\n\n## Usage\n\n- uses: dimmkirr/setup-fm1-emulator@v1.1.0\n\nPin a specific emulator version:\n\n- uses: dimmkirr/setup-fm1-emulator@v1.1.0\nwith:\nversion: v0.2.0",
    "pre": {
     "tag": "wasm-dimmkirr-v0.3.0",
     "title": "WASM dimmkirr v0.3.0 (built from source)",
     "date": "2026-11-02",
     "url": "https://github.com/DimmKirr/setup-fm1-emulator/releases/tag/wasm-dimmkirr-v0.3.0"
    }
   },
   "commit": {
    "date": "2026-10-30",
    "title": "test: add e2e firmware UI example tests",
    "url": "https://github.com/DimmKirr/setup-fm1-emulator/commit/afb8681387f2655d40b2a9a770a32c2484c2f2bc"
   },
   "stars": 2,
   "created": "2026-10-20",
   "image": "https://github.com/DimmKirr/setup-fm1-emulator/releases/download/release-screenshots/felucca-play-note.gif",
   "images": [
    "https://github.com/DimmKirr/setup-fm1-emulator/releases/download/release-screenshots/felucca-play-note.gif",
    "https://github.com/DimmKirr/setup-fm1-emulator/releases/download/release-screenshots/felucca-home.png",
    "https://github.com/DimmKirr/setup-fm1-emulator/releases/download/release-screenshots/sloop-home.png",
    "https://github.com/DimmKirr/setup-fm1-emulator/releases/download/release-screenshots/melodee-home.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Android web installer",
     "https://discodave-glitch.github.io/slipway/app/"
    ]
   ],
   "name": "Slipway",
   "repo": "Discodave-Glitch/slipway",
   "by": "Discodave-Glitch",
   "fam": "tool",
   "lic": "MIT",
   "type": "installer",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Android web installer",
     "url": "https://discodave-glitch.github.io/slipway/app/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v1.1.1",
    "url": "https://github.com/Discodave-Glitch/slipway/releases/tag/v1.1.1",
    "assets": [
     {
      "name": "Slipway.zip",
      "url": "https://github.com/Discodave-Glitch/slipway/releases/download/v1.1.1/Slipway.zip",
      "size": 1551892,
      "sha256": "0041e8290ca8fc5427349ab5736d6197d5ec0b5dded7ffd56e1bb497514a648a"
     }
    ],
    "date": "2026-10-21",
    "title": "Slipway 1.1.1 - tested on Windows, Mac and one Android phone",
    "notes": "Tested on a real Mac (MacBook Air, Apple silicon, Python 3.15 from python.org): app, firmware list,\n\nFM-1 detection, put stock V15 back, and installing a custom firmware all worked. Intel Macs not yet tried.\n\nFixes from that test:\n• Apple-silicon Macs now always start Slipway natively\n• Python's certificates step is run for you (fixes \"couldn't reach GitHub\")\n• Clearer help if the MIDI library needs Apple's developer tools\n• Install progress no longer shows stray [K characters\n• README: a \"something goes wrong on a Mac\" section\n• Notes that M-VAVE's V16 download is identical to V15\n\nNew: Slipway Web, an Android/Chrome version (simulated only, not yet tried on a real phone).\n\nMac users: download Slipway.zip from this page, not the green Code button."
   },
   "commit": {
    "date": "2026-10-27",
    "title": "Add files via upload",
    "url": "https://github.com/Discodave-Glitch/slipway/commit/400de4761ecff26b9c7d10b7df95eb02ccecbe95"
   },
   "stars": 5,
   "created": "2026-10-14",
   "about": "Find, check and install custom firmware on the M-VAVE FM-1. Windows and Mac. Stock-first safety, one-click rescue, black-screen recovery guide.",
   "image": "https://raw.githubusercontent.com/Discodave-Glitch/slipway/HEAD/docs/slipway-dark.png",
   "images": [
    "https://raw.githubusercontent.com/Discodave-Glitch/slipway/HEAD/docs/slipway-dark.png",
    "https://raw.githubusercontent.com/Discodave-Glitch/slipway/HEAD/docs/slipway-light.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Discodave-Glitch~slipway.jpg"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Web app",
     "https://sloop.smhulme.click/"
    ]
   ],
   "name": "SLOOP 8-Track Web Workstation",
   "repo": "smhulme/sloop-web-8trk",
   "by": "smhulme",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "editor",
   "about": "A web workstation for SLOOP: the FM-1's four tracks plus four more synths played in the browser in sync.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "editor",
     "label": "Web app",
     "url": "https://sloop.smhulme.click/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-10-08",
    "title": "Update SLOOP installer link to point to official https://isod89.githu…",
    "url": "https://github.com/smhulme/sloop-web-8trk/commit/9974f8f67fc645c2683565697d84a6be14c70e71"
   },
   "stars": 1,
   "created": "2026-10-08",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/smhulme~sloop-web-8trk.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "SLOOP Editor Desktop",
   "repo": "Catnip233/sloop-editor-desktop",
   "by": "Catnip233",
   "fam": "tool",
   "type": "editor",
   "lic": "GPL-3.0",
   "about": "SLOOP 2.5's web editor packaged as a desktop app (Electron) for Windows and macOS.",
   "note": "Carries SLOOP 2.5's editor (its 2.5.0 build); SLOOP's own web editor follows its newest release.",
   "seen": "2026-10-22",
   "tools": [],
   "release": {
    "tag": "v2.5.0",
    "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/tag/v2.5.0",
    "assets": [
     {
      "name": "SLOOP-Editor-2.5.0-mac-arm64.dmg",
      "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/download/v2.5.0/SLOOP-Editor-2.5.0-mac-arm64.dmg",
      "size": 134217728,
      "sha256": "42146c902812798d32935227131cd6962e150a688e05d6fc4866d2bb9cfa7170"
     },
     {
      "name": "SLOOP-Editor-2.5.0-mac-arm64.zip",
      "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/download/v2.5.0/SLOOP-Editor-2.5.0-mac-arm64.zip",
      "size": 131072000,
      "sha256": "1748a6f562af99926c5982008a0b624224d61775e2011e1f977c206e03a0efc8"
     },
     {
      "name": "SLOOP-Editor-2.5.0-mac-source.zip",
      "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/download/v2.5.0/SLOOP-Editor-2.5.0-mac-source.zip",
      "size": 1468006,
      "sha256": "cbb313b3aba064d7967d98088272fde08407f69d42fdfb1488854c499c8b4c99"
     },
     {
      "name": "SLOOP-Editor-2.5.0-mac-x64.dmg",
      "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/download/v2.5.0/SLOOP-Editor-2.5.0-mac-x64.dmg",
      "size": 139460608,
      "sha256": "4bd9ce680746d0b7d937c68b450f4d6438079c10be438890fe40a65511aa166c"
     },
     {
      "name": "SLOOP-Editor-2.5.0-mac-x64.zip",
      "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/download/v2.5.0/SLOOP-Editor-2.5.0-mac-x64.zip",
      "size": 137363456,
      "sha256": "274ed3c14e4b90ee83544de29f4f05044d3f70625c2b194584435b6df30346d7"
     },
     {
      "name": "SLOOP-Editor-2.5.0-source.zip",
      "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/download/v2.5.0/SLOOP-Editor-2.5.0-source.zip",
      "size": 1478492,
      "sha256": "4251366a91293c62538931551b0acace64a7a075035c4b7b285b37ce0269538e"
     },
     {
      "name": "SLOOP-Editor-2.5.0-x64-Portable.exe",
      "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/download/v2.5.0/SLOOP-Editor-2.5.0-x64-Portable.exe",
      "size": 112197632,
      "sha256": "e1856a4d7a5d26b1ed181f930160f6f143bbeb4952fc160d0a0e99a3e3ea6e35"
     },
     {
      "name": "SLOOP-Editor-2.5.0-x64-Setup.exe",
      "url": "https://github.com/Catnip233/sloop-editor-desktop/releases/download/v2.5.0/SLOOP-Editor-2.5.0-x64-Setup.exe",
      "size": 113246208,
      "sha256": "f002f0978087265ad6afeb498daf3b27f7a26434a4f5a7151817d8f0d13307a2"
     }
    ],
    "date": "2026-10-10",
    "title": "SLOOP Editor Desktop 2.5.0",
    "notes": "## SLOOP Editor Desktop 2.5.0\n\nOffline Windows x64 desktop wrapper for the SLOOP FM-1 web editor, with a custom rounded app icon.\n\n## Downloads\n• Setup.exe: Windows installer with shortcuts and uninstaller.\n• Portable.exe: Run without installing.\n• source.zip: Complete application source, bundled editor assets, licenses and dependency lockfile.\n\nConnect your FM-1 over USB, then click connect. Normal editor use works offline; the firmware installer link opens the upstream website.\n\nVerified: offline startup, Web MIDI/SysEx permissions and device enumeration. The user has also confirmed simultaneous connection with Ableton Live on their Windows setup. If a connection fails, retry after releasing other applications' MIDI ports. Hardware writes, backup restore and firmware flashing have not been independently tested.\n\nWindows executables are unsigned and may show an unknown-publisher warning. This is a hardware editor, not a standalone software synthesizer.\n\nBased on isod89/sloop-fm1, revision fa9ce5742f4aea9484e7c129dd81079d07e7321f. GPL-3.0-only; font licenses and original attribution are retained. Independent desktop wrapper, not an official M-VAVE or Hügelton release.\n\nWindows 10/11 64 位本地版。Setup 为安装版，Portable 为免安装版。插入 FM-1 的 USB 数据线后，点击左下角 connect。\n\n已实测用户环境下可与 Ableton Live 同时连接；若偶发连接失败，可排查临时 MIDI 端口占用。安装包未签名，Windows 可能提示未知发布者。"
   },
   "commit": {
    "date": "2026-10-10",
    "title": "Publish Mac installers directly from GitHub build artifacts",
    "url": "https://github.com/Catnip233/sloop-editor-desktop/commit/1f377c5101b3f00169e8b39225d3a8aa27ac48ab"
   },
   "stars": 0,
   "created": "2026-10-10",
   "image": "https://raw.githubusercontent.com/Catnip233/sloop-editor-desktop/HEAD/app/sloop-icon.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Emulator",
     "https://chancethemaker.github.io/sloop-fm1-sim/"
    ]
   ],
   "name": "Sloop FM-1 Simulator",
   "repo": "ChanceTheMaker/sloop-fm1-sim",
   "by": "ChanceTheMaker",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "emulator",
   "byTrusted": true,
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "pre-auto-fit-2026-10-07",
    "url": "https://github.com/ChanceTheMaker/sloop-fm1-sim/releases/tag/pre-auto-fit-2026-10-07",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-07",
    "title": "pre-auto-fit-2026-10-07",
    "notes": "Published layout before proportional viewport fit"
   },
   "commit": {
    "date": "2026-10-08",
    "title": "Publish Simulator with SLOOP 2.4.1 engine",
    "url": "https://github.com/ChanceTheMaker/sloop-fm1-sim/commit/3dbf5707741048f099120794660aa41b1b65e810"
   },
   "stars": 4,
   "created": "2026-10-06",
   "about": "Self-contained Sloop FM-1 browser simulator by Chance Roth, based on Sloop and Felucca.",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/ChanceTheMaker~sloop-fm1-sim.jpg",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "SLOOP SysEx editor",
   "repo": "hunterxiong2026/fm1-sloop-editor-2026",
   "by": "hunterxiong2026",
   "fam": "tool",
   "lic": "MIT",
   "type": "editor",
   "status": "Written for SLOOP 2.4.1, on Windows (winmm).",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v1.1.0",
    "url": "https://github.com/hunterxiong2026/fm1-sloop-editor-2026/releases/tag/v1.1.0",
    "assets": [],
    "date": "2026-10-09",
    "title": "v1.1.0 — SLOOP 2.4.1 Support",
    "notes": "## FM-1 SLOOP Editor Skill — v1.1.0\n\n适配 SLOOP 2.4.1 固件。\n\n## 新增\n• FM6 引擎（六算子 FM / DX7 兼容），引擎总数 9 → 10\n• 新轨道参数：FILT=50、STRUM=51、VLEAD=52\n• 轨道参数总数 58 → 61\n• 鼓组总数 37 → 42（新增 USR1-4、USR3+4）\n\n## 修复（2.4.1 实测校准）\n• KIT 参数从 50 迁到 53（50 在 2.4.1 已改为 FILT）\n• winmm 回调修正为 5 参数\n• 输入累积按 F7 切帧（设备会连推多帧）\n• request() 跳过非匹配帧\n• close() 不调用 midiInReset（避免死锁）\n• MIDIHDR 用 c_ulonglong（8 字节字段）\n\n## 清理\n• 移除误提交的测试脚本与错误日志\n\n## 已知限制\n• 仅支持 Windows\n• DIV 枚举未扩展（2.4 新增 1/2、1BAR、2BAR）\n• KIT 37-41 名称待校准\n\n完整变更见 CHANGELOG.md。"
   },
   "commit": {
    "date": "2026-10-09",
    "title": "chore: update sloop_cli.py docstring to 2.4.1",
    "url": "https://github.com/hunterxiong2026/fm1-sloop-editor-2026/commit/97a9d90e3a086a4d0edb315888752ea3aa97018e"
   },
   "stars": 3,
   "created": "2026-10-07",
   "about": "M-VAVE FM-1 SLOOP 2.3 groovebox control via SysEx — DeepSeek Harness Skill",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "sloop-fm1-go",
   "repo": "jahlib/sloop-fm1-go",
   "by": "jahlib",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "editor",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "1.8.0",
    "url": "https://github.com/jahlib/sloop-fm1-go/releases/tag/1.8.0",
    "assets": [
     {
      "name": "sloop_go_1.8.0.apk",
      "url": "https://github.com/jahlib/sloop-fm1-go/releases/download/1.8.0/sloop_go_1.8.0.apk",
      "size": 11010048,
      "sha256": "f06dc00012d056a8599c1f5a23098aad819cc44ff858af206509b5dcdcbd782f"
     }
    ],
    "date": "2026-11-01",
    "title": "1.8.0",
    "notes": "Recorder analyzers (spectrum, pan, zoomable waveform) with on/off tog…\n\n…gles, compressor/limiter knobs, Samples records from the FM-1 USB audio, FM6 toolbar alignment; new screenshots"
   },
   "commit": {
    "date": "2026-11-01",
    "title": "README: APK download link for 1.8.0",
    "url": "https://github.com/jahlib/sloop-fm1-go/commit/ed941b5853f551d1628bc3aecce4fa2010cd6f67"
   },
   "stars": 12,
   "created": "2026-10-07",
   "about": "Android Editor and Performancer for M-VAVE FM-1 Sloop firmware. Based on sloop web-editor.",
   "image": "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/0.png",
   "images": [
    "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/0.png",
    "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/1.png",
    "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/2.png",
    "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/3.png",
    "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/4.png",
    "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/5.png",
    "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/6.png",
    "https://raw.githubusercontent.com/jahlib/sloop-fm1-go/HEAD/screenshots/7.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [
    [
     "Installer",
     "https://genkigenki.github.io/smk37/"
    ]
   ],
   "name": "SMK-37 installer",
   "repo": "genkigenki/smk37",
   "by": "genkigenki",
   "fam": "tool",
   "lic": "?",
   "type": "installer",
   "board": "smk37",
   "seen": "2026-10-16",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://genkigenki.github.io/smk37/",
     "from": "list"
    }
   ],
   "commit": {
    "date": "2026-11-03",
    "title": "FM-1 tab: every card on its project's latest release; author SMK-37 b…",
    "url": "https://github.com/genkigenki/smk37/commit/f41582ee99fad7f9eb32c3f6401548ac5fc9aec3"
   },
   "stars": 4,
   "created": "2026-10-11",
   "about": "SMK-37 firmwares, installed from the browser",
   "image": "https://raw.githubusercontent.com/genkigenki/smk37/HEAD/assets/readme-banner.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/genkigenki/smk37/HEAD/assets/readme-banner.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/genkigenki~smk37.jpg"
   ]
  },
  {
   "links": [],
   "name": "SMK-37 Pro docs",
   "repo": "jonathaslacerda/smk-37-pro-docs",
   "by": "jonathaslacerda",
   "fam": "tool",
   "lic": "Apache-2.0",
   "type": "guide",
   "about": "Notes on the SMK-37 Pro and its relatives: hardware, chip, SysEx, presets and M-VAVE's own firmware files by version.",
   "board": "smk37",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-13",
    "title": "Update README.md",
    "url": "https://github.com/jonathaslacerda/smk-37-pro-docs/commit/aa874d46a3837c40c5cf112cdb12d33324fc4601"
   },
   "stars": 45,
   "created": "2025-09-24",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "SMK-37 Pro FM-SysEx",
   "repo": "hartaberunfairer-web/smk37_pro_midi_sysex",
   "by": "hartaberunfairer-web",
   "fam": "tool",
   "type": "editor",
   "lic": "GPL-3.0",
   "board": "smk37",
   "about": "A one-page web app (German) that sends and receives DX7 SysEx voices and banks for the SMK-37 Pro's FM engine.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-09-29",
    "title": "Add files via upload",
    "url": "https://github.com/hartaberunfairer-web/smk37_pro_midi_sysex/commit/d62a7f7f70132c85bcb4cdb9242f0052a303e377"
   },
   "stars": 0,
   "created": "2026-09-29",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Repair page",
     "https://genkigenki.github.io/smk37/help.html"
    ]
   ],
   "name": "SMK-37 Repair",
   "repo": "genkigenki/smk37-repair",
   "by": "genkigenki",
   "fam": "tool",
   "type": "recovery",
   "lic": "MPL-2.0",
   "board": "smk37",
   "about": "A small firmware that repairs the SMK-37 stock key mapping and keeps the unit's calibration, wheels and pairings.",
   "seen": "2026-10-22",
   "tools": [],
   "commit": {
    "date": "2026-10-17",
    "title": "SMK-37 Repair 0.1.1: puts the unit's own calibration and pairings bac…",
    "url": "https://github.com/genkigenki/smk37-repair/commit/622f71e8b66133ec57fdf396ef0d53fc3dcbcd33"
   },
   "stars": 0,
   "created": "2026-10-17",
   "image": null,
   "pageFiles": [
    {
     "name": "repair-0.1.1.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/repair-0.1.1.fwsc",
     "page": "https://genkigenki.github.io/smk37/help.html",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efd8\"",
     "size": 254146,
     "check": {
      "sha256": "a46cbd7e9a18245ef32c41abcc6f425b6352e4f72cefff81fbd2c9eff447476f",
      "bytes": 651224,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "a46cbd7e9a18245ef32c41abcc6f425b6352e4f72cefff81fbd2c9eff447476f"
    },
    {
     "name": "repair-0.1.1-elite.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/repair-0.1.1-elite.fwsc",
     "page": "https://genkigenki.github.io/smk37/help.html",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efdc\"",
     "size": 254231,
     "check": {
      "sha256": "92277499711937ff9aca9326ba9d65964e29efe708ea02b1f6187f4ba6da5a9a",
      "bytes": 651228,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "92277499711937ff9aca9326ba9d65964e29efe708ea02b1f6187f4ba6da5a9a"
    },
    {
     "name": "repair-0.1.1-mke.fwsc",
     "url": "https://genkigenki.github.io/smk37/firmware/repair-0.1.1-mke.fwsc",
     "page": "https://genkigenki.github.io/smk37/help.html",
     "found": "named",
     "etag": "W/\"6ae9f46c-9efd4\"",
     "size": 254245,
     "check": {
      "sha256": "d8eb5f9659731bb3504581fe364d7ef3074aebb96c72089d9e60d22c6e6e407c",
      "bytes": 651220,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": null,
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader"
     },
     "sha256": "d8eb5f9659731bb3504581fe364d7ef3074aebb96c72089d9e60d22c6e6e407c"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer",
     "https://quixotic7.github.io/TransitFM1/"
    ]
   ],
   "name": "TransitFM1",
   "repo": "Quixotic7/TransitFM1",
   "by": "Quixotic7",
   "fam": "tool",
   "type": "installer",
   "lic": "GPL-3.0",
   "about": "A tiny FM-1 firmware to stop at between two others: installers take it for V15 and the next write is guarded.",
   "note": "Answers as FM-1_015; ChoralRoot's boot stub; resumes a cut-off install in update mode. 0.1.2 was withdrawn; 0.1.3 refuses packages larger than its app area (Baud Girl's): go through V15 for Baud Girl.",
   "seen": "2026-10-22",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://quixotic7.github.io/TransitFM1/",
     "from": "list"
    }
   ],
   "release": {
    "tag": "v0.1.4",
    "url": "https://github.com/Quixotic7/TransitFM1/releases/tag/v0.1.4",
    "assets": [
     {
      "name": "LICENSE",
      "url": "https://github.com/Quixotic7/TransitFM1/releases/download/v0.1.4/LICENSE",
      "size": 35123,
      "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
     },
     {
      "name": "LICENSES.zip",
      "url": "https://github.com/Quixotic7/TransitFM1/releases/download/v0.1.4/LICENSES.zip",
      "size": 6451,
      "sha256": "a9e4e65b75735a81a16384daf032f737370515d9bc2e7cf23e452117ded95755"
     },
     {
      "name": "LICENSING.md",
      "url": "https://github.com/Quixotic7/TransitFM1/releases/download/v0.1.4/LICENSING.md",
      "size": 3369,
      "sha256": "a55b8208c8c1c415ac9ce277cb3cf2f84ae0c28adf31183489664f23b8d969d3"
     },
     {
      "name": "SHA256SUMS",
      "url": "https://github.com/Quixotic7/TransitFM1/releases/download/v0.1.4/SHA256SUMS",
      "size": 85,
      "sha256": "3eee630881a11dfaeb8d16504686f5b249684ac923a5d52929670e46c6cd9fd5"
     },
     {
      "name": "transit-0.1.4.fwsc",
      "url": "https://github.com/Quixotic7/TransitFM1/releases/download/v0.1.4/transit-0.1.4.fwsc",
      "size": 610304,
      "sha256": "3ba8541031b2973c6aec07dc91ff4d9499ae8c51658c6093c5e334e77979f668",
      "check": {
       "sha256": "3ba8541031b2973c6aec07dc91ff4d9499ae8c51658c6093c5e334e77979f668",
       "bytes": 610622,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": "FM-1_900",
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
      }
     }
    ],
    "date": "2026-11-05",
    "title": "TransitFM1 0.1.4",
    "notes": "TransitFM1 0.1.4 for the M-VAVE FM-1: a tiny firmware to stop at between two others. It answers every installer as the official V15 (identity FM-1_015), carries ChoralRoot's boot stub, and writes the next firmware with its own update loader, the new firmware's first sector last: an install cut off at any other point comes back in update mode.\n\nInstall from the browser at https://quixotic7.github.io/TransitFM1/ (Chrome or Edge, the FM-1 connected by USB), or with python3 tools/fm1_install.py transit-0.1.4.fwsc. docs/SAFETY.md says how it works and what was tested on a unit.\n\nThe package holds three JieLi AC79 SDK files (Apache-2.0) and the Terminus font (OFL-1.1); LICENSE (GPL-3.0), LICENSING.md and LICENSES.zip carry every licence. SHA256SUMS lists the package. Installing firmware is at your own risk."
   },
   "commit": {
    "date": "2026-11-05",
    "title": "SAFETY.md: the second 0.1.4 unit run: the V15 hiccup not reproduced; …",
    "url": "https://github.com/Quixotic7/TransitFM1/commit/25997066c24a101821e0724b08fdfab61aa0d6e3"
   },
   "stars": 10,
   "created": "2026-10-17",
   "image": "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/Quixotic7~TransitFM1.jpg",
   "pageFiles": [
    {
     "name": "transit-0.1.3.fwsc",
     "url": "https://quixotic7.github.io/TransitFM1/firmware/transit-0.1.3.fwsc",
     "page": "https://quixotic7.github.io/TransitFM1/firmware/",
     "etag": "W/\"6aebe2ab-95122\"",
     "size": 229726,
     "check": {
      "sha256": "d1b027d5fcafc374ff174bbd5f3b6dac7686554f5a3f44c04cc4d30cc3213baa",
      "bytes": 610594,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "d1b027d5fcafc374ff174bbd5f3b6dac7686554f5a3f44c04cc4d30cc3213baa"
    },
    {
     "name": "transit-0.1.1.fwsc",
     "url": "https://quixotic7.github.io/TransitFM1/firmware/transit-0.1.1.fwsc",
     "page": "https://quixotic7.github.io/TransitFM1/firmware/",
     "etag": "W/\"6aebe2ab-9514d\"",
     "size": 229725,
     "check": {
      "sha256": "e074eabd4a8919404dc9ba19ed4a82f3d09c5420874c9351bedb896525901511",
      "bytes": 610637,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "e074eabd4a8919404dc9ba19ed4a82f3d09c5420874c9351bedb896525901511"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [],
   "name": "Virtual FM-1",
   "repo": "jbschooley/Virtual-FM-1",
   "by": "jbschooley",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "plugin",
   "seen": "2026-10-16",
   "tools": [],
   "release": {
    "tag": "v0.10.0",
    "url": "https://github.com/jbschooley/Virtual-FM-1/releases/tag/v0.10.0",
    "assets": [
     {
      "name": "Virtual-FM-1-0.10.0-Linux-x86_64.tar.gz",
      "url": "https://github.com/jbschooley/Virtual-FM-1/releases/download/v0.10.0/Virtual-FM-1-0.10.0-Linux-x86_64.tar.gz",
      "size": 32925286,
      "sha256": "179008d1642b11efc69bb6cd9737d0a365c6c42f431c7f11b55210d13347702f"
     },
     {
      "name": "Virtual-FM-1-0.10.0-macOS.pkg",
      "url": "https://github.com/jbschooley/Virtual-FM-1/releases/download/v0.10.0/Virtual-FM-1-0.10.0-macOS.pkg",
      "size": 47919923,
      "sha256": "d3bafa3c9983bab626f22a8dd0a75ff5beacac4e81d83451a9ab2b77e2f2b2e4"
     },
     {
      "name": "Virtual-FM-1-0.10.0-Windows.exe",
      "url": "https://github.com/jbschooley/Virtual-FM-1/releases/download/v0.10.0/Virtual-FM-1-0.10.0-Windows.exe",
      "size": 15204352,
      "sha256": "c780401af92a38f6f4d679fa3b4357a087dcaa4658a88ca1913cc27984a5bf8f"
     },
     {
      "name": "VirtualFM1-0.10.0-android.apk",
      "url": "https://github.com/jbschooley/Virtual-FM-1/releases/download/v0.10.0/VirtualFM1-0.10.0-android.apk",
      "size": 17930650,
      "sha256": "417e4e24d62a9faf4d5174978ea0267c9cb68a78da1204e81cb84e599d42cd9d"
     }
    ],
    "date": "2026-10-18",
    "title": "v0.10.0",
    "notes": "## Changed\n• Felucca 1.6.1 is built in (it was 1.5.1): step conditions (1:2 to 4:4, FILL, !FILL), MIDI IN TRACK with a channel per part, the VEL and TIME modulation destinations, QNT SEQ+T, the DEEP, TIGHT and PERC drum kits, PHASE's FOLD, a custom palette and the 2ND CORE setting (kept, with no effect in the plugin). The Sequencer tab's CHANCE goes on past 100 into the conditions, and Pull, Send and Live carry them. Projects made with 1.5.1 open on it (the same format). An FM-1 on Felucca 1.5.1 or older is pulled from only (1.5 cannot open a project holding a step condition): update it with Felucca's installer. Tried with an FM-1 running 1.6.1: Pull, Send (every object read back the same), the Sequencer's steps with a condition, ratchet and nudge, the chain's lanes and a motion lock both ways, and Live. Automation recorded with 1.5.1 on a part's modulation destinations (\"Felucca P1 M1DST\" to M4DST), its QUANT, or a DRUM part's KIT (its E0) can land on a neighbouring value now, as those lists grew: check it.\n• SLOOP 2.7 is built in (it was 2.6): fifteen arp modes, KBD HOLD, each drum sound's TUNE and DECAY, favourites, GLO > MIDI 3 (the punch-in effects, drum notes and panel buttons over MIDI, MIDI clock out), SECTION A-D in place of PROJECT 1-4, held notes under a recorded one, and its synth kicks reshaped for small speakers. Your theme (2.7's screen colours) is kept with Pull and backups; a Send leaves the FM-1's own. An FM-1 on SLOOP 2.6 still takes a Send (it drops what 2.7 added: an arp mode past ORD plays as ORD), but Live needs 2.7 on both. The arp MODE host parameter (\"SLOOP P1 AMODE\") now spans fifteen modes, so its automation from before lands on other modes. Each drum sound's TUNE and DECAY are not host parameters and Live does not carry them (Pull and Send do). Tried with an FM-1 running 2.7: Pull, Send (every object read back the same), part 2's locks, nudges and conditions both ways, and Live.\n• Melodee 1.4.1 is built in (it was 1.3.4): SID's C64 models and its SID KIT and SID DIGI drum kits, a TONE on each insert and shared return slot (the host parameters \"Melodee P1 FX1TONE\", \"Melodee RFX1TONE\" and so on), MIDI IN routing to channels 5-16, and its one shared U001-U384 preset bank. The host parameters from before keep their names; the engine's eight follow its new numbering. Projects and backups from 1.3 open on it, their preset banks moved into the shared bank as the FM-1 does it, so 1.3.4 is not kept beside it (0.13 and 1.1.0 still are). An FM-1 on Melodee 1.3.6 or older cannot read 1.4's projects: the plugin pulls from it only, and says to update it with Melodee's installer. 1.4.0 is synced as 1.4.1 (the same firmware). A 1.4 project uses one track at first (the FM-1's Stage adds more): copying a part's sound to one its project does not use yet says so; a Send of the whole project brings them all. Tried with an FM-1 running 1.4.1: Pull, Send, sound copies, pattern banks and Live.\n• baud girl's FM-1+VA 101 is the release the plugin syncs with (it was 0.97): the same formats. Tried with an FM-1 running 101: all 128 presets written and read back, preset and pattern round trips. Her betas 0.98 and 0.99 are named as such. The stock presets were checked on it too: after M-VAVE's own factory restore, all 128 voices read back as the plugin's, byte for byte.\n• More firmwares are named. An FM-1 running CoralFlower, PurpleMonkey, X0X, Jangada, ORBIT, DUELL, Optimist, MONK-1, CTL-1, AMB-1, FuMi-1, FoMni, FiMba-1, TRIBE, Dinghy, Hortator or FM-106 is named as such and said to be not supported yet, instead of being taken for Felucca or FM-1+VA (most answer as Felucca does, or with Felucca's own numbers). Where two answer alike, both are named. The plugin now asks a firmware for its name from FM-1_200 up (it asked from FM-1_900).\n\n## Fixed\n• FM-1+VA: a pattern the FM-1 never wrote can be sent back. After another firmware used its memory, a pattern reads as empty but its steps are erased flash, which FM-1+VA refused when sent back (\"a value out of range\"). Such a pattern now goes from its steps instead.\n• A pattern's Pull or Send no longer fails on one lost reply. About one reply in a few thousand is lost on the FM-1's USB MIDI; a pattern's steps are now asked again once (Felucca, SLOOP, Melodee).\n\n## Added\n• FM1 Open V12, M-VAVE's own open firmware, as a firmware choice: built from the open source of its browser preview (not M-VAVE's closed engine), its eight tracks and six sound sources, sequencer and 16 demo projects play on its own front panel and screen, and its projects are saved with the host's project. An FM-1 running it is recognised (FM-1_8000012, seen on an FM-1 running V12, and M-VAVE's other FM1 Open builds), and its FM-1 tab pulls from and sends to it as M-VAVE's workbench does: the project it plays (and into one of its 16 slots), a track's sound, a slot loaded and pulled, and its sample bank (a pulled one is kept with the host's project). The project a Send replaces, and the bank a sample Send replaces, are saved in the library first, as .fm1 and .fm1s files the workbench imports; what a slot held before a Send saves into it is not kept. A sample Send cannot be stopped once writing starts: FM1 Open erases its bank first, and if the connection is lost then, the FM-1 has no samples until a bank is sent again (the plugin says so). A busy FM-1 is asked again. No Live: FM1 Open has no message for one value changed, and a sound sent whole would cut what plays. No host parameters yet. Tried with an FM-1 running V12: Pull, Send, a track's sound, the slots' names and the sample bank both ways (saving into a slot not yet).\n…"
   },
   "commit": {
    "date": "2026-10-16",
    "title": "Release 0.10.0",
    "url": "https://github.com/jbschooley/Virtual-FM-1/commit/c52668953231655046ee142d2b3ab4fd2c8ca0b4"
   },
   "stars": 48,
   "created": "2026-09-29",
   "about": "A software M-VAVE FM-1: FM synth app and VST3/AU plugin with two-way preset and pattern sync over the FM-1+VA firmware",
   "image": "https://raw.githubusercontent.com/jbschooley/Virtual-FM-1/HEAD/docs/images/fm-editor.png",
   "images": [
    "https://raw.githubusercontent.com/jbschooley/Virtual-FM-1/HEAD/docs/images/fm-editor.png",
    "https://raw.githubusercontent.com/jbschooley/Virtual-FM-1/HEAD/docs/images/felucca-library.png",
    "https://raw.githubusercontent.com/jbschooley/Virtual-FM-1/HEAD/docs/images/felucca-device.png",
    "https://raw.githubusercontent.com/jbschooley/Virtual-FM-1/HEAD/docs/images/phone-felucca.png"
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false,
   "imagesSeen": 1
  },
  {
   "links": [],
   "name": "SMK37 OPEN",
   "repo": "m-vave/smk37_open",
   "by": "m-vave",
   "fam": "indep",
   "lic": "?",
   "board": "smk37",
   "types": [
    "groovebox",
    "synth"
   ],
   "auto": "trusted",
   "autoAt": "2026-10-23",
   "byTrusted": true,
   "seen": "2026-10-23",
   "tools": [],
   "release": {
    "tag": "V01",
    "url": "https://github.com/m-vave/smk37_open/releases/tag/V01",
    "assets": [],
    "prerelease": true,
    "date": "2026-10-23",
    "title": "V01",
    "notes": "SMK37 OPEN V01"
   },
   "commit": {
    "date": "2026-10-23",
    "title": "SMK37 OPEN V01",
    "url": "https://github.com/m-vave/smk37_open/commit/b2d6bcbcd724adb13bcf85e44cfa16bb2c8153a8"
   },
   "stars": 25,
   "created": "2026-10-23",
   "about": "SMK37 OPEN V01 firmware and web workbench for M-VAVE SMK-37 Pro and Elite, with the matching binary SDK.",
   "image": null,
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false
  },
  {
   "links": [],
   "name": "felucca-bsp",
   "repo": "hugelton/felucca-bsp",
   "by": "hugelton",
   "fam": "felucca",
   "lic": "MPL-2.0",
   "status": "Beta. Split out of Felucca. Firmware is built on it through fm1-base, and two firmwares are its proof points so far: CTL-1 (Bluetooth MIDI) and Radio",
   "types": [
    "synth"
   ],
   "auto": "trusted",
   "autoAt": "2026-10-23",
   "byTrusted": true,
   "seen": "2026-10-23",
   "tools": [],
   "commit": {
    "date": "2026-11-05",
    "title": "Merge branch 'rescue-uc25': tools/fm1_rescue.py takes the UC25HQ80",
    "url": "https://github.com/hugelton/felucca-bsp/commit/f878800967e66e721dfbc9a4f5fe1835772ae8fc"
   },
   "stars": 20,
   "created": "2026-10-09",
   "about": "A base for custom firmware on M-VAVE synthesizers built around JieLi chips. It holds the chip layer (clock, interrupts, flash, USB, UART, timers, boot entry) and one directory of board code per device. It has no sound code and no user…",
   "image": null,
   "readmeNotes": {
    "version": "",
    "text": "Status: beta. Split out of Felucca. Firmware is built on it through fm1-base, and two firmwares are its proof points so far: CTL-1 (Bluetooth MIDI) and Radio (WiFi). Expect changes to file names and layout.",
    "date": "2026-11-05",
    "url": "https://github.com/hugelton/felucca-bsp#readme"
   },
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "source",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer and emulator",
     "https://hugelton.github.io/Felucca/"
    ]
   ],
   "name": "Felucca's web pages",
   "repo": "hugelton/Felucca-WebApp",
   "by": "hugelton",
   "fam": "tool",
   "lic": "GPL-3.0",
   "type": "installer",
   "auto": "trusted",
   "autoAt": "2026-10-24",
   "byTrusted": true,
   "seen": "2026-10-24",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer and emulator",
     "url": "https://hugelton.github.io/Felucca/webapp/installer/",
     "from": "list",
     "front": "https://hugelton.github.io/Felucca/"
    }
   ],
   "commit": {
    "date": "2026-10-28",
    "title": "Installer credits: Felucca-Engines (MIT), felucca-bsp (MPL-2.0), the …",
    "url": "https://github.com/hugelton/Felucca-WebApp/commit/64eb0ff8dfd2d0bb05a4e815c879a5d15db7b39a"
   },
   "stars": 9,
   "created": "2026-10-06",
   "about": "Felucca's web pages: the installer and the editor (Web MIDI).",
   "image": null,
   "pageFiles": [
    {
     "name": "felucca-1.8.1.fwsc",
     "url": "https://hugelton.github.io/Felucca/firmware/felucca-1.8.1.fwsc",
     "page": "https://hugelton.github.io/Felucca/webapp/installer/",
     "found": "named",
     "etag": "W/\"6aeaff5e-94fee\"",
     "size": 557895,
     "check": {
      "sha256": "187d4a9bc5b555866848d8e2c9964bea134d764cdeb62712a30da1825c5caf15",
      "bytes": 610286,
      "githubSha": null,
      "loader": true,
      "package": true,
      "identity": "FM-1_900",
      "sizeOk": true,
      "ok": true,
      "says": "Looks like an FM-1 update package with Felucca's update loader, identity FM-1_900"
     },
     "sha256": "187d4a9bc5b555866848d8e2c9964bea134d764cdeb62712a30da1825c5caf15"
    }
   ],
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "tool",
   "experimental": false
  },
  {
   "links": [
    [
     "Installer",
     "https://isod89.github.io/sloop-pro/"
    ]
   ],
   "name": "SLOOP Pro",
   "repo": "isod89/sloop-pro",
   "by": "isod89",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "status": "SLOOP Pro 2.8.4, a beta built on SLOOP 2.8.4. Install at your own risk (read the safety notes); your unit's calibration is never written, and M-VAVE's own updater takes you back at any time.",
   "types": [
    "groovebox"
   ],
   "board": "smk37",
   "auto": "trusted",
   "autoAt": "2026-10-25",
   "byTrusted": true,
   "seen": "2026-10-25",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://isod89.github.io/sloop-pro/webapp/installer/",
     "from": "list",
     "front": "https://isod89.github.io/sloop-pro/"
    }
   ],
   "release": {
    "tag": "v2.8.4",
    "url": "https://github.com/isod89/sloop-pro/releases/tag/v2.8.4",
    "assets": [
     {
      "name": "sloop-pro-2.8.4.fwsc",
      "url": "https://github.com/isod89/sloop-pro/releases/download/v2.8.4/sloop-pro-2.8.4.fwsc",
      "size": 651264,
      "sha256": "7c18163fd2088663ff057b729419e4ff3b08ceb77ad72072fced3c26a8aeb80a",
      "check": {
       "sha256": "7c18163fd2088663ff057b729419e4ff3b08ceb77ad72072fced3c26a8aeb80a",
       "bytes": 651224,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "sloop-pro-editor-2.8.4.html",
      "url": "https://github.com/isod89/sloop-pro/releases/download/v2.8.4/sloop-pro-editor-2.8.4.html",
      "size": 975872,
      "sha256": "35adc59731e2747df3cedbaf97bb463bb904067b623955ae495a047d761ccfc0"
     },
     {
      "name": "sloop-pro-elite-2.8.4.fwsc",
      "url": "https://github.com/isod89/sloop-pro/releases/download/v2.8.4/sloop-pro-elite-2.8.4.fwsc",
      "size": 651264,
      "sha256": "c6278514ab3ca7b0bfbe3f976baead02cc2adcd801e39166130cb72a4b42705b",
      "check": {
       "sha256": "c6278514ab3ca7b0bfbe3f976baead02cc2adcd801e39166130cb72a4b42705b",
       "bytes": 651224,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "sloop-pro-mke-2.8.4.fwsc",
      "url": "https://github.com/isod89/sloop-pro/releases/download/v2.8.4/sloop-pro-mke-2.8.4.fwsc",
      "size": 651264,
      "sha256": "be1af47399b351a3c8e1147d9afe091199b5bc9c951db4515a2459f6ff7de61d",
      "check": {
       "sha256": "be1af47399b351a3c8e1147d9afe091199b5bc9c951db4515a2459f6ff7de61d",
       "bytes": 651220,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-30",
    "title": "SLOOP Pro 2.8.4",
    "notes": "## SLOOP 2.8.4: a bug-fix release (cleaner fades, knobs, unison, tuning)\n\nA bug-fix release. Thanks to everyone who reported issues on GitHub: every fix below has its own test, and the whole firmware was checked again (the editor's protocol, MIDI in and a damaged flash fuzzed, every engine, sound and key measured).\n\nCleaner sound\n• No more distortion at the end of notes. The mix rounded every part down to 16 steps of the 16-bit output, so a fading note carried a buzz that followed it, on the 3.5 mm output and on USB. The mix now rounds properly: about 10 times less error, the quiet tails are clean.\n• UNISON no longer stacks its voices in phase. Most engines started every unison voice at the same phase, up to +18 dB louder than POLY on some sounds. Each voice now starts apart, as a unison should, and the level matches POLY.\n• PHYS strings are in tune. They played sharp, by up to a semitone on the low notes of HARPSICH (STR PLUCK, BANJO, PLUCK BASS, the guitars). Now within 2 cents; KOTO, SITAR and TANPURA bend with their curved bridge, as designed.\n• The top of the keyboard follows the keys. NOISE's NZ ARCADE, SAMPLE and GRAIN played one pitch over the upper keys (the top octave of the sampled sounds); they now go on rising. A GRAIN note played while the one before is fading out is no longer almost silent.\n\nControls\n• A firm press on a layer button (GLO, EDIT, ARP, SEQ, SEL, FX, SAVE) opens its pages. Before, a press longer than 0.45 s opened nothing; now up to one second counts as a tap.\n• On REC READY, a knob changes only its own value: KNOB 3 (START) no longer moves the loop LENGTH too. The same fix covers every page: a knob turned alone changes one value.\n\nYour data\n• The SONG screen's confirmations (OCT+ to load, REC to replace) always ask again: one left unconfirmed could load or overwrite a section with a single press weeks later.\n• Installed after Clipper, SLOOP no longer plays track 1 two octaves high: a working project left by Clipper had sounds on engines SLOOP does not have, read as another engine. Those parts now start with their default sound; the patterns stay.\n• MIDI Bank Select 8 + Program Change (user presets) shows the right message.\n• Safer loading: a user drum kit with an odd root note, or a project file with out-of-range velocities, plays normally.\n\nInstall and go back\n• Going back to the official firmware: use M-VAVE's M-UPGRADE with FM-1 V16; if it does not find the FM-1, Clipper's installer page and its Return to the official firmware work with SLOOP too (see the guide).\n\nCompatibility\n• Projects, presets, samples and settings are kept when you update, and the project format is unchanged.\n• A few sounds change a little on purpose: the PHYS strings (now in tune), the unison sounds, NZ ARCADE.\n\nInstall from the browser: https://isod89.github.io/sloop-fm1/ (Chrome or Edge, the FM-1 on USB)."
   },
   "commit": {
    "date": "2026-10-30",
    "title": "SLOOP Pro 2.8.4 for GitHub: the online installer in docs/ (the three …",
    "url": "https://github.com/isod89/sloop-pro/commit/701844ba0103c434b4fe4467373857b794487b51"
   },
   "stars": 8,
   "created": "2026-10-24",
   "about": "SLOOP Pro: the SLOOP groovebox firmware on the M-VAVE SMK-37",
   "image": "https://raw.githubusercontent.com/isod89/sloop-pro/HEAD/assets/logo/sloop-logo.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "fx-hold",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/isod89/sloop-pro/HEAD/assets/logo/sloop-logo.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/isod89~sloop-pro.jpg"
   ]
  },
  {
   "links": [
    [
     "Installer",
     "https://isod89.github.io/clipper-pro/"
    ]
   ],
   "name": "Clipper Pro",
   "repo": "isod89/clipper-pro",
   "by": "isod89",
   "fam": "felucca",
   "lic": "GPL-3.0",
   "status": "Clipper Pro 1.3, a bug-fix release, built on Clipper 1.3, tested on the SMK-37 as 1.2.",
   "types": [
    "synth"
   ],
   "board": "smk37",
   "auto": "trusted",
   "autoAt": "2026-10-28",
   "byTrusted": true,
   "seen": "2026-10-28",
   "tools": [
    {
     "kind": "installer",
     "label": "Installer",
     "url": "https://isod89.github.io/clipper-pro/webapp/installer/",
     "from": "list",
     "front": "https://isod89.github.io/clipper-pro/"
    }
   ],
   "release": {
    "tag": "v1.3",
    "url": "https://github.com/isod89/clipper-pro/releases/tag/v1.3",
    "assets": [
     {
      "name": "clipper-pro-1.3.fwsc",
      "url": "https://github.com/isod89/clipper-pro/releases/download/v1.3/clipper-pro-1.3.fwsc",
      "size": 651264,
      "sha256": "f8b539209d8650a2be3bb896e4565749119d7ee75602dab281d667599cabbb86",
      "check": {
       "sha256": "f8b539209d8650a2be3bb896e4565749119d7ee75602dab281d667599cabbb86",
       "bytes": 651245,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "clipper-pro-editor-1.3.html",
      "url": "https://github.com/isod89/clipper-pro/releases/download/v1.3/clipper-pro-editor-1.3.html",
      "size": 754688,
      "sha256": "35a716c76b4401567237bc98712be3183a6de05744d37a2624480421e88a4121"
     },
     {
      "name": "clipper-pro-elite-1.3.fwsc",
      "url": "https://github.com/isod89/clipper-pro/releases/download/v1.3/clipper-pro-elite-1.3.fwsc",
      "size": 651264,
      "sha256": "6774c61553d636d8aae8e8f83fe4938e1c28958d396bdf1b7dd6ebc9fbbe5728",
      "check": {
       "sha256": "6774c61553d636d8aae8e8f83fe4938e1c28958d396bdf1b7dd6ebc9fbbe5728",
       "bytes": 651249,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     },
     {
      "name": "clipper-pro-mke-1.3.fwsc",
      "url": "https://github.com/isod89/clipper-pro/releases/download/v1.3/clipper-pro-mke-1.3.fwsc",
      "size": 651264,
      "sha256": "d4e8b7ba588aa3126d69588d98c8d442e104ebe2795731ae3fc1d8515985e47a",
      "check": {
       "sha256": "d4e8b7ba588aa3126d69588d98c8d442e104ebe2795731ae3fc1d8515985e47a",
       "bytes": 651241,
       "githubSha": true,
       "loader": true,
       "package": true,
       "identity": null,
       "sizeOk": true,
       "ok": true,
       "says": "Looks like an FM-1 update package with Felucca's update loader"
      }
     }
    ],
    "date": "2026-10-30",
    "title": "Clipper Pro 1.3",
    "notes": "## Clipper Pro 1.3: a bug-fix release (cleaner fades, knobs, unison, tuning, faders)\n\nA bug-fix release. Thanks to everyone who reported issues on GitHub: every fix below has its own test, and the whole firmware was checked again (the editor's protocol, MIDI in and a damaged flash fuzzed, every engine, sound and key measured).\n\nCleaner sound\n• No more distortion at the end of notes. The mix rounded every part down to 16 steps of the 16-bit output, so a fading note carried a buzz that followed it, on the 3.5 mm output and on USB. The mix now rounds properly: about 10 times less error, the quiet tails are clean.\n• UNISON no longer stacks its voices in phase. Most engines started every unison voice at the same phase, up to +18 dB louder than POLY on some sounds, and FMX and MACRO peaked far over full scale. Each voice now starts apart, as a unison should, and the level matches POLY.\n• PHYS strings are in tune. They played sharp, by up to a semitone on the low notes of HARPSICH (STR PLUCK, BANJO, PLUCK BASS, the guitars). Now within 2 cents; KOTO, SITAR and TANPURA bend with their curved bridge, as designed.\n• The top of the keyboard follows the keys. NOISE's NZ ARCADE, SAMPLE and GRAIN played one pitch over the upper keys (SAMPLE CHOIR from A6, VOX CLOUD from G6); they now go on rising. A GRAIN note played while the one before is fading out is no longer almost silent.\n• VECTOR: changing the FILTER MODEL while a note plays no longer gives a loud click.\n• FMX: a voice taken back from another note now starts clean (before, it kept the old note's state: a DC offset and a changing timbre).\n\nControls\n• A firm press on a layer button (GLO, EDIT, ARP, SEQ, SEL) opens its pages. Before, a press longer than 0.45 s opened nothing; now up to one second counts as a tap.\n• On REC READY, a knob changes only its own value: KNOB 3 (START) no longer moves the loop LENGTH too. The same fix covers every page: a knob turned alone changes one value.\n• The faders follow a real volume curve: silent at the bottom, the power-on level at the middle, full at the top. Before, the whole lower half sounded muted.\n• The sustain pedal can be held as long as you like: after two minutes it was let go, and then worked the wrong way round.\n• TRS MIDI OUT: no more note left hanging on the other synth when many controls move at once.\n• The pad and button lights no longer freeze after 25 days switched on.\n\nYour data\n• Projects loaded from SLOOP keep Clipper's own values (SPREAD, LFO 3, ENV 2 LOOP, the macros, matrix slots 7 to 12, the delay MODE) across a power cycle.\n• Editor backups now include your user wavetables (WAVE USR1..4), which a restore used to erase, and every value of your user presets.\n• Safer loading: a user drum kit with an odd root note, or a project file with out-of-range velocities, plays normally.\n\nInstall and go back\n• Installing from Chrome on Windows no longer freezes the browser: the page releases the keyboard's MIDI while it restarts. Thanks to ChanceTheMaker, whose sloop-smk showed the way.\n• Return to the official firmware accepts M-VAVE's new V16 (and V15). M-VAVE now offers only V16, which the installer refused.\n\nCompatibility\n• Projects, presets, samples and settings are kept when you update, and the project format is unchanged.\n• A few sounds change a little on purpose: the PHYS strings (now in tune), the unison sounds, NZ ARCADE.\n\nInstall from the browser: https://isod89.github.io/clipper-pro/ (Chrome or Edge, the SMK-37 on USB)."
   },
   "commit": {
    "date": "2026-10-30",
    "title": "Clipper Pro 1.3 for GitHub: the online installer in docs/ (the three …",
    "url": "https://github.com/isod89/clipper-pro/commit/3dc0ef2ce73a3c0fe7451989a8b342d8c8a45c93"
   },
   "stars": 8,
   "created": "2026-10-27",
   "about": "Clipper Pro: the Clipper synthesizer firmware on the M-VAVE SMK-37",
   "image": "https://raw.githubusercontent.com/isod89/clipper-pro/HEAD/assets/logo/clipper-logo.png",
   "readAt": "2026-11-05T22:06:40.637Z",
   "install": "package",
   "experimental": false,
   "screens": [
    "home",
    "seq",
    "seq-hold",
    "fx",
    "env",
    "lfo",
    "arp",
    "arp-hold",
    "scl",
    "scl-hold",
    "edit",
    "edit-hold",
    "glo",
    "glo-hold",
    "home-hold"
   ],
   "imagesSeen": 1,
   "images": [
    "https://raw.githubusercontent.com/isod89/clipper-pro/HEAD/assets/logo/clipper-logo.png",
    "https://stanleygurvich.github.io/FMDB_FM1_FirmwareDatabase/snaps/isod89~clipper-pro.jpg"
   ]
  }
 ],
 "plugins": [
  {
   "name": "Felucca-Engines plugins",
   "repo": "hugelton/Felucca-Engines",
   "by": "hugelton",
   "lic": "MIT",
   "about": "Hügelton's own plugin engines for Felucca 1.9: ANALOG, PHASE, LOFI, TRIO, WHEEL and NOISE rebuilt to take the place of the built-in engines, and FOLD, a small engine of its own that the plugin guide uses as its example.",
   "links": [
    [
     "Plugin guide",
     "https://github.com/hugelton/Felucca-Engines/blob/main/docs/PLUGINS.md"
    ],
    [
     "Plugin ids",
     "https://github.com/hugelton/Felucca-Engines/blob/main/docs/PLUGIN_IDS.md"
    ],
    [
     "Installing (Felucca)",
     "https://github.com/hugelton/Felucca/blob/main/docs/PLUGINS.md"
    ]
   ],
   "contains": [
    {
     "name": "ANALOG",
     "id": "ANLG",
     "replaces": 0,
     "src": "plugins/analog.c"
    },
    {
     "name": "PHASE",
     "id": "PHAS",
     "replaces": 2,
     "src": "plugins/phase.c"
    },
    {
     "name": "LOFI",
     "id": "LOFI",
     "replaces": 3,
     "src": "plugins/lofi.c"
    },
    {
     "name": "TRIO",
     "id": "TRIO",
     "replaces": 6,
     "src": "plugins/trio.c"
    },
    {
     "name": "WHEEL",
     "id": "WHEL",
     "replaces": 7,
     "src": "plugins/wheel.c"
    },
    {
     "name": "NOISE",
     "id": "NOIS",
     "replaces": 11,
     "src": "plugins/noise.c"
    },
    {
     "name": "FOLD",
     "id": "xFLD",
     "own": true,
     "src": "examples/fold/fold.c",
     "example": true
    }
   ],
   "note": "Source only so far (checked 2026-11-02): no built .fep files in a release yet, and building one needs the FM-1's own toolchain. Needs Felucca 1.9 (a beta), whose plugin slots take two.",
   "fam": "plugin",
   "commit": {
    "date": "2026-10-28",
    "title": "engine_t: an optional post hook, once per block and part after its vo…",
    "url": "https://github.com/hugelton/Felucca-Engines/commit/d0260074ce100a47675814b7f38d61f11176c926"
   },
   "stars": 5,
   "created": "2026-10-14",
   "install": "source",
   "host": "Felucca 1.9+"
  }
 ],
 "changes": [
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "page",
   "key": "ruppert/organvave-1",
   "text": "OrganVave-1: organvave-1-v0.9.45.fwsc on its own page"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "charlesvestal/fm1-loom",
   "text": "LOOM-8 v0.13"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "charlesvestal/fm1-polly",
   "text": "Polly v0.6.1"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "de-pattern/ravel_fm1",
   "text": "Ravel v1.19.0"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "charlesvestal/fm1-x0x",
   "text": "X0X v1.2.1"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "charlesvestal/fm1-fomni",
   "text": "FoMni-1 v0.4.1"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "charlesvestal/fm1-amb",
   "text": "AMB-1 v1.3.1"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "charlesvestal/fm1-ctl",
   "text": "CTL-1 v1.0.1"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "reytian/fm1-min1",
   "text": "MIN-1 v0.2.2"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "charlesvestal/fm1-monk",
   "text": "MONK-1 v0.10"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "dsablic/sidou",
   "text": "SIDOU v1.7.0"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "page",
   "key": "w0ts/optimist",
   "text": "Optimist: optimist-0.2-default.fwsc, optimist-0.1-drum-machine.fwsc, optimist-0.1-everything-that-fits.fwsc, optimist-0.1-fm-va-studio.fwsc on its own page"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "charlesvestal/fm1-mocky",
   "text": "Mocky v0.9.2"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "jvitkauskas/m-bootloader",
   "text": "m-bootloader v2.0"
  },
  {
   "at": "2026-11-05T22:06:40.637Z",
   "kind": "release",
   "key": "jvitkauskas/m-flasher",
   "text": "m-flasher v0.9.0"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "release",
   "key": "nacsez/fmer",
   "text": "FMER build-736-r2"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "page",
   "key": "seattleuser0/orangecat",
   "text": "Orange Cat: melodee-0.15.0.fwsc, melodee-nightly.fwsc on its own page"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "page",
   "key": "joshbartlettband-web/felucca-rainbow",
   "text": "Rainbow mode: felucca-1.1.5-rb.fwsc on its own page"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "release",
   "key": "de-pattern/ravel_fm1",
   "text": "Ravel v1.16.1"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "release",
   "key": "leonardomirabal/frodhes",
   "text": "Frodhes v0.9.8"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "page",
   "key": "w0ts/optimist",
   "text": "Optimist: optimist-0.2-default.fwsc, optimist-0.1-drum-machine.fwsc, optimist-0.1-everything-that-fits.fwsc, optimist-0.1-fm-va-studio.fwsc on its own page"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "release",
   "key": "konsumer/fm1buddy",
   "text": "fm1buddy v0.1.29"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "release",
   "key": "quixotic7/transitfm1",
   "text": "TransitFM1 v0.1.4"
  },
  {
   "at": "2026-11-05T12:30:12.953Z",
   "kind": "page",
   "key": "quixotic7/transitfm1",
   "text": "TransitFM1: transit-0.1.3.fwsc, transit-0.1.1.fwsc on its own page"
  },
  {
   "at": "2026-11-05T00:56:15.747Z",
   "kind": "release",
   "key": "de-pattern/ravel_fm1",
   "text": "Ravel v0.91.0"
  },
  {
   "at": "2026-11-05T00:56:15.747Z",
   "kind": "release",
   "key": "quixotic7/remotefm1",
   "text": "RemoteFM1 v0.3.3"
  },
  {
   "at": "2026-11-05T00:56:15.747Z",
   "kind": "page",
   "key": "quixotic7/remotefm1",
   "text": "RemoteFM1: remote-0.3.1.fwsc, remote-usb-0.3.1.fwsc, remote-0.3.0.fwsc, remote-usb-0.3.0.fwsc on its own page"
  },
  {
   "at": "2026-11-05T00:56:15.747Z",
   "kind": "release",
   "key": "delirioux/tuna",
   "text": "Tuna v1.2"
  },
  {
   "at": "2026-11-04T19:54:57.450Z",
   "kind": "release",
   "key": "ruppert/fmini-1",
   "text": "FMini-1 v2.2.0"
  },
  {
   "at": "2026-11-04T19:54:57.450Z",
   "kind": "pre",
   "key": "nacsez/fmer",
   "text": "FMER build-736-r2 (pre-release)"
  },
  {
   "at": "2026-11-04T19:54:57.450Z",
   "kind": "page",
   "key": "joshbartlettband-web/felucca-rainbow",
   "text": "Rainbow mode: felucca-1.1.5-rb.fwsc on its own page"
  },
  {
   "at": "2026-11-04T19:54:57.450Z",
   "kind": "release",
   "key": "de-pattern/ravel_fm1",
   "text": "Ravel v1.13.0"
  },
  {
   "at": "2026-11-04T19:54:57.450Z",
   "kind": "release",
   "key": "dsablic/sidou",
   "text": "SIDOU v1.6.0"
  },
  {
   "at": "2026-11-04T19:54:57.450Z",
   "kind": "release",
   "key": "antonioaltea/fmel-1",
   "text": "fmel-1 v1.2"
  },
  {
   "at": "2026-11-04T19:54:57.450Z",
   "kind": "release",
   "key": "glvno/matryoshka",
   "text": "Matryoshka v1.9.1"
  },
  {
   "at": "2026-11-04T19:54:57.450Z",
   "kind": "release",
   "key": "kurogedelic/fm-1-transporter",
   "text": "FM-1 Transporter v0.1.0"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "release",
   "key": "seajaysec/386-dx-fm1-karaokebot",
   "text": "386DX v2.0"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "release",
   "key": "hugelton/felucca",
   "text": "Felucca v1.7.0"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "page",
   "key": "hugelton/felucca",
   "text": "Felucca: felucca-1.8.1.fwsc on its own page"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "page",
   "key": "seattleuser0/orangecat",
   "text": "Orange Cat: melodee-0.15.0.fwsc, melodee-nightly.fwsc on its own page"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "page",
   "key": "juanjiant-bit/jiant",
   "text": "JIANT FM: felucca-V10.60-43b8ea8.fwsc, felucca-V10.26-5db7ffc.fwsc, felucca-V10.6c.fwsc, felucca-v0.9.17-73726de.fwsc on its own page"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "pre",
   "key": "dspaudio/orbit",
   "text": "ORBIT v1.0.1B (pre-release)"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "release",
   "key": "isod89/clipper-fm1",
   "text": "Clipper v1.3.1"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "release",
   "key": "isod89/sloop-fm1",
   "text": "SLOOP v2.8.5"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "release",
   "key": "glvno/matryoshka",
   "text": "Matryoshka v1.9.0"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "release",
   "key": "konsumer/fm1buddy",
   "text": "fm1buddy v0.1.28"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "release",
   "key": "jvitkauskas/m-bootloader",
   "text": "m-bootloader v1.3"
  },
  {
   "at": "2026-11-04T12:16:56.789Z",
   "kind": "release",
   "key": "jvitkauskas/m-flasher",
   "text": "m-flasher v0.8.2"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "release",
   "key": "texasradio/bb1-firmware",
   "text": "BB1 v2.1.1"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "release",
   "key": "deadactive/hortator",
   "text": "Hortator drum-v1.0.1"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "page",
   "key": "deadactive/hortator",
   "text": "Hortator: felucca-drum-1.0.1-c8cca2c.fwsc, felucca-drum-1.0.1-c8cca2c-ble.fwsc on its own page"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "release",
   "key": "grimmbient/grimm",
   "text": "GR!MM v2.0.2"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "page",
   "key": "seattleuser0/orangecat",
   "text": "Orange Cat: melodee-0.15.0.fwsc, melodee-nightly.fwsc on its own page"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "page",
   "key": "ruppert/organvave-1",
   "text": "OrganVave-1: organvave-1-v0.9.44.fwsc on its own page"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "release",
   "key": "de-pattern/ravel_fm1",
   "text": "Ravel v1.12.0"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "release",
   "key": "illuminus5/skiff",
   "text": "Skiff v2.2"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "page",
   "key": "juanjiant-bit/jiant",
   "text": "JIANT FM: felucca-V10.60-43b8ea8.fwsc, felucca-V10.26-5db7ffc.fwsc, felucca-v0.9.17-73726de.fwsc, felucca-v0.9.9-par12-527c7e4.fwsc on its own page"
  },
  {
   "at": "2026-11-04T00:41:02.066Z",
   "kind": "release",
   "key": "jvitkauskas/m-flasher",
   "text": "m-flasher v0.8.0"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "quixotic7/choralrootfm1",
   "text": "ChoralRoot FM-1 v0.29.2"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "page",
   "key": "quixotic7/choralrootfm1",
   "text": "ChoralRoot FM-1: choralroot-0.29.1.fwsc, choralroot-0.29.1-1core.fwsc, choralroot-0.29.fwsc, choralroot-0.29-1core.fwsc on its own page"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "ruppert/fmini-1",
   "text": "FMini-1 v2.1.0"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "deadactive/hortator",
   "text": "Hortator drum-v1.0.0"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "page",
   "key": "deadactive/hortator",
   "text": "Hortator: felucca-drum-1.0.0-cb896fb.fwsc, felucca-drum-1.0.0-cb896fb-ble.fwsc on its own page"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "pre",
   "key": "grimmbient/grimm",
   "text": "GR!MM v2.0.2 (pre-release)"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "page",
   "key": "seattleuser0/orangecat",
   "text": "Orange Cat: melodee-0.15.0.fwsc, melodee-nightly.fwsc on its own page"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "page",
   "key": "ruppert/organvave-1",
   "text": "OrganVave-1: organvave-1-v0.9.41.fwsc on its own page"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "de-pattern/ravel_fm1",
   "text": "Ravel v1.9.0"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "djstrombo/smk-dee",
   "text": "SMK-dee v1.6.1"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "dspaudio/orbit",
   "text": "ORBIT v1.0.0"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "zvenson/dxsloop",
   "text": "sloopDX v4.0.1"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "antonioaltea/fmel-1",
   "text": "fmel-1 v1.1"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "glvno/matryoshka",
   "text": "Matryoshka v1.8.4"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "ocean/fm-switch",
   "text": "FM-SWITCH 0.1.1"
  },
  {
   "at": "2026-11-03T16:20:51.542Z",
   "kind": "release",
   "key": "ocean/fm1kit",
   "text": "FM1Kit 0.5.1"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "wulgaren/araminta",
   "text": "Araminta v3.7"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "wulgaren/araminta",
   "text": "Araminta: felucca-v3.7-gc9a7830.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "quixotic7/choralrootfm1",
   "text": "ChoralRoot FM-1 v0.29.1"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "quixotic7/choralrootfm1",
   "text": "ChoralRoot FM-1: choralroot-0.29.fwsc, choralroot-0.29-1core.fwsc, choralroot-0.28.fwsc, choralroot-0.28-1core.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "ruppert/fmini-1",
   "text": "FMini-1 v2.0.0"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "styvesgoupil/frasil",
   "text": "FRASIL v3.0"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "keremimo/melodee",
   "text": "Melodee v1.6.1"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "keremimo/melodee",
   "text": "Melodee: melodee-1.6.0.fwsc, melodee-1.5.1.fwsc, melodee-1.5.0.fwsc, melodee-1.4.5.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "seattleuser0/orangecat",
   "text": "Orange Cat: melodee-0.15.0.fwsc, melodee-nightly.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "ruppert/organvave-1",
   "text": "OrganVave-1: organvave-1-v0.9.39.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "inigohernandez/mono2k",
   "text": "MONO2K v1.7"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "de-pattern/ravel_fm1",
   "text": "Ravel v1.8.0"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "pre",
   "key": "quixotic7/remotefm1",
   "text": "RemoteFM1 v0.3.1-smk37.3 (pre-release)"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "hericdk/fm1-quest",
   "text": "FM1 Quest quest-43"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "hericdk/fm1-quest",
   "text": "FM1 Quest: fm1-quest-0.9.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "juanjiant-bit/jiant",
   "text": "JIANT FM: felucca-V10.46-8684ab3.fwsc, felucca-V10.26-5db7ffc.fwsc, felucca-v0.9.17-73726de.fwsc, felucca-v0.9.9-par12-527c7e4.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "hericdk/nomanskyfm",
   "text": "No Man Sky FM v0.9"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "hericdk/nomanskyfm",
   "text": "No Man Sky FM: nomanskyfm-0.9.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "hericdk/winampfm",
   "text": "winampFM v0.9"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "page",
   "key": "hericdk/winampfm",
   "text": "winampFM: winampfm-0.9.fwsc on its own page"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "sikkenworks/beetle",
   "text": "BEETLE V1.8.2"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "https://www.groove-os.com",
   "text": "Groove OS 2.0"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "zvenson/obervave",
   "text": "OberVave v3.3.2"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "dsablic/sidou",
   "text": "SIDOU v1.5.0"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "hed0rah/sqrl-1",
   "text": "SQRL-1 v1.1.0"
  },
  {
   "at": "2026-11-03T05:48:15.325Z",
   "kind": "release",
   "key": "glvno/matryoshka",
   "text": "Matryoshka v1.8.3"
  }
 ]
}
