PureData CEAMMC web documentation

PureData CEAMMC library web documentation

View on GitHub

Distribution download



Version 0.9.7

General purpose Pd library used for work and education purposes in Centre of ElectroAcoustic Music of Moscow Conservatory (CEAM).


an array base chaos conv data dyn env flow flt fx global hw lang lfo list live local math midi misc msg music net noise osc patch path predicates preset property proto random samp seq snd spat string symbol synth system tl ui


an.onset: onset detector for arrays

an.onset~: onset detector

an.pitchtrack~: pitch tracker

an.rms~: root mean square with moving-average algorithm.

an.tempo~: tempo detector

an.zero~: zero crossing count/rate/freq calculator


array.bpm: BPM calculator

array.circular: array read/write as circular buffer

array.circular~: circular buffer for arrays

array.convolve: array FFT convolution

array.copy: copy samples from one array to another

array.do: iterate and modify array content via side-chain

array.each: process each array elements via side-chain

array.fill: fill array with single value, pattern or function

array.grainer~: array granulator

array.hist: calculates array histogram

array.ltcplay~: array player controlled by LTC

array.mean: calculates array arithmetic mean value

array.minmax: find array min and max element value

array.play~: array player with variable speed and amplitude

array.plot: array data plotter

array.plot~: plot signal on specified array

array.readwrite~: array reader/writer

array.resample: array resampler

array.rms: calculates root mean square value for array

array.set: set array content from list

array.stddev: calculates standard deviation for array values

array.stretch: array time-stretch, pitch-shift or rate-change

array.sum: calculates sum of array elements

array.sum2: calculates sum of squares of array elements

array.tramp~: triggered ramp generator for array

array.variance: calculates variance of array values

array.vplay: simple array player for using with vline~

array.window: fill array with window

plot.geomspace~: outputs numbers spaced evenly on a log scale (a geometric progression)

plot.hist~: calculate and output signal histogram

plot.linspace~: outputs numbers spaced evenly spaced over a specified interval

plot.logspace~: outputs numbers spaced evenly on a log scale

plot.response~: output amp/phase freq response to impulse


ceammc.search: ceammc library search object

chrono.datetime: output current date and time info

convolve~: realtime FFT convolution

function: named function

function.call: call named function

gain~: multislot signal gain

gate~: multislot signal gate

logger: advanced data logger

matrix~: signal routing matrix

merge~: parametrized signal merge

metro.choice: metro with random choice from timeset

metro.pattern: metro with rhythmic patterns

metro.random: metro random bang with specified range

metro.seq: metro sequencer

metro.wchoice: metro with weighted random choice from timeset

mix~: multislot signal mixer

nsig~: Mulitchannel converter from control to audio rate

obj.props: property extractor

radio: float index to outlet values as radio switch

split~: parametrized signal splitter

spring: float value "spring"

sync: value synchronization

window: returns window value by given window position

xdac~: dac~ with channel ranges

xfade2~: multi stereo-signal crossfade

xfade~: multi signal crossfade

z~: sample delay


chaos.gbman0: Gingerbreadman map chaotic generator

chaos.gbman0~: Gingerbreadman map chaotic generator

chaos.jong: Peter de Jong attractor

chaos.logistic: Logistic map chaotic generator

chaos.std0: Standard map chaotic generator

chaos.std0~: Standard map chaotic generator


array.p2s: convert array phase [0..1] to sample position

array.s2p: convert sample position to phase range [0..1]

conv.amp2dbfs: convert from amplitude to decibel full scale

conv.amp2dbfs~: convert from amplitude to decibel full scale

conv.bar2ms: calculate bar and beat duration

conv.bits2bang: convert list of bits to bang events

conv.bits2int: convert list of bits to integer

conv.bits2note: convert list of bits to note events

conv.bits2pos: convert list of bits to list of bit position

conv.bpm2hz: converts BPM to frequency in hertz

conv.bpm2ms: convert frequency in BPM to period in milliseconds

conv.bpm2sec: convert frequency in BPM to period in seconds

conv.car2pol: convert cartesian coords to polar

conv.cc2amp: convert from MIDI Control Change range

conv.char2morse: convert character to morse code

conv.color2rgba: convert named or hex color to separate RGBA values

conv.dbfs2amp: convert decibel full scale to amplitude

conv.dbfs2amp~: convert decibel full scale to amplitude

conv.degree2key: convert scale degree to key

conv.edge2bang: edge detector for numeric stream

conv.hex2int: hex symbol to int value

conv.hsl2rgb: convert HSL color values to RGB

conv.int2bits: convert integer to list of bits

conv.lab2rgb: convert LAB color values to RGB

conv.lin2curve: map linear to exponential range with 0 allowed.

conv.lin2exp: maps linear range to exponential range

conv.lin2lin: convert from one linear range to another

conv.lin2lin~: convert from one linear range to another for signals

conv.list2props: converts list to series of property messages

conv.midi2freq: convert from midi pitch to frequency in hz (with various base A and temperament)

conv.ms2bpm: convert period in milliseconds to frequency in BPM

conv.ms2samp: convert time in milliseconds to number of samples according to current samplerate

conv.ms2samp~: convert time in milliseconds to number of samples according to current samplerate

conv.ms2str: converts float time in milliseconds to formated symbol (or string)

conv.note2guido: convert MIDI note to Guido notation

