pigeon
Free and open-source performance sampler firmware for the M-VAVE FM1. Chop samples, play drums, sequence beats, and perform live. Based on Felucca; GPL-3.0-only.
- Custom firmware
- Beta
- Medium brick risk
Source codeWebsite: theshrimpblimp.com
This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it
Support the developer
Links from the project's GitHub. The money goes to them, not to Firmware Hero.
PIGEON — complete feature list
0.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.
Instrument and sample storage
- Three tracks: Song 1, a 16-pad drum kit, and Song 2.
- Up to 32 chops per song, plus 16 drum hits: up to 80 assignments across the instrument.
- 500 KiB usable shared sample storage, including encoded audio, waveforms and seek data. Duration depends on format, bitrate and the other sounds loaded.
- Indexed mono MP3 or IMA ADPCM song playback; ADPCM drum hits and USB recordings.
- Eight shared song voices and four additional drum voices. Empty slots stay silent.
- Waveform display, scroll and zoom; two alternate chop layouts sharing source audio.
- Samples and chop settings persist in flash. Patterns share the loaded bank rather than carrying separate copies of its audio.
Chopping and performance
- Independently editable start/end boundaries and first-pass playback point.
- Forward or reverse per chop; semitone pitch and fine tuning in cents.
- Per-chop nondestructive gain and loop crossfade up to 8 ms; browser normalization.
- Envelope controls, held-loop/latch behavior, one-shot playback and choke groups.
- Split/join, copy whole chop, copy settings, duplicate, swap and move assignments.
- Chop-edit undo/redo and reset to original source assignments.
- Hold SEL and a key to audition the ending and loop while held; audition boundary changes immediately while editing.
- FIFO chop queues with repeated entries, selected-entry removal and queue inspection.
- 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%.
USB sampling and output
- Record incoming digital USB audio to the selected song or drum pad.
- Input level meter, latched clipping warning and remaining recording-time display.
- Immediate or threshold-triggered start; manual stop, seconds limit or bars limit.
- Audition an unsaved take with PLAY; fine/coarse start/end trimming and selected-range audition.
- Confirmed save to the selected destination, retry confirmation and take discard.
- Other songs/pads remain intact when the selected destination is saved.
- Failed, interrupted or overrun recordings are rejected instead of offered as successful takes.
- Input format: mono 16-bit PCM at 22.05 kHz, encoded to IMA ADPCM.
- Record the FM1's stereo master output on a computer over USB audio.
Keep sounds and reclaim space
- On-device Keep selected chops retains marked regions and trims unused source audio.
- Retain in the same song while preserving key numbers, or append to empty keys in the other song.
- Browser selected-chop trimming with encoded-space preview and local undo; retained chops are renumbered consecutively.
- Reclaim obsolete payloads by compacting the live bank.
- Browser chop collections preserve useful regions from multiple source songs independently of the current bank/session.
- Export/import collections, reorder collected sounds, and assemble song banks or drum kits.
Sequencer
- Step grid and piano roll edit the same sequences.
- 1–64 steps per track, with up to four notes per step.
- Live recording and chord-based step entry; stopped/unarmed note toggling.
- Velocity, gate, probability, repeats/ratchets, pitch, step nudge and conditions.
- Independent note length and nudge for notes within a chord; piano-roll duration display.
- Conditional fills and a:b conditions, Euclidean rhythms, DOUBLE/HALF tools and velocity/timing humanization.
- Swing, quantization, step duration/division, tempo timing and sample-end timing.
- Metronome and count-in; sequence undo/redo, automation and parameter locks.
- Custom note timing shares a 128-entry budget with automation/locks; the editor reports a full store.
Patterns and arrangement
- Saved patterns A–D, containing all three tracks' sequences, timing and automation.
- Pattern copy/paste, unsaved-work indication and overwrite confirmation.
- Quantized switching at the next bar or pattern end; change or cancel a pending launch.
- A 16-section arrangement with per-track pattern selections, repeats, section insertion/deletion and captured mutes.
- Complete session backup retains current work, saved patterns, arrangement and sample bank.
Mixer and effects
- Three-track mixer with levels, mutes and FX sends.
- Filter, delay, chorus, reverb, distortion and compression.
- Drum-pad playback controls and choke grouping.
MIDI and accessibility
- USB MIDI note/control integration and MIDI clock synchronization.
- Per-track MIDI channels, OMNI/OFF choices, incoming-note selection and MIDI screen wake.
- Standard firmware screen-reader support through the FM-1 Screen Reader protocol; no separate firmware fork required.
- Page/control/value announcements, WHERE/read-current-screen, transport/recording states, errors and confirmations.
- Emulator browser speech or screen-reader live-region output, repeat-last announcement and remembered preferences.
- Keyboard-accessible virtual keys, buttons and knobs.
Sample loader and session tools
- Browser-local audio import, editing, previews and encoding; Song 1/Song 2 assembly and up to 16 drum hits.
- Append multiple source files to a song, select sections, trim, rearrange and automatically slice remaining keys.
- Chop boundaries, playback point/direction, pitch/cents, gain, normalization, crossfade and matching audition previews.
- Waveform selection, zoom, numeric trim, validated drafts, Apply, reset and workspace undo/redo.
- Bank library and full-session library with summaries and overwrite previews.
- Export/import .kob sample banks, .pigeon complete sessions and .pigeon-chops collections.
Before you start
- How hard is it?
- EasyCopy a file or use a web page. No extra software.
- What you need
- A USB or MIDI cable
- Comfort with the command line
- A computer
- Can it break my device?
- Small chance of trouble, with a way to recover.
- Can I undo it?
- The project doesn't say. Assume you can't.
Did it work for you?
Did pigeon v0.5.0-beta.1 work on your M-VAVE FM-1?
No reports yet for v0.5.0-beta.1.
One-tap reports from owners. Bricked reports are checked before they count.
Compatibility
Devices: M-VAVE FM-1.
No compatibility information yet.
Getting started
From the project's README ("Build, back up and install"):
Follow BUILDING.md, then:
PYTHON=.venv/bin/python ./build-sampler.sh
Outputs are build/pigeon.fwsc and build/pigeon.bin. Building does not flash the FM1. Save a complete .pigeon recovery archive before updating. A .kob contains samples and chop settings; it does not contain all patterns/settings.
Use the sample loader’s firmware panel for a backed-up PIGEON update, or the CLI installer for supported installation/recovery paths. Updates use M-UPGRADE over USB MIDI SysEx. When moving from another custom firmware, follow TransitFM1 and the recovery guide; do not bypass compatibility checks. Keep USB power connected until installation and restart finish.
0.5 retains the 115-parameter project layout. Public 0.3.1 cannot read these projects. Modern chop metadata requires 0.5; uploaders check capabilities before writing. A bank using the expanded flash tail must be reduced before an older layout can be installed. See flash layout.
Risk and recovery
- Brick risk
- Medium
- Requires opening the device
- No
From the project's README ("Build, back up and install"):
Follow BUILDING.md, then:
PYTHON=.venv/bin/python ./build-sampler.sh
Outputs are build/pigeon.fwsc and build/pigeon.bin. Building does not flash the FM1. Save a complete .pigeon recovery archive before updating. A .kob contains samples and chop settings; it does not contain all patterns/settings.
Use the sample loader’s firmware panel for a backed-up PIGEON update, or the CLI installer for supported installation/recovery paths. Updates use M-UPGRADE over USB MIDI SysEx. When moving from another custom firmware, follow TransitFM1 and the recovery guide; do not bypass compatibility checks. Keep USB power connected until installation and restart finish.
0.5 retains the 115-parameter project layout. Public 0.3.1 cannot read these projects. Modern chop metadata requires 0.5; uploaders check capabilities before writing. A bank using the expanded flash tail must be reduced before an older layout can be installed. See flash layout.
Releases
| Version | Name | Released |
|---|---|---|
| v0.5.0-beta.1 | PIGEON 0.5.0-beta.1 — THE FINAL BETALatest | 21 October 2026 |
| v0.4.1 | PIGEON v0.4.1 — verified build provenance | 19 October 2026 |
| v0.4 | PIGEON V0.4 BETA: Some fixes, some cool stuff, some experimentsPre-release | 18 October 2026 |
| v0.3.1 | PIGEON v0.3.1 — Piano roll and sequencer polyphony | 16 October 2026 |
| v0.3 | PIGEON v0.3 | 15 October 2026 |
Credits, license and support
- License
- GPL-3.0