Skip to content

fd_lib

Federico Camara Halac’s multipurpose suite of Pure Data externals and abstractions for audio, visual, and algorithmic patching. Its announced 0.4.0 release contains more than 200 abstractions and roughly 30 compiled objects.

Contributors

People who contribute to this project.

Objects

  • !msg !msg accepts any message and prints a “wrong message” notification to the console, making it useful for debugging when connected to the last outlet of an object such as route.
  • bus~ bus~ routes an incoming audio signal to the signal bus named by its argument, for reception by a matching r~.
  • cantor cantor generates and outputs lines of the Cantor set as lists.
  • clifford clifford computes the Clifford attractor described by Paul Bourke.
  • colormap colormap maps a linear value to an RGB output.
  • combi combi finds all possible combinations of r elements from an incoming list of size n.
  • comp2~ comp2~ compresses the signal at its first inlet using the signal at its second inlet as the compression control, providing a compressed signal at its outlet.
  • compander~ compander~ implements a compressor/expander utility with a GUI, processing an input signal and optionally using a sidechain signal for compression.
  • crand crand outputs a random floating-point value when it receives a bang, within a range set by its minimum and maximum creation arguments.
  • cuadratic cuadratic iterates the quadratic recurrence x1 = x² + c, outputting the current y value for a step or N iterations as a list of (y, n).
  • delit delit is a delayed iterator that outputs iteration numbers at a specified interval, then sends a bang from its second outlet when finished.
  • dispatch~ dispatch~ appears to dispatch signals associated with a named effect bus, such as $0-myfx1 or $0-myfx2, working alongside matching bus~ and r~ objects.
  • fd_2bit fd_2bit converts an incoming float into a binary list through one outlet.
  • fd_6x6 fd_6x6 provides a 6×6 matrix of vertical radio buttons for use as a compact grid control.
  • fd_GEMbuffsize fd_GEMbuffsize helps determine a suitable size for a gemvertexbuffer, with power-of-two sizes recommended.
  • fd_any2list fd_any2list takes an incoming Gem gemlist and outputs a dump.
  • fd_arcsin fd_arcsin computes Xenakis’ “arc sin” function, shown as π⁻¹ × (x × (1 − x))⁻¹/², for an input float.
  • fd_arcsin~ fd_arcsin~ is the DSP-based counterpart of fd_arcsin, storing its result in an array, and is used by fd_windows.
  • fd_arg1 fd_arg1 is placed inside an abstraction to inspect the parent abstraction’s first argument ($1).
  • fd_argc On a bang, fd_argc outputs a three-number list describing its creation arguments: the total argument count, the number of floats, and the number of symbols.
  • fd_argv fd_argv stores up to nine symbol-or-float arguments and, when banged, outputs them grouped by type through separate symbol and number outlets.
  • fd_array-rerange fd_array-rerange remaps the elements of a named array to a new range.
  • fd_array2pix fd_array2pix displays the values of a source array as grayscale pixels in a Gem list.
  • fd_arrayautotrim fd_arrayautotrim appears intended to automatically trim an array, as demonstrated with the word and word-trimmed arrays.
  • fd_arrayclone fd_arrayclone is a clone wrapper for array, used to create and operate on multiple array objects named from a shared base such as arrname-$1.
  • fd_arraycopy fd_arraycopy copies the contents of one array to another.
  • fd_arraymorph fd_arraymorph morphs a recipient array from a source array toward a target array over a specified duration.
  • fd_arraysort1 fd_arraysort1 is intended to sort the array named by its first argument in ascending order by default or in descending order.
  • fd_arraysort2 fd_arraysort2 sorts a named array in ascending or descending order and provides the sorted array values as a list.
  • fd_autopatch fd_autopatch automatically connects patch cords between the outlets and inlets of objects in a named subpatch.
  • fd_autopoly fd_autopoly creates a variable-point Gem polygon or curve from sigmund~ peak-tracking output.
  • fd_background fd_background loads a Gem shader for extracting a background from video imagery.
  • fd_bang fd_bang is a minimal pass-through object with one inlet connected directly to one outlet, forwarding anything it receives.
  • fd_bangem fd_bangem outputs a bang on the next Gem rendering frame when rendering is on, then shuts itself off.
  • fd_bark fd_bark calculates the Bark scale over a specified minimum-to-maximum range and writes the result to a named array.
  • fd_bark~ fd_bark~ converts an incoming magnitude-spectrum signal to a Bark-scaled signal.
  • fd_bass fd_bass is a simple bass sound generator with one signal outlet.
  • fd_bigmyvu fd_bigmyvu is a GUI abstraction for volume control and monitoring.
  • fd_blackman fd_blackman computes the y value of a generalized Blackman window, intended to minimize side-lobe levels by adding shifted sinc functions.
  • fd_blackman~ fd_blackman~ computes a Blackman window using signals and loads it into a named array for use by fd_windows.
  • fd_blob fd_blob renders an information blob on screen using Gem and has no outlets.
  • fd_blobtracks fd_blobtracks is a utility for analyzing, tracking, and displaying pixel blobs, using Gem’s pix_multiblob.
  • fd_blobvid fd_blobvid is a buffer-based blob tracker for video data, intended to detect blobs using fd_blobtracks and Gem.
  • fd_bufvid fd_bufvid reads a Gem list from a fd_vidbuf pixel buffer and loops through a specified number of frames, enabling the same buffer to be used multiple times.
  • fd_butterworth fd_butterworth is a 3-pole, 3-zero Butterworth low-pass, high-pass, or shelving filter.
  • fd_calm fd_calm reduces the update frequency of incoming float values, making it useful for slowing down controller data.
  • fd_camara fd_camara is a GUI abstraction for handling Gem’s camera object.
  • fd_cauchy fd_cauchy computes the Cauchy distribution, using the formula t/(π(t²+x²)).
  • fd_cauchy~ fd_cauchy~ generates the same Cauchy function as fd_cauchy and stores it into an array via DSP, for use by fd_windows; it has no outlets.
  • fd_ceil fd_ceil is an abstraction that applies a C-style ceiling function to incoming floats.
  • fd_circle fd_circle computes successive positions for circular motion, outputting each position as an x–y list and supporting use with Gem.
  • fd_clarg fd_clarg is an abstraction for retrieving paired arguments from an abstraction instantiated by clone.
  • fd_clicktrack fd_clicktrack is a utility for building a click track, accepting either a BPM value or two taps to establish the beat and outputting each beat duration in milliseconds.
  • fd_colorpicker fd_colorpicker opens a data-structures color picker for selecting a color.
  • fd_colortheme fd_colortheme applies a color theme to selected iemgui objects, identified by a list of up to 10 symbol selectors.
  • fd_comp~ fd_comp~ compresses an input signal and outputs the compressed signal, making it useful for controlling a signal’s dynamic range.
  • fd_corr fd_corr calculates the Pearson correlation coefficient between two arrays, providing a vanilla Pd equivalent of timbreID’s tabletool “corr” method.
  • fd_cosline~ fd_cosline~ applies a cosine-shaped amplitude ramp to an input signal to smooth amplitude changes.
  • fd_countdown fd_countdown is a simple GUI abstraction for running a countdown, with a toggle to turn it on or off and a number box that sets the time in milliseconds.
  • fd_cputime fd_cputime is a small GUI that queries CPU time, as in Pd’s load-meter.pd, for monitoring processor load.
  • fd_critical fd_critical computes critical bandwidth values for use with fd_bark, using the documented Bark-to-frequency relationships.
  • fd_cuacua fd_cuacua quantizes MIDI-note values to quarter-tone steps, providing one inlet and one outlet.
  • fd_cubic fd_cubic generates a pseudo-cubic curve using f(x) = (x³ + 3x² − 6x − 8) / 4.
  • fd_dacout fd_dacout dispatches a mono signal to an indexed dac~, making it convenient to create many outputs with clone for multichannel systems.
  • fd_dacout_rec fd_dacout_rec is like fd_dacout, routing a mono signal—or a sum of cloned signals—to dac~, with additional throw~ objects for recording.
  • fd_dactest fd_dactest performs a crawl across all speakers and has no outlets.
  • fd_data fd_data is a set of abstractions for creating data structures, built upon Pd’s 4.data.structures/05.array.pd example.
  • fd_dataDroplet fd_dataDroplet morphs a single element from a data array; its intended context is documented in fd_data.
  • fd_dataExp fd_dataExp generates an exponential graph in a data-structure array.
  • fd_dataGui fd_dataGui is a graphical controller intended for use with fd_data, allowing you to select tables and trigger graphing with controls for curve type and type-specific parameters.
  • fd_dataHann fd_dataHann applies a Hann window to an array in a data structure.
  • fd_dataID fd_dataID is intended to get an ID and accepts anything at its inlet; the help text refers users to fd_data.pd for context.
  • fd_dataLine fd_dataLine represents a line into a data-structure array and is intended for use with fd_data.
  • fd_dataMorph fd_dataMorph morphs between two fd_data datasets by cloning an instance for each array element and creating a line for each source/target value pair.
  • fd_dataMorphArray fd_dataMorphArray is used internally by fd_dataMorph.pd, with fd_data.pd referenced for related information.
  • fd_dataMorphGui fd_dataMorphGui provides a GUI for data morphing and is intended for use with fd_data.
  • fd_dataMorphWidth fd_dataMorphWidth is intended for use with other fd_data* objects, but the help patch does not provide enough information to explain its specific purpose or behavior.
  • fd_dataRand fd_dataRand fills a data-structure array with random numbers; see fd_data for the related data structure.
  • fd_dataRead fd_dataRead reads from two different data-structure arrays through two inlets and provides two outlets.
  • fd_dataRead1 fd_dataRead1 reads from a single data-structure array, with its argument specifying the index to read.
  • fd_dataRead3 fd_dataRead3 reads from three different data-structure arrays.
  • fd_dataStoreGui fd_dataStoreGui provides a GUI for storing data-structure arrays in text objects; see fd_data.pd for related context.
  • fd_dataVis fd_dataVis provides a GUI for raising the data-structure arrays in fd_env, intended for data visualization.
  • fd_dataWalk fd_dataWalk performs a random walk into a data-structure array and is intended for use with fd_data.
  • fd_delit fd_delit performs delayed iterations, outputting a specified number of values at a specified interval in milliseconds.
  • fd_dels fd_dels is described as a “weird delay manager” that produces a signal output from a named delay line.
  • fd_distor fd_distor provides simple biquad-based distortion for an incoming audio signal.
  • fd_distributions fd_distributions plots a selected distribution into a named array and is the predecessor of fd_windows.
  • fd_dory fd_dory toggles between the last and current float values, providing both through its two outlets.
  • fd_dsp fd_dsp is a graph-on-parent control for turning Pd’s DSP on and off while bringing up the audio properties.
  • fd_dsp-bang fd_dsp-bang outputs a bang on the next DSP block when DSP is currently enabled.
  • fd_dspon fd_dspon controls Pd’s DSP state with no creation arguments: a float 1 or 0 toggles DSP on or off, while a bang turns DSP on only if it is currently off.
  • fd_emap2 fd_emap2 maps a float linearly from an incoming range to a new range, with the four creation arguments specifying the two ranges.
  • fd_env fd_env generates a data-structure envelope array for use with fd_data.
  • fd_etareti fd_etareti is an iterative reverse counter intended to run a specified number of iterations.
  • fd_exp fd_exp computes the exponential-distribution probability density f(x) = λe^(-λx), for modeling the time or distance between events.
  • fd_expo~ fd_expo~ is the same as fd_expo, but uses DSP to store its output in an array, and is used by fd_windows.
  • fd_fftfilt fd_fftfilt is an FFT filter that processes the signal received at its signal inlet and outputs the filtered signal.
  • fd_filt fd_filt is an abstraction of ggee/equalizer that converts frequency, gain, and bandwidth parameters into coefficients for a biquad~ filter.
  • fd_fk fd_fk is a keyboard-style audio generator that produces a signal for output through dac~.
  • fd_fletcher-munson fd_fletcher-munson calculates amplitude compensation from the Fletcher–Munson curve for a supplied frequency, producing the result in RMS or decibels.
  • fd_floor fd_floor applies the floor function to an incoming float, outputting a float.
  • fd_fm fd_fm is an FM oscillator that produces one audio signal output.
  • fd_fmosc fd_fmosc is a very simple FM oscillator that produces an audio signal.
  • fd_fromsig fd_fromsig accepts sigmund~ “peaks” output and produces lists containing frequency in Hz, magnitude, and phase.
  • fd_gain~ fd_gain~ is a gain utility that maps a decibel input in the range -100 to 12 dB to a ramped signal output, suitable for smoothly controlling signal amplitude.
  • fd_gate fd_gate passes input through a gate and stops further input after a delay.
  • fd_gauss fd_gauss calculates the value of a Gaussian distribution for a given x value, using a mean and standard deviation supplied as its two creation arguments.
  • fd_gauss~ fd_gauss~ computes the same Gaussian function as fd_gauss and stores it into a named array via DSP; it is used by fd_windows and has no outlets.
  • fd_gem2feat fd_gem2feat takes a GEM list and applies the timbreID-style feature named by its argument, such as specBrightness.
  • fd_gembuf fd_gembuf buffers incoming gemlists, using Gem's pixel-buffer facilities.
  • fd_gemloop fd_gemloop stores an incoming Gem gemlist in a buffer for later playback or export of the stored images as JPEG files.
  • fd_gemsphere fd_gemsphere plots a sphere on the screen using Gem and takes no arguments.
  • fd_geomean fd_geomean calculates the geometric mean of a list of floats and outputs the result as a float.
  • fd_get-element fd_get-element gets an element of an array in a Pd data structure.
  • fd_getcomb fd_getcomb computes the complement between two lists, outputting the elements in the first list that differ from the second.
  • fd_getid fd_getid gets the ID of an array in a data structure.
  • fd_getsize fd_getsize gets the size of an array in a data structure.
  • fd_gr fd_gr is a utility intended to serve as the last piece in a granular setup.
  • fd_grain fd_grain applies a selectable window to an input signal, with one signal inlet and controls for ramp time and window type, producing one signal output.
  • fd_guiDelta fd_guiDelta handles X/Y delta input for an IEM GUI object, using the GUI object's selector name as its argument.
  • fd_guiFont fd_guiFont changes font sizes and text positions in Pd GUI controls.
  • fd_guiTemplate fd_guiTemplate is a template for quickly creating a functional, visually polished GUI, generating a new patch with a child subpatch at the specified position.
  • fd_hann~ fd_hann~ calculates a raised-cosine (Hann) window into a named array and is used by fd_windows.
  • fd_hihat fd_hihat is a noise-based hi-hat sound generator with no creation arguments.
  • fd_hopmsec fd_hopmsec converts an input duration in milliseconds to the required hop or block size in samples, using the current patch’s sample rate from samplerate~.
  • fd_hradio fd_hradio is a customizable version of Pd’s hradio that provides information and supports presets.
  • fd_img2feat fd_img2feat takes a Gem list and applies the image feature specified by its creation arguments, providing feature extraction for Gem images.
  • fd_impulse fd_impulse generates a pulse train using LR shifting.
  • fd_input fd_input grabs an adc~ input and applies some filtering, making the result available without direct inlets or outlets.
  • fd_inputGui fd_inputGui provides a GUI interface for the fd_input abstraction.
  • fd_iterate fd_iterate is an iterative counter that produces a specified number of iterations, intended for repeated counting.
  • fd_itpoint fd_itpoint traverses and iterates through data-structure objects in a Pd patch, outputting pointers when it receives a symbol or bang.
  • fd_jumpv fd_jumpv calculates the absolute difference between the extreme values in an incoming sequence, producing its “jump value.” For example, values reflecting between -10 and 10 produce a difference of 20..
  • fd_karplus fd_karplus is a simplified Karplus–Strong-type synthesizer with two signal outputs.
  • fd_key fd_key is a bang keyboard that outputs keyboard activity through one outlet, including floats for non-routed keys such as Caps Lock.
  • fd_keycomb fd_keycomb detects pairs of meta-key combinations, identifying each combination with a number and providing cooked predefined pairs, learned positions, and raw lists.
  • fd_kinetica fd_kinetica accepts a stream of floats and outputs each current value together with the preceding value as the list n-1 n.
  • fd_kp fd_kp is a plucked-sound generator based on the Karplus–Strong algorithm, with one signal outlet.
  • fd_legato fd_legato is described as a “weird legato lead-like instrument.” It takes no arguments, has one inlet accepting a float or binary list, and provides one outlet; the help patch does not explain the outlet data or the precise control behavior..
  • fd_lib fd_lib is a personal suite of Pure Data abstractions covering signal processing, GUI and dynamic patching, arrays, lists, analysis, probability, data structures, and related utilities.
  • fd_lines fd_lines is a wrapper that clones Pd’s line object, providing multiple independently addressable ramps through one inlet.
  • fd_list-last fd_list-last outputs the last element of an incoming list, making it useful for selecting the list’s final item.
  • fd_list-pointer fd_list-pointer maintains an ordered list of pointers for a specified canvas.
  • fd_listout fd_listout recursively outputs all elements of a list, emitting each element as a float or symbol.
  • fd_log fd_log applies a normalized logarithmic function to input floats in the 0–1 range and outputs the resulting float.
  • fd_logistic fd_logistic computes Xenakis’ logistic distribution, described by π⁻¹ × (x × (1 − x))⁻¹/².
  • fd_logistic~ fd_logistic~ is the same as fd_logistic, but stores its output into an array using DSP, and is used by fd_windows.
  • fd_logo fd_logo displays a bang-toggle based logo and has no inlets or outlets.
  • fd_loop fd_loop outputs a looping line from 0 to 1 over a specified time in milliseconds, intended as a simple timed loop generator.
  • fd_lorenz fd_lorenz is a simplified Lorenz-system abstraction that iteratively computes the system’s x, y, and z state from configurable rho, beta, sigma, step size, and initial conditions.
  • fd_lorenz-expr fd_lorenz-expr computes the Lorenz equations using expr and outputs the resulting x, y, and z values as a three-float list.
  • fd_lorosc fd_lorosc is a Lorenz oscillator with one inlet and one outlet.
  • fd_lorsig fd_lorsig computes the distance of the Lorenz system and outputs it as a signal.
  • fd_lspace fd_lspace normalizes the distance of a Lorenz system and is intended to be cloned.
  • fd_m-comb fd_m-comb is a utility that makes combinations from fd_matrix-comb easier to retrieve by outputting their indices.
  • fd_ma fd_ma assigns incoming MIDI values from a specified MIDI input object, such as ctlin, to as many as nine corresponding outlets.
  • fd_map fd_map linearly maps an incoming float from a 0-to-maximum input domain to a specified range and outputs the mapped float.
  • fd_map2 fd_map2 linearly maps an input float from one range (a–b) to another range (c–d).
  • fd_mark fd_mark is a Markov-chain generator with a variable number of states, outputting the current state as a float.
  • fd_markfour fd_markfour implements a fourth-order Markov chain, calculating and outputting the next state as a list when its first inlet receives a bang.
  • fd_markov fd_markov implements a three-state Markov chain, using six probability values supplied as creation arguments or as a list to its second inlet.
  • fd_markov3 fd_markov3 implements a Markov chain and outputs states as floats.
  • fd_markov5 fd_markov5 implements a fifth-order Markov chain with five states, providing one outlet for each state.
  • fd_matrix-comb fd_matrix-comb is a simplified abstraction of the choice object for selecting an indexed tuple from a list.
  • fd_mbass fd_mbass is another bass-like instrument that generates an audio signal from control input.
  • fd_metro fd_metro is a simple musical metronome that outputs the tempo in milliseconds at each beat.
  • fd_midiread fd_midiread is a wrapper for mrpeach/midifile that loads and plays a MIDI file, though the help patch notes it is still a work in progress.
  • fd_miller-gauss fd_miller-gauss generates a two-dimensional Gaussian distribution, outputting the x and y distribution values through its two outlets.
  • fd_minimax fd_minimax processes a stream of floats and provides the current value together with the minimum and maximum values, serving as an abstraction around minimax.
  • fd_msecparse fd_msecparse formats a millisecond count as a symbol in MM:SS:MSEC notation, making it useful for displaying elapsed time.
  • fd_mtxdelit fd_mtxdelit randomly delay-iterates a 3×1 matrix, accepting either a bang to begin iteration or a list whose first three elements form the matrix.
  • fd_mtxout fd_mtxout iterates a 3×1 matrix of floats and outputs the resulting 3×1 matrices as lists.
  • fd_mult fd_mult performs accumulated multiplication of float values received at its first inlet and outputs the accumulated product as a float.
  • fd_n! fd_n! computes the factorial of a number, either from a float input or from its creation argument when triggered by a bang.
  • fd_n=n-1 fd_n=n-1 compares each input float with the previous input and outputs a bang from its first outlet when the number is repeated.
  • fd_navigator fd_navigator is a file navigator for .pd files, intended for browsing a library of Pure Data patches.
  • fd_netreceive fd_netreceive provides the netreceive side of a connection from another Pure Data instance using fd_netsend.
  • fd_netsend fd_netsend provides the netsend side for connecting to another Pd instance.
  • fd_next fd_next sends a bang to the next adjacent (+1) instance, supporting communication between numbered instances such as those created with clone.
  • fd_noise~ fd_noise~ generates low-pass-filtered noise and loads it into a named array.
  • fd_nonpulmonic fd_nonpulmonic wraps a Pd text object that stores symbols associated with non-pulmonic IPA characters.
  • fd_norep fd_norep outputs a list of non-repeated random numbers when it receives a bang; its argument sets the list size, and a float can provide a new size.
  • fd_norm fd_norm normalizes a stream of floats against a range learned over time, providing normalized outputs for 0–1 and −1–1 ranges.
  • fd_norm-abs fd_norm-abs normalizes an input range over time, mapping values from -1…1 to 0…1.
  • fd_note fd_note is a simple note synthesizer that outputs an audio signal.
  • fd_nouns The help patch identifies fd_nouns as an object in fd_lib v0.1 and shows that the library can be loaded with declare -lib fd_lib.
  • fd_numkey fd_numkey turns number-key presses into their corresponding float values.
  • fd_objcreator fd_objcreator creates objects in a canvas and displaces them vertically.
  • fd_octaver fd_octaver shifts the signal stored in a named delay line down by octaves.
  • fd_once fd_once routes the first bang in an incoming bang stream to its first outlet and sends the remaining bangs to its second outlet.
  • fd_osc fd_osc is an oscillator that accepts frequency and phase, with phase supplied through its third inlet.
  • fd_oshift~ The help patch provides no functional documentation for fd_oshift~; it is only a placeholder for fd_lib v0.1.
  • fd_out fd_out provides a GUI for controlling a signal sent to dac~.
  • fd_pad fd_pad is a vanilla Pd two-dimensional pad for producing x/y position values.
  • fd_pan fd_pan performs cosine panning.
  • fd_parsenum fd_parsenum reports the status of an iteration whose limit is supplied as a float to its inlet.
  • fd_phatty fd_phatty is a “phatty” synth based on a lecture by Jaime Oliver La Rosa, producing a signal output from a signal input.
  • fd_pix2list fd_pix2list dumps an incoming Gem list as a grayscale list whose size is a power of two, cropping and truncating non-power-of-two images according to the smaller image dimension.
  • fd_pix_shift fd_pix_shift takes a Gem list and produces four shifted, separated Gem lists.
  • fd_pixcrop fd_pixcrop is a utility for “friendlier” cropping of a Gem gemlist, outputting the processed gemlist for further rendering.
  • fd_pixrecord fd_pixrecord simplifies handling Gem’s pix_record for recording the current gemwin pixels to a movie file, with controls for starting and stopping, recording length, filename/path, and frame dimensions.
  • fd_plot fd_plot is a graph-on-parent abstraction for plotting points on an existing parent-patch canvas.
  • fd_pno fd_pno provides a clickable piano keyboard interface that outputs a MIDI pitch-and-velocity pair as a list.
  • fd_poisson fd_poisson computes the Poisson expression P(k) = λ^k / k! × e^-λ for an input x value.
  • fd_poisson~ fd_poisson~ performs the same function as fd_poisson, but stores the result into an array via DSP.
  • fd_printer fd_printer records messages sent to it in an internal text file, appending waits so GUI or patch-control interactions can later be recreated as a score.
  • fd_pshift fd_pshift is a pitch shifter based on a lecture by Jaime Oliver La Rosa, taking a signal pitch-shift amount and outputting the pitch-shifted signal.
  • fd_pshift~ fd_pshift~ is an audio pitch-shifting object intended to raise the pitch of an incoming signal, in the context of delay networks.
  • fd_r fd_r randomly chooses a float from its creation arguments, a named array, or a list supplied through the second inlet.
  • fd_range fd_range is a graph-on-parent GUI for selecting a range, with controls for the onset (minimum) and duration (maximum).
  • fd_rbd fd_rbd creates a random bar distribution for a requested number of bars, assigning random time signatures.
  • fd_read-resize fd_read-resize reads a text file into an array, resizing the array first.
  • fd_rec fd_rec records an incoming signal into an internal array and outputs the recorded signal for playback.
  • fd_receive fd_receive is a message dispatcher that receives messages through a named receiver and forwards them using a specified send selector.
  • fd_reflect fd_reflect reflects a float input between symmetric lower and upper boundaries.
  • fd_relocate fd_relocate dynamically relocates a Pd patch on screen, targeting the subpatch or abstraction named by its symbol argument.
  • fd_rexpo~ fd_rexpo~ is the same as fd_rexpo, but stores its output into an array via DSP, and is used in fd_windows.
  • fd_rgb fd_rgb converts red, green, and blue component values into a Pd GUI-style color value.
  • fd_rgbcol fd_rgbcol converts three integer RGB components, each in the range 0–9, into a single color value for use with Pd data structures.
  • fd_rnd fd_rnd is a noise~-based random integer generator that outputs a random integer when it receives a bang.
  • fd_round fd_round rounds an incoming stream of floats and outputs the rounded values.
  • fd_rsdel~ fd_rsdel~ is a recirculating, sample-wise delay abstraction with a signal input and output.
  • fd_s-prob fd_s-prob selects between two states according to their probabilities and is intended for use in Markov chains.
  • fd_s-prob-5 fd_s-prob-5 selects among five states according to defined probabilities, for use in Markov chains, and outputs a bang from the selected state's outlet.
  • fd_salvo fd_salvo outputs a random number from 0 to N, where N is set by its argument, while excluding the input number.
  • fd_scales fd_scales stores and recalls indexed scales or patterns, with four predefined choices: major, minor, augmented, and diminished.
  • fd_sdel~ fd_sdel~ is a sample-wise delay abstraction for delaying an input signal.
  • fd_seltab fd_seltab selects tables from fd_windows using a float table index.
  • fd_send fd_send is a message dispatcher that forwards messages from a specified send selector to a specified receiver.
  • fd_set-element fd_set-element is associated with fd_data, but this help patch does not explain what it does or its purpose.
  • fd_shader fd_shader is a Gem-dependent tool for loading shaders and applying them to a Gem list.
  • fd_shift fd_shift shifts an input signal by a specified number of samples, with its shift direction inverted relative to lrshift~.
  • fd_shuffle fd_shuffle pseudorandomly shuffles the contents of a named array and has no outlets.
  • fd_siginfo fd_siginfo is a simplified abstraction of the siginfo object, intended to provide similar information through one inlet and one outlet.
  • fd_sin fd_sin is a wrapper for sine that outputs the sine of the input multiplied by π and a cycle factor.
  • fd_sinc fd_sinc computes a sinusoidal pulse.
  • fd_sinc~ fd_sinc~ generates the same sinc table as fd_sinc, but stores it into an array using DSP; it is used by fd_windows.
  • fd_sinh fd_sinh is a hyperbolic-function wrapper that outputs the hyperbolic sine of a float input.
  • fd_sinh~ fd_sinh~ is the same as fd_sinh, but stores its result into an array via DSP, and is used in fd_windows.
  • fd_smooth fd_smooth outputs a signal containing two halves of a Hann window, intended to smooth block edges to zero and used in fd_windows.
  • fd_smooth_brute fd_smooth_brute snaps extreme values in a named array to zero.
  • fd_snote fd_snote is described as a note player whose ADSR envelope is read, though the patch does not explain the envelope source in detail.
  • fd_sp fd_sp is a signal multiplier with square-root line amplitude, described as a signal panner for multiplying one signal independently across different tracks.
  • fd_spat fd_spat performs chaotic four-channel spatialization using lorenz and square.
  • fd_specplot~ fd_specplot~ displays the spectrum of an input signal.
  • fd_spigot fd_spigot is a gate that passes the first input it receives to its first outlet, then blocks subsequent input.
  • fd_spigot3 fd_spigot3 routes messages from one of three input inlets to a single outlet.
  • fd_spline~ fd_spline~ is an envelope generator based on fd_windows, producing a signal envelope when triggered by a list containing normalized amplitude and time.
  • fd_step fd_step is an n-step hot counter that produces a floating-point count from an input stream.
  • fd_stick fd_stick produces a stick-like audio signal when it receives a bang.
  • fd_stopwatch fd_stopwatch is a simple GUI stopwatch that displays elapsed time in minutes and seconds.
  • fd_sum fd_sum accumulates incoming float values and outputs the running sum, making it useful for totaling a stream of numbers.
  • fd_swap fd_swap outputs a two-float list either in its original order when swap is off (0) or with the values reversed when swap is on (1).
  • fd_switch fd_switch is a soft switch for turning a signal on or off with a 1 or 0 received at its first inlet.
  • fd_tempo-msec fd_tempo-msec converts an input tempo in beats per minute (BPM) to the corresponding duration in milliseconds.
  • fd_textsort2 fd_textsort2 bubble-sorts a two-column list stored in a named text define, using the first column as the sort key.
  • fd_tglvis fd_tglvis provides a control on a Graph-On-Parent subpatch for toggling that subpatch’s visibility, avoiding the need to open it through right-click or Ctrl-click menus.
  • fd_tom fd_tom generates the signal of a tom drum for audio output.
  • fd_toroman fd_toroman converts an input number into a Roman numeral and outputs the result as a symbol.
  • fd_tovowel fd_tovowel converts a numeric vowel index into a vowel represented as a phoneme symbol.
  • fd_tracktopol fd_tracktopol maps a sigmund~ “tracks” output list to a triangle represented as a polygon of three points, with an index prepended to the output list.
  • fd_trapezoid~ fd_trapezoid~ computes a trapezoid curve and is used by fd_windows.
  • fd_triangle~ fd_triangle~ computes a triangle curve and loads it into an array, for use by fd_windows.
  • fd_trunc2n fd_trunc2n truncates an input number to a size of 2^n.
  • fd_untext fd_untext reads a text file in a chaotic way.
  • fd_updown fd_updown analyzes a stream of floats to report whether values are increasing or decreasing.
  • fd_vibrato fd_vibrato adds a vibrato-like effect to an input signal and outputs the processed signal.
  • fd_vidbuf fd_vidbuf links a named frame buffer to a video feed, making it useful for working with multiple video feeds.
  • fd_visera fd_visera is a utility for opening or closing canvases and has no outlets.
  • fd_vu fd_vu is a two-channel VU meter with mute and volume controls.
  • fd_welch fd_welch applies the Welch curve formula, 1-((n-((N-1)/2))/((N-1)/2))², to an input stream and outputs the resulting Welch values.
  • fd_welch~ fd_welch~ generates the same Welch window as fd_welch, but writes it into an array using DSP; it is used by fd_windows.
  • fd_wielevy fd_wielevy computes a Wiener–Lévy process, also identified in the help patch as the Ornstein–Uhlenbeck process, following Xenakis’ method 3 in Formalized Music.
  • fd_wielevy2 fd_wielevy2 implements Xenakis’ Method 4, a Wiener–Lévy process with two reflecting barriers, as described on page 247 of Formalized Music.
  • fd_wincat fd_wincat concatenates windows next to one another in an array specified by its first argument.
  • fd_winconcat fd_winconcat performs equal-size window concatenation into a named array, serving as a simpler form of fd_wincat.
  • fd_windows fd_windows is a utility abstraction that loads and plots many useful window tables for selection by index with fd_seltab.
  • fd_winreceive~ fd_winreceive~ outputs a named window table as a signal on every DSP block, for example the sinc window with argument 64.
  • fd_wood fd_wood generates a wood-like audio signal when it receives a bang.
  • fd_write fd_write is a utility for writing a sound file when Pure Data is run from the terminal.
  • fd_write1 fd_write1 is a mono file recorder with controls to start and stop recording and to reset all counters to zero.
  • fd_write2 fd_write2 is a stereo file recorder for writing audio to a file.
  • fd_write5 fd_write5 is a five-track file recorder for writing audio to a file.
  • fd_xnote fd_xnote is a note generator that produces a signal for audio output.
  • fd_z12 fd_z12 implements Miller Puckette’s z12 algorithm as presented in an ICMC paper; the help patch does not explain the algorithm’s purpose further.
  • fd_zero-crossing~ fd_zero-crossing~ processes a signal to identify its zero crossings, as demonstrated with input from osc~.
  • fdm fdm is an accumulator that performs either addition or multiplication, outputting the accumulated sum or product for each float input.
  • frand frand outputs a random floating-point number when it receives a bang, using a range set by minimum and maximum creation arguments; without arguments, the range defaults to 0–1.
  • glistinfo glistinfo retrieves glist information about the current Pd canvas, including properties such as dimensions, coordinates, font, zoom, visibility, and edit state.
  • halton halton computes a Halton sequence, producing each sequence value as a float from its float input.
  • list-exec list-exec computes a specified function on every element of an input list.
  • lornorm lornorm computes the Lorenz equations and is described as related to lorenz, but the patch does not provide enough text to explain the difference between them.
  • lorsig~ lorsig~ computes the Lorenz equations for every audio sample, producing a signal defined as sqrt(lorenzdist^2 + in^2) * 0.1.
  • lor~ lor~ computes the Lorenz equations, with separate signal inlets for the step and the system coefficients a, b, and c.
  • minimax minimax tracks the minimum and maximum values observed over time in a stream of floats whose range is unknown, while passing the input stream through its first outlet.
  • mtwister mtwister is a Mersenne Twister pseudorandom real-number generator that outputs a new value when it receives a bang.
  • norm norm normalizes a stream of floats with an initially unknown range into values from 0 to 1, adapting the normalized range over time.
  • parabola parabola iterates the function x1 = (1 - x0) * a * x0, producing an unnormalized output.
  • particle particle treats each incoming float as a particle in a stream and outputs the stream’s nth-order derivative.
  • pmtwister pmtwister is a random number generator that selects prime numbers.
  • prandom prandom provides random values using the standard C rand() function.
  • randy randy outputs a random integer and is similar to Pd’s random object.
  • reflect reflect reflects an incoming float within a range from the negative to the positive range value, optionally adding an offset to the axis of symmetry.
  • root root gets the root canvas from within a subpatch or abstraction, producing its Tk-namespace symbol (for example, .x60b060).
  • scroll scroll scrolls the X or Y axis of a named or current canvas in steps or to an absolute position, using messages such as xaxis, yaxis, xpos, and ypos.
  • siginfo siginfo analyzes an incoming flow of numbers supplied as a list of floats, producing raw information, “cooked” information, and the previous input.
  • sradio sradio is a hacked hradio that behaves like a small array of values and provides internal preset storage and recall.
  • tracks tracks assigns continuity-preserving indexes to indexed, multidimensional data by matching points across contiguous frames using the smallest Euclidean distance.