conv.phase2rad: convert phase value [0-1] to radians [0-2π]

conv.phase2rad~: convert phase value [0-1] to radians [0-2π]

conv.pitch2midi: converts symbol pitch name to MIDI note number

conv.pol2car: convert from polar coordinates to cartesian

conv.rad2phase: convert radians value to phase

conv.rad2phase~: convert radians value to phase

conv.rgb2hex: convert separate RGB values to hex color

conv.samp2ms: convert samples to time according to samplerate

conv.samp2ms~: convert samples to milliseconds according to samplerate

conv.samp2sec: convert samples to time according to samplerate

conv.sec2bpm: convert period in seconds to frequency in BPM

conv.sec2samp: convert time in seconds to number of samples according to current samplerate

conv.sec2str: converts float time in seconds to formated symbol (or string)

conv.semi2ratio: convert interval in semitones to frequency ratio in 12-ET

conv.sig2float~: convert signal to floats

conv.str2sec: converts formatted time to float value in seconds

music.dur2time: convert duration list to time

music.voice2midi: convert voice music list of midi pitches


color.mix: color mixer

color.scale: create color scales

data.bimap: bidirectional map container

data.color: Color datatype

data.copy: make copy for any data types: MList, Set etc…

data.dict: dictionary container: store values by key

data.fifo: First-In-First-Out (FIFO) queue data container

data.float: robust float object

data.int: robust int object

data.list: list container

data.mlist: multidimensional list container

data.set: container that store unique elements

data.set2list: converts set to list

dict.contains: predicate to check if dict contains a keys

dict.each: map each value in dict

dict.from_list: creates dictionary from list

dict.get: output dict values

dict.keys: get list of dict keys

dict.pass: passes specified keys in dict

dict.reject: rejects specified keys from dict

dict.size: dictionary size

dict.to_list: converts dictionary to plain list

dict.values: dictionary values as mlist

global.bimap: Global visibility bidirectional map container

local.bimap: local to patch bidirectional map container

mlist.flatten: flatten nested mlist

rtree.to_list: convert OpenMusic-like rhythm tree to list of fractions

set.contains: check if specified element is in set

set.diff: difference between two sets

set.equal: checks if two sets are equal (contains same elements)

set.intersect: output intersection of given sets

set.size: get number of elements in set

set.symdiff: symmetric difference between two sets

set.union: output union of given sets


dyn.comp2~: stereo dynamic range compressor

dyn.comp_peak2~: stereo peak feed forward compressor with channel linking

dyn.comp_peak~: mono dynamic range peak feed forward compressor

dyn.comp_up2~: stereo upward compressor with channel linking

dyn.comp_up~: mono upward compressor

dyn.comp~: mono dynamic range compressors

dyn.expand2~: stereo dynamic range expander with channel linking

dyn.expand~: mono dynamic range expander

dyn.gate2~: stereo signal gate

dyn.gate~: mono signal gate

dyn.limit2~: stereo 1176LN Peak Limiter

dyn.limit~: mono 1176LN Peak Limiter

dyn.softclip~: soft signal clip


env.adsr~: ADSR (Attack, Decay, Sustain, Release) envelope generator

env.ar~: Attack/Release envelope generator

env.asr2~: stereo Attack/Sustain/Release envelope generator

env.asr~: Attack/Sustain/Release envelope generator

env.concat: Envelope concatenation

env.follow~: Envelope follower with independent attack and release times

env.mix: Mix between two envelopes. Envelopes should contain equal number of segments

env.smooth~: An envelope with an exponential attack and release

env.tscale: Envelope time-scale

env.tshift: Envelope time-shift (horizontal)

env.vscale: Envelope value-scale

env2array: Renders envelope to specified array

env2vline: Converts envelope to bunch of vline messages

envelope: Envelope data type

vline2env: Converts vline messages to env


expand_env: Substitute environment variables in data stream

flow.append: append message to flow stream

flow.change: rejects redundant input values

flow.count: control flow event counter

flow.delay: enhanced version on vanilla delay object

flow.demultiplex: control flow demultiplexer

flow.demultiplex2~: audio stream stereo demultiplexer

flow.demultiplex~: audio stream demultiplexer

flow.dollar: data flow dollar converter

flow.dup: message duplicator

flow.float: pass floats

flow.gate: control flow gate. [spigot] analog

flow.greater: numeric stream router

flow.greater_eq: numeric stream router

flow.group: group input atoms in list of specified size

flow.interval: measure time between flow events

flow.less: numeric stream router, like many [moses]

flow.less_eq: numeric stream router, like many [moses]

flow.list2many: routes list element with message selectors

flow.match: route data flow by regexp match

flow.mem: store data flow in memory

flow.multiplex: control flow multiplexer

flow.multiplex2~: audio stream stereo multiplexer

flow.multiplex~: audio stream multiplexer

flow.once: one message pass thru

flow.pack: flow pack

flow.pass: pass specified values

flow.pass_if: pass values that accepted by predicate object

flow.pipe: enhanced version on vanilla pipe object

flow.prepend: prepend message before received one

flow.queue: multi-channel control flow sync queue (or FIFO)

flow.record: flow stream recorder/player

flow.reject: reject specified values

flow.reject_if: reject values by predicate

flow.ring: dataflow ring buffer

flow.route: advanced message router

flow.select: vanilla flow on steroids

flow.seqdelay: sequential delay/router for input flow

