ChucK : Programming Guide

Unit Analyzers

version: 1.3.x.x (chimera)

basic UAna classes:
UAna  UAnaBlob  Windowing 

transformations:
FFT  IFFT  DCT  IDCT 

feature extractors:
Centroid  Flux  RMS  RollOff 

much more to come!
( see unit analyzers under the language specification;
also see unit generator reference )

Standard UAnae
basic uana classes

[uana] UAna

  • base class from which all unit analyzers (UAnae) inherit
  • UAnae (note plural form) can be interconnected via => (standard chuck operator) or via =^ (upchuck operator)...
  • see UAna Documentation in the language specification.

[object] UAnaBlob

  • the carrier of data between UAnae
  • contents include arrays of floats and complex values
  • updated and returned as result of UAna's .upchuck() operation

[object] Windowing

  • generates common FFT windows
  • types include Rectangular, Barlett, Hann, Hamming, Blackmann
domain transformations

[uana] FFT

  • Fast Fourier Transform
  • takes FFT's at arbitrary window, fft, hop sizes
  • outputs both complex and real spectra

[uana] IFFT

  • Inverse Fast Fourier Transform
  • input spectral frames
  • output overlapped-added time-domain samples

[uana] DCT

  • Discrete Cosine Transform (type II)
  • (um, it's not "fast")

[uana] IDCT

  • Inverse Discrete Cosine Transform (DCT Type III)
  • (um, it's not "fast")
feature extractors

[uana] Centroid

  • from magnitude spectrum, compute center of mass

[uana] Flux

  • from magnitude spectrum, compute spectral flux across frames

[uana] RMS

  • from magnitude spectrum, compute RMS power mean

[uana] RollOff

  • from magnitude spectrum, compute RollOff (settable percentage)