Creative Coding

btk

Till Nagel

Extern 2 - Woche 11

Aufgaben

J1: Round and round it goes ...

Lösung

Entwickle eine generative Grafik aus dem Spektrum eines Tracks.


Sound-Visualisierung

Mit Hilfe von Sound-Bibliotheken kann man nun nicht nur Musik abspielen, sondern diese auch analysieren. Wie in Beispiel I3 kann ein Lautstärke-Schwellwert zum Steuern von visuellen Elementen eingesetzt werden. Dies kann natürlich deutlich feingliedriger, aber auch komplexer umgesetzt werden, um Sound zu visualiseren.

Minim bietet hier interessante Möglichkeiten, um etwa verschiedene Frequenzbereiche zusammen zu fassen und auf Peaks zu reagieren. Schaut euch dazu das BeatDetector-Beispiel an.

Beispiele

Einige spannende, interessante oder State-of-the-Art Projekte, die Musik visualisieren. Grob teilen diese Visualiserungen sich in zwei Bereiche auf:

  • Die zeitliche Struktur wird im Raum abgebildet. Mittels Notenanaylse oder Frequenzanalye zeigt die Grafik den Track als Ganzes an.
  • Der Track wird in Echtzeit abgebildet. Durch Beat-Erkennung oder Frequenzanalyse werden Parameter der Grafik live geändert und animiert.

Shape of Song

"The diagrams in The Shape of Song display musical form as a sequence of translucent arches. Each arch connects two repeated, identical passages of a composition. By using repeated passages as signposts, the diagram illustrates the deep structure of the composition."

pop sketch series

"This is a series of drawings generated from pop songs. The songs are analyzed note-by-note. At each note, a line is drawn. The angle at which the line is drawn is determined by the pitch of the note and the length of the line is determined by the volume of the note. The result is a series of playful, doodle-like, linear drawings."

Magnetosphere

Großartige Visualisierung von Musik! Gibt es auch als iTunes Plugin herunter zu laden.

Weitere

Video

Bibliotheken

Wie auch bei Sound-Bibliotheken gibt es mehrere, verschiedene Video-Bibliotheken für Processing.

  • Video: "Interface to Apple's QuickTime for using a camera and playing movie files."
  • JMyron: "Camera library for motion detection, color tracking, glob distinction, and pixel addressing. Does not require QuickTime or WinVDIG for Windows machines."

Zunächst werden wir die mitgelieferte Core-Bibliothek Video benutzen. Mit dieser kann man Quicktime-Videos abspielen und Live-Videos bearbeiten. (Auf Windows-PCs müssen zuvor Quicktime und WinVDIG installiert werden; siehe Beschreibung auf der Processing-Site.)
Die JMyron-Bibliothek benötigt diese Hilfsmittel nicht, und ist teilweise performanter – so kann etwa die Framerate bei Live-Video-Aufnahmen mit JMyron höher liegen. Zudem bietet es einfachere Motion-/Helligkeitstracking-Mechanismen als die Core-Bibliothek an.

Video abspielen

Als erstes soll ein fertiges Video in Processing abgespielt werden. Dazu muss zunächst die Bibliothek importiert werden. Dann erzeugt man ein Objekt der Klasse Movie und gibt beim Konstruktor den Namen des Quicktime-Videos an (das – wie gehabt – im data-Ordner liegen muss).

Die Methode myMovie.loop(); besagt, dass das Video immer wieder von vorne abgespielt wird. In draw() kann das Video einfach mit der image() Anweisung gezeichnet werden. Das Besondere ist hier die Funktion movieEvent. Sie wird immer dann von Processing aufgerufen, wenn ein neues Bild vorliegt.

Live-Video

Wenn ein Live-Videosignal verwendet werden soll, muss statt Movie die Klasse Capture eingesetzt werden. So liefert beispielsweise die Kamera in den iMacs oder eine per USB angeschlossene Webcam solch ein Live-Videosignal.

Beim Erzeugen des neuen Capture-Objekts wird die Weite und Höhe des aufzunehmenden Bildes angegeben. Mit Hilfe der Funktion captureEvent() kann nun auf das jeweils neue Bild zugegriffen werden (Zeilen 17-19).

Creative Commons Lizenz: Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.0 (Deutschland)

© 2008 Till Nagel, All rights reserved – Alle Rechte vorbehalten.