From a programmers point of view, the more detail gathered about performer's technique the more feasible it becomes to construct a computer model. In theory you should be able to go as far as programming the computer to play as if its girlfriend has just walked out (i.e. blues), but what is always missing from a computer model is the actuality of being human; a computer playing the blues is tantamount oxymoron.
The computer is being very clever, but when there are thousands and thousands of people in the world doing the same thing, why bother getting a computer to? The primary reason for such research is the knowledge gained through the experience of designing such a devise.
-Richard Hemmings
Time line showing solo phrases and pauses between them
Numerous tactics are used to negotiate the order of soloists, depending on the number of performers and their familiarity with each other.
Click here to listen to Improv. MIDI file
State-machine approach
Finite State Machine for two piano jazz performance
GenJam (short for Genetic Jammer) is an interactive genetic algorithm that learns to play jazz solos. It may well be the only evolutionary algorithm that is a "working musician." [John A. Biles]
Bar |
Chord | Scale | Pitches for new-note events 1-14 |
25 |
Fm7 | Hexatonic Minor (avoid 6th) | C Eb F G Ab Bb C Eb F G Ab Bb C Eb |
26 |
Bbm7 | Hexatonic Minor (avoid 6th) | C Db Eb F Ab Bb C Db Eb F Ab Bb C Db |
27 |
Eb7 | Hexatonic Mixolydian (avoid 4th) | C Db Eb F G Bb C Db Eb F G Bb C Db |
28 |
AbMaj7 | Hexatonic Major (avoid 4th) | C Eb F Gb Ab Bb C Eb F Gb Ab Bb C Eb |
29 |
DbMaj7 | Hexatonic Major (avoid 4th) | C Db Eb F Ab Bb C Db Eb F Ab Bb C Db |
30 |
Gb13 | Hexatonic Mixolydian (avoid 4th) | Db Eb Fb Gb Ab Bb Db Eb Fb Gb Ab Bb Db Eb |
31 |
Cm7 | Hexatonic Minor (avoid 6th) | C D Eb F G Bb C D Eb F G Bb C D |
32 |
Bdim | Whole/Half Diminished | D E F G Ab Bb B Db D E F G Ab Bb |
Table 1. Chord-scale mappings for measures 25-32 of All the Things You Are
"random mutations"
"musically meaningful mutations"
a) Progressive rock keyboard-sololist keyboardsolo.wav
b) Fusion/Progressive rock drummer to back my performances up.
start with simple solid mappings