description: WriteProperty

code: virtual void WriteComment ( const [FString](API\Runtime\Core\Containers\FString) & Comment )


description: Writes a null value to the serialization output.

module: Serialization

code: void WriteNull ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State )


description: WriteComment

code: virtual void WriteProperty ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State, int32 ArrayIndex )


description: Writes a property value to the serialization output.

code: template<typename ValueType> void WritePropertyValue ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State, const ValueType & Value )


description: Deprecated, use the two-parameter constructor with EStructSerializerBackendFlags::Legacy if you need backwards compatibility with code compiled prior to 4.22.

code: FJsonStructSerializerBackend ( [FArchive](API\Runtime\Core\Serialization\FArchive) & InArchive )


description: Creates and initializes a new instance with the given flags.

code: FJsonStructSerializerBackend ( [FArchive](API\Runtime\Core\Serialization\FArchive) & InArchive, const EStructSerializerBackendFlags InFlags )


className: FJsonStructSerializerBackend

description: Note: The underlying Json serializer is currently hard-coded to use UCS2CHAR and pretty-print. This is because the current JsonWriter API does not allow writers to be substituted since it's all based on templates. At some point we will refactor the low-level Json API to provide more flexibility for serialization.

code: class FJsonStructSerializerBackend : public [IStructSerializerBackend](API\Runtime\Serialization\IStructSerializerBackend)


description:
Deserializes a data structure from an archive using the default policy.
true if deserialization was successful, false otherwise.

code: template<typename StructType> static bool Deserialize ( StructType & OutStruct, [IStructDeserializerBackend](API\Runtime\Serialization\IStructDeserializerBackend) & Backend )


code: static bool Deserialize ( void * OutStruct, [UStruct](API\Runtime\CoreUObject\UObject\UStruct) & TypeInfo, [IStructDeserializerBackend](API\Runtime\Serialization\IStructDeserializerBackend) & Backend )


description:
Deserializes a data structure from an archive using the specified policy.
true if deserialization was successful, false otherwise.

code: template<typename StructType> static bool Deserialize ( StructType & OutStruct, [IStructDeserializerBackend](API\Runtime\Serialization\IStructDeserializerBackend) & Backend, const [FStructDeserializerPolicies](API\Runtime\Serialization\FStructDeserializerPolicies) & Policies )


code: static bool Deserialize ( void * OutStruct, [UStruct](API\Runtime\CoreUObject\UObject\UStruct) & TypeInfo, [IStructDeserializerBackend](API\Runtime\Serialization\IStructDeserializerBackend) & Backend, const [FStructDeserializerPolicies](API\Runtime\Serialization\FStructDeserializerPolicies) & Policies )


description:
Deserializes a data structure element from an archive using the specified policy.
true if deserialization was successful, false otherwise.

code: static bool DeserializeElement ( void * OutStruct, [UStruct](API\Runtime\CoreUObject\UObject\UStruct) & TypeInfo, int32 ElementIndex, [IStructDeserializerBackend](API\Runtime\Serialization\IStructDeserializerBackend) & Backend, const [FStructDeserializerPolicies](API\Runtime\Serialization\FStructDeserializerPolicies) & Policies )


className: FStructDeserializer

description: This class implements the basic functionality for the serialization of UStructs, such as iterating a structure's properties and writing property values. The actual reading of serialized input data is performed by de-serialization backends, which allows this class to remain serialization format agnostic.

code: class FStructDeserializer


description: Default constructor.

code: FStructDeserializerPolicies()


className: FStructDeserializerPolicies

description: Structure forUStructserialization policies.

code: struct FStructDeserializerPolicies

MapPolicies

type: EStructDeserial...

description: Policy about map property deserialization

MissingFields

description: Holds the policy for handling missing fields.

PropertyFilter

type: TFunction< bool...

description: Predicate for performing advanced filtering of struct properties.


description:
Serializes a given USTRUCT to a string using the default policy.
A string holding the serialized object.

code: template<typename StructType> static void Serialize ( const StructType & Struct, [IStructSerializerBackend](API\Runtime\Serialization\IStructSerializerBackend) & Backend )


description: Deserialize

code: static void Serialize ( const void * Struct, [UStruct](API\Runtime\CoreUObject\UObject\UStruct) & TypeInfo, [IStructSerializerBackend](API\Runtime\Serialization\IStructSerializerBackend) & Backend )


description: Deserialize

code: static void Serialize ( const void * Struct, [UStruct](API\Runtime\CoreUObject\UObject\UStruct) & TypeInfo, [IStructSerializerBackend](API\Runtime\Serialization\IStructSerializerBackend) & Backend, const [FStructSerializerPolicies](API\Runtime\Serialization\FStructSerializerPolicies) & Policies )


description: Deserialize

code: static void SerializeElement ( const void * Address, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property, int32 ElementIndex, [IStructSerializerBackend](API\Runtime\Serialization\IStructSerializerBackend) & Backend, const [FStructSerializerPolicies](API\Runtime\Serialization\FStructSerializerPolicies) & Policies )


className: FStructSerializer

description: The serializer's behavior can be customized with serialization policies. This allows for control over how to handle null values, circular references and other edge cases.

code: class FStructSerializer


description: Default constructor.

code: FStructSerializerPolicies()


className: FStructSerializerPolicies

code: struct FStructSerializerPolicies

MapSerialization

type: EStructSerializ...

description: Policies dicting how maps are being written out

NullValues

description: Holds the policy for null values.

ReferenceLoops

description: Holds the policy for reference loops.


code: FStructSerializerState ( void * InValuePtr, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, EStructSerializerStateFlags InFlags )


className: FStructSerializerState

description: Structure for the write state stack.

code: struct FStructSerializerState

ElementIndex

description: Holds the element index that is targeted if an array/set/map

FieldType

type: FFieldClass...

description: Holds a pointer to the field type describing the data.

HasBeenProcessed

type: bool

description: Holds a flag indicating whether the property has been processed.

KeyData

type: const void *...

description: Holds a pointer to the key property's data.

KeyProperty

type: FProperty*

description: Holds the key property's meta data (only used forTMap).

StateFlags

description: Flags related for the current state

ValueData

description: Holds a pointer to the property value's data.

ValueProperty

description: Holds the property value's meta data.

ValueType

type: UStruct*

description: Holds a pointer to theUStructdescribing the data.


description:
Gets the identifier of the current field.
The field's name.

code: const [FString](API\Runtime\Core\Containers\FString) & GetCurrentPropertyName() const


description:
Gets the last error message.
Error message.

code: const [FString](API\Runtime\Core\Containers\FString) & GetLastErrorMessage() const


description:
The returned string contains debug information that is relevant to the reader's serialization format. For example, it could be a line and column number for text based formats, or a byte offset for binary serialization formats.
The debug string.


description:
Reads the next token from the stream.
true if a token was read, false otherwise.

code: bool GetNextToken ( EStructDeserializerBackendTokens & OutToken )


description:
implementations will support only a Int8 or Byte array at the moment
true on success, false if need to fall back to per element array serialization.

code: virtual bool ReadPODArray ( [FArrayProperty](API\Runtime\CoreUObject\UObject\FArrayProperty) * ArrayProperty, void * Data )


description:
Reads the specified property from the stream.
true on success, false otherwise.

code: bool ReadProperty ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Outer, void * Data, int32 ArrayIndex )


description: Skips the array that is currently being read from the stream.

code: void SkipArray()


description: Skips the object that is currently being read from the stream.

code: void SkipStructure()


description: Virtual destructor.

code: virtual ~IStructDeserializerBackend()


className: IStructDeserializerBackend

description: Interface forUStructserializer backends.

code: class IStructDeserializerBackend


description: EndArray

code: void BeginArray ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State )


description: EndStructure

code: void BeginStructure ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State )


description: EndStructure

code: void EndArray ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State )


description: EndArray

code: void EndStructure ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State )


description: WriteProperty

code: void WriteComment ( const [FString](API\Runtime\Core\Containers\FString) & Comment )


description: WriteComment

code: virtual bool WritePODArray ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State )


description: WriteComment

code: void WriteProperty ( const [FStructSerializerState](API\Runtime\Serialization\FStructSerializerState) & State, int32 ArrayIndex )


description: Virtual destructor.

code: virtual ~IStructSerializerBackend()


className: IStructSerializerBackend

code: class IStructSerializerBackend


description: Creates and initializes a new instance.

module: SessionMessages

code: FSessionServiceLog ( const [FName](API\Runtime\Core\UObject\FName) & InCategory, const [FString](API\Runtime\Core\Containers\FString) & InData, const [FGuid](API\Runtime\Core\Misc\FGuid) & InInstanceId, double InTimeSeconds, uint8 InVerbosity )


description: Default constructor.

code: FSessionServiceLog()


className: FSessionServiceLog

description: Session status messages Implements a message that contains a console log entry.

code: struct FSessionServiceLog

Category

type: FName

description: Holds the log message category.

Data

type: FString

description: Holds the log message data.

InstanceId

type: FGuid

description: Holds the application instance identifier.

TimeSeconds

type: double

description: Holds the time in seconds since the application was started.

Verbosity

description: Holds the log message's verbosity level.


className: FSessionServiceLogUnsubscribe

description: Implements a message to unsubscribe from an application's console log.

code: struct FSessionServiceLogUnsubscribe


className: FSessionServiceLogSubscribe

description: Implements a message to subscribe to an application's console log.

code: struct FSessionServiceLogSubscribe


description: Creates and initializes a new instance.

code: FSessionServicePing ( const [FString](API\Runtime\Core\Containers\FString) & InUserName )


description: Default constructor.

code: FSessionServicePing()


className: FSessionServicePing

description: Session discovery messages Implements a message that is published to discover existing application sessions.

code: struct FSessionServicePing

UserName

description: The name of the user who sent this ping.


className: FSessionServicePong

description: Implements a message that is published in response toFSessionServicePing.

code: struct FSessionServicePong

Authorized

description: Indicates whether the pinging user is authorized to interact with this session.

BuildDate

description: Holds the application's build date.

DeviceName

description: Holds the name of the device that the application is running on.

InstanceId

description: Holds the application's instance identifier.

InstanceName

description: Holds the application's instance name.

PlatformName

description: Holds the name of the platform that the application is running on.

SessionId

description: Holds the identifier of the session that the application belongs to.

SessionName

description: Holds the user defined name of the session.

SessionOwner

description: Holds the name of the user that started the session.

Standalone

description: Indicates whether the application is the only one in that session.


module: SessionServices

code: bool operator&40;&41; &40; const TSharedPtr< FSessionLogMessage > & A, const TSharedPtr< FSessionLogMessage > & B &41; const


className: TimeComparer

description: Implements a predicate to compare two log messages by log time.

code: struct TimeComparer


description: Creates and initializes a new instance.

code: FSessionLogMessage ( const [FGuid](API\Runtime\Core\Misc\FGuid) & InInstanceId, const [FString](API\Runtime\Core\Containers\FString) & InInstanceName, float InTimeSeconds, const [FString](API\Runtime\Core\Containers\FString) & InText, [ELogVerbosity::Type](API\Runtime\Core\Logging\ELogVerbosity__Type) InVerbosity, const [FName](API\Runtime\Core\UObject\FName) & InCategory )


className: FSessionLogMessage

description: Structure for log messages.

