Drum 'n' Lase

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

Idee

Als sich die Gruppe im Anschluss an das erste Interaktionspraktikum zu einem umfassenden Brainstroming im Zuge der Ideenfindung zusammengefunden hatte, wurde man sich relativ schnell einig, mit welchem Themengebiet unser anstehendes Praktikumsprojekt verbunden sein sollte: Musik.

Denkt man an Interaktion und Musik, schießen einem wohl spontan die verschiedensten Bilder von handgesteuerten Laserharfen bis zu Guitar Hero Controllern für Spielkonsolen in den Kopf. Die Möglichkeiten, wie auch die Beispiele für Projekte in diesem Bereich sind breit gefächert und sehr vielfältig. Allerdings war von Anfang an klar, dass man sich nicht mit dem weitestgehend bloßen Nachbau einer solchen bereits vorhandenen Umsetzung begnügen wollte. Vielmehr wollte man sich an diesen orientieren, um genug Freiraum für eigene Ideen sicherstellen zu können.

Nach eingehenden Diskussionen reifte schließlich die Vorstellung, sich an der Entwicklung von Laserdrums zu versuchen, um damit ein Spiel ähnlich wie Guitar Hero – also einem Spiel bei dem der Nutzer versuchen soll, Original-Musikstücke, die während des Spiels zu hören sind, auf einem speziellen Gitarren-Controller möglichst authentisch nachzuspielen - steuern zu können. Umgesetzt werden sollte dies durch den Aufbau eines Laserprojektors, der durch entsprechende Laserstrahlen verschiedenfarbige Flächen aufspannt, die als simulierte Drums dienen sollten. Zunächst wollte man die Auswertung der Reflektionen über eine an einen DAC angeschlossene Fotozelle realisieren. Dieses Vorhaben wurde allerdings relativ schnell verworfen und man entschloss sich, eine Kamera einzusetzen, die die Schläge in die Laserflächen als Reflektionen aufnimmt. Für die Videoausgabe der Spieloberfläche sollte ein Beamer dienen. Die Verarbeitung der Kamerabilder in EyesWeb, sowie die Steuerung des Laserprojektors über eine spezielle Software sollte von einem Laptop übernommen werden.

Umsetzung

Hardware

Laser

LASERSICHERHEIT

Achtung, Laser sind kein Spielzeug! Showlaser sind gefährlich, wenn sie von einem Unwissenden betrieben werden. Um Schäden an Augen oder evtl. sogar Haut zu vermeiden, sollte sich vor Inbetriebnahme ausreichend informiert werden und entsprechende Sicherheitsvorkehrungen getroffen werden. Wird der Showlaser ordnungsgemäß betrieben kann ohne weiteres direkt in die Figuren geblickt werden ohne Schäden davonzutragen. Infos zur sicheren Inbetriebnahme, Laserschutzbeauftragten (Schein), Sicherheitsanforderungen im öffentlichen Raum (FH) usw. lassen sich einfach im Internet nachschlagen.

Funktionsprinzip eines Laserprojektors

Ein Laserstrahl wird über zwei kleine Spiegel an Motoren sehr schnell in X und Y Richtung abgelenkt. Da das menschliche Auge zu träge ist um die schnelle Bewegung des Laserstrahls zu erkennen ist es möglich Vektorgrafiken auf eine Fläche zu projektzieren, oder, durch die Verwendung von Nebel, Figuren in den Raum zu zeichnen.

Hardwareanforderungen

Der für das Projekt verwendete Laserprojektor sollte folgende Anforderungen erfüllen:

  • Scanwinkel von 25°, da sonst der Abstand zwischen User und Projektor/Kamrea zu groß wird
  • Scangeschwindigkeit von 25.000 pps (Points per second), da der Laser sonst im Kamerabild flackert und zu fehlerhaften bis hin zur unmöglichen Auswertung führt
  • ILDA Schnittstelle zur direkten Ansteuerung von PC (externen DAC nicht vergessen!)

Eigenschaften des von unserer Projektgruppe verwendeten Laserprojektors:

  • RGB Projektor – es funktioniert auch genauso gut mit einem einfarbigen Projektor
  • Gesamtlaserleistung 250mW (100mw Rot, 100mW Blau und 50mW Grün)
  • DAC: Minilumax
  • Software: HE Laserscan Vollversion
  • Scanwinkel 30° bei 25.000 pps

Kamera

Wir verwendeten die PlayStation EYE Kamera. Allerdings benötigten wir hier nur 30 fps, wodurch eine normale Webcam mit 25 fps wohl auch ausreichend gewesen wäre. Der Standort vor der Laserbox konnte nur dürftig eine treffsichere Reflexion auf die Kamera garantieren. Somit entschieden wir uns, nach einigem Ausprobieren sowie Positionswechseln, für die effizienteste Stelle - auf der Box. Als Problem entpuppte sich das zunächst angenommene Bedürfnis, nach einer hoher Framerate. Umso höher die Rate, umso mehr flackerte der Laser.

Drumsticks

- ohne sie geht wenig am Schlagzeug. Zum einen gehören sie einfach dazu, zum anderen sollten sie uns eine problemfreie Bedienung der Laserstrahlen ermöglichen. Nach eingängiger theoretischer Überlegung, fiel die Wahl letztendlich auf die Form einer Kugel, die mit Reflektorfolie überklebt werden sollte. Im Gegensatz zu einfachen Drumsticks, bietet die Kugel eine größere Oberfläche und somit Möglichkeit zur Reflexion. Die Folie sollte uns eine einwandfreie Rückstrahlung gewährleisten und wurde in Streifen geschnitten. Nach und nach wurden diese überlappend an der Wölbung angebracht. Beim Durchdringen der Laserstrahlen, wird das gebündelte Licht aufgrund der kleinen Prismen in der Folie, auf genau dem selbem Weg zurückgeworfen. Eintrittswinkel gleicht also dem Austrittswinkel. Die Kamera kann die Veränderung nun wahrnehmen und orten. Situationsabhängig, funktionierte die Bedienung wahlweise mit allen Körperteilen, den später gebauten Drumsticks, sowie anderen Gegenständen. Im Großen und Ganzen war die Wahl des Kugelschlägers aber am zuverlässigsten. In Planung war zudem ein Fußpedal, um die unteren Flächen bedienen zu können.


