This is some research work I was doing a few years back (2007). It's a fully autonomous composition and performance system designed to be used for generating film scores.
The basic idea is that algorithmic parameters are *drawn* onto the film providing composers with a relatively easy way to parameterise control over the underlying process. These parameters can be drawn directly *onto* the film with suitable zooming to support precise temporal placement.
In this example the two yellow lines provide the top and bottom of the instrumental range. The orange line is dynamic. The green line is harmonic complexity. The red line (currently selected) is broadly associated with the amount of instrumentation.
The vertical sections provide control over aspects such as key, time signature and alike.
Rendering is real-time and unique for each and every performance (i.e. new melodies, new harmonies, new orchestration etc..). There are no pre-composed themes, melodies, chord progressions etc. - everything is generated on-the-fly.
It's far from brilliant but with some serious work could possibly be developed into a commercial tool - particularly for documentaries/advertising/amateur film makers. I'll get back to working on this again at some stage :)
You can find details on the algorithms, playback system and UI features in these two papers.
@article{sorensen2008computational,
title={{A Computational Model For The Generation Of Orchestral Music In The Germanic Symphonic Tradition: A progress report}},
author={Sorensen, A.C. and Brown, A.R.},
issn={1448-7780},
year={2008},
publisher={ACMA}
}
@article{hedemann2008metascore,
title={{Metascore: User interface design for generative film scoring}},
author={Hedemann, C.L. and Sorensen, A.C. and Brown, A.R.},
issn={1448-7780},
year={2008},
publisher={ACMA}
}