ChucK Class Library Reference

Unit Analyzers

UAna

UAnaBlob

Windowing

FFT

IFFT

DCT

IDCT

Centroid

Flux

RMS

RollOff

ZeroX

Flip

pilF

FeatureCollector

UAna

: UGen : Object

Base class from which all unit analyzers (UAnae) inherit; UAnae (note plural form) can be interconnected via => (standard chuck operator) or via =^ (upchuck operator), specify the the types of and when data is passed between UAnae and UGens. When .upchuck() is invoked on a given UAna, the UAna-chain (UAnae connected via =^) is traversed backwards from the upchucked UAna, and analysis is performed at each UAna along the chain; the updated analysis results are stored in UAnaBlobs.

member variables

UAnaBlob m_blob

No description available

member functions

complex cval(int index)

Get blob's complex value at index.

complex[] cvals()

Get blob's complex array.

float fval(int index)

Get blob's float value at index.

float[] fvals()

Get blob's float array.

int isUpConnectedTo(UAna right)

Is connected to another uana via =^?

UAnaBlob upchuck()

Initiate analysis at the UAna; returns result.


UAnaBlob

: Object

This object contains results associated with UAna analysis. There is a UAnaBlob associated with every UAna. As a UAna is upchucked, the result is stored in the UAnaBlob's floating point vector and/or complex vector. The intended interpretation of the results depends on the specific UAna.

member variables

complex[] m_cvals

No description available

float[] m_fvals

No description available

time m_when

No description available

member functions

complex cval(int index)

Get blob's complex value at index.

complex[] cvals()

Get blob's complex array.

float fval(int index)

Get blob's float value at index.

float[] fvals()

Get blob's float array.

time when()

Get the time when blob was last upchucked.


Windowing

: Object

No description available

static member functions

float[] blackmanHarris(int size)

No description available

float[] hamming(int size)

No description available

float[] hann(int size)

No description available

float[] rectangle(int size)

No description available

float[] triangle(int size)

No description available


FFT

: UAna : UGen : Object

This UAna computes the Fast Fourier Transform on incoming audio samples, and outputs the result via its UAnaBlob as both the complex spectrum and the magnitude spectrum. A buffering mechanism maintains the previous FFTsize # of samples, allowing FFT's to be taken at any point in time, on demand (via .upchuck() or by upchucking a downstream UAna. The window size (along with an arbitry window shape) is controlled via the .window method. The hop size is complete dynamic, and is throttled by how time is advanced.

member functions

int size(int size)

Set the FFT-size.

int size()

Get the FFT-size.

void spectrum(complex[] buffer)

Manually retrieve the results of a transform.

void transform(float[] from)

Manually take FFT (as opposed to using .upchuck() / upchuck operator)

float[] window(float[] win)

Set/get the transform window/size

int windowSize()

Get the current window size.


IFFT

: UAna : UGen : Object

This UAna computes the inverse Fast Fourier Transform on incoming spectral frames (on demand), and overlap-adds the results into its internal buffer, ready to be sent to other UGen's connected via =>. The window size (along with an arbitry window shape) is controlled via the .window method.

member functions

void samples(float[] buffer)

Manually take IFFT (as opposed to using .upchuck() / upchuck operator)

int size(int size)

Set the IFFT-size.

int size()

Get the IFFT-size.

void transform(complex[] from)

Manually take IFFT (as opposed to using .upchuck() / upchuck operator)

float[] window(float[] win)

Set/get the transform window/size

int windowSize()

Get the current window size.


DCT

: UAna : UGen : Object

This UAna computes the Discrete Cosine Transform on incoming audio samples, and outputs the result via its UAnaBlob as real values in the D.C. spectrum. A buffering mechanism maintains the previous DCT size # of samples, allowing DCT to be taken at any point in time, on demand (via .upchuck() or by upchucking a downstream UAna; see UAna documentation). The window size (along with an arbitry window shape) is controlled via the .window method. The hop size is complete dynamic, and is throttled by how time is advanced.

member functions

int size(int size)

Set the DCT size.

int size()

Get the DCT size.

void spectrum(float[] buffer)

Manually retrieve the results of a transform.

void transform(float[] from)

Manually take DCT (as opposed to using .upchuck() / upchuck operator).

float[] window(float[] win)

Set/get the transform window/size.

int windowSize()

Get the current window size.


IDCT

: UAna : UGen : Object

This UAna computes the inverse Discrete Cosine Transform on incoming spectral frames (on demand), and overlap-adds the results into its internal buffer, ready to be sent to other UGen's connected via =>. The window size (along with an arbitry window shape) is controlled via the .window method.

member functions

void samples(float[] buffer)

Manually get result of previous IDCT.

int size(int size)

Set the IDCT size.

int size()

Get the IDCT size.

void transform(complex[] from)

Manually take IDCT (as opposed to using .upchuck() / upchuck operator).

float[] window(float[] win)

Set/get the transform window/size.

int windowSize()

Get the current window size.


Centroid

: UAna : UGen : Object

This UAna computes the spectral centroid from a magnitude spectrum (either from incoming UAna or manually given), and outputs one value in its blob.

static member functions

float compute(float[] input)

Manually computes the centroid from a float array.


Flux

: UAna : UGen : Object

This UAna computes the spectral flux between successive magnitude spectra (via incoming UAna, or given manually), and outputs one value in its blob.

static member functions

float compute(float[] lhs, float[] rhs)

Manually computes the flux between two frames.

float compute(float[] lhs, float[] rhs, float[] diff)

Manually computes the flux between two frames, and stores the difference in a third array.

member functions

void reset()

Reset the extractor.


RMS

: UAna : UGen : Object

This UAna computes the RMS power mean from a magnitude spectrum (either from an incoming UAna, or given manually), and outputs one value in its blob.

static member functions

float compute(float[] input)

Manually computes the RMS from a float array.


RollOff

: UAna : UGen : Object

This UAna computes the spectral rolloff from a magnitude spectrum (either from incoming UAna, or given manually), and outputs one value in its blob.

static member functions

float compute(float[] input, float percent)

Manually computes the rolloff from a float array.

member functions

float percent(float percent)

Set the percentage for computing rolloff.

float percent()

Get the percentage specified for the rolloff.


ZeroX

: UAna : UGen : Object

Zero crossing detector.

static member functions

float compute(float[] input)

Manually computes the zero crossing rate for an array.


Flip

: UAna : UGen : Object

Turns audio samples into frames in the UAna domain.

member functions

void output(float[] buffer)

Manually take Flip (as opposed to using .upchuck() / upchuck operator)

int size(int size)

Set the Flip size.

int size()

Get the Flip size.

void transform(float[] from)

Manually take Flip (as opposed to using .upchuck() / upchuck operator).

float[] window(float[] win)

Set/get the transform window/size.

int windowSize()

Get the current window size.


pilF

: UAna : UGen : Object

Turns UAna frames into audio samples, via overlap add.

member functions

void output(float[] buffer)

Manually take pilF (as opposed to using .upchuck() / upchuck operator)

int size(int size)

Set the pilF size.

int size()

Get the pilF size.

void transform()

Manually take pilF (as opposed to using .upchuck() / upchuck operator).

float[] window(float[] win)

Set/get the transform window/size.

int windowSize()

Get the current window size.


FeatureCollector

: UAna : UGen : Object

Turns UAna input into a single feature vector, upon .upchuck()