Make your own free website on

Karlheinz Essl

LEXIKON-SONATE (© 1992-98)
vs. 2.0 - stand-alone application

Interactive Realtime Composition for Computer-Controlled Piano


LEXIKON-SONATE is a work-in-progress which was started in 1992. Instead of being a composition in which the structure is fixed by notation, it manifests itself as a computer program that composes the piece - or, more precisely: an excerpt of a virtually endless piano piece - in real time. LEXIKON-SONATE lacks two characteristics of a traditional piano piece:

* there is no pre-composed text to be interpreted,
* and there is no need for a pianist or an interpreter.

Instead, the instructions for playing the piano - the indication "which key should be pressed how quickly and held down for how long" - are directly generated by a computer program and transmitted immediately to a player piano (or a MIDI synthesizer) which executes them.

The title LEXIKON-SONATE refers to the "Lexikon-Roman", written in 1968-70 by the Austrian-Slovakian author Andreas Okopenko. This novel appears to be one of the very first literary HyperTexts, independently of Ted Nelson who introduced this term about the same time. This novel - "a sentimental journey to a meeting of exporters in Druden" (subtitle) - consists of several hundred small chapters which were brought into alphabetical order. By reference arrows as in a lexicon the reader could make her own investigations through the multiple nested web structure of the text. Instead of presenting a sequential text with a predefined direction of reading, Okopenko provides a structure of possibilities, which challenges the reader to become a creator of her own version of this novel. See the following URL for more information on the electronic multimedia version of "Lexikon-Roman":

Up-to-now, LEXIKON-SONATE consists of 24 music-generation modules (structure generators) which are related in a highly complex way as a musical HyperText. Each module generates a specific characteristic musical output as a result of the compositional strategy that has been applied. A module represents an abstract model of a specific musical behaviour. It does not contain any pre-organized musical material, but a formal description of it and the methods how it is being processed.

These modules are structural re-implementations of piano gestures obtained by analysis of piano music from Johann Sebastian Bach, Beethoven, Schönberg, Webern, Boulez, Stockhausen and Cecil Taylor. They will never appear as verbal quotation (because none of this gestures has been "sampled"), but mainly as "allusion". Furthermore, they are open and generic enough so that different modules playing at the same time can intermingle, creating unforeseeable meta-structures.

The idea of autopoiesis - material organizing itself due to certain constraints - plays an important rule. By using a lot of different random generators which are controlling each other (which - according to serial thinking - form a scale between a completely deterministic and a completely chaotic behaviour), always new variants of the same model are generated. Variants that may differ dramatically from each other, though they are always perceptable as "inheritances" of the given structural model. Seen in this light, LEXIKON-SONATE can be perceived rather as a meta-composition which enables the unfolding of piano music than a fixed work.

The underlying program was written in MAX (© 1990-1998 Opcode Systems Inc./ IRCAM), an interactive graphical programming environment for multimedia, music, and MIDI, running on a Macintosh computer. Having worked with computers for many years - designing my own xLOGO-based software environment for Computer Aided Composition - I felt the challenge to write an interactive computer program which is able to compose in Real Time. For this purpose I took advantage of my Real Time Composition Library, a collection of MAX-objects designed for musical composition which includes a variety of musical functions, compositional techniques, and algorithmic strategies.

System & Software Requirement

* Apple Macintosh Computer (68040 or PowerPC) with at least 16 MB of RAM, System 7.5 or higher
* Quicktime 2.5 or higher installed (or a standard MIDI-interface attached to the serial port of your Macintosh). Due to the much better sound quality, the use of Quicktime 3.0 is highly recommended - download it from:

Getting Started

* Double-click the file Lexikon-Sonate_2.0. It will take some time after the program is loaded.
* If you run the program for the first time, a MIDI-setup dialog may pop up. Either you press the "cancel" button, or you set the appropriate parameters and hit "okay" afterwards.
* Start the piece by clicking on the "auto play" button.
* Listen...


You may also skip this section...

* Open the box called "p setup" in the upper right corner by double-clicking.
* Select the desired playing mode (concert, installation, minimal).
* Set the velocity range (min. and max. velocity) according to your MIDI-instrument.
* Select the instrument: either the built-in Quicktime synthesizer or an external MIDI device (such as the E-MU Proformance, the Roland Sound Canvas etc.) or even a computer- controlled piano like the Yamaha Disklavier.


If you would like to use an external MIDI instrument instead of the built-in Quicktime synthesizer:

* Be sure that a MIDI driver (such as OMS) is installed in the System Extensions Folder.
* Select "Midi setup..." from the file menu and select the Midi options (f.i. Modem port with 1 MHz).
* Connect a synthesizer or sampler with a "natural" piano sound to the midi-interface which is plugged into the serial port of your Macintosh. You can also connect a player piano such as the Yamaha Disklavier or the Bösendorfer SE Grand Piano.

Playing Modes

1) auto play: clicking on the toggle-button "auto play" (or pressing the return key of your computer keyboard) will start the automatic playing mode.

2) simple interactive: by clicking on the button "trigger" (or by hitting the "+" key of your computer keyboard) a randomly selected module will be put into the "bucket chain". Then it will be played with the "weight factor" displayed besides the text field. To stop playing just click in the "stop" button (or hit the "escape" key of your computer keyboard).

3) advanced interactive: by clicking on the button of besides a module, this very module will be sent into the bucket chain (see above).

4) fully interactive: by playing on certain keys of your computer keyboard (so-called "hotkeys" which are written in square brackets) you can directly evoke the different modules of LEXIKON-SONATE - it allows you to perform the piece on your computer keyboard. If you had a MIDI expression pedal attached to your MIDI interface, you can also control the dynamic of the music directly.

5) complex: by directly typing a value into a number box of a module its "weight" can be determined.The weight can range between 0 and 3 and determines the degree of presence of a module:
0 - switches off the module
1 - background
2 - middle ground
3 - foreground
4 - eternal (not applicable in all modules)
If you use this playing mode the "bucket chain" won't be active - you determine the modules and their weights yourself.

6) highly advanced: open a module by double-clicking on it. When you click on the object box "parameter" a window will open that allows you to change the parameters of a module. By this you can customize a specific musical behaviour of a module at will.

Legal Stuff

This program is freeware but not public domain. The whole package may be distributed freely as long as the content of the distribution folder is not modified. It is not allowed to sell the program. LEXIKON-SONATE can be included in CD-ROM's if you notify the author before (see contact information below).

More Information

More informations on LEXIKON-SONATE (constantly updated) can be retrieved from the World-Wide Web:


Please report any bugs, problems or question to:

Dr. Karlheinz Essl
Am Ölberg 26-30
A-3400 Klosterneuburg
Austria / Europe

Tel: +43-2243-37971
Fax: +43-2243-379714

Original file name: README - converted on Wednesday, 23 February 2000, 17:55

This page was created using TextToHTML. TextToHTML is a free software for Macintosh and is (c) 1995,1996 by Kris Coppieters