Skip to content

creb

creb is Tom Schouten’s collection of Pd externals providing building blocks for music DSP, including synthesis-oriented objects that were missing from Pd or derived from his audio-synthesis research. Historical Pure Data repository documentation describes it as his personal collection of Pd externals.

Contributors

People who contribute to this project.

Objects

  • 64k 64k is an overlap-add clone of tabread~, intended for beat shuffling with raw 64k/break sample banks.
  • bdft bdft is a control abstraction that sets the decay time for bdiag~.
  • bdfts bdfts is a control abstraction that sets oscillator frequency for bdiag~.
  • bdiag~ bdiag~ is a parallel block-diagonal state-space model intended to filter spectral data.
  • bfft~ bfft~ is like fft~, but normalized, and outputs a spectrum ordered as (DC, NY), (R1, I1), …, (RN-1, IN-1).
  • bhip~ bhip~ is a Butterworth high-pass filter for signal processing.
  • biquadseries~ biquadseries~ processes a signal through a series of second-order IIR sections, intended here for Butterworth low-pass or high-pass filtering.
  • bitsplit~ bitsplit~ splits an input signal into a parallel binary word, with each bit provided as a signal outlet.
  • blocknorm~ blocknorm~ normalizes a DSP block so its RMS level equals 1.
  • blop~ blop~ is a Butterworth low-pass filter for processing an input signal and producing a filtered signal output.
  • blosc~ blosc~ provides bandlimited oscillators based on a minimal bandlimited comparator, for generating oscillator signals with reduced bandwidth-related artifacts.
  • bmatrix~ bmatrix~ multiplies a signal block by an arbitrary matrix and is mainly intended for spectral processing.
  • bwin~ bwin~ multiplies each signal block by a window, supporting block-oriented spectral processing such as applying analysis and synthesis windows around bfft~ and ibfft~.
  • cadd~ cadd~ performs complex addition on signal inputs.
  • ccmap~ ccmap~ implements the conformal self-map of the unit disk given by (z-a)/(1-conj(a)z).
  • cconj~ cconj~ computes the complex conjugate of a complex signal.
  • cep~ cep~ computes a forward complex cepstrum using normalized FFT/IFFT objects.
  • cexp~ cexp~ performs a complex exponential on signal input, providing signal outputs for the complex result.
  • cheby~ cheby~ is a Chebyshev waveshaper that processes a signal using a polynomial whose order is set by its creation argument.
  • cinv~ cinv~ computes the complex inverse of a pair of input signals, producing a pair of output signals.
  • clog~ clog~ computes the complex logarithm of a signal represented by two signal inlets and produces a complex result through two signal outlets.
  • cmul~ cmul~ performs complex multiplication on signals.
  • cosc~ cosc~ is a complex oscillator that produces a unit-norm exponential.
  • csub~ csub~ performs complex subtraction on signal inputs.
  • diag~ diag~ implements a diagonal state-space system, treating each input DSP block as a set of parallel signals whose states are updated using the documented coupled equations.
  • dist~ dist~ is a signal waveshaper for applying distortion to an incoming audio signal.
  • dsfosc~ dsfosc~ is the complex form of a discrete summation oscillator, defined by (1 − azⁿ)/(1 − az), where z = e^(jω).
  • dwt~ dwt~ performs a discrete wavelet transform on a signal and outputs the transformed signal; idwt~ performs the inverse transform.
  • dynwav~ dynwav~ is a dynamic wavetable oscillator intended for scanned synthesis.
  • eadh~ eadh~ generates an exponential attack-decay signal envelope, with the hold time equal to the duration.
  • eadsrh~ eadsrh~ is a signal abstraction that generates an exponential attack-decay-sustain-release envelope.
  • eadsr~ eadsr~ generates an exponential attack/decay/sustain/release signal envelope for shaping signals.
  • ead~ ead~ generates an exponential attack/decay envelope as a signal, suitable for controlling a signal multiplier such as *~.
  • ear~ ear~ generates an exponential attack/release envelope, with attack and release times defined as 60 dB transition times.
  • expmap~ expmap~ exponentially maps an input signal from the range (-1, 1) to a specified minimum and maximum, producing a signal output.
  • fblock fblock computes block-relative frequencies, primarily for block-synchronous spectral-domain processing.
  • fdn~ fdn~ is a feedback delay network for producing reverberation, with signal output on two outlets and inlets controlling low- and high-frequency reverb time (60 dB decay time).
  • ffpoly ffpoly computes a finite-field polynomial, with creation arguments specifying the polynomial order and finite-field order.
  • filterortho~ filterortho~ is an orthogonal biquad signal filter supporting parametric equalizer, lowpass, highpass, bandpass, band-reject, high-shelf, low-shelf, and allpass modes.
  • fmod fmod is the floating-point version of mod, intended for modulo operations on float values.
  • fmop~ fmop~ is a signal-rate frequency modulation operator.
  • frequor~ frequor~ is a frequency-domain phasor for traversing spectra.
  • fwarp fwarp warps an input frequency using the formula out = tan(2π·in/sr) · (sr/2π).
  • icep~ icep~ computes a backward cepstrum using normalized FFT/IFFT objects.
  • idsfosc~ idsfosc~ is the complex form of an infinite discrete summation oscillator, based on 1/(1−az) with z = e^(jω).
  • inv inv computes the inverse of a control-rate float.
  • junction~ junction~ is a circular, lossless signal junction with multiple signal inputs and outputs.
  • lattice3 lattice3 expands a three-dimensional harmonic lattice vector in the basis (2, 3/2, 5/4).
  • lattice~ lattice~ is a signal-processing lattice filter with a signal inlet and outlet.
  • lpifft~ lpifft~ performs an inverse FFT with a rectangular low-pass filter, intended for anti-aliased dynamic wavetable synthesis.
  • pdynwav~ pdynwav~ is a signal abstraction described as combining phasor~ and dynwav~.
  • permut~ permut~ randomly permutes the samples in a signal block and is mainly intended for shuffling spectral data.
  • qmult~ qmult~ multiplies two quaternion signals, providing a form of “quaternion ring modulation.” It accepts each quaternion through four signal inlets arranged as one real component followed by three imaginary components, and outputs the resulting quaternion as four signals..
  • qnorm~ qnorm~ normalizes a quaternion signal to unit norm.
  • ratio ratio is a control-rate octave shifter that maps a float input to an output between 1 and 2.
  • resofilt~ resofilt~ is a high-quality implementation of a Moog filter with signal inputs for audio, frequency, and resonance, and a signal output.
  • sbosc~ sbosc~ is a smallband periodic complex oscillator that produces two signal outputs.
  • scale7 scale7 is a control abstraction for mapping values to an arbitrary seven-tone scale.
  • scrollgrid1D~ scrollgrid1D~ is a stabilized scroll-grid chaotic oscillator implemented as a switched unstable linear system, with three signal outputs corresponding to X, Y, and Z.
  • statwav~ statwav~ is a static wavetable oscillator with a signal inlet and a signal outlet.
  • tabreadmix~ tabreadmix~ is an overlap-add clone of tabread~ for reading an array, with sample addressing performed modulo the array length.
  • tblock tblock converts block-relative time values for spectral-domain processing, computing its output as left input + right input × (block size / system sample rate).
  • ti_hihat ti_hihat is a GUI-on-parent hi-hat abstraction that produces a signal output.
  • ti_snare ti_snare is a GUI-on-parent snare drum abstraction that produces a signal for audio output.
  • ucmod~ ucmod~ is a unit circle modulator implementing the expression (1 + r·conj(z)) / (1 + r·z).
  • ucnorm~ ucnorm~ normalizes a complex signal to unit magnitude.
  • vols~ vols~ controls the volume of a stereo signal.
  • vol~ vol~ controls the volume of a mono signal.
  • xfm~ xfm~ performs cross-frequency modulation between two oscillators: each oscillator’s frequency is offset by the other oscillator’s output scaled by its feedback amount.