Computer Models of Musical Creativity (3)

Computer Models of Musical Creativity (David Cope)
Chapter 3: Current Models of Musical Creativity

  • Although randomness often competes with creativity in terms of surprise, it is no substitute for a creative process
  • Most random processes are simply too complex to predict
  • Randomness arises from a lack of predictability using logic, not a lack of determinism
  • Good creativity simply requires good algorithms
  • Some models of creativity include cellular automata, mathematical models, fuzzy logic, neural networks, and Markov chains
  • Using Markov chains, one can analyze a piece of music and produce new music in roughly the same style
  • Genetic algorithms operate on the principle of natural selection
  • Genetic algorithms and cellular automata can both generate very complex output
  • In rule-based programs, creativity really belongs to the programmer, not the program
  • Neural networks use "hidden unit" networks to simulate the output of a given situation based on a sample input and output
  • Neural networks simulate the workings of the human brain
  • Mathematical formulas can be used to produce quasi randomness
  • "Randomness is not an engaging mystery, but a simple reflection of ignorance"
  • "Randomness refers to behavior that is either too complex, too patternless, or too irrelevant to make prediction possible"
  • "For those believing that using algorithms to create music somehow removes imagination, inspiration, and intuition from the composing process, know that defining a good algorithm requires as much imagination, inspiration, and intuition as does composing a good melody or harmony"
  • "Neither good algorithms nor good musical ideas grow on trees"
  • "Integrating association-based procedures with data-driven processes increases the creative potential of this approach to music composition"
  • "GAs typically involve DNA-like inheritance of characteristics as well as crossover and mutation techniques to develop new traits"
  • "Neural networks then cycle through a series of forward or back propagations that compare output with input and alter hidden unit values, until the output values match or approximate the relationships of the input and output data upon which they were trained"
  • "Sandwiched between these nodes are variable numbers of layers of hidden units, as well as variable numbers of connections between these inputs, outputs, and hidden units, making the training process extremely complex"
  • "We should not overestimate the abilities of neural networks or let comtivity mask a lack of true creativity"
  • "Mathematical origins for algorithmic music, while occasionally producing interesting results, in no way indicate the presence of creativity"
  • "Computer programs must be sufficiently independent of their programmers and users in order to qualify as truly creative. Most apparently creative algorithmic composing programs either produce enormous output from which users make preferential choices or invoke so many programmer-defined rules that the software only proves the creativity of the programmer"

Bland Statistics

Unfortunately, the analysis tool used to create a permutation of Super Mario has ultimately led me to a dead-end. While such analytic methods might help for basic applications such as chord progressions, they clearly don't work as well when applied to individual notes, since duration, velocity, and padding must also be taken into account.

If I had the time to develop a more comprehensive analysis tool that used more than just a first-order transitional Markov matrix, I might extract better results from this analytic method. I feel, however, that this would simply take too long. Such intense analysis would merit an entire thesis all of its own.

Super Mario Statistics

Today I created a program to perform a first-order Markov analysis on midi files and use the collected data to create a new, random 'permutation' of the file while maintaining the same approximate first-order Markov statistical profile.  I used the super mario brothers game theme song as my source midi file and the result was surprisingly interesting.  Considering the simplicity of the statistics collected, I think the results demonstrate the feasability of a stylistic permutation tool as discussed in a previous post.

Shifted, Narrower Focus

I need to stop fumbling around with stuff for which I don't have a really solid goal. I need to start thinking in terms of concrete genres and concrete goals instead of trying to construct some kind of amorphous compisition from myriad modules of different production methods. I said in the beginning I wanted coherence. I've diverged a bit too much.

I'm thinking simple rock. The majority of voters in my music pole said they preferred rock. I like rock too. Plus, rock is not that hard of a genre to replicate in my opinion. Now I need to start looking at actual songs and thinking about how I would reconstruct them algorithmically, then generalize the processes.

Stuck

For some reason I'm just not feeling much inspiration lately. I've been pushing into the conscious model and it's a lot of work and, while the results are cool, I'm ready to hear something really inspiring. At almost ten thousand lines of code, the program is huge and I feel like I'm not getting my money's worth, so to speak. I want to hear something awesome. Guess I'll just have to keep going.

Consciousness Model Ideas

In order to create a sense of flow and retained motifs yet at the same time stylistic diversity, a generative module could at all times retain several streams of 'subconscious ideas' that represent viable solutions to the composition. Each idea uses a different set of parameter values to create an independent behavior for each idea. In this sense, each idea possesses its own personality of sorts. The module's 'conscious' thought starts on any given idea stream. The conscious thought represents the output of the module.

At any given time, however, the module may switch to another idea stream. In this way, the style changes yet the other styles (and motifs) are preserved, because the module continues to process them 'unconsciously.' Effective stream transitions could be made when two streams 'intersect,' so to speak, at a given point. In other words, if the contents of stream A at a time t are similar to streamB at the same time, consciousness may effectively change from stream A to stream B smoothly. The idea stream will then continue off in another direction, until it intersects with another stream at another point.

Here's a diagram of these ideas:
As the diagram indicates, this module has three streams in its subconscious. The streams are being processed independently (thus they have individual characteristic behaviors) but in parallel. The box of consciousness starts on a given idea stream and uses the stream to determine the module's output. The box can switch, however, to a new stream based on switch conditions (such as instantaneous stream similarity).