code: struct FSessionLogMessage

Category

description: Holds the log category.

InstanceId

description: Holds the identifier of the engine instance that generated this log message.

InstanceName

description: Holds the name of the engine instance that generated this log message.

Text

description: Holds the message text.

Time

type: FDateTime

description: Holds the time at which the message was generated.

TimeSeconds

description: Holds the number of seconds from the start of the instance at which the message was generated.

Verbosity

description: Holds the verbosity type.


className: FInstanceDiscoveredEvent

description: A delegate that is executed when a new instance has been discovered.

code: class FInstanceDiscoveredEvent : public TBaseMulticastDelegate_TwoParams< void, const TSharedRef< ISessionInfo > &, const TSharedRef< ISessionInstanceInfo > & >


className: FLogReceivedEvent

description: A delegate that is executed when a new log message has been received.

code: class FLogReceivedEvent : public TBaseMulticastDelegate_ThreeParams< void, const TSharedRef< ISessionInfo > &, const TSharedRef< ISessionInstanceInfo > &, const TSharedRef< FSessionLogMessage > & >


description: Gets a read-only collection of all instances that belong to this session.

code: void GetInstances ( [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [ISessionInstanceInfo](API\Runtime\SessionServices\ISessionInstanceInfo) >> & OutInstances ) const


description:
Gets the time at which the last update was received from this instance.
The receive time.

code: const [FDateTime](API\Runtime\Core\Misc\FDateTime) & GetLastUpdateTime() const


description:
Gets the number of engine instances that are part of the session.
The number of engine instances.

code: const int32 GetNumInstances() const


description:
Gets the session identifier.
Session identifier.

code: const [FGuid](API\Runtime\Core\Misc\FGuid) & GetSessionId() const


description:
Gets the name of the session.
Session name.

code: const [FString](API\Runtime\Core\Containers\FString) & GetSessionName() const


description:
Gets the name of the user that owns the session.
User name.

code: const [FString](API\Runtime\Core\Containers\FString) & GetSessionOwner() const


description:
A session is standalone if has not been created from the Launcher.
true if this is a standalone session, false otherwise.

code: const bool IsStandalone() const


description: Terminates the session.

code: void Terminate()


description: Virtual destructor.

code: virtual ~ISessionInfo()


className: ISessionInfo

description: Interface for game instances.

code: class ISessionInfo


description: Executes a console command on this engine instance.

code: void ExecuteCommand ( const [FString](API\Runtime\Core\Containers\FString) & CommandString )


description: Gets an event delegate that is executed when a new log message has been received.

code: class FLogReceivedEvent : public TBaseMulticastDelegate_TwoParams< void, const TSharedRef< ISessionInstanceInfo > &, const TSharedRef< FSessionLogMessage > & >


description:
Gets instance's build date.
The build date string.

code: const [FString](API\Runtime\Core\Containers\FString) & GetBuildDate() const


description:
Gets the name of the level that the instance is currently running.
The name of the level.

code: const [FString](API\Runtime\Core\Containers\FString) & GetCurrentLevel() const


description:
Gets the name of the device that this instance is running on.
The device name string.

code: const [FString](API\Runtime\Core\Containers\FString) & GetDeviceName() const


description:
Gets the instance's engine version number.
Engine version.

code: int32 GetEngineVersion() const


description:
Gets the instance identifier.
Instance identifier.

code: const [FGuid](API\Runtime\Core\Misc\FGuid) & GetInstanceId() const


description:
Gets the name of this instance.
The instance name string.

code: const [FString](API\Runtime\Core\Containers\FString) & GetInstanceName() const


description:
Gets the instance type (i.e. Editor or Game).
The game instance type string.

code: const [FString](API\Runtime\Core\Containers\FString) & GetInstanceType() const


code: const [FDateTime](API\Runtime\Core\Misc\FDateTime) & GetLastUpdateTime() const


description:
Gets the collection of log entries received from this instance.
Log entries.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FSessionLogMessage](API\Runtime\SessionServices\FSessionLogMessage) > > & GetLog()


description:
Gets a reference to the session that owns this instance.
Owner session.


description:
Gets the instance's current game world time.
World time in seconds.

code: float GetWorldTimeSeconds() const


description:
Gets the name of the platform that the instance is running on.
Platform name string.

code: const [FString](API\Runtime\Core\Containers\FString) & GetPlatformName() const


description:
Check whether the current user is authorized to interact with this instance.
true if the user is authorized, false otherwise.

code: bool IsAuthorized() const


description:
Checks whether this instance has already begun game play.
true if game play has begun, false otherwise.

code: bool PlayHasBegun() const


description: Terminates the instance.

code: void Terminate()


description: Virtual destructor.

code: virtual ~ISessionInstanceInfo()


className: ISessionInstanceInfo

description: Interface for game instances.

code: class ISessionInstanceInfo


description: Adds an owner whose sessions we are interested in

code: void AddOwner ( const [FString](API\Runtime\Core\Containers\FString) & InOwner )


className: FInstanceSelectionChangedEvent

description: Returns a delegate that is executed when an instance changes its selection state.

code: class FInstanceSelectionChangedEvent : public TBaseMulticastDelegate_TwoParams< void, const TSharedPtr< ISessionInstanceInfo > &, bool >


className: FCanSelectSessionEvent

description: Returns a delegate that is executed before a session is being selected.

code: class FCanSelectSessionEvent : public TBaseMulticastDelegate_TwoParams< void, const TSharedPtr< ISessionInfo > &, bool & >


description: Returns a delegate that is executed when the selected session received a log message from one of its instances.

code: class FLogReceivedEvent : public TBaseMulticastDelegate_ThreeParams< void, const TSharedRef< ISessionInfo > &, const TSharedRef< ISessionInstanceInfo > &, const TSharedRef< FSessionLogMessage > & >


className: FSelectedSessionChangedEvent

description: Returns a delegate that is executed when the selected session changed.

code: class FSelectedSessionChangedEvent : public TBaseMulticastDelegate_OneParam< void, const TSharedPtr< ISessionInfo > & >


description:
Gets the collection of currently selected engine instances.
The selected instances.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [ISessionInstanceInfo](API\Runtime\SessionServices\ISessionInstanceInfo) > > & GetSelectedInstances() const


description:
Get the selected session - as chosen in the session browser
The session ID selected

code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [ISessionInfo](API\Runtime\SessionServices\ISessionInfo) > & GetSelectedSession() const


description: Gets the list of all discovered sessions.

code: void GetSessions ( [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [ISessionInfo](API\Runtime\SessionServices\ISessionInfo) >> & OutSessions ) const


description:
Checks whether the given instance is currently selected.
true if the instance is selected, false otherwise.

code: bool IsInstanceSelected ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ISessionInstanceInfo](API\Runtime\SessionServices\ISessionInstanceInfo) > & Instance ) const


description:
Returns a delegate that is executed when a session instance is updated.
The delegate.


description:
Returns a delegate that is executed when the list of sessions has changed.
The delegate.


description: Removes an owner whose sessions we are no longer interested in

code: void RemoveOwner ( const [FString](API\Runtime\Core\Containers\FString) & InOwner )


description:
Selects the specified session.
true if the session was selected, false otherwise.

code: bool SelectSession ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [ISessionInfo](API\Runtime\SessionServices\ISessionInfo) > & Session )


description:
Marks the specified item as selected or unselected.
true if the instance was selected, false otherwise.

code: bool SetInstanceSelected ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ISessionInstanceInfo](API\Runtime\SessionServices\ISessionInstanceInfo) > & Instance, bool Selected )


description: Virtual destructor.

code: virtual ~ISessionManager()


className: ISessionManager

description: Interface for the session manager.

code: class ISessionManager

OnInstanceSelectionChanged

type: ISessionManager...


description: Stop

code: bool IsRunning()


description: Stop

code: bool Start()


description: Start

code: void Stop()


description: Virtual destructor.

code: virtual ~ISessionService()


className: ISessionService

description: Interface for application session services.

code: class ISessionService


description: GetSessionService


description: GetSessionManager


description: Virtual destructor.

code: virtual ~ISessionServicesModule()


className: ISessionServicesModule

description: Interface for session core modules.

code: class ISessionServicesModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


className: DefaultUSoundWaveSampleType

module: SignalProcessing


className: AlignedByteBuffer

description: Deprecated in favor of versions above.

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< uint8, [FAudioBufferAlignedAllocator](API\Runtime\SignalProcessing\DSP\FAudioBufferAlignedAllocator) > AlignedByteBuffer


className: AlignedFloatBuffer

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< float, [FAudioBufferAlignedAllocator](API\Runtime\SignalProcessing\DSP\FAudioBufferAlignedAllocator) > AlignedFloatBuffer


code: typedef [TArray](API\Runtime\Core\Containers\TArray)< int32, [FAudioBufferAlignedAllocator](API\Runtime\SignalProcessing\DSP\FAudioBufferAlignedAllocator) > AlignedInt32Buffer


description: Maximum number of channels supported by channel maps (Corresponds to 7.1 format)

code: namespace Audio { static Audio::ChannelMapMaxNumChannels = 8; }


description: Number of channels in a vorbis input (Corresponds to 5.1 with vorbis channel ordering).

code: namespace Audio { static Audio::ChannelMapVorbisNumChannels = 6; }


description: Utility to check for sample clipping. Put breakpoint in conditional to find DSP code that's not behaving correctly

code: namespace Audio { static void Audio::CheckSample ( float InSample, float Threshold ) }


description: Converts in place a buffer into Unipolar (0..1) This is a Vector op version of the GetUnipolar function. (0.5f * X + 0.5f).

code: namespace Audio { static void Audio::ConvertBipolarBufferToUnipolar ( float * InAlignedBuffer, int32 NumSamples ) }


description: Function converts linear scale volume to decibels.

code: namespace Audio { static float Audio::ConvertToDecibels ( const float InLinear, const float InFloor ) }


description: Function converts decibel to linear scale.

code: namespace Audio { static float Audio::ConvertToLinear ( const float InDecibels ) }


description: Decodes a stereo Mid/Side signal into a stereo Left/Right signal.

code: namespace Audio { static void Audio::DecodeMidSide ( float & MidChannel, float & SideChannel ) }


description: Enumeration of filter types.

code: namespace Audio { namespace EBiquadFilter { enum Type { Lowpass, Highpass, Bandpass, Notch, ParametricEQ, LowShelf, HighShelf, AllPass, ButterworthLowPass, ButterworthHighPass, } } }


description: What mode the compressor is in.

code: namespace Audio { namespace EDynamicsProcessingMode { enum Type { Compressor, Limiter, Expander, Gate, UpwardsCompressor, Count, } } }


description: Denotes the upmix method for mixing a mono input into the front left and front right speakers.

code: namespace Audio { enum EChannelMapMonoUpmixMethod { Linear, EqualPower, FullVolume, } }


description: Denotes the order of gain coefficients for a channel map.

code: namespace Audio { enum EChannelMapOrder { OutputMajorOrder, InputMajorOrder, } }


code: namespace Audio { namespace EChorusDelays { enum Type { Left, Center, Right, NumDelayTypes, } } }


description: Plugin interface for Non Real-Time (NRT) Audio Analyzers.

code: namespace Audio { enum EDynamicFilterType { Bell, LowShelf, HighShelf, } }


