Fontana Mix

"Es handelt sich um einen Versuch, unser Bewußtsein um Möglichkeiten zu erweitern, die anders sind als die, die wir bereits kennen, und die, von denen wir bereits wissen, daß wir gut mit ihnen zurechtkommen. Es muß etwas getan werden, um uns und unser Gedächtnis von unseren Vorlieben zu befreien"

John Cage

Arbeitsbericht über eine Realisation

erschienen im Heft 39 der DEGEM-Mitteilungen (PFAU-Verlag, März 2001)



In diesem Artikel will ich versuchen, die wesentlichen Gedanken und Arbeitsschritte meiner eigenen Realisation von John Cage’s FONTANA MIX (1958) zu beschreiben. Diese Realisation schließt sich an eine Reihe weiterer Bearbeitungen von älteren zumeist live-elektronischen Kompositionen an, die ich in den letzten Jahren anläßlich der Zusammenarbeit mit verschiedenen Ensembles und Solisten vorgenommen habe:

Während viele live-elektronische Kompositionen in Form und Ablauf festgelegt oder gar ausnotiert sind (z.B. RICERCARE) und die Mittel und Methoden der elektronischen Bearbeitung in der Partitur wenigstens in schematischer Form oder manchmal sogar durch konkrete Vorgabe spezieller Effektgeräte (z.B. HÖDERLIN LESEN) oder eigens für diese Stücke entwickelter Apparaturen (z.B. SOLO) vorgegeben werden, überläßt John Cage in den Partituranweisungen zu CARTRIDGE MUSIC (1960) und FONTANA MIX (1958) dem Interpreten die Aufgabe, sich selbst eine mit selbstgewählten Instrumenten oder Klangerzeugern spielbare Fassung mit Hilfe von grafischen Verfahren zu erstellen. Die Partitur von CARTRIDGE MUSIC sieht neben unbestimmten Mitteln (auxiliary sounds, „sound produced by any other means“) immerhin die Verwendung von Tonabnehmern für Plattenspieler (cartridges) und beliebigen Objekten anstelle der Abtastnadel vor. Cage selbst verwendet die Partiturmaterialien jedoch auch für andere Stücke, wie DUET FOR CYMBAL oder PIANO DUET, in denen statt Tonabnehmern Kontaktmikrophone benutzt werden können. Schließlich kann CARTRIDGE MUSIC auch als Vorlage für eine live-elektronische Verfremdung der Aufführung einer anderen Komposition dienen, wie im Falle von ATLAS ECLIPTICALIS, bei dem ein Assistent einige der Instrumente des Ensembles verstärken kann und nach einem vorher erstellten Ablaufschema filtert, moduliert oder anderweitig bearbeiten soll.

FONTANA MIX ist hinsichtlich der Klangerzeugung und Bearbeitung noch weniger festgelegt. Das Partiturmaterial besteht aus 10 Blättern mit verschiedenen Kurven, 10 Folien mit Punkten sowie 2 Folien zum Bestimmen und Ausmessen von (musikalischen) Ereignissen. Mit diesem Material lassen sich nach einem weiter unten genauer beschriebenen Verfahren völlig verschiedene Stücke zusammenstellen. Ursprünglich realisierte Cage mit Hilfe dieser Partitur ein Tonbandstück namens FONTANA MIX innerhalb einer viermonatigen Arbeitsperiode im Studio di Fonologia Musicale in Mailand mit technischer Unterstützung durch Marino Zuccheri (CHADABE, siehe Literaturangaben am Schluß des Artikels). Diese Version ist, wie schon das ältere Tonbandstück WILLIAMS MIX (1952), vom Material her gesehen ein Stück konkrete Musik, das Cage allerdings weder im Sinne der musique concrète nach Kriterien klanglicher Wahrnehmung strukturiert noch im Sinne etwa Karlheinz Stockhausens mit seriellen Methoden in einen akustisch-analytischen Parameterraum einordnet. Verwendet wurden Klänge und Geräusche, die in Mailand aufgenommen wurden, sowie Bänder aus dem Archiv des Italienischen Rundfunks, dem das Studio di Fonologia angegliedert war. Mir ist kein Bericht darüber bekannt, auf welche konkrete Weise Cage dieses Klangmaterial mit Hilfe des in der Partitur beschriebenen allgemeinen Verfahrens im Falle seiner eigenen Tonbandrealisation strukturiert hat. Ähnlich wie in CARTRIDGE MUSIC sind auch in der Partituranweisung zu FONTANA MIX nur äußerst vage Angaben zur Elektronik zu finden:
„the thickest curved line may give sound source(s) (...) lines may specify machines (among those available) for the alteration of original material. Amplitude, frequency, overtone structure may be changed, loops and specific durations introduced.“

Der Interpret muß also selbst Klangerzeugung und Bearbeitungsverfahren auswählen und festlegen, wie die aus der Partitur gewonnenen Werte als musikalische Parameter angewendet werden sollen. Mit Hilfe des Partiturmaterials wird lediglich ein zeitlicher Ablauf ermittelt, in den das vorher gewählte Klangmaterial mittels vorher gewählter Transformationsarten unabhängig vom Willen des Interpreten eingeordnet wird und somit zu musikalischen Ereignissen geformt wird.

So kann das Partiturmaterial nicht nur zur Realisation von Tonbandmusik sondern auch für Projekte und Aktionen im Rahmen völlig beliebiger, nicht nur musikalischer Aufführungsformen verwendet werden:
„The use of this material is not limited to tape music but may be used freely for instrumental, vocal and theatrical purposes.“

Cage selbst nennt im Untertitel der erst 1960 - also 2 Jahre nach der Tonbandrealisation - erschienenen Partitur zu FONTANA MIX: „Also Water Walk (1959), Sounds of Venice (1959), Aria for Mezzosopran (1958), Theatre Piece (1960), WBAI (1960). Also used by Cornelius Cardew to make Solo for Guitar.“

