Lichtprogramm von Jan Schacher

Generative Graphik in Echtzeit: In einem abstrakten Raum werden verdichtete Form- und Farbgeflechte gezeichnet, die ein Gedächtnis von Bewegung und Prozessen darstellen. Schattenartige, schnelle Bewegungen stehen strukturellen, architektonischen Elementen gegenüber. Farben tauchen aus monochromen Flächen auf, vermischen sich minimal über lange Zeiträume hinweg und lassen durch Transparenzen feinste Schattierung enstehen. Vollflächige Farbe und minimale Spuren auf leerem Hintergrund bilden ein Spannungsfeld, wo visuelle Imagination Platz findet und die Beziehung von Bildern zu Klängen in analoger Abstraktion empfunden werden kann.

Das Programm kann funktional in drei Schichten aufgeteilt werden: Klanganalyse, gewichtete Uebersetzung und Entscheidung, Grafikumsetzung.

Klanganalyse

Im Analyseprozess wird zuerst mittels einer FFT (Fast Fourier Transform) das Klangspektrum in diskreten Zeitfenstern und Frequenzbändern errechnet, deren spektrale und temporale Auflösung dynamisch den Erfordernissen der Gesamtleistung angepasst werden kann. Die Spektra werden weiterverarbeitet, um Loudness (perzeptive Lautheit), Brightness (perzeptive Helligkeit), Noisiness (Inharmonizität, Geräuschhaftigkeit), 25 bandiges Barkspektrum (der menschlichen Hörkurve angepasstes Intensitätsspektrum) und Attacks (Anschläge als Funktion der Intensitätszunahme innerhalb eines Zeitrahmens) zu erhalten. Diese momentanen Parameterstränge werden mittels Fensterfunktionen und Tiefpassfiltern in zeitliche Relation gebracht und ergeben zusätzlich representative Querschnitte längs der Zeitachse. Das Programm erstellt ein Protokoll, eine Aufzeichnung dieser Verläufe, das in einer Datenbank abgelegt wird, um als Referenz und Trainingsmuster in Feedbackprozessen zu dienen.

Übersetzung und Entscheidung

Die gewichtete Uebersetzung und Entscheidung findet in einer Schicht neuronaler Netze statt (Multilayer-Perzeptron-Modell), in der Muster innerhalb der angebotenen Parameterfelder verglichen und gewichtete Aussagen gemacht werden, ob die gespielten musikalischen Muster den antrainierten Mustern gleichen, wie ähnlich sie diesen sind und wie sich diese in der Zeit verändern. Die so erzielten "Meinungen" zum Spielfluss werden in einen Parameterraum eingebracht, der emotionale oder psychologische Attribute in polaren Paaren als Dimensionen hat. Diese Reduktion auf einen psychologischen Kern dient einerseits dazu, die Analyseresultate zu abstrahieren, andererseits bringt sie Flexibilität in Hinblick auf die Wahl der benutzten Eingabemethode (z.b. kann genausogut eine Bildanalyse mittels Kamera benutzt werden, um die gleichen Kriterien im psychologischen Metabereich zu erhalten). Aus den sich bewegenden Parametern werden nach empirisch entwickelten Regeln hierarchisch abgestufte Entscheidungen zur Steuerung der Bilderstellung getroffen. Die Entscheidungen werden im Trainingszustand vom Benutzer laufend bewertet, und fliessen in einem negativen Feedback zurück in die Steuerung mittels Regeln und Mustern. Dieses adaptative System erlaubt, mit der Zeit benutzergebundene aber auch global optimierte Entscheidungsprozesse zu erhalten.

Grafische Umsetzung

Die Grafikumsetzung geschieht mittels einer OpenGL-Implementierung in einem virtuellen 3D-Raum. Ausgehend von Primitivenoperationen innerhalb dieses Umfeldes werden fundamentale Aspekte der Synaesthesie modelliert. Farben, Farbverläufe, Texturen, Formgestalten, Diffusität, Räumlichkeit und Transparenz werden im Gespräch mit Synaesthetikern erprobt und bilden das Vokabular für abstrakte dynamische Computergraphik. Ausgehend von den Uebersetzungsprozessen steuern (zum Teil aleatorische) Algorithmen Raumbewegungen, Farbverläufe, Erscheinen und Verschwinden von Formen und Gestalten. Die daraus resultierenden Animationen stehen in einem intrinsischen Verhältnis zur gespielten Musik, ohne auf plumpe Art deren offensichtlichsten Charakteristika zu imitieren oder zu verdoppeln. Dieser nicht offengelegte Zusammenhang erlaubt es, auch in Hinblick auf ästhetische Kriterien, ein Spannungsfeld zu erzeugen, das als Erfahrungs- und Experimentiermodell längerfristig funktioniert.

Software-Entwicklung

Die Software wird in der Umgebung MaxMSPJitter entwickelt, wo komplette Schnittstellen sowohl zu Audioprozessen, Graphikprozessen und allen Systemperipherien und Backgroundprozessen wie Datenbanken und Netzwerkfunktionen zur Verfügung stehen. Als Echtzeitwerkzeug und Prototyping-Umgebung ermöglicht MaxMSPJitter schnell und modular Hypothesen zu überprüfen, und optimierte Softwarekomponenten anschliessend in 'reinem' Code (C/C++) als 'Objekte' zu kompilieren und zu integrieren.