PureData CEAMMC web documentation

PureData CEAMMC library web documentation

View on GitHub

Distribution download

Home

ceammc

Version 0.9.8

The general purpose Pd library used for work and educational process in the Centre of ElectroAcoustic Music of Moscow Conservatory (CEAM).

categories

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

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

array

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

base

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


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

conv

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

data

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

dyn

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

env

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

flow

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

flt

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

fx

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

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

hw

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


lang.faust~: real-time compilation of Faust DSP Language code

lang.lua: Lua JIT language bindings

ui.faust~: Faust DSP programming language widget

lfo

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

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


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

local

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

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

midi

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

misc


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

msg


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

music


rhythm.euclid: euclid pattern generator

rhythm.hexbeat: hexbeat pattern generator

rhythm.lsystem: L-system pattern generator

net

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

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

osc

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

patch

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

path

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

predicates

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

preset

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

property

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

proto

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

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


samp.time~: sample counter

seq

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


snd.file: sound file loader with additional features

snd.play~: sound file player with additional capabilities

spat

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

string

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

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

synth

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


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

tl

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

ui

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