code: namespace Audio { enum EDynamicsProcessorChannelLinkMode { Disabled, Average, Peak, Count, } }


code: namespace Audio { enum EEventQuantization { None, Bars8, Bars4, Bars2, Bar, HalfNote, HalfNoteTriplet, QuarterNote, QuarterNoteTriplet, EighthNote, EighthNoteTriplet, SixteenthNote, SixteenthNoteTriplet, ThirtySecondNote, Count, } }


description: Type of fade to use when adjusting a fader's volume over time.

code: namespace Audio { enum EFaderCurve { Linear, Logarithmic, SCurve, Sin, Count, } }


description: EFFTScaling describes how transformed data is scaled.IFFTAlgorithmimplementations must return this value to describe how to achieve equal energy between input data and transformed data. It is assumed that applying the logical inverse of the scaling will produce equal energy.

code: namespace Audio { enum EFFTScaling { None, MultipliedByFFTSize, MultipliedBySqrtFFTSize, DividedByFFTSize, DividedBySqrtFFTSize, } }


code: namespace Audio { enum EFilterOrder { TwoPole = 1, FourPole, SixPole, EightPole, } }


code: namespace Audio { namespace EFilter { enum Type { LowPass, HighPass, BandPass, BandStop, NumFilterTypes, } } }


code: namespace Audio { enum EGrainEnvelopeType { Rectangular, Triangle, DownwardTriangle, UpwardTriangle, ExponentialDecay, ExponentialIncrease, Gaussian, Hanning, Lanczos, Cosine, CosineSquared, Welch, Blackman, BlackmanHarris, Count, } }


code: namespace Audio { enum EGranularSynthMode { Synthesis, Granulation, Count, } }


code: namespace Audio { namespace ELFOMode { enum Type { Sync = 0, OneShot, Free, NumLFOModes, } } }


code: namespace Audio { namespace ELFO { enum Type { Sine = 0, UpSaw, DownSaw, Square, Triangle, Exponential, RandomSampleHold, NumLFOTypes, } } }


description: Normalization methods for a mel transform.

code: namespace Audio { enum EMelNormalization { EqualAmplitude, EqualEuclideanNorm, EqualEnergy, } }


description: Any additions to this Enum should also be added to MetasoundMidiNoteQuantizerNode.cpp in the "#pragma region Metasound Enums" area to show up as options in that Node

code: namespace Audio { namespace EMusicalScale { enum Scale { Major, Minor_Dorian, Phrygian, Lydian, Dominant7th_Mixolydian, NaturalMinor_Aeolian, HalfDiminished_Locrian, Chromatic, WholeTone, DiminishedWholeTone, MajorPentatonic, MinorPentatonic, Blues, Bebop_Major, Bebop_Minor, Bebop_MinorNumber2, Bebop_Dominant, HarmonicMajor, HarmonicMinor, MelodicMinor, SixthModeOfHarmonicMinor, LydianAugmented, LydianDominant, Augmented, Diminished, Diminished_BeginWithHalfStep, Diminished_BeginWithWholeStep, HalfDiminished_LocrianNumber2, Spanish_or_Jewish, Hindu, Count, } } }


description: Encodes a stereo Left/Right signal into a stereo Mid/Side signal.

code: namespace Audio { static void Audio::EncodeMidSide ( float & LeftChannel, float & RightChannel ) }


code: namespace Audio { namespace EOsc { enum Type { Sine, Saw, Triangle, Square, Noise, NumOscTypes, } } }


description: Different modes for the envelope follower.

code: namespace Audio { namespace EPeakMode { enum Type { MeanSquared, RootMeanSquared, Peak, Count, } } }


description: Band normalization schemes

code: namespace Audio { enum EPseudoConstantQNormalization { EqualAmplitude, EqualEuclideanNorm, EqualEnergy, } }


code: namespace Audio { namespace ESeekType { enum Type { FromBeginning, FromCurrentPosition, FromEnd, } } }


description: Types of spectrums which can be directly derived fromFFTFreqDomainData.

code: namespace Audio { enum ESpectrumType { MagnitudeSpectrum, PowerSpectrum, } }


description: The different stereo delay modes.

code: namespace Audio { namespace EStereoDelayMode { enum Type { Normal, Cross, PingPong, NumStereoDelayModes, } } }


code: namespace Audio { static float Audio::EvaluateChebyshevPolynomial ( float FrequencyRatio, int32 Order ) }


code: namespace Audio { enum EWaveShaperType { Sin, ATan, Tanh, Cubic, HardClip, } }


code: namespace Audio { enum EWindowType { None, Hamming, Hann, Blackman, } }


description: Wavetable oscillator types.

code: namespace Audio { namespace EWaveTable { enum Type { None, SineWaveTable, SawWaveTable, TriangleWaveTable, SquareWaveTable, BandLimitedSawWaveTable, BandLimitedTriangleWaveTable, BandLimitedSquareWaveTable, Custom, } } }


description: Low precision, high performance approximation of sine using parabolic polynomial approx Valid on interval [-PI, PI]

code: namespace Audio { static float Audio::FastSin ( const float X ) }


description: Slightly higher precision, high performance approximation of sine using parabolic polynomial approx.

code: namespace Audio { static float Audio::FastSin2 ( const float X ) }


description: Valid on interval [-PI, PI] Sine approximation using Bhaskara I technique discovered in 7th century.https://en.wikipedia.org/wiki/Bh%C4%81skara_I

code: namespace Audio { static float Audio::FastSin3 ( const float X ) }


description: Based on sin parabolic approximation.

code: namespace Audio { static float Audio::FastTan ( float X ) }


description: Fast tanh based on pade approximation.

code: namespace Audio { static float Audio::FastTanh ( float X ) }


description: This can be called on anyTArrayViewwhose length is a power of 2.

code: namespace Audio { static void Audio::Filter ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > & Signal, const [FPassiveFilterParams](API\Runtime\SignalProcessing\DSP\FPassiveFilterParams) & InParams ) }


description: Static function for applying a filter to any time series.

code: namespace Audio { static void Audio::Filter ( [TArray](API\Runtime\Core\Containers\TArray)< float > & Signal, const [FPassiveFilterParams](API\Runtime\SignalProcessing\DSP\FPassiveFilterParams) & InParams ) }


description: Helper function to get bandwidth from Q.

code: namespace Audio { static float Audio::GetBandwidthFromQ ( const float InQ ) }


description: Gets polar value from unipolar.

code: namespace Audio { static float Audio::GetBipolar ( const float X ) }


description: Using midi tuning standard, compute frequency in hz from midi value.

code: namespace Audio { static float Audio::GetFrequencyFromMidi ( const float InMidiNote ) }


description: Returns the frequency multiplier to scale a base frequency given the input semitones.

code: namespace Audio { static float Audio::GetFrequencyMultiplier ( const float InPitchSemitones ) }


code: namespace Audio { static float Audio::GetGainForFrequency ( float NormalizedFreq, const [FPassiveFilterParams](API\Runtime\SignalProcessing\DSP\FPassiveFilterParams) & InParams ) }


description: Given a velocity value [0,127], return the linear gain.

code: namespace Audio { static float Audio::GetGainFromVelocity ( const float InVelocity ) }


description: Returns the linear frequency of the input value. Maps log domain and range values to linear output (good for linear slider representation/visualization of log frequency). Reverse of GetLogFrequencyClamped.

code: namespace Audio { static float Audio::GetLinearFrequencyClamped ( const float InFrequencyValue, const FVector2D & Domain, const FVector2D & Range ) }


description: Returns the log frequency of the input value. Maps linear domain and range values to log output (good for linear slider controlling frequency)

code: namespace Audio { static float Audio::GetLogFrequencyClamped ( const float InValue, const FVector2D & Domain, const FVector2D & Range ) }


description: Using midi tuning standard, compute midi from frequency in hz.

code: namespace Audio { static float Audio::GetMidiFromFrequency ( const float InFrequency ) }


description: Return a pitch scale factor based on the difference between a base midi note and a target midi note. Useful for samplers.

code: namespace Audio { static float Audio::GetPitchScaleFromMIDINote ( int32 BaseMidiNote, int32 TargetMidiNote ) }


description: Helper function get Q from bandwidth.

code: namespace Audio { static float Audio::GetQFromBandwidth ( const float InBandwidth ) }


description: Returns the number of semitones relative to a base frequency given the input frequency multiplier.

code: namespace Audio { static float Audio::GetSemitones ( const float InMultiplier ) }


description: Calculates equal power stereo pan using sinusoidal-panning law and cheap approximation for sin InLinear pan is [-1.0, 1.0] so it can be modulated by a bipolar LFO

code: namespace Audio { static void Audio::GetStereoPan ( const float InLinearPan, float & OutLeft, float & OutRight ) }


description: Converts bipolar value to unipolar.

code: namespace Audio { static float Audio::GetUnipolar ( const float X ) }


description: Grain envelope types.

code: namespace Audio { namespace Grain { enum EEnvelope { Gaussian, Triangle, DownwardTriangle, UpwardTriangle, ExponentialDecay, ExponentialAttack, } } }


description: Utility function generates an envelope with the input array for the number of desired frames.

code: namespace Audio { namespace Grain { static void Audio::Grain::GenerateEnvelopeData ( [FEnvelope](API\Runtime\SignalProcessing\DSP\FEnvelope) & InData, const int32 InNumFrames, const [EEnvelope](API\Runtime\SignalProcessing\DSP\Audio__Grain__EEnvelope) InEnvelopeType ) } }


description: Returns the interpolated envelope value given the fraction through the grain.

code: namespace Audio { namespace Grain { static float Audio::Grain::GetValue ( const [FEnvelope](API\Runtime\SignalProcessing\DSP\FEnvelope) & InGrainData, const float InFraction ) } }


description: Polynomial interpolation using lagrange polynomials.https://en.wikipedia.org/wiki/Lagrange_polynomial

code: namespace Audio { static float Audio::LagrangianInterpolation ( const [TArray](API\Runtime\Core\Containers\TArray)< FVector2D > Points, const float Alpha ) }


code: namespace Audio { static Audio::MaxFilterChannels = 8; }


description:
Given three values, determine peak location and value of quadratic fitted to the data.
True if a peak was found, false if the values do not represent a peak.

code: namespace Audio { static bool Audio::QuadraticPeakInterpolation ( const float InValues, float & OutPeakLoc, float & OutPeakValue ) }


description: Set the number of frames for a multichannel buffer.

code: namespace Audio { void Audio::SetMultichannelBufferSize ( int32 InNumFrames, [FMultichannelBuffer](API\Runtime\SignalProcessing\DSP\FMultichannelBuffer) & OutBuffer ) }


description: Clamps floats to 0 if they are in sub-normal range.

code: namespace Audio { static float Audio::UnderflowClamp ( const float InValue ) }


description: Override this to compress InAudio to OutBytes. Returns true on success, false on failure.

