Going With The Flow with Lisp Programming
Before getting into Symbolic Composer's function libraries, let's think about your style and how you would like it to evolve. Great composers certainly not just doodle with the keyboard, or tweak buttons on synthesizer panels, although that is very fun and you can find out incredible creative ideas that way. You can select now two paths: (a) record the results and call it a composition, (b) sit back, relax and reflect what you did, and how would you make it better.

If you want to progress from stage (a) to stage (b) you need to focus on music structures. What might be the ideas behind your pre-compositional process? How would you express them?



Welcome To Lisp Programming

Symbolic Composer supports composing with a large predefined music algorithm library, but that is only one part of the solution. Symbolic Composer also includes industry-strength Common Lisp interpreter that lets you extend and customize the system. This means several important things:

 If there is not a Library Function for a given task, you may write a new function.
You may also add a new system documentation file, that describes the operation of the function.
User-defined Function Libraries and documentation can be shared with other users. New functions can be programmed on all music compositional hierarchies, as shown in the picture above.

Essential Lisp Is Easy To Learn

To help the composer to adapt into algorithmic composing, Symbolic Composer provides Essential Lisp Documentation that covers all the basic Lisp building blocks.

Lisp is one of the first high-level computer languages and is usually used in Artificial Intelligence Research worldwide. Lisp's rich conceptualizing capabilities through the use of list notation and lambda calculus make it idea language also for computer music research.

Lisp programming is very easy once you get accustomed to it. New functions can be added "ad-hook" basis, since compilation and linking are not required.

If you have no programming experience you will find Lisp concepts easy to understand (some notes: if you have used C, C++ or Perl, you will be perplexed of Lisp's simplicity, and you might be interested to know that many concepts of Java are closely related to Lisp).