flow.space: space in time messages received at the same logical time

flow.speedlim: control stream speed limiter

flow.split: split data flow by external side-chain predicate

flow.stack: any message stack

flow.sync: bus with only hot inlets

flow.sync_pack: flow pack with all hot inlets

flow.tee~: separate audio and control streams

replace: Replace atoms in data stream

route.any: separate any messages from bangs, floats, symbols and lists

route.bang: separate bang messages from other types

route.cycle: cyclic message router

route.float: separate float messages from other types

route.list: separate list messages from other types

route.prop: separate property messages from other types

route.random: routes input flow to random outlet

route.symbol: separate symbol messages from other types


flt.a-weight: convert frequency to A-weight value

flt.biquad~: second order IIR filter.

flt.bpf12~: Two pole band-pass butterworth filter

flt.bpf24~: Four pole band-pass butterworth filter

flt.bpf36e~: elliptic band-pass filter with -36db rolloff

flt.bpf72e~: elliptic band-pass filter with -72db rolloff

flt.c_apf: Allpass filter coefficient calculator for biquad

flt.c_bpf~: BPF coefficient calculator for biquad filter

flt.c_highshelf~: Highshelf filter coefficient calculator for biquad

flt.c_hpf: HPF coefficient calculator for biquad filter

flt.c_hpf~: HPF coefficient calculator for biquad filter

flt.c_lowshelf~: Lowshelf filter coefficient calculator for biquad

flt.c_lpf: LPF coefficient calculator for biquad filter

flt.c_lpf~: LPF coefficient calculator for biquad filter

flt.c_notch: Notch filter coefficient calculator for biquad

flt.c_notch~: Band-reject coefficient calculator for biquad filter

flt.c_peak~: Peaking equalizer calculator for biquad

flt.c_pole: One-pole coefficient calculator for biquad filter

flt.dcblock2~: stereo DC blocker

flt.dcblock~: mono DC blocker

flt.eq10~: graphic 10 band equalizer

flt.eq_peak_cq~: constant-Q second order peaking equalizer section

flt.eq_peak~: second order "peaking equalizer" section (gain boost or cut near some frequency). Also called a "parametric equalizer" section.

flt.fb_comb~: feedback comb filter

flt.fbank5x1~: 5 band one octave butterworth filterbank

flt.ff_comb~: feed forward comb filter

flt.freqz: compute the frequency response of a digital filter

flt.freqz~: compute the frequency response of a digital filter

flt.highshelf~: gain boost cut above some frequency

flt.hpf12~: High-pass second order Butterworth filter

flt.hpf24~: High-pass fourth order Butterworth filter

flt.lowshelf~: gain boost cut below some frequency

flt.lpf12~: Low-pass second order Butterworth filter

flt.lpf24~: Low-pass fourth order Butterworth filter

flt.median: Median control flow filter

flt.moog_vcf~: Moog Voltage Controlled Filter

flt.notch~: band-rejection filter

flt.resonbp~: Simple resonant bandpass filter

flt.resonhp~: Simple resonant highpass filter

flt.resonlp~: Simple resonant lowpass filter

flt.speaker~: speaker emulation band-pass filter


fx.bitdown~: bit downer and downsampler effect

fx.chorus~: Chorus effect

fx.dattorro~: dattorro reverb

fx.delay~: smooth delay with a feedback control

fx.distortion1~: distortion #1 from Guitarix effects set

fx.distortion2~: distortion #2 from Guitarix effects set

fx.distortion3~: simple distortion #3 from Guitarix effects set

fx.distortion~: cubic nonlinearity distortion

fx.drive~: Guitarix drive effect

fx.drone_box~: mono sympathetic resonance generator

fx.echo2~: stereo echo effect

fx.echo~: enhanced echo effect

fx.flanger~: mono flanging effect

fx.freeverb2~: freeverb2 - stereo version of freeverb

fx.freeverb~: freeverb - common used open-source reverb

fx.freqshift~: frequency shifter or single-sideband ring modulation

fx.granulator~: simple input stream granulator

fx.greyhole~: A complex echo-like effect

fx.infrev~: port of Infinity VST plugin from airwindows

fx.jcrev~: Schroeder quad reverberator from 1972

fx.looper~: One track looper

fx.overdrive~: overdrive effect

fx.pitchshift_s~: signal version of fx.pitchshift~

fx.pitchshift~: simple pitch shifter based on 2 delay lines

fx.rb_pitchshift~: rubber band pitchshift

fx.recho~: reversed echo effect

fx.ringmod~: ring modulator effect

fx.room~: Gardners room emulation algorithms

fx.satrev~: Schroeder reverberator from 1971

fx.scramble~: scramble delayed sound fragments

fx.shimmer~: shimmer reverb effect effect

fx.stutter~: stutter effect

fx.tapiir~: multi-tap delay

fx.tremolo~: tremolo effect from guitarix project

fx.vocoder~: very simple vocoder where the spectrum of the modulation signal is analyzed using a 32-band filter bank

fx.wahwah~: digitized CryBaby wah pedal

fx.zita_rev1~: Zita stereo reverb


global.dict: global named dict object

global.float: global named float object

global.int: global named integer object

global.list: global named list object

global.mlist: global named mlist object

global.set: global named set object


hw.apple_smc: query the system management control in Apples

hw.apple_sms: query the sudden motion sensor in Apples

