Software Portfolio
PiSynth: Polyphonic Physical Modeling Synthesizer for Embedded Linux
May 20268-Voice Karplus-Strong Synthesizer on Raspberry Pi 5
Engineered a standalone, 8-voice Karplus-Strong physical modeling synthesizer on Raspberry Pi 5. Features deterministic sub-11ms latency, a zero-blocking DSP thread, mathematical validation of pitch and filter responses, and a real-time browser interface over WebSockets.
Stack: C++20, ALSA PCM, uWebSockets, PFFFT
STM32 Polyphonic Synth: Bare-Metal DSP
Feb 20268-Voice Polyphonic Wavetable Synthesizer on Cortex-M4
Designed and built a real-time 8-voice polyphonic synthesizer from scratch on a Cortex-M4: full DSP signal chain within a hard 48 kHz interrupt budget. 8-voice polyphony runs at 26% CPU utilization, leaving 74% headroom, with no OS, no dynamic allocation on the audio path, and a custom USB MIDI class for plug-and-play DAW integration.
Stack: C++, STM32 HAL, USB-MIDI, CMake, CTest
kenmusic.net
Jan 2026Architectural Migration & Performance Optimization of My Website
A technical overhaul of a 4-year old portfolio website. This project documents the migration from a monolithic legacy HTML structure to a modern Next.js environment. Key focuses included decoupling content from logic via MDX, implementing SEO strategies, and optimizing the critical rendering path to achieve high-performance scores on media-heavy pages.
Stack: Next.js, Tailwind CSS, MDX, Vercel
Risk of Rain 2 Mod - Sprint Double Bind
Dec 2025Runtime Assembly Hooking & Input Logic Injection
A C# utility that extends the input capabilities of Risk of Rain 2 by bypassing the game's internal 1-to-1 keybinding constraints. By injecting custom listeners into the game’s core update loop, the mod enables asynchronous input polling for mouse-wheel and redundant key-mappings. This project focuses on improving player UX and accessibility, providing a solution for complex control schemes not supported by the native engine configuration.
Stack: Unity, C#, BepInEx

The Zero-Waste Cloud Minecraft Server
Sep 2025Automating AWS Spot Instances for Cost Savings + User Friendly Discord Bot Interface
A serverless-controlled, cloud infrastructure that allows friends to trigger a 'cold start' of a high-performance Minecraft server via Discord slash commands, leveraging AWS Spot Fleets to drastically reduce hosting costs and automate server administration.
Stack: AWS, Python, Bash, Serverless
VideoCsound
Aug 2025MSc Thesis: Generating Music from Video with Computer Vision
An open-source performance system that bridges computer vision and algorithmic composition to transform real-time visual input into synchronized, generative audio. Utilizing the YOLO11 object detection model and Csound audio engine, the system leverages high-level semantic data, such as object position and scale, to create an intuitive, marker-less musical interface.
Stack: Python, YOLO11, Csound, OpenCV
Teensy Sequencer
Jul 2025Embedded Logic Under Hardware Constraints
My first embedded audio project, built while out of town with a minimal parts kit. This 6-track sequencer uses DIY capacitive touch pads and a modal 'Override' system to bypass the limitations of a single breadboard and a lack of physical switches.
Stack: Teensy 4.0, C++, Hardware

Procedural Breath Synth: Vocal Realism via DSP
May 2025Bridging the Realism Gap in Virtual Vocalists via Csound & Additive Synthesis
Built a procedural breath synthesis engine in Csound and Cabbage: spectral analysis of human breath samples drives six tunable resonant filters over white noise, with a dynamic filter envelope that mimics the natural brightness arc of inhalation. Packaged as a MIDI-triggered plugin with full formant, ADSR, and preset controls. Working at this level of acoustic detail builds the technical foundation for evaluating voice assets with precision that goes beyond what sample-based workflows can offer.
Stack: Csound, Cabbage, Sonic Visualiser, Ableton Live

VR Laser Synth
Sep 2024Expressive VR Performance Instrument
A Virtual Reality instrument developed for intentional performance. By utilizing spatial tracking in a 3D environment, the instrument allows performers to manipulate pitch, timbre, and complex modulation through physical hand gestures, bridging human movement with digital audio.
Stack: Unity, Csound, C#