Skip to content

iemlib

A broad collection of Pure Data externals and abstractions covering message processing, mathematical operations, filters, conversion utilities, and other audio/control tasks. Its packaged introduction documents objects such as message-rate limiters, breakpoint-envelope control, counters, and numerical conversions.

Contributors

People who contribute to this project.

Objects

  • $n $n is an abbreviation for dollarg that outputs arguments originally passed to its parent abstraction.
  • FIR~ FIR~ convolves an input signal with coefficients stored in an array, providing finite impulse response filtering.
  • LFO_noise~ LFO_noise~ generates two-point-interpolated, time-stretched white noise with an output range between -0.5 and +0.5, suitable as a low-frequency noise source.
  • add2_comma add2_comma adds a comma after an incoming message.
  • ap1_dp~ ap1_dp~ is a first-order all-pass filter implemented with double precision.
  • ap1~ ap1~ is a first-order all-pass filter whose first argument sets the frequency, in Hz, at which the phase shift is −90 degrees.
  • ap2_dp~ ap2_dp~ is a second-order all-pass filter that uses double-precision processing.
  • ap2~ ap2~ is a second-order all-pass filter for processing an input signal.
  • aspeedlim aspeedlim rate-limits anything messages using a lock time specified in milliseconds by its first argument.
  • bp2_dp~ bp2_dp~ is a double-precision second-order band-pass filter with a Q inlet.
  • bp2~ bp2~ is a second-order band-pass filter with a signal input and a Q inlet.
  • bpe bpe generates a break-point envelope from a list of value/relative-time pairs, beginning with an initial value at 0 ms.
  • bpq2_dp~ bpq2_dp~ is a double-precision second-order band-pass filter with a Q inlet.
  • bpq2~ bpq2~ is a second-order band-pass filter with a signal inlet and a Q-control inlet.
  • bpw2_dp~ bpw2_dp~ is a double-precision, second-order band-pass filter with a signal input and an inlet for bandwidth in hertz.
  • bpw2~ bpw2~ is a second-order band-pass filter with a bandwidth inlet.
  • bs2_dp~ bs2_dp~ is a double-precision second-order band-stop filter with a Q inlet.
  • bs2~ bs2~ is a second-order band-stop filter with a signal input and output and a Q inlet.
  • bsq2_dp~ bsq2_dp~ is a double-precision second-order band-stop filter with signal input and output and a Q control inlet.
  • bsq2~ bsq2~ is a second-order band-stop filter whose Q can be controlled through an inlet.
  • bsw2_dp~ bsw2_dp~ is a double-precision, second-order band-stop filter for an incoming signal.
  • bsw2~ bsw2~ is a second-order band-stop filter with a signal input and output and an inlet for controlling bandwidth in hertz.
  • db2v db2v converts an input level in decibels (dB) to a unitless output value.
  • dbtofad dbtofad converts MIDI dB values to a fader-scale representation.
  • divl~ divl~ performs signal division, with the second operand changing through line~-style interpolation.
  • dollarg dollarg retrieves the parent abstraction’s initial arguments, serving a role similar to using $1 with a float or symbol.
  • dsp~ dsp~ controls audio DSP on or off and measures DSP load.
  • exp_inc exp_inc is a bang-controlled counter that increments its value linearly using an absolute increment and/or exponentially using a relative percentage, within specified minimum and maximum values.
  • f2note f2note converts an input frequency in Hz into a floating-point MIDI pitch and a note with its deviation in cents.
  • fade~ fade~ is a special signal waveshaper for input signals in the range 0 to 1, intended for shaping fades.
  • fadtodb fadtodb converts a fader-scale value to MIDI dB.
  • fadtorms fadtorms converts a fader-scale value to an RMS value.
  • float24 float24 concatenates float-fragment arguments to produce a 23-bit floating-point value.
  • for++ for++ is a counter that advances from a beginning number toward an ending number, with an optional delay in milliseconds and increment step size.
  • hml_shelf~ hml_shelf~ is a high-, middle-, and low-shelving filter that processes a signal using separate low, mid, and high gain levels in dB, with low and high frequency controls in Hz.
  • hp10_bess~ hp10_bess~ is a 10th-order high-pass filter with a Bessel characteristic.
  • hp10_butt~ hp10_butt~ is a 10th-order high-pass filter with a Butterworth characteristic.
  • hp10_cheb~ hp10_cheb~ is a 10th-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp10_crit~ hp10_crit~ is a 10th-order high-pass filter with critical damping.
  • hp1_dp~ hp1_dp~ is a first-order high-pass filter that processes signals using double precision.
  • hp1~ hp1~ is a first-order high-pass filter that processes an input signal and outputs the filtered signal.
  • hp2_bess~ hp2_bess~ is a second-order high-pass filter with a Bessel characteristic.
  • hp2_butt~ hp2_butt~ is a second-order high-pass filter with a Butterworth characteristic.
  • hp2_cheb~ hp2_cheb~ is a second-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp2_crit~ hp2_crit~ is a second-order high-pass filter with critical damping.
  • hp2_dp~ hp2_dp~ is a second-order high-pass filter that processes signals using double precision.
  • hp2~ hp2~ is a second-order high-pass filter that processes an input signal and produces a filtered output signal.
  • hp3_bess~ hp3_bess~ is a third-order high-pass filter with a Bessel characteristic.
  • hp3_butt~ hp3_butt~ is a third-order high-pass filter with a Butterworth characteristic.
  • hp3_cheb~ hp3_cheb~ is a third-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp3_crit~ hp3_crit~ is a third-order high-pass filter with critical damping.
  • hp4_bess~ hp4_bess~ is a fourth-order high-pass filter with a Bessel characteristic.
  • hp4_butt~ hp4_butt~ is a fourth-order high-pass filter with a Butterworth characteristic.
  • hp4_cheb~ hp4_cheb~ is a fourth-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp4_crit~ hp4_crit~ is a fourth-order high-pass filter with critical damping.
  • hp5_bess~ hp5_bess~ is a fifth-order high-pass filter with a Bessel characteristic, intended to filter an input signal and produce a signal output.
  • hp5_butt~ hp5_butt~ is a fifth-order high-pass filter with a Butterworth characteristic.
  • hp5_cheb~ hp5_cheb~ is a fifth-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp5_crit~ hp5_crit~ is a fifth-order high-pass filter with critical damping.
  • hp6_bess~ hp6_bess~ is a sixth-order high-pass filter with a Bessel characteristic.
  • hp6_butt~ hp6_butt~ applies a sixth-order high-pass filter with a Butterworth characteristic to an input signal.
  • hp6_cheb~ hp6_cheb~ is a sixth-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp6_crit~ hp6_crit~ is a sixth-order high-pass filter with critical damping.
  • hp7_bess~ hp7_bess~ is a seventh-order high-pass filter with a Bessel characteristic for processing an input signal.
  • hp7_butt~ hp7_butt~ is a seventh-order high-pass filter with a Butterworth characteristic.
  • hp7_cheb~ hp7_cheb~ is a seventh-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp7_crit~ hp7_crit~ applies a critically damped seventh-order high-pass filter to an input signal.
  • hp8_bess~ hp8_bess~ is an eighth-order high-pass filter with a Bessel characteristic.
  • hp8_butt~ hp8_butt~ is an eighth-order high-pass filter with a Butterworth characteristic.
  • hp8_cheb~ hp8_cheb~ is an eighth-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp8_crit~ hp8_crit~ is an eighth-order high-pass filter with critical damping.
  • hp9_bess~ hp9_bess~ is a ninth-order high-pass filter with a Bessel characteristic for processing an input signal.
  • hp9_butt~ hp9_butt~ is a ninth-order high-pass filter with a Butterworth characteristic for processing an input signal.
  • hp9_cheb~ hp9_cheb~ is a ninth-order high-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • hp9_crit~ hp9_crit~ is a ninth-order high-pass filter with critical damping.
  • iem_alisttosym iem_alisttosym converts a list of ASCII-valued floats into a symbol.
  • iem_anything iem_anything is a latch for arbitrary Pd messages, analogous to float for float messages or symbol for symbol messages.
  • iem_append iem_append merges a head message in front of a tail message to form its output message.
  • iem_blocksize~ iem_blocksize~ outputs the current DSP block size of its canvas or subpatch in samples.
  • iem_i_route iem_i_route routes lists according to a prepended integer, providing separate routes for a specified inclusive range and a rejected output for nonmatching input.
  • iem_pbank_csv iem_pbank_csv is a parameter bank that stores parameter sets in numbered memory lines and reads or writes them using CSV-like syntax.
  • iem_prepend iem_prepend merges a stored head message in front of a tail message received at its hot inlet, providing a way to prefix outgoing Pd messages.
  • iem_r iem_r is a receive object whose receive label can be changed, serving as an alias of the demonstrated iem_receive.
  • iem_receive iem_receive is a receive object whose receive label can be changed, with the initial symbol or float label supplied as its first argument.
  • iem_route iem_route is an object similar to route, intended to route messages according to selectors such as red and black.
  • iem_s iem_s is a send object whose send label can be changed, with its first argument specifying an initial symbol or float label.
  • iem_samplerate~ iem_samplerate~ outputs the current sample rate, in Hz, of a Pd window.
  • iem_sel_any iem_sel_any stores multiple message entries and selects one by a float index, providing a way to control a message box with multiple contents.
  • iem_send iem_send is a send object whose destination label can be changed at runtime.
  • iem_symtoalist iem_symtoalist converts a symbol into a list of ASCII-valued floats.
  • ii ii is an abbreviated form of init, used to initialize values or messages via a loadbang.
  • iiroute iiroute routes lists according to a prepended integer within a specified range, sending unmatched input to a rejection outlet.
  • init init initializes and outputs a value or message via a loadbang, with creation arguments specifying content such as floats, symbols, lists, or other messages.
  • list2send list2send converts supported lists into messages sent to corresponding receive symbols.
  • lp10_bess~ lp10_bess~ is a 10th-order low-pass filter with a Bessel characteristic.
  • lp10_butt_dp~ lp10_butt_dp~ is a 10th-order low-pass filter with a Butterworth characteristic, implemented with double precision.
  • lp10_butt~ lp10_butt~ is a 10th-order low-pass filter with a Butterworth characteristic.
  • lp10_cheb~ lp10_cheb~ is a 10th-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp10_crit~ lp10_crit~ is a 10th-order low-pass filter with critical damping, intended to filter an input signal at a specified cutoff frequency.
  • lp1_dp~ lp1_dp~ is a first-order low-pass filter that processes its signal with double precision.
  • lp1_t~ lp1_t~ is a first-order low-pass filter with a signal inlet for its time constant.
  • lp1~ lp1~ is a first-order low-pass filter for an input signal, producing a filtered signal output.
  • lp2_bess~ lp2_bess~ is a second-order low-pass filter with a Bessel characteristic for processing an input signal.
  • lp2_butt~ lp2_butt~ is a second-order low-pass filter with a Butterworth characteristic.
  • lp2_cheb~ lp2_cheb~ is a second-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp2_crit~ lp2_crit~ is a second-order low-pass filter with critical damping, processing a signal input into a filtered signal output.
  • lp2_dp~ lp2_dp~ is a second-order low-pass filter that uses double precision.
  • lp2~ lp2~ is a second-order low-pass filter for processing an input signal and producing a filtered output signal.
  • lp3_bess~ lp3_bess~ is a third-order low-pass filter with a Bessel characteristic for processing an input signal.
  • lp3_butt~ lp3_butt~ is a third-order low-pass filter with a Butterworth characteristic.
  • lp3_cheb~ lp3_cheb~ is a third-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp3_crit~ lp3_crit~ is a third-order low-pass filter with critical damping.
  • lp4_bess~ lp4_bess~ is a fourth-order low-pass filter with a Bessel characteristic for processing an input signal.
  • lp4_butt~ lp4_butt~ is a fourth-order low-pass filter with a Butterworth characteristic.
  • lp4_cheb~ lp4_cheb~ is a fourth-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp4_crit~ lp4_crit~ is a fourth-order low-pass filter with critical damping.
  • lp5_bess~ lp5_bess~ is a fifth-order low-pass filter with a Bessel characteristic, intended to attenuate signal frequencies above its cutoff.
  • lp5_butt~ lp5_butt~ is a fifth-order low-pass filter with a Butterworth characteristic.
  • lp5_cheb~ lp5_cheb~ is a fifth-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp5_crit~ lp5_crit~ is a fifth-order low-pass filter with critical damping.
  • lp6_bess~ lp6_bess~ is a sixth-order low-pass filter with a Bessel characteristic, used to filter an input signal and produce a signal output.
  • lp6_butt~ lp6_butt~ is a sixth-order low-pass filter with a Butterworth characteristic, intended to attenuate signal frequencies above its cutoff.
  • lp6_cheb~ lp6_cheb~ is a sixth-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp6_crit~ lp6_crit~ is a sixth-order low-pass filter with critical damping.
  • lp7_bess~ lp7_bess~ is a seventh-order low-pass filter with a Bessel characteristic, intended to filter an input signal at a specified cutoff frequency.
  • lp7_butt~ lp7_butt~ is a seventh-order low-pass filter with a Butterworth characteristic.
  • lp7_cheb~ lp7_cheb~ is a seventh-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp7_crit~ lp7_crit~ is a seventh-order low-pass filter with critical damping.
  • lp8_bess~ lp8_bess~ is an eighth-order low-pass filter with a Bessel characteristic.
  • lp8_butt~ lp8_butt~ is an eighth-order low-pass filter with a Butterworth characteristic, used to filter an input signal at a specified cutoff frequency.
  • lp8_cheb~ lp8_cheb~ is an eighth-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp8_crit~ lp8_crit~ is an eighth-order low-pass filter with critical damping.
  • lp9_bess~ lp9_bess~ is a ninth-order low-pass filter with a Bessel characteristic, intended to filter an input signal at a specified cutoff frequency.
  • lp9_butt~ lp9_butt~ is a ninth-order low-pass filter with a Butterworth characteristic.
  • lp9_cheb~ lp9_cheb~ is a ninth-order low-pass filter with a Chebyshev characteristic and +1 dB passband ripple.
  • lp9_crit~ lp9_crit~ is a ninth-order low-pass filter with critical damping, used to filter an input signal at a specified cutoff frequency.
  • m2f~ m2f~ converts a MIDI pitch signal to a frequency signal in hertz.
  • maverage~ maverage~ is a moving-average filter that smooths a noisy signal by averaging recent samples over a specified time window.
  • mergefilename mergefilename merges a list of symbols and floats into a single symbol, optionally inserting a separator character between items; the default separator is empty.
  • modulo_counter modulo_counter increments its counter value on each bang, cycling from 0 through maximum minus one.
  • para_bp2~ para_bp2~ is a second-order parametric band-pass filter for processing an input signal, with controls for center frequency in Hz, Q, and band level in dB.
  • parent$0 parent$0 retrieves the unique $0 number of the parent Pd patch.
  • parentdollarzero parentdollarzero retrieves the unique $0 number of its parent Pd patch.
  • peakenv_AR~ peakenv_AR~ generates a peak-envelope signal from an input signal, with independently adjustable attack and release time constants in milliseconds.
  • peakenv_hold~ peakenv_hold~ outputs a signal peak envelope, holding each peak constant for a specified time before releasing.
  • post_netreceive post_netreceive converts message lists with a prepended float index and routes their contents to corresponding send symbols within the minimum and maximum index range given by its two creation arguments.
  • pp pp (also known as iem_prepend) prepends a stored head message to an incoming tail message and outputs the merged result.
  • pre_inlet pre_inlet supports externals with multiple message inlets by outputting a two-item message (a selector symbol and an inlet-index float) before releasing each incoming message.
  • pre_netsend pre_netsend receives messages without a float index and converts them into message lists with a prepended float index, for use before sending them over a network.
  • prepend_ascii prepend_ascii prepends its creation arguments to an incoming message, converting the first argument—an integer ASCII value from 1 to 255—into the message’s selector symbol.
  • pvu~ pvu~ is a peak VU meter that reports an input signal’s peak level in dB and counts threshold overflows per metro interval.
  • rbpq2~ rbpq2~ is a second-order resonant band-pass filter with a signal input and a Q inlet.
  • rbpw2~ rbpw2~ is a second-order resonant band-pass filter with an inlet for bandwidth control.
  • receive2list receive2list converts messages received from configured receive symbols into a list, prepending a float that corresponds to each symbol.
  • rmstofad rmstofad converts a linear RMS value to a fader-scale value.
  • round_zero round_zero rounds very small numbers between plus and minus a specified threshold.
  • rvu~ rvu~ is an RMS VU meter that measures an input signal and outputs the RMS level as a float in dB.
  • sin_freq~ sin_freq~ calculates the frequency of a sine-wave signal and outputs the result as a signal in Hz.
  • sin_phase~ sin_phase~ calculates the phase difference between two sine-wave signals and outputs it as a signal measured in samples.
  • soundfile_info soundfile_info reads and reports header data from a WAV sound file, including its sample rate, filename, sample length, header size, channel count, sample resolution, endianness, and format code.
  • sparse_FIR~ sparse_FIR~ convolves an input signal with a sparse FIR coefficient list containing alternating index/value pairs for nonzero coefficients; an equivalent matrix message can also define the coefficients.
  • split3 split3 routes an incoming float to one of three outputs according to two limits: below the low limit, within the limits (and below the high limit), or greater than or equal to the high limit.
  • stripfilename stripfilename removes a specified number of characters from the beginning or end of a symbol.
  • subl~ subl~ performs signal subtraction using a second operand that is interpolated like line~.
  • t3_delay t3_delay is a time-tagged trigger delay intended for sample-based timing.
  • t3_line~ t3_line~ is demonstrated as a signal-rate line generator for shaping an attack/release envelope with sample-based timing and optional pre-delay.
  • t3_metro t3_metro is a variable metronome that generates time-tagged triggers, intended for sample-accurate timing.
  • t3_pbe The help patch does not document a t3_pbe object; it instead identifies t3_bpe as a time-tagged trigger breakpoint envelope.
  • t3_sig~ t3_sig~ is a time-tagged trigger-to-signal object, intended to turn timed trigger data into an audio signal.
  • t3_timer t3_timer is a time-tagged trigger timer that measures the time difference, in milliseconds, between two t3_bang events.
  • toggle_mess toggle_mess controls a message box by cycling through the float or symbol values given as creation arguments.
  • transf_fader transf_fader transforms a slider’s input range using configurable input/output breakpoint pairs.
  • unsymbol unsymbol converts a symbol into an anything selector.
  • v2db v2db converts an input value to an output level in dB.
  • vcf_bp2~ vcf_bp2~ is a second-order band-pass filter for processing an input signal.
  • vcf_bp4~ vcf_bp4~ is a fourth-order band-pass filter with signal-rate frequency and Q controls.
  • vcf_bp6~ vcf_bp6~ is a sixth-order band-pass filter with signal-controlled frequency and Q.
  • vcf_bp8~ vcf_bp8~ is an eighth-order band-pass filter with signal inputs for the audio to filter, center frequency, and Q.
  • vcf_hp2~ vcf_hp2~ is a second-order high-pass filter with signal-rate frequency and Q controls.
  • vcf_hp4~ vcf_hp4~ is a fourth-order high-pass filter with signal-rate frequency and Q controls.
  • vcf_hp6~ vcf_hp6~ is a sixth-order high-pass filter with signal-controlled cutoff frequency and Q.
  • vcf_hp8~ vcf_hp8~ is an eighth-order high-pass filter with signal-controlled cutoff frequency and Q.
  • vcf_lp2~ vcf_lp2~ is a second-order low-pass filter with signal-rate frequency and Q controls.
  • vcf_lp4~ vcf_lp4~ is a fourth-order low-pass filter with signal-rate frequency and Q controls.
  • vcf_lp6~ vcf_lp6~ is a sixth-order low-pass filter whose cutoff frequency and Q are controlled by signals.
  • vcf_lp8~ vcf_lp8~ is an eighth-order low-pass filter with signal-rate frequency and Q controls.
  • vcf_rbp2~ vcf_rbp2~ is a second-order resonant band-pass filter with signal-controlled frequency and Q.
  • vcf_rbp4~ vcf_rbp4~ is a fourth-order resonant band-pass filter with signal-controlled frequency and Q.
  • vcf_rbp6~ vcf_rbp6~ is a sixth-order resonant band-pass filter that processes an input signal and produces a filtered signal output.
  • vcf_rbp8~ vcf_rbp8~ is an eighth-order resonant band-pass filter for signal input.