GunLoop

GunLoop (work in progress) ist ein Programm zum „Musik“ machen. GunLoop sammelt Samples über ein Mikrofon und spielt sie in zufälliger Reihenfolge wieder ab. Mit der tarsosDSP-Library werden den Samples Effekte hinzugefügt oder die Geschwindigkeit verändert. Ein Oszi zeigt den produzierten Sound grafisch an (dazu wird eine weitere Line „Stereo Mix“ geöffnet und analysiert). Das Mikrofon darf nicht Rückkoppeln und nicht die Soundausgabe neu aufnehmen, sonst kommt es zum Overkill. Es muss also entweder ein geeignetes Mirkofon verwendet werden (z.B. Gesangsmikrofon) oder die Funktion „Echolöschung“ im Soundtreiber aktiviert werden. Letztere Option bieten die meisten Soundkarten an und ist z.B. auch für die Nutzung von Skype essentiell.

Alle Samples werden im Arbeitsspeicher gehalten, damit keine Latenzen durch Festplatten Schreib- und Lesezugriffe auftreten. Nach 99 Samples wird das älteste Sample gelöscht. Da liegt der Speicherplatzbedarf bei ca. 500MB (das hängt von der Länge der einzelnen Samples ab). Bei der Verwendung von tarsosDSP muss man darauf achten keine Memory-Leaks zu erzeugen, denn wenn Ressourcen nicht korrekt geschlossen werden verbleiben große Datenmengen im Speicher und nach wenigen Minuten kommt es zum OutOfMemory-Ausnahmefehler und das Programm stürzt ab.

Ein Loop ist in 16 Schritte aufgeteilt. Aufgenommene Samples werden in jedem Durchlauf beim selben Schritt gestartet und mit zufälliger Lautstärke und Effekten abgespielt. Wenn über 30 Sekunden kein neues Sample aufgenommen wurde, wird die Anzahl der abgespielten Samples langsam gesenkt, bis es endlich wieder ruhig wird. Das Programm startet im Vollbild-Modus und kann mit File->Window auch als Fenster angezeigt werden. Mit File->Save können die erzeugten Samples als Wav-Dateien gespeichert werden – mit File->Load können alte Samples geladen werden. Die Funktion lädt die Samples nicht an die urpünglichem, sondern an zufällige Positionen (Steps).

Soundbeispiel:

 

Sourcecode:

 

Download:

Lade eine Kopie des Programmes herunter: GunLoop.jar

AppDancer

Dance mal wieder richtig App!

