This project is still a work-in-progress. Expect bugs, malfunctions, and generally bad code.
Created by Ian Doherty, December 2024 - January 2025
This Pd external creates random single-period waveforms and plays them back for the user. A random waveform, in this context, is defined as a sequence of randomly-generated sample and amplitude pairs that are connected via trigonometric interpolation. All random values are generated using a uniform random distribution.
The creation of randwave~ was heavily inspired by Iannis Xenakis' Dynamic Stochastic Synthesis (DSS) procedure, and attempts to emulate the process with more traditional waveforms. Additionally, the code for this project was influenced by Eric Lyon's dynstoch~ external, which implements DSS in Pd.
- If you haven't already, install PureData here.
- Clone this repo using
git cloneon a command line or download the source code manually. - In the installation folder, run
makeon a Linux command line. For Windows users, consider using MinGW or WSL. For a system-wide installation, runmake install. - Open
randwave~-help.pdto learn the usage for randwave~. Ifmake installwas used, you will be able to add randwave~ objects into any PureData instance.- To view this in PureData, go to Help > Browser. randwave~ should be listed.
- PureData: Everything!
- pure-data/pd-lib-builder: Makefile generation
- pure-data/externals-howto: Helpful guide used during the creation of this external