code: virtual bool EncodeChunk ( const [TArray](API\Runtime\Core\Containers\TArray)< float > & InAudio, [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & OutBytes )


code: virtual bool EndFile ( [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & OutBytes )


description: From IAudioEncoder: returns 0, since Ogg Vorbis is not built for networked streaming.

code: virtual int32 GetCompressedPacketSize() const


description: From IAudioEncoder:

code: virtual int64 SamplesRequiredPerEncode() const


description: This should be overridden to, give the properties in InQualityInfo, write a header into OutFileStart. returns true on success, or false on failure.

code: virtual bool StartFile ( const [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) & InQualityInfo, [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & OutFileStart )


code: FOggVorbisEncoder ( const [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) & InInfo, int32 AverageBufferCallbackSize )


className: FOggVorbisEncoder

code: class FOggVorbisEncoder : public [Audio::IAudioEncoder](API\Runtime\SignalProcessing\DSP\Encoders\IAudioEncoder)


description: Used for internet streaming. Should return the amount of bytes required for a self contained packet.


description: How many samples of decoded audio that are required for a single compression operation.


code: FOpusEncoder ( const [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) & InInfo, int32 AverageBufferCallbackSize, EOpusFrameSizes InFrameSize, EOpusMode InMode )


code: FWavEncoder ( const [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) & InInfo, int32 AudioCallbackSize )


className: FWavEncoder

code: class FWavEncoder : public [Audio::IAudioEncoder](API\Runtime\SignalProcessing\DSP\Encoders\IAudioEncoder)


code: bool EncodeChunk ( const [TArray](API\Runtime\Core\Containers\TArray)< float > & InAudio, [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & OutBytes )


description: If you'd like to run audio encoding on a separate thread, use this call. Otherwise, ensure that bEncodeIfPossible is set to true when you call PushAudio.

code: bool EncodeIfPossible()


className: FOpusEncoder

code: class FOpusEncoder : public [Audio::IAudioEncoder](API\Runtime\SignalProcessing\DSP\Encoders\IAudioEncoder)


code: bool EndFile ( [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & OutBytes )


description: Call this once you are finished pushing audio. Returns the amount of bytes left to pop if positive, and if negative indicates a failiure.

code: int64 Finalize()


code: int32 GetCompressedPacketSize() const


description: Should be called in the constructor of any implementation ofIAudioEncoder. Calls StartFile if necessary.

code: void Init ( const [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) & InQualityInfo )


description: Pop compressed data. If you are using this encoder for streaming over network, use the size returned byGetCompressedPacketSize(). Returns number of bytes written.

code: int32 PopData ( uint8 * OutData, int32 DataSize )


description: Call this function when audio is available. If you would like to handle compression on a separate thread or call, Call this function with bEncodeIfPossible set to false. Returns true if audio was successfully pushed, false, if the internal buffer is full.

code: bool PushAudio ( const float * InBuffer, int32 NumSamples, bool bEncodeIfPossible )


code: int64 SamplesRequiredPerEncode() const


code: bool StartFile ( const [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) & InQualityInfo, [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & OutFileStart )


description: Must be constructed with AudioBufferSlack. Optionally, DataBufferSlack can be called with a different value depending on how often PushAudio, EncodeIfPossible, or PopData will be called.

code: IAudioEncoder ( uint32 AudioBufferSlack, uint32 DataBufferSlack )


code: virtual ~IAudioEncoder()


className: IAudioEncoder

description: IAudioEncoderInterface used to implement a runtime audio encoder.

code: class IAudioEncoder


className: FAcousticEchoCancellation

description: Deprecated*FAcousticEchoCancellationwill no longer be supported.

code: class FAcousticEchoCancellation : public [Audio::FAcousticEchoCancellation_DEPRECATED](API\Runtime\SignalProcessing\DSP\FAcousticEchoCancellation_DEPREC-)


description: This is how any signal that may be picked up by the microphone may be added to the echo cancellation here:

code: [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) AddNewSignalPatch ( int32 ExpectedLatency, float Gain )


description: Callback function for outgoing audio signal. This is where the filter is applied, and the bulk of the DSP work takes place.

code: void ProcessAudio ( float * InAudio, int32 NumSamples )


code: void RemoveSignalPatch ( const [FPatchInput](API\Runtime\SignalProcessing\DSP\FPatchInput) & Patch )


description: Convergence Rate should be a number between 0 and 1. The higher the number, the quicker the adaptive filter reacts.

code: FAcousticEchoCancellation_DEPRECATED ( float InConvergenceRate, int32 CallbackSize, int32 InFilterLength, int32 InFilterUpdateRate )


description: This class uses an adaptive filter to cancel out any rendered audio signal that might be picked up by the mic. To add a new patch to a rendered audio signal, user AddNewSignalPatch. SeeFPatchInputfor how to push audio. ProcessAudio then filters the microphone signal accordingly.


className: FAdaptiveFilter

description: Deprecated*FAdaptiveFilterwill no longer be supported.

code: class FAdaptiveFilter : public [Audio::FAdaptiveFilter_DEPRECATED](API\Runtime\SignalProcessing\DSP\FAdaptiveFilter_DEPRECATED)


description: Applies current filter to InAudio in-place. If there is a new target set of weights, they can be input below.


code: void SetWeights ( const [FrequencyBuffer](API\Runtime\SignalProcessing\DSP\FrequencyBuffer) & InFilterWeights, int32 FilterLength, float InLearningRate )


code: FAdaptiveFilter_DEPRECATED ( int32 FilterLength, int32 AudioCallbackSize )


description: Several classes in VoiceProcessing are deprecated due to lack of support and lack of need. Current voice processing solutions are available through EOS and WebRTC. This filter takes a precomputed set of FIR weights in the frequency domain, and linearly converges to it. If no new weights are given and we've converged to our previous input weights, this works like a normal FFT-based FIR filter. Convergence is non-asymptotic: if no new weights are given after our number of steps until convergence, our filter is using the exact weights given.

code: class FAdaptiveFilter_DEPRECATED


description: Call function to trigger a new attack-phase of the envelope generator.

code: void Attack()


description: Generates an output audio buffer (used for audio-rate envelopes)

code: bool GetNextEnvelopeOut ( float & OutEnvelope )


code: void GetNextEnvelopeOut ( int32 StartFrame, int32 EndFrame, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutFinishedFrames, [Audio::AlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\AlignedFloatBuffer) & OutEnvelope )


description: Generates a single float value (used for control-rate envelopes)

code: void GetNextEnvelopeOut ( int32 StartFrame, int32 EndFrame, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutFinishedFrames, float & OutEnvelope )


code: void Init ( int32 InSampleRate )


code: void SetAttackCurveFactor ( float InAttackCurve )


code: void SetAttackTimeSeconds ( float InAttackTimeSeconds )


code: void SetDecayCurveFactor ( float InDecayCurve )


code: void SetDecayTimeSeconds ( float InReleaseTimeSeconds )


code: void SetLooping ( bool bInIsLooping )


className: FADEnvelope

description: Sample accurate attack-decay style envelope generator

code: class FADEnvelope


description: Add samples to the buffer.

code: void AddSamples ( const float * InSamples, int32 InNum )


description: Add zeros to the buffer.

code: void AddZeros ( int32 InNum )


code: float * AllocateAlignedFloatArray ( int32 InNum ) const


description: Clear entire buffer.

code: void ClearSamples()


code: void CopyFloatArray ( float * ToArray, const float * FromArray, int32 InNum ) const


code: void FreeFloatArray ( float *& Array ) const


description: Maximum number of elements that can be inspected.

code: int32 GetMaxNumInspectSamples() const


description: Amount of samples left over in buffer.

code: int32 GetNumAvailable() const


description: Maximum size of buffer.

code: int32 GetSampleCapacity() const


description: Inspect samples in the buffer. Returned samples abide by the memory alignment specified during construction. Warning: Not thread safe. The returned pointer is only valid as long as this object exists and before any mutating operations are made to this object.

code: const float * InspectSamples ( int32 InNum, int32 InOffset )


description: Set the maximum number of elements that can be inspected.

code: void SetMaxNumInspectSamples ( int32 InMax )


description: Remove samples from the buffer.

code: void RemoveSamples ( int32 InNum )


code: void ZeroFloatArray ( float * InArray, int32 InNum ) const


description: Constructor.

code: FAlignedBlockBuffer ( int32 InSampleCapacity, int32 InMaxNumInspectSamples, uint32 InByteAlignment, uint32 InAllocByteAlignment )


code: FAlignedBlockBuffer &40; const FAlignedBlockBuffer & CopyBuff &41;


className: FAlignedBlockBuffer

description: First In First Out Buffer designed for audio buffers. Generally performs best when buffers are greater than 16 samples, optimally for buffers between 256 to 4096 samples. Memory operations are designed for audio applications by ensuring memory allocations only occur in the constructor or when capacity is altered, memory freeing only happens in the destructor or when capacity is altered. All assignments are performed using block memory copies.

code: class FAlignedBlockBuffer


description: Destructor.

code: ~FAlignedBlockBuffer()


className: FAlignedByteBuffer

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< uint8, [FAudioBufferAlignedAllocator](API\Runtime\SignalProcessing\DSP\FAudioBufferAlignedAllocator) > FAlignedByteBuffer


className: FAlignedFloatBuffer

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< float, [FAudioBufferAlignedAllocator](API\Runtime\SignalProcessing\DSP\FAudioBufferAlignedAllocator) > FAlignedFloatBuffer


code: typedef [TArray](API\Runtime\Core\Containers\TArray)< int32, [FAudioBufferAlignedAllocator](API\Runtime\SignalProcessing\DSP\FAudioBufferAlignedAllocator) > FAlignedInt32Buffer


description: Apply delay to InSamples. Fill OutSamples with data from the delay line at a delay of InDelay. InDelay must be equal length to InSamples.

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InDelays, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


description: Set all values in internal delay line to zero.

code: void Reset()


description: InMaxDelay sets the maximum allowable delay that this object can support. The minimum delay is 0.5 InNumInternalBufferSamples sets the maximum block processing size.

code: FAllPassFractionalDelay ( int32 InMaxDelay, int32 InNumInternalBufferSamples )


className: FAllPassFractionalDelay

description: Performs a fractional delay utilzing a single order all pass filter.

code: class FAllPassFractionalDelay


code: ~FAllPassFractionalDelay()


description: Generates a new gain value for left and right outputs.

code: void Generate ( float & OutGainLeft, float & OutGainRight )


code: const [FPatchDestination](API\Runtime\SignalProcessing\DSP\FPatchDestination) GetModDestGainEnv() const


code: const [FPatchDestination](API\Runtime\SignalProcessing\DSP\FPatchDestination) GetModDestGainScale() const


code: const [FPatchDestination](API\Runtime\SignalProcessing\DSP\FPatchDestination) GetModDestPan() const


description: Initializes the amp with the mod matrix.

code: void Init ( const int32 InVoiceId, [FModulationMatrix](API\Runtime\SignalProcessing\DSP\FModulationMatrix) * ModMatrix )


description: Takes mono input and generates stereo output.

code: void ProcessAudio ( const float LeftIn, float * LeftOutput, float * RightOutput )


description: Takes stereo input and generates stereo output.

code: void ProcessAudio ( const float LeftIn, const float RightIn, float * LeftOutput, float * RightOutput )


description: Sets the direct gain in linear.

code: void SetGain ( const float InGainLinear )


description: Sets the gain based on an envelope value.

code: void SetGainEnv ( const float InGainEnv )


description: Sets the direct gain in decibel.

code: void SetGainDb ( const float InGainDB )


code: void SetGainEnvDb ( const float InGainEnvDb )


description: Sets the gain modulation in linear. Expects modulation value to be bipolar (for AM synth, etc)

code: void SetGainMod ( const float InBipolarGainModLinear )


description: Sets the gain modulation in decibel.

code: void SetGainModDb ( const float InGainModDb )


description: Sets the pan.

code: void SetPan ( const float InPan )


description: Change the allowed range of the gain output.

code: void SetGainRange ( const float InMin, const float InMax )


description: Sets the gain using a midi velocity value.

code: void SetVelocity ( const float InVelocity )


description: Sets the pan modulator.

code: void SetPanModulator ( const float InPanMod )


description: Updates the final output left and right gain based on current settings.

code: void Update()


className: FAmp

description: Class which manages scaling audio input and performing panning operations.

code: class FAmp

bChanged

description: Whether or not something changed since the last time generate was called.

GainControl

type: float

description: Direct input gain control (i.e. gain slider)

GainEnv

description: Gain set from envelope.

GainEnvDest

type: FPatchDestinati...

GainMin

description: Min and max output gain, can be changed based on need.

GainMod

description: A modulated value of gain, can be used for tremolo or amplitude modulation.

GainVelocity

description: Gain due to midi velocity.

LeftGain

description: The final left and right output gain values.

ModMatrix

type: FModulationMatr...

description: Mod matrix.

Pan

description: Linear pan value [-1.0, 1.0].

PanMod

description: Linear pan modulator.

TargetLeftGain

description: Values used for lerping gain values to avoid zippering.


description: Return array of bands using spectrum band extractor.

code: void GetBands ( [ISpectrumBandExtractor](API\Runtime\SignalProcessing\DSP\ISpectrumBandExtractor) & InExtractor, [TArray](API\Runtime\Core\Containers\TArray)< float > & OutValues )


description: Samples magnitude (linearly) for a given frequency, in Hz.

code: float GetMagnitudeForFrequency ( float InFrequency, [FSpectrumAnalyzer::EPeakInterpolationMethod](API\Runtime\SignalProcessing\DSP\FSpectrumAnalyzer\EPeakInterpolationMethod) InMethod )


code: float GetNormalizedMagnitudeForFrequency ( float InFrequency, [FSpectrumAnalyzer::EPeakInterpolationMethod](API\Runtime\SignalProcessing\DSP\FSpectrumAnalyzer\EPeakInterpolationMethod) InMethod )


description: Samples phase for a given frequency, in Hz.

code: float GetPhaseForFrequency ( float InFrequency, [FSpectrumAnalyzer::EPeakInterpolationMethod](API\Runtime\SignalProcessing\DSP\FSpectrumAnalyzer\EPeakInterpolationMethod) InMethod )


description: Get the current settings used by this Spectrum Analyzer.

code: void GetSettings ( [FSpectrumAnalyzerSettings](API\Runtime\SignalProcessing\DSP\FSpectrumAnalyzerSettings) & OutSettings )


description: Initialize sample rate of analyzer if not known at time of construction.

code: void Init ( float InSampleRate )


code: void Init ( const [FSpectrumAnalyzerSettings](API\Runtime\SignalProcessing\DSP\FSpectrumAnalyzerSettings) & InSettings, float InSampleRate )


description: Returns false if this instance ofFSpectrumAnalyzerwas constructed with the default constructor andInit()has not been called yet.

code: bool IsInitialized()


description: Thread safe call to perform actual FFT. Returns true if it performed the FFT, false otherwise. If bUseLatestAudio is set to true, this function will flush the entire input buffer, potentially losing data. Otherwise it will only consume enough samples necessary to perform a single FFT.

code: bool PerformAnalysisIfPossible ( bool bUseLatestAudio )


description: You can call this function to ensure that you're sampling the same window of frequency data, Then call UnlockOutputBuffer when you're done. Otherwise, GetMagnitudeForFrequency and GetPhaseForFrequency will always use the latest window of frequency data.

code: void LockOutputBuffer()


code: bool PerformAsyncAnalysisIfPossible ( bool bUseLatestAudio )


description: Push audio to queue. Returns false if the queue is already full.

code: bool PushAudio ( const [TSampleBuffer](API\Runtime\SignalProcessing\TSampleBuffer)< float > & InBuffer )


code: bool PushAudio ( const float * InBuffer, int32 NumSamples )


description: Update the settings used by this Spectrum Analyzer. Safe to call on any thread, but should not be called every tick.

code: void SetSettings ( const [FSpectrumAnalyzerSettings](API\Runtime\SignalProcessing\DSP\FSpectrumAnalyzerSettings) & InSettings )


code: void UnlockOutputBuffer()


code: FAsyncSpectrumAnalyzer()


code: FAsyncSpectrumAnalyzer &40; const FSpectrumAnalyzer & &41;


description: If an instance is created using either of these constructors,Init()is not neccessary.

code: FAsyncSpectrumAnalyzer ( float InSampleRate )


code: FAsyncSpectrumAnalyzer &40; FSpectrumAnalyzer && &41;


code: FAsyncSpectrumAnalyzer ( const [FSpectrumAnalyzerSettings](API\Runtime\SignalProcessing\DSP\FSpectrumAnalyzerSettings) & InSettings, float InSampleRate )


code: virtual ~FAsyncSpectrumAnalyzer()


className: FAsyncSpectrumAnalyzer

description: SpectrumAnalyzer for computing spectrum in async task.

code: class FAsyncSpectrumAnalyzer


code: FAsyncSpectrumAnalyzerScopeLock ( [FAsyncSpectrumAnalyzer](API\Runtime\SignalProcessing\DSP\FAsyncSpectrumAnalyzer) * InAnalyzer )


className: FAsyncSpectrumAnalyzerScopeLock

code: class FAsyncSpectrumAnalyzerScopeLock


code: ~FAsyncSpectrumAnalyzerScopeLock()


className: AnalogTimeConstant

description: Seehttps://en.wikipedia.org/wiki/RC_time_constantTime constants indicate how quickly the envelope follower responds to changes in input

code: static constexpr float AnalogTimeConstant = 1.00239343f;


className: DigitalTimeConstant

code: static constexpr float DigitalTimeConstant = 4.60517019f;


description: Get whether set to analog or digital time constant. (True is analog, false is digital)

code: bool GetAnalog() const


description: Get the attack time in samples.

code: float GetAttackTimeSamples() const


description: Get the attack time in milliseconds.

code: float GetAttackTimeMsec() const


description: Get the release time in samples.

code: float GetReleaseTimeSamples() const


description: Get the release time in milliseconds.

code: float GetReleaseTimeMsec() const


description: Get the sample rate.

code: float GetSampleRate() const


code: void SetAnalog ( bool bInIsAnalog )


code: void SetAttackTime ( float InAttackTimeMsec )


code: void SetReleaseTime ( float InReleaseTimeMsec )


description: Construct anFAttackReleaseobject.

code: FAttackRelease ( float InSampleRate, float InAttackTimeMsec, float InReleaseTimeMsec, bool bInIsAnalog )


className: FAttackRelease

description: Conversion between attack/release time and attack/release sample counts.

code: class FAttackRelease


code: void SetSampleRate ( float InSampleRate )


description: Retrieve the final values of the envelope for each channel.

code: const [TArray](API\Runtime\Core\Containers\TArray)< float > & GetEnvelopeValues() const


description: Process channel interleaved data.

code: void ProcessAudio ( const float * InBuffer, int32 InNumFrames )


description: Process channel interleaved data.

code: void ProcessAudio ( const float * InBuffer, int32 InNumFrames, float * OutBuffer )


description: Set the number of input channels

code: void SetNumChannels ( int32 InNumChannels )


description: Construct anFAttackReleaseSmoother.

code: FAttackReleaseSmoother ( float InSampleRate, int32 InNumChannels, float InAttackTimeMsec, float InReleaseTimeMsec, bool bInIsAnalog )


className: FAttackReleaseSmoother

description: Smooths signals using attack and release settings.

code: class FAttackReleaseSmoother : public [Audio::FAttackRelease](API\Runtime\SignalProcessing\DSP\FAttackRelease)


className: FAudioBufferAlignedAllocator

description: Aligned allocator used for fast operations.

code: typedef [TAlignedHeapAllocator](API\Runtime\Core\Containers\TAlignedHeapAllocator)< 16 > FAudioBufferAlignedAllocator


className: FAudioBufferDistanceAttenuationSettings

description: Settings for audio buffer distance attenuation.

AttenuationCurve

description: A curve (values are expected to be normalized between 0.0 and 1.0) to use to control attenuation vs distance from listener.

AttenuationDbAtMaxRange

description: The attenuation (in Decibels) at max range. The attenuation will be performed in dB and clamped to zero (linear) greater than max attenuation past the max range.

DistanceRange

description: The min and max distance range to apply attenuation to the voip stream based on distance from listener.


description: Returns true if the input settings are supported by this factory.

code: virtual bool AreFFTSettingsSupported ( const [FFFTSettings](API\Runtime\SignalProcessing\DSP\FFFTSettings) & InSettings ) const


description: Name of this fft algorithm factory.

code: virtual [FName](API\Runtime\Core\UObject\FName) GetFactoryName() const


description: If true, this implementation requires input and output arrays to be 128 bit aligned.

code: virtual bool Expects128BitAlignedArrays() const


description: If true, this implementation uses hardware acceleration.

code: virtual bool IsHardwareAccelerated() const


description: Create a new FFT algorithm.

code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IFFTAlgorithm](API\Runtime\SignalProcessing\DSP\IFFTAlgorithm) > NewFFTAlgorithm ( const [FFFTSettings](API\Runtime\SignalProcessing\DSP\FFFTSettings) & InSettings )


description: If PushAudio is called with bEncodeIfPossible set to false, this will need to be called.

code: bool EncodeIfPossible()


code: virtual ~FAudioFFTAlgorithmFactory()


className: FAudioFFTAlgorithmFactory

description: FFT Algorithm factory for this FFT implementation

code: class FAudioFFTAlgorithmFactory : public [Audio::IFFTAlgorithmFactory](API\Runtime\SignalProcessing\DSP\IFFTAlgorithmFactory)


description: Returns file information.

code: void GetFileInfo ( [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) & OutInfo )


description: Use this to push audio to the file writer. If you'd like to move encoding and file writing to a separate thread from PushAudio, Call this with bEncodeIfPossible = false.

code: bool PushAudio ( const float * InAudio, int32 NumSamples, bool bEncodeIfPossible )


description: Constructor. Takes an absolute file path and metadata about the audio in question. Immediately allocates all data necessary.

code: FAudioFileWriter ( const [FString](API\Runtime\Core\Containers\FString) & InPath, const [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) & InInfo )


description: Calling the destructor on this class finalizes and closes out the file.

code: ~FAudioFileWriter()


className: FAudioFileWriter

code: class FAudioFileWriter


description: Create aFBaseChannelFormatConverterATUniquePtrto aFBaseChannelFormatConverter.

code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FBaseChannelFormatConverter](API\Runtime\SignalProcessing\DSP\FBaseChannelFormatConverter) > CreateBaseFormatConverter ( const [FInputFormat](API\Runtime\SignalProcessing\DSP\IChannelFormatConverter\FInputFormat) & InInputFormat, const [FOutputFormat](API\Runtime\SignalProcessing\DSP\IChannelFormatConverter\FOutputFormat) & InOutputFormat, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FChannelMixEntry](API\Runtime\SignalProcessing\DSP\FBaseChannelFormatConverter\FChannelMixEntry) > InMixEntries, int32 InNumFramesPerCall )


className: FChannelMixEntry

description: FChannelMixEntrydenotes how an input channel should be mixed into an output channel.

code: struct FChannelMixEntry

Gain

description: The scalar gain to apply to input audio samples when adding them to output audio samples.

InputChannelIndex

description: The index of the input channel to use as a source.

OutputChannelIndex

description: The index of the output channel to use as a destination.


description: Return the input format handled by this converter.

code: virtual const [FInputFormat](API\Runtime\SignalProcessing\DSP\IChannelFormatConverter\FInputFormat) & GetInputFormat() const


description: Return the output format handled by this converter.

code: virtual const [FOutputFormat](API\Runtime\SignalProcessing\DSP\IChannelFormatConverter\FOutputFormat) & GetOutputFormat() const


description: If the gains are to be faded during the subsequent call toProcessAudio(), this will return the ending gain.

code: float GetTargetMixGain ( int32 InInputChannelIndex, int32 InOutputChannelIndex ) const


description: If the gain is to be faded during the subsequent call toProcessAudio(), this will return the ending gain.

code: float GetTargetOutputGain() const


description: The input buffer array must have the same number of channels as the FInputFormat return fromGetInputFormat(). Each buffer within that array must have `InNumFramesPerCall_ as set on creation.

code: virtual void ProcessAudio ( const [TArray](API\Runtime\Core\Containers\TArray)< [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) > & InInputBuffers, [TArray](API\Runtime\Core\Containers\TArray)< [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) > & OutOutputBuffers )


description: Sets the gain scalar to apply to a specific input/output channel pair.

code: void SetMixGain ( const [FChannelMixEntry](API\Runtime\SignalProcessing\DSP\FBaseChannelFormatConverter\FChannelMixEntry) & InEntry, bool bFadeToGain )


description: Sets the output gain scalar to apply to all output audio.

code: void SetOutputGain ( float InOutputGain, bool bFadeToGain )


code: void SetMixGain ( int32 InInputChannelIndex, int32 InOutputChannelIndex, float InGain, bool bFadeToGain )


code: FBaseChannelFormatConverter ( const [FInputFormat](API\Runtime\SignalProcessing\DSP\IChannelFormatConverter\FInputFormat) & InInputFormat, const [FOutputFormat](API\Runtime\SignalProcessing\DSP\IChannelFormatConverter\FOutputFormat) & InOutputFormat, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FChannelMixEntry](API\Runtime\SignalProcessing\DSP\FBaseChannelFormatConverter\FChannelMixEntry) > InMixEntries, int32 InNumFramesPerCall )


code: virtual ~FBaseChannelFormatConverter()


className: FBaseChannelFormatConverter

description: FBaseChannelFormatConverterimplements channel conversion using a simple mixing matrix.

code: class FBaseChannelFormatConverter : public [Audio::IChannelFormatConverter](API\Runtime\SignalProcessing\DSP\IChannelFormatConverter)


code: float ProcessAudio ( const float InSample )


description: Reset the filter (flush delays)

code: void Reset()


className: FBiquad

description: Simple biquad filter structure handling a biquad formulation See:https://en.wikipedia.org/wiki/Digital_biquad_filterCalculations of coefficients are handled outside this class. Filter coefficients are public and are intended to be used externally.

code: class FBiquad

description: Biquad filter coefficients.


description: Function computes biquad coefficients based on current filter settings.

code: void CalculateBiquadCoefficients()


description: Function used to clamp the cutoff frequency.

code: float ClampCutoffFrequency ( float InCutoffFrequency )


description: Returns number of channels initialized with.

code: int32 GetNumChannels() const


description: Initialize the filter.

code: void Init ( const float InSampleRate, const int32 InNumChannels, const [EBiquadFilter::Type](API\Runtime\SignalProcessing\DSP\Audio__EBiquadFilter__Type) InType, const float InCutoffFrequency, const float InBandwidth, const float InGain )


description: Processes a single frame of audio.

code: void ProcessAudioFrame ( const float * InFrame, float * OutFrame )


description: Process a buffer of audio.

code: void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer )


description: Sets the bandwidth (octaves) of the filter.

code: void SetBandwidth ( const float InBandwidth )


description: Resets the filter state.


description: Sets whether or no this filter is enabled (if disabled audio is passed through)

code: void SetEnabled ( const bool bInEnabled )


description: Sets the filter frequency.

code: void SetFrequency ( const float InCutoffFrequency )


description: Sets the gain of the filter in decibels.

code: void SetGainDB ( const float InGainDB )


description: Sets all filter parameters with one function.

code: void SetParams ( const [EBiquadFilter::Type](API\Runtime\SignalProcessing\DSP\Audio__EBiquadFilter__Type) InFilterType, const float InCutoffFrequency, const float InBandwidth, const float InGainDB )


description: Sets the type of the filter to use.

code: void SetType ( const [EBiquadFilter::Type](API\Runtime\SignalProcessing\DSP\Audio__EBiquadFilter__Type) InType )


description: Constructor.

code: FBiquadFilter()


description: Destructor.

code: virtual ~FBiquadFilter()


className: FBiquadFilter

description: Biquad filter class which wraps a biquad filter struct Handles multi-channel audio to avoid calculating filter coefficients for multiple channels of audio.

code: class FBiquadFilter

Bandwidth

description: Current bandwidth/resonance of the filter.

bEnabled

description: Whether or not this filter is enabled (will bypass otherwise)

Biquad

type: FBiquad*

description: Biquad filter objects for each channel.

FilterType

description: What kind of filter to use when computing coefficients.

Frequency

description: Current frequency of the filter.

GainDB

description: The gain of the filter in DB (for filters that use gain)

NumChannels

description: Number of channels in the filter.

SampleRate

description: The sample rate of the filter.


description: Returns the maximum value given bit depths will be clamped to.

code: static float GetMaxBitDepth()


description: Initialize the equalizer.

code: void Init ( const float InSampleRate, const int32 InNumChannels )


description: Processes audio.


description: Processes audio.


description: The amount to reduce the bit depth of the audio stream.

code: void SetBitDepthCrush ( const float InBitDepth )


description: The amount to reduce the sample rate of the audio stream.

code: void SetSampleRateCrush ( const float InFrequency )


description: Constructor.

code: FBitCrusher()


description: Destructor.

code: ~FBitCrusher()


className: FBitCrusher

description: Bit crushing effecthttps://en.wikipedia.org/wiki/Bitcrusher

code: class FBitCrusher


description: Then for M = `GetNumInputValues()_ the Output array contains: Output = [AutoCorr[0], AutoCorr[1], ..., AutoCorr[M-1], AutoCorr[M], AutoCorr[-M + 1], AutoCorr[-M + 2], ..., AutoCorr[-2], AutoCorr[-1]]

code: void AutoCorrelate ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & Input, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & Output )


description: Then for M = `GetNumInputValues()_ the Output array contains: Output = [CrossCorr[0], CrossCorr[1], ..., CrossCorr[M-1], CrossCorr[M], CrossCorr[-M + 1], CrossCorr[-M + 2], ..., CrossCorr[-2], CrossCorr[-1]]

code: void CrossCorrelate ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InputA, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InputB, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & Output )


description: Returns the number of input values to use when calling CrossCorrelate(...) or AutoCorrelate(...)

code: int32 GetNumInputValues() const


description: Returns the number of output values to use when calling CrossCorrelate(...) or AutoCorrelate(...)

code: int32 GetNumOutputValues() const


description: Construct a block correlator withFBlockCorrelatorSettings

code: FBlockCorrelator ( const [FBlockCorrelatorSettings](API\Runtime\SignalProcessing\DSP\FBlockCorrelatorSettings) & InSettings )


description: Return settings used to construct block correlator.

code: const [FBlockCorrelatorSettings](API\Runtime\SignalProcessing\DSP\FBlockCorrelatorSettings) & GetSettings() const


className: FBlockCorrelator

description: Correlation calculator which utilizes FFT to perform fast correlation calculations.

code: class FBlockCorrelator


className: FBlockCorrelatorSettings

description: Settings for block correlator

code: struct FBlockCorrelatorSettings

bDoNormalize

description: If true, autocorrelation values will be normalized to reduce bias introduced by block windowing.

description: Logarithm base 2 of the number of values in a block.

WindowType

type: EWindowType

description: Audio window type to apply to input.


description: Returns const reference to the deltas buffer for doing interpolation elsewhere

code: const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & GetDeltaBuffer()


description: Performs Vectorized update of SourceValues float buffer. Returns true if interpolation is complete

code: bool Update ( [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSourceValues )


description: Will cache SourceValues ptr and manually update SourceValues onUpdate()

code: void Init ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSourceValues, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InTargetValues, int32 InLerpLength )


description: Update overloaded to let you jump forward more than a single time-step

code: bool Update ( uint32 StepsToJumpForward, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSourceValues )


code: FBufferLinearEase ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSourceValues, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InTargetValues, int32 InLerpLength )


className: FBufferLinearEase

description: Class which handles a vectorized interpolation of an entire buffer to the values of a target buffer

code: class FBufferLinearEase


description: Resets the audio to silence.

code: void FlushAudio()


description: Process InSamples and place filtered audio in OutSamples.

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


description: Resets the sample delay to 0.

code: void Reset()


description: Sets the filter frequency using normalized frequency (between 0.0 and 1.0f or 0.0 hz and Nyquist Frequency in Hz)

code: void SetFrequency ( const float InFrequency )


description: Set the LPF gain coefficient.

code: void SetG ( float InG )


description: Constructor.

code: FBufferOnePoleLPF ( float InG )


className: FChannelMapParams

description: Parameters for creating 2D channel maps.

code: struct FChannelMapParams

bIsCenterChannelOnly

description: If true and (NumInputChannels == 1) and the output format has a center channel, then the mono channel will be routed directly to the center channel.

MonoUpmixMethod

type: EChannelMapMono...

description: Method for upmixing mono audio (only used if NumInputChannels == 1)

NumInputChannels

description: Number of channels in the input audio.

NumOutputChannels

description: Number of channels in the output audio.

Order

type: EChannelMapOrde...

description: Order of gain coefficients in the output channel map.


className: FBufferOnePoleLPF

description: Simple 1-pole lowpass filter.

code: class FBufferOnePoleLPF

description: Filter coefficients.

description: 1-sample delay


code: int32 GetNumChannels() const


code: void Init ( const float InSampleRate, const int32 InNumChannels, const float InDelayLengthSec, const int32 InControlSamplePeriod )


code: void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer )


code: void SetDepth ( const [EChorusDelays::Type](API\Runtime\SignalProcessing\DSP\Audio__EChorusDelays__Type) InType, const float InDepth )


code: void ProcessAudioFrame ( const float * InFrame, float * OutFrame )


code: void SetDryLevel ( const float InDryLevel )


code: void SetFeedback ( const [EChorusDelays::Type](API\Runtime\SignalProcessing\DSP\Audio__EChorusDelays__Type) InType, const float InFeedback )


code: void SetFrequency ( const [EChorusDelays::Type](API\Runtime\SignalProcessing\DSP\Audio__EChorusDelays__Type) InType, const float InFrequency )


code: void SetSpread ( const float InSpread )


code: void SetWetLevel ( const float InWetLevel )


className: FChorus

code: class FChorus

Delays

type: FDelay[EChorusD...

Depth

type: FLinearEase[ECh...

Feedback

type: float[EChorusDe...

LFOs

type: FLFO[EChorusDel...


description: Returns the required size of the input array

code: int32 GetNumInElements() const


code: [FContiguousSparse2DKernelTransform](API\Runtime\SignalProcessing\DSP\FContiguousSparse2DKernelTransfo-) & operator= ( const [FContiguousSparse2DKernelTransform](API\Runtime\SignalProcessing\DSP\FContiguousSparse2DKernelTransfo-) & )


description: Returns the size of the output array

code: int32 GetNumOutElements() const


description: RowIndex determines which row is being set. StartIndex denotes the offset into the row where the OffsetValues will be inserted. OffsetValues contains the contiguous chunk of values which represent all the nonzero elements in the row.

code: void SetRow ( const int32 RowIndex, const int32 StartIndex, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > OffsetValues )


description: InView is the array to be transformed. It must haveNumInElements_ number of elements. OutArray is the transformed array. It will haveNumOutElements_ number of elements.

code: void TransformArray ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > InView, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutArray ) const


description: InArray is the array to be transformed. It must have `NumInElements_ number of elements. OutArray is the transformed array. It must be allocated to hold at least NumOutElements.

code: void TransformArray ( const float * InArray, float * OutArray ) const


code: void TransformArray ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > InView, [TArray](API\Runtime\Core\Containers\TArray)< float > & OutArray ) const


code: FContiguousSparse2DKernelTransform ( const [FContiguousSparse2DKernelTransform](API\Runtime\SignalProcessing\DSP\FContiguousSparse2DKernelTransfo-) & )


description: NumInElements sets the expected number of input array elements as well as the number of elements in a row. NumOutElements sets the number of output array elements as well as the number or rows.

code: FContiguousSparse2DKernelTransform ( const int32 NumInElements, const int32 NumOutElements )


code: FContiguousSparse2DKernelTransform ( const [FContiguousSparse2DKernelTransform](API\Runtime\SignalProcessing\DSP\FContiguousSparse2DKernelTransfo-) && )


description: It works with non-sparse and non-contiguous kernels as well, but will be more computationally expensive than a naive implementation. Also, only takes advantage of sparse contiguous rows, not columns.


className: FConvertDeinterleaveParams

description: Parameters for creating aIConvertDeinterleaveobject.

code: struct FConvertDeinterleaveParams

NumInputChannels

description: Number of channels in the input audio.

NumOutputChannels

description: Number of channels in the output audio.


className: AnyAlgorithmFactory

description: This denotes that no specificIConvolutionAlgorithmFactoryis desired.

code: static const [FName](API\Runtime\Core\UObject\FName) AnyAlgorithmFactory = FName(TEXT("AnyAlgorithmFactory"));


description:
Creates and returns a new ConvolutionAlgorithm.
A TUniquePtrto the created Convolution. This pointer can be invalid if an error occured or the fft algorithm could not be created.

code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [IConvolutionAlgorithm](API\Runtime\SignalProcessing\DSP\IConvolutionAlgorithm) > NewConvolutionAlgorithm ( const [FConvolutionSettings](API\Runtime\SignalProcessing\DSP\FConvolutionSettings) & InSettings, const [FName](API\Runtime\Core\UObject\FName) & InAlgorithmFactoryName )


className: FConvolutionFactory

description: FConvolutionFactorycreates convolution algorithms. It will choose hardware accelerated versions when they are available.

code: class FConvolutionFactory


code: bool operator== ( const [FConvolutionSettings](API\Runtime\SignalProcessing\DSP\FConvolutionSettings) & Other )


code: bool operator!= ( const [FConvolutionSettings](API\Runtime\SignalProcessing\DSP\FConvolutionSettings) & Other )


className: FConvolutionSettings

description: Settings for creating anIConvolutionAlgorithm.

code: struct FConvolutionSettings

bEnableHardwareAcceleration

type: bool

description: If true, hardware accelerated algorithms are valid.

BlockNumSamples

description: Defines size of audio processing block.

MaxNumImpulseResponseSamples

description: Maximum number of samples in an impulse responses.

NumImpulseResponses

description: Number of impulse responses to support.

NumInputChannels

description: Number of input audio channels to support.

description: Number of output audio channels to support.


description: Returns the current delay line length (in samples).

code: float GetDelayLengthSamples() const


description: Initialization of the delay with given sample rate and max buffer size in samples.

code: void Init ( const float InSampleRate, const float InBufferLengthSec )


description: Process audio in the delay line, return the delayed value.

code: virtual float ProcessAudioSample ( const float InAudio )


description: Resets the delay line state, flushes buffer and resets read/write pointers.

code: void Reset()


description: Sets the delay line length. Will clamp to within range of the max initialized delay line length (won't resize).

code: void SetDelayMsec ( const float InDelayMsec )


description: Sets the delay line length but using the internal easing function for smooth delay line interpolation.

code: void SetEasedDelayMsec ( const float InDelayMsec, const bool bIsInit )


description: Same as SetDelayMsec, except in samples.

code: void SetDelaySamples ( const float InDelaySamples )


description: Reads the delay line at an arbitrary time in Msec without writing or incrementing read/write pointers.

code: float ReadDelayAt ( const float InReadMsec ) const


description: Sets the easing factor for the delay line's internal exponential interpolator.

code: void SetEaseFactor ( const float InEaseFactor )


description: Sets the output attenuation in DB.

code: void SetOutputAttenuationDB ( const float InDelayAttenDB )


description: Updates delay line based on any recent changes to settings.

code: void Update ( bool bForce )


description: Constructor.

code: FDelay()


description: Write the input and increment read/write pointers.

code: void WriteDelayAndInc ( const float InDelayInput )


description: Virtual Destructor.

code: virtual ~FDelay()


className: FDelay

description: Circular Buffer Delay Line.

code: class FDelay

AudioBuffer

type: float *

description: Pointer to the circular buffer of audio.

AudioBufferSize

description: Max length of buffer (in samples)

DelayInSamples

description: Delay in samples; float supports fractional delay.

EaseDelayMsec

type: FExponentialEas...

description: Eased delay in msec.

OutputAttenuation

description: Output attenuation value.

OutputAttenuationDB

description: Attenuation in decibel.

ReadIndex

description: Read index for circular buffer.

SampleRate

description: Sample rate.

WriteIndex

description: Write index for circular buffer.


description: Set the APF feedback/feedforward gain coefficient.

code: void SetG ( float InG )


description: Constructor.

code: FDelayAPF()


description: Destructor.

code: ~FDelayAPF()


className: FDelayAPF

description: Implementation of a delay line with a feedback/feedforward gain coefficient APF filters pass all frequencies but changes phase relationships of frequencies

code: class FDelayAPF : public [Audio::FDelay](API\Runtime\SignalProcessing\DSP\FDelay)

G

description: Feedback/Feedforward gain coefficient.


description: Gets the current stereo dealy mode.


description: Initializes the stereo delay with given sample rate and default max delay length.

code: void Init ( const float InSampleRate, const int32 InNumChannels, const float InDelayLengthSec )


description: Process a buffer of audio.

code: void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer )


description: Process a single frame of audio.

code: void ProcessAudioFrame ( const float * InFrame, float * OutFrame )


description: Sets the delay ratio (scales difference between left and right stereo delays)

code: void SetDelayRatio ( const float InDelayRatio )


description: Resets the stereo delay state.

code: void Reset()


description: Sets the delay time in msec.

code: void SetDelayTimeMsec ( const float InDelayTimeMsec )


description: Sets the feedback amount.

code: void SetFeedback ( const float InFeedback )


description: Sets whether or not the filter is enabled.

code: void SetFilterEnabled ( bool bInEnabled )


description: Sets the filter settings.

code: void SetFilterSettings ( [EBiquadFilter::Type](API\Runtime\SignalProcessing\DSP\Audio__EBiquadFilter__Type) InFilterType, const float InCutoffFrequency, const float InQ )


description: Sets the amount of the effect to mix in the output.

code: void SetWetLevel ( const float InWetLevel )


description: Updates the delays based on recent parameters.

code: void UpdateDelays()


code: void SetDryLevel ( const float InDryLevel )


className: FDelayStereo

code: class FDelayStereo

BiquadFilters

type: TArray<FBiquad...

description: Biquad filter per channel to feed the delay output through.

bIsInit

description: If the delay has started processing yet.

DelayMode

type: EStereoDelayMod...

description: What mode the stereo delay is in.

DelayRatio

description: How much to shift the delays from each other.

Delays

type: TArray<FDelay...

description: Delay lines per channel.

DelayTimeMsec

description: Amount of delay time in msec.

DryLevel

description: The amount of dry level on the output.

Feedback

description: How much delay feedback to use.

FilterFreq

description: Filter data.

NumChannels

description: The number of channels to use (will sum mono)

WetLevel

description: The amount of wet level on the output.


description: Sets which delay stereo mode to use.

code: void SetMode ( const [EStereoDelayMode::Type](API\Runtime\SignalProcessing\DSP\Audio__EStereoDelayMode__Type) InMode )


className: FDirectedEdge

description: A pair of int32s represent a directed edge. The first value represents the source vertex, and the second value represents the destination vertex.

code: typedef [TTuple](API\Runtime\Core\Misc\TTuple)< int32, int32 > FDirectedEdge


description: Traverse a tree in a breadth first ordering.

code: static void BreadthFirstTraversal ( int32 InInitialVertex, const [FDirectedTree](API\Runtime\SignalProcessing\DSP\FDirectedTree) & InTree, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(int32)> InVisitFunc )


description: InEdges - An array of directed eges.

code: static void BuildDirectedTree ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FDirectedEdge](API\Runtime\SignalProcessing\DSP\FDirectedEdge) > InEdges, [FDirectedTree](API\Runtime\SignalProcessing\DSP\FDirectedTree) & OutTree )