Software

EyesWeb-Patch Aufbau

Patch

Screenshot von Eyesweb Patch
  1. Videoquelle ( PSEye-Cam)
  2. Konvertierung des Bilds in Schwarz-Weiß
  3. Speicherung des aktuellen Bilds sobald man auf den Start-Button klickt
  4. Hintergrund-Subtraktion
  5. Schwellwert-Regelung
  6. Hintergrund-Subtraktion nach dem Motto „ Doppelt hält besser“
  7. Anzeige der Videoquelle ( Zur besseren ROI-Ausrichtung mit Linien eingeteilt)
  8. Es werden 5 Regions-of-Interest festgelegt ( für jedes Schlaginstrument 1 ROI)
  9. Weiße Pixel werden gezählt….
  10. … und angezeigt
  11. Binarisiertes Bild wird wiedergegeben ( bei Reflexion werden weiße Pixel sichtbar)
  12. Boolean Trigger: Wird ausgelöst in Abhängigkeit des Wahrheitswertes
  13. Switch
  14. Ein eingebauter Delay verhindert das Auslösen des Triggers innerhalb eines bestimmten Zeitraums
  15. Trigger
  16. String-Generator
  17. 2 OSC-Nachrichten die an das Programm OSC-Cursor geschickt werden ( „Taste gedrückt“, „Taste losgelassen“)


Drumsroom

Drumsroom ist ein kleines Programm mit dem es möglich ist, per Tastendruck die einzelnen Schlaginstrumente eines Schlagzeugs anzuspielen. Da die Website des Herstellers leider nicht mehr verfügbar ist, wird an dieser Stelle auf die Möglichkeit des Downloads bei Softpedia verwiesen. Weitere Informationen zu Drumsroom finden sie im internen Bereich


OSC-Cursor

OSC-Cursor ermöglicht es nicht nur die Maus per OSC-Nachrichten zu steuern, sondern es können auch Tasten ausgelöst werden. Dafür gibt es sogenannte Key-Codes, die für jede Taste unterschiedlich sind! Somit können wir das Programm Drumset nur mit Hilfe von OSC-Nachrichten steuern.

Beispiel

Auslösen der Taste „5“:

  1. OSC-Cursor starten; mit Klick auf den Button „ASCII table“ wird ein Fenster geöffnet mit denen die Codes, insbesondere für die Zahlen-Tasten und Sonderzeichen, sichtbar sind. -> Code für Taste 5 = 053
  2. Einen gewünschten Port für OSC-Cursor auswählen und auf „Set Port“ klicken
  3. Nun wechseln wir in unseren Eyesweb Patch und klicken auf unseren OSC-Block:
    1. Im Einstellungsfenster bei Type of input wählen wir STRING
    2. Ein Häckchen bei Adress Pattern; nebendran fügen wir unsere OSC-Message ein die in diesen Fall /KEY/DOWN/056 lautet
    3. WICHTIG: Es muss der gleiche Port wie bei OSC-Cursor beim Reiter Port eingetragen werden
  4. Momentan wird die Taste „5“ permanent gedrückt, damit nun auch die Taste wieder „losgelassen“ wird, einfach einen zweiten OSC-Block erstellen, gleichert Port, nur mit anderer OSC-Nachricht -> /KEY/UP/056

HE-Laserscan

Die verwendete Software für den Laser nennt sich „HE-Laserscan“ und ist als eingeschränkte Freewareversion ausrechend für dieses Projekt. Die verwendete Figur liegt den Projektdaten bei.

Zusammenfassung und Zukunftsvisionen

Im Endeffekt konnte unsere Gruppe leider nicht alle Punkte umsetzen, die wir uns vorgenommen hatten. Am schwersten wiegt hierbei wohl die Problematik, dass man aufgrund der großen Latenzzeit, die zwischen dem Schlag in die Laserfläche und des Abspielen der Sounds vergeht, kein Spiel vernünftig steuern kann. Vermutlich könnte man diesen Umstand umgehen, indem man statt EyesWeb in Verbindung mit OSC auf ein selbsterstelltes Programm setzt. Leider konnten wir ein solches aufgrund des begrenzten Zeitraums nicht mehr entwickeln.

Eine weitere Verbesserung des Projekts würden verschiedene Presets darstellen, mit denen es möglich ist, über die Laserprojektion unterschiedliche Instrumente zu simulieren, ohne großen Aufwand betreiben zu müssen – zum Beispiel eine Bongo, eine Harfe oder Ähnliches. Die zwei genannten Aspekte lassen unserer Meinung nach genug Raum offen, um unsere angefangene Arbeit später fortzusetzen!

Zusammenfassend sind wir mit unserem entstandenen Ergebnis jedoch sehr zufrieden, wenngleich man zu kleineren Abstrichen gezwungen war. Es war mit viel Spaß verbunden, das Projekt voran zu treiben, wachsen zu sehen und im fertigen Zustand stolz präsentieren zu dürfen.

Sollte es weiterführende Fragen geben, die in dieser Übersicht nicht vor- oder zu kurz kamen, freut sich unsere Gruppe jederzeit über Ihr Interesse.