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

vectral~

Vector-based envelope follower

Description

Use the vectral~ object to filter frame-based signal data such as the output of the fft~ object.

Examples

vectral~ performs different types of smoothing between frames of vectored data (e.g., FFT signals)

Discussion

It may operate in one of the following modes:
rampsmooth <up> <down>- linear ramp across up/down frames to the new value
slide <up> <down>- logarithmic movement to new value
deltaclip <max> <min>- limits the change in samples to be in the given range

Arguments

vector-size [int]

Optional

The argument is the vector size for the operation. It defaults to 512, but should be set appropriately for the size of the vectors you feed into the vectral~ 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

clear

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

deltaclip

Arguments

low-limit [float]
high-limit [float]
In left inlet: The word deltaclip, followed by two floats, limits the change in bins of successive vectors to the values given. This is equivalent to the time-domain deltaclip~ object.

rampsmooth

Arguments

number-of-interpolating-frames [list]
In left inlet: The word rampsmooth, followed by two ints, causes the vector to be smoothed in a linear fashion across successive frames. The arguments specify the number of frames to use to interpolate values in both directions. This is equivalent to the time-domain filtering done by the rampsmooth~ object.

signal

In left inlet: Accepts a sync signal for the output index of the vector. This is typically in the range of 0 to n-1 where n is the size of the vector.

In middle inlet: A sync signal received in the middle inlet is used to synchronize the input index of the vector being processed. The sync signal will typically be in the range 0 to n-1 where n is the size of the vector. If the range of the sync signal is different than the output index, the incoming vector will be "bin-shifted" by the difference between the two signals.

In right inlet: Signal data to be filtered. This will usually be frequency-domain information such as the output of an fft~ or fftin~ object.

size

Arguments

vector-size [int]
In left inlet: The word size, followed by a number, sets the vector size for the operation. The default is 512.

slide

Arguments

slide-denominator-coefficients (2 floats) [list]
In left inlet: The word slide, followed by two floats, causes vectral~ to do logarithmic interpolation of successive vectors in a manner equivalent to the time-domain slide~ object. The two arguments determine the denominator coefficient for the amount of the slide.

Output

signal

A smoothed version of the signal input into the right inlet, according to the parameters given to the vectral~ object.

See Also

Name Description
Spectral Processing Spectral Processing
cartopol Convert cartesian to polar coordinates
cartopol~ Signal Cartesian to Polar coordinate conversion
deltaclip~ Limit changes in signal amplitude
fft~ Fast Fourier transform
fftin~ Input for a patcher loaded by pfft~
fftinfo~ Report information about a patcher loaded by pfft~
fftout~ Output for a patcher loaded by pfft~
frameaccum~ Compute "running phase" of successive phase deviation frames
framedelta~ Compute phase deviation between successive FFT frames
ifft~ Inverse fast Fourier transform
pfft~ Spectral processing manager for patchers
poltocar Convert polar to cartesian coordinates
poltocar~ Signal Polar to Cartesian coordinate conversion
rampsmooth~ Smooth an incoming signal
slide~ Filter a signal logarithmically
MSP Analysis Tutorial 4: Signal Processing with pfft~ MSP Analysis Tutorial 4: Signal Processing with pfft~