mblght

TL;DR: Software zur Lichtsteuerung (DMX, Art-Net) aus SuperCollider heraus inkl. verschiedener Signalgeneratoren. Anwendung u.a. Waldstock Festival 2012 und 2013, Sonafe 2013.

mblght auf github

Mit mblght habe ich eine Softwarelösung entwickelt, die es zulässt, einfach und intuitiv komplexe Lichtkompositionen zu entwerfen. Dabei werden Steuerdaten für Lichtanlagen mit Methoden, die denen der Elektroakustischen Musik ähneln, erzeugt, bearbeitet, gemischt und arrangiert. Als Grundlage dient SuperCollider, eine Programmierumgebung, die all diese Methoden zur Signalverarbeitung und Komposition bereits bietet, wenn auch eigentlich für den Audio-Bereich. Da SuperCollider auch einen Interpreter anbietet, der Quellcode zur Laufzeit ausführen kann, lässt sich das System sehr dynamisch einsetzen, bis hin zur Möglichkeit des Livecodings. Außerdem bieten sich viele offene Schnittstellen an (wie OSC, MIDI und andere), mit denen sich das System um beliebige Interfaces erweitern lässt. Zur Ausspielung der Steuerdaten setze ich auf freie Software (OLA) und offene Protokolle (Art-Net, DMX).

Auf dem Waldstock Festival 2012 in Bad Waldsee/Gaisbeuren wurde diese Software zur Lichtsteuerung eingesetzt. Dabei wurden zwei mal 20 RGB-LED-Pars plus Strobo/Nebel/Weißlicht eingesetzt.

Waldstock 2012 Impressions (of a lighting setup) – mblght auf Vimeo.

Im Vorfeld dazu gab es einen Testlauf, bei dem folgendes Video entstand:

Waldstock Lighting Test Run auf Vimeo.

In diesem Setup wurden 16 LED RGB-PARs (und ein Stroboskop, eine Nebelmaschine und zwei LED-Bars) über einen kleinen MIDI-Controller live zur Musik gesteuert.

(Ein paar Bilder hier (Visuals von Stereo Tam Tam), zwei kleine Videos hier und hier.)

Die Software ist flexibel und leistungsfähig genug, um auch größere Installationen steuern zu können. Durch die Verwendung von Art-Net bzw. DMX ist das System kompatibel zu gängigen professionellen Anwendungen im Live- und Installationsbereich.

Some Code:

SynthDef(\test, {
    var color = SinOsc.kr({0.4.rand}!3 + 0.1, pi.rand, mul: 0.5, add: 0.5);
    Patcher.default.busesForMethod(\color).do({ |bus, i|
        Out.kr(bus, (color - (0.02 * i)).fold(0, 1));
    });
}).play;

Diese Software und deren Dokumentation entstanden 2012 im Rahmen meiner Bachelorarbeit für das Institut für Musikinformatik und Musikwissenschaft (IMWI) an der Musikhochschule Karlsruhe.