Autoren

Projektart

Studienarbeit im Hauptstudium

Entstehungszeitraum

SS 06 - WS 06/07

Zugehöriger Workspace

Betreuung

Belly-Dance Drummer

Belly-Dance Drummer

Unser Trommler begleitet eine orientalische Tänzerin musikalisch ohne bewusste Steuerung der Tänzerin, aber passend zum Tanz. Er analysiert deren Bewegungen und spielt bei erkannten Mustern die zum Takt passenden Rythmen, sodass sich ein Spiel zwischen dem Tanzen nach der Musik und der Musik zum Tanz ergibt. Ein Spiel zwischen Mensch und Maschine.

Technik

Eine Kamera filmt die Tänzerin. Per Firewire wird das Kamerabild in die Software vvvv (oder einfach v4) übertragen und ein Bewegungsbild (oder Differenzbild) umgewandelt, d.h. wo Bewegung im Bild ist, werden diese Pixel des Bildes abgebildet. Dieses Bild ist in 15 Bereiche geteilt, die grob als Maske für einzelne Teile des Körpers stehen, wie Hände, Hüften, Beine, etc.

Von v4 aus werden nun die Werte für die Stärke der Bewegungen in den Feldern an Processing über die IP-Adresse weitergegeben. Somit wäre es auch möglich die Daten im Netzwerk oder über das Internet und ortsunabhängig zu transferieren.

In Processing laufen nun verschiedenste Algorithmen ab um aus den Daten der Felder zu ermitteln, welche Bewegung ausgeführt wurde. Dazu kann Processing "in die Vergangenheit" blicken, da die Daten für eine kurze Zeit gespeichert werden. Für bestimmte Bewegungskombinationen im Bauchtanz sind dazu passende Trommelstücke eingespeichert. Wird ein Muster erkannt, wird die Information des passenden Trommelstücks über osc an Reaktor geschickt und dort im Grundrhytmus eingefadet.

Hier ist es wichtig zu erwähnen, dass ein Trommelstück nicht ausgelöst wird durch das Fassen in einen bestimmten Bereich im Bildausschnitt wie bei ähnlichen Projekten im Bereich des Kameratrackings, sondern erst eine Kette von bestimmten Bewegungen (ein Bewegungsmuster, wie das Tanzen eines Kreises) dazu führt. Damit dies funktioniert muss dem Computer natürlich beigebracht werden wie so ein Muster aussieht (die Tänzerin tanzt eine Bewegungskombination) und welches Trommelstück dazu passt.

Zusätzlich ist Processing für die Visualisierung der erkannten Muster zuständig. In dieser wird das Bewegungsbild angezeigt, welches diesmal in Processing erzeugt wird und dass eine extra Kamera benötigt. Bei einer Mustererkennung werden jeweils unterschiedliche orientalische Symbole in das Bild eingefadet, so dass man als Zuschauer erkennen kann, das bestimmte Bewegungen bestimmte Drumsolos und Symbole auslösen.

Bilder

Erkenntnisse

Mit dieser Technik könnte man Tanz-Spiele entwerfen, bei denen man auf dem Monitor gezeigt bekommt, wie man sich zu bewegen hat. Werden die Muster richtig/falsch getanzt, kann das erkannt werden. Das wäre für verschiedene Tanzrichtungen denkbar und sowohl als Spiel als auch als Trainingsmöglichkeit denkbar (in Form von Tutorials). Durch die Möglichkeit die Daten über das Internet u übertragen oder mehrere Kameras anzuschließen könnte man auch ein gegeneinander oder miteinander Tanzen entwickeln. Dies wäre dann auch für eine eyeToy-Umsetztung denkbar.

Probleme:
Die Visualisierung über Processing ist nicht optimal, da es mit der Errechnung der Bilder überfordert war und und das Bild zur Visualisierung stark ruckelte.

Die Mustererkennung ist sehr stark von den Lichtverhältnissen abhängig. Einmal eingestellt funktioniert sie aber gut. Von 5 hintereinander getanzten Mustern erkennt sie 4. Mit einer eingebauten Routine, in der vor Start die Daten automatisch dem Licht angepasst werden, wäre das perfekt. Um mehr als ein paar Muster erkennen zu können reicht jedoch unsere Technik nicht aus, hier müsste ein neuronales Netz zum Einsatz kommen um die Muster zu speichern und zu vergleichen.