Pure Data

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche
Ein Programm in Pure Data
Ein Programm in Pure Data

Pure Data (Abkürzung: Pd) ist eine datenstromorientierte Programmiersprache und Entwicklungsumgebung, die visuelle Programmierung benutzt. Sie wird vor allem zur Erstellung von interaktiver Multimedia-Software eingesetzt, etwa für Software-Synthesizern in der elektronischen Musik.

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, oder auch Mathematische Operationen wie z.B. eine Verzerrung dürch Wurzelziehen in Bezug auf die Lautstärke.
  • 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] Abstraktionen

Es gibt in Pd die Möglichkeit, einen ganzen Patch als Objekt innerhalb eines anderen Patches zu verwenden: Jede Patch-Datei, die Pd in seinem Suchpfad auffinden kann, ist automatisch auch als Objekt verfügbar. Im Pd-Jargon heißen solche Patches auch Abstraktionen ("abstractions"). Sie entsprechen grob den Funktionen in textbasierten Sprachen wie C oder Python und können wie diese durch die Übergabe von Argumenten unterschiedlich initialisiert werden. Änderungen an der originalen Abstraktions-Datei werden automatisch an alle Vorkommen des Objekts weitergegeben.

[Bearbeiten] Subpatches

Im Unterschied zu Abstraktionen werden Subpatches als Teil ihres Elternpatches gespeichert. Subpatches dienen im allgemeinen dazu, die Objekte eines Patches sinnvoll zu gruppieren und den begrenzten Bildschirmplatz effektiv zu nutzen. Subpatches können außerdem durch Nachrichten modifiziert werden und spielen eine wichtige Rolle bei der Arbeit mit "Data Structures" in Pd.

[Bearbeiten] Array

Die Daten in einem Array werden als Graph dargestellt, können durch das Verändern des Graphen manipuliert werden und durch andere Objekte ausgelesen werden.


[Bearbeiten] Verarbeitung von Audiosignalen

Die meisten Operationen sind nicht nur auf einem Strom von Zahlen, sondern auch auf Audiosignalen möglich. Deren Verarbeitung erfolgt innerhalb von Pure Data in (üblicherweise 32bit breiter) Floating-Point- beziehungsweise Gleitkomma-Darstellung, die verwendete Abtastrate ist frei wählbar, standardmäßig 44.100 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 Tilde ~.

[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 Pure Data dem ursprünglichen Max sehr ähnlich, das ebenfalls von Puckette entwickelt wurde und der Vorgänger des kommerziellen Max/MSP ist. Im Gegensatz zu Max/MSP handelt es sich bei Pd um freie Open-Source-Software. Pd besitzt eine aktive Entwicklergemeinschaft. Diese traf sich im Herbst 2004 zur ersten internationalen pd~convention in Graz (Österreich), auf der Workshops, Performances und Vorträgen für Entwickler und Anwender angeboten wurden.

[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 oder andren geschrieben sein.

[Bearbeiten] Grafikbibliotheken für Pd

[Bearbeiten] Anwendungsgebiete

Pure Data findet zur Zeit vielfache Anwendung in Kunst, Wissenschaft und Lehre, vor allem für interaktive Multimedia-Projekte. Die Möglichkeit, über ein Netzwerk verteilt zu arbeiten und zu interagieren, ist häufig für Künstler interessant.

[Bearbeiten] Literatur

[Bearbeiten] Weblinks

Persönliche Werkzeuge