Composer Keyboard GitHub ♥ Sponsor

Keyboard Prototype

We're building a hardware keyboard instrument that plays authentic SNES sound samples using the SongWalker synthesis engine in Rust on embedded hardware. Instant boot, stage-grade stability, and glitch-free audio — no laptop required.

SongWalker Keyboard Prototype Concept

Why a Hardware Keyboard?

SNESology already lets you compose with authentic SNES samples in the browser. A hardware keyboard brings that same experience to the stage and studio as a standalone instrument — one that boots in under a second, doesn't depend on WiFi or a computer, and handles MIDI input with sub-3ms latency.

Instant Boot

Sub-second cold start from embedded flash. Sound-ready before you finish plugging in. No OS, no loading screens.

Stage Stable

No OS crashes mid-set. Embedded firmware with watchdog timer, brownout protection, and safe-mode fallback.

SNES Samples in Hardware

The same authentic Super Nintendo sound samples from the SNESology library, loaded from onboard flash memory.

Same Rust Engine

The SongWalker DSP engine — oscillators, sampler, effects, mixer — compiled to embedded firmware from the same Rust codebase.

Platform: Rust on Daisy

Our recommended approach is Rust on Electro-Smith Daisy hardware (STM32H750, ARM Cortex-M7 @ 480 MHz). The Cortex-M7's double-precision FPU means the existing engine code can run without modification for the initial port. 64 MB of SDRAM provides ample room for SNES sample data.

Rust (no_std) STM32H750 (Cortex-M7) Electro-Smith Daisy 64 MB SDRAM 8 MB QSPI Flash 24-bit Audio Codec USB-MIDI

Engine Capabilities

The songwalker-core Rust crate provides the full synthesis pipeline:

Oscillators

PolyBLEP anti-aliased sine, sawtooth, square, and triangle with detune.

Sampler

Multi-zone sample playback with pitch shifting, loop points, and velocity scaling. Perfect for SNES instrument presets.

Effects Chain

Chorus, stereo delay, Freeverb reverb, and dynamics compressor.

64-Voice Polyphony

Up to 64 simultaneous voices with ADSR envelopes and 128-sample block processing.

Prototype Roadmap

Prove DSP on Daisy (4–6 weeks)

Port the Rust DSP engine to a Daisy Seed dev board. Validate polyphony, latency, and stability with SNES sample playback over 48-hour soak tests.

Keyboard Form Factor (8–12 weeks)

Integrate an OEM keybed (25/37 keys), add UI processor with color TFT, custom carrier PCB, and 3D-printed enclosure.

Founder Prototype Run (12–16 weeks)

Small batch (20–50 units) for early contributors via Crowd Supply or Kickstarter. Open hardware, open firmware.

We're Open to Suggestions

This plan is a living document and we'd love your input. What key count (25/37/49/61)? Knobs or touchscreen? MIDI DIN, USB, or both? Should it play .sw files standalone? What SNES games should be in the built-in preset library?

Open an issue or start a discussion on GitHub — we're actively shaping this based on community feedback. The full technical plan is in the songwalker-core docs.