Kevin Rotunni

Publication Date

Spring 2024

Degree Type

Master's Project

Degree Name

Master of Science in Computer Science (MSCS)


Computer Science

First Advisor

Thomas Austin

Second Advisor

Philip Heller

Third Advisor

Kevin Smith


C#, Diegetic Audio, MIDI, Music, Unity, Video Games


To better capture the relationship between the performer of a piece of music and the music itself in a video game context, I have designed NoteBlockLib, a system by which MIDI instructions are generated and processed in real time based on the motion and collision data of in-game objects. Ultimately, the movement of instruments made using this system would be driven by the animations of a character in the game. This system would thus allow the player character to interact with the performer in the game without sacrificing the relationship between the performer’s actions and the resulting music or to interact directly with the instrument itself. To show that this approach is viable, I have built three demonstrations in the cross-platform game engine Unity. These demonstrations make use of Unity’s built-in physics libraries, its C# scripting API, and a free third-party MIDI engine, and they show that this approach is a viable means of creating and performing music within a scene.

Available for download on Friday, May 16, 2025