Generates encoding kernels required by the Ambisonic Toolkit's first order encoder, FoaEncode.
Ambisonic Super Stereo encoder.1
kernelSize |
256, 512, 1024, 2048, 4096, 8192 |
server |
Server on which to load kernel. |
sampleRate |
The sample rate defaults to |
score |
Default is |
The Super Stereo encoding technique is the classic method for encoding stereophonic signals into B-format.
Ambisonic UHJ stereo encoder.2
kernelSize |
256, 512, 1024, 2048, 4096, 8192 |
server |
Server on which to load kernel. |
sampleRate |
The sample rate defaults to |
score |
Default is |
The UHJ encoder offers access to numerous published recordings3 for periphonic (2D) audition.
'dual'
) for monitoring. See discussion here.Frequency spreading mono encoder.
subjectID |
0 to 12. Specifies the number of bands per octave of the frequency spreader. 0 returns 1 band per octave, etc. |
kernelSize |
512, 1024, 2048, 4096, 8192, 16384 |
server |
Server on which to load kernel. |
sampleRate |
The sample rate defaults to |
score |
Default is |
The frequency spreading technique encodes a monophonic signal into B-format by smoothly rotating the signal across the soundfield sphere, by frequency.
Frequency diffusion mono encoder.
subjectID |
0 to 5. Specifies the amount of phase dispersion of the frequency diffuser. 0 is low, 5 is high. |
kernelSize |
512, 1024, 2048, 4096, 8192, 16384 |
server |
Server on which to load kernel. |
sampleRate |
The sample rate defaults to |
score |
Default is |
The frequency diffusion technique encodes a monophonic signal into B-format by randomising the phase of the signal across the soundfield sphere, by frequency.
Describes both the signal set and the tool set, encompassing the Ambisonic order, as well as channel ordering and normalisation.
Answers 'FOA'
, aka traditional B-format:
Ambisonic Order | Channel Ordering | Channel Normalisation |
1st | Gerzon (aka Furse-Malham) | MaxN |
'encoder'
Answers 'kernel'
, i.e. the type of operation used to compute the resulting signals.
Answers the kind of encoder
// encoder - make sure you boot the server first!! ~encoder = FoaEncoderKernel.newUHJ // inspect ~encoder.kind // don't forget to free!! ~encoder.free
Answers the subjectID of the decoder
// encoder - make sure you boot the server first!! ~encoder = FoaEncoderKernel.newUHJ // inspect ~encoder.subjectID // don't forget to free!! ~encoder.free
Answers the number of decoder dimensions: 2D or 3D.
// encoder - make sure you boot the server first!! ~encoder = FoaEncoderKernel.newUHJ // inspect ~encoder.dim // don't forget to free!! ~encoder.free
Answers the number of input channels.
// encoder - make sure you boot the server first!! ~encoder = FoaEncoderKernel.newUHJ // inspect ~encoder.numChannels // don't forget to free!! ~encoder.free
Answers the direction of input channels, with angles in radians.
// encoder - make sure you boot the server first!! ~encoder = FoaEncoderKernel.newSuper // inspect ~encoder.dirChannels.raddeg // don't forget to free!! ~encoder.free
// encoder - make sure you boot the server first!! ~encoder = FoaEncoderKernel.newUHJ // inspect ~encoder.dirChannels.raddeg // don't forget to free!! ~encoder.free
Answers the encoder kernel.
// encoder - make sure you boot the server first!! ~encoder = FoaEncoderKernel.newUHJ // inspect ~encoder.kernel // don't forget to free!! ~encoder.free
Answers the kernelSize.
Use of FoaEncoderKernel introduces a delay to the encoded B-format signal.
The total delay, in samples, can be calculated as (kernelSize-1)/2 + kernelSize - blockSize
, where blockSize is the number of samples in one control period of the Server in use.
// encoder - make sure you boot the server first!! ~encoder = FoaEncoderKernel.newUHJ // inspect ~encoder.kernelSize // calculate delay in samples (~encoder.kernelSize-1)/2 + ~encoder.kernelSize - s.options.blockSize // calculate delay in seconds ((~encoder.kernelSize-1)/2 + ~encoder.kernelSize - s.options.blockSize) / s.sampleRate // don't forget to free!! ~encoder.free
Free the kernel.
Release the kernel buffer's memory on the server and return the bufferID back to the server's buffer number allocator for future reuse.
A synonym for -numChannels
A synonym for -dirChannels
Answers the number of outputs for the decoder. 3 for 2D and 4 for 3D.
A convenience method providing polymorphism with FoaDecoderKernel: -dirOutputs.
[ inf, inf, inf ]
[ inf, inf, inf , inf ]
Please see FoaEncode: Examples.