PureData CEAMMC library web documentation
The general purpose Pd library used for work and educational process in the 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
objects to analyse sounds properties
an.onset: onset detector for arrays
an.onset~: the signal onset detector
an.pitchtrack~: the signal pitch tracker
an.rms~: root mean square of the signal with moving-average algorithm
an.tempo~: the signal tempo detector
an.zero~: calculate the signal zero crossing count/rate/freq
working with arrays and tables
array.bpm: BPM calculator
array.circular: read/write to the array as circular buffer
array.circular~: read/write the signal into the array like in a circular buffer
array.convolve: FFT convolution of the array
array.copy: copy samples from the one array to another
array.do: iterate and modify the array content via the side-chain
array.each: process each array elements via side-chain
array.fill: fill the array with the single value, pattern or function
array.grainer~: array granulator
array.hist: calculate the array histogram
array.ltcplay~: array player controlled by LTC
array.mean: calculates the array arithmetic mean value
array.minmax: find minimal and max values in the array
array.play~: array player with variable speed and amplitude
array.plot: array data plotter
array.plot~: plot the signal on the specified array
array.readwrite~: simultaneous read/write signals to the array
array.resample: resampling the array
array.rms: calculates the root mean square value for the array
array.set: set the array content from the list data
array.stddev: calculates standard deviation for array values
array.stretch: the 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 index generator for the array
array.variance: calculates variance of array values
array.vplay: simple array player for using with the [vline~] object
array.window: fills the array with the window function
plot.geomspace~: generates a sequence of numbers that are evenly distributed on a logarithmic scale (geometric progression)
plot.hist~: calculates and displays the histogram of the input signal
plot.linspace~: generates a sequence of numbers that are uniformly distributed within the specified interval
plot.logspace~: outputs numbers spaced evenly on a log scale
plot.response~: produces the amplitude, phase, and frequency responses to the input signal
basic general-purpose objects for working with sound
bitmap: binary image (2D bit matrix)
ceammc.search: search in the [ceammc] library
chrono.datetime: outputs the current date and time
convolve~: real-time FFT convolution
function: the named function
function.call: calls the named function
gain~: multichannel signal gain
gate~: multichannel signal gate
logger: advanced data logger for Pd window
matrix~: signal routing matrix
merge~: merge audio signals
metro.choice: a metronome that randomly selects a period for each beat from a given set
metro.pattern: metronome with rhythmic patterns
metro.random: a metronome with a random period selection within a specified range
metro.seq: a metronome that changes its period with each beat in the specified sequence
metro.wchoice: a metronome with a random selection of period at each beat from a specified list with weighted coefficients
mix~: multichannel signal mixer
nsig~: multichannel converter from the control signals to audio
obj.props: exctract object properties from the connected object
radio: upon receiving the index, the state of individual outputs is established as a radio switch
split~: parametrized multichannel signal splitter
spring: behaves like a spring, bouncing back to its original state
sync: synchronization of multiple values without overflowing stack loops
window: returns the value of the window function
xdac~: [dac~] with channel ranges
xfade2~: multi-channel crossfade for stereo signals
xfade~: multichannel crossfade
z~: integer 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
various converters
array.p2s: converting the array phase [0..1] to the sample index
array.s2p: convert the sample index to the phase range [0..1]
conv.amp2dbfs: convert from the amplitude to a decibel full scale
conv.amp2dbfs~: convert from the amplitude to a decibel full scale
conv.bar2ms: calculates 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 into note, velocity pairs
conv.bits2pos: converts the list of bits into the list of checked bit position
conv.bpm2hz: converts BPM tempo into a frequency in hertz
conv.bpm2ms: converts the BPM tempo into a beat period in milliseconds
conv.bpm2sec: converts the BPM tempo into a period in seconds
conv.car2pol: converts cartesian coords to polar
conv.cc2amp: converts from MIDI Control Change range
conv.char2morse: converts the single character into the Morse code
conv.color2rgba: converts the named or hex color into separate RGBA values
conv.dbfs2amp: convert decibel full scale to amplitude
conv.dbfs2amp~: convert decibel full scale to amplitude
conv.degree2key: converts the scale degree into a key number
conv.edge2bang: edge detector for numeric stream
conv.guido2note: convert the Guido notation into a MIDI pitch and duration
conv.hex2int: converts hex symbol into an integer 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: converts from the one linear range into another
conv.lin2lin~: converts from the one linear range to another for signals
conv.list2props: converts list to series of property messages
conv.midi2freq: advanced MIDI pitch conversion to a frequency
conv.ms2bpm: converts period in milliseconds to BPM tempo
conv.ms2samp: convert time in milliseconds to number of samples according to current sample rate
conv.ms2samp~: convert time in milliseconds to number of samples according to current sample rate
conv.ms2str: formats time in milliseconds to symbol or string
conv.note2guido: converts MIDI note number to Guido notation
conv.phase2rad: converts phase value [0-1] to radians [0-2π]
conv.phase2rad~: convert phase value [0-1] to radians [0-2π]
conv.pitch2midi: converts SPN pitch to MIDI note number
conv.pol2car: convert from polar coordinates to cartesian
conv.rad2phase: convert radians value to phase [0-1)
conv.rad2phase~: convert radians value to phase [0-1)
conv.rgb2hex: convert separate RGB values to hex color
conv.samp2ms: converts samples to millisecond according sample rate
conv.samp2ms~: converts samples to milliseconds according to sample rate
conv.samp2sec: convert samples to seconds according to sample rate
conv.sec2bpm: converts period in seconds to frequency in BPM
conv.sec2samp: converts time in seconds to number of samples according to current sample rate
conv.sec2str: formats time in seconds to symbol or string
conv.semi2ratio: converts interval in semitones to frequency ratio in 12-ET
conv.sig2float~: converts audio signal to control numeric stream
conv.str2sec: converts the formatted time to a float value in seconds
music.dur2time: transforms the list of musical durations into a list of time periods
music.voice2midi: convert single voice music to list of MIDI pitches
working with various datatypes
color.mix: color mixer
color.scale: creation of the color scale
data.bimap: bidirectional map container
data.color: color datatype
data.copy: makes a copy for any data type: MList, Set etc…
data.dict: the dictionary container: stores key-values pairs
data.fifo: FIFO (First In First Out) - the queue data container
data.float: a multi-functional float object
data.int: a multi-functional integer object
data.list: the list container
data.mlist: the multidimensional list container
data.path: filesystem path datatype
data.set: the set: container that store only unique elements
data.set2list: converts the set to the list
dict.contains: check if the dictionary contains the key
dict.each: map each value in dictionary with the side-chain function
dict.from_list: creates dictionary from the list
dict.get: output the dictionary values by pre-defined key list
dict.keys: output the list of dictionary keys
dict.pass: passes only specified keys in the dictionary
dict.reject: rejects specified keys from the dictionary
dict.size: output the dictionary size (number of key/value pairs)
dict.to_list: converts dictionary to plain list
dict.values: output the dictionary values as MList
global.bimap: global bidirectional map
local.bimap: local the to patch bidirectional map container
mlist.flatten: converts a multi-level list into a single-level list
rtree.to_list: convert OpenMusic-like rhythm tree to list of fractions
set.contains: checks whether the predefined element is present in the input set
set.diff: difference between two sets
set.equal: checks if two sets are equal (contains same elements)
set.intersect: intersection of sets
set.size: outputs the number of elements in a set
set.symdiff: symmetric difference between two sets
set.union: union of sets
working with sound dynamic range
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
working with sound envelopes
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 that contain the equal number of segments
env.smooth~: envelope with an exponential attack and release
env.tscale: envelope timescale
env.tshift: envelope time-shift (horizontal)
env.vscale: envelope amplitude value-scale
env2array: renders the envelope into the array
env2vline: сonverts the envelope into the sequence of messages for vline object
envelope: envelope data type
vline2env: сonverts vline messages to Env
dataflow control
expand_env: substitutes environment variables in a data stream
flow.append: append message to flow stream
flow.change: rejects repeated input messages
flow.count: control flow event counter
flow.delay: enhanced version of the vanilla [delay] object
flow.demultiplex: demultiplex of the control flow
flow.demultiplex2~: audio stream stereo demultiplexer
flow.demultiplex~: audio stream demultiplexer
flow.dollar: substitude the $-values
flow.dup: duplicate messages
flow.float: pass floats
flow.gate: control flow gate. [spigot] object analog
flow.greater: numeric stream router by 'greater' condition
flow.greater_eq: numeric stream router by 'greater or equal' condition
flow.group: group input atoms in lists of specified size
flow.histogram: histogram for numeric control flow
flow.interval: measure the time between messages
flow.less: numeric stream router by 'less' condition
flow.less_eq: numeric stream router by 'less or equal' condition
flow.list2many: routes the list element with the corresponding message
flow.match: routes the control flow by the regular expression match
flow.mem: store into the memory or output the control flow messages
flow.multiplex: control flow multiplexer
flow.multiplex2~: audio stream stereo multiplexer
flow.multiplex~: audio stream multiplexer
flow.once: pass the only message
flow.pack: packs atoms from multiple stream into the single one
flow.pass: pass specified values
flow.pass_if: passes the message, accepted by the predicate side-chain
flow.pipe: enhanced version on the vanilla [pipe] object
flow.prepend: inject the message before the current one
flow.queue: multichannel message queue with sync capabilities
flow.record: control flow record/play
flow.reject: reject specified values
flow.reject_if: reject the message, accepted by the predicate side-chain
flow.ring: queue router for control flow
flow.route: enhanced message router
flow.select: enhanced message selector
flow.seqdelay: sequential delay/router for the input stream
flow.space: spaces in time messages received at the same logical time
flow.speedlim: control stream speed limiter
flow.split: splits control flow by external side-chain predicate
flow.stack: message stack
flow.sync: sync multichannel bus
flow.sync_pack: [flow.pack] with all "hot" inlets
flow.tee~: extracts control messages from audio connections
replace: replace atoms in data stream
route.any: separate messages from bangs, floats, symbols and lists
route.bang: separates the bang messages from others
route.cycle: cyclic message router
route.data: separates data messages from others
route.float: separates float messages from others
route.list: separates list messages from other types
route.prop: separates property messages from other types
route.random: routes the input message into the random outlet
route.symbol: separates symbol messages from other types
filters
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 coefficients calculator for [flt.biquad~] object
flt.c_bpf~: BPF coefficients calculator for [flt.biquad~]
flt.c_highshelf~: highshelf filter coefficient calculator for [flt.biquad~]
flt.c_hpf: HPF coefficients calculator for [flt.biquad~]
flt.c_hpf~: HPF coefficients calculator for [flt.biquad~]
flt.c_lowshelf~: lowshelf filter coefficients calculator for [flt.biquad~]
flt.c_lpf: LPF coefficients calculator for [flt.biquad~]
flt.c_lpf~: LPF coefficients calculator for [flt.biquad~]
flt.c_notch: band-reject filter coefficients calculator for [flt.biquad~]
flt.c_notch~: band-reject filter coefficients calculator for [flt.biquad~]
flt.c_peak~: peaking filter calculator for [flt.biquad~]
flt.c_pole: оne-pole coefficient calculator for [flt.biquad~]
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
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
various sound effects
fx.bitdown~: a 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~: a stereo version of [fx.freeverb~]
fx.freeverb~: commonly used open-source reverb
fx.freqshift~: frequency shifter or the single-sideband ring modulation
fx.granulator~: 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~: a single 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~: pitchshift from the rubberband library
fx.recho~: reversed echo effect
fx.ringmod~: ring modulator effect
fx.room~: Gardners room emulation algorithm
fx.satrev~: Schroeder reverberator from 1971
fx.scramble~: scramble delayed sound fragments
fx.shimmer~: shimmer reverb effect
fx.stutter~: stutter effect
fx.tapiir~: multi-tap delay
fx.tremolo~: tremolo effect from Guitarix project
fx.vocoder~: 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 named objects accessible from everywhere in PureData
global.dict: global named dictionary
global.float: global named float object
global.int: global named integer object
global.list: global named list
global.mlist: global named multilevel list (MList)
global.set: global named set
working with various hardware
hw.apple_smc: query Apple system management control
hw.apple_sms: query the sudden motion sensor in Apples
hw.arduino: Arduino device
hw.display: get/set display properties
hw.gamepad: gamepad controller
hw.kbd_light: controlling the keyboard backlight on some devices
hw.motu.avb: controls Motu AVB devices over HTTP requests
hw.printer: basic document printing support
hw.rpi.adc.ads1115: driver for 16-bit ADC on ads1115 chip for Raspberry Pi
hw.rpi.display.hd44780: LCD display driver for Raspberry Pi (1602 or 2004 module)
hw.rpi.display.ssd1306: driver for OLED display on ssd1306 chip for Raspberry Pi
hw.rpi.gpio: GPIO control for Raspberry Pi
hw.rpi.i2c.pca9685: driver for 16-channel 12-bit PWM module on PCA9685 chip for Raspberry Pi
hw.rpi.pwm: hardware PWM output for Raspberry Pi
hw.rpi.rotenc: rotary encoder for Raspberry Pi
hw.rpi.sensor.dht11: digital humidity and temperature sensor (DHT11) for Raspberry Pi
hw.rpi.sensor.ir: IR (infrared) sensors and protocols for Raspberry Pi
hw.rpi.sensor.mpu6050: MPU-6050 gyroscope and accelerometer for Raspberry Pi
hw.rpi.sensor.sr04: HC-SR04 ultrasonic ranging module for Raspberry Pi
hw.rpi.sensor.vl53l0x: time-of-flight (ToF) laser-ranging sensor on VL53L0X chip for Raspberry Pi
hw.rpi.spi.max7219: LED matrix driver based on max7219 chip for Raspberry Pi
hw.rpi.spi.ws2812: ws2812 LED strip driver for Raspberry Pi
hw.serial: serial port device
lang.faust~: real-time compilation of Faust DSP Language code
lang.lua: Lua JIT language bindings
ui.faust~: Faust DSP programming language widget
low frequency oscillators
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
list processing
list.^at: outputs elements from a predefined list based on an input list of indices
list.^contains: checks whether the predefined list contains the input element
list.^search: outputs the indices of the found input elements in a predefined list
list.all_of: checks whether all elements of the list have been accepted by the predicate of the side chain processing
list.any_of: checks whether at least one list element has been accepted by the processing sidechain
list.append: append elements to the end of a list
list.apply_to: modifies specified list elements via a side-chain
list.at: outputs the previously specified elements of the input list
list.choice: outputs random element from list
list.contains: checks if the input list contains specified elements
list.convolve: convolution for lists
list.correlate: lists 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 an side-chain predicate
list.delta: outputs and saves the list of differences between the current and the previously saved list
list.distribution: output list value distribution
list.do: iterate and modify the list contents via a side-chain
list.each: maps an each list value via an external side-chain
list.enumerate: enumerates list elements
list.equal: list equal check
list.first: output the first list element
list.gen: generates a list of the specified length via a side-chain generator
list.histogram: outputs a list distribution histogram
list.insert: insert elements into the specified list position
list.integrator: outputs and stores the list of sums between the previously stored list and the current one
list.last: output the last list element
list.length: output the number of elements in the list
list.map: map list values by specified dictionary
list.max: output the largest list element
list.mean: calculates the average value in a list
list.min: returns a smallest list element
list.none_of: checks if none of list elements is accepted by the predicate side-chain
list.normalize: normalizes numeric list values to get their sum equal to 1.0
list.pass: leave in list only specified elements
list.pass_if: leave only elements accepted by side-chain predicate
list.prepend: insert elements into a list begining
list.product: calculates the product of all numbers in a list
list.range: outputs list smallest and largest elements
list.reduce: transforms the list into a single value through side-chain processing
list.reject: remove specified elements from the list
list.remove: remove list elements at specified positions
list.remove_if: remove list elements by the side-chain predicate
list.repack: repack the list into a sequence of lists of the specified size
list.repeat: creates a list based on the repetitions of the original list
list.resample: resamples the values in the list with the specified length ratio
list.resize: changes the list size
list.reverse: reverses the order of the elements in the list
list.rldecode: run-length decoding lists
list.rlencode: run-length encoding for lists
list.rotate: a cyclic list rotation by an integer number of steps
list.route: routes the list by the first element, like [route] object
list.rundiff: сomputes the difference between the adjacent elements of the input list
list.runsum: outputs the list of positional sums which is updated upon each incoming list
list.search: outputs the positions of pre-defined elements in the input list
list.separate: outputs each list item in turn as a separate message
list.seq: generates a sequence of numbers in the form of a list
list.set: sets the value of the list item at the specified position
list.shift: cyclic shift of a list by a real number with a linear Interpolation
list.shuffle: rearranges the elements of the list in a random order
list.slice: outputs a sublist
list.sort: sorts the list in ascending orderr
list.sort_with: sorts the list using a side processing chain
list.split: divides the list into two parts at the specified index position
list.stretch: changes the length of the list by adjusting its values using linear interpolation
list.sum: calculates the sum of the elements in the list
list.unique: removes duplicates from the list
list.unpack: unpacks list elements into corresponding object outlets
list.unzip: unpacks the input list into N lists of interleaved elements
list.walk: various algorithms for traversing elements in a list
list.zip: creates an interleaved list of items from N input lists
live.capture~: record up to 32 seconds of sound and playback the recorded sound in loop
local named objects accessible only from current canvas
local.dict: local named dict object
local.float: canvas-scoped named float variable
local.int: canvas-scoped named integer variable
local.list: a local named list object
local.mlist: local named Mlist object
local.set: local named set object
math objects that can operate with number lists
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: checks if the input value is approximately equal to the 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 the smallest integral value not less than input value
math.ceil~: round to the 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
math.e: mathematical constant, base of the natural logarithm
math.erf: error function
math.erf~: error function for signals
math.exp: base-e exponential function
math.exp2: base-2 exponential function
math.exp2~: base-2 exponential for signal
math.expr: dynamic version of [expr] object
math.exp~: base-e exponential function for signals
math.floor: round to the largest integral value not greater than input value
math.floor~: round to the largest integral value not greater than input value
math.gamma: gamma function
math.gamma~: gamma function for signals
math.gcd: calculate the greatest common divisor
math.inf: output infinity value in the IEEE 754 standard
math.inf~: output infinity value in the IEEE 754 standard
math.lcm: calculates the 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: base-10 logarithm
math.log10~: base-10 logarithm
math.log2: base-2 logarithm
math.log2~: base-2 logarithm for signals
math.log~: natural logarithm for signals
math.mul: multiplication
math.nan: Not a Number, unrepresentable value
math.nan~: NaN signal
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 than numbers compare
math.sync_le: sync less equal numbers compare
math.sync_lshift: sync signed bit left shift
math.sync_lt: sync less than 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
working with MIDI protocol
midi.arp: MIDI arpeggiator
midi.cc: enhanced version of vanilla [ctlin]
midi.clock: MIDI-clock
midi.ctl2str: converts Standard MIDI Controllers number to name
midi.event2ctl: converts the MidiEvent message into the controller channel/value pair
midi.event2note: converts the MidiEvent message into the midi note/velocity pair
midi.event2prg: converts the MidiEvent message into the program change
midi.file: the standard midi file (SMF) reader and writer
midi.kbd: computer keyboard MIDI emulator
midi.key2str: converts the MIDI-key into the SPN name format
midi.modus: snap or skip MIDI-pitches according the specified modus
midi.note.pass: passes MIDI notes according to the calculated expression
midi.oct: MIDI octave transposition
midi.prg2str: converts the GM Instrument number into the name
midi.split: MIDI note range splitter
midi.sustain: sustain pedal emulation
midi.sysex: output sysex input messages as a list
midi.track: extracts the track from MidiFile message
midi.tuning: apply the tuning for notes flow
midi.vramp: apply crescendo or diminuendo for notes flow
midi.vrand: midi velocity randomizer
click~: outputs a single impulse on a bang input
fluid~: FluidSynth SoundFont 2 player
modplug~: MOD file player
qrcode: QR code generator
risset.gliss: Sheppard/Risset glissando calculator
sfizz~: SFZ format sample player
speech.flite: render speech to array
speech.flite~: Flite text to speech synthesis
speech.rhvoice~: RHVoice text to speech synthesis
loadexpr: sends the message when the patch loads
msg: message constructor
msg.after: sends the specified message following the forwarded incoming message
msg.onclose: send a message when closing a patch
msg.onload: send the specified message upon patch loading
msg.pack: message pack
msg.sched: message dispatch scheduler
msg.unpack: message unpack to selector and arguments
rhythm.euclid: euclid pattern generator
rhythm.hexbeat: hexbeat pattern generator
rhythm.lsystem: L-system pattern generator
objects for network
net.artnet.send: ArtNet DMX message sender
net.freesound: Freesound API v2 client
net.host2ip: outputs IP address by DNS name
net.http.client: HTTP client
net.http.send: HTTP request sender
net.mdns: MDNS service discovery
net.mqtt.client: MQTT client
net.osc.receive: receiving messages from the OSC protocol
net.osc.send: sending messages via the OSC protocol
net.osc.server: OSC server control
net.ws.client: WebSocket client
net.ws.server: WebSocket server
noise generators
noise.baker: Baker map chaos generator
noise.chua~: Chua's diode circuit
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: chaotic generator based on a Duffing oscillator
noise.ginger: Gingerbreadman map chaotic generator
noise.henon: Henon map chaos attractor
noise.henon_heilles: Hénon–Heiles_system
noise.henon_phase: henon phase diagrams
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 attractor
noise.lyapunov: lyapunov random attractor
noise.navier_stokes: Navier-Stokes differential 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
oscillators
osc.blit~: bandlimited oscillator with controllable harmonics
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 oscillator with feedback
osc.sin~: sine wave oscillator
osc.square~: bandlimited square wave oscillator
osc.tri~: bandlimited triangle wave oscillator
working with patches
canvas.active: checks if the canvas of the object is on the top and active
canvas.current: get the information about the current canvas of the object
canvas.dir: outputs the current canvas directory of the object and nesting level
canvas.name: output the current canvas name of the object
canvas.path: output the current canvas filesystem fullpath of the object
canvas.top: verbose information about top-level canvas of the object
patch.args: get patch or subpatch initial arguments
patch.deps: output the patch dependencies: used objects and abstractions
patch.tree: output the object tree of the patch
working with filesystem paths
file.size: outputs the file size
path.basename: outputs the filename portion of the pathname
path.dirname: outputs directory portion of pathname
path.exists: checks if the given path exists
path.file: file input/output
path.is_dir: checks if the path is a 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: split path into dirname and basename
predicate objects. Checks message or data types, returns 1 or 0.
is_any: checks if the input has a general message type
is_bang: checks if the input is a bang
is_data: checks if the input is a data type
is_dict: checks if the input message is a dictionary
is_even: even number check
is_file: checks if the file exists and accessible
is_float: checks if the input message is a float
is_list: checks if the input message is a list
is_odd: input number oddity check
is_pointer: checks if input message is a pointer
is_prop: checks if the input message is a property message
is_symbol: checks if input message is a symbol
working with presets
preset.float: load or store the float into a preset
preset.list: loads or store the list into a preset
preset.storage: preset storage controller
preset.symbol: load or store the symbol into a preset
working with object or patch properties
patch.props: get or set the patch properties
prop: get/set the named property value for subpatch or abstraction
prop.declare: declare the named property for a subpatch or an abstraction
prop.get: get the property value from connected object, subpatch or abstraction
prop.join: inject properties into the main data flow
prop.random: property value randomizer
prop.route: separates properties from the dataflow
prop.route~: property extractor from audio connections
prop.set: set the property value for connected object, subpatch or abstraction
working with various data protocols and data formats
proto.arturia.minilab: simple SysEx control for Arturia MiniLab
proto.feelworld: controlling the FeelWorld LivePro L1 HDMI mixer
proto.firmata: Firmata Arduino protocol support
proto.inscore: creation of messages for the INScore program
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.obs: WebSocket client to control OBS studio
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 number generation
random.atom: weighed choosing of the random atom from the specified list
random.discrete: generate random weighted integers on the interval [0, n)
random.float: uniform random generator of floats in the specified range
random.gauss: gaussian random distribution
random.int: uniform random integer generator in the 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
sequencers: traversing the data in a various ways
seq.arp: chord arpeggiator
seq.bangs: bang event sequencer
seq.counter: cyclic counter
seq.life: Conway game of life sequencer
seq.matrix: sequencer control for [ui.matrix] object
seq.nbangs: outputs the specified number of bangs with a time intervals
seq.phasor: control rate phasor generator
seq.toggles: toggle sequencer
sequencer: basic sequence player
snd.file: sound file loader with additional features
snd.play~: sound file player with additional capabilities
working with sound spatialisation
hoa.2d.decoder~: 2D decoder of higher order ambisonics
hoa.2d.encoder~: 2D decoder of higher order ambisonics
hoa.2d.exchanger~: renumbers and normalizes the channels in 2d ambisonics
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: 2D planewaves amplitude control
hoa.2d.wider~: a 2D fractional ambisonic order simulator
hoa.3d.decoder~: 3D decoder of higher order ambisonics
hoa.3d.encoder~: 3D encoder of higher order ambisonics
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: properties manager for [hoa.process~] object
hoa.in: message inlet for a patcher loaded by [hoa.process~] object
hoa.in~: signal inlet for a patcher loaded by [hoa.process~] object
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 the 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
working with String datatype
string: constructs the string
string.contains: checks if the string contains specified substring
string.ends_with: checks if the string ends with the specified substring
string.equal: check strings or symbols for equality
string.format: formats a string like printf function
string.join: joins the list into a string with the element separator
string.length: number of characters in the string (with Unicode support)
string.match: checks if the string matches to the regular expression
string.remove: removes a substring from the input string
string.replace: replace from one substring to another in the input string
string.split: splits the string or symbol into the list by the separator
string.starts_with: checks if the string starts with the specified substring
string.substr: extract a substring from the input string
string2symbol: converts the string into the symbol
working with symbols
symbol.equal: check symbols for equality
symbol.length: outputs the number of characters in a symbol (unicode supported)
symbol.num_compare: numeric symbol compare
symbol2any: converts symbol or string into a message
symbol2intlist: converts the symbol into a list of character codes
sound synthesis
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~: dx7 implementation from Faust libraries
synth.eguitar~: simple electric guitar model with steel strings
synth.english_bell~: english church bell modal model
synth.fgrain~: file granulator from STK libraries
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 libraries
synth.kick2~: low-kick synth from Faust libraries
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~: standart 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.command: run commands with pipes on Unix and Windows
system.cursor: outputs the cursor motion, mousewheel and button clicks
system.exec: run the external command in a separate process
system.exit: quit PureData
system.getenv: output system environment variables
system.hostname: outputs system hostname
system.info: retrieve system information: CPU and temperature
system.memsize: returns the size of physical memory (RAM) in bytes
system.memused: outputs the process physical memory usage - current and peak
system.screen_size: outputs the current screen size in pixels
working with timeline
tl.bang: outputs a timeline bang
tl.cue: defines the timeline section
tl.timeline: timeline event scheduler
tl.toggle: timeline toggle
tl.transport: timeline transport control
graphical user interface objects
ui.aview: array view with cursor and range selection
ui.bang: a button that sends an empty event (bang)
ui.button: on/off button widget
ui.canvas: canvas for drawing
ui.cmeter~: multichannel circular signal meter
ui.colorpanel: colorchooser widget
ui.display: display widget
ui.dsp~: widget to switch DSP on or off
ui.env: envelope editor
ui.filter: filter widget for calculating [flt.biquad~] coefficients
ui.filter~: sound filter widget
ui.gain2~: stereo gain control
ui.gain~: gain control
ui.icon: simple icon with button capabilities
ui.incdec: value increment or decrement widget
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: toggle matrix
ui.menu: dropdown menu
ui.meter~: 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: number box
ui.number~: number viewport for signals
ui.plot~: signal plotter
ui.polar: 2D slider in polar coordinates
ui.preset: preset manager
ui.radio: radio toggle with multiselect option
ui.rslider: two range slider
ui.scope~: waveform signal scope widget
ui.slider: slider widget
ui.slider2d: 2D slider widget
ui.sliders: multiple slider widget
ui.spectroscope~: spectroscope widget
ui.tab: displays a list of text buttons or text toggles
ui.toggle: modern toggle widget
Keywords: 1602 2004 2d 3d A abs accelerometer accept acos acosh adc add ads1115 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 avahi avb back band-limited bandpass bang bangs base behringer bell bidirectional binomial biquad birds bitmap bits blue bode bonjour 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 client clip clock close color colored colorpanel comb command compare complex compressor concat const container contains control controller conv convert convolution convolve conway copy correlation cos cosh cosine count counter cpu 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 dht11 dict dictionary difference diminuendo dir directory discovery 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 freesound french freq freqshift frequence function functional fx gain game gamepad gamma gate gauss gcd generate generator geom german get gingerbreadman glass glissando glitch global gpio grain granular granulator graphic greater group guido guitar gyro hammond harmonica harpsichord hawdware hex hexbeat highpass highshelf histogram hoa hostname hot hpf hsl http humidity hyperbolic i2c icon impulse imu increment index inf infinity info infrared inlet inscore insert int integrator intersection interval ip IR ir iterate jit join jong karplus key keyboard keys kick knob lab label laser last lcd lcm leave led 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 max7219 mdns 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 mpu6050 mpv mqtt ms msg mul multilist multiplex multiplication music name nan negate neopixel net noise none normalize not notation notch note num_compare number numbers obs 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 pwm qrcode quit radians radio ramp random range raspberry 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 rotary rotate round round~ route rpi rtree rubberband running russian samp sample saw scale scheduler schroeder scope screen search sec select send sensor separate seq sequence sequencer serial server service servo set shakers shell 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 spi split splitter spn spread spring sqrt square ssd1306 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 temperature tempo test than time timeline tof toggle tonality total track train transport transpose tree tremolo triangle trigger trunc tubular tuning ui ultrasonic union unique unpack until value variance vcf velocity velvet video view vline vocoder voice wahwah walk websocket weight whammy white wider window ws2812 wurlitzer xfade xor xtouch z zero zeroconf 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, Luca Hilbrich, Lukas Hartmann, 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