Package MSP

fffb~

Fast fixed filter bank

Description

The fffb~ object implements a bank of bandpass filter objects, each of which is similar to the reson~ filter object. An input signal is applied to all filters, and the outputs of each filter are available separately. When the fffb~ object is instantiated as mcs.fffb~ the object has a single multichannel output containing the individual filters. Otherwise it has a separate outlet for each filter.

Discussion

This object is more efficient than using a number of reson~ objects, but for the sake of speed does not accept signals for parameter changes.

Arguments

number-of-filters[int]
optional

The first argument specifies the number of filters (default 4, minimum 1, maximum 128 for fffb~ and 1024 for mcs.fffb~).

1st-filter-frequency[float]
optional

Three additional float arguments may be used to specify the frequency of the first filter, the ratio of frequencies between successive filters, and the Q factor for all of the filters.

filter-frequency-ratios (float)[float]
optional

Following the initial first filter frequency, a list is used to specify the ratio of frequencies between successive filters.

Q[list]
optional

Following the initial first filter frequency and frequency ratio arguments, a third argument specifies the Q applied to all filters.

harmonic-series-flag (H)[symbol]
optional

If you use the letter H as the second argument rather than a float, the filters will be tuned to a harmonic series rather using frequency ratios.

Attributes

Common Box Attributes

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

annotation[symbol]

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

background[int]: 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]: 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]: 0

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

jspainterfile[symbol]

You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.

patching_rect[4 floats]: 0. 0. 100. 0.

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

position[2 floats]
write-only

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]: 0

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

presentation_rect[4 floats]: 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]
write-only

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]
write-only

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[4 floats]

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

textjustification[int]

Sets the justification for the object's text. 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

list

A filter index followed by just a frequency or a frequency and a Q setting will set the particular filter addressed by the index number to the settings which follow it.

Arguments:
  • filter-index and settings [list]

anything

A filter index followed by just a frequency or a frequency and a Q setting will set the particular filter addressed by the index number to the settings which follow it.

Arguments:
  • filter-index and settings [list]

Q

In left inlet: The symbol Q , followed by a list consisting of an int and one or more floats, sets the Q factors of the filters, starting with the filter whose index is given by the first number. This filter's Q factor is set to the second number in the list. Any following numbers in the list set the Q factors of filters following the first designated one. Indices are zero-based.

Arguments:
  • bandwidths [list]

QAll

In left inlet: The word QAll , followed by a float, sets the Q of all of the filters to the given floating-point value.

Arguments:
  • general-bandwidth [float]

clear

Clears the fffb~ object's memory of previous inputs and outputs.

freq

In left inlet: The word freq , followed by a list consisting of an int and one or more floats, sets the center frequencies of the filters starting with the filter whose index is given by the first number. This filter's frequency is set to the second number in the list. Any following numbers in the list set the frequencies of filters following the first designated one. Indices are zero-based.

For example, the message freq 3 1974.0 333.0 1234.0 sets the frequency of the fourth filter to 1974Hz, the fifth filter to 333Hz, and the sixth filter to 1234Hz.

Arguments:
  • filter-frequencies [list]

freqAll

in left inlet: The word freqAll , followed by a float, sets the center frequencies of all of the filters to the given floating-point value.

Arguments:
  • general-center-frequency [float]

freqRatio

In left inlet: The word freqRatio , followed by a list of two or more numbers sets the center frequency of the first filter to the first value in the list, and sets the frequencies of the remaining filters by repeatedly multiplying the first value by the second, so that the ratio of frequencies of successive filters is the second value. For example, the message freqRatio 440. 2. sets the frequency of the first filter to 440Hz, the frequency of the second to 880Hz, the frequency of the third to 1760Hz, and so on.

If the second item in the list is the letter H rather than a number, the filters will be tuned in a harmonic series. For example, the message freqRatio 100 H sets the frequencies of the filters to 100Hz, 200Hz, 300Hz, 400Hz, and so on.

Arguments:
  • frequency-ratios [list]

gain

In left inlet: The word gain , followed by a list consisting of an int and one or more floats, sets the gains of the filters starting with the filter whose index is given by the first number. This filter's gain is set to the second number in the list. Any following numbers in the list set the gains of filters following the first designated one. Indices are zero-based.

Arguments:
  • amplitudes [list]

gainAll

In left inlet: The word gainAll , followed by a float, sets the gain of all of the filters to the given floating-point value.

Arguments:
  • general-amplitude [float]

signal

The signal present at the left inlet is sent to all of the filters.

Output

signal

The output of each filter is provided at a separate outlet. The leftmost outlet is the output of the first filter.

See Also

Name Description
reson~ Resonant bandpass filter