description: InEdges - An array of directed eges.

code: static void BuildTransposeDirectedTree ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FDirectedEdge](API\Runtime\SignalProcessing\DSP\FDirectedEdge) > InEdges, [FDirectedTree](API\Runtime\SignalProcessing\DSP\FDirectedTree) & OutTree )


description:
Sort vertices topologically using a depth first sorting algorithm.
True if sorting was successful. False otherwise.

code: static bool DepthFirstTopologicalSort ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const int32 > InUniqueVertices, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FDirectedEdge](API\Runtime\SignalProcessing\DSP\FDirectedEdge) > InUniqueEdges, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutVertexOrder )


description:
Sort vertices topologically using a Kahn's sorting algorithm.
True if sorting was successful. False otherwise.

code: static bool KahnTopologicalSort ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const int32 > InUniqueVertices, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FDirectedEdge](API\Runtime\SignalProcessing\DSP\FDirectedEdge) > InUniqueEdges, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutVertexOrder )


description: Traverse a tree in a depth first ordering.

code: static void DepthFirstTraversal ( int32 InInitialVertex, const [FDirectedTree](API\Runtime\SignalProcessing\DSP\FDirectedTree) & InTree, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(int32)> InVisitFunc )


description:
Find strongly connected components given a set of edges using Tarjan algorithm.
True if one or more strongly connected components are added to OutComponents. False otherwise.

