An open-source stage keyboard: a tonewheel organ and its rotary speaker, computed one sample at a time in the logic of an FPGA, and built to be played live.

The organ, down to its contacts

Ninety-one tonewheels turn all the time, and each key closes nine contacts on nine busbars. Stagewheel models those contacts one by one: they close a little apart, bounce and scratch, so a slow key or a palm smear across the manual sounds as it does on the real thing.

The wheels leak into one another a little, as they do in the generator, and percussion, vibrato and chorus, and the key click come from how the organ itself makes them.

The rotary speaker, with its timing

A horn and a drum turn at their own speeds. Switch between slow and fast and each speeds up or slows down on its own curve, the light horn quickly and the heavy drum taking its time, as a cabinet does.

Electric piano is next, and the plan goes on to more keyboards after it.

The instrument's screen on the Gospel Full patch: Leslie slow, third percussion fast and soft, vibrato C3, three zone boxes for lower, upper and pedal, and the upper manual's drawbars at 888 800 000
The panel’s screen on the factory patch Gospel Full, as the simulator draws it.

No sample playback and no audio software. Every sample, 48,000 a second, is worked out in the FPGA’s fabric with integer arithmetic, so the sound cannot stutter when the computer beside it is busy, and a key reaches your ears in a steady, short time.

What it runs on

The board

A Terasic DE10-Nano, with its Cyclone V FPGA doing the sound and its ARM cores running Linux for MIDI, the controls and the screen.

Sound and screen

A PCM5102A DAC for audio out, an 800×480 HDMI screen for the panel, and USB MIDI for your keyboard.

Your laptop

A simulator, cw_sim, runs the same engine and the same panel on Linux, so you can play it before you build anything.

Get Stagewheel

There is no release yet. The code, the instructions for building it and the issue tracker are on Forgejo, where the project still goes by its working name, clonewheel.

View the project on Forgejo