TuringMuse
Final Project for MSCS-271 Formal Languages and Finite Automata at University of Wisconsin-Stout.
The goal of this project is to use finite automata design patterns and principles to create a MIDI file with some semblance of structure. Execution is split into two parts. The first is running productions from a grammar to build a chord progression. Second, a Turing Machine will take the encoded chord progression as input, running through the string and writing byte data in accordance with proper MIDI specifications.