code: static bool TarjanStronglyConnectedComponents ( const [TSet](API\Runtime\Core\Containers\TSet)< [FDirectedEdge](API\Runtime\SignalProcessing\DSP\FDirectedEdge) > & InEdges, [TArray](API\Runtime\Core\Containers\TArray)< [FStronglyConnectedComponent](API\Runtime\SignalProcessing\DSP\FStronglyConnectedComponent) > & OutComponents, bool bExcludeSingleVertex )


className: FDirectedGraphAlgo

code: struct FDirectedGraphAlgo


className: FDirectedTree

description: A directed tree graph represenation.

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< int32, [FDirectedTreeElement](API\Runtime\SignalProcessing\DSP\FDirectedTreeElement) > FDirectedTree


description: Processes InSamples through the all pass filter and populates OutSamples with the filter output. InDelays denotes the per-sample delay of the allpass. It must have an equal number of elements as InSamples

code: void ProcessAudio ( const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InSamples, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InDelays, [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & OutSamples )


className: FDirectedTreeElement

description: An element in a directed tree with references to children of a vertex.

code: struct FDirectedTreeElement

Children

type: TArray< int32 >


description: Process one block of audio.

code: void ProcessAudioBlock ( const float * InSamples, const [FAlignedFloatBuffer](API\Runtime\SignalProcessing\DSP\FAlignedFloatBuffer) & InFractionalDelays, const int32 InNum, float * OutSamples )


description: Zeros the internal delay line.

code: void Reset()


code: void SetEaseTimeInSec ( float InEaseTimeInSec )


description: Destructor.

code: ~FDynamicDelayAPF()


className: FDynamicDelayAPF

description: All Pass Filter with a long fractional delay which can be set per a sample. This filter is specifically designed for reverb applications where filter delay lines are long.

code: class FDynamicDelayAPF


description: InG is the filter coefficient used in the long delay all pass filter. InMinDelay is the minimum allowable delay of the all pass filter. InMaxDelay is the maximum allowable delay of the all pass filter. InMaxNumInternalBufferSamples is the maximum internal block size used internally. InSampleRate is the current rendering sample rate. Used to convert parameter ease time from seconds to samples.

code: FDynamicDelayAPF ( float InG, int32 InMinDelay, int32 InMaxDelay, int32 InMaxNumInternalBufferSamples, float InSampleRate )


description: Set the APF feedback/feedforward gain coefficient.

code: void SetG ( float InG )


code: float ComputeGain ( const float InEnvFollowerDb )


code: int32 GetKeyNumChannels() const


code: float GetMaxLookaheadMsec() const


code: int32 GetNumChannels() const


code: void Init ( const float InSampleRate, const int32 InNumChannels )


code: bool IsInProcessingThreshold ( const float InEnvFollowerDb ) const


code: void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer, const float * InKeyBuffer )