Diese Partitur stellt daher im Gegensatz zu denen der anderen oben genannten Kompositionen keine normale Realisationsanweisung oder gar Dokumentation einer bestimmten Version dar. Es sind weder Klangmaterial oder instrumentale Besetzung noch technische Bearbeitungen vorgeben. Gleiches gilt für Struktur und Form, die als Beschreibungsmittel eines musikalischen Werks hier ihre Bedeutung verlieren. Die Partitur zu FONTANA MIX kann eher als eigenartiger „Zufallsgenerator“ angesehen werden. Sie ist letztlich als ein Methodenangebot zu verstehen, „um die Gestaltung einer Aufführung von den persönlichen Vorlieben und Abneigungen der Interpreten zu befreien.“ (KÖSTERKE)

Ich habe mit Hilfe einer programmierten Fassung dieser Partitur eine Realisation produziert, die weder durch die Kategorien Tonbandmusik noch Live-Elektronik besonders gut beschrieben wird, sondern besser als eine Art echtzeitgenerierte Computermusik bezeichnet werden sollte.

Die Partitur

Das Material zu FONTANA MIX besteht aus 10 Papierblättern (drawings) der Größe A4, auf denen jeweils 6 verschiedene Linen (durchgezogene dicke, mittlere und dünne Linien sowie gepunktete dicke, mittlere und dünne Linien) in stark ausgeprägten Kurven vom oberen zum unteren Seitenrand laufen:

Auf 10 transparenten Folien gleicher Größe befinden sich offenbar beliebig verteilte Punkte in unterschiedlicher Anzahl:

Desweiteren gehören eine in 100 x 20 Quadrate geteilte Rasterfolie (graph) sowie eine ebenfalls auf einer Folie gezeichnete gerade Line (straight line) zur Partitur:

Auf einer Textseite wird der Umgang mit diesem Material auf folgende Weise beschrieben:
Place a sheet with points over a drawing with curves (in any position). Over these place the graph. Use the straight line to connect a point within the graph with one outside.

Dabei ergeben sich durch die Anzahl der vorhandenen Kurvenblätter und Punktfolien (jeweils 10) bereits 100 verschiedene Kombinationen, wobei jede der transparenten Punktfolien zusätzlich auch auf „die Rückseite“ gewendet werden könnte, was die Anzahl möglicher Kombinationen verdoppelt. Schließlich sind durch Verschiebung und/oder Drehung der Punktfolie gegenüber dem Kurvenblatt unendlich viele Möglichkeiten gegeben, Kurven und Punkte übereinander zu legen.

Je nach der Anzahl der Punkte auf der gewählten Folie gibt es wiederum Hunderte von Varianten, das Raster und die gerade Linie so auf eine Kurvenblatt-Punktfolien-Kombination zu legen, daß ein Punkt innerhalb des Rasters und ein Punkt außerhalb des Rasters durch die Linie verbunden werden. Hier ein mögliches Resultat dieser Anweisung:

So eine Kombination von Kurvenblatt, Punktfolie, Rastergraph und Linie ermöglicht die Bestimmung der Parameter für ein einzelnes musikalisches Ereignis (eine Note, ein Klang, eine Aktion o.a.). Zunächst wird die zeitliche Einordnung des Ereignisses bestimmt:
Measurements horizontally on the top and bottom lines of the graph with respect to the straight line give a 'time bracket' (time within which the event may take place) (graph units = any time units).

Ein- und Austrittsschnittpunkte der geraden Linie bezogen auf das Raster geben die sogenannte Zeitklammer an, in der das musikalische Ereignis stattfinden kann:

Diese Anweisung läßt sich auf verschiedene Weise interpretieren. Die hundert Einheiten des Rasters in Längsrichtung könnten beispielsweise als Gesamtdauer der Aufführung betrachtet werden. Nehmen wir an, die Line schneidet den unteren Längsrand des Rasters bei 51 und den oberen Rand bei 73. Das würde nach dieser Interpretation bedeuten, das Ereignis darf zwischen 51% und 73% der totalen Aufführungszeit stattfinden. Wie man leicht überprüfen kann, würde diese Lesart dazu führen, daß sich in der Mitte des Stücks eine große Ereignisdichte herausbildet, während am Anfang und am Ende der Aufführung relativ wenige Ereignisse auftreten. Das von Cage eigentlich zur Erzeugung nicht-determinierter Formen entwickelte Verfahren würde so mit hoher Wahrscheinlichkeit zu einem Dichteverlauf führen, der statistisch dem einer Gauß-Kurve entspricht. Somit wären alle Realisationen von FONTANA MIX wenigstens in dieser Hinsicht ähnlich. Glücklicherweise läßt die (bewußt?) unscharfe Formulierung von Cage auch andere Deutungen zu. Doris Kösterke beschreibt eine weitere Lesart, bei der die Zeitklammer zunächst nur als abstrakte Dauer interpretiert wird und die Festlegung der Startzeit dieser Dauer erst später durch weitere Zufallsoperationen erfolgt. Für meine Realisation habe ich eine andere Auslegung gefunden, die ich weiter unten beschreiben werde.

Die musikalischen Parameter eines Ereignisses werden durch die innerhalb des Rasters liegenden Schnittpunkte der geraden Linie mit den 6 verschiedenen Kurven beeinflußt:
Measurements vertically on the graph with respect to the intersections of the curved lines and the straight line may specify actions to be made. Thus, in the case of (Fontana Mix) tape music, the thickest curved line may give sound source(s) where the latter have been categorized and related quantitatively to 20. (In this case, the 2 points connected by the straight line must permit the latter to intersect the thickest curved line.) Intersections of the other lines may specify machines (among those available) for the alteration of original material. Amplitude, frequency, overtone structure may be changed, loops and specific durations introduced.

