Text: rashad becker aus De:Bug 02

: SuperCollider :
Rashad Becker rashad@buzz.de

Anläßlich eines elektroakustischen Improvisationsabends zu Berlin unterhielt sich Buzz mit dem amerikanischen Programmierer und Musiker James McCartney über seinen Beitrag zum Instrumentarium moderner Computermusik – das Programm SuperCollider.

Am 14. und 15.06. fand, auf Anregung von Aiguphonie Sounddesign und dem freien Choreographen Christoph Winkler, im Lehrschwimmbecken des Erich-Fried-Gymnasiums zu Friedrichshain / Berlin die interdisziplinäre Veranstaltung ÒSTUMBLING IN THE HIGHTECH POOLÒ statt. Als elektroakustischer Improvisationsabend Òfür Tänzer, Beats and SensorgloveÒ vorstellig, bot der Abend und mit ihm das Becken und der Rand vier Ausdruckstänzern die physikalische Plattform für motorisches Oszillieren in Frequenz-Folge-Reaktion zur akustischen Trägerlösung, die für den Verlauf der Veranstaltung die Abwesenheit von Wasser überspielte.
Die Klangarchitektur ihrerseits war auf verschiedenen Ebenen in Layers bzw. in modulierender Verkettung organisiert. Hauptzuspielung besorgte DJ Moonraker von Digital Hardcore, der das zu modulierende Klangmaterial von Vinyl aus beitrug, was jedoch nur in seltenen Augenblicken als DHR-übliche BreakBeat-Variante dechiffrierbar an die Oberfläche durchschlug. Den Löwenanteil dessen, was man klanglich wahrnahm, mochte man wohl eher der nachbearbeitenden Konfiguration James McCartneys an SuperCollider und Ioannis Zannos vom staatlichen Institut für Musikforschung zuordnen, der, mittels Datenhandschuh, seinen Teil an Einfluß nahm. Buzz nahm sich den Abend zum Anlaß, sich mit James McCartney und Ioannis Zannos über ihre Forschungs- und Programmierarbeit zu unterhalten. Zu letzterem mehr im nächsten Heft.
James McCartney ist der Entwickler der Programmiersprachen Pyrite und Supercollider und blickt neben seinem Abschluß in Computer Science (nach einem Studium elektronischer und computergestützter Musik) auf eine längere Liste musikalischer Aktivitäten, Kompositionen und Installationen zurück.
Der etwas kryptische Name SuperCollider entspringt nicht, wie manches Gemunkel verlautet, etwa dem Fundus astronomischer Zusammenhänge.Vielmehr war dies schon im Vorlauf der Titel eines von ihm nicht näher erläuterten großen Projektes, das letztlich nicht aufging. So wurde dieser Name von James McCartney als pessimistische Präambel gewählt, da er eigentlich erwartet hatte, daß sein Programmiervorhaben an der begrenzten Geschwindigkeit verfügbarer Rechner scheitern würde. In der Tat ist die CPU-Auslastung schon bei relativ simplen Patches recht hoch, was bei komplexeren Anwendungen häufiger in unangenehmen clipping zu Buche schlägt.
SuperCollider ist eine Umgebung zur Erstellung von Echtzeit Audio Anwendungen, die ohne weitere Zusatzhardware auf Power Mac-Plattform läuft (jedoch ausschließlich auf Power Macs, nicht auf mit PowerPC-Karten aufgerüsteten Macs, da das Programm die Audio Hardware der Power Macs benötigt). Das bezieht sich prinzipiell sowohl auf verschiedene Ebenen der Klangerzeugung (z.B. FM-Synthese, Granularsynthese), als auch auf Klangbearbeitung externer Signale (wobei neben klassischen Effekt-Algorithmen wie Time Stretching oder Pitch Shifting die Komplexität und Art der Anwendungen im Prinzip nur durch die Rechnerkapazität bzw. das verfügbare RAM beschränkt ist).
Für die Erstellung und Editierung entsprechender Patches bietet das Programm leider bislang keine graphische Lösung, man arbeitet statt dessen in einem Script-Editor-Fenster, in das man auch in jedem Fall zurückkehren muß, um Parameter eines Patches zu editieren. Daß man hierfür eine bereits kompilierte Anwendung abbrechen muß, dürfte hinreichlich verdeutlichen, daß SuperCollider keine Plug-and-Play Lösung ist, die intuitives Arbeiten in den Vordergrund stellt. Im Gegenteil, das Programm setzt ein Mindestmaß an Programmiererfahrung und ein grundlegendes Verständnis von Synthese und Synthesizern voraus, um auch nur halbwegs Spaß damit haben zu können. “Ich habe es für einen bestimmten Typus elektronischer Komponisten geschrieben, die hochkomplexe Kontrolle realisieren wollen. Ich rechne nicht damit, daß es eine allzuweite Verbreitung finden wird”
Mr. McCartney benennt als Zugangsvoraussetzung wenigstens rudimentäre Erfahrungen mit der Programmiersprache Small Talk, an die SuperCollider im Wesentlichen angelehnt ist.
Neben dem Script Editor bietet das Programm ein schlichtes kleines GUI, das man sich je nach Anwendung mit entsprechenden Echtzeitparametern konfiguriert. Dieses bietet die erwartbaren Faderinstrumente in funktioneller Ausführung, natürlich ist zum Beispiel auch die Möglichkeit gegeben, die x/y -Skala der Mausbewegung zur Werte-Editierung heranzuziehen.
Darüberhinaus gibt es ein graphisches Interface zur Erstellung von Wave Tables oder Hüllkurven. Als Features werden z.B. real time incremental garbage collection benannt. Das System bietet außerdem volle Midi-Kontrolle. Sprich, es ist möglich, es wie ein MIDI-Instrument via MIDI-Keyboard und -Controller zu bespielen, es ist jedoch derzeit noch nicht in der Lage, im Hintergrund laufend von einem Software Sequencer angesprochen zu werden. Auch dies soll jedoch laut dem Programmierer in zukünftigen Versionen möglich sein. Darüberhinaus will er das Programm auch mit einer visuell-basierten Programmieroberfläche versehen, jedoch wird dies noch einige Zeit in Anspruch nehmen.
Ursprünglich sollte es nur eine Demonstration der Möglichkeit sein, Signalverarbeitung in einer High-Level Interpreter-Sprache durchzuführen. Das war vorher noch nicht wirklich realisiert worden. Die wesentliche Motivation SuperCollider zu entwickeln lag darin, einen Schritt weiter zu gehen als das ungleich weiter verbreitete CSound. “CSound ist ein eher altertümlicher Programmierstil, mit SuperCollider wollte ich einen modernen Programmierstil verwirklichen, eine wirkliche Programmiersprache, die Echtzeit-Synthese betreibt”.
Die Grundidee von CSound ist eine Orchestra-Ebene, auf der sich klangbildende Modul-Patches befinden und eine Score-Ebene, die vorgibt welche Parameter zu welcher Zeit wie gesteuert werden. Dies liegt dem Prinzip von MIDI nicht allzuweit entfernt. Im Vergleich bietet CSound jedoch eine ungleich feinere Auflösung der klangbildenden und steuernden Parameter. Art und Anzahl der Orchestra-Module und Score-Parameter sind im Prinzip unbeschränkt.
SuperCollider hingegen kombiniert die algorithmusführenden Parameter (das Score-Äquivalent) und den klangbildenden Algorithmus in einem System in der selben High-Level Programmsprache. Dies läßt die Verschränkung von Audioalgorithmen und Steuer-/Kompositionsalgorithmen zu, wohingegen Steueralgorithmen in CSound, wie bei MIDI, immer über die lineare Zeit verlaufen.
Im Klartext heißt das: SuperColliderpatch aus Audio-und Kompositionsalgorithmus anschalten und Computermusik hören, bis man es wieder abschaltet. Patches dieser Art bietet schon die Demo-Version reichlich und in klanglich beeindruckender Ausführung. Vor allem natürlich die Granularsynthese-Anwendungen wecken spontane Lust, sich auf der Stelle Small Talk-Lehrbücher aus der Bücherei zu ziehen und lassen vordem stolze Besitzer etwaiger Roland-Klassikerkistchen sich plötzlich fühlen wie Elektromusikanten aus dem letzten Jahrhundert bzw. wie Knetgummimännchenkneter angesichts Walt Disney’s Toy Story.
Obgleich im Netz mitunter SuperCollider-Patches gefunden werden können, ist mit einer Library nach dem Vorbild der MAX-Objekte nach Einschätzung von Mr.McCartney eher nicht zu rechnen. Dazu sei der Zugang zu speziell, zumindest solange es keine graphische Programmieroberfläche gibt, so der Programmierer. So schätzt er auch die Möglichkeit, in SuperCollider Anwendungen zu erstellen und diese kommerziell weiterzuverwerten als äußerst gering ein.
Hypothetische Betrachtung und Spekulation sind James McCartneys Sache nicht und entsprechend unspektakulär und wenig visionär fällt auch seine Erwartung an die Zukunft der elektronischen und der Computermusik aus: ganz der Nerd wähnt er, daß immer mehr Musiker ihre Computer für direkte Synthese benutzen werden, und das ausgewiesene Synthesizer fortwährend an Bedeutung verlieren. Es wird kaum einen Grund mehr geben, sich ein MIDI-Keyboard zu kaufen, außer dem Keyboard-Teil davon. Ein Paar Controller und Slider auf der einen und der Computer auf der anderen Seite. Dies wird einen sehr viel flexibleren Zugriff erlauben und man wird sein komplettes Mixing-Studio und die gesamte Klangerzeugung in einem einzigen Stück Equipment beherbergen. Das sind Ausblicke, die weniger verzücktes Erstaunen auslösen und ein bißchen schelmische Sehnsucht nach verqueren, aber doch wenigstens visionären Übereifrigkeiten ˆ la Emotional Ball von Altvater Froese aufkeimen lassen.

