Pure Data (short Pd ) is used a stream- oriented programming language and development environment, visual programming. It is primarily used for creating interactive multimedia software, such as for software synthesizers in electronic music.
A program is referred to as Pd patch and consists of objects and the data flows between them. The patches are created in a graphical user interface and data flow diagrams look very similar.
When applying a patch to draw on the existing and predefined in Pd object types. This is done by creating a new object and this is the appropriate name. Basically, the object types into three groups can be divided:
The inputs and outputs of the objects are connected with the mouse by drawn lines that indicate the path that the data stream goes.
Messages are commands or messages that are sent to a Pure- Data object and the signal or cause a change in the nature of data processing. The message count down, which is sent to a counter object, this could for example cause a reversal of the direction of counting.
There are Pd possible to use an entire object within a patch as other patches: Each patch file that Pd may find in its search path is automatically made available as an object. In Pd - jargon such patches are called abstractions ( " abstractions "). They roughly correspond to the functions in text based languages like C or Python and how these can be initialized differently by passing arguments. Changes to the original abstraction file are automatically propagated to all instances of the object.
Unlike abstractions subpatches are saved as part of their parent patches. Subpatches generally serve the objects of a patch to group useful and take advantage of the limited screen space effectively. Subpatches can also be modified by messages and play an important role in working with "Data Structures" in Pd.
The data in an array are shown as a graph, can be manipulated by changing the graph and be read out by other objects.
Processing of audio signals
Most operations are possible not only on a stream of numbers, but also to audio signals. Their processing is done within Pure Data in (usually 32 bit wide ) floating-point representation, the sampling rate used is freely selectable, the default value is 44,100 Hz As with Max / MSP carry the objects for audio signals by agreement the same name as for operations on numbers, ~ only with an appended tilde.
Pure Data was developed in the 1990s by Miller Puckette in order to create interactive computer music. In its scope and its goals Pure Data is the original Max very similar, which was also developed by Puckette and is the predecessor of the commercial MSP. In contrast to Max / MSP is in Pd to free / open source software. Pd has an active developer community. This met in the fall of 2004 to the first international convention pd ~ in Graz, were offered at the workshops, performances and lectures for developers and users. Other conventions found in Montreal in 2007, 2009 in São Paulo and 2011 in Weimar / Berlin.
The standard package of Pd containing only the necessary objects for processing serial number streams (e.g. MIDI data) and audio signals, but there are many extensions (plug-ins, libraries), such as video data ( PDP (Pure data Packet ), PiDiP ( PiDiP Is Definitely In Pieces ) ), graphics ( Gem ( graphics Environment for Multimedia ) ), etc.
Extensions can be written in both Pd itself as well as in a general high-level language such as C, C , Python, Ruby. Developed for real-time audio signal processing programming language Faust offers among other plugin formats also creating Pd extensions.
Graphics libraries for Pd
- Graphics Environment for Multimedia ( GEM ) is used mainly in 3D.
- Flow Grid is a grid -based video processing library.
- PiDiP / PDP Video Processing Library
Areas of application
Pure Data is currently used widely in art, science and education, especially for interactive multimedia projects. The ability to spread over a network to work and interact is often interesting for artists.
- Digital Art
- Net art
- Electronic Music