6 verschiedene Kurventypen erlauben die Steuerung bzw. Änderung 6 verschiedener Parameter, wie z.B. Lautstärke, Tonhöhe, Dauer, Klangfarbe oder Spieltechnik als einfache Parameter oder sogar strukturbildender Elemente, wie Wiederholungen. Die „Höhe“ des Schnittpunkts einer Kurve mit der geraden Linie gemessen an den maximal 20 vertikalen Einheiten des Rasters gibt die Intensität (im Falle einer kontinuierlich veränderbaren Größe wie z.B. Frequenz) oder die Nummer einer von mehreren Möglichkeiten (im Falle diskreter Größen, wie z.B. Nummer eines Sounds oder einer Spieltechnik) an. In beiden Fällen muß die Größe eines Parameters oder die Anzahl der Elemente einer Klasse auf die Zahl 20 als Maximum bezogen werden, d.h. ein Parameter kann zwischen 1 und 20 variieren bzw. die Anzahl der verfügbaren diskreten Elemente wird auf Zahlen zwischen 1 und 20 gleichmäßig aufgeteilt.

Allerdings schneidet die gerade Linie nicht immer alle 6 Kurven innerhalb des Rasters, so daß ein musikalisches Ereignis nicht vollständig bestimmt werden kann. Es kommt sogar recht selten vor, im Durchschnitt in weniger als 1/6 aller Fälle, daß beim Aufeinanderlegen der Blätter und Folien für alle 6 Parameter ein Ergebnis vorliegt. Hier bieten sich wieder mehrere Möglichkeiten des Umgangs mit diesem Problem an: im Falle eine Tonbandmusik könnte eine Aufnahme einfach weiterlaufen und in den fehlenden Parametern unmodifiziert bleiben, im Falle einer instrumentalen Version könnte auf ähnliche Weise ein gewähltes musikalisches Material ohne Beeinflussung durch die Kurvenparameter vom Interpreten selbst weiterentwickelt werden. Hat man sich dafür entschieden, nur vollständige Ergebnisse zuzulassen, stehen einem sehr viele „Legeversuche“ bevor, je nachdem wie lang und dicht die resultierende Aufführung sein soll. Aber auch im Falle des Akzeptierens unvollständiger Ereignisse ist der zu leistende Zeitaufwand beim Erstellen einer Version von FONTANA MIX beträchtlich: jedes Übereinanderlegen von Blättern und Folien ergibt ja nur ein einziges musikalisches Ereignis!

Diesen Arbeitaufwand zu minimieren war eines meiner Motive, das Verfahren von FONTANA MIX als Software zu implementieren. John Cage ist selbst gelegentlich ähnliche Wege gegangen, z.B. bei der Realisation von HPSCHD (Programmierung durch Lejaren Hiller) oder durch die Verwendung eines I-Ching-Computerprogramms anstelle des traditionellen Werfens von Münzen. Sicherlich geht beim automatischen Erstellen einer Aufführungsversion mit Hilfe eines solchen Programms, vergleicht man es mit dem aufwändigen und zeitraubenden Zusammenstellen per Hand, das Gefühl dafür verloren, was es heißt, sich während der „Kompositionsarbeit“ streng an das vorgegeben Schema zu halten und, um das Cagesche Ideal des unintendierten Komponierens und Musizierens zu erreichen, sich gleichzeitig freizumachen von einem bestimmten Klangbild oder einer musikalischen Vorstellung. Die Programmierung von FONTANA MIX ist daher nicht als idealer Ersatz für die manuelle Erstellung von Aufführungsversionen gedacht, sondern stellt lediglich eine, meines Erachtens legitime Möglichkeit des Umgangs mit dem Verfahren dar.

Die Schwierigkeiten, die sich beim Erarbeiten und Aufführen solcher Werke ergeben, sollen kurz an einem anderen Beispiel illustriert werden. Zur Vorbereitung der oben kurz erwähnten Simultanaufführung der eigentlich zeitlich voneinander unabhängigen Kompositionen ATLAS ECLIPTICALIS und CARTRIDGE MUSIC muß für die live-elektronische Ebene mit Hilfe eines ähnlichen Verfahrens die zeitliche Struktur für eine Aufführungsversion zusammengestellt werden, ohne daß man die späteren Entscheidungen der Interpreten von ATLAS kennt. So konnte eine elektronische Bearbeitung (Filterung, Delay, Ringmodulation etc.) nur unter der Bedingung hörbar werden, daß ein Instrumentalist zufällig zum gleichen Zeitpunkt Töne produzierte, wenn dieser Klangeffekt gerade eingeschaltet war. Äußerungen von Mitwirkenden verschiedener Aufführungen von ATLAS mit CARTRIDGE MUSIC haben gezeigt, daß es nicht leicht ist, sich von klanglichen und strukturellen Vorstellungen und Wünschen frei zu machen: „schade, dieser Effekt hätte gut zu jener musikalischen Phrase gepasst“, oder: „heute hat man leider nur wenig von der Klangbearbeitung gehört“. Dieses relativ seltene Zusammentreffen ist eine Eigenart nur dieser speziellen Kombination beider Partituren. Das Beispiel zeigt aber deutlich, daß wir als Ausführende oder Zuhörende im Allgemeinen immer mit einer bestimmten Erwartungshaltung in eine Aufführung gehen und demzufolge das Gehörte an dieser Erwartung messen und das noch zu Produzierende und später Erklingende auf das Gehörte beziehen.