SuperCollider ist für $250 + $50 Übersee-Versand via U.S. Check oder international money order erhältlich bei:
James McCartney
3403 Dalton St.
Austin, TX 78745
USA

Eine Demo-Version läßt sich unter:
ftp://kahless.isca.uiowa.edu/pub/algo-comp/SuperColliderDemo.sea.hqx
aus dem Netz saugen.
—————————————————————————————————-

Randkolumne Information:

clipping: akustische Folgeerscheinung der maximalen Sättigung eines digitalen Systems. Formal vergleichbar dem Zerren, das bei maximaler Sättigung analogen Bandmaterials auftritt, nur radikaler in der Verdrängung des Klangmaterials. Anders als bei analogen Medien gibt es keine schrittweise Annäherung an die maximale Sättigung, sondern einen fixen Grenzwert.
SmallTalk: erste objektorientierte Programmiersprache, wurde zusammen mit dem Fenstersystem u.ä. von Xerox-Park entwickelt
GUI: Graphical User Interface
real time incremental garbage collection: Laufzeitsystem, das dynamische Speicherzuordnung über die Zeit verwaltet und reguliert
Granular Synthese: Bei der Granular Synthese werden durch “Klangschnipsel”(Grains), die so klein sind, daß sie keine Binnenstruktur erkennen lassen, via Anhäufung und Überlappung neue Klänge synthetisiert. Hierbei spielt der Ursprung bzw. die Art des Ausgangsklangmaterials keine Rolle, es können also sowohl bereits synthetisierte Wellenformen als auch Samples “vergranuliert” werden. Ob der hohen Anzahl der Grains bedient man sich zufallsbasierter Techniken, um ,ausgehend von relativ wenigen Parametern, eine hohe Anzahl unterschiedlicher Werte pro Zeiteinheit zu erlangen. Somit ist die Granular Synthese eine Art algorithmische Komposition auf Mikroniveau.
———————————————————————————————————-
“CSound ist ein eher altertümlicher Programmierstil, mit SuperCollider wollte ich einen modernen Programmierstil verwirklichen, eine wirkliche Programmiersprache, die Echtzeit-Synthese betreibt”
“Ich habe es für einen bestimmten Typus elektronischer Komponisten geschrieben, die hochkomplexe Kontrolle realisieren wollen, ich rechne nicht damit das es eine allzuweite Verbreitung finden wird”
“das Programm bietet ein schlichtes kleines GUI”

Bitte Vermerk an den unteren Satzspiegelrand: Dank an Gerhard Behles

About The Author

Elektronische Lebensaspekte.