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

svf~

State-variable filter with simultaneous outputs

Description

The svf~ object is an implementation of a state-variable filter algorithm described in Hal Chamberlin's book, "Musical Applications of Microprocessors." A unique feature of this filter object is that it produces lowpass, highpass, bandpass, and bandreject (notch) output simultaneously - all four are available as outlets.

Examples

Four filter outputs are simultaneously available from the svf~ object

Arguments

center-frequency [float]

Optional
Unitshz

Sets the initial center frequency for the filter. The default value is 0.

Q [float]

Optional

Sets the initial Q value for the filter. The default value is 0.01.

Hz [symbol]

Optional

Sets the frequency input mode to Hz (the default mode - hence this is the same as providing no mode argument).

linear [symbol]

Optional

Sets the frequency input mode to linear (0 -1).

radians [symbol]

Optional

Sets the frequency input mode to radians (0 -1).

Attributes

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

int

Arguments

center-frequency/Q [int]
In middle and right inlets: Integer values are converted to floats and can be sent in the two right inlets to change the center frequency and Q of the filter. By default, the center frequency is expressed in Hz, where the allowable range is from 0 to one quarter of the current sampling rate. If a signal is connected to one of the inlets, a number received in that inlet is ignored. The values are sampled once every signal vector.

float

Arguments

center-frequency/Q [float]
In middle and right inlets: A float can be sent in the two right inlets to change the center frequency and Q of the filter. By default, the center frequency is expressed in Hz, where the allowable range is from 0 to one quarter of the current sampling rate. For convenience, svf~ has two additional input modes that use the more conventional input range, 0 - 1. (see the linear and radians messages). If a signal is connected to one of the inlets, a number received in that inlet is ignored. The values are sampled once every signal vector.

Hz

In either inlet: Sets the frequency input mode to Hz (the default).

clear

Clears the object's sample-memory in case of a blow-up.

linear

In any inlet: Sets the frequency input mode to linear (0 - 1). Linear mode is simply a scaled version of the standard Hz mode, except that values in the 0-1 range traverse the full frequency range.

radians

In any inlet: Sets the frequency input mode to radians (0 - 1). Radians mode lets you set the center frequency directly -- while the input has the same range (0-1), the output has a curved frequency response that is closer to the exponential pitch scale of the human ear.

signal

In left inlet: Signal to be filtered.

In middle inlet: Sets the filter center frequency in Hz.

In right inlet: Sets the bandpass filter "Q" - roughly, the sharpness of the filter - where Q is defined as the filter bandwidth divided by the center frequency. Useful Q values are typically between 0.01 and 500.

Output

signal

The filtered input signal.

See Also

Name Description
Sound Processing Techniques Sound Processing Techniques
biquad~ Two-pole, two-zero filter
comb~ Apply a comb filter effect
cross~ Third-order crossover filter
onepole~ Single-pole lowpass filter
lores~ Resonant lowpass filter
reson~ Resonant bandpass filter
Audio Filtering Audio Filtering