cyclone
Cyclone is a library for Pure Data (Pd) that provides objects mimicking those in Max/MSP. It started as a Max 4.0 clone and has evolved, with updates closer to Max 7. Cyclone is mainly maintained for bug fixes and backward compatibility, with some objects replaced or supplemented by the ELSE library in PlugData. It allows building Max-like patches in Pd, but some newer Max features are not included.
Contributors
People who contribute to this project.
Objects
- accum The
accumobject maintains an internal numerical value, which can be initialized or set at any time. - acos The
acosobject calculates the arc-cosine (inverse cosine) of a given number. - acosh The
acoshobject calculates the hyperbolic arc-cosine of a given floating-point number. - acosh~ The
acosh~object calculates the hyperbolic arc-cosine of an incoming signal, sample by sample. - acos~ The
acos~object calculates the arc-cosine of an incoming signal, sample by sample. - active The
activeobject outputs1when its parent patch canvas is the active, front-most window, and0when it is inactive. - allpass~ The
allpass~object implements an all-pass filter, which passes all frequencies without altering their gain but changes their phase. - anal The
analobject calculates and stores transition probabilities between sequences of numbers, primarily for implementing Markov Chains. - append The
appendobject concatenates a predefined message, set as an argument, to the end of any incoming message, outputting the combined result. - asin The
asinobject calculates the arc-sine of a given float input. - asinh The
asinhobject calculates the hyperbolic arc-sine of a given floating-point number. - asinh~ The
asinh~object computes the hyperbolic arc-sine of an incoming audio signal, sample by sample. - asin~ The
asin~object calculates the arc-sine of each input audio sample. - atan2~ The
atan2~object calculates the arc-tangent of two signal-rate input values, 'a' and 'b', asatan(a/b). - atanh The
atanhobject calculates the hyperbolic arc-tangent of a given float input. - atanh~ The
atanh~object calculates the hyperbolic arc-tangent of an incoming signal. - atan~ The
atan~object calculates the arc-tangent of each incoming audio sample. - atodb The
atodbobject converts linear amplitude values to their decibel full scale (dBFS) equivalents. - atodb~ The
atodb~object converts a linear amplitude signal to its equivalent in decibels full scale (dBFS). - average~
average~calculates a moving average of an audio signal over a specified number of recent samples. - avg~ The
avg~object calculates the absolute average of an input signal. - bangbang The
bangbangobject emits multiple bang messages from its outlets in right-to-left order whenever it receives any input. - bitand~ The
bitand~object performs a bitwise AND operation on two input signals or a signal and a given bitmask. - bitnot~
bitnot~performs a bitwise NOT operation (one's complement) on an incoming signal. - bitor~ The
bitor~object performs a bitwise OR operation on two 32-bit values, either two audio signals or an audio signal and a bitmask. - bitsafe~ The
bitsafe~object replaces NaN (Not a Number) and infinity values in an incoming signal with zero. - bitshift~ The
bitshift~object performs bitwise left or right shifts on an incoming audio signal. - bitxor~ The
bitxor~object performs a bitwise exclusive OR (XOR) operation on two audio signals, or between an audio signal and a 32-bit integer bitmask. - bondo The
bondoobject synchronizes and routes messages in Pure Data. - borax The
boraxobject processes incoming MIDI note and velocity data, providing detailed reports on individual note events. - bucket The
bucketobject acts as a data shifter, passing incoming float values sequentially from one outlet to the next in a rotational pattern. - buddy The
buddyobject synchronizes incoming messages across its inlets, outputting them only when all inlets have received a message. - buffer~ The
buffer~object stores and manipulates audio data in memory as a multichannel array, similar to Pd'stablebut with advanced file I/O. - buffir~ The
buffir~object is a table/buffer-based Finite Impulse Response (FIR) filter that convolves an input signal with samples from a specified buffer. - capture The
captureobject stores a sequential list of incoming floats and symbols, acting as a data buffer. - capture~ The
capture~object is a debugging and investigation tool that captures incoming audio signals (signal) and stores their samples. - cartopol The
cartopol~object converts Cartesian coordinates (real and imaginary parts) from signal inputs into polar coordinates (amplitude and phase) as signal outputs. - cartopol~ The
cartopol~object converts a signal from Cartesian coordinates (real and imaginary parts) to polar coordinates (amplitude and phase). - change~ The
change~object detects changes in an incoming audio signal and outputs its direction. - click~ The
click~object is an audio impulse generator that outputs a single-sample impulse when triggered by abangmessage. - clip The
clipobject (orcyclone/clip~) constrains incoming float or list values to a specified numerical range. - clip~ The
cyclone/clip~object constrains an input audio signal to a specified minimum and maximum range. - coll The
collobject stores and manages collections of messages at integer or symbol addresses. - comb~ The
comb~object implements a comb filter, which can be used for both filtering and delay effects on audio signals. - comment The
commentobject is a GUI element in Pure Data used for displaying customizable text labels or notes within a patch. - cosh The
coshobject calculates the hyperbolic cosine of a given floating-point number. - cosh~ The
cosh~object calculates the hyperbolic cosine of an input signal sample by sample. - cosx~ The
cosx~object computes the cosine of an input signal, expecting values in radians. - counter The
counterobject increments or decrements an integer value within a specified minimum and maximum range. - count~ The
count~object outputs a signal that increments by one for each audio sample, functioning as a sample-accurate counter. - cross~
cross~is a 3rd order Butterworth crossover filter designed to split an incoming audio signal into lowpass and highpass components. - curve~
curve~generates non-linear, curved ramp signals, offering an exponential curve factor to shape the transition between values. - cycle The
cycleobject distributes incoming messages to its outlets in a round-robin fashion. - cycle~ The
cycle~object is a linear interpolating oscillator that generates a periodic waveform. - cyclone The
cycloneobject acts as an interface to the Cyclone library, a collection of common Pure Data objects, often with Max/MSP-compatible alphanumeric aliases. - dbtoa The
dbtoaobject converts decibel (dBFS) values into their corresponding linear amplitude using the formulaamp = pow(10, dBFS / 20). - dbtoa~ The
dbtoa~object converts a decibel full scale (dBFS) amplitude signal or float into its linear amplitude equivalent. - decide The
decideobject randomly outputs either 0 or 1, acting as a simple random boolean generator. - decode The
decodeobject takes an integer input and activates the corresponding output (0-indexed) by sending a1, while all other outputs receive0. - degrade~ The
degrade~object reduces the quality of an incoming audio signal by manipulating its sampling rate and bit depth. - delay~ The
delay~object delays an audio signal by a specified number of samples, with the delay time dependent on the sample rate. - deltaclip~ The
deltaclip~object limits the rate of change between consecutive samples in an incoming signal, a process also known as 'slew limiting'. - delta~ The
delta~object calculates the difference between the current incoming audio sample and the previous sample. - downsamp~ The
downsamp~object samples and holds an input signal at a specified rate, expressed in samples, without interpolation. - drunk The
drunkobject generates a "drunk walk" sequence of random numbers. - edge~ The
edge~object detects transitions in an audio signal. - equals~ The
equals~(or==~) object performs a signal comparison, outputting a signal of 1 when its left inlet signal is equal to its right inlet signal or argument, and 0 otherwise. - flush The
flushobject acts as a "panic button" for MIDI notes. - forward The
forwardobject in Pure Data is designed to send messages to various destinations, allowing the target to change dynamically with each message. - frameaccum~ The
frameaccum~object accumulates the values of incoming signal blocks sample by sample, producing a running sum for each sample position across blocks. - framedelta~ The
framedelta~object computes the difference between successive signal blocks, specifically designed for running phase deviation in FFT analysis. - fromsymbol The
fromsymbolobject converts a Pure Data symbol message into other message types, such as bangs, floats, or lists. - funbuff The
funbuffobject stores and manages ordered pairs of x/y integers, functioning as a lookup table or a simple function buffer. - funnel The
funnelobject collects data from multiple inlets and outputs it through a single outlet, prepending an inlet number to each message. - gate The
gateobject routes messages from its second inlet to one of its 'n' specified outlets, or to no outlet if set to 0. - gate~ The
gate~object routes an input signal from its second inlet to one of its 'n' specified outlets, or to none of them. - grab The
grabobject sends a message to another object and intercepts its output, routing it throughgrab's own outlets. - greaterthaneq~ The
greaterthaneq~(or>=~) object performs a "greater than or equal to" comparison for audio signals. - greaterthan~ The
greaterthan~(or>~) object performs a sample-by-sample comparison between two signal inputs. - histo The
histoobject records the frequency of received positive integers, creating a histogram. - index~ The
index~object reads values from an array without interpolation, similar totabread~but with rounded index values. - iter The
iterobject splits an incoming message (a list of floats or symbols) into its individual elements. - join The
joinobject combines messages of any type from its multiple inlets into a single output list. - kink~ The
kink~object distorts aphasor~signal by applying a non-linear bend or "kink" to its phase. - lessthaneq~ The
lessthaneq~(or<=~) object performs a "less than or equal to" comparison on incoming audio signals. - lessthan~ The
lessthan~(or<~) object performs a "less than" comparison for audio signals. - linedrive The
linedriveobject scales numbers from one range to another using an exponential curve, similar tocyclone/scale. - line~ The
line~object generates linear signal ramps or envelopes. - listfunnel The
listfunnelobject receives any list and outputs its elements sequentially, each preceded by its index. - loadmess The
loadmessobject automatically outputs a predefined message when its containing Pure Data patch is loaded or opened. - lookup~ The
lookup~object performs waveshaping distortion by mapping input signal values (from -1 to 1) to indices of an array or table, which acts as a transfer function. - lores~ The
lores~object implements an inexpensive resonant lowpass filter, designed to shape audio signals by attenuating frequencies above a specified cutoff. - match The
matchobject outputs data when its input matches its arguments. - matrix~ The
matrix~object functions as a signal routing and mixing matrix, enabling dynamic redirection of audio signals from multiple inlets to various outlets. - maximum The
maximumobject outputs the greatest value among two or more numbers. - maximum~ The
maximum~object outputs a signal representing the greater of two input signals, or the greater of an input signal and a numerical argument. - mean The
meanobject calculates a running or moving average of all received numbers. - midiflush The
midiflushobject acts as a "panic button" for raw MIDI data streams, preventing hanging notes. - midiformat The
midiformatobject receives various MIDI messages (note on/off, polyphonic aftertouch, control change, program change, channel aftertouch, pitch bend) through its inlets and formats them into a raw MIDI message output. - midiparse The
midiparseobject receives a raw MIDI data stream and parses it into various MIDI messages, such as note messages, control changes, program changes, and pitch bend. - minimum The
minimumobject outputs the smallest value from its inputs. - minimum~ The
minimum~object outputs the smaller of two input signals, or the smaller of an input signal and a numerical argument. - minmax~ The
minmax~object continuously tracks the minimum and maximum amplitude values of an incoming audio signal. - modulo~ The
modulo~(or%%~) object is a signal remainder operator. - mousefilter The
mousefilterobject controls the flow of messages based on mouse button activity. - mousestate The
mousestateobject reports real-time mouse data, including click status, cursor position (x, y), and movement deltas. - mstosamps~ The
mstosamps~object converts a time value in milliseconds into the corresponding number of audio samples, taking the current sample rate into account. - mtr The
mtrobject records and plays back sequences of messages across multiple tracks. - next The
nextobject in Pure Data determines if an incoming message belongs to the same "logical event" as the preceding message. - notequals~ The
notequals~(or!=~) object performs a "not equal to" comparison between its left signal input and either its right signal input or a creation argument. - number~ The
number~object in Pure Data serves as a dual-purpose GUI element, either monitoring an incoming audio signal's value or generating a ramped signal. - offer The
offerobject stores temporaryx/yinteger pairs. - onebang The
onebangobject gates incoming bangs, allowing the first bang through its left outlet only after a bang has been received in its right inlet. - onepole~
onepole~is a highly efficient one-pole IIR low-pass filter that provides 6dB per octave attenuation. - overdrive~ The
overdrive~object simulates analog tube-based soft clipping, applying a non-linear transfer function to an incoming audio signal to create distortion. - pak The
pakobject combines multiple inputs of various types (float, int, symbol) into a single list. - past The
pastobject compares an incoming list of numbers against a list of thresholds. - peak The
peakobject tracks and outputs the highest float value it has received. - peakamp~ The
peakamp~object reports the absolute peak amplitude of an audio signal since its last output. - peek~ The
peek~object provides functionality to read and write individual values to and from arrays in Pure Data. - phaseshift~ The
phaseshift~object is a 2nd order allpass filter that alters the phase of an audio signal without changing its gain. - phasewrap~ The
phasewrap~object wraps an input signal's value between -π and π. - pink~ The
pink~object generates pink noise, characterized by constant power per octave and a -3dB/octave decrease in spectral power. - play~ The
play~object provides flexible audio playback from arrays, supporting variable speed (including backwards), looping with optional crossfading, and multi-channel output up to 64 channels. - plusequals~ The
plusequals~(or+=~) object is a signal accumulator that continuously sums its input samples, generating a running total. - poke~
poke~writes audio signals or control messages into a specified array at a given index, which can also be controlled by a signal. - poltocar The
poltocarobject converts polar coordinates (amplitude and phase in radians) into cartesian coordinates (real and imaginary parts). - poltocar~ The
poltocar~object converts signal values from polar coordinates (amplitude and phase) to Cartesian coordinates (real and imaginary parts). - pong The
pongobject limits input values by folding, wrapping, or clipping them within a specified low-high range. - pong~ The
pong~object functions as a signal range limiter, enabling users to fold, wrap, or clip an input signal within a defined low-high range. - pow~ The
cyclone/pow~object calculates the power of a base value, raising it to the exponent. - prepend The
prependobject adds a specified message or argument to the beginning of any incoming message. - prob The
probobject generates a weighted series of random numbers based on a first-order Markov chain. - pv The
pvobject functions as a private variable, storing and retrieving any message type by name within a patch and its subpatches. - rampsmooth~ The
rampsmooth~object linearly smooths an incoming audio signal over a specified number of samples. - rand~ The
rand~object generates an interpolated random noise signal, producing values between -1 and 1 at a specified frequency. - rdiv
rdivperforms division, similar to the[/]object, but with reversed inlet functionality. - rdiv~ The
rdiv~object performs signal division, similar to/~, but with its inlets reversed. - record~ The
record~object captures incoming audio signals and stores them into one or more Pure Data arrays. - reson~
reson~is a bandpass resonant filter that processes audio signals. - rminus The
rminus(or!-) object performs subtraction with its inlets reversed compared to the standard[-]object. - rminus~ The
rminus~(or!-~) object performs signal subtraction, similar to~, but with its inlets reversed. - round The
roundobject approximates input numbers (floats or lists) to the nearest integer multiple of a specified value. - round~ The
round~object quantizes incoming audio signals to an integer multiple of a specified value. - sah~ The
sah~object samples an input signal when a trigger signal crosses a specified threshold, then holds that sampled value until the trigger crosses the threshold again. - sampstoms~ The
sampstoms~object converts a time value from samples to milliseconds, taking the current sample rate into account. - scale The
scaleobject maps an input numerical range to an output numerical range, allowing for inversion and exponential scaling. - scale~
scale~maps an input signal range to an output signal range, allowing for linear, inverted, or exponential scaling. - scope~ The
scope~object visualizes audio signals in the style of an oscilloscope. - selector~
selector~is an audio object that selects one of its multiple signal inputs to be passed to its output. - seq The
seqobject plays and records raw MIDI data streams, functioning as a MIDI sequencer. - sinh The
sinhobject calculates the hyperbolic sine of a given floating-point number. - sinh~ The
sinh~object calculates the hyperbolic sine of an incoming signal, sample by sample. - sinx~ The
sinx~object calculates the sine of an incoming signal. - slide~ The
slide~object logarithmically smooths an input audio signal, preventing abrupt changes and clicks. - snapshot~ The
snapshot~object converts a signal sample to a float value. - speedlim The
speedlimobject limits the rate at which messages are passed through. - spell The
spellobject converts incoming messages, including digits and characters, into their corresponding UTF-8 (Unicode) integer values. - spike~ The
spike~object detects zero to non-zero transitions in an audio signal and outputs the time interval in milliseconds since the last detected event. - split The
splitobject routes incoming float numbers to one of two outlets based on whether they fall within a defined minimum and maximum range. - spray The
sprayobject distributes incoming values to its multiple outlets. - sprintf The
sprintfobject formats messages using C-styleprintfsyntax, where each '%' format specifier (e.g.,%ffor float,%sfor string) creates a corresponding inlet. - substitute The
substituteobject replaces elements within an incoming message. - sustain The
sustainobject emulates a MIDI sustain pedal, holdingnoteoffmessages while active and releasing them when deactivated. - svf~ The
svf~object implements a state-variable filter, simultaneously outputting lowpass, highpass, bandpass, and notch filtered signals. - switch The
switchobject routes messages from one of its multiple data inlets to a single outlet. - table The
tableobject stores and edits a number array, which can be graphically manipulated via an editor window or by double-clicking. - tanh The
tanhobject calculates the hyperbolic tangent function of a given number. - tanh~
tanh~calculates the hyperbolic tangent of an input signal. - tanx~
tanx~calculates the tangent of an incoming signal, expecting its input in radians. - teeth~ The
teeth~object functions as a comb filter, offering independent control over feedforward and feedback delay times, along with their corresponding gain coefficients. - thresh The
threshobject collects incoming numbers and lists, combining them into a single output list if they arrive within a specified time interval. - thresh~ The
thresh~object acts as a Schmitt trigger, detecting when an input signal crosses specified high and low thresholds. - togedge The
togedgeobject detects transitions in numerical input. - tosymbol The
tosymbolobject converts any incoming message, including floats, lists, or other data types, into a single symbol message. - train~ The
train~object generates a pulse signal that alternates between 1 and 0, with configurable period, pulse width, and onset phase offset. - trapezoid~
trapezoid~generates a trapezoidal waveform. - triangle~ The
triangle~object generates a variable-duty triangular wavetable. - trough The
troughobject tracks a minimum (trough) value. - trunc~
trunc~truncates an incoming audio signal towards zero, effectively retaining only the integer part of each sample. - universal The
universalobject sends messages to all instances of a specified Pure Data object type within the current patch, or optionally into subpatches. - unjoin The
unjoinobject separates an incoming list into multiple sub-lists, each containing a specified number of elements. - urn The
urnobject generates a sequence of unique random integers within a specified range (0 to n-1) without repetition. - uzi The
uziobject generates a specified number of bangs and a corresponding counter value for each bang, executing its loop as fast as possible. - vectral~ The
vectral~object smooths or filters frame-based signal data, such as the output fromfft~, primarily for visualization. - wave~ The
wave~object reads a wavetable (array) using a phase signal input (0-1), offering seven different interpolation modes including linear, cosine, cubic, spline, and Hermite. - xbendin The
xbendinobject retrieves 14-bit pitch bend messages from raw MIDI input, outputting the pitch bend value (0-16383) and optionally the MIDI channel. - xbendin2 The
xbendin2object parses incoming raw MIDI data to extract the Most Significant Byte (MSB) and Least Significant Byte (LSB) of pitch bend messages, which can be combined to form a 14-bit value. - xbendout The
xbendoutobject formats and sends 14-bit MIDI pitch bend messages, ranging from 0 to 16383, to a specified MIDI channel. - xbendout2 The
xbendout2object formats and sends 14-bit pitch bend messages as two 7-bit values: a Most Significant Byte (MSB) and a Least Significant Byte (LSB). - xnotein The
xnoteinobject processes raw MIDI data streams, providing more detailed information thannotein. - xnoteout The
xnoteoutobject sends MIDI Note On and Note Off messages, uniquely supporting both Note On and Note Off (release) velocities for enhanced control. - zerox~ The
zerox~object detects and counts zero crossings in an audio signal. - zl The
zlobject is a versatile Pure Data list processor that performs various operations on incoming lists based on its selected mode.