Firmware

pigeon-tool

Rising68/100

pigeon-tool is custom firmware for the M-VAVE FM-1, by @TheShrimpBlimp. Open source under GPL-3.0, latest release v2.0.0 (October 2026), 1 star on GitHub.

forM-VAVE FM-1·by@TheShrimpBlimp

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

Downloads
0
Star
1
Forks
0
Commits
30
Last commit
Get the source

No release files yet. Build from source.

GPL-3.0· TheShrimpBlimp/pigeon-tool·downloads come from the creator’s GitHub releases

29
Commits
1
Releases
29 commits and 1 release in the last year
Activity · last 12 months

PIGEON Sample Loader 2.0

Local browser sample editor and USB MIDI bank manager for PIGEON FM1 firmware. Created and directed by The Shrimp Blimp.

Run python3 tools/pigeon_gui.py, or double-click Open Pigeon.command on macOS. Use Chrome or Edge for USB transfers. The tool works offline after its cache is ready. See the detailed guide for instructions. Each song slot accepts multiple audio files: select several at once, or add more to append them. Select and delete sections, split and drag clips, then Apply to commit your song. The published storage limit is 496 KiB shared between both songs and the kit. Compatible with PIGEON v0.4 projects and older v0.3.1/v0.3 banks and projects. New v0.4 projects cannot be loaded by older firmware. Older connected firmware is limited to its reported capacity before upload. Whole imported sections come first, followed by automatic chops in the remaining slots.

AI was used for menial coding. All assets, direction, conceptualization, and thought are human. GPL-3.0-only; inherited code and assets retain their copyright and licence notices.

Standalone setup and checks

Install Python 3, then use Open Pigeon.command on macOS, Open Pigeon.bat on Windows, or ./Open Pigeon.sh on Linux. You can also run python3 tools/pigeon_gui.py. The launcher serves only web/ on 127.0.0.1; it needs no firmware checkout and does not contact the FM1 itself. Stop its terminal with Ctrl+C.

For development, install Node.js 22 or newer and run npm install. Run npm test for bank, protocol, archive, chop and project editing checks. Run npx playwright install chromium, then npm run test:browser for real browser import, persistence and offline checks. Browser installation needs internet once; running the tool does not.

tests/fixtures/expansion-project.funa is a synthetic project generated by the firmware repository's tests/pigeon_expansion_test.c. It contains no imported user audio. This repository validates JavaScript editing; native decoder and project-import compatibility checks remain in the firmware repository. Physical USB transfers still require hardware validation.

Set PIGEON_TEST_FIRMWARE to a local .fwsc path to include firmware-package validation in the browser suite; the default suite requires no firmware build.

Run python3 tests/test_launcher.py for a loopback launch/asset smoke test. Windows and Linux launchers are supplied; native OS/browser/device validation on those systems remains pending.

Banks, sessions and the emulator

A .kob bank contains audio, chops and playback settings. A .pigeon session also contains current/saved patterns and supported settings. Use Try this bank in emulator on the hosted loader, or import a saved bank/session in the emulator. The hosted loader and emulator must share an origin for direct handoff; the standalone local server does not bundle the emulator. Download and import a file when moving between origins.

Device connection and backups are under Connect / back up. Library entries are under Saved session library. Local editing and undo do not write to an FM1. Back up separately before Send bank to FM1; full-session restore makes its own recovery backup.

The v0.4 preparation updates project parsing to 115 parameters and all 15 step conditions. File editing stays local. The tool remains version 2.0.0; this is a firmware compatibility update.