Die Programmierung des Verfahrens von FONTANA MIX zusammen mit einer noch zu beschreibenden Klangbearbeitungsprozedur mit Hilfe eines echtzeitfähigen Systems sollte daher den Einfluß des Komponisten und des Interpreten, den es nun eigentlich nicht mehr gibt, auf das Zur-Verfügung-Stellen der Algorithmen zur Struktur- und Klanggenerierung reduzieren, um wenigstens zu einem Teil den vom Buddhismus beeinflußten Vorstellungen von Cage zu entsprechen:
„... ich habe also versucht, meine Ansichten darüber aufzugeben, wie Musik sein sollte, und ganz bestimmt darüber, wie sie ausdrucksvoller geraten könnte, und man sollte die Klänge aus ihren eigenen Zentren kommen lassen. Ich bin davon überzeugt, daß (...) wir etwas erhielten, was wundersam anzuhören wäre“ (aus der „Rede an ein Orchester“ in (METZGER))

Durch die Programmierung aller Aspekte der Produktion einer (oder beliebig vieler) Version(en) von FONTANA MIX werden alle Entscheidungen im Rahmen der einmal gewählten Verfahren von der Maschine gefällt und können nicht mehr durch eine wie auch immer geartete musikalische Beurteilung während der Zusammenstellung oder der Aufführung revidiert werden.

Ein weiteres Ziel bei meiner Realisation war es, die zeitaufwendige manuelle Bestimmung der Parameter der musikalischen Ereignisse dem Computer zu überlassen. Einerseits sollte dies der Idee eines unpersönlichen Komponierens und Musizierens entgegenkommen, andererseits verleitet die Entlastung vom mühsamen Zusammenstellen einer Aufführungsversion dazu, in der gewonnenen Zeit an der Anpassung der erzeugten Daten an die gewählte Klangprozedur so lange zu feilen, bis im Prinzip ein zufriedenstellender Gesamteindruck erreicht wird. Dieser „Gefahr“ wurde dadurch entgegengewirkt, daß die Speicherung einer einmal erzeugten Version nicht programmiert wurde. Vielmehr produziert jeder neue Programmlauf auch eine komplett neue Version, die zwar statistisch und klanglich den vorhergegangenen Durchläufen ähnlich sein kann, im Detail jedoch oder manchmal auch in großem Maße unterschiedlich ist.

Wodurch unterscheidet eine solche Realisation z.B. von einer beliebigen zufallsgesteuerten Klanginstallation? Tatsächlich sind für den Zuhörer die Aspekte der Erstellung der Aufführungspartitur, mit welchem speziellen Verfahren sie „erwürfelt“ oder elektronisch generiert wurde, nur nebensächlich. Unabhängig vom Wissen über die Herkunft aber ergibt sich bei FONTANA MIX, je nach Interpretation der time brackets und aller modifizierenden Parameter, eine spezifische Art des Zufalls, der sich von einfachen Anwendungen der bekannten Wahrscheinlichkeitsverteilungen, wie Gleichverteilung, Linearverteilung usw., auf die musikalischen Parameter hörbar unterscheidet. Damit ist natürlich nicht ausgeschlossen, daß ähnliche statistische Strukturen auch mit herkömmlichen Methoden generiert werden könnten. Ebenso ist nicht ausgeschlossen, daß Cage, hätte er in den 50er Jahren leichten Zugang zu Computern gehabt, so wie es Xenakis um 1960 gelungen ist, die verschiedenen komplizierten graphischen Zufallsverfahren, wie sie in den besprochenen Kompositionen und anderen (z.B. VARIATIONS) zum Einsatz kamen, möglicherweise gar nicht entwickelt hätte....

Zur Wahl der verwendeten Programmiersprache

Generell stellt sich bei Realisationen mit einer algorithmisch beschreibbaren Organisation und hinreichend komplexer Klangerzeugung und -bearbeitung die Frage, ob diese beiden Aspekte der Komposition mit Hilfe verschiedener funktionell getrennter Soft- oder Hardwares ausgearbeitet werden sollen oder ob es möglich ist, mit einem einzigen System, das beide Bereich vereint, zu arbeiten. Im Fall der Trennung muß man sich mit einer dritten Komponente, dem Interface zwischen Struktur und Klang besonders auseinandersetzen. Die üblicherweise dafür verwendete Notenschrift bzw. das daraus abgeleitete MIDI-Protokoll sind sehr leistungsfähig, versagen aber überall dort, wo es nicht mehr nur um halbtongerasterte und auf einen mittleren Dauernbereich zeitlich begrenzte Klangereignisse oder gar um kontinuierliche Klang- und Geräuschentwicklungen geht.
Diese technischen Aspekte der kompositorischen Arbeit - algorithmische Beschreibung, Klangerzeugung und deren Steuerung - sollen nun kurz diskutiert werden.

Die für die Realisierung von FONTANA MIX zu verwendende Programmiersprache sollte in der Lage sein, die digitalisierten Grafiken „übereinander zu legen“, die Schnittpunkte auf die beschriebene Art zu ermitteln und die Werte auf die Parameter zu übertragen, diese Parameter zu einer Ablaufpartitur zusammenzustellen und damit die Klanggenerierung und -bearbeitung zu steuern. Alles sollte darüber hinaus in sehr kurzer Zeit berechnet werden, so daß die Version unmittelbar vor der Aufführung erzeugt werden kann.

Die Sprache mußte z.B. für die numerische Darstellung der Kurvenblätter geeignete Datenstrukturen, wie mehrdimensionale Arrays bzw. geschachtelte Listen bereithalten, für die Vorverarbeitung der Grafiken den Import und Export von Text- und Binärdateien beliebigen Formats unterstützen und für eine komfortable und übersichtliche Programmierung die üblichen Kontrollstrukturen (if-then-else, for, do-until usw.) besitzen, sowie die Möglichkeit bieten, eigene Funktionen zu schreiben.

Dafür hätte sich nahezu jede Programmiersprache, wie C, BASIC oder LISP geeignet. Allerdings nur um den Preis der Trennung zwischen Struktur- und Klanggenerierung. Natürlich wäre die Beschreibung der Klangerzeugung in Programmiersprachen wie C prinzipiell möglich, aber angesichts der Vielzahl bereits vorhandener Synthesesprachen nicht besonders ökonomisch.