hw.arduino: Arduino device

hw.cpu_temp: get CPU temperature

hw.display: get/set display properties

hw.kbd_light: Get/set keyboard light on some devices

hw.motu.avb: controls Motu AVB devices over http requests

hw.serial: serial port device


lang.faust~: faust realtime compilation

lang.lua: Lua JIT language bindings

ui.faust~: faust compiled ui object


lfo.+pulse~: Unit-amplitude nonnegative low frequency pulse train

lfo.+saw~: Positive unit-amplitude low frequency saw wave

lfo.+square~: Positive low frequency square wave

lfo.+tri~: Positive unit-amplitude low frequency triangle wave

lfo.impulse~: Unit-amplitude low-frequency impulse train

lfo.mosc~: multi-oscillator with various waveforms

lfo.pulse~: Full-range unit-amplitude low frequency pulse train

lfo.saw~: Full-range unit-amplitude low frequency saw

lfo.square~: Zero-mean unit-amplitude low frequency square wave

lfo.tri~: Zero-mean unit-amplitude low frequency triangle wave


objects for list processing

list.^at: on input index(es) outputs list element(s)

list.^contains: checks if input atom is found in the list

list.^search: on input atom returns it index in list

list.all_of: checks if all list atoms accepted by predicate

list.any_of: checks if at least one list element is accepted by predicate

list.append: append atom or list to the end of input list

list.apply_to: modifies list value at specified position, filtering it via external object

list.at: outputs list element(s) at specified index(es)

list.choice: outputs random element from list

list.contains: checks if input list contains specified atoms

list.convolve: convolution for lists

list.correlate: list cross-correlation

list.count: output the number of items that equal to specified value

list.count_if: output the number of items that satisfy to external predicate

list.delta: returns the difference between the current list of floats and the previous one.

list.distribution: list value distribution

list.do: iterate and modify list contents via side-chain

list.each: maps each list value via external side-chain

list.enumerate: enumerates input list

list.equal: checks if given lists are equal

list.first: returns first list element

list.gen: generates list of specified length via external generator

list.histogram: outputs distribution histogram

list.insert: insert atom or list to the specified position of input list

list.integrator: returns the sum of the previously stored list and the current one then stores this sum

list.last: output last list element

list.length: output the number of atoms in the list

list.map: map list values by specified dictionary

list.max: output largest element in the list

list.mean: calculates average of list of floats

list.min: returns smallest element in the list

list.none_of: checks if none of list atoms is accepted by predicate

list.normalize: normalizes float list values to get their sum = 1.0

list.pass: leave in list only specified elements

list.pass_if: leave only elements accepted by predicate

list.prepend: prepend atom or list before input list

list.product: calculates product of floats in list

list.range: output list smallest and largest value

list.reduce: apply function of two arguments cumulatively to the list

list.reject: remove specified element from list

list.remove: remove list element(s) at specified positions

list.remove_if: remove elements by predicate

list.repack: repack list to specified size

list.repeat: output new list by repeating input list specified times

list.resample: resample list with specified ratio

list.resize: changes list size

list.reverse: reverses the order of the elements in the list

list.rldecode: Run-length list decoder (RLE)

list.rlencode: RLE (run-length encoding) for lists

list.rotate: rotates list

list.route: acts like [route] but for lists

list.rundiff: running difference

list.runsum: running sum

list.search: search specified items in input list

list.separate: sends list elements one by one separately

list.seq: numeric sequence list generator

list.set: set list value at specified position

list.shift: shifts the contents of the list with linear interpolation

list.shuffle: randomly rearranges elements in list

list.slice: extract sublist

list.sort: sorts list values by ascending order

list.sort_with: sort list with user defined side-chain

list.split: splits list into two parts, the length of first list is specified by the argument

list.stretch: stretches list - changes its size with linear interpolation

list.sum: calculates sum of floats in list

list.unique: removes duplicates from input list

list.unpack: unpack list elements to separate outlets

list.unzip: splits list to N lists, each to separate output

list.walk: Walks thru the list

list.zip: takes n lists from n inlets (specified by argument) and output their elements sequentially (list1-1 list2-1 list1-2 list2-2 etc.).


live.capture~: record up to 32s of sound and playback the recorded sound in loop


local.dict: local named dict object

local.float: canvas-scoped named float variable

local.int: canvas-scoped named integer variable

local.list: local named list object

local.mlist: local named mlist object

local.set: local named set object


math objects. can operate with list of numbers.

math.abs: absolute value function

math.abs~: absolute value function for signals

math.acos: arc cosine function

math.acosh: inverse hyperbolic cosine function

math.acosh~: hyperbolic arc cosine for signals

math.acos~: arc cosine function for signals

math.and: operation AND for multiple arguments

math.approx: check if input value approximately equal to pattern

math.asin: arc sine function

math.asinh: inverse hyperbolic sine function

math.asinh~: hyperbolic arc sine for signals

math.asin~: arc sine for signals

math.atan: arc tangent function

math.atanh: inverse hyperbolic tangent function

math.atanh~: hyperbolic arc tangent for signals

math.atan~: arc tangent for signals

math.binomial: binomial coefficient calculator

math.cabs~: magnitude of a complex signals

math.carg~: phase angle of a complex signals

math.cbrt: cube root function

math.cbrt~: cube root function for signals

math.cdiv~: division of complex signals

