1. A method for the automatic composition of music, the method comprising: receiving a plurality of input sound sequences containing sound frequencies with corresponding time duration; converting the plurality of input sound sequences to a finite state automaton using a system that allows over-generation; receiving exploration rules that constrain how the finite state automaton is to be traversed; creating a path marker data structure indexing a plurality of path markers, where each path marker contains a path marker history and a path marker registry; traversing the finite state automaton with a graph exploration procedure that uses the exploration rules and the plurality of path markers to determine path across the finite state automaton, such that the path marker history and the path marker registry of particular path markers are updated when traversing the finite state automaton; and storing the paths across the finite state automaton to the path marker data structure to define recorded path markers; wherein the recorded path markers that are not found in the plurality of input sound sequences define a new music composition.