DIGITAL MUSIC ENGINE

The Digital Music Engine is the name Soundmotion use for the collection of expert systems aimed at implementing interactive and dynamic teaching or learning aids. A core technology we have developed to a significant extent is lesson planning – the ability to dynamically generate a structured route for learning a specific piece by generating appropriate exercises to achieve a given goal. This in turn relies on a simplification algorithm. These were developed in the initial stages in the CLIPS A.I. system, then a framework structure developed in C++ aimed specifically at guitar, but based on an abstracted design of instrument playing that would allow the system to be easily implemented for other instruments, or combinations of instruments.
Soundmotion have developed as part of their overall concept of the tuition system a lesson planning expert system (codenamed 'Kalifornia').
This algorithm takes a given piece of music and produces a 'lesson plan' which is designed to give a pupil a progressive path to learning the particular piece. It operates by using a number of 'experts' for specific aspects of playing the instrument in question. Each of these experts is capable of 'reducing' or simplifying the particular aspect in a step-by-step fashion, and at each stage producing generic lessons that progress that aspect. The system as a whole also generates exercises derived from the actual context in the specific piece. Contexts are sections like the 'beat', the 'bar' or the 'phrase' that the instance of the aspect appears in.
The net result is a sequence of full versions of the piece starting from the simplest (the 'piano resolve' version) with sets of exercises between each full version that enable the pupil to learn the particular skills required to progress.
The intention with each simplification step is to generate a piece which is simpler but still 'the same' in some manner. You can compare theories like GTTM simplification, (which certainly informed the process), and indeed the same engine could be used to produce, for instance, 'busking' versions of guitar tunes, or even simplified versions of symphonies for student orchestras.
It is important to realise that the goal here is based on the physical playing ability and the simplification (and then progressive re-complexification) are based on simplifying the piece for the purposes of playing, whilst retaining as much as possible of the musical form.
Physical skills (which includes rhythmic counting patterns) are more definite and amenable to direct analysis than any musicological theory. In effect we are 'neutral' towards any particular theory of musicological structure and make no claims that the simplifications are 'correct' according to any particular theory. Nevertheless, there is clear overlap by and large between the two – though just to make clear that there is a difference, one can consider chord fingering on (for example) a guitar: it does not follow that a harmonically simpler version of a chord is actually easier to fret properly.
We have written a front end GUI onto the engine as a concept demonstrator (codenamed 'Karma').
We were limited by the necessity of rendering musical notation: most readers will be aware that rendering general music notation is a rather tricky proposition, and it was not our intention to attempt to launch into full scale music notation system, so the GUI itself can only handle relatively simply pieces.
The Karma application is intended to demonstrate the raw workings of the process and functions as a concept developer for an automated 'technique/method' tutor. Apart from the notational aspects, there are a number of other issues which would be refined for a true application, for instance looking through the presentation (below) one can see that there are many potential exercises – especially those generated from the various contexts.
A full tuition system would suggest a selection of these exercises, in fact generally we would expect the system to have some knowledge of the pupils current skill levels and only produce those simplifications and lessons that the specific pupil actually requires. The full automated teaching system as envisaged by Soundmotion (see this whitepaper) would also have the 'KIA' note assessment engine incorporated (see KIA), so that the system could check the pupils mastery of each lesson or version.
This presentation gives a brief tour of the Karma application
.