className: MaxLookaheadMsec

code: static constexpr float MaxLookaheadMsec = 100.0f;


code: void ProcessAudio ( const float * InBuffer, const int32 InNumSamples, float * OutBuffer, const float * InKeyBuffer, float * OutEnvelope )


code: void ProcessAudioFrame ( const float * InFrame, float * OutFrame, const float * InKeyFrame )


code: void ProcessAudioFrame ( const float * InFrame, float * OutFrame, const float * InKeyFrame, float * OutGain )


description: Process key frame, returning true if should continue processing (Returns false in audition mode and writes straight to output).

code: bool ProcessKeyFrame ( const float * InKeyFrame, float * OutFrame, bool bKeyIsInput )


code: void SetAttackTime ( const float InAttackTimeMsec )


code: void SetAnalogMode ( const bool bInIsAnalogMode )


code: void SetChannelLinkMode ( const [EDynamicsProcessorChannelLinkMode](API\Runtime\SignalProcessing\DSP\Audio__EDynamicsProcessorChannel-) InLinkMode )


code: void SetInputGain ( const float InInputGainDb )


code: void SetKeyAudition ( const bool InAuditionEnabled )


code: void SetKeyGain ( const float InKeyGain )


code: void SetKeyHighshelfCutoffFrequency ( const float InCutoffFreq )