Verbinde Dein Smartphone mit dem WLAN „APPDANCER“
Öffne einen Browser (wenn nicht automatisch geöffnet wird) und navigiere auf eine beliebige Seite (z.B. http://dance.app)
Um das Spiel zu starten positioniere Dich vor der Kamera und dann Dance App !
Das Spiel startet automatisch, sobald ein Tanz erkannt wird – also bewegt Euch!
Solltest Du Level fünf oder höher erreichen, wirst Du in die „HALL OF FAME“ aufgenommen!
Viel Spaß beim Abrocken!

Setup:

  • raspberry pi
  • raspbian
  • mjpeg streamer
  • opencv
  • raspicam
  • hostapd
  • dnsmasq
  • WLAN-Antenne

Ein C++ Programm nimmt Bilder von der Raspicam auf und analysiert Bewegung. Bewegung wird als Tanz interpretiert – also bloßes Herumstehen vor der Kamera bringt nichts, man wird zu Hintergrund! Mit einer Background-Subtraction werden die bewegten Bildausschnitte extrahiert und auf dem Bild einer Bühne eingefügt. Das so entstandene Bild wird per WLAN und MJpeg-Stream versendet auf das Smartphone des Nutzers und dort angezeigt. Je höher das Level, also je länger und intensiver getanzt wird, umso psychedelischer werden die Farben.

Ein schöner Spaß für Groß und Klein!

 

Sourcecode:

In der Bounsrunde regnet´s Konfetti, aber höchstens 9999 zu gleich!

 

GunImposer

GunImposer ist ein Programm zum Herstellen von Sammelformen. Seine Stärken sind Geschwindigkeit und die Möglichkeit sehr viele Seiten verarbeiten zu können.

Problem:

  • Ein pdf-Dokument mit 9999 Gutscheinen soll gedruckt werden
  • Die Reihenfolge soll erhalten bleiben
  • Die variablen Daten sollen einen komplizierten Hintergrund bekommen
  • Zwischenschnitte müssen definierbar sein
  • Berücksichtigung von Beschnittzugabe
  • Keine Skalierung der Daten vornehmen (wie bei Acrobat Mehrfach-Ausgabe)

Lösung:

Java-Programm GunImposer mit Verwendung der Apache pdfBox-Library. Mit GunImposer erstellt man fertige Druckbögen mit variablen Daten. Mit Acrobat kann man der erzeugten pdf-Datei einen Hintergrund für alle Seiten verpassen. Dadurch wird der Hintergrund nur einmal hinzugefügt wodurch die Dateigröße enorm sinkt, da alle sich wiederholenden Inhalte nur einmal gespeichert werden. Oder man nutzt die pdf ohne Hintergrund und verwendet dann den Variablen Datendruck VDP, wenn man zB Fiery Command WorkStation hat.

Workflow:

  • Bogenformat einrichten
  • Schema Editor für Nutzenanordnung
  • Datei laden (alle Seiten sollten die gleiche Größe haben)
  • Sortierung wählen, so dass Stapel in Reihenfolge gedruckt werden
  • Optional: Seiten duplizieren
  • Optional: Schnittmarken erzeugen
  • Feature: GunImposer speichert die Eingaben und lädt sie beim nächsten Start neu
GunImposer Schema-Editor

 

Ergebnis:

GunImposer Druckbogen Seite 1
GunImposer Druckbogen Seite 1250

Auf der letzten Seite fehlt ein Nutzen, da das Dokument 9999 Seiten hatte. Die härteste Nuss an dem Programm war die korrekte Sortierung zu erzielen – einem eigentlich einfachen mathematischen Problem.

 

Sourcecode:

Wie berechnet sich die Anzahl der Druckbögen?

 

Interesse:

Frag mich nach einer Kopie des Programms.

Visitenkarten Generator

Wir leben in modernen Zeiten, da bleibt dem Ingenieur kaum Zeit zur Gestaltung einer eigenen Visitenkarte. Oder ein Herr Meir bekommt dreimal die falsche Mayer/Meier/Müller-Karte verpasst.  Daher musste ein Tool her um die Probleme zu lösen!

Setup:

  • php
  • javascript (jQuery)
  • xml-parser
  • pdf Erezugung mit tcpdf
  • Color Klasse überschreiben für CMYK-Unterstützung
  • phpmailer (hier deaktiviert) für Nachricht an Bestellung

Hier könnt ihr damit spielen:

  • als User: Test123 Passwort: Test123
  • als Admin: Admin123 Passwort: Admin123

Applausometer

Irgendwann kommt der Tag, da braucht man ein Aplausometer! Bei Ida Nowhere sollte der Super-Singer-SongWriter-Contest steigen. Eine faire Auswertung der Publikumsregungen wäre ohne Aplausometer nicht möglich gewesen! Leider sind nicht alle Künstler gleich ehrlich und manche jubeln selbst ordentlich mit um mehr Punkte abzusahnen.

Applaus Applaus!

Setup:

  • Computer
  • Bildschirm
  • Mikrofon an der Decke
  • Tastatur

Tastenkürzel:

  • Leertaste: Pause an/aus
  • C calibration starten
  • N neue Messung
  • S Messung speichern (Name wird abgefragt und mit dem Applauswert in der Datei scores.txt gespeichert)

Download:

Source:

Die „Magie“ geschieht quasi zur Laufzeit:

 

Squatbox

Mit Navid Tschopp habe ich 2015 eine sogenannte Squatbox entwickelt. Es handelt sich dabei um ein digitales Mahnmahl. Ein Raspberry Pi (zuvor eine PirateBox) stellt eine offene WLAN-Verbindung bereit. Nutzer verbinden sich mit ihren Smartphones und glauben, sie befänden sich im Internet. In Wahrheit wird jede Anfrage mit Inhalten aus der Squatbox bedient, so dass nur die Texte, Bilder, Töne und Videos vom Mahnmal angezeigt werden können und dem Nutzer so die Information „ungefragt“ untergejubelt wird.
Mehr Infos hier: http://www.cabaretvoltaire.ch/de/projekte/invent-the-future-with-elements-of-the-past/navid-tschopp.html

WordPress Theme SquatBox

Setup:

  • Raspberry Pi 1
  • WLAN-Stick mit AP-Mode
  • raspbian
  • hostapd
  • DNS-Server
  • nginx-Webserver
  • WordPress

 

 

Recognition Composition

Recognition Composition, Face-Defector oder Anonymizer – einen endgültigen Namen für das Werk habe ich noch nicht gefunden.

Unter einem dieser Namen stellte ich das Werk bereits mehrfach aus:

  • DAS Weekend Berlin
  • Art Buzzl Regensburg
  • Galerie Bauchhund
  • Berliner  Mitteclub

Das Programm nimmt Bilder von einer Webcam auf und analysiert sie mit OpenCV haarcascades, um Gesichter zu finden. Die Gesichter werden ausgeschnitten und mit einem Balken „anonymisiert“. Auf einer Leinwand werden zig dieser Bilder angezeigt und neu erkannte Gesichter sofort hinzugefügt. Auf einem zweiten Bildschirm wird einer Überlagerung aller Gesichter angezeigt. Starrt man lange genug in die Kamera wird die Überlagerung dem Betrachter immer ähnlicher. Bei zwei Betrachtenden entsteht eine Mischgestalt. Schafft man es die gesamte Leinwand mit dem (den) eigenen Gesichter voll zu machen, druckt ein Kassenbon-Nadeldrucker ein zweifarbiges Bild des gemorphten Gesichts mit Datum und Uhrzeit. Dabei handelt es sich um ein Unikat, da das Bild nach dem Druck wieder verändert wird.

 

Sourcecode:

Auch eine Methode das Gesicht zu verwaschen:

 

Der Druck des Kassenbons erfolgt hier wie bei GunPrinter mit Hilfe von IrfanView:

 

CourageKaraoke

Alle Jahre wieder: 48 Stunden Neukölln. Diesmal zum Thema Courage das Programm CourageKaraoke, bei dem sich die Nutzer*innen verausgaben sollen. Nebenbei müssen sie einen rosafarbenen Gummihandschuh tragen und ihren Mittelfinger zeigen. Der Computer fordert zur Wutentladung vor laufender Kamera auf. Die erzeugten Videos werden automatisch bei Youtube veröffentlicht. Wie man den Videos entnehmen kann, hat das Programm nicht so ganz gut funktioniert…

 

Setup:

  • Windows-Computer
  • zwei Webcams
  • Mikrofon
  • Lautsprecher
  • Internetverbindung
  • Gummihandschuh

Ein C++-Programm unter Verwendung der OpenCV-Library macht Fotos mit der Frontkamera und erkennt in den Bildern rosarote Mittelfinger. Eine Java-Applikation überwacht die Lautstärke und sorgt für das UserInterface und den Programmablauf (Ansagen, Fragestellung und schließlich Upload des Films von der zweiten Kamera).

Pfeifen Sie nach dem Sprechton

Mit Jakob Friedl habe ich im Jahre 2007 eine interaktive Maschine gebaut, die Passanten im Fürther Korridor zum Pfeifen aufforderte. An die 400 zehnsekünder wurden aufgenommen. Leider hat sich die Maschine bei der zweiten Ausstellung ein Jahr später selbst zerlegt. Die Wackelbilder wurden einzeln mit einer billigsten Webcam aufgenommen und parallel dazu Ton mitgeschnitten, natürlich passt das nicht ganz zusammen. Eigentlich sollte ein Algorythmus den korrekten Pfeifton erkennen. Das war den Usern aber zu schwierig, so dass das Feature entfallen musste. Für mehrere Wochen düdelte der Rechner vor sich hin und wurde nicht geklaut oder abgeschaltet – die Hardware wollte vermutlich keiner mehr haben.

Wer wirklich will erfährt hier mehr darüber: http://jakob-friedl.de/?p=547

GunBarcode Generator

Es gibt hunderte Barcode-Generatoren. Leider sind sie entweder crappy oder teuer. Daher schrieb ich lieber selbst einen crappy Generator, der aber wenigstens genau das macht was er soll: in Null-Komma-Nix zehntausende Barcodes in eine pdf-Datei schreiben.

Das Programm verarbeitet csv-Dateien und erzeugt mit Hilfe eines Barcode-Fonts alle enthaltenen, validen Codes. Die Positionierung erfolgt fest im Code verankert. Das Programm ist also z.Z. nur für einen speziellen wiederkehrenden Auftrag geeignet. Die Erzeugung von 10.000 Barcodes dauert nur wenige Sekunden, die erzeugte pdf kann z.B. mit GunImposer weiterverarbeitet werden.

Fünf Barcodes pro Seite

 

Interesse:

Frag mich nach einer maßgeschneiderten Kopie des Programms.