Music From The Air

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche
Canvas in Aktion

[1]

„Musik from the Air“ ist ein Interaktions-Projekt aus dem Wintersemester 2017/18. Es ermöglicht eine multidimensionale MIDI-Steuerung der Digital Audio Workstation mit Handgesten.

Idee

„Musik from the Air“ ist eine einfache Lösung, für die Interaktion, mit MIDI durch berührungslose Steuerung. „Musik from the Air“ wurde für die Live-Performance und die schnelle Konfiguration während der Proben entwickelt. Das Programm erzeugt den Sound nicht direkt, sondern hat den Zweck, andere Software zu steuern, die MIDI versteht.

Aufbau

Aufbau

Eine Person muss über den Leap Controller die Gesten zeigen. Der Leap Controller sendet die Daten an den Leap Motion Driver, der sie an Eclipse übergibt. Dann können wir die Daten abgrenzen, Gesten definieren und für bestimmte erkannte Gesten eine MIDI-Nachricht anweisen. Um diese Nachricht von Eclipse zur DAW zu senden, brauchen wir MIDI Port. Da wir innerhalb eines Systems arbeiten, brauchen wir ein Virtual MIDI Port. Das wird durch die Treiber MacOS, MIDI, und IAC verwirklicht. Dann muss der richtige Port in den DAW-Einstellungen eingeben werden und die Gesten werden auf die verschiedenen Knöpfe zugewiesen.









Software

Cam Update

Das Paket "javax.sound.midi" bietet Schnittstellen und Klassen für I / O, Sequenzierung und ebenso Synthese von MIDI-Daten (Musical Instrument Digital Interface).

Contour Finder

Ein Receiver empfängt das MidiEvent-Objekt.

Ein MidiDevice ist die Basisschnittstelle für alle MIDI-Geräte.

Ein MidiDevice.Info-Objekt enthält sortierte Daten über ein MidiDevice, den Namen der Firma, die es erstellt hat.

Position

Die ShortMessage-Klasse enthält Methoden zum Abrufen und Festlegen des Inhalts der MIDI-Nachricht.

In for-Schleifen werden die Positionen der Finger für jede Hand geliefert. Anschließend wird in 4 verschiedenen Bedingungen die Handgeste definiert. Wenn der Daumen der rechten Hand ausgestreckt ist, dann passiert folgendes...

OSC Message

setMessage legt die Daten für die MIDI-Nachricht fest. Diese geschützte Methode wird von konkreten Unterklassen aufgerufen, die sicherstellen muss, dass das Daten-Array eine vollständige, gültige MIDI-Nachricht beinhaltet.

Eine ShortMessage liefert eine MIDI-Nachricht, die nach ihrem Statusbyte höchstens zwei Datenbytes enthält. Eine Reihe von ShortMessage-Methoden haben ganzzahlige Parameter, mit denen Sie einen MIDI-Status oder ein Datenbyte angeben. Wenn der numerische Wert bekannt ist, ist es möglich diese direkt einzugeben. In unserem Fall liefern wir den Befehl "NOTE_ON", dann "1" für Kanal, "60" für Tonhöhe, "93" für Anschlagstärke. Für unsere Zwecken sind nur Statusbytes, also der "NOTE_ON" und Kanal relevant.

OSC Message

Die Variable "d" wird auf eine Ganzzahl gesetzt, die die Elementnummer in der Geräteliste des Geräts darstellt, an das die MIDI-Nachricht gesendet wird. Davor wurde "d" der Wert "2" zugewiesen. Danach wird geprüft, ob das richtige Gerät ausgewählt wurde. Dann wird es auf das richtige Gerät verwiesen, um den Empfänger einzustellen.



Hardware

Aufbau Spraydose

Bei dem Leap Motion-Controller handelt es sich um ein kleines USB-Gerät, das für die Platzierung auf einem physischen Desktop mit Blick nach oben ausgelegt ist. Mit zwei monochromatischen IR-Kameras und drei Infrarot-LEDs beobachtet das Gerät einen etwa halbkugelförmigen Bereich in einer Entfernung von etwa einem Meter. Die LEDs erzeugen musterloses IR-Licht und die Kameras erzeugen fast 200 Bilder reflektierter Daten pro Sekunde. Diese werden dann über ein USB-Kabel an den Host-Computer gesendet, wo sie von der Leap Motion-Software analysiert werden. Die von den zwei Kameras erzeugten 3D-Positionsdaten werden durch den Vergleich der 2D Frames synthetisiert. In einer Studie aus dem Jahr 2013 wurde die durchschnittliche Gesamtgenauigkeit des Reglers mit 0,7 Millimetern angegeben.

Der kleinere Beobachtungsbereich und die höhere Auflösung des Geräts unterscheiden das Produkt von der Kinect, die sich besser für Ganzkörper-Tracking in einem raumgroßen Raum eignet. In einer Demonstration bei CNET wurde gezeigt, dass der Controller Aufgaben wie das Navigieren auf einer Website, das Verwenden von Pinch-to-Zoom-Gesten auf Karten, das Zeichnen von hochpräzisen Zeichnungen und das Manipulieren komplexer 3D-Datenvisualisierungen ausführt.

Leap Motion hat anfangs Tausende von Entwicklern begeistert, die daran interessiert waren, Anwendungen für das Gerät zu erstellen. Der Leap Motion Controller wurde erstmals im Juli 2013 ausgeliefert. Im Februar 2016 veröffentlichte Leap Motion ein wichtiges Beta-Update für seine Kernsoftware.



Resultat

Wir haben unser elementares Ziel erreichen können. Der Leap Motion Controller wurde anhand der DAWs (Ableton Live 9 Suite) mit unserer Software verbunden und wir können mittels vier verschiedener Gesten vier Buttons in Ableton steuern. Beim ersten Erkennen der Geste wird der Button aktiviert und beim zweiten Erkennen wird dieser deaktiviert.

Es gibt natürlich viele Aspekte, die verbessert werden könnten. Wir haben uns nur mit statischen Gesten auseinandergesetzt, aber es gibt ebenso die Möglichkeit dynamische Gesten zu verwenden. Die Anzahl der Handgesten sind groß, wodurch viele Kombinationsmöglichkeiten entstehen. Auch die Anzahl der Frames sind enorm, so dass es nur einen kurzen Zeitraum gibt, die Gesten zurück in die Ausgangspositionen zu bringen um damit ungewollte Aktionen getriggert werden.

Zusammenfassend kann jedoch festgehalten werden, dass sich ein positives Fazit aus unserem "Music From The Air" -Projekt bezüglich der Handhabung und Durchführung ziehen lässt, da die Probleme lediglich in wenigen Details liegen.


Nachweise

  1. "Content Service" Verweis zu Projektdaten