FoaMatrix:
Filter:
Classes (extension) | Libraries > Ambisonic Toolkit > Matrix & Kernel > Internals

FoaMatrix : AtkMatrix : Object
ExtensionExtension

A superclass to the Atk's various First Order Ambisonic (FOA) matrix classes.
Source: FoaMatrix.sc

Description

An FoaMatrix is not typically instantiated directly, but rather through one of its subclasses: FoaEncoderMatrix, FoaDecoderMatrix, and FoaXformerMatrix.

Class Methods

FoaMatrix.new(kind)

*new should not be called directly from AtkMatrix but rather is called from the various creation methods of its subclasses: FoaEncoderMatrix, FoaDecoderMatrix, or FoaXformerMatrix.

FoaMatrix.newFromMatrix(matrix, directions)

Create an instance from a raw 2D Matrix.

Arguments:

matrix

A Matrix in the form of

directions

An array of directions. Specify in radians.

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

Inherited class methods

Instance Methods

Information

.info

From superclass: AtkMatrix

A convenience method to post the properties of the matrix, including metadata if the matrix was loaded from a .yml file.

.order

From superclass: AtkMatrix

Ambisonic order.

.set

Describes both the signal set and the tool set, encompassing the Ambisonic order, as well as channel ordering and normalisation.

Ambisonic Toolkit designation indicating Ambisonic order and encoding format. E.g., \FOA, \HOA3.

Answers, \FOA, aka traditional B-format:

Ambisonic OrderComponent OrderingComponent Normalisation
1stFurse-Malham (FuMa)Gerzon / Furse-Malham (MaxN)

.type

Ambisonic Toolkit soundfield operation designation. E.g., \encode, \xform, \decode.

.op

From superclass: AtkMatrix

Answers 'matrix', i.e. the type of operation used to compute the resulting signals.

.kind

From superclass: AtkMatrix

Answers the kind.

.dim

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

.numChannels

Answers the number of input or output channels, depending on -type.

.dirChannels

.dirChannels = value

Get or set the directions of input or output channels, depending on -type.

.directions

A synonym for -dirChannels

.numInputs

From superclass: AtkMatrix

Number of inputs.

.dirInputs

A convenience method providing polymorphism with -dirChannels, depending on -type.

.numOutputs

From superclass: AtkMatrix

Number of outputs.

.dirOutputs

A convenience method providing polymorphism with -dirChannels, depending on -type.

Matrix

.matrix

From superclass: AtkMatrix

Returns the raw coefficient Matrix.

.asArray

From superclass: AtkMatrix

Returns the matrix as a new Array of rows.

File handling

.fileName

From superclass: AtkMatrix

Answers the name of the file used to create the instance, or nil if not created by loading a matrix from a file.

.filePath

From superclass: AtkMatrix

Answers the path of the file used to create the instance, or nil if not created by loading a matrix from a file.

.fileParse

From superclass: AtkMatrix

If the instance was created by loading a .yml file, this method returns the IdentityDictionary containing the parsed metadata. This can be useful if anything was stored in the metadata that can be subsequently used once reloaded, such as encoding directions, rotations, etc.

NOTE: For simply a quick glance at the metadata, it's recommended to use -info.

.writeToFile(fileNameOrPath, note, attributeDictionary, overwrite: false)

From superclass: AtkMatrix

Write the matrix to a file

Arguments:

fileNameOrPath

A String of the file name. The file extension determines the format:

  • .yml allows for additional user-specified metadata (recommended).
  • .txt writes the matrix coefficients only, in rows.
  • .mosl.txt creates basic matrix files compatible with the ATK for Reaper, a set of JSFX plugins for the Reaper DAW.

You may provide a full path if you would like to save the file somewhere other than the default location in the Atk extensions folder. See the Discussion below for more information.

note

A String that is a short description or bit of info about the matrix to store for future reference.

attributeDictionary

A Dictionary containing any information that's useful to store in key:value pairs. Keys that match getters in the AtkMatrix will take precedence over the defaults. See the Discussion for more details.

overwrite

A boolean specifying whether you'd like to force overwriting an existing file of the same name and extension.

Discussion:

The Guide to ATK Matrix Files offers examples and more discussion regarding writing and reading matrices and metadata, including how to generate matrices for use in Reaper.

Inherited instance methods

Examples

Guide to ATK Matrix Files

Encoding FOA

Transforming FOA

Decoding FOA