Skip to main content

Audio utilities

Audio Utilities

Audio Processing Functions

Format Conversion

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Utils")
TArray<float> ConvertPCM16ToFloat(const TArray<uint8>& PCM16Data);

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Utils")
TArray<uint8> ConvertFloatToPCM16(const TArray<float>& FloatData);

Audio Analysis

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Utils")
float CalculateAudioLevel(const TArray<float>& AudioSamples);

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Utils")
TArray<float> ApplyBasicNoiseReduction(const TArray<float>& AudioSamples,
float NoiseFloor = 0.02f);

Audio Generation

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Generation")
USoundWave* CreateSoundWaveFromPCM16(
const TArray<uint8>& PCM16Data,
const FString& SoundName = TEXT("GeneratedAudio"));

Audio Filters

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Filters")
void SetupAudioFilters(float LowPassFreq = 0.0f,
float HighPassFreq = 0.0f,
bool bEnableFilters = true);

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Filters")
void SetFilterFrequencies(float LowPassFreq, float HighPassFreq);

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Filters")
void EnableAudioFilters(bool bEnabled);
note

MetaHuman Lip-Sync: The LiveLink audio integration automatically routes AI voice output to MetaHuman characters for real-time lip-sync animation. Audio is sent to a LiveLink subject that drives facial animation.

UPROPERTY(BlueprintAssignable, Category = "LLMAI|LiveLink")
FOnLiveLinkAudioInitialized OnLiveLinkAudioInitialized;
// (SubjectName) - Fires when LiveLink audio source is ready

External Audio Input

UFUNCTION(BlueprintCallable, Category = "LLMAI|Audio Input")
void ReceiveExternalAudioData(const TArray<float>& AudioSamples);
// For UE 5.5.4 compatibility - feed audio from external sources