Algorithmische Komposition mit Common Lisp
Common Musics erweiterte Streamklasse und Mikrotöne
Über die oben beschriebenen jackmidi input/output
streams hinaus stellt common music auch eine eigene,
bidirektionale Streamklasse <incudine-stream>
zur Verfügung, mit
Hilfe derer auch die Ausgabe von Mikrotönen möglich ist. Auch für
diese Streamklasse existiert ein vordefiniertes Symbol
*rts-out*
, das für die Standardanbindung von Common Musics
Ausgabefunktionen vorgesehen ist.
Im einfachsten Fall einer normalen Midiausgabe wird bei Erzeugung
eines solchen Streams der jackmidi Stream/Port als Argument für
den zu verwendenden Output Port mit Hilfe des Keyworts :output
übergeben:
(setf *rts-out* (new incudine-stream :output *midi-out1*))
Dieser Stream wird automatisch verwendet, wenn bei den
Ausgaberoutinen kein anderer Stream (mit Hilfe der Symbole :to
oder to
) explizit angegeben wurde. Nach der Bindung des Symbols
des obigen Beispiels reicht also der folgende Ausdruck, um eine
Note über diesen Stream auszugeben:
(output (new midi))
Erheblich interessanter wird es, wenn man die erweiterten
Möglichkeiten eines Common Music <incudine-streams>
nutzt, wie
beispielsweise das channel-tuning, um auf diese Weise Mikrotöne
erzeugen zu können.