As dramatic as it may seem, I was almost moved to tears earlier tonight when mGen generated something completely unexpected. I can't really say that what I heard was entirely original or breathtaking, but I wasn't expecting it. I had pretty much given up on the Conscious Model plugin and was getting ready to move back to ChillZone and try something else. I had also thrown together a new progression plugin based off of hard-coded progressions since I was tired of hearing crappy progressions. And then I hit generate with a ChillZone pianist plugin, a Conscious Model plugin, and a Contour Arp plugin, just for old time's sake.
What I heard was a gentle ambient pad laying down two simple seventh chords. A very pleasing background. A low arpeggiated drone created an eerie feeling. But the best part was up top...the Conscious Model plugin had generated an indescribably simple but beautiful high melody. The most unexpected part, however, was how the melody remained coherent throughout the whole piece - returning to certain motifs and elaborating on them - while changing and undergoing subtle variations. The melody was perfectly predictable and perfectly unpredictable. It made sense but I couldn't say for sure what would come next.
I'll post the new sample clip in a day or two. It's probably nothing amazing to anyone else. But I think it's the first time I've really been taken aback by the creative ability of the program. I didn't know I had programmed a plugin capable of doing anything coherent to this point. And yet there it was; here it is.
I feel accomplished. If mGen fails in terms of everyone else's standards, if the generated music makes the ears of others bleed, if people say I failed and computers will never know anything about music, at least I have this. I could listen to this kind of output for hours on end. I could sleep to this, I could dream to this, I could do homework to this. It doesn't even matter anymore. I succeeded. I would listen to this music. That's all I cared about in the first place.
Computer Models of Musical Creativity (David Cope)
Chapter 4: Recombinance
- Western tonal music generally follows simple principles that drive melody, harmony, voice leading, and hierarchical form
- One can create music by programming such principles into a computer
- Such an approach often creates stale music
- Recombinance is a method of using existing music and recombining it logically to create new music
- Cope uses destination pitches and beat-size groupings to split chorales into smaller groups called lexicons that can be recombined using the pitch and beat data
- Such syntactic networking actually preserves a great deal of the music's integrity while generating new output
- To further extend the abilities of recombinance, Cope had his program analyze the source piece's "distance to cadence, position of groupings in relation to meter, and other context-sensitive features"
- Artists often use musical signatures, patterns of notes that recur in many works of a composer
- Recombinance can be described in terms of Markov chains
- Recombinance can work both vertically and horizontally
- Generation of music must start with an abstract hierarchy and move towards specifics (this is exactly what I foresaw and intended when I made the structure module the foundation upon which mGen works! Cope agrees!)
- Rule acquisition from music models the musical training of humans
- Machine renditions of music are often crude and dead...successful algorithmic composition requires dynamics
- An improviser basically has a repertory and an idea of how he or she wants an improvised idea to flow into the next
- "Recombinance, or rules acquisition, provides more logical and successful approaches to composing in tonal music styles"
- "Every work of music, I feel, contains a set of instructions for creating different but highly related replications of itself"
- "The secret of successful creativity lies not in the invention of new alphabet letters or musical pitches, but in the elegance of the combination and recombination of existing letters and pitches"
- "In recombination, rules are not necessary, since the destination notes provide all of the requisite information"
- "While recombinance of this type ensures beat-to-beat logic in new compositions, it does not guarantee the same logic at higher levels"
- "The initial and final groupings of a phrase are most pivotal"
- "Experiments in Musical Intelligence protects signatures from being fragmented into smaller groupings, thus ensuring that these signatures will survive the recombination process"
- "A Markovian description of recombinant processes does not allow for the broader control of larger-scale structure"
- "In music, what happens in measure 5 may directly influence what happens in measure 55, without necessarily affecting any of the intervening measures"
- "The top-down approach is necessary because choosing new beat-to-beat groupings must be informed by hierarchy, and not the reverse. No new grouping of a work-in-progress can be selected until its implications for the entire structure of the work are determined"
- "Acquired rules are often more accurate since, by default, they originate from the music itself and not from generalizations about the music"
- "Having a program first derive rules and then apply these rules during composition, though a simple notion, is critically important to the basic thrust of my modeling creativity"
- "I continue to maintain that computer-composed music in any style is as real as human-composed music in any style"
- "I see no reason why computer-created music cannot move us to tears, find roots in our cultures, and reveal or obscure its internal implications as much as any music composed in more traditional ways"
- "Improvisation consists of either generating music associatively to maintain continuity, or interruptively striking out in apparently new directions"
- "Improvisers associate rhythmic patterns, melodic contours, and harmony"
- "Improvisation tends to function as a series of gestures that themselves have a sense of beat and that, when performed one after another, make musical, rhythmic, and metric sense"
As I have continued to work on generative plugins and attempted to reverse-engineer familiar music, I have found something lacking in my Core Modules group. I need more than just a structure and progression module - I need a meter/rhythmic module. Such a module would generate information concerning where the strongest beats of each measure lie, how melody should interact with harmony, - with room for syncopation and counterpoint - and more for each segment of a composition.
Although such a module wouldn't make much difference in the case of a standard 4/4 beat, where beats 1, 5, 9, and 13 are heavily accented, it would shine through when unusual rhythmic and metric patterns occured. Almost any metric pattern can sound good if used consistently and coherently. This new module would allow the drum plugin to make sure it hits the accented beats harder - and choose its base beat accordingly, as well as enable the melody to follow a predictable metric pattern.
In short, I need a coordination module.
Now the real question: what rules govern the metric and rhythmic patterns of compositions?
One of the first plugins I ever wrote for mGen was the ChillZone Pianist, designed to be a piano module for down tempo applications like Buddha Bar, Hotel Costes, and Cafe del Mar. The ChillZone Pianist uses an interesting data structure for generation: hands. The pianist essentially has two "hands," each consisting of five fingers. The fingers can move around different keys, and the plugin generates output by invoking functions built into the hand data structures that 'play' the fingers in a desired order and with a desired time map. Using this method, I hope to recreate more realistic patterns that a real pianist would play.
After dropping the ChillZone plugins for quite a while in favor of certain others, I have come back to the pianist. I experimented with other models for generation such as my consciousness model theory, but ultimatelely came back to the original thought that mimicing a pianist could produce solid results. Thus, I am now back at work on the ChillZone pianist and hope to complete all the features, such as rhythmic chords and abstract motifs.