Puredata – eine grafische Programmiersprache

Puredata ist eine grafische Programmiersprache zur Manipulation von Datenströmen. Puredata-Programme können in eine plattformabhängige Standalone-Anwendung überführt werden, d.h. sie sind z.B. unter Windows als EXE Datei ausführbar.

Die Programmieroberfläche

Screenshot der Puredata Konsole
Patchfenster

Haken bei “DSP” setzen => Verknüpfung zur Soundkarte aktiviert (beim Entwickeln besser ausmachen, kann sonst nervig sein). IN und OUT zeigen den ein- und ausgehenden Audio-Pegel.

Hallo Welt

Objekttypen

  • Messages
  • Number-Box (Float)
  • Objekte (die machen die Arbeit)

Kleine Rechtecke am oberen Rand von Objekten sind “Inlets”, dort gehen die Signale rein, Rechtecke am unteren Rand sind “Outlets”, dort kommen die Signale wieder raus. Das linke Inlet ist “heiß”, d.h. der Wert wird sofort verarbeitet.

Ein Inlet kann mehrere Signale aufnehmen, aber immer nur eins zur Zeit.

Das Patchfenster hat zwei Modi: Ausführung und Editieren. Zwischen den Modi kann man mit Strg-E wechseln.

Komplexe Abläufe können zu benannten Objekten zusammengefasst werden.

Ein Haufen Beispiele

  • Zähler
  • entprellter Zähler
  • Klatschzähler
  • Klangsynthese

Es gibt eine Reihe vordefnierter Objekte, z.B. Toggle, Zähler, AD-Wandler, Message.

Stream-Objekte sind durch eine dem Namen nachgestellte Tilde gekennzeichnet.

Patches können über benannte send-Objekte Nachrichten an andere Patches schicken (receive-Objekt)

Zu jedem Objekt kann über Rechtsklick eine Hilfe abgerufen werden.

ADSR Hüllkurve

Die ADSR-Hüllkurve bestimmt den Lautstärkeverlauf eines Tons:

Attack – Zeit für Ansteigen der Lautstärke bis zum Maximum
Decay – Zeit für Abfallen bis zur Sustain-Lautstärke
Sustain – Haltelautstärke
Release – Zeit für Abfallen des Tons auf Null

Wir bauen uns ein Objekt, das die Einstellung der Parameter einer ADSR Hüllkurve erlaubt. Die damit erzeugten Töne klingen hart oder weich, je nach Einstellung. So langsam stellt sich ein Gefühl dafür ein, was mit Puredata geht.

Puredata Klatschzähler

Am Ende entsteht ein Schwellwertschalter, der bei Überschreiten einer gewissen (einstellbaren) Lautstärke einen Ton mit einer zuvor festgelegten Hüllkurve abspielt.