math.ceil: round to smallest integral value not less than input value

math.ceil~: round to smallest integral value not less than input value

math.cexp~: exponent of a complex signals

math.cmul~: multiplication of complex signals

math.cos: cosine function

math.cosh: hyperbolic cosine function

math.cosh~: hyperbolic cosine for signals

math.cos~: cosine function

math.div: division (on lists too)

math.e: mathematical constant, base of the natural logarithm

math.erf: error function

math.erf~: error function for signals

math.exp: exponential functions

math.exp2: exponential functions

math.exp2~: base-2 exponential for signal

math.expr: dynamic [expr]

math.exp~: base-e exponential for signal

math.floor: round to largest integral value not greater than x

math.floor~: round to largest integral value not greater than x

math.gamma: gamma function

math.gamma~: gamma function for floating point signals

math.gcd: calculate greatest common divisor

math.inf: infinity value that cannot be represented accurately

math.inf~: inifinity signal generator

math.lcm: calculate least common multiple

math.lgamma: natural logarithm of the absolute value of the gamma function

math.lgamma~: natural logarithm of the absolute value of the gamma function for signals

math.log: natural logarithm

math.log10: logarithm functions

math.log10~: natural logarithm

math.log2: logarithm functions

math.log2~: base-2 logarithm

math.log~: natural logarithm

math.mul: multiplication (on lists too)

math.nan: Not a Number, unrepresentable value

math.nan~: signal NaN

math.neg: negate function

math.or: operation OR for multiple arguments

math.pi: mathematical constant

math.pi~: mathematical constant

math.polyeval: evaluates the polynomial described by the coefficients list

math.reciprocal: calculate reciprocal number

math.reciprocal~: calculate reciprocal number for signals

math.round: round to integral value, regardless of rounding direction

math.round~: signal round

math.sign: sign function

math.sin: sine function

math.sinh: hyperbolic sine function

math.sinh~: hyperbolic sine for signals

math.sin~: sine function

math.sqrt: square root function

math.sqrt~: square root for signal

math.squared: value square

math.squared~: signal value square

math.sync_add: sync addition

math.sync_and: sync logical AND operation

math.sync_div: sync division

math.sync_eq: sync equal numbers check

math.sync_ge: sync greater equal numbers compare

math.sync_gt: sync greater then numbers compare

math.sync_le: sync less equal numbers compare

math.sync_lshift: sync signed bit left shift

math.sync_lt: sync less then numbers compare

math.sync_mod: sync remainder of modulo division (float or integer)

math.sync_mul: sync multiplication

math.sync_ne: sync numbers for not equality

math.sync_or: sync logical OR operation

math.sync_rshift: sync signed bit right shift

math.sync_sub: sync subtraction

math.sync_xor: sync logical XOR operation

math.tan: tangent function

math.tanh: hyperbolic tangent function

math.tanh~: hyperbolic tangent for signals

math.tan~: tangent function

math.trunc: truncate to integer value

math.trunc~: truncate to integer value


midi.arp: MIDI arpeggiator

midi.cc: enhanced version of vanilla ctlin

midi.clock: midi clock toolbox

midi.ctl2str: convert Standard MIDI Controllers number to name

midi.event2ctl: convert MidiEvent message to controller channel/value pair

midi.event2note: convert MidiEvent message to midi note/velocity pair

midi.event2prg: convert MidiEvent message to midi program change value

midi.file: standard midi file SMF reader and writer

midi.kbd: computer keyboard midi

midi.key2str: convert key number to SPN name according to tonality

midi.modus: snap/skip midi pitches according modus

midi.note.pass: midi note pass by expression

midi.oct: midi octave transpose

midi.prg2str: convert GM Instrument number to name (string or symbol)

midi.split: midi note splitter

midi.sustain: sustain pedal emulation

midi.sysex: sysex input messages as list

midi.track: extract track from MidiFile

midi.tuning: apply tuning to midi messages

midi.vramp: apply crescendo or diminuendo for midi message flow

midi.vrand: midi velocity randomizer


click~: Output single impulse on bang

fluid~: FluidSynth SoundFont 2 player

modplug~: MOD file player (using libmodplug)

qrcode: QR code generator

risset.gliss: Sheppard/Risset glissando calculator

sfizz~: SFZ format sample player

speech.flite: render speech to array

speech.flite~: render speech to array

speech.rhvoice~: RHVoice text to speech synthesis


loadexpr: send message when patch loads

msg: message constructor

msg.after: send specified message after incoming message

msg.onclose: send message when patch closes

msg.onload: send message when patch loads

msg.pack: message pack

msg.sched: message scheduler


rhythm.euclid: euclid pattern generator

rhythm.hexbeat: hexbeat pattern generator

rhythm.lsystem: L-system pattern generator


net.artnet.send: ArtNet DMX message sender

net.host2ip: returns IP address by DNS name

net.http.send: HTTP request sender

net.osc.receive: OSC message listener

net.osc.send: OSC message sender

net.osc.server: OSC server control


noise.baker: Part of a-chaos library

noise.clifford: clifford attractor

noise.collatz: collatz conjecture output

noise.colored~: colored noise generator with an arbitrary spectral roll

noise.crackle~: sparse noise generator

noise.duffing: duffing attractor

noise.ginger: Gingerbreadman map chaotic generator

noise.henon: henon attractor

noise.henon_heilles: Hénon–Heiles_system

