[ibimage==33330==Original==none==self==ibimage_align-center]
In recent years, visual programming languages have been on the rise. A relatively young phenomenon, visual programming languages, or VPLs, allow users to manipulate program elements graphically, rather than with text, giving those who find traditional programming methods unwieldy or unintuitive a viable alternative.
One such language, Pure Data, has found a particularly devout fan base among musicians and media artists. In fact, the projects of the digitally-inclined artistic community inspired its birth. Developed by Miller Puckette in the 1990s, Pure Data (Pd) was conceived as a means by which to create interactive computer music and multimedia projects without having to write lines of code.
As a VPL, Pd is an example of a dataflow programming language. Such languages involve functions, or “objects” (building blocks for programs written in the software) which are “patched” together in a graphical environment. Control messages, which determine the way objects behave, generally flow from the top of the screen to the bottom between these objects. Adhering to this scheme, Pd operates based on configurations of “boxes and arrows,” in which boxes and other screen objects represent concepts and are connected by lines, arrows, or arcs indicating their relationships (think of a flowchart).
One of Pd’s key innovations, according to users, has been the introduction of graphical data structures. Graphical data structures enable users to create static, dynamic, or animated graphical representations of musical data and are instrumental to processes such as sequencing events, composing scores, or creating images to accompany patches. The language doesn’t demand high-level programming expertise, so it allows a great amount of user creativity.
“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,” Puckette wrote in Pd Documentation. “To accomplish this, Pd introduces a graphical data structure...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."
[ibimage==33345==Original==none==self==ibimage_align-left]
Perhaps Pd’s most fundamentally appealing characteristic, at least to the visually inclined, is how little coding experience it demands. Pd is a member of the “Patcher” family of programming languages, meaning users can appropriate modular, reusable units of code written by developers natively in Pd (called “patches”). Patches are created and used as standalone programs and shared among users, thus precluding the user from having to write much, if any, code.
While Puckette wrote the core of Pd, it continues to evolve due to the innovations of a community of developers. The open-source nature of the language--particularly the collaborative basis of patches--has begot a thriving online global network of media artists, developers, researchers, and musicians. At PureData.info, dozens of patches--of varying levels of specificity--are publicly available for free, including dynamic geometric abstractions, an image and video mixer, a drum machine, and a program for “acid music” composition. Users can also browse projects, art, music, and logos made with Pd, view an open-curated online exhibition of Pd-generated creations, comprehensive tutorials, references for specific projects, and forums.
Angelenos interested in programming with Pd, or VPLs in general, will be happy to learn that the Pd community has established a local presence. Culver City’s CrashSpace LA recently hosted one of a series of “Patching Circles,” free events open to Pd patchers of all experience levels in which participants study or work independently and collaboratively and guest speakers present their Pd-programmed projects.
As it continues to evolve--locally and globally--Pd hints at the increasing accessibility of computer programming. Through it, developers and artists alike wax both technical and creative, collaborating in ways rarely seen before.
Have a tip for us or know of a company that deserves coverage? Email us via [email protected]