Thank you for the kind words!, The algorithm starts out with a bass, and a sort of sub/base. The main theme begins with a randomized 10 second section, and the rest utilizes a Markov chain. (That's the overall algorithm anyways, the randomized 10 second section isn't totally random, it tries to stay in a key and shift up and down by a weighted amount)