I think that this idea represents a step forward in both coherence and creativity. I'll try to implement it soon so I can see how the theory plays out in practice.

Computer Models of Musical Creativity (2)

Computer Models of Musical Creativity (David Cope)
Chapter 2: Background

  • Surprise is a necessary ingredient in creativity
  • Associationism - a view that creativity stems of unconscious or subconscious associations - linking thoughts, ideas, experiences, and images
  • Letter Spirit, a program used to creatively make new fonts, operates withdecision waves - unifying operations that consist of "the gradual, slow-but-sure tightening up of internal consistency all across the structure under construction"
  • Cope feels that focusing on details is not the important part of a creative work
  • The Turing test may also be an adequate gauge of creativity
  • Creativity is not an output, rather, it is a function
  • Creativity is not necessarily audible - it is only perceptible when the method of creation is known
  • "Most recent research in artificial intelligence and creativity tends to focus on connectionism, geneticism, and expertism"
  • "Full-scale creativity consists in having a keen sense for what is interesting, following it recursively, applying it at the meta-level, and modifying it accordingly" - Hofstadter
  • "I do not believe ... that all humans share a common aesthetic"
  • "It is the processes, rather than their output, that best identify creativity"
  • "The results of creativity should be different from the results of other processes"
  • "Creativity is a process, not the result of a process"

Computer Models of Musical Creativity (1)

Computer Models of Musical Creativity (David Cope)
Chapter 1: Definitions

  • Many see creativity as restricted to humans
  • If humans can't create creative machines, then are they really creative in the first place?
  • Two important questions when considering creativity: must the creator know what he or she is creating and must they appreciate his or her own creation?
  • Creativity is directly related to intelligence
  • Intelligence consists of the following abilities: to learn, to remember, to infer, to analogize, and to create
  • Combinatorial accidents can be powerful creative tools and also produce striking originality
  • "Originality must be useful"
  • "Cross-wiring can produce interesting, unique, and important creativeconnections"
  • "Vertically thinking is selective and analytical, while lateral thinking is generative and instigative"
  • Cope's definition of creativity: "The initialization of connections between two or more multifaceted things, ideas, or phenomena hitherto not otherwise considered actively connected"
  • "I do not feel that creativity requires intelligence, nor does it consequently require life"
  • "Creativity should never be confused with arbitrary or convenient contrivances that simply take any road untried for the sake of novelty"

mGen Sample 2

Believe it or not, the program has undergone many changes since the last sample. I created a brand new structure plugin based around the idea of a smooth, contoured intensity structure. I also injected a few lines into most of the other plugins to give them a primitive obey-the-structure rule. Most of the instruments now actually pay attention when the structure module tells them to play loud versus when to play soft. Some, however, still don't have this capability, and most lack any real sense of volume other than the most basic loud and soft abilities.

Still, these improvements constitute serious advancements in mGen. I find this sample to be moderately pleasing. Although it gets repetitive in some places, I'm very pleased with the dynamics. I'm aware that they are still laughably lacking, but at least there ARE dynamics in this sample, unlike the last.

And yes, I know that it sounds very similar. That's due to the lack of rendering options that I have given the program to this point. I'm more concerned with the scoring than the rendering at the moment, but I'll get around to expanding the instrument catalog eventually.

Oh, and a little side note - the drum "solo" at the end was actually a very unintentional and very strange glitch. I've no idea why the drums played a whole extra measure...I'm still trying to figure it out. Three months in and the program already has a mind of its own - I guess I should be proud and worried at the same time!

Music, the Brain, and Ecstasy (6)

Music, the Brain, and Ecstasy (Robert Jourdain)
Chapter 6: Composition

  • Imagery describes what perception cannot
  • The brain always works through abstract hierarchies, connecting ideas with a web of relations rather than storing a single data bank for a specific subject
  • Composers' brains group notes, chords, and progressions with such relations
  • [My own deduction] "Categorization circuitry" is essentially what is needed to build a computer capable of composition
  • A soloist draws upon a vocabulary of sounds a phrases that comprise a musical language
  • In terms of improvisation, a brain can't generate complex, far-reaching structures enough to improvise a piece of significant depth [but perhaps a computer can?]
  • Mozart mapped out the structure of his compositions before filling in the details (this is great news, because it's how my program is designed! So at least I know this method is workable!)
  • Scores can limit the capacity of composers (this again is good news: my program is not bounded by traditional scoring)
  • Intelligence comes from neural networks
  • "It is memory that is the composer's workshop"
  • "The phenomenon of musical ideas arriving full-blown in the composer's mind is called inspiration"
  • "[The soloist] works from a vocabulary of sounds, and a kind of grammar for juxtaposing them, that has become his musical language"
  • "Musicians work through a hierarchy of ready-made movements. Thousands of patterns of scales and arpeggios and chord progressions are deeply channeled in their nervous system"
  • "[Mozart] began by mapping a composition's structure. Only later did he go back to fill in supporting voices and embellishments that could be written in any number of ways without changing the basic character of the piece"
  • "Music notation tends to discourage complex melodies and rhythms"
  • "By promoting abstracted, hierarchical thinking, the score can seduce composers into a theoretical, unmusical approach to composition"
  • "In the end, intellectual power of any kind arises from the laborious creation of networks of neurons"