A newer version of Max is available. Click here to access the latest version of the Max documentation

filterdesign

Create a filter specification

Description

Use the filterdesign object to create a dictionary containing a specification for a filter that can be realized by several other objects including the cascade~ object.

Arguments

None.

Attributes

frequency [2 floats]

Filter cutoff frequencies specified in units defined by the units attribute. For lowpass and highpass filters a single frequency will be used to define the cutoff. For bandpass and bandstop filters two frequencies are required.

name [symbol]

Name to which the output dictionary is bound

order [int]

The order of the filter, which is to say the number of poles and zeroes. For reference, the biquad~ object is a second-order filter (2 poles and 2 zeroes).

passband_ripple [float]

Magnitude ripple in the passband for Chebyshev Type 1 filters in decibels. Higher amounts of ripple will provide a narrower transition band given a constant order for the filter.

response [symbol]

Filter response shape

Possible values:

'lowpass' ( Low frequencies pass through, high frequencies are attenuated )
'highpass' ( High frequencies pass through, low frequencies are attenuated )
'bandpass' ( A band of frequencies pass through, low and high frequencies are attenuated )
'bandstop' ( A band of frequencies are attenuated, low and high frequencies pass through )

samplerate [int]

Samplerate used when unit attribute is set to hertz. If the samplerate is set to zero then MSP's samplerate will be used.

sos_output [int]

Inclusion of coefficients for second-order-sections in the output dictionary. This is the native format used by cascade~, zplane~, and filtergraph~.

stopband_attenuation [float]

Minimum attenuation in Chebyshev Type 2 filter stopband in decibels. For given order of filter, greater attenuation results in a wider transition band and less attenuation in the stopband results in a narrower transition band.

tf_output [int]

Include single-section transfer function coefficients in the output dictionary. This representation works well for low-ordered filters but quickly becomes subject to floating-point precision roundoff as the order of the filter increases.

topology [symbol]

The organization of the zeroes and poles used to realize the filter.

Possible values:

'butterworth' ( Gentle transition, flat passband, monotonically decreasing stopband )
'chebyshev-1' ( Steepest transition, definable ripple in passband, monotonically decreasing stopband )
'chebyshev-2' ( Moderate transition, flat passband, definable ripple in the stopband )

units [symbol]

Units of measurement for specifying frequencies

Possible values:

'hertz' ( Cycles per second, based on the samplerate attribute )
'normalized' ( Range from 0.0 to 1.0; 1.0 is the nyquist frequency )
'radians' ( Range from 0.0 to pi; pi is the nyquist frequency )

zpk_output [int]

Include zeroes-poles-gain representation in the output dictionary. Zeroes-poles-gain (ZPK) provides a more accurate representation of the filter's response than the single-section transfer function (see tf_output attribute) for higher-order filters. If calculating coefficients for second-order-sections (see sos_output attribute) the ZPK representation is calculated as an intermediary stage.

Common Box Attributes

annotation [symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background [int] (default: 0)

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color [4 floats]

Sets the color for the object box outline.

fontface [int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic

Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname [symbol]

Sets the object's font.

fontsize [float]

Sets the object's font size (in points).

Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden [int] (default: 0)

Toggles whether an object is hidden when the patcher is locked.

hint [symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick [int] (default: 0)

Toggles whether an object ignores mouse clicks in a locked patcher.

patching_rect [4 floats] (default: 0. 0. 100. 0.)

Sets the position and size of the object in the patcher window.

position [2 floats]

g/s(set)

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation [int] (default: 0)

Sets whether an object belongs to the patcher's presentation.

presentation_rect [4 floats] (default: 0. 0. 0. 0.)

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect [4 floats]

g/s(set)

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size [2 floats]

g/s(set)

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor [float]

Sets the color for the object's text in RGBA format.

textjustification [int]

Text Justification

Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname [symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

bang

Sending a bang will generate the filterdesign dictionary using current attributes and send it out the first outlet.

(mouse)

TEXT_HERE

Output

dictionary

A filterdesign dictionary containing the specified filter characteristics.

See Also

Name Description
Sound Processing Techniques Sound Processing Techniques
filterdetail Detail the characteristics of a filter
plot~ Visualize two-dimensional data
cascade~ Cascaded series of biquad filters
Audio Filtering Audio Filtering