Für eine Klangerzeugung in Echtzeit hätten sich mehrere Systeme angeboten, wie z.B. die weitverbreiteten Softwaresynthesizer REAKTOR, CSOUND oder MSP. Die beiden erstgenannten Systeme erfüllten die im Rahmen dieser Realisierung erhobenen Anforderungen vor allem wegen der unvermeidlichen Trennung zwischen algorithmischer Beschreibung und Klangsteuerung nur unzureichend: REAKTOR ist zwar echtzeitfähig und insgesamt recht komfortabel, bietet aber keine Möglichkeit der Scoregenerierung und läßt sich von außen nur mit dem grobgerasterten MIDI-Protokoll (128 Werte / Parameter) steuern. CSOUND läßt zwar auch Fließkommazahlen als Instrumentenparameter zu, hat aber nur rudimentäre Fähigkeiten zur Scoregenerierung und ist darüberhinaus nur eingeschränkt echtzeitfähig.

MAX/MSP dagegen, das sowohl in Echtzeit arbeitet als auch beliebig feinaufgelöste Eventparameter algorithmisch berechnen kann, ist eine für viele live-elektronische Setups eigentlich gut geeignete Software. Allerdings offenbart dieses Programm, das insbesondere für interaktive Anwendungen entwickelt wurde und nur dort seine Stärken richtig entfalten kann, entscheidende Mängel in Syntax und Sprachumfang, will man auf „klassische Weise“ programmieren. Problematisch sind z.B. die unzureichende Implementierung von Listen, Arrays oder komplexeren Datenstrukturen und das Fehlen echter Kontrollstrukturen. Anstelle richtiger Variablen und Funktionen findet man hier nur die allgegenwärtigen Patchchords und Subpatcher, die vielleicht bei kleinen Patches die Zusammenhänge gut verdeutlichen, bei größeren Projekten aber ein echtes Hemmnis während der Programmierung werden können. Beispielsweise wäre die Analyse der Bilddaten, die Programmierung der Überlagerung der Blätter und Folien und das Ermitteln der Eventparameter für FONTANA MIX mit dieser Software nahezu undurchführbar gewesen. Zudem verwaltet MAX/MSP in der aktuellen Version die Audioprozesse nicht dynamisch (1), was zum einen die CPU unnötig belastet (im Patch vorhandene, gegenwärtig aber nicht benutzte Audioobjekte verbrauchen trotzdem Rechenleistung und müssen daher eigens mit einem „Ausschalter“ versehen werden) und was zum anderen zu erhöhtem Planungs- und Programmieraufwand führt (man muß soviele Objekte einrichten, wie man maximal Stimmen benötigt). Bei FONTANA MIX ist aber die Anzahl gleichzeitig erklingender Stimmen nicht vorauszusehen, daher hätte die Überlagerung der zufälligen Ereignisse auf eine bestimmte Obergrenze festgelegt werden müssen.

So fiel die Wahl letztendlich auf SUPERCOLLIDER, einen Softwaresynthesizer, der sowohl eine umfangreiche objektorientierte Sprache mit den oben genannten Eigenschaften als auch eine echtzeitorientierte Audiosignalverarbeitung besitzt. SUPERCOLLIDER ist zudem vermutlich die gegenwärtig effizienteste Syntheseumgebung überhaupt: mit meinem inzwischen recht betagten 200 MHz langsamen PPC604-Prozessor lassen sich immerhin etwa 100 transponierte (und daher interpolierte!) Samples gleichzeitig abspielen - auf einem aktuellen G4-Rechner sind es weit über 1000! Wie auch MAX/MSP läuft SUPERCOLLIDER zur Zeit nur auf Rechnern mit MacOS. Hinweise zu ausführlicheren Informationen über diese Software befinden sich am Schluß dieses Artikels. (2)

Im Folgenden werde ich meine Vorgehensweise beim Umsetzen der in der Partitur gegebenen Materialien und Anweisungen in eine digitale Form beschreiben.

Aufbereitung des Partiturmaterials

Durch den Anspruch, das manuelle grafische Bestimmen der Parameter musikalischer Ereignisse durch einen automatischen Vorgang zu ersetzen, war es notwendig, das gesamte Partiturmaterial in eine maschinenlesbare Form zu übertragen. Zunächst wurden die 10 Kurvenblätter und die 10 Punktfolien gescannt und als TIFF-Bilder in einer Auflösung von 780 x 1060 Pixeln abgespeichert. Die von Cage gezeichneten Punkte und Kurven sollten nun von der graphischen Pixeldarstellung in geometrische Objekte, wie durch Koordinaten und Parameter beschreibbare mathematische Punkte und Linen bzw. Funktionen, umgewandelt werden, um mit ihnen die erforderlichen Berechnungen durchführen zu können. Diese Übertragung hätte gleichfalls automatisiert werden können, es schien mir jedoch einfacher, diese Aufgaben mit anderen Mitteln „per Hand“ zu lösen.

Mit Hilfe eines Bildbearbeitungsprogramms ließen sich die Punktfolien durch Ablesen der (Pixel-)Koordinaten der einzelnen Punkte am Bildschirm recht einfach in eine tabellarische bzw. Listenform bringen. Die abgelesenen Wertepaare wurde direkt in ein mehrdimensionales Array in einem SUPERCOLLIDER-Patch eingetragen. Die Kurven, die als mathematische Objekte im Gegensatz zu den diskreten Punkten eigentlich kontinuierlich sein sollten und daher mit Hilfe von Funktionen (z.B. Bezierkurven) beschrieben werden müßten, wurde der Einfachheit halber ebenfalls als endliche Folge von Punkten, die den Pixeln des Scans entsprechen, aufgefaßt.