noise.henon_phase: henon phase Ddagrams

noise.henonf: Henon phase

noise.ikeda: Ikeda attractor

noise.lfreq0~: sampled/held noise (piecewise constant)

noise.lfreq~: noise.lfreq0~ smoothed with no overshoot

noise.lorenz: Lorenz chaos

noise.lyapunov: lyapunov random attractor

noise.navier_stokes: navier-stokes diff equations

noise.pink~: Pink noise generator

noise.rossler: Rössler attractor

noise.stein: Stein distribution

noise.torus: torus attractor

noise.verhulst: verhulst distribution

noise.white~: White noise generator


osc.blit~: Bandlimited impulse train oscillator

osc.impulse~: Bandlimited impulse train generator

osc.pulse~: Bandlimited pulse train oscillator

osc.saw4~: Bandlimited sawtooth wave

osc.saw~: Alias-free sawtooth wave

osc.sinfb~: Sine oscilator with feedback

osc.sin~: Sine wave oscillator

osc.square~: Bandlimited square wave oscillator

osc.tri~: Bandlimited triangle wave oscillator


canvas.active: checks if canvas window is on top and active

canvas.current: verbose information about current canvas

canvas.dir: current canvas directory and nesting level

canvas.name: current canvas name

canvas.path: current canvas fullpath

canvas.top: verbose information about top-level canvas

patch.args: Get patch or subpatch arguments

patch.deps: patch dependencies: used objects and abstractions

patch.tree: patch tree


file.size: output file size

path.basename: outputs filename portion of pathname

path.dirname: outputs directory portion of pathname

path.exists: checks if given path exists

path.file: file input/output

path.is_dir: check if path is directory

path.lsdir: list directory contents

path.monitor: filesystem event monitor

path.normalize: normalize file paths

path.pattern: pattern filename generator

path.search: file search

path.split: file path split


is_any: checks if input data has any type

is_bang: checks if input data has bang type

is_data: checks if input data has data type

is_dict: checks if input data has dict type

is_even: checks if input number is even

is_file: checks if file exists and accessible

is_float: checks if input data has float type

is_list: checks if input data has list type

is_odd: checks if input number is odd

is_pointer: checks if input data has pointer type

is_prop: checks if input message is property message

is_symbol: checks if input data has symbol type


preset.float: load/store float preset

preset.list: load/store symbol preset

preset.storage: preset storage control

preset.symbol: load/store symbol preset


patch.props: patch properties manager

prop: get/set named property value for subpatch or abstraction

prop.declare: declare named property for subpatch or abstraction

prop.get: get property from connected object/subpatch/abstraction

prop.get~: Property extractor from sound stream

prop.join: join property to main data flow

prop.random: property randomizer

prop.set: set property for connected object/subpatch/abstraction

prop.split: separate properties from dataflow


proto.arturia.minilab: simple SysEx control for Arturia MiniLab

proto.feelworld: protocol for FeelWorld LivePro L1 HDMI mixer

proto.firmata: Firmata Arduino protocol support

proto.inscore: INScore message creator

proto.ltc.in~: LTC decoder

proto.ltc.out~: LTC encoder

proto.midi: raw midi encoder/parser

proto.midi.casio: Casio Privia MIDI control

proto.midi.cc: raw midi CC encoder/parser

proto.midi.sysex: raw midi SYSex encoder/parser

proto.moppy: protocol for Musical flOPPY controller

proto.morse: Morse encoder

proto.mpv: mpv video player control

proto.sp.alpaca: protocol parser for Arduino-based CEAMMC footswitch

proto.vlc: VLC video player control over HTTP

proto.whammy: Control for Digitech Whammy pedal

proto.xtouch_ext: Behringer XTouch Extender XMidi protocol


random.atom: weighted atom generation from specified list

random.discrete: random weighted integers on interval [0, n)

random.float: uniform random float generator in specified range

random.gauss: gaussian random distribution

random.int: uniform random integer generator in specified range

random.linear: random linear distribution

random.pw_const: piecewise constant random distribution

random.pw_lin: piecewise linear random distribution


samp.time~: sample counter


seq.arp: sequence arpeggiator

seq.bangs: bang sequencer

seq.counter: sequencer counter

seq.life: Conway game of life sequencer

seq.matrix: sequencer control for ui.matrix

seq.nbangs: output specified number of bang with time intervals

seq.phasor: control rate phasor (saw) generator

seq.toggles: toggle sequencer

sequencer: basic sequence player


snd.file: Sound file loader on steroids

snd.play~: Sound file player on steriods


hoa.2d.decoder~: hoa 2d decoder

hoa.2d.encoder~: hoa 2d encoder

hoa.2d.exchanger~: renumbers and normalizes the channels

hoa.2d.map~: a 2d ambisonic multisource spatializer

hoa.2d.optim~: a 2D ambisonic optimization tool

hoa.2d.projector~: a plane waves decomposer from circular harmonics domain

hoa.2d.recomposer~: recomposes a 2d plane wave decomposition into circular harmonics

hoa.2d.rotate~: a 2D ambisonic sound field rotation

hoa.2d.space: planewaves amp control

hoa.2d.wider~: a 2d fractional ambisonic order simulator

hoa.3d.decoder~: hoa 3d decoder

hoa.3d.encoder~: hoa 3d encoder

hoa.3d.exchanger~: renumbers and normalizes the channels

