5#include "CoreMinimal.h"
6#include "Engine/DeveloperSettings.h"
7#include "Misc/EnumClassFlags.h"
8#include "Misc/EnumRange.h"
9#include "ST_AudioProcessingSettings.generated.h"
18UENUM(BlueprintType, meta = (Bitflags, UseEnumValuesAsMaskValuesInEditor =
"true"))
19enum class EAudioIOType : uint8
22 None = 0 UMETA(Hidden),
25 PlaybackWaveform = 1 << 0 UMETA(DisplayName =
"PlaybackWaveform"),
28 PlaybackPlayer = 1 << 1 UMETA(DisplayName =
"PlaybackPlayer"),
31 PlaybackEnginePlayer = 1 << 2 UMETA(DisplayName =
"PlaybackEnginePlayer"),
34 CaptureLoopback = 1 << 3 UMETA(DisplayName =
"CaptureLoopback"),
37 CaptureMicrophone = 1 << 4 UMETA(DisplayName =
"CaptureMicrophone"),
40 Count = 1 << 5 UMETA(Hidden)
46ENUM_CLASS_FLAGS(EAudioIOType);
55constexpr bool EnumHasAnyFlags(int32 Flags, EAudioIOType Contains)
57 return (Flags & int32(Contains)) != 0;
63ENUM_RANGE_BY_VALUES(EAudioIOType,
64 EAudioIOType::PlaybackWaveform,
65 EAudioIOType::PlaybackPlayer,
66 EAudioIOType::PlaybackEnginePlayer,
67 EAudioIOType::CaptureLoopback,
68 EAudioIOType::CaptureMicrophone
77enum class EST_AudioFileLocation : uint8
80 ProjectDir = 0 UMETA(DisplayName =
"Project Dir"),
83 ProjectContentDir = 1 UMETA(DisplayName =
"Project Content Dir"),
86 ProjectPluginsDir = 2 UMETA(DisplayName =
"Project Plugins Dir"),
89 EngineDir = 3 UMETA(DisplayName =
"Engine Dir"),
92 EnginePluginsDir = 4 UMETA(DisplayName =
"Engine Plugins Dir")
102enum class EST_EncodingFormat : uint8
105 Unknown = 0 UMETA(DisplayName =
"Unknown"),
108 WAV = 1 UMETA(DisplayName =
"WAV"),
111 Flac = 2 UMETA(DisplayName =
"Flac"),
114 MP3 = 3 UMETA(DisplayName =
"MP3"),
117 Vorbis = 4 UMETA(DisplayName =
"Vorbis")
127enum class EST_SampleFormat : uint8
130 Unknown = 0 UMETA(DisplayName =
"Unknown"),
133 U8 = 1 UMETA(DisplayName =
"Unsigned 8-bit"),
136 S16 = 2 UMETA(DisplayName =
"Signed 16-bit"),
139 S24 = 3 UMETA(DisplayName =
"Signed 24-bit"),
142 S32 = 4 UMETA(DisplayName =
"Signed 32-bit"),
145 F32 = 5 UMETA(DisplayName =
"32-bit Float")
154enum class EST_WaveformType : uint8
157 Sine = 0 UMETA(DisplayName =
"Sine"),
160 Square = 1 UMETA(DisplayName =
"Square"),
163 Triangle = 2 UMETA(DisplayName =
"Triangle"),
166 Sawtooth = 3 UMETA(DisplayName =
"Sawtooth")
176enum class EST_FilterType : uint8
179 None = 0 UMETA(DisplayName =
"No Filter"),
182 Butterworth = 1 UMETA(DisplayName =
"Butterworth (Smooth)"),
185 ChebyshevTypeI = 2 UMETA(DisplayName =
"Chebyshev I (Sharp)"),
195enum class EST_WindowingFunction : uint8
198 Rectangular = 0 UMETA(DisplayName =
"Rectangular (no windowing)"),
201 Hann = 1 UMETA(DisplayName =
"Hann (good balance, smooth edges)"),
204 Hamming = 2 UMETA(DisplayName =
"Hamming (reduces first side ripple)"),
207 BlackmanHarris = 4 UMETA(DisplayName =
"Blackman-Harris (strong smoothing, less noise)"),
210 Gaussian = 5 UMETA(DisplayName =
"Gaussian (soft edges, smooth blend)")
219enum class EST_SpectrumSpacing : uint8
222 Log = 0 UMETA(DisplayName =
"Logarithmic (natural)"),
225 Linear = 1 UMETA(DisplayName =
"Linear (even)"),
228 OctaveSubdivision = 2 UMETA(DisplayName =
"Octave Subdivision (Power-of-Two)"),
231 Quadratic = 3 UMETA(DisplayName =
"Quadratic (Squared Growth)")
240enum class EST_SpectrumValues : uint8
243 Averages = 0 UMETA(DisplayName =
"Averages (smooth)"),
246 Peaks = 1 UMETA(DisplayName =
"Peaks (noisy)"),
255enum class EST_SmoothingType : uint8
258 None = 0 UMETA(DisplayName =
"None"),
261 EMA = 1 UMETA(DisplayName =
"Exponential Moving Average"),
264 SMA = 2 UMETA(DisplayName =
"Simple Moving Average "),
274USTRUCT(BlueprintType)
281 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
285 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"SmoothingType != EST_SmoothingType::None && SmoothingType == EST_SmoothingType::SMA", ClampMin =
"0.0", UIMin =
"0.0", Tooltip =
"Time window (in seconds) used for smoothing values over a set period of time. Larger values result in smoother transitions, while smaller values react more quickly to changes."))
286 float TimeWindow = 0.1f;
289 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"SmoothingType != EST_SmoothingType::None", ClampMin =
"0.0", ClampMax =
"1.0", UIMin =
"0.0", UIMax =
"1.0", Tooltip =
"Smoothing factor for averaging over time (0 = No smoothing, 1 = Full smoothing)"))
290 float SmoothingFactor = 0.5f;
298USTRUCT(BlueprintType)
309 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
318 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"FilterType == EST_FilterType::ChebyshevTypeI", ClampMin =
"0.01", ClampMax =
"10.0", UIMin =
"0.01", UIMax =
"10.0"))
325 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"FilterType != EST_FilterType::None"))
332 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bLowPassFilter && FilterType != EST_FilterType::None"))
339 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"FilterType != EST_FilterType::None"))
346 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bBandFilter && FilterType != EST_FilterType::None"))
353 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bBandFilter && FilterType != EST_FilterType::None"))
360 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bBandFilter && FilterType != EST_FilterType::None"))
367 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"FilterType != EST_FilterType::None"))
374 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bHighPassFilter && FilterType != EST_FilterType::None"))
383USTRUCT(BlueprintType)
393 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
402 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"WindowingFunction == EST_WindowingFunction::Gaussian", ClampMin =
"0.0", UIMin =
"0.0"))
411USTRUCT(BlueprintType)
421 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
428 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
436 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, ClampMin =
"1", UIMin =
"1", Tooltip =
"Number of frequency bands used in the spectrum analysis. More bands provide finer resolution but increase computational cost."))
443 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
450 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
457 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"SpectrumSpacing == EST_SpectrumSpacing::Log", Tooltip =
"20Hz = Lower bound of human hearing"))
464 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"SpectrumSpacing == EST_SpectrumSpacing::Log"))
471 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bOverrideNyquistLimit && SpectrumSpacing == EST_SpectrumSpacing::Log", Tooltip =
"Uses CustomMaxFreq instead of NyquistLimit (half the sampling rate)"))
472 float MaxFreq = 20000.0f;
478 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
487USTRUCT(BlueprintType)
497 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
504 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
511 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bAmplitudeNormalisation"))
518 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
527USTRUCT(BlueprintType)
537 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
544 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
551 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bPitchNormalisation", Tooltip =
"20Hz = Lower bound of human hearing"))
558 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bPitchNormalisation"))
565 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
574USTRUCT(BlueprintType)
585 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, meta =
"Smoothing cannot be None. Beat Tracking requires at least some history."))
592 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, ClampMin =
"0.0", UIMin =
"0.0"))
599 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bNormalise", ClampMin =
"0.0", UIMin =
"0.0"))
606 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, ClampMin =
"0.0", UIMin =
"0.0"))
613 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
620 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
629USTRUCT(BlueprintType)
640 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
647 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
654 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
661 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
668 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
675 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
682 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
689 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
696 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, ClampMin =
"0", UIMin =
"0", Tooltip =
"FFT Smoothing factor, be really careful. Each increase scales the buffer by power of 2. Higher = smoother"))
703 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
712USTRUCT(BlueprintType)
723 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
730 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
737 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
744 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
751 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
758 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
765 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
772 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
779 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
786 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
793 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
800 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
807 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
814 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
821 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
828 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
835 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
842 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
849 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
866 FFFTIOData(int32 InPeriodSizeInFrames, int32 InBytesPerFrame, int32 InSampleRate, int32 InChannels,
FFFTConfig InFFTConfig)
894 switch (InFFTConfig.SpectrumConfig.SmoothingConfig.SmoothingType)
896 case EST_SmoothingType::EMA:
899 case EST_SmoothingType::SMA:
908 switch (InFFTConfig.SpectrumConfig.SmoothingConfig.SmoothingType)
910 case EST_SmoothingType::EMA:
913 case EST_SmoothingType::SMA:
922 switch (InFFTConfig.AmplitudeConfig.SmoothingConfig.SmoothingType)
924 case EST_SmoothingType::EMA:
927 case EST_SmoothingType::SMA:
936 switch (InFFTConfig.PitchConfig.SmoothingConfig.SmoothingType)
938 case EST_SmoothingType::EMA:
941 case EST_SmoothingType::SMA:
950 switch (InFFTConfig.BeatConfig.SmoothingConfig.SmoothingType)
952 case EST_SmoothingType::EMA:
955 case EST_SmoothingType::SMA:
982USTRUCT(BlueprintType)
993 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
999 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio")
1006USTRUCT(BlueprintType)
1016 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1023 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bCanWriteToFile"))
1030 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Audio", meta = (SessionRestartRequired, EditCondition =
"bCanWriteToFile"))
1038 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1046 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1053 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1060 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1063 FEncoderConfig() = default;
1073 *
this =
static_cast<const FEncoderConfig&
>(BaseConfig);
1080USTRUCT(BlueprintType)
1090 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1093 FDecoderConfig() = default;
1103 *
this =
static_cast<const FDecoderConfig&
>(BaseConfig);
1111USTRUCT(BlueprintType)
1123USTRUCT(BlueprintType)
1135USTRUCT(BlueprintType)
1148 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1155 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1162 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1170 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1178 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1186 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1193USTRUCT(BlueprintType)
1203 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1210 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1217 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Audio", meta = (SessionRestartRequired))
1224USTRUCT(BlueprintType)
1234 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (SessionRestartRequired))
1241 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Audio", meta = (SessionRestartRequired))
1254DECLARE_MULTICAST_DELEGATE_TwoParams(FOnPostEditChangePropertyDelegate_APS, UObject*, FPropertyChangedEvent&);
1264UCLASS(Config = ST_VJMaster, DefaultConfig, meta = (DisplayName =
"ST Audio Processing"))
1275 UFUNCTION(BlueprintPure, Category =
"ShaderTech|AudioProcessing")
1278 return GetDefault<UST_AudioProcessingSettings>();
1287 inline static FOnPostEditChangePropertyDelegate_APS OnPostEditChangeProperty;
1297 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override
1299 Super::PostEditChangeProperty(PropertyChangedEvent);
1301 OnPostEditChangeProperty.Broadcast(
this, PropertyChangedEvent);
1312 UPROPERTY(config, EditAnywhere, BlueprintReadWrite, Category =
"Audio", meta = (Bitmask, BitmaskEnum =
"/Script/ST_AudioProcessing.EAudioIOType", EditorRestartRequiredTooltip =
"This is a required for creating audio buffers at the beginning of play for materials and compute shaders."))
1319 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Capture")
1326 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Capture")
1333 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Playback")
1340 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Playback")
1347 UPROPERTY(config, EditAnywhere, BlueprintReadOnly, Category =
"Playback")
1359 return TEXT(
"ShaderTech");
Settings class for ST Audio Processing.
Definition ST_AudioProcessingSettings.h:1266
FPlaybackWaveformConfig PlaybackWaveformConfig
Configuration for audio playback waveform.
Definition ST_AudioProcessingSettings.h:1334
virtual FName GetCategoryName() const override
Gets the category name for the developer settings.
Definition ST_AudioProcessingSettings.h:1357
FCaptureLoopbackConfig CaptureLoopbackConfig
Configuration for audio capture loopback.
Definition ST_AudioProcessingSettings.h:1320
FCaptureMicrophoneConfig CaptureMicrophoneConfig
Configuration for audio capture from a microphone.
Definition ST_AudioProcessingSettings.h:1327
FPlaybackPlayerConfig PlaybackPlayerConfig
Configuration for audio playback player.
Definition ST_AudioProcessingSettings.h:1341
static const UST_AudioProcessingSettings * GetST_AudioProcessingSettings()
Gets the default audio processing settings.
Definition ST_AudioProcessingSettings.h:1276
int32 PossibleAudioIOs
A bitmask that determines the types of possible audio I/O. This is a required for creating audio buff...
Definition ST_AudioProcessingSettings.h:1313
FPlaybackEngineConfig PlaybackEngineConfig
Configuration for audio playback engine.
Definition ST_AudioProcessingSettings.h:1348
Structure that holds the configuration for audio input/output.
Definition ST_AudioProcessingSettings.h:984
FFFTConfig FFTConfig
FFT configuration settings.
Definition ST_AudioProcessingSettings.h:1000
FString DeviceName
The name of the audio device. Defaults to "[System Default]" if not specified. @meta (SessionRestartR...
Definition ST_AudioProcessingSettings.h:994
Structure that holds configuration for the capture loopback.
Definition ST_AudioProcessingSettings.h:1113
Structure that holds configuration for capturing from a microphone.
Definition ST_AudioProcessingSettings.h:1125
float Gain
The gain factor for the decoded audio (e.g., 0.5 for half volume, 2.0 for double volume)....
Definition ST_AudioProcessingSettings.h:1091
int32 SampleRate
The sample rate of the audio (e.g., 48000, 44100). @meta (SessionRestartRequired)
Definition ST_AudioProcessingSettings.h:1061
FString OutputFilePath
Path to the output file where audio will be written, only if bCanWriteToFile is true....
Definition ST_AudioProcessingSettings.h:1031
bool bCanWriteToFile
Whether or not the audio can be written to a file. @meta (SessionRestartRequired)
Definition ST_AudioProcessingSettings.h:1017
EST_EncodingFormat EncodingFormat
The encoding format to be used for the audio output.
Definition ST_AudioProcessingSettings.h:1039
EST_AudioFileLocation AudioFileLocation
Where the OutputFilePath Should start. @meta (SessionRestartRequired, EditCondition = "bCanWriteToFil...
Definition ST_AudioProcessingSettings.h:1024
int32 Channels
The number of audio channels (e.g., 1 for mono, 2 for stereo). @meta (SessionRestartRequired)
Definition ST_AudioProcessingSettings.h:1054
EST_SampleFormat SampleFormat
The sample format for the audio data.
Definition ST_AudioProcessingSettings.h:1047
Configuration structure for FFT amplitude settings. Defines parameters for amplitude computation and ...
Definition ST_AudioProcessingSettings.h:489
bool bAmplitudeNormalisation
Whether to normalize the amplitude. Scales the amplitude values to a specified range.
Definition ST_AudioProcessingSettings.h:505
bool bComputeAmplitude
Whether to compute amplitude values. Enables or disables amplitude computation.
Definition ST_AudioProcessingSettings.h:498
float MaxAmplitude
Maximum amplitude value for normalization. Used only if bAmplitudeNormalisation is true.
Definition ST_AudioProcessingSettings.h:512
FFFTSmoothingConfig SmoothingConfig
The smoothing configuration for amplitude values. Controls the smoothing behavior for amplitude value...
Definition ST_AudioProcessingSettings.h:519
Structure that holds configuration settings for the FFT (Fast Fourier Transform) Beat detection.
Definition ST_AudioProcessingSettings.h:576
bool bComputeBeat
Definition ST_AudioProcessingSettings.h:586
float MaxBeatEnergy
Definition ST_AudioProcessingSettings.h:600
FFFTFilterConfig FilterConfig
Definition ST_AudioProcessingSettings.h:621
bool bNormalise
Definition ST_AudioProcessingSettings.h:593
FFFTSmoothingConfig SmoothingConfig
Definition ST_AudioProcessingSettings.h:614
float BeatThreshold
Definition ST_AudioProcessingSettings.h:607
Structure that holds configuration settings for FFT.
Definition ST_AudioProcessingSettings.h:631
FFFTPitchConfig PitchConfig
Definition ST_AudioProcessingSettings.h:655
bool bProcessUnchangedBuffer
Definition ST_AudioProcessingSettings.h:683
FFFTWindowingConfig WindowingConfig
Definition ST_AudioProcessingSettings.h:676
FFFTSmoothingConfig SmoothingConfig
Definition ST_AudioProcessingSettings.h:690
FFFTFilterConfig FilterConfig
Definition ST_AudioProcessingSettings.h:669
FFFTAmplitudeConfig AmplitudeConfig
Definition ST_AudioProcessingSettings.h:648
bool bSplitChannels
Definition ST_AudioProcessingSettings.h:704
int32 FFTPaddingFactor
Definition ST_AudioProcessingSettings.h:697
FFFTSpectrumConfig SpectrumConfig
Definition ST_AudioProcessingSettings.h:641
FFFTBeatConfig BeatConfig
Definition ST_AudioProcessingSettings.h:662
Configuration structure for FFT filter settings. Contains various filter settings including the filte...
Definition ST_AudioProcessingSettings.h:300
bool bHighPassFilter
Whether to apply a high-pass filter. Determines if low frequencies are cut off.
Definition ST_AudioProcessingSettings.h:368
float RippleFactor
Ripple factor for the Chebyshev Type I filter. Only used if FilterType is set to ChebyshevTypeI....
Definition ST_AudioProcessingSettings.h:319
float HighPassCutoffHz
Cutoff frequency for the high-pass filter (in Hz). Only used if bHighPassFilter is true.
Definition ST_AudioProcessingSettings.h:375
float BandUpperCutoffHz
Upper cutoff frequency for the bandpass filter (in Hz). Only used if bBandFilter is true.
Definition ST_AudioProcessingSettings.h:354
bool bBandFilter
Whether to apply a bandpass filter. This filter allows a specific frequency band to pass through.
Definition ST_AudioProcessingSettings.h:340
bool bBandReject
Whether to apply a band-reject filter. This filter eliminates a specific frequency band.
Definition ST_AudioProcessingSettings.h:361
float LowPassCutoffHz
Cutoff frequency for the low-pass filter (in Hz). Only used if bLowPassFilter is true.
Definition ST_AudioProcessingSettings.h:333
bool bLowPassFilter
Whether to apply a low-pass filter. Determines if high frequencies are cut off.
Definition ST_AudioProcessingSettings.h:326
float BandLowerCutoffHz
Lower cutoff frequency for the bandpass filter (in Hz). Only used if bBandFilter is true.
Definition ST_AudioProcessingSettings.h:347
EST_FilterType FilterType
The type of filter to apply. Options include None, ChebyshevTypeI, etc.
Definition ST_AudioProcessingSettings.h:310
int32 PaddedMagnitudeCount
Definition ST_AudioProcessingSettings.h:780
int32 PeriodSizeInFrames
Definition ST_AudioProcessingSettings.h:724
float SecondsPerPeriod
Definition ST_AudioProcessingSettings.h:794
int32 TotalBins
Definition ST_AudioProcessingSettings.h:843
int32 BeatHistorySize
Definition ST_AudioProcessingSettings.h:836
int32 PitchHistorySize
Definition ST_AudioProcessingSettings.h:829
int32 PaddedPeriodSizeInFramesPerChannel
Definition ST_AudioProcessingSettings.h:773
int32 FrequencyBandsHistorySize
Definition ST_AudioProcessingSettings.h:815
int32 SampleCount
Definition ST_AudioProcessingSettings.h:759
int32 BytesPerFrame
Definition ST_AudioProcessingSettings.h:731
int32 Channels
Definition ST_AudioProcessingSettings.h:745
int32 SampleRate
Definition ST_AudioProcessingSettings.h:738
int32 GetChannelMultiplier() const
Definition ST_AudioProcessingSettings.h:967
int32 MagnitudesHistorySize
Definition ST_AudioProcessingSettings.h:808
bool bSplitChannels
Definition ST_AudioProcessingSettings.h:752
int32 PaddedMagnitudeCountWithNyquist
Definition ST_AudioProcessingSettings.h:787
float FreqPerBin
Definition ST_AudioProcessingSettings.h:850
int32 TotalBytesPerPeriod
Definition ST_AudioProcessingSettings.h:766
int32 AmplitudeHistorySize
Definition ST_AudioProcessingSettings.h:822
float TimePerFrame
Definition ST_AudioProcessingSettings.h:801
Configuration structure for FFT pitch settings. Defines parameters for pitch computation and normaliz...
Definition ST_AudioProcessingSettings.h:529
bool bComputePitch
Whether to compute pitch values. Enables or disables pitch computation.
Definition ST_AudioProcessingSettings.h:538
bool bPitchNormalisation
Whether to normalize the pitch. Scales the pitch values to a specified range.
Definition ST_AudioProcessingSettings.h:545
float MaxFreq
Maximum frequency for pitch computation (in Hz). Used only if bPitchNormalisation is true.
Definition ST_AudioProcessingSettings.h:559
float MinFreq
Minimum frequency for pitch computation (in Hz). Used only if bPitchNormalisation is true.
Definition ST_AudioProcessingSettings.h:552
FFFTSmoothingConfig SmoothingConfig
The smoothing configuration for pitch values. Controls the smoothing behavior for pitch values over t...
Definition ST_AudioProcessingSettings.h:566
Structure for configuring FFT smoothing options.
Definition ST_AudioProcessingSettings.h:276
EST_SmoothingType SmoothingType
Definition ST_AudioProcessingSettings.h:282
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Audio", meta=(SessionRestartRequired, EditCondition="SmoothingType != EST_SmoothingType::None && SmoothingType == EST_SmoothingType::SMA", ClampMin="0.0", UIMin="0.0", Tooltip="Time window (in seconds) used for smoothing values over a set period of time. Larger values result in smoother transitions, while smaller values react more quickly to changes.")) float TimeWindow=0.1f
Configuration structure for FFT spectrum settings. Defines parameters for frequency band computation,...
Definition ST_AudioProcessingSettings.h:413
FFFTSmoothingConfig SmoothingConfig
The smoothing configuration for the spectrum. Controls the smoothing behavior for spectrum values ove...
Definition ST_AudioProcessingSettings.h:479
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Audio", meta=(SessionRestartRequired, EditCondition="bOverrideNyquistLimit && SpectrumSpacing == EST_SpectrumSpacing::Log", Tooltip="Uses CustomMaxFreq instead of NyquistLimit (half the sampling rate)")) float MaxFreq
Maximum frequency for spectrum analysis (in Hz). Used only if Nyquist limit is overridden.
bool bSpectrumNormalisation
Whether to normalize the spectrum. Scales the spectrum to a specified range.
Definition ST_AudioProcessingSettings.h:429
int32 SpectrumBands
Number of frequency bands to use in the spectrum analysis. A higher value provides finer resolution b...
Definition ST_AudioProcessingSettings.h:437
EST_SpectrumValues SpectrumValues
The type of values to display in the spectrum. Options include averages and peaks.
Definition ST_AudioProcessingSettings.h:451
float MinFreq
Minimum frequency for spectrum analysis (in Hz). Used only if SpectrumSpacing is Logarithmic.
Definition ST_AudioProcessingSettings.h:458
EST_SpectrumSpacing SpectrumSpacing
The type of spectrum spacing to use. Options include logarithmic, linear, octave subdivision,...
Definition ST_AudioProcessingSettings.h:444
bool bComputeFrequencyBands
Whether to compute frequency bands. Enables or disables the frequency band computation in the spectru...
Definition ST_AudioProcessingSettings.h:422
bool bOverrideNyquistLimit
Whether to override the Nyquist limit (half the sampling rate). Used only if SpectrumSpacing is Logar...
Definition ST_AudioProcessingSettings.h:465
Configuration structure for FFT windowing function. Contains the windowing function type and addition...
Definition ST_AudioProcessingSettings.h:385
float GaussianWindowSigma
Sigma parameter for the Gaussian window. Only used if WindowingFunction is set to Gaussian....
Definition ST_AudioProcessingSettings.h:403
EST_WindowingFunction WindowingFunction
The type of windowing function to apply. Options include Hann, Gaussian, etc.
Definition ST_AudioProcessingSettings.h:394
Structure that holds configuration for the playback engine.
Definition ST_AudioProcessingSettings.h:1226
FString InputFilePath
Path to the input file for the playback engine. @meta (SessionRestartRequired)
Definition ST_AudioProcessingSettings.h:1242
EST_AudioFileLocation AudioFileLocation
Where the InputFilePath Should start. @meta (SessionRestartRequired)
Definition ST_AudioProcessingSettings.h:1235
Structure that holds configuration for playback from a player.
Definition ST_AudioProcessingSettings.h:1195
bool bLooping
Whether the audio playback should loop. @meta (SessionRestartRequired)
Definition ST_AudioProcessingSettings.h:1204
EST_AudioFileLocation AudioFileLocation
Where the InputFilePath Should start. @meta (SessionRestartRequired)
Definition ST_AudioProcessingSettings.h:1211
FString InputFilePath
Path to the input file for playback. @meta (SessionRestartRequired)
Definition ST_AudioProcessingSettings.h:1218