Skip to content

mapping

A Pure Data abstraction library for conditioning and mapping control or sensor data, with tools for range conversion, nonlinear response curves, coordinate conversion, filtering, and related transformations.

Contributors

People who contribute to this project.

Objects

  • breakpoint breakpoint curves a 0-to-1 input range into a 0-to-1 output range using a double-linear mapping.
  • breakpoint_smooth breakpoint_smooth curves a control input in the 0-to-1 range using a double-linear mapping, producing a curved float output.
  • bytemask bytemask generates a bitmask byte from values received through its eight float inlets and outputs the result as a float.
  • cartesian2spherical cartesian2spherical is a control abstraction that the help patch describes as converting spherical coordinates (r, phi, theta) to Cartesian coordinates (x, y, z), despite its contradictory name.
  • center_point center_point converts normalized 0-to-1 control data, such as joystick input, into data organized around a center point.
  • circular circular curves a float input using a double-circular mapping, producing a float output in the range 0 to 1.
  • circular_seat circular_seat curves an input range using a double-circular mapping, producing a float output in the range 0 to 1.
  • circular_sigmoid circular_sigmoid curves a control input using a double-circular mapping, producing an output in the range 0 to 1.
  • correlation correlation measures the correlation between two float streams, with one stream supplied to each inlet.
  • cubic_seat cubic_seat curves a control input using cubic curves, mapping the result to an output range of 0 to 1.
  • curve_draw curve_draw is a GUI control abstraction for drawing an input-to-output mapping curve, with both input and output ranging from 0 to 1.
  • curve_exp curve_exp maps a float input range to an exponential curve, with an output range from 0 to 1.
  • curve_fade curve_fade applies a non-linear transformation to control values for smooth, natural fades with continuity.
  • curve_graph curve_graph is a GUI control abstraction for drawing an arbitrary curve and using it for curve mapping.
  • curve_log curve_log maps a float input in the 0-to-1 range onto a logarithmic curve, producing a float output in the same 0-to-1 range.
  • debytemask debytemask decodes a bitmask byte received as a float into eight float outlets, providing the inverse operation of bytemask.
  • degrees2mapping degrees2mapping converts degree values into the mapping range for use with mapping controls and abstractions.
  • delay_n The help patch places delay_n after resample, suggesting that it is intended to delay a resampled control-value stream.
  • desegment desegment is a control abstraction with a list inlet, a float inlet, and a float outlet; the example uses desegment 4 and sends indexed value pairs such as “0 $1” through “3 $1”.
  • diff_n diff_n differentiates a float input, providing a control-rate measure of its change.
  • disjoin disjoin is a control abstraction that splits a range into two, producing float values through two outlets.
  • distance2d distance2d calculates the 2D distance between a point and a stream of points, outputting the result as a float.
  • distance_n distance_n calculates the distance between a point and a stream of points in n-dimensional space, outputting the result as a float.
  • downsample downsample is a control-rate filter abstraction that outputs one out of every n incoming data items, passing values of any type through its outlet.
  • elliptic elliptic curves an input range using two ellipses, mapping the output to the range 0–1.
  • elliptic_seat elliptic_seat curves a control input using a double-linear mapping, producing output in the range 0 to 1.
  • elliptic_sigmoid elliptic_sigmoid curves a control input using a double-linear mapping, producing output in the range 0 to 1.
  • env+ env+ is a control abstraction that acts as a positive envelope follower, producing a float output from float input.
  • env- env- is a control abstraction that acts as a negative envelope follower, taking float values through its first inlet and outputting floats.
  • exponential_curve exponential_curve curves an input range using a double-exponential function, producing a mapped output in the 0-to-1 range.
  • exponential_seat exponential_seat curves an input in the 0-to-1 range using a double-exponential function, producing a control value in the 0-to-1 output range.
  • exponential_sigmoid exponential_sigmoid curves a control input using a double-exponential function, mapping its output to the range 0 to 1.
  • fir fir is a control-rate finite impulse response filter that processes incoming floats using a list of coefficients.
  • gaussian gaussian generates a Gaussian curve from float control input.
  • hysteresis hysteresis adds hysteresis to floating-point input data for control-rate mapping.
  • iir iir computes an infinite impulse response low-pass filter for control data.
  • listto listto separates a list into a stream of individual atoms and outputs a bang when it reaches the end of the list.
  • local_max local_max filters a stream of floats and outputs the value of each local maximum when one occurs.
  • local_min local_min outputs the value of each local minimum in an incoming stream of floats.
  • logistic_sigmoid logistic_sigmoid curves a float input using a double-exponential, producing a float output mapped from 0 to 1.
  • lop lop is a control abstraction intended to filter float data independently of the data-flow frequency.
  • mapping2degrees mapping2degrees converts a float from the mapping range (0 to 1) into degrees.
  • mapping2midi mapping2midi converts numbers from the mapping range into MIDI values.
  • mapping2radians mapping2radians converts numbers from the mapping range into radians.
  • mean_n mean_n computes a finite impulse response (FIR) low-pass mean filter of order n for float input.
  • median_3 median_3 outputs the median value of the three most recent float samples.
  • median_5 median_5 is a control abstraction that outputs the median value of the last five float samples.
  • median_7 median_7 is a control abstraction that outputs the median value of the last seven float samples.
  • median_n median_n calculates the median of the last n numbers in a float stream, making it useful as a control filter for discarding unrealistic values.
  • midi2mapping midi2mapping is a control-rate conversion abstraction with one float inlet and one float outlet.
  • multi_slider multi_slider is a control/GUI abstraction intended to work with multiple slider values, as suggested by its use alongside several vsl objects.
  • nl nl is a control abstraction that produces an XY relation for a non-linearity operation, taking float input through two inlets and outputting a float.
  • one2four one2four is a control abstraction that performs a simple one-to-four mapping, producing four float outputs.
  • one2three one2three is a control abstraction for simple one-to-three mapping, taking float input and providing three float outputs.
  • one2two one2two is a control abstraction that provides simple one-to-two mapping, taking float input and producing two float outputs.
  • oscillo oscillo is a control-rate GUI abstraction that returns the amplitude covered by the last values, displayed on a scale from 0 to 1.
  • pmattractor_2d pmattractor_2d is a control abstraction for applying two-dimensional attraction or force behavior and outputs a list of values.
  • pmattractor_3d pmattractor_3d is a control abstraction for working with a three-dimensional attractor, outputting its state as a list.
  • pmcloud_1d pmcloud_1d is a control abstraction that outputs a list containing the positions of masses in a one-dimensional mass cloud.
  • pmcloud_2d pmcloud_2d is a control abstraction that models a two-dimensional cloud of masses and outputs their positions as a list.
  • pmcloud_3d pmcloud_3d is a control abstraction that models a three-dimensional cloud of masses and outputs their positions as lists.
  • pmcube_3d pmcube_3d is a control abstraction for manipulating a three-dimensional cube using grab coordinates or force vectors.
  • pmfilter pmfilter is a control abstraction that accepts floats through four inlets and produces two float outputs.
  • pmfilter_2d pmfilter_2d is a second-order physical-modeling filter for two-dimensional control data.
  • pmfilter_3d pmfilter_3d is a control abstraction intended to filter three-dimensional data represented as a three-float list, as suggested by the surrounding pack and unpack objects.
  • pmmulti_stable_2d pmmulti_stable_2d is a control abstraction for a two-dimensional mass system with multiple stable points, outputting the masses’ positions as a list.
  • pmopen_string_1d pmopen_string_1d implements a simple physical string model intended to generate multiple correlated outputs from a small number of controls.
  • pmrepulsor_1d pmrepulsor_1d is a control abstraction with a float output that accepts bang, force, grab, and grab_on messages, plus float inputs on its other two inlets.
  • pmrepulsor_2d pmrepulsor_2d is a control abstraction with two float outputs, demonstrated with two-dimensional force and grab messages.
  • pmrepulsor_3d pmrepulsor_3d is a control abstraction demonstrated with three-dimensional force and grab messages.
  • pmrigid_open_string_2d pmrigid_open_string_2d implements a simple two-dimensional physical model of an open string, producing the positions of its moving masses as a list and supporting correlated outputs from few inputs.
  • pmrigid_string_2d pmrigid_string_2d is a simple two-dimensional physical model of a string, producing a list of mass positions that can serve as correlated outputs.
  • pmsquare_2d pmsquare_2d is a simple two-dimensional physical model of a “string” that outputs a list.
  • pmstring_1d pmstring_1d is a simple physical model of a string made from moving masses, intended to create multiple correlated control outputs from a few inputs.
  • polar polar converts Cartesian coordinates (x, y) to polar coordinates.
  • polar2cartesian polar2cartesian converts 2D polar or 3D cylindrical coordinates (r, phi, z) into Cartesian coordinates (x, y, z).
  • quadratic quadratic curves an input range using a quadratic Bézier, producing a mapped output in the range 0 to 1.
  • quartic quartic curves a control input using a quartic function, mapping the output to the range 0 to 1.
  • radians2mapping radians2mapping converts a float in the range −π to π from radians into the mapping representation.
  • rec_play rec_play records and plays back a stream of floats, with support for writing to and loading from a wave file.
  • resample resample is a control abstraction with an anything inlet, a float inlet, and a list outlet.
  • rnd-stat The help patch does not provide enough information to determine the precise purpose or behavior of rnd-stat.
  • segment The segment control abstraction takes a float and outputs a list for routing a value among a configured number of segments.
  • sigmoide The help patch identifies sigmoide as a control abstraction with two float inlets and one float outlet, apparently intended for sigmoid-style mapping.
  • simplified_cubic_seat simplified_cubic_seat curves a control input using a simple cubic function, mapping the output to the range 0–1.
  • simplified_quadratic simplified_quadratic curves a raw input range using a simplified quadratic mapping, producing a curved control output.
  • sinusoid sinusoid maps an input range to a sinusoidal curve, producing output in the range 0 to 1.
  • smooth_double smooth_double performs double exponential smoothing (DES) on float control values, producing two float outputs.
  • smooth_triple smooth_triple performs triple exponential smoothing on control-rate float data, producing outputs for the smoothed signal, periodicity, and trend.
  • speedlimiter speedlimiter is a control-rate filter that limits negative variation in a float signal at each sample.
  • speedlimiter+ speedlimiter+ is a control-rate filter abstraction that limits positive variation in an incoming float to its argument for each sample.
  • speedlimiter- speedlimiter- is a control-rate filter abstraction that limits negative variation in a float signal.
  • spherical2cartesian spherical2cartesian converts spherical coordinates (r, phi, theta) into Cartesian coordinates (x, y, z).
  • spiral spiral converts Cartesian x/y coordinates to polar radius and angle values while allowing the angle to continue increasing or decreasing across rotations.
  • split_n split_n is a control abstraction with a float inlet, a list inlet, and a list outlet.
  • stepper stepper is a control abstraction for mapping values to a stepped output in the 0-to-1 range.
  • stream_check stream_check checks for the presence of a data stream, accepting anything at its inlet and producing a float at its outlet.
  • test_n test_n outputs 1 when the last n input values all equal a specified value.
  • threshold threshold is a control abstraction that outputs a new value only when a difference passes a threshold, helping reduce the flow of events controlling Pd.
  • threshold_max threshold_max is a control abstraction that applies a threshold relative to its input value and produces a float output.
  • timeroll timeroll is a GUI control abstraction that displays a changing value over time.
  • tolist tolist builds a list from a stream of incoming data.
  • track_max track_max tracks the maximum float value it receives and outputs a float.
  • track_min track_min tracks the minimum value received.
  • upsample upsample is a control abstraction that increases the sampling rate of incoming data.
  • variance variance computes the variance of incoming float values, presumably for control-data analysis.
  • vector vector converts Cartesian coordinates (x, y) to polar coordinates.
  • wave wave is a control abstraction that outputs a list representing wave amplitudes.
  • wave_loop wave_loop is a control abstraction with four float inlets and one list outlet, apparently intended to produce a vector for display by multi_slider.