hoa.3d.map~: a 3d ambisonic multisource spatializer

hoa.3d.meter~: multi spherical meter with sound field descriptor

hoa.3d.optim~: a 3D ambisonic optimization tool

hoa.3d.scope~: a 3d ambisonic harmonic scope

hoa.3d.wider~: a 3d fractional ambisonic order simulator

hoa.@process: process properties manager for hoa.process~

hoa.in: message inlet for a patcher loaded by hoa.process~

hoa.in~: signal inlet for a patcher loaded by hoa.process~

hoa.map.ui: a GUI to spatialize sources on a map

hoa.out: message outlet for a patcher loaded by hoa.process~

hoa.out~: signal inlet for a patcher loaded by hoa.process~

hoa.process~: patcher loader for multichannel processing

hoa.scope~: a 2d ambisonic harmonic scope

pan.cos~: two channel equal power sine/cosine panner

pan.linsig~: two channel linear panner with signal control

pan.lin~: two channel linear panner

pan.spread~: spreads input channels across the stereo field

pan.sqrt~: two channel equal power square root panner

spat.pan4~: GMEM SPAT: 4-outputs spatializer

spat.pan8~: GMEM SPAT: 8-outputs spatializer

spat.zita6x8~: spat with 6 inputs sources to 8 channel output

spat.zita8~: 8 channel reverb spatializer


string: string constructor

string.contains: checks if string contains specified substring

string.ends_with: checks if string ends with specified substring

string.equal: check strings or symbols for equality

string.format: formats string like printf.

string.join: joins (concatenates) list to string with separator

string.length: number of characters in string (unicode supported)

string.match: check if string match regular expression

string.remove: remove substring from input string

string.replace: replace from one substring to another in input string

string.split: split string or symbol by separator

string.starts_with: checks if string starts with specified substring

string.substr: extract substring from input string

string2symbol: converts string to symbol


symbol.equal: check symbols for equality

symbol.length: number of characters in symbol (unicode supported)

symbol.num_compare: numeric symbol compare

symbol2any: converts symbol or string to message

symbol2intlist: converts symbol to list of character codes


noise.chua~: Chua's diode circuit

synth.bee3~: Hammond-oid organ FM synthesis instrument

synth.birds~: bird singing generator

synth.church_bell~: generic church bell modal model

synth.clap~: clap synth from faust libraries

synth.dubdub~: simple synth based on a sawtooth wave filtered by a resonant lowpass

synth.dx7~: FAUST dx7 implementation

synth.eguitar~: simple electric guitar model with steel strings

synth.english_bell~: english church bell modal model

synth.fgrain~: file granulator from STK

synth.french_bell~: french church bell modal model

synth.german_bell~: german church bell modal model

synth.glass_harm~: nonlinear banded waveguide modeled Glass Harmonica

synth.glitch~: Glitch synthesizer by naivesound

synth.harpsichord~: waveguide commuted harpsichord

synth.hat~: hi-hat synth from faust librariest

synth.kick2~: low-kick synth from faust librariest

synth.kick~: low-kick synth from Guitarix project

synth.ks~: Karplus-Strong string

synth.marimba~: simple marimba physical model implementing a single tone bar connected to tube

synth.metro~: ready to use metronome synth

synth.piano~: waveguide commuted piano

synth.rhodey~: STK Fender Rhodes electric piano FM synthesis instrument

synth.risset_arp~: Jean Claude Risset's harmonic arpeggio effect

synth.risset_bell~: Jean Claude Risset's bell synth

synth.risset_tone~: Jean Claude Risset's endless glissando

synth.russian_bell~: russian church bell modal model

synth.shakers~: various percussion sounds from STK library

synth.sitar~: STK sitar

synth.snare~: Snare drum synth from Guitarix project

synth.standard_bell~: german church bell modal model

synth.tube_bell~: STK tubular bell (orchestral chime) FM synthesis instrument

synth.voice_fofc~: Simple formant/vocal synthesizer with FOF-cycle filterbank.

synth.voice_fofs~: Simple formant/vocal synthesizer with FOF-smooth filterbank.

synth.wurley~: Wurlitzer electric piano FM synthesis instrument


system.colorpanel: System color panel dialog popup

system.cursor: Output cursor motion, mousewheel and button clicks

system.exec: run external command in separate process

system.exit: quit PureData

system.getenv: Get system environment variables

system.hostname: outputs system hostname

system.memsize: returns the size of physical memory (RAM) in bytes round to float data type.

system.memused: returns the process physical memory use - current and peak

system.screen_size: returns current screen size in pixels


tl.bang: Timeline bang (with possible delay)

tl.cue: Timeline section

tl.timeline: Timeline - event scheduler

tl.toggle: Timeline bang

tl.transport: Timeline transport control


ui.aview: array view with cursor and selection

ui.bang: A bang… that's all

ui.button: button widget

ui.canvas: UI canvas for drawing

ui.cmeter~: Multichannel circular peak and rms signal meter

ui.colorpanel: colorchooser widget

ui.display: Display GUI object

ui.dsp~: GUI for turning DSP on/off

ui.env: envelope editor widget

ui.filter: UI filter object calculator for biquad filter

ui.filter~: UI filter object based on biquad filter

ui.gain2~: UI stereo gain control

ui.gain~: UI gain control

ui.icon: simple icon with button capabilities

ui.incdec: value increment/decrement

