Algorithmische Komposition mit Common Lisp
Clamps/Common Music
Common Music erweitert Common Lisp um musikspezifische Funktionalität. Clamps erweitert diese Funktionalität um weitere Eventklassen und Ausgabeformate.
Dazu zählt unter anderem:
Midi:
Komplette Implementierung des MIDI Protokolls, Lesen und Schreiben von Mididateien, Midi Input/Output
sfz:
Eine Eventklasse, die einen in Clamps eingebauten Software Sampler nutzt und dadurch die Notwendigkeit des Einsatzes externer Midi Soft- oder Hardware Sampler für die Klangausgabe vermeidet.
Ereignisse und Streams1
Umfangreiche Implementation von Ereignis- und Dateiklassen (MIDI, FUDI, Csound, OSC, FOMUS, SVG) samt damit verbundener streambasierter print, input und output Methoden.
Prozesse
Einheitliche Spezifikation einer Prozesssyntax, die unabhängig von dem Ausgabetyp (der Ereignisklasse) ist.
- Patterns
- Skalen, Mikrotonalität, Rhythmische Abstraktionen, Umrechnungsfunktionen
Eine komplette Übersicht der Common Music Funktionen findet man
nach der Installation im Common Music Dictionary unter
"<home>/quicklisp/local-projects/cm/doc/dict/index.html".
Für online help kann man in emacs den Cursor auf das Ende eines common music Keywortes positionieren und dann das Tastaturkürzel "C-c C-d c" verwenden. Dadurch wird die entsprechende Webseite automatisch an der entsprechenden Stelle geöffnet.
Eine Kopie des Common Music Dictionary ist zusätzlich online auf diesem Server unter dieser Adresse verfügbar.
Wichtiger Hinweis:
Für die Common Music Beispiele der nächsten Abschnitte ist es erforderlich, dass zuvor Jack (Webseite) und ein Softwaresynthesizer (beispielsweise Qsynth) gestartet wurden.
Fußnoten:
Streams sind bei Computern Abstraktionen für Ein- und Ausgabeoperationen, ähnlich eines softwarebasierten Interfaces. Sie vereinheitlichen Ausgaben auf den Bildschirm, in eine Datei oder auf ein Ausgabegerät, wie beispielsweise einen Hard- oder Softwaresynthesizer, so dass mit den selben Funktionen die Funktionalität von Ein- und Ausgabe in ihrer gesamten Bandbreite abgedeckt werden kann.