One of the easiest trends for brains to identify in listening to music is that of contour. Contour is the direction of a certain instrument in terms of pitch. For instance, walking your fingers up the keys of a piano would constitute an unbroken, upwards contour. Contour is a simple way to create pleasant-sounding order in music. An arpeggio is the technical term for musically walking along a contour - that is, playing a continuous scale either up or down.

A simple arpeggio, notice the note is simply increasing by a step each time. This pattern represents a simple, upwards contour.

I started writing a new plugin for my program that will focus on the orderly but random manipulation of contours to produce pleasing background patterns for music. I am starting with simple contours: up and down. I plan to experiment with nested contours, that is, contours within contours. It's easier to understand this graphically:

This time, the inner contour is increasing by two steps with each note and goes four notes before resetting. The outer contour, however, increases the starting position of the inner contour by a single step each time the inner contour finishes its four notes, then the whole process repeats with the inner contour's new starting position.

Although this seems very simple on sheet music (and would seem even simpler in sound form), contour isn't quite so easy for computers to comprehend, especially with several layers of nested contours. I think, however, that creating a program that understands the manipulation of contours will allow a great variety of generated patterns that please the ear.