Music 270c: assignment 2


Generate a random-walk solo over a 12-bar blues chord progression. If you don't like the 12-bar blues, make up your own chord progression or perhaps generate one with a Markov chain. This is an open-ended assignment, and it will be quite hard to make really excellent blues, so be prepared to stop before you get quite the result you imagined.

A possible way to proceed would be to make a simple random walk and then quantize it down to a scale that changes with the chord. Problem: random walks tend not to land on good spots at downbeats. There are various ways you could try to affect things to work better than a pure random walk.

Alternatively, make or find a corpus of reasonable solo material you can stitch together to make the solo. This could be done recombinantly, or probabilistically (Markov chain with various possible tweaks) or using a formal grammar.

Alternatively, you could train a neural net to "predict" each note given the harmony and the 2 or 3 (or more) previous notes.

Alternatively, you could set it up as a rule-based/constraint or optimization problem. (Unfortunately we won't be covering these till late in the quarter.)

Here is my own attempt ( Wav, 2.5M ). The bass and the 'solo' are both random walks, each with its own rhythm and scales. I decorated the bass line by doubling it on downbeats and making it the root of a random chord on upbeats. This, ahem, helps by distracting the listener from the utter inanity of the melodic line.