ui.keyboard: keyboard widget

ui.knob: knob widget

ui.label: simple label widget

ui.lcd: black and white bitmap display

ui.link: Hyperlink widget

ui.matrix: The matrix of toggles has you.

ui.menu: Dropdown menu

ui.meter~: Shows peak and rms signal level

ui.midi: incoming MIDI message viewport

ui.mouse_filter: filter mouse events from ui objects

ui.mouse_route: routes mouse events from ui objects

ui.number: counterpart of the vanilla [nbx]

ui.number~: counterpart of the vanilla [nbx] for signal

ui.plot~: signal plotter

ui.polar: 2D slider in polar coordinates

ui.preset: Preset manager

ui.radio: counterpart of the vanilla radio toggle

ui.rslider: range slider

ui.scope~: Scope GUI object

ui.slider: counterpart of the vanilla slider

ui.slider2d: 2D slider widget

ui.sliders: Multiple slider widget

ui.spectroscope~: Spectroscope GUI object

ui.tab: displays a list of text buttons or text toggles

ui.toggle: modern toggle widget

Keywords: 2d 3d A abs accept acos acosh add adsr after airwindows all allpass alpaca amp amplitude and angle any append apply approx ar arc arduino args arguments arpeggiator arpeggio array artnet arturia asin asinh asr at atan atanh atom aubio avb back band-limited bandpass bang bangs base behringer bell bidirectional binomial biquad birds bits blue bode bpf bpm bresenham brightness brown buffer button calc call canvas carrier cartesian casio cbrt cc ceil change chaos char choice choose chorus chua church circular click clip clock close color colored colorpanel comb compare complex compressor concat const container contains control controller conv convert convolution convolve conway copy correlation cos cosh cosine count counter crackle crescendo cross crossfade crossing crybaby ctlin cue cumulative cursor curve cycle data dataflow dbfs dcblock de decibel declare decode decoder decrement degree delay delta demultiplex deps detector deviation dict dictionary difference diminuendo dir directory discrete display distortion distribution divide division diy dmx dns do dollar downsample draw drive drone drop drum dsp dubdub duplicate duration dx7 dyn e each echo edge electric elliptic encoder ends english enumerate envelope environment equal equalizer error euclid event events exchanger execute exists exit exp exp2 expand_env expander exponential expr expression factorial faust feedback fellworld fender fft fifo file filename filesystem fill filter filterbank find firmata first flanger flatten flite float floor floppy flow fluid fm fof follower footswitch format french freq freqshift frequence function functional fx gain game gamma gate gauss gcd generate generator geom german get gingerbreadman glass glissando glitch global grain granular granulator graphic greater group guido guitar hammond harmonica harpsichord hex hexbeat highpass highshelf histogram hoa hostname hot hpf hsl http hyperbolic icon impulse increment index inf infinity info inlet inscore insert int integrator intersection interval ip IR iterate jit join jong karplus key keyboard keys kick knob lab label last lcm leave length less lfo lfreq life limiter linear link list live loadbang local log log10 log2 logic logical logistic looper lowpass lowshelf lsystem ltc lua magnitude map marimba match math matrix max mean median memory menu merge message meter metro midi min minmax misc mix mixer mlist mod model modulate module modulo modus mono moog morse moses motion motu mouse mousewheel mplayer mpv ms msg mul multilist multiplex multiplication music name nan negate net noise none normalize not notch note num_compare number numbers octave once one onload onset openmusic optim or osc oscillator outlet overdrive pack pan parser partial particle pass patch path pattern percussion peter phase phasor pi piano piecewise pink pipe pitch pitchshift pitchtrack play player plot pluck pointer pol polar poly polynomial position predicate prepend preset process product program projector properties property proto protocol pulse qrcode quit radians radio ramp random range rate receive reciprocal recomposer record red regex regexp reject remove repack repeat replace resample resize resonant response reverb reverse reversed rgb rgba rhodes rhythm ring risset rle rms robin room root rotate round round~ route rtree rubberband running russian samp sample saw scale scheduler schroeder scope screen search sec select send sensor separate seq sequence sequencer serial server set shakers shift shimmer shuffle sig sign signal sin sine sinh sitar size slice slider smooth snapshot snare sort sort_with sound soundfiler soundfont space span spat speak speaker spectroscope speech speelim split splitter spread spring sqrt square stack standard starts stereo stk storage store stretch string strong stutter sub sublist substring sum sustain symbol symmetric sync synth sysex sysexin system tab tan tangent tanh tapiir tee tempo test then time timeline toggle tonality total track train transport transpose tree tremolo triangle trigger trunc tubular tuning ui union unique unpack until value variance vcf velocity velvet video view vline vocoder voice wahwah walk weight whammy white wider window wurlitzer xfade xor xtouch z zero zita

Website: https://github.com/uliss/pure-data

License: GPL3

Authors: Albert Graef, Alex Nadzharov, André Sier, Eliott Paris, Hans-Christoph Steiner, Julian Parker, Katja Vetter, Mayank Sanganeria, Mikhail Malt, Oliver Larkin, Olli Parviainen, Paul Bourke, Pierre Cochard, Pierre Guillot, Richard Dudas, Romain Michon, Serge Poltavsky, Thomas Le Meur, Till Bovermann, Viacheslav Lotsmanov, Yann Orlarey, naivesound, thedrgreenthumb