Table of Contents

virtual AKRESULT AK::IAkGlobalPluginContext::ComputeWeightedAmbisonicsDecodingFromSampledSphere ( const AkVector  in_samples[],
AkUInt32  in_uNumSamples,
AkChannelConfig  in_cfgAmbisonics,
AK::SpeakerVolumes::MatrixPtr  out_mxVolume  
) [pure virtual]

Computes gain matrix for decoding an SN3D-normalized ACN-ordered ambisonic signal of order sqrt(in_cfgAmbisonics.uNumChannels)-1, with max-RE weighting function, on a (regularly) sampled sphere whose samples in_samples are expressed in left-handed cartesian coordinates, with unitary norm. This decoding technique is optimal for regular sampling. The returned matrix has in_cfgAmbisonics.uNumChannels inputs (rows) and in_uNumSamples outputs (columns), and is normalized by the number of samples. Supported ambisonic configurations are full-sphere 1st, 2nd and 3rd order.

Returns:
AK_Fail when ambisonic configuration. AK_Success otherwise.
Parameters:
in_samples  Array of vector samples expressed in left-handed cartesian coordinates, where (1,0,0) points towards the right and (0,1,0) points towards the top. Vectors must be normalized.
in_uNumSamples  Number of points in in_samples.
in_cfgAmbisonics  Ambisonic configuration. Supported configurations are 1-1, 2-2 and 3-3. Determines number of rows (input channels) in matrix out_mxVolume.
out_mxVolume  Returned volume matrix (see AK::SpeakerVolumes::Matrix services). Must be allocated prior to calling this function with the size returned by AK::SpeakerVolumes::Matrix::GetRequiredSize() for the desired number of channels. You may obtain the number of channels from the order using the helper AK::AmbisonicOrderToNumChannels().