Hi, this was my dissertation project for my Master's at QMUL.
The main goal of the project was to demonstrate the concept of timbre, which is what people use to distinguish instruments even when they play the same pitch at the same volume. I find that it's also an accessible introduction to a variety of other topics such as basic synthesis and the frequency domain.
Based on previous multi-dimensional scaling studies, I broke timbre down into 4 component dimensions and designed a synthesis model around these 4 parameters. The parameters are controlled by 2 Square Trill sensors, with notes triggered by a MIDI controller. The code is written in C++ and I also have a p5.js GUI to provide visual feedback when you change the parameters.
Special thanks to @giuliomoro and everyone else that helped me out when I posted questions on these forums.