Skip to main content
Version: 2.x

Class OdinApmComponent

AudioProcessingModule component for OdinNative.Wrapper.Media.ApmEffect

This class provides configuration for the native implemented audio processing. The supported processor/filter are applicable to OdinNative.Wrapper.Media.IMedia which must be set.

Declaration
[HelpURL("https://docs.4players.io/voice/unity/next/api/OdinNative.Unity.Audio/OdinApmComponent/")]
[AddComponentMenu("Odin/Audio/Effect/Audio processing module")]
public class OdinApmComponent : MonoBehaviour, IOdinEffect

Inheritance: System.Object -> UnityEngine.Object -> UnityEngine.Component -> UnityEngine.Behaviour -> UnityEngine.MonoBehaviour

Implements:
OdinNative.Unity.Audio.IOdinEffect

Properties​

Media​

Declaration
public IMedia Media { get; set; }

Effect​

Declaration
public ApmEffect Effect { get; }

IsCreated​

Declaration
public bool IsCreated { get; }

Fields​

EchoCanceller​

Declaration
public bool EchoCanceller

HighPassFilter​

Declaration
public bool HighPassFilter

TransientSuppressor​

Declaration
public bool TransientSuppressor

NoiseSuppressionLevel​

Declaration
public NativeBindings.OdinNoiseSuppressionLevel NoiseSuppressionLevel

GainControllerVersion​

Declaration
public NativeBindings.OdinGainControllerVersion GainControllerVersion

Methods​

UpdateConfig()​

Declaration
public void UpdateConfig()

UpdateConfig(MediaPipeline)​

Declaration
public void UpdateConfig(MediaPipeline pipeline)
Parameters​
TypeName
OdinNative.Wrapper.MediaPipelinepipeline

ResetEffect()​

Declaration
public void ResetEffect()

ResetEffect(MediaPipeline, uint, bool, OdinApmConfig)​

Declaration
public void ResetEffect(MediaPipeline pipeline, uint samplerate, bool stereo, NativeBindings.OdinApmConfig config)
Parameters​
TypeName
OdinNative.Wrapper.MediaPipelinepipeline
System.UInt32samplerate
System.Booleanstereo
OdinNative.Core.Imports.NativeBindings.OdinApmConfigconfig

UpdateApmPlayback(float[], ulong)​

Send samples to Apm processing. The buffer should contain loopback audio data for calculating echo cancellation.

Declaration
public void UpdateApmPlayback(float[] buffer, ulong delay = 100)
Parameters​
TypeNameDescription
System.Single[]buffersamples
System.UInt64delaydelay

GetMedia<T>()​

Declaration
public T GetMedia<T>() where T : IMedia
Returns​

<T>

Type Parameters​
  • T

GetEffect()​

Declaration
public PipelineEffect GetEffect()
Returns​

OdinNative.Wrapper.Media.PipelineEffect

Implements​