Joey Steele

Distributed Version Control in the Digital Audio Workstation

Senior Capstone Project
August 2022 - May 2023

In a group of two other students, we created a tool that enables musicians and producers to collaborate on projects in the REAPER Digital Audio Workstation using Git, a Version Control System. This project consisted of the following elements:

  • Extensive background research into the space of collaborative music production
  • A Python library to parse and detect the differences in REAPER project files for displaying a “diff” view
  • A plugin in REAPER that adds a user interface for Version Control commands (commit, checkout, merge, etc.)

My primary contributions lay in the research and diffing phases.


Technologies and Skills

  • Python
  • Git (version control)
  • User Interface design
  • Parsing (recursive descent)
  • Difference algorithms
  • Tree algorithms


Project Studio Technology
Fall 2021

With a group of two other students, we created Cantio, a web application that facilitates learning spoken and written foreign languages through music. This was completed during the Fall 2021 semester for the Project Studio Technology course.


Technologies and Skills

  • Javascript
  • Typescript
  • Python
  • React
  • Beautiful Soup

Moog Hackathon

February 2021

I created the Phoenix Uke, a ukulele body modified to control a Moog Werkstatt synthesizer, with two other students. Our project won third place in the hackathon.


Technologies and Skills

  • Teensy (Arduino)
  • C++
  • Moog Werkstatt
  • Analog synthesis
  • Circuit design
  • Soldering

Modular Prelude in C

Laptop Orchestra
Spring 2020

I composed a piece of music written for a virtual instrument I designed from scratch in VCV Rack. I wrote the semi-unconventional visual score in LilyPond, a LaTeX-like programming language for music score engraving. This was completed in the second half of the Spring 2020 semester, immediately after the transition to online classes due to COVID.


Technologies and Skills

  • Music Composition
  • VCV Rack (simulated modular synth)
  • TouchOSC (mobile phone interface)
  • LilyPond (musical score)

Harpsichord Synthesizer

Audio Technology I
Fall 2020

I wrote a synthesizer that loosely models a harpsichord from scratch in PureData, a visual audio programming environment. This work was completed at the end of the Fall 2020 semester for the Audio Technology I course.


Technologies and Skills

  • PureData