Posted: Jan 31, 2016 4:47 pm
by John Platko
I've become a bit smitten by the idea of self programmed constructors and looking for other areas for LickMaker to learn from the mutations it makes. One area is learning what pitches are needed in a lick to create a specific sweet and sour vector. (The sweet and sour vector is a metric that says something about the amount of dissonance in the palette of pitches used in a lick. It's similar to what colors you'd find on a painters palette for a given painting.)

Here's the sweet and sour space covered by LickMaker after 5000 mutations of the 14 original licks. It seems that a good mapping of what pitches are needed for many/most sweet and sour vectors can be learned. Note: some areas of the space are probably not accessible, for example, a the note set can't be both very very sweet and very very sour.

Image

And here's where standard chords map relative to the above scale.

Image

Now the sweet and sour metric is a measure of the pitch palette used but it says nothing about the exact use of the pitches in the lick. It doesn't convey how much tension is created by the specific use of pitch order and duration, including duration of rests in the lick. To get a sense of that relative to sweet and sour I plotted the sum of the change in tension throughout a lick along with the sweet and sour metric for about 4000 lick mutations. There are other tension metrics but in my next comment I'll explain more about why I chose this one to use. I imagine that the sweet and sour space that have few variations of licks would if more generations of those licks were allowed to mutate, That is, they represent recent spaces being explored (although in some cases, power chords for example, there may not be tension alternatives that LickMaker can make.

Image