Sure! Happy to explain it. Although I have to say I&#x27;m not sure what textbooks are saying these days. When I talk to programmers right out of college sometimes there&#x27;s a bit of confusion as they talk about patterns I know, but using different names. I grew up programming on an 8088. :)<p>In a podcast called College Info Geek and recently in I did a talk at Northwestern (The Garage) and I called what I&#x27;m doing &quot;Emergent&quot;  because there are many competing little pieces. Let&#x27;s see if I can explain it quickly here, though please don&#x27;t be too hard on me I&#x27;m trying my best to answer a lot of questions, but I&#x27;m really happy to go more into later after all this dies down :) Conceptually, you could think of it as first creating what I&#x27;ll call &quot;song-bot&quot;, which acts a kind of overlord, and has some instructions from me (like maybe there&#x27;s some specific chords I want it to use, keys to avoid, tempo, brainwave protocols, genre, etc, etc). This song-bot guy then spawns a bunch of little other bots that compete with each other for the right to play&#x2F;fade in&#x2F;or generally be a part of the final result. These little guys have different characteristics, like a &quot;drum-bot&quot; might has different places it &quot;wants&quot; to be placed, and so generally competes with other drums, but not always. Sometimes I&#x27;ll even have little &quot;bots&quot; for individual notes of a certain instrument. They obey certain rules of course, to form a background, drum line, or a simple melody, and then they pass that information along to subsequent incarnations (there&#x27;s some learning involved in that process, though I hesitate to give it any textbook term - man, you have me terrified here of defining something wrong! :) ). Through that learning, the pattern the original little guys made has more weight and will tend to repeat. But again, not always.<p>After a while, a song... emerges. A kind of &quot;emergent intelligence.&quot;<p>The resulting song can be quite complex and varied. Of course there&#x27;s more to it, because songs have sections, but all in all the genres I&#x27;m using are very structured. Techno especially, is very easy for the AI. Sometimes I&#x27;m tasked with creating a theme in a particularly difficult genre, and that&#x27;s when it gets really tricky&#x2F;fun (such as some of the Indian ones, which were labors of love). In these cases, I may have to re-rerun many &quot;generations&quot; of the AI through the same song from beginning to end, with different parameters&#x2F;instruments, but with the same patterns&#x2F;learning, because what can happen in these cases is that it starts out simple, and increases in complexity as it goes, so the start can sometimes be a bit boring.<p>Also keep in mind this is just a conceptual explanation. The code is much less amusing. Thinking of naming processes &quot;bots&quot; though just for fun.<p>I hope I explained it OK. Listen, I&#x27;m not saying it&#x27;s Watson or anything, it&#x27;s really just a necessary step I had to take in order to make the computer do what I wanted it to do. I tried out some different ideas, and this one worked the best. I like the result at least :)