shadylib
Contributors
People who contribute to this project.
Objects
- 1-0switch
1-0switchis a wrapper for the operation “1 - argument.” Send it a number to subtract that value from 1.. - 1-0switch~
1-0switch~is a wrapper that computes 1 minus its argument. - 1scomp
1scompgives the one’s complement of a number. - ad
adis an attack–decay envelope object based on Miller’sadsr. - anypipe
anypipeis a pipe for passing arbitrary Pd data types, including symbols and lists. - ar
argenerates an attack–release envelope based on Miller’sadsr, suitable for shaping a signal’s amplitude. - array-map
array-mapiterates over an array to modify its contents, applying a connected operation to each value, such as subtracting 0.25 or multiplying by 4. - array-seq
array-seqcreates an arithmetic sequence in an array, with controls for its multiplier and vertical offset. - array-shuffle
array-shuffleshuffles the contents of an array, as demonstrated with theroutetablearray to create random routing. - banger
bangeroutputs loadbang and DSP-state notifications (0 or 1), and its inlet can control DSP by sending messages topd. - bangif
bangiftests input against a conditional given as its arguments, such as< 4or> 4, and outputs a bang indicating whether the condition is met or not. - bilexnoise~
bilexnoise~generates noise with a bilateral exponential distribution. - bin2num
bin2numtakes a list of 0s and 1s and outputs the corresponding number. - binlist
binlistconverts a numeric value into a list of binary digits, providing a bitwise representation of the value. - blsasqri~
blsasqri~is a signal-generating object related toblsqri~, with an additional band-limited output. - blsaw~
blsaw~generates a band-limited sawtooth wave. - blsqri~
blsqri~is the same asblsqr~, except that it also produces a bandlimited output. - blsqr~
blsqr~generates a square or pulse waveform, with inlets for frequency, pulse width, and setting the phase. - bpbuzz~
bpbuzz~is likebuzz~, but produces bipolar output and adds pulse-width modulation control. - bpmtoms
bpmtomsis a convenience object equivalent toexpr 60000 / $f1. - buzz~
buzz~is a band-limited impulse generator driven by a fundamental frequency, with another frequency specifying how far its harmonics extend. - bytes2float
bytes2floatconverts a list of character-byte values representing a decimal number into a float, allowing forms such as leading zeros, an initial decimal point, and negative numbers. - cgmul~
cgmul~performs complex multiplication on signal inputs using Gauss’s method. - circle~
circle~generates a circle centered at x = 0.5 and y = 0.5. - cosinterp~
cosinterp~performs cosine interpolation. - cyclecount
cyclecountis a very simple counter intended for counting in cycles up to a top limit. - dbgr~
dbgr~displays a stream of numbers from a signal, serving a purpose similar tosnaps~from jmmmp. - dbpole
dbpoleconverts a time in milliseconds into a pole value for a decay from 1 to 0.001 (60 dB). - delreadc~
delreadc~is an exact clone ofdelread~that reads from a delay line created bydelwritec~, with added support for clearing it. - delwritec~
delwritec~is a clone ofdelwrite~that adds a clear option, intended for writing an audio signal into a named delay buffer. - dispatchOSC
dispatchOSC 9000uses mrpeach objects such asudpreceiveto receive OSC messages on port 9000. - dsrand~
dsrand~is a random-number generator that periodically produces new random values. - dyncompand~
dyncompand~is intended for dynamic compression, apparently applying companding to an input signal. - egrains~
egrains~is a simple granular synthesizer whose argument names the array it reads. - expline
explineis an exponential ramp generator that slews to a target value over a specified time when given a target–time pair. - expline~
expline~generates an exponential audio ramp for signal-rate use. - fmod~
fmod~provides thefmodoperation frommath.hfor Pd signals. - freqshifterd~
freqshifterd~is a frequency shifter with a phase input. - freqshifter~
freqshifter~performs single-sideband modulation to shift the frequency of an input signal. - fsdict
fsdictis a dictionary-like object that stores a unique relationship between a float and a symbol, allowing either value to retrieve its associated counterpart. - gainc~
gainc~provides volume control and stereo panning, likeoutputc~but without recording or a built-indac~connection. - grainyback~
grainyback~is used to piggyback onto anegrains~object, taking the last three outputs fromegrains~through its three inlets. - grainy~
grainy~performs granular synthesis on a sound file. - gsave
gsaveprovides a way to save values for multiple names under a shared global name, as illustrated by messages taggeds1throughs4. - hanning~
hanning~applies a Hanning window over an input range from 0 to 1. - highest~
highest~finds the maximum absolute value of a signal and reports it periodically. - inrange
inrangetests whether an input number lies within an inclusive range, supporting separate “in range” and “not” outcomes. - javid~
javid~produces a not-quite-sine waveform using a cubic approximation attributed to YouTuber javidx9. - linnoise~
linnoise~creates noise with a linear distribution, though the help patch’s explanation of that distribution is incomplete. - linterp~
linterp~performs linear interpolation. - lispatch
lispatchtakes an anything message and sends it to a Pd receive selected from the message, as illustrated byr thisandr that. - list-const
list-constcreates a list by repeating the same item a specified number of times. - list-count
list-countcounts how many times a specified argument or value from its second inlet occurs in a list. - list-delim
list-delimsplits a list according to a specified symbol. - list-dripdex
list-dripdexbehaves likelist-drip, while providing the index of each item from its second outlet. - list2bytes
list2bytesserializes a Pd list into a list of byte values, for example so it can later be reconstructed withbytes2any. - lmap
lmapprovides an interface to Lua tables for storing and indexing associative key-value mappings. - log2
log2calculates the base-2 logarithm of an input value. - lolotoa
lolotoamanages a Lua-backed ordered list of tables containing Pd anything messages. - macrodivide
macrodivideis designed to synchronize a stepped sequence at zero by multiplying the number of steps by a subdivision, with alignment based on the last step. - makerpath
makerpathconverts a pathname relative to the root canvas into an absolute path, while leaving already absolute paths unchanged. - messtro
messtrosequences messages according to a tempo set by two arguments or atempomessage, with its right outlet indicating downbeats. - meters~
meters~is demonstrated receiving a signal fromosc~scaled by*~. - metorate
metorateusesmetroto produce a specified number of outputs at a given tempo. - microp
micropperforms microtonal pitch transfer by taking note values and dividing/scaling their pitch. - modf~
modf~splits an input signal into its integer and fractional parts. - modulator~
modulator~is used for FM (frequency modulation), with its middle inlet serving as the modulation index rather than as a multiplier. - moop~
moop~is a sample looper and successor toloop~, intended for looping a selected range of a buffer with transposition control. - mseq
mseqis used as a pattern sequencer in a 16-step musical example, with stored values driving note and output processing. - msgsave
msgsaveworks withsaverto save parameters. - mstof
mstofconverts milliseconds to frequency or vice versa. - mstos
mstosdetermines how many samples correspond to a given duration in milliseconds. - multatord~
multatord~multiplies an input signal by a factor and then adds an offset, making it useful for signal scaling and shifting. - multitrigger
multitriggeroutputs a bang after receiving a number of input bangs equal to its creation argument. - neadsr~
neadsr~generates an attack/decay/sustain/release envelope with configurable stage times, sustain level, and curvature; its default attack, decay, and release curves are logarithmic in level, with the exponential portion based on 60 dB. - nead~
nead~is an envelope-style object designed to begin its release stage even while the attack is still in progress. - near~
near~generates an attack–release signal whose attack stage holds until a zero trigger starts the release. - noteson
notesonkeeps track of which notes are currently being played and outputs the active-note list from its left outlet. - nrcombf~
nrcombf~is a non-recirculating comb filter that uses Lagrange interpolation, with arguments for delay time and feedforward gain. - operatord~
operatord~is likeoperator~, but it accepts aphasor~signal at its inlet. - operator~
operator~applies multiplication and addition to signals, and can also be configured as a sine-wave oscillator. - oscope~
oscope~is an oscilloscope object for displaying a signal such as the output ofosc~. - outputc~
outputc~is likeoutput~, but it also accepts gain values through its right inlet and can record. - passif
passifconditionally routes incoming data according to a comparison. - pds2l
pds2lsplits an input symbol into a list of character symbols, unlikezexy/s2l, which may output floats. - percent
percentconditionally sends input to its left outlet according to a percentage supplied at the right inlet, using a pseudorandom decision. - perlinterp~
perlinterp~is a Perlin-noise interpolator that takes aphasor~signal as its interpolation input. - phasafor~
phasafor~takes a 0-to-1 signal fromphasor~orloop~and a center value. - phasorator~
phasorator~is described as being like an operator, but usingphasor~. - pib~
pib~reports the time, in milliseconds, into the current signal block. - pinb~
pinb~outputs the current sample number within the DSP block. - pipebang
pipebangdelays an incoming bang by the amount specified by its argument, as illustrated bypipebang 500. - pitchnoise~
pitchnoise~generates pitched noise, based on a technique from Computer Music by Dodge and Jerse. - pitchshiftr~
pitchshiftr~is the reader portion of a pitch shifter, reading audio written to a nameddelwritec~buffer and applying pitch transposition. - pitchshift~
pitchshift~is a pitch-shifting audio object, demonstrated here processing the output ofblsaw~. - powclip~
powclip~is an exponential clipper based on taking the antiderivative. - powline
powlineramps to new values likeline, with the ramp shaped by raising numbers to a specified power; its creation arguments set the initial value, time grain (20 ms by default), and power. - powline~
powline~generates an audio-rate ramp between values, with messages such as target-and-duration pairs specifying the ramp. - prepender
prependerprepends a specified value or sequence to incoming messages; when no argument is supplied, it defaults tolist. - pthng~
pthng~is intended to shift upward through harmonics by multiplying a cosine wave by a multiple Hann-windowed pulse train. - rcombf~
rcombf~is a recirculating comb filter that uses Lagrange interpolation, with arguments for delay time, feedback, and buffer length. - realpass~
realpass~is an all-pass filter whose delay can be greater than 1. - rectoratord~
rectoratord~is likeoperatord~but uses a square wave. - rectorator~
rectorator~is likeoperator~, but designed for a square wave. - repeater~
repeater~buffers an incoming signal and records, plays, or holds it for durations specified in milliseconds, with its right outlet reporting the repeat number. - rexpline
rexplineis a reverse-exponential ramp generator that slews to a target value over a specified time. - rexpline~
rexpline~generates an exponential ramp as an audio signal. - rndmrange
rndmrangegenerates a random value when triggered, with an inlet or argument setting the number of possible values. - rootinfo
rootinforeports the path, name, and level of a canvas. - rover~
rover~performs signal division like/~, but with the inlet roles reversed. - rpowline~
rpowline~generates an audio-rate power-shaped ramp, serving as a nonlinear alternative for moving between values over a specified time. - sampbufs~
sampbufs~is a simple stereo wrapper forsoundfiler. - sampbuf~
sampbuf~is a simple wrapper forsoundfiler, intended to load or manage sample-buffer data. - sampphase~
sampphase~is a phasor whose frequency changes only at phase boundaries, and it also accepts signal input. - saver
saver globnameprovides save and load control for state associated with the shared nameglobname, as demonstrated withstaterandsstaterobjects. - saveroute
saverouteallows a Pd patch to use both messages and text files for saving state. - scaler~
scaler~scales a signal by multiplying it and then adding an offset. - selected
selectedreports the indices of all objects currently being selected. - seqbank
seqbankstores sequence data in rows and columns for use with objects such assequencer, wrapping input to the next row when necessary. - shadylook
shadylookmaps input values between 0 and 1 through a named curve:gauss,cauchy, orrexp. - shadylook~
shadylook~is the signal-rate version ofshadylook. - shnoise~
shnoise~generates sampled-and-held noise as a wrapper aroundphasor~anddsrand~. - show
showdisplays an incoming list in a connected message box, making its value visible. - sigenv~
sigenv~calculates the RMS level of a signal using a low-pass filter. - siglinterp~
siglinterp~is a linearly interpolated signal multiplexer that interpolates across a specified number of signal inlets. - smoother~
smoother~ramps a control signal to an audio signal over a specified amount, serving to smooth control-value changes at audio rate. - sndfread~
sndfread~opens and reads a sound file, outputting stereo audio suitable for connection todac~. - sndfwritem~
sndfwritem~is a mono sound-file writer that records an incoming mono signal to a specified filename. - sndfwrites~
sndfwrites~is a stereo sound-file writer that takes stereo signals through its first two inlets. - sqr
sqrsquares a control signal. - srepeater~
srepeater~is a simple beat repeater for holding and repeating audio, with an argument such as 4000 shown in the help patch. - sstater
sstaterworks withsaverto save parameters when only one float needs to be stored. - stater
staterworks withsaverto save parameters. - stoms
stomsconverts a number of samples into the equivalent duration in milliseconds. - stream-drip
stream-dripserializes a recorded stream of timestamped events for playback; each event is documented as beginning with/followed by a time in milliseconds. - stream-fromtext
stream-fromtextreads the contents of a namedtextobject and outputs them as a stream of lines. - stream-map
stream-mapworks likelist-mapfor streams, applying a transformation to stream elements. - stream-quant
stream-quantquantizes a stream to a timing grid whose multiple can be set by an argument, as shown bystream-quant 500. - stream-totext
stream-totextwrites an incoming message stream into a namedtext defineobject, herestream-totext-help. - streamdiff The
streamdiffobject reports how many numbers are being repeated. - streamread
streamreadworks withstreamwriteto write and read streams of anything. - streamread-slow
streamread-slowoutputs messages stored bystreamwriteone at a time for processing or algorithmic use. - streamwrite
streamwriterecords a series of timestamped events into a list for later playback withstreamread. - streamwrite-slow
streamwrite-slowwrites streamwrite-formatted messages one at a time, providing a way to process a formatted stream sequentially. - subdivide
subdivideproduces a specified number of subdivision outputs from an incoming bang. - svosim~
svosim~is a signal-generating object whose output is shaped by fundamental frequency, center frequency, duty cycle, and decay-factor controls. - switchnramp~
switchnramp~implements Miller’s switch-and-ramp technique, jumping to a specified value and taking a configurable time to do so. - synlets
synletssynchronizes two trigger inlets by waiting for a specified number of bangs at each inlet. - tabload
tabload an_array2loads data into the named Pd array, serving as the counterpart totabsave. - tabread4hs~
tabread4hs~is presented as an updated version of nusmuk-audio’stabread4c~with an audio-rate capability. - tabsave
tabsaveoutputs the contents and size of a named array as a message, allowing the array data to be stored in a message box. - tcheb~
tcheb~is a Chebyshev waveshaper intended to support orders up to 256. - temposet
temposetrepresents or configures a tempo setting, as shown by the instancetemposet 200 bpm. - testar~
testar~is a simple array-writing tool for viewing and debugging signals. - testro
testrois a quick metronome intended for debugging. - transpose
transposetakes an interval in semitones as input and outputs an approximate transposition. - transpose~
transpose~computes 2^(in/12), converting its input into a transposition ratio based on 12 steps per doubling. - triangulatord~
triangulatord~is similar totriangulator~, but takes aphasor~signal as input and produces output in the range -1 to 1. - triangulator~
triangulator~generates a triangle wave with a range of -1 to 1, serving a role similar tooperator~for triangle-wave synthesis. - trinoise~
trinoise~works likeshnoise~but uses twodsrandsources to create a triangular distribution, producing values concentrated around 0. - tseq
tseqis a step-sequencing object for working with list-based patterns, as demonstrated by the 16-step binary patterns and timing controls in the help patch. - ttempo
ttempolets you tap a tempo and outputs or represents it in milliseconds. - txtsave
txtsaveworks with a globally namedsavetxtstore, supportingclear,write saveit.txt, andread saveit.txtmessages for managing and persisting text data. - udispatch
udispatch 3009creates a UDP receiver on port 3009 and dispatches incoming messages according to their first element. - updel
updelsends a bang from its outlet after a configurable delay, with milliseconds as the default unit and optional tempo and time-unit creation arguments. - upmet
upmetis a metronome similar tometro, used to produce ticks at a configurable interval. - urandom
urandomis an interface to the urandom utility that fetches three bytes. - valuer
valueris likereceiver, but for values: instances with the same name, such asvaluer dog, provide access to the corresponding named value. - vdhs~
vdhs~is a variable-delay object based onvd~that uses Hermite spline interpolation, making it suitable for effects such as a simple flanger. - voisim~
voisim~implements the VOSIM algorithm for audio synthesis, with controls for fundamental frequency, center frequency, and decay. - volpan~
volpan~appears to be an audio object related to volume and panning, used in a signal chain withosc~,smoother~,gainc~, anddac~. - wavepacket~
wavepacket~is used to produce a wave-packet signal with controls labeled center frequency, fundamental, and bandwidth. - wscauchy~
wscauchy~is a waveshaping object that applies the formula 1 / (1 + a²(x + 1)) to an input signal x, where a is an index. - wsexp~
wsexp~applies exponential waveshaping to an input signal using the formula e^(a(x - 1)), where x is the signal and a is the index. - wssincos~
wssincos~is a signal-processing object derived from the Pd audio examples, intended for sine/cosine-related waveshaping or phase manipulation.