Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Pure Data
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Language features == [[File:Pdobjects.svg|thumb|Pure Data objects. The text strings to the right of the boxes are comments.]] Like Max, Pd is a dataflow programming language. As with most [[digital signal processing|DSP]] [[software]], there are two primary rates at which data is passed: [[sampling frequency|sample (audio) rate]], usually at 44,100 samples per second, and control rate, at 1 block per 64 samples. Control messages and audio signals generally flow from the top of the screen to the bottom between "objects" connected via inlets and outlets. <!-- Deleted image removed: [[File:msd.png|thumb|right|A screenshot of MSD Editor which uses data structures to visualize control data. (Frank Barknecht)|{{Deletable image-caption|1=Wednesday, 29 July 2009|date=May 2012}}]] --> Pd supports four basic types of text entities: messages, objects, atoms, and comments. Atoms are the most basic unit of data in Pd, and they consist of either a [[floating point|float]], a symbol, or a pointer to a data structure (in Pd, all numbers are stored as 32-bit floats). Messages are composed of one or more atoms and provide instructions to objects. A special type of message with null content called a ''bang'' is used to initiate events and push data into flow, much like pushing a button. Pd's native objects range from the basic [[mathematical operator|mathematical]], [[logical operator|logical]], and [[bitwise operator|bitwise]] operators found in every programming language to general and specialized audio-rate DSP functions (designated by a tilde (~) symbol), such as [[Wavetable synthesis|wavetable]] oscillators, the [[Fast Fourier transform]] (fft~), and a range of standard [[filter design|filters]]. Data can be loaded from file, read in from an audio board, [[MIDI]], via [[Open Sound Control]] (OSC) through a [[FireWire]], [[USB]], or network connection, or generated on the fly, and stored in tables, which can then be read back and used as audio signals or control data. === Data structures === One of the key innovations in Pd over its predecessors has been the introduction of graphical [[data structure]]s. These can be used in a large variety of ways, from composing musical scores, sequencing events, to creating visuals to accompany Pd patches or even extending Pd's [[GUI]]. Living up to Pd's name, data structures enable Pd users to create arbitrarily complex static as well as dynamic or animated graphical representations of musical data. Much like [[C data types#Structures|C structs]], Pd's structs are composed of any combination of floats, symbols, and array data that can be used as parameters to describe the visual appearance of the data structure or, conversely, to control messages and audio signals in a Pd patch. In Puckette's words: {{blockquote|Pd is designed to offer an extremely unstructured environment for describing data structures and their graphical appearance. The underlying idea is to allow the user to display any kind of data he or she wants to, associating it in any way with the display. To accomplish this Pd introduces a graphical data structure, somewhat like a data structure out of the C programming language, but with a facility for attaching shapes and colors to the data, so that the user can visualize and/or edit it. The data itself can be edited from scratch or can be imported from files, generated algorithmically, or derived from analyses of incoming sounds or other data streams.|Miller Puckette<ref>[http://crca.ucsd.edu/~msp/Pd_documentation/x2.htm#s9 Pd Documentation Chapter 2 β 2.9. Data structures]</ref>|}} [[File:solitude.png|thumb|600px|center|Score for Hans-Christoph Steiner's ''[http://at.or.at/hans/solitude Solitude]'', created using Pd's data structures.]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)