Projects & experiments.

Angular for Zed

Angular language support for Zed, using the Angular Language Service installed in your project.

View source

Synthphone Vocals

Pitch correction, vocoding, and formant shifting in Rust, with musical key awareness and support for embedded and desktop audio.

View source

Synthphone DSP Viewer

Explore the Synthphone-E audio pipeline with interactive controls and waveform, spectrum, and pitch displays.

View source Design notes

Keyboard Keyboard

An IBM Model M rebuilt as a MIDI instrument by electroNuck and me, keeping the original enclosure.

Hall sensors measure how far each key moves, and the keys follow a Wicki–Hayden musical layout. The presentation follows the build from the keyboard's mechanics to playing it through Synthphone-E.

The finished Model M MIDI instrument with colored key groups and rotary controls

Presentation slides Slide source

K2 MIDI Viewer

See and hear MIDI files on a computer-keyboard layout, with staff notation and a built-in synth. Connect Keyboard Keyboard to see the notes you're playing, or pass them through to another MIDI instrument.

K2 MIDI Viewer showing its keyboard, transport controls, and track panel

Open website View source

The Seahorse

A 34-key split keyboard based on the Ferris Sweep, with low-profile switches and a TrackPoint built into the right half.

Both halves of the Seahorse v2 keyboard with engraved seahorses and a red TrackPoint

Build notes on GitHub

Clone Hero Guitar Conversion

A Rock Band Stratocaster rebuilt as an Arduino USB controller for Clone Hero, with light-up fret buttons.

The original buttons wouldn't let the LEDs shine through, so I learned enough CAD to design and 3D-print replacements.

LEDs and wiring inside the converted Rock Band guitar's neck

View source

Baptism Program Builder

Build a four-page baptism program that prints on a single sheet, double-sided and folded in half. Start from a template, arrange the content with a live preview, and save an editable copy for later. Printing puts the pages in booklet order.

Baptism Program Builder with style controls and a sample booklet cover

Open website View source

TOA Tools

A browser-based solver for the Kephri path's Lights Out puzzle in Old School RuneScape's Tombs of Amascut.

Each press flips a tile and its neighbors. I modeled those effects as a matrix and used row reduction to derive the solution. Pressing twice cancels out, so the arithmetic only needs on and off. The README shows how that calculation becomes the equations in the code.

The TOA lights puzzle board with its illuminated tiles

Open website The math + source