Cadence Hagenauer

A lightweight C# library for synchronizing audio and code events in an artist-driven context.

Starting development in summer of 2024, I created MIDI2event to provide a framework for musicians and game developers to include audio synchronization in their games. To replace the need for proprietary charting software, MIDI2Event uses MIDI data to fire game events. Because of the standard nature of the MIDI file format, these MIDI charts can be developed in parallel to music by artists in the digital audio workstation of their choosing. You can think of the MIDI data as operating similar to an Audio-Animatronic, where the MIDI notes in the chart are not used to generate audio, but rather to generate behavior. A system can then play back separate audio while firing events from its MIDI chart to create audio synchronization.

The mechanic of synchronizing music and gameplay elements is one that clearly appeals to players, as is evident from the success of games like Hi-Fi Rush, Metal Hellsinger, and Everhood. By releasing this library under an LGPL-3.0 license, it is my hope that this mechanic will become more accessible to more developers, allowing for the creation of new unique experiences. The library has been tested and proven to work with the development of Angel Insolvent, and I hope to develop premade Unity and Godot packages to make it even easier to use in the future.

MIDI2Event GitHub