USoundSubmix

Sound Submix class meant for applying an effect to the downmixed sum of multiple audio sources.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Sound/SoundSubmix.h

Include

#include "Sound/SoundSubmix.h"

Syntax

class USoundSubmix : public USoundSubmixWithParentBase

Remarks

Sound Submix class meant for applying an effect to the downmixed sum of multiple audio sources.

Variables

Name Description

Public variable

USoundfieldEnco...

 

AmbisonicsPluginSettings

Optional settings used by plugins which support ambisonics file playback.

Public variable

uint8: 1

 

bMuteWhenBackgrounded

Mute this submix when the application is muted or in the background.

Public variable

float

 

DryLevel

The dry level of the submix. Applied before submix effects and analysis are performed.

Public variable

float

 

DryLevelDB

The dry level of the submix (in dB)s. Applied before submix effects and analysis are performed.

Public variable

int32

 

EnvelopeFollowerAttackTime

The attack time in milliseconds for the envelope follower.

Public variable

int32

 

EnvelopeFollowerReleaseTime

The release time in milliseconds for the envelope follower.

Public variable

EGainParamMode

 

GainMode

Whether to treat submix gain levels as linear or decibel values.

Public variable

FOnSubmixRecord...

 

OnSubmixRecordedFileDone

Blueprint delegate for when a recorded file is finished exporting.

Public variable

float

 

OutputVolume

The output volume of the submix. Applied after submix effects and analysis are performed.

Public variable

float

 

OutputVolumeDB

The output volume of the submix (in dB).

Protected variable

TUniquePtr< Aud...

 

RecordingData

State handling for bouncing output.

Public variable

TArray< USoundE...

 

SubmixEffectChain

Public variable

float

 

WetLevel

The wet level of the submix. Applied after submix effects and analysis are performed.

Public variable

float

 

WetLevelDB

The wet level of the submix (in dB). Applied after submix effects and analysis are performed.

Constructors

Name Description

Public function

USoundSubmix

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

AddEnvelopeFollowerDelegate

(
    const UObject* WorldContextObj...,
    const FOnSubmixEnvelopeBP& OnSubmi...
)

Adds an envelope follower delegate to the submix when envelope following is enabled on this submix.

Public function

void

 

AddSpectralAnalysisDelegate

(
    const UObject* WorldContextObj...,
    const TArray< FSoundSubmixSpectralA...,
    const FOnSubmixSpectralAnalysisBP&...,
    float UpdateRate,
    float DecibelNoiseFloor,
    bool bDoNormalize,
    bool bDoAutoRange,
    float AutoRangeAttackTime,
    float AutoRangeReleaseTime
)

Adds a spectral analysis delegate to receive notifications when this submix has spectrum analysis enabled.

Public function Static

FSoundSpectr...

 

GetSpectrumAnalysisDelegateSettings

(
    const TArray< FSoundSubmixSpectralA...,
    float UpdateRate,
    float DecibelNoiseFloor,
    bool bDoNormalize,
    bool bDoAutoRange,
    float AutoRangeAttackTime,
    float AutoRangeReleaseTime
)

Public function Static

FSoundSpectr...

 

GetSpectrumAnalyzerSettings

(
    EFFTSize FFTSize,
    EFFTPeakInterpolationMethod Interpo...,
    EFFTWindowType WindowType,
    float HopSize,
    EAudioSpectrumType SpectrumType
)

Public function

void

 

RemoveSpectralAnalysisDelegate

(
    const UObject* WorldContextObj...,
    const FOnSubmixSpectralAnalysisBP&...
)

Remove a spectral analysis delegate.

Public function

void

 

SetSubmixOutputVolume

(
    const UObject* WorldContextObj...,
    float InOutputVolume
)

Sets the output volume of the submix.

Public function

void

 

StartEnvelopeFollowing

(
    const UObject* WorldContextObj...
)

Start envelope following the submix output. Register with OnSubmixEnvelope to receive envelope follower data in BP.

Public function

void

 

StartEnvelopeFollowing

(
    FAudioDevice* InDevice
)

Public function

void

 

StartRecordingOutput

(
    const UObject* WorldContextObj...,
    float ExpectedDuration
)

Start recording the audio from this submix.

Public function

void

 

StartRecordingOutput

(
    FAudioDevice* InDevice,
    float ExpectedDuration
)

Public function

void

 

StartSpectralAnalysis

(
    const UObject* WorldContextObj...,
    EFFTSize FFTSize,
    EFFTPeakInterpolationMethod Interpo...,
    EFFTWindowType WindowType,
    float HopSize,
    EAudioSpectrumType SpectrumType
)

Start spectrum analysis of the audio output.

Public function

void

 

StartSpectralAnalysis

(
    FAudioDevice* InDevice,
    EFFTSize FFTSize,
    EFFTPeakInterpolationMethod Interpo...,
    EFFTWindowType WindowType,
    float HopSize,
    EAudioSpectrumType SpectrumType
)

Public function

void

 

StopEnvelopeFollowing

(
    const UObject* WorldContextObj...
)

Start envelope following the submix output. Register with OnSubmixEnvelope to receive envelope follower data in BP.

Public function

void

 

StopEnvelopeFollowing

(
    FAudioDevice* InDevice
)

Public function

void

 

StopRecordingOutput

(
    const UObject* WorldContextObj...,
    EAudioRecordingExportType ExportTyp...,
    const FString& Name,
    FString Path,
    USoundWave* ExistingSoundWaveT...
)

Finish recording the audio from this submix and export it as a wav file or a USoundWave.

Public function

void

 

StopRecordingOutput

(
    FAudioDevice* InDevice,
    EAudioRecordingExportType ExportTyp...,
    const FString& Name,
    FString Path,
    USoundWave* ExistingSoundWaveT...
)

Public function

void

 

StopSpectralAnalysis

(
    const UObject* WorldContextObj...
)

Start spectrum analysis of the audio output.

Public function

void

 

StopSpectralAnalysis

(
    FAudioDevice* InDevice
)

Overridden from UObject

Name Description

Protected function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Protected function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss