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

oscbank~

Non-interpolating oscillator bank

Description

oscbank~ is a non-interpolating oscillator bank with signal inputs to set oscillator frequency and magnitude.

Examples

oscbank~ creates a bank of oscillators that you can control with one object

Arguments

number-of-oscillators [int]

Optional

The number of oscillators.

frequency-smoothing-factor (samples) [int]

Optional

The number of samples across which frequency smoothing is done.

amplitude-smoothing-factor (samples) [int]

Optional

The number of samples across which amplitude smoothing is done.

lookup-table-size (samples) [int]

Optional

The size, in samples, of the sinewave lookup table used by the oscbank~ object. The default is 4096. Since oscbank~ uses uninterpolated oscillators, you can choose to use a sinetable of larger size at the expense of CPU.

Note: There is only one wavetable for all oscillators in a given oscbank~ object,

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

inlet-specific-parameter-settings [int]
Performs the same function as float in any inlet (see signal and float messages).

float

Arguments

inlet-specific-parameter-settings [float]
In left inlet: Sets the frequency of the oscillator whose index is currently referenced to the current floating-point value of the signal. The default value is 0.

In 2nd inlet: Sets the magnitude (amplitude) of the oscillator whose index is currently referenced.

In 3rd inlet: If framesync is enabled using the framesync 1 message, a value in the range 0-1.0 sets the phase of the oscillator currently being referenced.

In 4th inlet: Sets the index of the oscillator currently being referenced.

clear

The word clear sets the frequency of all oscillators to zero and zeros all amplitudes.

copybuf

Arguments

buffer-object-name [symbol]
offset (samples) [int]
In left inlet: The word copybuf, followed by a symbol that specifies a buffer, copies samples from the buffer into the oscbank~ object's internal wavetable. The number of samples is set using the tabpoints message. An optional second integer argument specifies the position in the buffer at which samples are loaded (offset).

framesync

Arguments

behavioral-flag (0 or nonzero) [int]
The word framesync, followed by a non-zero number, enables frame synchronous operation. When frame synchronous operation is enabled, a given index's values will only change or begin their interpolated ramps to the next value when the index input signal is 0 (or once per n sample frame). Otherwise, a given index's values will change or begin their interpolated ramps to the next value when the index input signal is equal to that index. The default is off.

freqsmooth

Arguments

frequency-smoothing-factor (samples) [int]
The word freqsmooth, followed by an int, sets the number of samples across which frequency smoothing is done. The default is 1 (no smoothing).

magsmooth

Arguments

amplitude-smoothing-factor (samples) [int]
The word magsmooth, followed by an int, sets the number of samples across which magnitude (amplitude) smoothing is done on a oscillator. The default is 0 (no amplitude smoothing).

set

Arguments

frequency-amplitude-pairs (floats) [list]
The word set, followed by pairs of floating-point values, sets the frequency and amplitude of an oscillator in the oscillator bank. A list of n pairs will set the first n oscillators in the oscbank~ object and zero the amplitude of all others.

silence

The word silence zeros the amplitude of all the oscillators.

size

Arguments

number-of-oscillators [int]
The word size, followed by a number, sets the number of oscillators. The default is 64. The maximum number of oscillators is set by the argument first argument to the object.

tabpoints

Arguments

lookup-table-size (samples) [int]
The word tabpoints, followed by a number, sets the number of wavetable points (samples) in the oscbank~ object's internal wavetable. The default is 4096. The number of wavetable points should be a power or two between 2 and 2 16 . Any other value will be rounded to the nearest power of two.

signal

In left inlet: Sets the frequency of the oscillator whose index is currently referenced to the current floating-point value of the signal. The default value is 0.

In 2nd inlet: Sets the magnitude (amplitude) of the oscillator whose index is currently referenced.

In 3rd inlet: If framesync is enabled using the framesync 1 message, a signal in the range 0-1.0 sets the phase of the oscillator currently being referenced.

In 4th inlet: Sets the index of the oscillator currently being referenced.

Output

signal

A waveform consisting of the sum of the specified frequencies and amplitudes.

See Also

Name Description
ioscbank~ Interpolating oscillator bank