Using the SandBox, I've been developing some interesting ideas over past the few days. The most prominent is a novel technique I call "curve splicing." I've yet to see anything similar to it in the literature, so it could be a rather novel method. It's basically an intricate, formulaic method of melody generation.

Rather than use a single, complicated formula to generate a mathematical melody, this method relies on a system of simple formulae. A musical "idea" is represented by a system of curves. These curves needn't be complex. A system consisting of only basic linear functions and linear absolute value functions will suffice. Horizontal linear functions, however, should be classified separately from linear functions with a nonzero slope. Here's the trick: a "splicing string" is used to determine how to combine the curves to create the melody. The final output will essentially be a piecewise combination of the system's curves. The splicing string simply specifies which curve should be the active curve at any point in time (only one active curve at once...for now). Note that the splicing string can be generated from any valid string method...L-system, Markov, grammatical, etc.

Benefits of this method? Numerous. It has a relatively simple data structure, computing the curves is very simple so runtime is fast, and, best of all, the melodies (ideally) sound very structured because of the fundamental observation of contour.

Below is a diagram of the method. The splicing string isn't included, but this should illustrate the general idea:

Curve splicing is an exciting new melody method and I look forward to hearing it in action! I've already run some initial tests and things are looking promising. Perhaps the best part of all this is the possibility that I have created a truly novel method, considering that I have seen nothing like this in the literature. Cool!