-
Notifications
You must be signed in to change notification settings - Fork 2
Home

The Pdida library is a selected collection of custom objects and abstractions for Pure Data (Pd). Its primary goal is to expand Pure Data's capabilities in electronic music, audio synthesis, and, in particular, generative applications.
Pure Data (Pd), designed by Miller Puckette, is a real-time graphical programming environment for audio and video processing. As free and open-source software, Pd promotes the freedom to study, modify, and redistribute its code. Pdida aligns perfectly with this philosophy, offering the performer/composer and the creative individual with distinct compositional needs tools that free them from the more complex aspects of low-level programming, allowing them to focus directly on the creative and compositional act.
Pdida serves as a bridge between Pure Data's deep flexibility and the immediacy required for algorithmic composition and generative music. Instead of having to build every single functionality from scratch, Pdida users can immediately access objects already developed with this specific purpose, which encapsulate complex algorithms into "black boxes" that are easy to use.
To maximize intuitiveness and compositional relevance, Pdida objects follow precise naming conventions:
-
rr_Prefix: All objects and abstractions in the Pdida library are easily recognizable by the prefixrr_. This indicates they are part of the Pdida collection and are designed for specific functions. -
"a" Suffix: Most object names end with the letter "a" (e.g.,
rr_ratio,rr_pulsa+,rr_motiva). This convention indicates that the object requires initialization arguments to define its behavior. Some of these values can later be modified in real-time ("on-the-fly") via specific inlets, which is essential for live performance. -
"~" Suffix: Objects whose names end with the symbol "~" (tilde, e.g.,
rr_fm~,rr_K+~,rr_echo~) indicate that their outlet produces an audio signal. This is a fundamental distinction in Pure Data, where cables carrying audio signals are visually thicker.
These conventions make object names self-explanatory, facilitating the understanding of their function and output type, allowing the composer to focus on creating their unique sounds.
The Pdida library offers a wide range of tools, organized thematically to support the algorithmic compositional process:
- Time/Rhythm (Pulse and Trigger): Objects dedicated to generating a pulse or rhythm that acts as a trigger signal for musical events.
-
Sequences or Value Clusters: Tools for producing sequences or groupings of values through mathematical operations or functions, which can represent notes, parameters, or other musical quantities. Examples include
rr_ratio,rr_chain,rr_motiva. -
Mapping: Objects for contextualizing raw value sequences within a musical range, scale, or map, transforming abstract numbers into musically meaningful information. Examples are
rr_mappa+,rr_allchords,rr_tonnetz,rr_allscales. -
Timbre and Sound Design: This section includes advanced tools for synthesis and sound manipulation. Some examples are
rr_pulsa+(for impulses),rr_fm~(FM synthesis),rr_K+~(plucked string simulation, based on Karplus-Strong),rr_echo~(echoes and delays),rr_shifter(pitch/tempo shifting),rr_synthbrass, andrr_timbra~. -
Output and Recording: Essential objects for sending the sonic result to the DSP engine for listening and recording. These include
rr_OUTdac~(for the main audio output, similar to Pd's nativedac~object) andrr_record~(for recording performances to audio files, similar towritesf~).
To use the Pdida library:
- Download or clone the "Pdida" folder from the GitHub repository.
- Place the folder in one of the directories that Pure Data scans for external libraries. You can add the path in Pd's "Path" or "Startup" settings (via the File > Path or Media > Startup menu).
-
Use the objects by typing their full name (e.g.,
rr_pulsa+,rr_echo~) into an "object box" within your Pure Data patches.
Each rr_ object is accompanied by a dedicated help patch (e.g., help_7markov.pd, help_K+.pd) that illustrates its main functionalities and provides concrete examples of its use. These help patches are structured consistently, including essential controls such as the DSP engine toggle, waveform visualization, volume sliders, and recording functionality. This consistency guides the user through an intuitive and repeatable workflow in algorithmic composition.
The Pdida library is an open-source project and welcomes contributions from the community. To report bugs, suggest new features, or propose improvements, please open an "Issue" on GitHub. Contributions via "Pull Request" are welcome, in full alignment with Pure Data's open-source philosophy.
The project is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license, which allows sharing and adapting the material with attribution, for non-commercial purposes, and with the condition that any derivatives are shared under the same license.