Real2FFT

final case class Real2FFT(in: D, rows: I, columns: I, mode: I) extends FFT2HalfUGen

Forward short-time Fourier transform UGen for a real-valued input signal. The FFT size is equal to rows * columns. The output is a succession of complex half-spectra, i.e. from DC to Nyquist.

XXX TODO: Depending on mode, the output window size is either size + padding or size + padding + 2.

'''Warning:''' window parameter modulation is currently not working correctly (issue #30)

Value parameters:
columns

the input matrix number of columns

in

the real signal to transform. If overlapping windows are desired, a Sliding should already have been applied to this signal, as well as multiplication with a window function.

mode

packing mode. 0 (default) is standard "packed" mode, whereby the real part of the bin at Nyquist is stored in the imaginary slot of the DC. This mode allows perfect reconstruction with a Real2IFFT using the same mode. 1 is "unpacked" mode, whereby the output windows are made two samples longer, so that the Nyquist bin is included in the very end. By definition, the imaginary parts of DC and Nyquist are zero. This mode allows perfect reconstruction with a Real2IFFT using the same mode. 2 is "discarded" mode, whereby the Nyquist bin is omitted. While it doesn't allow a perfect reconstruction, this mode is useful for analysis, because the output window size is equal to the fft-size, and the imaginary part of DC is correctly zero'ed.

rows

the input matrix number of rows

Companion:
object
trait Serializable
trait SingleOut[Double]
trait Lazy[Double]
trait GE[Double]
trait Expander[UGenInLike[Double]]
trait Lazy
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Inherited methods

final protected def makeUGen(args: IndexedSeq[UGenIn[_]])(implicit b: Builder): UGenInLike[Double]
Inherited from:
FFT2HalfUGen
final protected def makeUGens(implicit b: Builder): UGenInLike[Double]
Inherited from:
FFT2HalfUGen
final def name: String
Inherited from:
UGenSource
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product