PER|FORMER

eurorack sequencer

forked and maintained by Vinx Scorza

Firmware Download

Current firmware

Vinx FW v0.4.4

Download the latest UPDATE.DAT from GitHub Releases, copy it to the root of the SD card, then update from the PER|FORMER bootloader.

GitHub Releases Firmware update manual

File
UPDATE.DAT
Size
739,880 bytes
MD5
cdece633a139d4cc686164222595fc57
SHA-256
dd2bd0892d4e2077b543262dd5f42cf7e0d7a15469e10c5830940adb3d327043

The bootloader verifies UPDATE.DAT before writing it. If you are moving from another firmware line or fork, back up projects and settings before flashing.

PER|FORMER is a eurorack sequencer module designed for both live performance and work in the studio.
This Vinx Scorza line is a personal fork of the Mebitek fork of the original Westlicht PER|FORMER firmware, and is shaped by real performance use, custom behavior, and focused interaction and UI changes.

github.com/VinxScorza/performer

If you believe free software has value, accept that the work of the people who develop it has value too. Free as in freedom does not mean free labor. If this project is useful to you, consider supporting the people behind it. DONATE.
If you notice any bug or weird behavior, please report it. This fork moves fast, and I really need the feedback.
Documentation note: the User Manual and LP Cheatsheet are aligned through the current development line (former v0.3.2-vinx.* naming kept as historical reference), including the appendix, Launchpad material, and current simulator notes.

Major Vinx Features

This fork remains intentionally personal, exploratory, and performance-driven.
What I'm aiming for is a solid machine for live performance, but also a crazy one for experimenting.
The goal is not simply to add more options, but to push PER|FORMER toward stronger creative generators, safer destructive workflows, better live interaction, and a more complete simulator and documentation ecosystem.

Historical baseline: Mebitek and original Westlicht lineage.

Generators & Performance Workflow

  • Full evolution of the generator ecosystem (Random, Acid, Euclidean, Chaos), now unified under a coherent preview/apply safety model and consistent playable workflow across machine and Launchpad. Includes the introduction and consolidation of Acid (Layer + Phrase), the expansion of Chaos into Vandalize Sequence + Wreck Pattern, and the addition of Entropy as a dedicated subset for non-Note tracks.
  • Generator interaction is now more explicit and uniform: all generator pages enter on ORIGINAL, first preview requires explicit reroll, and footer/context action layouts were rewritten for a more consistent workflow.
  • Chaos/Entropy now follows strict explicit reroll flow (no implicit auto-reroll on target/selection/amount edits), with in-page Pivot/Span controls for register steering.
  • Unified Init semantics across Init Layer / Init Steps / Init Seq, with consistent selection-aware fallback.
  • Launchpad Generators Mode integrated with track-type mapping, including immediate Init Layer and Init Steps actions.
  • Launchpad UX improvements including 1-level Undo/Redo, Circuit as default with improved Classic compatibility, improved targeting/probability/range handling, display wake on input, and a near-complete refactoring of the Launchpad controller codebase.

Step Editing, Timing & Sequencing

  • Experimental 16-step Editing Mode for Launch Control XL / BeatStep Pro: direct per-step workflow with 16 knobs + 16 pads, explicit arm/disarm entry, forced visible 16-step loop while armed, bank navigation, and loop restore on exit. BeatStep Pro template: PERFORMERstep16_BSP.beatsteppro; on Launch Control XL use Factory Preset #1. Compatibility is map-driven: any controller can work if it sends the expected MIDI map on channel 9.
  • Curve track extended with Gate Offset and Gate Length layers.
  • Unified step selection system (shift behavior and fallback selection-or-all centralized).
  • Quick Access range editing is now bank-aware for step windows: in PAGE-hold overlays, PREV/NEXT moves 16-step banks and S1..S16 selects inside the active bank.
  • Note tie editing is now chain-aware: tied notes behave as one editable pitch group, with clearer tie rendering on step view.
  • Refined clock and sync handling (Reset Pulse and edge-safe behavior).
  • Track-level gate output shaping is now available via Gate Out Mode (Gate/Trigger) with global trigger-length control in System settings.
  • Improved scale capture consistency and operational limits, including octave-preserving Project-scale remap behavior on the Note-track Scale = Default path.

Memory, Runtime & Build Robustness

  • Reduced memory footprint and improved runtime efficiency (removal of accidental iostream/locale pull-in on STM32, better SRAM/CCRAM usage vs Mebitek 0.3.2 baseline).
  • Build and simulator hardening (deterministic STM32 toolchain, <algorithm> fix on ClockTimer, cleanup of simulator warnings and includes).

Core Engine & Safety

  • Robustness improvements across modal paths, input redispatch, and selector handling (no key leaks, proper isolation, stable closing behavior), with end-to-end locking during generator flows across machine and Launchpad.
  • Generator safety guard-rails and overall UX stabilization (safe entry paths, retarget locking, consistent interaction model), supported by targeted regression tests on simulator/UI (selector lock, footer behavior, cancel leaks, non-Note mapping).
  • Project file-operation hardening now serializes Load/Save/Save As task flow and delivers results on UI thread; SD boot path is also hardened for slower cards without relaxing runtime watchdog strictness. This is a strong partial hardening, not yet full architectural closure.

Docs, Site & Ecosystem

  • Documentation, cheatsheet, and simulator are fully aligned with current firmware behavior, with improved online manual search/navigation and expanded coverage of generator semantics, Launchpad sub-views, 16-step Editing Mode (BeatStep Pro template download: PERFORMERstep16_BSP.beatsteppro; on Launch Control XL use Factory Preset #1), Entropy targeting, and step visualization.
  • Website and feature archive were updated to reflect Vinx firmware evolution and keep the ecosystem coherent across site, manual, simulator tooling, Launchpad reference, and fork map.

And much more across the wider Vinx line.
For the broader curated overview, see FEATURES. For the exact technical chronology, including inherited upstream history, see the repository CHANGELOG.

Known Limits / Validation Scope

Current real-hardware validation snapshot. Full scope and detailed notes are maintained in the User Manual validation section.

  • Validated 16-step Editing Mode maintainer-side hardware validation is on Launch Control XL (Factory Preset #1).
  • Pending hardware test BeatStep Pro template/mapping is code-supported but still needs dedicated maintainer-side on-device validation.
  • Partially validated Voltage Mode is fixed across Note/Arp/Stochastic; uncommon notesPerOctave > 12 cases on Arp/Stochastic still benefit from broader field tests.
  • Partially validated Desktop Simulator USB MIDI is currently validated on macOS / OS X with Launchpad Mini MK3, not yet across all devices/OS combinations.
  • Known architecture limit One external USB controller workflow at a time; USB hubs (including powered hubs) are not supported by the current firmware USB host stack.
  • Stability hardening Save/Save As/Load race conditions were strongly mitigated, but full architectural closure is still in progress.

License

For licensing information please refer to the License page.

Donations

If you would like to support this fork financially, please refer to the Donate page.
If you would like to support the development lineage behind this fork, you can also donate to Mebitek or to Simon Kallweit / Westlicht.

I would love to have a second PER|FORMER unit for testing new fixes and new features, but I cannot really afford a second one just for development. If you have one sitting unused and gathering dust, I would gladly give it a good home in my studio/lab.