Pure Data
aus Wikipedia, der freien Enzyklopädie
Pure Data (Abkürzung: Pd) ist eine datenstromorientierte Programmiersprache.
Inhaltsverzeichnis |
[Bearbeiten] Programmstruktur
Ein Programm wird in Pd als Patch bezeichnet und besteht aus Objekten und den Datenströmen zwischen ihnen. Das Erstellen eines Patches erfolgt durch eine graphische Benutzeroberfläche, die es erlaubt, die gewünschten Elemente auszuwählen.
[Bearbeiten] Objekte
Bei der Erstellung eines Patches greift man auf die in Pd vorhandenen und vordefinierten Objekt-Typen zurück. Dies geschieht, in dem man ein neues Objekt erstellt und diesem den entsprechenden Namen gibt.
- Quellen: Mikrofon, Kamera, Netzwerk, Sinus-Generator,...
- Knoten: Knoten werden dazu verwendet, Datenströme zu manipulieren; z.B.: Invertieren, Addition von mehreren Datenströmen,...
- Senken: Ausgabegeräte: Lautsprecher, Bildschirm
[Bearbeiten] Datenstrom
Die Ein- und Ausgänge der Objekte werden verbunden, um den Weg anzugeben, den der Datenstrom geht.
[Bearbeiten] Messages
Messages sind Befehle bzw. Botschaften, die an ein Pure-Data-Objekt gesendet werden und eine Änderung der Art der Signal- bzw. Datenverarbeitung in diesem bewirken. Die Message count down, die an ein Zähler-Objekt gesendet wird, könnte dieses beispielsweise zu einer Umkehr der Zählrichtung veranlassen.
[Bearbeiten] Subpatch
Es gibt in Pd die Möglichkeit, einen ganzen Patch als Objekt innerhalb eines anderen Patches zu verwenden.
[Bearbeiten] Array
Die Daten in einem Array werden als Graph dargestellt, können durch das Verändern des Graphen manipuliert werden und durch ein Objekt ausgelesen werden.
[Bearbeiten] Verarbeitung von Audiosignalen
Die meisten Operationen sind nicht nur auf einem Strom von Zahlen, sondern auch auf Audiosignalen möglich. Die Verarbeitung von Audiosignalen erfolgt innerhalb von Pd in (üblicherweise 32bit breiter) Floatingpoint Darstellung, die verwendete Abtastrate ist frei wählbar, standardmäßig jedoch 44100 Hz. Wie bei Max tragen die Objekte für Audiosignale per Übereinkunft den gleichen Namen wie für Operationen auf Zahlen, nur mit einer angehängten ~.
[Bearbeiten] Geschichte
Pure Data wurde in den 1990er von Miller Puckette entwickelt, um damit interaktive Computermusik zu erzeugen. In seinem Umfang und seinen Zielen ist Pd Max sehr ähnlich, das ebenfalls von Puckette entwickelt wurde und der Vorgänger des kommerziellen Max/MSP ist.
[Bearbeiten] Open Source
Im Gegensatz zu Max/MSP handelt es sich bei Pd um Open Source Software und hat eine aktive Entwickler Community um sich geschart. Im Herbst 2004 fand die erste internationale pd~convention in Graz, Österreich statt, bei der Entwickler und Anwender von Pd gemeinsamen Workshops, Performances und Vorträgen mit und über Pd frönten.
[Bearbeiten] Erweiterungen
Das Standard-Paket von Pd enthält nur die notwendigen Objekte für das Bearbeiten von seriellen Zahlenströmen (z.B. MIDI-Daten) und Audiosignalen, es gibt jedoch zahlreiche Erweiterungen (Plugins, Bibliotheken), z.B. für Videodaten (PDP (Pure Data Packet), PiDiP (PiDiP Is Definitely In Pieces)), Grafikdaten (Gem (Graphics Environment for Multimedia)), etc.
Erweiterungen können sowohl in Pd selbst als auch in einer höheren Programmiersprache wie C, C++, Python, Ruby,... geschrieben sein.
[Bearbeiten] Grafikbibliotheken für Pd
- Graphical Environment for Multimedia (GEM) Es wird vor allem im Bereich 3D verwendet.
- PiDiP/PDP Video Processing Bibliothek
- Framestein Video Processing Bibliothek.
- GridFlow Rasterorientierte Video Processing Bibliothek.
[Bearbeiten] Anwendungsgebiete
Pure Data findet zur Zeit vielfache Anwendung in Kunst, Wissenschaft und Lehre, vor allem für interaktive Multimedia-Projekte. Auch die Möglichkeit, über ein Netzwerk verteilt zu arbeiten und zu interagieren, ist vor allem für Künstler reizvoll.
[Bearbeiten] Literatur
- Pd-Graz (Hg.): bang. Pure Data. Wolke Verlag, Hofheim 2006, ISBN 3-936000-37-9
[Bearbeiten] Weblinks
- http://www.puredata.org/ englisches Portal
- http://pd.iem.at/ Pd-Webseiten des Instituts für Elektronische Musik und Akustik IEM Graz
- http://www.crca.ucsd.edu/~msp/Pd_documentation/ englische Dokumentation von Miller S. Puckette
- http://footils.org/cms/ rradical pd - Website von Frank Barknecht