Package MSP

vectral~

Vector-based envelope follower

Description

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

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

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]

JS Painter File

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

clear

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

deltaclip

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.

Arguments:
  • low-limit [float]
  • high-limit [float]

rampsmooth

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.

Arguments:
  • number-of-interpolating-frames [list]

signal

In left inlet: A sync signal for the index of the output 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 left and middle inlets are "out-of-sync", the incoming vector's bins will shift 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

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

Arguments:
  • vector-size [int]

slide

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.

Arguments:
  • slide-denominator-coefficients (2 floats) [list]

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
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