Choose your operating system:
Windows
macOS
Linux
Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/Sound/SoundWave.h |
Include |
#include "Sound/SoundWave.h" |
class USoundWave :
public USoundBase,
public IAudioProxyDataFactory
Name | Description | ||
---|---|---|---|
|
TObjectPtr< cla... |
AssetImportData |
|
|
AsyncLoadingDataFormats |
||
|
AudioDecompressor |
||
|
uint8: 1 |
bCanProcessAsync |
Set to true for procedural waves that can be processed asynchronously. |
|
uint8: 1 |
bDecompressedFromOgg |
Whether this SoundWave was decompressed from OGG. |
|
uint8: 1 |
bDynamicResource |
Whether to free the resource data after it has been uploaded to the hardware |
|
uint8: 1 |
bEnableAmplitudeEnvelopeAnalysis |
Whether or not to enable cook-time amplitude envelope analysis. |
|
uint8: 1 |
bEnableBakedFFTAnalysis |
Whether or not to enable cook-time baked FFT analysis. |
|
uint8: 1 |
bIsAmbisonics |
Whether or not this source is ambisonics file format. |
|
uint8: 1 |
bIsSourceBus |
Set to true of this is a bus sound source. |
|
uint8: 1 |
bLooping |
If set, when played directly (not through a sound cue) the wave will be played looping. |
|
uint8: 1 |
bManualWordWrap |
If set to true will disable automatic generation of line breaks - use if the subtitles have been split manually. |
|
uint8: 1 |
bMature |
If set to true if this sound is considered to contain mature/adult content. |
|
uint8: 1 |
bProcedural |
Set to true for programmatically generated audio. |
|
uint8: 1 |
bRequiresStopFade |
Set to true if fade is required when sound is abruptly stopped. |
|
uint8: 1 |
bSeekableStreaming |
Whether this sound supports seeking. |
|
uint8: 1 |
bSingleLine |
If set to true the subtitles display as a sequence of single lines as opposed to multiline. |
|
uint8: 1 |
bStreaming |
Whether this sound can be streamed to avoid increased memory usage. |
|
uint8: 1 |
bUseBinkAudio |
If true, the sound will compress to the Bink Audio format whenever available. |
|
uint8 * |
CachedRealtimeFirstBuffer |
Pointer to 16 bit PCM data - used to avoid synchronous operation to obtain first block of the realtime decompressed buffer |
|
ChannelOffsets |
Offsets into the bulk data for the source wav data |
|
|
ChannelSizes |
Sizes of the bulk data for the source wav data |
|
|
Comment |
Provides contextual information for the sound to the translator. |
|
|
CompressedDataGuid |
GUID used to uniquely identify this node so it can be found in the DDC |
|
|
CompressionQuality |
Platform agnostic compression quality. |
|
|
CookedEnvelopeTimeData |
The cooked cooked envelope data. |
|
|
TSortedMap< FSt... |
CookedPlatformData |
Cooked streaming platform data for this sound |
|
CookedSpectralTimeData |
The cooked spectral time data. |
|
|
CuePoints |
Cue point data |
|
|
TSharedPtr< FTh... |
CurrentChunkRevision |
The current revision of our compressed audio data. Used to tell when a chunk in the cache is stale. |
|
TObjectPtr< cla... |
Curves |
Curves associated with this sound wave |
|
TEnumAsByte< ED... |
DecompressionType |
Type of buffer this wave uses. Set once on load |
|
EnvelopeFollowerAttackTime |
The attack time in milliseconds. |
|
|
EnvelopeFollowerFrameSize |
How many audio frames to average a new envelope value. |
|
|
EnvelopeFollowerReleaseTime |
The release time in milliseconds. |
|
|
FFTAnalysisAttackTime |
Attack time in milliseconds of the spectral envelope follower. |
|
|
FFTAnalysisFrameSize |
How many audio frames analyze at a time. |
|
|
FFTAnalysisReleaseTime |
Release time in milliseconds of the spectral envelope follower. |
|
|
FFTSize |
The FFT window size to use for fft analysis. |
|
|
TArray< float > |
FrequenciesToAnalyze |
The frequencies (in hz) to analyze when doing baked FFT analysis. |
|
ImportedSampleRate |
Sample rate of the imported sound wave. |
|
|
InitialChunkSize |
Use this to override how much audio data is loaded when this USoundWave is loaded. |
|
|
TObjectPtr< cla... |
InternalCurves |
Hold a reference to our internal curve so we can switch back to it if we want to |
|
LoadingBehavior |
Loading behavior members are lazily initialized in const getters. |
|
|
ModulationSettings |
Modulation Settings |
|
|
NumChannels |
Number of channels of multichannel data; 1 or 2 for regular mono and stereo files |
|
|
NumPrecacheFrames |
The number of frames which have been precached for this sound wave. |
|
|
NumSourcesPlaying |
The number of sounds currently playing this sound wave. |
|
|
TObjectPtr< USo... |
OverrideSoundToUseForAnalysis |
Specify a sound to use for the baked analysis. |
|
float |
Pitch |
Playback pitch for sound. |
|
RawData |
Uncompressed wav data 16 bit in mono or stereo - stereo not allowed for multichannel data |
|
|
RawDataCriticalSection |
FByteBulkData doesn't currently support readonly access from multiple threads, so we limit access to RawData with a critical section on cook. |
|
|
uint8 * |
RawPCMData |
Pointer to 16 bit PCM data - used to decompress data to and preview sounds |
|
RawPCMDataSize |
Size of RawPCMData, or what RawPCMData would be if the sound was fully decompressed |
|
|
ResourceID |
Resource index to cross reference with buffers |
|
|
SampleRate |
Cooked sample rate of the asset. Can be modified by sample rate override. |
|
|
SampleRateQuality |
Quality of sample rate conversion for platforms that opt into resampling during cook. |
|
|
TEnumAsByte< ES... |
SoundGroup |
|
|
TSharedPtr< FSo... |
SoundWaveDataPtr |
|
|
SpokenText |
A localized version of the text that is actually spoken phonetically in the audio. |
|
|
StreamingPriority |
Priority of this sound when streaming (lower priority streams may not always play) |
|
|
float |
SubtitlePriority |
The priority of the subtitle. |
|
TArray< struct ... |
Subtitles |
Subtitle cues. |
|
TrackedMemoryUsage |
Cache the total used memory recorded for this SoundWave to keep INC/DEC consistent |
|
|
uint8: 1 |
TreatFileAsLoopingForAnalysis |
Whether or not we should treat the sound wave used for analysis (this or the override) as looping while performing analysis. |
|
float |
Volume |
Playback volume of sound 0 to 1 - Default is 1.0. |
Name | Description | |
---|---|---|
|
USoundWave ( |
Name | Description | ||
---|---|---|---|
|
AddPlayingSource() |
||
|
AddPlayingSource ( |
||
|
BeginCachePlatformData() |
Begins caching platform data in the background. |
|
|
BeginGetCompressedData ( |
||
|
CachePlatformData ( |
Caches platform data for the sound. |
|
|
CanVisualizeAsset() |
||
|
CleanupCachedRunningPlatformData() |
||
|
CleanupDecompressor ( |
Will clean up the decompressor task if the task has finished or force it finish. |
|
|
FSoundWavePr... |
CreateSoundWaveProxy() |
|
|
EnsureZerothChunkIsLoaded() |
When stream caching is enabled, this is called after we've successfully compressed and split the streamed audio for this file. |
|
|
FinishCachePlatformData() |
Blocks on async cache tasks and prepares platform data for use. |
|
|
ForceRebuildPlatformData() |
Forces platform data to be rebuilt. |
|
|
FreeResources ( |
Frees up all the resources allocated in this class. |
|
|
GeneratePCMData |
This is only used for DTYPE_Procedural audio. |
|
|
GetChunkData |
Get Chunk data for a specified chunk index. |
|
|
FByteBulkDat... |
GetCompressedData ( |
Gets the compressed data from derived data cache for the specified platform Warning, the returned pointer isn't valid after we add new formats |
|
GetCompressedDataSize ( |
Gets the compressed data size from derived data cache for the specified format |
|
|
GetCurvePropertyName() |
Gets the member name for the Curves property of the USoundWave object. |
|
|
Audio::EAudi... |
GetGeneratedPCMDataFormat() |
Return the format of the generated PCM data type. |
|
GetHandleForChunkOfAudio ( |
If stream caching is enabled, allows the user to retain a strong handle to the first chunk of audio in the cache. |
|
|
GetImportedSoundWaveData |
Utility which returns imported PCM data and the parsed header for the file. |
|
|
GetImportedSoundWaveData ( |
Utility which returns imported PCM data and the parsed header for the file. |
|
|
UCurveTable ... |
GetInternalCurveData() |
These functions are required for support for some custom details/editor functionality. |
|
GetInterpolatedCookedEnvelopeDataForTime |
||
|
GetInterpolatedCookedFFTDataForTime ( |
Helper function to get interpolated cooked FFT data for a given time value. |
|
|
ESoundWaveLo... |
GetLoadingBehavior ( |
Returns the loading behavior we should use for this sound wave. |
|
GetNumChunks() |
Returns the amount of chunks this soundwave contains if it's streaming, or zero if it is not a streaming source. |
|
|
const FPlatf... |
GetPlatformCompressionOverridesForCurrentPlatform() |
Return the platform compression overrides set for the current platform. |
|
GetPlatformSpecificFormat ( |
||
|
ESoundWavePr... |
GetPrecacheState() |
|
|
GetRedrawThumbnail() |
||
|
const uint8 ... |
GetResourceData() |
Memory containing the data copied from the compressed bulk data |
|
GetResourceSize() |
||
|
GetResourceSizeForFormat ( |
||
|
ITargetPlatf... |
GetRunningPlatform() |
Helper function for getting the cached name of the current platform. |
|
float |
GetSampleRateForCompressionOverrides ( |
Returns a sample rate if there is a specific sample rate override for this platform, -1.0 otherwise. |
|
float |
GetSampleRateForCurrentPlatform() |
Returns a sample rate if there is a specific sample rate override for this platform, -1.0 otherwise. |
|
float |
GetSampleRateForTargetPlatform ( |
Returns a sample rate if there is a specific sample rate override for this platform, -1.0 otherwise. |
|
GetSizeOfChunk ( |
||
|
TArrayView< ... |
GetZerothChunk ( |
This returns the initial chunk of compressed data for streaming data sources. |
|
FWaveInstanc... |
HandleStart ( |
Handle any special requirements when the sound starts (e.g. subtitles) |
|
HasCompressedData ( |
||
|
HasInternalCurves() |
Returns whether this sound wave has internal curves. |
|
|
HasStreamingChunks() |
This function returns true if there are streamable chunks in this asset. |
|
|
InitAudioResource ( |
Copy the compressed audio data from derived data cache |
|
|
InitAudioResource ( |
Copy the compressed audio data from the bulk data |
|
|
InvalidateCompressedData |
Change the guid and flush all compressed data |
|
|
InvalidateSoundWaveIfNeccessary() |
This function can be called before playing or using a SoundWave to check if any cook settings have been modified since this SoundWave was last cooked. |
|
|
IsGeneratingAudio() |
||
|
IsRetainingAudio() |
||
|
IsSeekableStreaming() |
Checks whether sound has seekable streaming enabled. |
|
|
IsStreaming ( |
Checks whether sound has been categorized as streaming. |
|
|
IsStreaming ( |
Checks whether sound has been categorized as streaming. |
|
|
LogBakedData() |
||
|
OnBeginGenerate() |
Called when the procedural sound wave begins on the render thread. Only used in the audio mixer and when bProcedural is true. |
|
|
OnEndGenerate() |
Called when the procedural sound wave is done generating on the render thread. Only used in the audio mixer and when bProcedural is true.. |
|
|
OverrideLoadingBehavior ( |
If Stream Caching is enabled, this can be used to override the default loading behavior of this USoundWave. |
|
|
ReleaseCompressedAudio() |
If stream caching is enabled and au.streamcache.KeepFirstChunkInMemory is 1, this will release this USoundWave's first chunk, allowing it to be deleted. |
|
|
RemoveAudioResource() |
Remove the compressed audio data associated with the passed in wave |
|
|
RemovePlayingSource() |
||
|
RemovePlayingSource ( |
||
|
RetainCompressedAudio ( |
If stream caching is enabled, set this sound wave to retain a strong handle to its first chunk. |
|
|
SerializeCookedPlatformData ( |
Serializes cooked platform data. |
|
|
SetCurveData ( |
Sets the curve data for this sound wave. |
|
|
SetImportedSampleRate ( |
||
|
SetInternalCurveData ( |
Sets the internal curve data for this sound wave. |
|
|
SetPrecacheState ( |
||
|
SetRedrawThumbnail ( |
||
|
SetSampleRate ( |
Overwrite sample rate. |
|
|
ShouldUseStreamCaching() |
Checks whether we should use the load on demand cache. |
|
|
UpdatePlatformData() |
Attempts to update the cached platform data after any changes that might affect it |
Name | Description | ||
---|---|---|---|
|
UCurveTable ... |
GetCurveData() |
Returns curves associated with this sound wave |
|
float |
GetDuration() |
Returns the length of the sound |
|
GetSoundWavesWithCookedAnalysisData ( |
Returns whether the sound has cooked analysis data (e.g. FFT or envelope following data) and returns sound waves which have cooked data. |
|
|
float |
GetSubtitlePriority() |
Returns the subtitle priority |
|
HasCookedAmplitudeEnvelopeData() |
||
|
HasCookedFFTData() |
Queries if the sound has cooked FFT or envelope data. |
|
|
IsPlayable() |
Returns whether the sound base is set up in a playable manner |
|
|
Parse ( |
Parses the Sound to generate the WaveInstances to play. |
|
|
SupportsSubtitles() |
Returns whether sound supports subtitles. |
Name | Description | ||
---|---|---|---|
|
BeginCacheForCookedPlatformData ( |
Begins caching platform data in the background for the platform requested |
|
|
BeginDestroy() |
Called before destroying the object. |
|
|
ClearAllCachedCookedPlatformData() |
Clear all the cached cooked platform data which we have accumulated with BeginCacheForCookedPlatformData calls The data can still be cached again using BeginCacheForCookedPlatformData again |
|
|
ClearCachedCookedPlatformData ( |
Clears cached cooked platform data for specific platform |
|
|
FinishDestroy() |
Called to finish destroying the object. |
|
|
GetAssetRegistryTags ( |
Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects |
|
|
GetDesc() |
Return a one line description of an object for viewing in the thumbnail view of the generic browser |
|
|
GetExporterName() |
Returns the name of the exporter factory used to export this object Used when multiple factories have the same extension |
|
|
GetResourceSizeEx ( |
Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific). |
|
|
IsCachedCookedPlatformDataLoaded ( |
Have we finished loading all the cooked platform data for the target platforms requested in BeginCacheForCookedPlatformData |
|
|
IsReadyForFinishDestroy() |
Called to check if the object is ready for FinishDestroy. |
|
|
PostEditChangeProperty ( |
Called when a property on this object has been modified externally |
|
|
PostInitProperties() |
Called after the C++ constructor and after the properties have been initialized, including those loaded from config. |
|
|
PostLoad() |
Do any object-specific cleanup required immediately after loading an object. |
|
|
Serialize ( |
Handles reading, writing, and reference collecting using FArchive. |
|
|
WillNeverCacheCookedPlatformDataAgain() |
All caching has finished for this object (all IsCachedCookedPlatformDataLoaded functions have finished for all platforms) |
Name | Description | ||
---|---|---|---|
|
TUniquePtr< ... |
CreateNewProxyData ( |
Name |
Description |
|
---|---|---|
|
ESoundWaveResourceState |
Name |
Description |
---|---|
FAsyncAudioDecompress |
Async worker that decompresses the audio data on a different thread |
FSoundWaveClientPtr |