Pure data

from Wikipedia, the free encyclopedia
A program in Pure Data

Pure Data (abbreviation: Pd ) is a data stream-oriented programming language and development environment that uses visual programming . It is primarily used to create interactive multimedia software, such as software synthesizers in electronic music .

Program structure

A program is called a patch in Pd and consists of objects and the data streams between them. The patches are created in a graphical user interface and look very similar to data flow diagrams .

Objects

When creating a patch, the predefined object types available in Pd are used. This is done by creating a new object and giving it the appropriate name. Basically, the object types can be divided into three groups:

swell
such as microphone, camera, network, sine wave generator
node
manipulate data streams, for example by inverting; Addition of several data streams or other mathematical operations such as B. Distortion by taking the root of the volume values
Reduce
these are output devices such as speakers and screens

Data stream

The inputs and outputs of the objects are connected with the mouse by drawn lines that indicate the path the data stream takes.

Messages

Messages are commands or messages that are sent to a pure data object and cause a change in the type of signal or data processing. The count down message that is sent to a counter object could, for example, cause it to reverse the counting direction.

Abstractions

In Pd there is the possibility of using an entire patch as an object within another patch: every patch file that Pd can find in its search path is automatically available as an object. In Pd jargon, such patches are also called abstractions. They roughly correspond to the functions in text-based languages ​​such as C or Python and, like these, can be initialized differently by passing arguments. Changes to the original abstraction file are automatically passed on to all occurrences of the object.

Subpatches

In contrast to abstractions, subpatches are saved as part of their parent patch. Subpatches are generally used to group the objects of a patch in a meaningful way and to use the limited screen space effectively. Subpatches can also be modified by messages and play an important role when working with “Data Structures” in Pd.

Array

The data in an array are displayed as a graph, can be manipulated by changing the graph and can be read out by other objects.

Processing of audio signals

Most operations are not only possible on a stream of numbers, but also on audio signals . Their processing takes place within Pure Data in floating point representation (usually 32 bits wide) , the sampling rate used can be freely selected, the default value is 44,100 Hz. As with Max / MSP , the objects for audio signals have the same name as for operations by agreement Numbers, only with a tilde ~ attached.

history

Pure Data was developed by Miller Puckette in the 1990s to create interactive computer music. In its scope and goals, Pure Data is very similar to the original Max, also developed by Puckette and the predecessor of the commercial MSP. In contrast to Max / MSP, Pd is free / open source software. Pd has an active developer community . They met in autumn 2004 for the first international pd ~ convention in Graz , where workshops, performances and lectures were offered for developers and users. Further conventions took place in Montreal in 2007 , in São Paulo in 2009 and in Weimar / Berlin in 2011.

Extensions

The standard Pd package only contains the objects required for processing serial number streams (e.g. MIDI data) and audio signals, but there are numerous extensions ( plug-ins , libraries ), e.g. B. for video data (PDP (Pure Data Packet) , PiDiP (PiDiP Is Definitely In Pieces) ), graphic data (Gem (Graphics Environment for Multimedia) ) etc.

Extensions can be made both in Pd itself and in a general high-level programming language such as B. C , C ++ , Python , Ruby . The Faust programming language, developed for real-time processing of audio signals, offers the creation of Pd extensions in addition to other plug-in formats.

Graphics libraries for Pd

application areas

Pure data is currently used widely in art, science and teaching, especially for interactive multimedia projects. The ability to work and interact across a network is often interesting for artists.

literature

Web links

Commons : Pure Data  - collection of images, videos and audio files