code: void SetKeyHighshelfEnabled ( const bool bInEnabled )


code: void SetKeyHighshelfGain ( const float InGainDb )


code: void SetKeyLowshelfCutoffFrequency ( const float InCutoffFreq )


code: void SetKeyLowshelfEnabled ( const bool bInEnabled )


code: void SetKeyLowshelfGain ( const float InGainDb )


code: void SetKeyNumChannels ( const int32 InNumChannels )


code: void SetKneeBandwidth ( const float InKneeBandwidthDb )


code: void SetLookaheadMsec ( const float InLookAheadMsec )


code: void SetNumChannels ( const int32 InNumChannels )


code: void SetOutputGain ( const float InOutputGainDb )


code: void SetPeakMode ( const [EPeakMode::Type](API\Runtime\SignalProcessing\DSP\Audio__EPeakMode__Type) InEnvelopeFollowerModeType )


code: void SetProcessingMode ( const [EDynamicsProcessingMode::Type](API\Runtime\SignalProcessing\DSP\Audio__EDynamicsProcessingMode__-) ProcessingMode )


code: void SetRatio ( const float InCompressionRatio )


code: void SetReleaseTime ( const float InReleaseTimeMsec )


code: void SetThreshold ( const float InThresholdDb )


className: UpwardsCompressionMaxGain

code: static constexpr float UpwardsCompressionMaxGain = 36.0f;


className: FDynamicsProcessor

description: Dynamic range compressorhttps://en.wikipedia.org/wiki/Dynamic_range_compression

code: class FDynamicsProcessor

AttackTimeMsec

type: float

description: The period of which the compressor decreases gain to the level determined by the compression ratio.

bIsAnalogMode

description: Whether or not we're in analog mode.

bKeyAuditionEnabled

description: Whether or not to bypass processor and only output key modulator.

bKeyHighshelfEnabled

description: Whether or not key high-pass filter is enabled.

bKeyLowshelfEnabled

description: Whether or not key low-pass filter is enabled.

DetectorOuts

type: TArray< float >

description: Channel values of cached detector sample.

EnvelopeFollowerPeakMode

description: Peak mode of envelope followers.

EnvFollower

type: TArray<FInline...

description: Envelope followers.

Gain

description: Channel values of cached gain sample.

HalfKneeBandwidthDb

description: Defines how hard or soft the gain reduction blends from no gain reduction to gain reduction (determined by the ratio)

InputGain

description: Amount of input gain.

InputHighshelfFilter

type: FBiquadFilter

description: (Optional) High-pass filter for input signal

InputLowshelfFilter

description: (Optional) Low-pass filter for input signal

KeyGain

description: Gain of key detector signal in dB.

KneePoints

type: TArray< FVector...

description: Points in the knee used for lagrangian interpolation.

LinkMode

type: EDynamicsProces...

description: Whether or not input channels are linked, and if so, how to calculate gain.

LookaheadDelay

description: Lookahead delay lines.

LookaheedDelayMsec

description: How far ahead to look in the audio.

OutputGain

description: Amount of output gain.

Ratio

description: Amount of gain reduction.

ReleaseTimeMsec

description: The period of which the compressor increases gain to 0 dB once level has fallen below the threshold.

SampleRate

description: Sample rate of both key and input (must match)

ThresholdDb

description: Amplitude threshold above which gain will be reduced.


code: float CalcGain ( const float KeySample )


code: void ClearFilterDenormals()


code: void ProcessSample &40; const FSVFCoefficients & Coeffs, const float InSample &41;


className: FSVFCoefficients

description: State-variable coefficient formulas for the included filter modes can be found here:https://cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf

code: struct FSVFCoefficients

description: Node Scalars.

G

description: TanOmega.

K

description: Feedback / 1/Q.

description: Output Scalars.


className: FSVFState

code: struct FSVFState

description: Nodes.

description: Delays.


code: float GetGainReduction()


code: void Init ( const float InSampleRate, const int32 InNumChannels )


code: void ProcessAudio ( const float * InSamples, float * OutSamples, const int32 InNumSamples )


code: void ProcessAudio ( const float * InSamples, float * OutSamples, const float * KeySamples, const int32 InNumSamples )


code: void ProcessHighShelf ( const float * InSamples, float * OutSamples, const float * KeySamples, const int32 InNumSamples )


code: void ProcessBell ( const float * InSamples, float * OutSamples, const float * KeySamples, const int32 InNumSamples )


code: void ProcessLowShelf ( const float * InSamples, float * OutSamples, const float * KeySamples, const int32 InNumSamples )


code: void SetAnalog ( const bool bInAnalog )


code: void SetAttackTime ( const float InAttackTime )


code: void SetDynamicRange ( const float InDynamicRange )


code: void SetEnvMode ( const [EPeakMode::Type](API\Runtime\SignalProcessing\DSP\Audio__EPeakMode__Type) InMode )


code: void SetFilterType ( const [EDynamicFilterType](API\Runtime\SignalProcessing\DSP\Audio__EDynamicFilterType) InFilterType )


code: void SetFrequency ( const float InFrequency )


code: void SetGain ( const float InGain )


code: void SetKnee ( const float InKnee )


code: void SetQ ( const float InQ )


code: void SetRatio ( const float InRatio )


code: void SetReleaseTime ( const float InReleaseTime )


code: void SetThreshold ( const float InThresholdDb )


code: void UpdatePostFilterVariables()


code: void UpdatePreFilterVariables()


className: FDynamicStateVariableFilter

description: Combination of two state-variable filters, the first filtering a key signal, which drives gain in the second

code: class FDynamicStateVariableFilter

bNeedsUpdate

description: Whether coefficients need updating

Envelope

type: FInlineEnvelope...

FilterState

type: TArray<FSVFSta...

description: One per channel.

FilterType

type: EDynamicFilterT...

description: Human readable parameters

KeyFilterState

type: FSVFState

KeyVars

type: FSVFCoefficient...

ScaledGainLinear

description: Cached result of envelope follower

SlopeFactor

description: Cached Gain ratio, only needs to be updated when Ratio is changed.


className: FFDNDelayData

code: struct FFDNDelayData

APF

description: 4 feedback delay lines per input channel (stereo) which feed into each other using a normalized feedback matrix

InputLPF

type: FOnePoleLPF

description: Input LPF for early reflections.

PreDelay

type: FDelay

description: Pre-Delay for the input audio to the FDN reverberator.


code: void Init ( const int32 InSampleRate )


description: Process the single audio frame.

code: void ProcessAudioFrame ( const float * InBuffer, const int32 InChannels, float * OutBuffer, const int32 OutChannels )


code: float ProcessDelayLine ( const float InSample, [FDelayAPF](API\Runtime\SignalProcessing\DSP\FDelayAPF) & InAPF, [FOnePoleLPF](API\Runtime\SignalProcessing\DSP\FOnePoleLPF) & InLPF )


description: Sets the reverb settings, applies, and updates.

code: void SetSettings ( const [FEarlyReflectionsSettings](API\Runtime\SignalProcessing\DSP\FEarlyReflectionsSettings) & InSettings )


code: virtual ~FEarlyReflections()


className: FEarlyReflections

description: Basic implementation of a 4x4 Feedback Delay Network.

code: class FEarlyReflections

Data

description: Stereo input/output for early reflections.

Settings

type: FEarlyReflectio...