Da die 6 verschiedenen Kurventypen auf einem Blatt einander überlagernd sind und sich ständig kreuzen und diese Kurven zudem teilweise unterbrochene Linien sind, würde der Suchalgorithmus, der prüft, wo die gerade Line diese Kurven innerhalb des Rastergraphs schneidet, unnötig verkompliziert und somit verlangsamt werden. Daher sollten die jeweils 6 Kurven der 10 Blätter als getrennte Bilddateien abgespeichert werden. Zu diesem Zweck mußten die Kurven einzeln mit Hilfe eines Vektorgrafikprogramms nachgezeichnet werde, da eine automatische Separation nicht ohne weiteres möglich war.. Die entstandenen, nunmehr tatsächlich kontinuierlichen Kurven wurden danach wieder als Pixelbilddateien (TIFF) abgespeichert.

Diese Dateien wurden mit Hilfe eines ebenfalls in SUPERCOLLIDER geschriebenen kleinen Programm in eine komprimierte Form gebracht. Eine TIFF-Datei verzeichnet für jedes Pixel einen Farbwert, d.h. ein weißes Bild, auf dem sich ein einziger schwarzer Punkt befindet, beansprucht genauso viel Speicherplatz, wie das Schwarz-Weiß-Bild einer beliebigen Zeichnung mit gleicher Abmessung und Auflösung. Die Komprimierung wurde dadurch erreicht, daß nur die Koordinaten der zur Kurve gehörenden schwarzen Pixel abgespeichert wurden. Das Performance-Patch, das letzlich das Übereinanderlegen der Blätter und Folien simuliert, konnte später diese Koordinaten von der vorbereiteten Kurvendatei direkt in ein Array einlesen und somit dem Suchalgorithmus die Arbeit entscheidend erleichtern.

Die beiden restlichen Elemente der Partitur, der Rastergraph (20 x 100 Quadrate) und die gerade Linie wurden direkt mit den sprachlichen Mitteln von SUPERCOLLIDER als Rechteck (rect) bzw. lineare Funktion formuliert.

Für das Performance-Patch lagen nunmehr alle notwendigen Informationen aus der grafischen Partitur in geeigneter elektronischer Form vor: die Blätter mit den Kurven als Arrays mit den Koordinaten der einzelnen Bildpunkte, aus denen die verschiedenen Kurven zusammengesetzt sind, die Folien mit den Punkten ebenfalls als Koordinaten-Arrays und der Rastergraph als rect-Object. Die gerade Linie wird später vom Programm als Verbindung zweier Punkte entsprechend den Anweisungen von Cage definiert.

Zur Struktur des Programms

Das Performance-Patch, das Programm mit dem die Parameter der Events aus den Partiturdaten gewonnen werden und mit dem die Klänge generiert bzw. bearbeitet werden, soll durch Aufzählung der wichtigsten Schritte nur kurz umrissen werden:

Vor jeder Aufführung können einige Eigenschaften durch Angabe jeweils eines Variablenwertes relativ schnell geändert werden (in Klammern die von mir verwendeten Werte):

Im nächsten Abschnitt erläutere ich die Klanggenerierung mit den von mir verwendeten Parametern.

Klangerzeugung und Steuerung

FONTANA MIX erlaubt es, zusätzlich zur Zeitklammer, die das zeitliche Auftreten eines Ereignisses bestimmen soll, bis zu 6 weitere Parameter pro Event zu generieren. John Cage schlägt für diese Parameter folgende Bedeutungen vor:
Auswahl der Klangquelle, Änderung von Amplitude, Frequenz, Obertonstruktur sowie Loops, Dauern und räumliche Verteilung.

In Cages eigener Tonbandrealisierung hört man vor allem verschiedene Aufnahmen (z.B. Sprache, Hundegebell, Töpfe, eine Maultrommel und etliche musikalische Fragmente) und eine Reihe von nicht näher bestimmbaren Geräuschen (Kratzen am Mikrofon?, Radioempfängerrauschen?, synthetische Klänge?). Als Bearbeitungen wurden dem Höreindruck nach offenbar in erster Line Tonbandmanipulationen verwendet, wie das Schneiden, die Variation der Abspielgeschwindigkeit, das „Scratchen“ mit den Bandtellern sowie Bandschleifenherstellung. Weitere Parameter waren womöglich die oft zu hörenden Übersteuerungen sowie die Zuordnung zu einem der 2 Lautsprecher (die mir zugängliche Aufnahme ist tatsächlich 2-kanalig, d.h. alle Klänge kommen entweder aus dem linken oder aus dem rechten Lautsprecher).

Für meine Realisation habe ich einen Klangbearbeitungsalgorithmus zusammengestellt, der ein Quellenmaterial (in diesem Fall waren es Sprachaufnahmen) so bearbeitet, daß die Herkunft der Klänge teilweise erkennbar, zumeist aber durch starke Verfremdung unkenntlich blieb. Die verwendeten Sprachaufnahmen bei der Erstaufführung dieser Realisation im Rahmen der Berliner KRYPTONALE im September 2000 waren Passagen einer Lesung der Erzählung „Die Bibliothek von Babel“ von Jorge Luis Borges, die im Zusammenhang mit einer früheren Klanginstallation aufgenommen wurden (Sprecher: Erhardt Wagner).

