The Elody Music Composition Environment
Dominique Fober, Stephane Letz , Yann Orlarey
Elody is a music composition environment based on a visual functional programming language, a direct manipulation user interface and Internet facilities. It is written in Java and available for Mac and Windows.

An important issue in the design of Elody is to propose a novel approach to the End-User programming problem. Instead of resorting to a separate programming language, Elody propose a music notation system with built-in programming capabilities. We call this approach homogeneous programming. It allows the programming activity to be a direct extension of the composition
activity and lowers the complexity barrier for the novice programmer by introducing only a very limited set of unfamiliar concepts to the application domain.

The new concepts added to music notation are essentially those of abstraction and application of the Lambda-Calculus. Elody propose lambda-abstraction on musical structures as a fundamental mechanism to represent user-defined musical concepts and compositional operations. Elody abstractions can be viewed as generalized musical structures with variable parts. These generalized musical structures can be edited, visualized, musically composed and manipulated, and even heard, exactly like any other concrete musical structure.  Combined with Elody direct manipulation user interface this approach allows to easily experiment and explore abstract and complex musical structures while promoting a creative attitude.