SuperCollider CLASSES (extension)

FoaSpeakerMatrix
ExtensionExtension

First Order Ambisonic (FOA) diametric decoder speaker matrices
Inherits from: Object

Description

Generates speaker matrices required by the Ambisonic Toolkit's first order diametric decoder, FoaDecoderMatrix: *newDiametric.1

NOTE: In normal circumstances, the user will not call FoaSpeakerMatrix directly.

Class Methods

*new (directions, k)

Arguments:

directions

An array of directions for half of the loudspeaker feeds for the desired decoder. Specify in radians.

Rank 1 arrays return pantophonic, while rank 2 arrays return periphonic. E.g.,

// 2D:
~directions = [ theta0, theta1, ... thetaN ];

// 3D:
~directions = [ [ theta0, phi0 ], [ theta1, phi1 ], ... [ thetaN, phiN ] ];
k

The k factor of the decoder. May be specified as a float: 0.5 to 1.0.

*newPositions (positions, k)

Arguments:

positions

An array of positions for half of the loudspeaker feeds for the desired decoder. Specify in cartesian coordinates.

// 2D:
~positions = [ [ x0, y0 ], [ x1, y1 ],  ... [ xN, yN ] ];

// 3D:
~positions = [ [ x0, y0, z0 ], [ x1, y1, z1  ],  ... [ xN, yN, zN ] ];
k

The k factor of the decoder. May be specified as a float: 0.5 to 1.0.

Inherited class methods

Instance Methods

-dim

Answers the number of decoder dimensions: 2D or 3D.

-numChannels

Answers the number of loudspeaker feeds (output channels).

-positions

Answers the position of loudspeaker feeds, in cartesian coordinates.

-matrix

Answers the speaker matrix

-k

Answer k

Inherited instance methods

[1] - FoaSpeakerMatrix is Heller's speaker matrix helper used to generate matricies for diamatric decoding. See: See: E. Benjamin, R. Lee, and A. Heller, "Is My Decoder Ambisonic?," in Proceedings of the 125th Audio Engineering Society Convention, San Francisco, 2008.