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

fftout~ Reference

Output for a patcher loaded by pfft~

fftout~

Description

The fftout~ object provides an signal output to a pfft~ object.

Examples

fftout~ converts frequency domain signal pairs into time domain signals and sends them to pfft~

Discussion

The fftout~ object performs an inverse Fast Fourier Transform and applies a windowing function (an envelope), allowing the pfft~ object to manage the overlap-add of the output signal windows.

Arguments

outlet-assignment [int]

Determines the outlet number in the pfft~ which will receive the output of the fftout~ object. Outlet assignments start at 1 for the leftmost outlet of pfft~. Multiple fftout~ objects will typically have different outlet numbers.

phase-offset [float]

Optional

A second float argument to fftout~ between 0. and 1. specifies a phase offset for the window applied to the inverse FFT performed by fftout~. A value of 0.5 for the phase offset (equivalent to 180 degrees) could potentially be helpful if using an fft~ object directly inside the pfft~ subpatcher, since the output phase of fft~ is shifted by 180 degrees.

window-envelope-function [symbol]

Optional

Tells fftout~ which window envelope function to use when overlapping fft's on the input signal. The options are square (i.e. no window envelope), hanning (the default), and hamming. If the argument nofft is used, then the fftout~ will echo its input signal to its output without performing a Fast Fourier transform. This allows you to output raw control signals from the pfft~ to the parent patcher. Note that when the nofft option is used, overlap-adding is still being performed to create the output signal.

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.

jspainterfile [symbol]

JS Painter File

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

signal

In left inlet: The real part of a signal that will be inverse-transformed back into the time domain.

In right inlet: The imaginary part of a signal that will be inverse-transformed back into the time domain.
Note that the real and imaginary inlets of fftout~ expect only the first half of the spectrum, as output by fftin~. This half-spectrum is called a spectral frame in pfft~ terminology.

Output

signal

The fftout~ object transforms frequency domain signals back into the time domain, at which point they are overlap-added and output by the corresponding outlet in the pfft~ object in which the subpatcher is loaded. The fftout~ object itself has no outlets.

See Also

Name Description
Spectral Processing Spectral Processing
cartopol Convert cartesian to polar coordinates
cartopol~ Signal Cartesian to Polar coordinate conversion
fft~ Fast Fourier transform
fftin~ Input for a patcher loaded by pfft~
fftinfo~ Report information about 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
out Message output for a patcher loaded by poly~ or pfft~
pfft~ Spectral processing manager for patchers
poltocar Convert polar to cartesian coordinates
poltocar~ Signal Polar to Cartesian coordinate conversion
vectral~ Vector-based envelope follower
MSP Analysis Tutorial 3: Using the FFT MSP Analysis Tutorial 3: Using the FFT
MSP Analysis Tutorial 4: Signal Processing with pfft~ MSP Analysis Tutorial 4: Signal Processing with pfft~