InvisiblePiano

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

Invisible Piano ist ein interaktives Projekt, das im Wintersemester 2019/20 entstand.


Konzept

Die Hand des Spielers wird auf dem Tisch mithilfe einer Kamera erfasst. Der Spieler löst je nach Position seiner Finger, die entsprechenden Tasten aus, sodass die gewünschten Töne gespielt werden können. Somit ist kein echtes Klavier notwendig und es kann auf jedem beliebigen Tisch gespielt werden. (Auch mit den Füßen auf dem Boden möglich).

Umsetzung

Technische Informationen

  • Betriebssystem: Windows 10
  • Entwicklungsumgebung: Visual Studios Community 2017 Version 15.9.16
  • Verwendete Addons: ofxMidi, OpenCV (openFrameworks v0.10.1_vs2017_release)

Hand Erkennung

Es wird ein leeres Bild mit einer Webcam aufgenommen und dann von dem aktuellen Live Bild subtrahiert (Hintergrundsubtraktion). Somit wird nur noch die Veränderung aufgenommen (hier: Hand).

Klaviatur

Das programmierte Klavier enthält 10 weiße und 7 schwarze Tasten. Hier werden mit einer for schleife GRect Rechtecke anhand der X und Y Koordinaten über das Kamerabild gesetzt.

Piano1.png

Auslösen der Taste

Um eine Taste auszulösen muss die Taste berührt werden. Wenn bei der Berührung der Taste die Veränderung der Pixelanzahl durch die Hintergrundsubtraktion einen vorgegebenen Schwellenwert überschreitet, wird ein bool für diese Taste auf true gesetzt und der vorgegebene Ton wird gespielt. Der gespielte Ton wird unterbrochen, wenn der Schwellwert nichtmehr überschritten ist und der bool wieder auf false gesetzt wird.

Piano2.png

Extras

Toter Bereich

Da es sich bei dem Projekt um ein unsichtbares Piano handelt, ist es auf dem Tisch natürlich nicht zu sehen. Um jedoch nicht raten zu müssen wo sich die Tasten auf dem Tisch befinden, wurde ein Teil des Kamerabildes als „toter Bereich“ definiert, indem kein Ton erzeugt werden kann. Dadurch sieht man die Position der Hand bereits vor der Klaviatur, sodass man die Tasten gezielter treffen kann, was das Spielen um einiges erleichtert.

Hervorhebung der Taste

Für eine schönere visuelle Veranschaulichung, wird die gespielte Taste bei Aktivierung farblich hervorgehoben.

Piano3.png

Mögliche Verbesserungen

  • Hervorhebung von mehreren Tasten gleichzeitig
  • Vorgabe eines kompletten Liedes (einer Tonfolge): Tasten die gespielt werden müssen, leuchten farbig auf
  • Wandprojektion

Downloads

Source Code: [1]