Diese Soundfiles werden von SUPERCOLLIDER direkt von der Festplatte gelesen (DiskIn), da ein komplette Einlesen alle Files in den Arbeitsspeicher aus Platzgründen nicht möglich war. Ein von der Festplatte abgespieltes Sprachsample wird mit Hilfe einer Zufallsimpulsfolge (Dust) durch Amplitudenmodulation „zerhackt“ (Decay2). Die entstandenen kurzen Fragmente werden danach durch eine Filterbank mit 7 Resonatoren (Klank) geschickt und anschließend auf eine Panoramaposition zwischen 8 Lautsprechern verteilt (PanAz). Damit ein ungünstiges Zusammentreffen von hoher Sprachsample-Amplitude, hoher Ereignisamplitude, hoher Impulsdichte und langer Filterabklingzeit nicht zu Übersteuerungen führen kann, habe ich noch eine Pegelbegrenzung (Limiter) eingefügt.
SC-Code mit dem Syntheseteil des Performance-Patches:

// Klangerzeugung zu FONTANA MIX
numchan = 8; Synth.play({ OrcScore.ar( [ // the orchestra { arg spawn, i, synth, deltaTime, instrNum, dur, snd, freq, dens, amp, pos; var d, nres, impulse, frag, sndin, adens ; d = dur min: (sndfiles.at(snd).numFrames / 44100.0); nres = 7; sndin = DiskIn.ar(sndfiles.at(snd), false); adens = 1.0 / dens; impulse = Dust.ar(dens * 300.0, adens ** 2.0); frag = Decay2.ar(impulse, 0.003, 0.03, sndin); EnvGen.ar(Env.linen(0.005, d, 0.01, 0.5, 4), PanAz.ar(numchan, Limiter.ar( Klank.ar(`[ Array.rand(nres, freq, freq * 4.0), Array.fill(nres, {amp / 10.0}), Array.fill(nres, {(adens.sqrt / 80.0) min: 3.0})], frag), 0.5, 0.01), pos, 1, 4.0)) } ], score, numchan, nil, 1) })

Die resultierenden Klänge liegen zwischen gerade noch verständlicher nach Granularsynthese klingender Sprache auf der einen Seite und perkussiven metallischen Schlägen auf der anderen Seite. Inwieweit sich der erzeugte Klang vom Original entfernt, wird von einem der 6 Parameter bestimmt, den ich als eine Art Dichteparameter (dens bzw. adens) aufgefaßt habe. Er regelt die Dichte der Zufallsimpulse exponentiell zwischen 0.6 und 300 Impulsen pro Sekunde. Dieser Dichteparameter bestimmt ebenfalls die Abklingzeit der Resonatoren zwischen 0.3 und 0.01 Sekunden. Somit ergibt sich folgende Abhängigkeit: wenn die Impulsdichte sehr hoch ist, kann sehr viel vom originalen Sprachklang wahrgenommen werden. Gleichzeitig haben die Filter kaum einen Einfluß, da eine hohe Impulsdichte in meinem Algorithmus automatisch mit einer kurzen Abklingzeit verknüpft worden ist. (Die Abklingzeit eines Resonanzfilters resultiert aus der Bandbreite bzw. Güte des Resonators: geringe Güte = große Bandbreite = kurze Nachklingzeit.) Umgekehrt hat eine geringe Impulsdichte zur Folge, daß nur sehr wenige kurze oder teilweise überhaupt keine Ausschnitte aus den Sprachsamples zu hören sind, welche außerdem nun mit relativ hoher Güte gefiltert werden, so daß im Prinzip nur enge Bänder um die Filtermittenfrequenzen herum hörbar werden. Durch die zumeist inharmonischen Frequenzverhältnisse der einzelnen Resonatoren untereinander ergeben sich metallartige Perkussionsklänge.

Die anderen 5 Parameter sind: die relative Amplitude (amp, zwischen 0 und ca. -50 dB), die Panoramaposition (pos) auf einem von 8 Lautsprechern gebildeten Kreis, die Soundfilenummer (snd, 1 - 89), die Frequenz (freq) sowie ein Dauernfaktor. Die Frequenz (zwischen 65 Hz und 3.7 kHz) sowie ihre Doppeloktove stellen das Rahmenintervall dar, aus dem ein Zufallsgenerator 7 Mittenfrequenzen für die Resonatoren wählt.

Einsatzzeit und Dauer eines Ereignisses werden mit Hilfe der time bracket bestimmt. Zur Erinnerung: time bracket nennt Cage die Differenz zwischen Ein- und Austrittspunkt der Linie bezogen auf die Rasterlängsrichtung. Die relative Länge dieser Zeitklammer wurde als vorläufige Dauer eines Events interpretiert. Die Einsatzzeit des aktuellen Events ergibt sich aus der Summe des Beginns der aktuellen Zeitklammer und der Einsatzzeit des vorhergehenden Events. Ereignisse können also einander überlagern (immer dann, wenn die Zeitklammer größer ist, als der relative Beginn der nächsten Zeitklammer), aber so gut wie nie zusammen beginnen (das wäre nur möglich, wenn die Line das Raster genau am rechten unteren Eckpunkt schneidet, was statistisch nahezu ausgeschlossen ist). Man kan sich leicht davon überzeugen, daß diese Interpretation der Zeitklammer dazu führt, daß es nur wenige kurze Pausen gibt und daß es andererseits nur zu wenigen Überlagerungen von Ereignissen kommt, d.h. die Ereignisdichte wäre relativ gleichbleibend. Daher habe ich den sechsten Parameter dazu benutzt, die durch die time bracket vorgebene Dauer z.T. radikal zu verkürzen. Dauern und Einsatzzeiten werden schließlich noch dahin gehend modifiziert, daß die Gesamtdauer der Aufführung einer vorgegebenen Zeit entspricht. Im Fall der Erstaufführung waren es 8 Minuten. Bei dieser Zeit und einer ebenfalls vorgegebenen Anzahl von Ereignissen (hier etwa 120) kommt es zu Dauern zwischen 0.3 und 32 Sekunden. Diese Ereignisdauern bestimmen, wie lange ein Soundfile gespielt wird. Durch die Fragmentierung mittels der Modulation mit Zufallsimpulsen werden diese Ereignisdauern weniger als einheitliche Klänge sondern als Blöcke zeitlich kürzerer Ereignisse wahrgenommen: für Klänge im Bereich zwischen granular klingender Sprache und einzelnen Metallschlägen. Zur Fragmentierung durch die Zufallsimpulse kam noch die natürliche Rhythmik, Dynamik und Dauer der gesprochenen Sprache, so daß zusammen mit der durch den 6. Parameter modifizierten Zeitklammerndauer sich eine genügend tiefe Strukturierung der Zeit ergeben konnte.

Alle Parameter wurden übrigens nicht in nur 20 diskrete Werte eingeteilt, wie es die Höhe des Rasters mit 20 Quadraten vorzugeben scheint. Vielmehr faßte ich den Raum zwischen 1 und 20 als Kontinuum zwischen 0 und 100 % der vom mir gewählten Bereiche der Syntheseparameter auf. Das gleiche gilt auch für die zeitbestimmende Längseinteilung des Rastergraphs in 100 Abschnitte.

Alle Ereignisse erzeugte SUPERCOLLIDER in Echtzeit mit Hilfe des OrcScore-Spawners. Ein Spawner ist ein Objekt, das zur Laufzeit Klangsyntheseobjekte erzeugt und nach einer per Hüllkurve vorgegebenen Zeit wieder entfernt. In SUPERCOLLIDER gibt es verschiedene Methoden, zu bestimmen, wann dies geschieht: z.B. nach einer vorgegebenen Zeit oder in Abhängigkeit von eintreffenden MIDI-Note-Events oder in Abhängigkeit eines von einem Audiosignal stammenden Triggerimpulses. Mit einem OrcScore-Objekt ist in SUPERCOLLIDER auch der klassische Ansatz einer Orchestra-Score-Aufteilung (wie etwa in Csound) implementiert worden. Dem OrcScore-Objekt wird dazu ein Liste mit zwei Listen übergeben: Die erste Liste enthält ein oder mehrere Funktionen - die Instrumente des Orchesters - zur Erzeugung von Audio-Objekten. Die zweite Liste - die Partitur - enthält pro Event eine Liste mit Parametern, wie Einsatzabstand, Instrumentennummer, Dauer sowie möglicherweise weitere Parameter. Aus dieser Score-Liste entnimmt der Spawner, welche Audio-Objekte wann und wie lange aktiv sind.

Für die Realisierung von FONTANA MIX habe ich nur ein Instrument mit dem beschriebenen Algorithmus verwendet. Die Score-Liste wurde durch den im vorigen Abschnitt erläuterten Programmteil zusammengestellt. Unmittelbar nach Generierung dieser Liste wird das für die Klangerzeugung zuständige Synth-Objekt gestartet, worauf von dem darin enthaltenen OrcScore-Spawner die Score-Liste abgearbeitet wird.

Zur Aufführung dieser Realisation muß lediglich SUPERCOLLIDER gestartet werden und darin das Performance-Patch aufgerufen und nach eventueller Änderung der oben aufgeführten Variablen aktiviert werden. Das Patch liest dann die benötigten Bilddateien, erstellt nach der von Cage vorgegebenen Methode eine Ereignisliste, die daraufhin an die gewählten Klangparameter angepaßt wird und als Score im Spawner die Echtzeitgenerierung des Klangs steuert. Zwischen dem Starten des Patches und dem Beginn der Klanggenerierung vergeht auf einem 400 MHz Rechner durchschnittlich etwas mehr als eine Minute. In dieser Zeit hat der Rechner 700 Versuche mit Blättern und Folien gemacht und zumeist zwischen 100 und 200 gültige Ereignisse gefunden.

Mehrere Größen beeinflussen die Ereignisdichte bei dieser Realisation:

die Anzahl generierter Events (die wiederum von den zufällig gewählten Kurvenblättern und Punktfolien, deren relativer Lage zueinander sowie von den relativen Positionen der Rasters und den Verlaufen der geraden Linie abhängt), die Dauern und Einsatzabstände der Events, die Länge der Soundfiles und die Gesamtlänge der Aufführung.

Eine Abschätzung oder gar Kalkulation der maximal zu erwartenden Ereignisdichte erschien mir daher zu aufwendig. Aus diesem Grunde wurden von mir viele Testläufe mit der finalen Version des Performance-Patches durchgeführt, um sicher zu gehen, daß der verwendete Computer (bei der Erstaufführung dieser Realisation ein Apple G4/400) auch eventuell auftretende Überlagerungen von vielen langen Klängen fehlerfrei in Echtzeit bewältigt. Dies war offenbar der Fall. Bei der Aufführung im letzten Jahr kam es jedoch kurz vor Schluß des 8 Minuten währenden Stückes zu einem Absturz durch eine bisher nicht vorgekommene zu hohe CPU-Belastung: ein kurzes Klangfragment von etwa 2 Sekunden wurde wie bei einer gesprungenen Schallplattenrille in einer Schleife ununterbrochen wiederholt.
Ob Cage an diesem unvorhergesehenen nichtintendierten Ereignis seine Freude gehabt hätte?


Andre Bartetzki, 2001


Quellenangaben:

(CHADABE)
Joel Chadabe „Electric Sound“, Upper Saddle River, New Jersey 1997

(KÖSTERKE)
Doris Kösterke „Kunst als Zeitkritik und Lebensmodell. Aspekte des musikalischen Denkens bei John Cage“, Regensburg 1996.
In dieser Arbeit findet sich auch eine kurze Analyse von FONTANA MIX.


Anmerkungen:

1) In der angekündigten neuen Version von MSP (2. Quartal 2001) wird es dagegen eine dynamische Verwaltung von Audioprozessen geben.

2) Einige Links zu SuperCollider:

http://www.audiosynth.com

http://supercollider.sourceforge.net

http://swiki.hfbk-hamburg.de:8888/MusicTechnology/6