Inputs

The input or source determines and controls the origin of the audio data. We have multiple available inputs, and each one can manage different audio feeding method. For example, to use audio files we are going to need the Player or the Extractor Object. For a microphone we have the Capturer or the OVR, depends on the target platform. We have too the ability to listen the audio from other devices using the Loopback input (only works on Windows platforms for now), and with the Stream Object we can inject directly the audio data from other sources.

Player Input

This plugin includes a basic audio player to control the loaded audio playback.
Current player features:
  • Play/Stop/Pause controls

  • Load audio files from the content folder

  • Allow seek playback

  • Allow adjust playback volume

  • Access to audio metadata

Initialization

doc_player_init_ctx
We need to initialize some parameters before be able to play any sound, we need to provide the sound path at this moment.
We can configure the buffer playback size too. By compatibility with Miniaudio library we are now using period related paremeters
periodSizeInFrames
The desired size of a period in PCM frames. If this is 0, periodSizeInMilliseconds will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. This value affects latency.
periodSizeInMilliseconds
The desired size of a period in milliseconds. If this is 0, periodSizeInFrames will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. The value affects latency.
periods
The number of periods making up the device’s entire buffer. The total buffer size is periodSizeInFrames or periodSizeInMilliseconds multiplied by this value. This is just a hint as backends will be the ones who ultimately decide how your periods will be configured.

Default internal values:
periodSizeInFrames: 0
periodSizeInMilliseconds: 10 (low latency), 100 (conservative)
periods: 3

Warning

If you experience audio gliches on Android platform the buffer size must be increased. The optimal value may vary between devices.

doc_player_init_bp
Init Player Audio
Initializes the player audio source instance.

File Name

Path to the audio file

Init Player Audio Ex
Initializes the player audio source instance (Extended version).

File Name

Path to the audio file

Period Size in Frames

The desired size of a period in PCM frames (power of 2), 0 to use default value

Period Size in Milliseconds

The desired size of a period in milliseconds, 0 to use default value

Periods

The number of periods making up the device’s entire buffer, 0 to use default value. Total buffer is Period_Size * Periods

Unload Player Audio
Closes the player audio device
doc_player_init_bp_device
Set Default Device Player Audio
Sets a specific player audio device to play the sound file. Must be called before Init Player Audio nodes.

Audio Device Name

Audio device name (From Get Output Audio Device node output)

Get Default Device Player Audio
Returns the player audio device

Asynchronous Initialization

Note

With big audio files is better to use asynchronous initialization node to avoid the app hang during the audio decode process.
With the asynchronous node an AsyncTask is generated to decode the file in other thread. When the decoding process end an event is triggered with the result of the operation.
doc_player_init_async_bp
Async Init Player Audio
Initializes the player audio source instance (Async). Returns if the AsyncTask has been created.

File Name

Path to the audio file

Period Size in Frames

The desired size of a period in PCM frames (power of 2), 0 to use default value

Period Size in Milliseconds

The desired size of a period in milliseconds, 0 to use default value

Periods

The number of periods making up the device’s entire buffer, 0 to use default value. Total buffer is Period_Size * Periods

On Init Player Audio Finished
Event triggered when the initialization ends. Returns the Player initialization result.
Is Async Init Player Audio Running
Returns if a Player initialization AsyncTask is running

Players controls

doc_player_controls_ctx

After the player initialization we can use the player nodes to control the sound playback, We can start or stop the playback, change the volume, set the playback position…

doc_player_controls_bp_play
Play
Starts audio playback from the beginning but if the audio has been paused previously, continue the playback from this position
Play Ex
Starts audio playback from the beginning but if the audio has been paused previously, continue the playback from this position. Each loop starts from StartTime position.

Loops

Number of loops (0-infinite playback)

StartTime

Time in seconds to start the playback

Stop
Stops audio playback
Is Playing
Returns player playing state
doc_player_controls_bp_pause
Pause
Pauses player playback if the device is in playing state UnPauses player playback if the device has been paused previously
Set Paused
Sets the player state on pause/unpause state.

Pause

New pause state

Is Paused
Returns player pause state
doc_player_controls_bp_loops
Get Remaining Loops
Returns the number of remaining loops to be played
doc_player_controls_bp_total
Get Total Duration
Returns total player playback duration
doc_player_controls_bp_time
Get Playback Time
Returns current player playback position
Set Playback Time
Sets current player playback position.

Progress

New playback position in seconds

doc_player_controls_bp_volume
Get Playback Volume
Returns current player playback volume
Set Playback Volume
Sets a new volume in range 0.0 - 1.0.

Volume

New volume in range 0.0 - 1.0

Player Events

doc_player_events_ctx

We can track some event related with the audio playback, like the end of a loop or the total file playback end.

Bindable events

doc_player_events_bp_finish
On Playback Finished
Event to track the player playback end. Triggered when the playback reaches the end of the file. All loops has been played.
On Playback Loop Finished
Event to track the loop playback end. Triggered when the playback reaches the end of one loop

Player Utils

doc_player_utils_ctx

Some player extra functions

doc_player_utils_bp_meta
Get Metadata
Returns metadata if the file has the info.

Filename

Filename of the audio file

Extension

Extension of the audio file

MetaType

ID3_V1 , ID3_V2.3 , ID3_V2.4

Title

Title of the song

Artist

Artist

Album

Album

Year

Year

Genre

Genre

Get Metadata Art
Extract the AlbumArt pictures into the selected folder. The format of the file name will be {Prefix}{number_of_file}.{image_extension}. Prefix1.png, Prefix2.png,…

Prefix

Prefix used to name the pictures.

Folder

Destination folder, must exists

Number of files

Number of stored pictures

doc_player_utils_bp_info
Get Player Device Audio Info
Returns the parameters used to configure the player device.

Device Name

Name of the device in the system devices list

Sample Rate

Number of samples per second

Num Channels

Number of channels

Buffer Samples

Number of samples of the playback buffer

Format

Format of the values that represent each sample (Fixed/Float)

Bit Depth

Number of bits used for each sample

Player Supported formats

This player support multiple audio formats, with wav files we are using the memory file directly so no wait time is needed, but with compressed formats a decode process is done when the audio file is loaded, so have the audio ready for the playback can take some time.

Wav files , multichannel supported 1 (mono), 2 (stereo), 4 (quad), and 6 (5.1)
- PCM signed 16bit
- PCM signed 32 bit
- PCM float 32 bit
Mp3 files , multichannel (ID3 Tag v1/v2)
- CBR Constant Bitrate
- VBR Variable Bitrate
Ogg files , multichannel
- Vorbis
- Flac

Microphone Input

This plugin supports a real-time audio capture from a microphone source
Current capturer features:
  • Real Time capture

  • Volume Override

Initialization

doc_capturer_init_ctx
We need to initialize some parameters before be able to capture sound.
We can configure the buffer playback/capture size too. By compatibility with Miniaudio library we are now using period related paremeters
periodSizeInFrames
The desired size of a period in PCM frames. If this is 0, periodSizeInMilliseconds will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. This value affects latency.
periodSizeInMilliseconds
The desired size of a period in milliseconds. If this is 0, periodSizeInFrames will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. The value affects latency.
periods
The number of periods making up the device’s entire buffer. The total buffer size is periodSizeInFrames or periodSizeInMilliseconds multiplied by this value. This is just a hint as backends will be the ones who ultimately decide how your periods will be configured.

Default internal values:
periodSizeInFrames: 0
periodSizeInMilliseconds: 10 (low latency), 100 (conservative)
periods: 3
doc_capturer_init_bp
Init Capturer Audio
Initializes the capturer audio source instance
Init Capturer Audio Ex
Initializes the capturer audio source instance (Extended version). To be able to playback the captured audio we need to initialize the playback device at this point.

Sample Rate

Samples per second of the capture

Bit Depth

Bits per sample

Audio Format

Sample number format (fixed/float)

Audio Buffer Seconds

Number of seconds of capture history

Init Playback Device

Initialize device to playback received data

Period Size in Frames

The desired size of a period in PCM frames (power of 2), 0 to use default value

Period Size in Milliseconds

The desired size of a period in milliseconds, 0 to use default value

Periods

The number of periods making up the device’s entire buffer, 0 to use default value. Total buffer is Period_Size * Periods

Unload Capturer Audio
Closes the capturer audio devices
doc_capturer_init_bp_device
Set Default Devices Capturer Audio
Sets the audio device to capture and play the sound. Must be called before Init Capturer Audio nodes.

Capturer Device Name

Audio device name to capture the sound (From Get Input Audio Device node output)

Player Device Name

Audio device name to play the sound (From Get Output Audio Device node output)

Get Default Devices Capturer Audio
Returns the capturer and local player audio device.

Capturer Device Name

Audio device name to capture the sound

Player Device Name

Audio device name to play the sound

Capturer controls

doc_capturer_controls_ctx

After initialization we can use the capturer nodes to control the start or end of the capture

doc_capturer_controls_bp
Start Capture
Starts audio capture (and playback). The captured pcm audio data can be obtained using OnCapturedData event.

Playback Capture

Enable to playback the capture sound at the same time, only if the playback device has been enabled in the Initialization node

Captured Data Broadcast

Returns the captured audio buffer using OnCapturedData Event

Stop Capture
Stops audio capture
Is Capturing
Returns player playing state
doc_capturer_controls_bp_time
Get Capture Time
Returns total capture elapsed time
doc_player_controls_bp_volume
Get Capture Volume
Returns current capture volume.

Capture Volume

Microphone normalized volume

Playback Volume

Playback normalized volume

Set Capture Volume
Sets a new volume for microphone capture and playback in range 0.0 - 1.0

Capture Volume

New capture volume in range 0.0 - 1.0

Playback Volume

New playback volume in range 0.0 - 1.0

Capturer Events

doc_capturer_events_ctx

We can track some event related with audio capture. Each time a capture buffer is filled we can obtain the raw pcm audio and feed other analyzer inputs.

Bindable events

doc_capturer_events_bp_capture
On Capture Data
Event to retrieve the captured pcm audio data using a TArray<Byte> parameter. For example we can feed the Stream Analyzer using the Capturer input using this event.
doc_capturer_events_bp_sample

Capturer Utils

doc_capturer_utils_ctx

Some capturer extra functions

doc_capturer_utils_bp_info
Get Capturer Devices Audio Info
Retrieves the capture/playback audio device info.

Capturer Device Name

Name of the capturer device in the system devices list

Capturer Sample Rate

Number of samples per second

Capturer Num Channels

Number of channels

Capturer Buffer Samples

Number of samples of the playback buffer

Capturer Format

Format of the values that represent each sample (Fixed/Float)

Capturer Bit Depth

Number of bits used for each sample

Player Device Name

Name of the player device in the system devices list

Player Sample Rate

Number of samples per second

Player Num Channels

Number of channels

Player Buffer Samples

Number of samples of the playback buffer

Player Format

Format of the values that represent each sample (Fixed/Float)

Player Bit Depth

Number of bits used for each sample

Loopback Input

This plugin can listen an audio system device (Only Windows platform) and take the output audio to do the analysis. If no Audio device is set, then listen on default system audio device.
Current Loopback features:
  • Real Time capture

Initialization

doc_loopback_init_ctx
We need to initialize some parameters before be able to capture sound.
We can configure the buffer capture size too. By compatibility with Miniaudio library we are now using period related paremeters
periodSizeInFrames
The desired size of a period in PCM frames. If this is 0, periodSizeInMilliseconds will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. This value affects latency.
periodSizeInMilliseconds
The desired size of a period in milliseconds. If this is 0, periodSizeInFrames will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. The value affects latency.
periods
The number of periods making up the device’s entire buffer. The total buffer size is periodSizeInFrames or periodSizeInMilliseconds multiplied by this value. This is just a hint as backends will be the ones who ultimately decide how your periods will be configured.

Default internal values:
periodSizeInFrames: 0
periodSizeInMilliseconds: 10 (low latency), 100 (conservative)
periods: 3
doc_loopback_init_bp
Init Loopback Audio
Initializes the loopback audio source instance
Init Loopback Audio Ex
Initializes the loopback audio source instance (Extended version).

Num Channels

Number of channels

Sample Rate

Number of samples per second

Bit Depth

Bits per sample

Audio Format

Sample number format

Audio Buffer Seconds

Number of seconds of capture history

Period Size in Frames

The desired size of a period in PCM frames (power of 2), 0 to use default value

Period Size in Milliseconds

The desired size of a period in milliseconds, 0 to use default value

Periods

The number of periods making up the device’s entire buffer, 0 to use default value. Total buffer is Period_Size * Periods

Unload Loopback Audio
Closes the loopback listener
doc_loopback_init_bp_device
Set Default Device Loopback Audio
Sets the audio device to listen. Must be called before Init Loopback Audio nodes.

Source Device Name

Audio device name to listen (From Get Output Audio Device node output)

Get Default Device Loopback Audio
Returns the listened audio device.

Source Device Name

Audio device name to capture the sound

Loopback controls

doc_loopback_controls_ctx

After initialization we can use the next loopback nodes to control the start/end of the capture

doc_loopback_controls_bp
Start Loopback
Starts audio capture. The captured pcm audio data can be obtained using OnLoopbackCapturedData event.

Captured Data Broadcast

Returns the captured audio buffer using OnLoopbackCapturedData Event

Stop Loopback
Stops audio capture
Is Loopback Capturing
Returns player playing state
doc_loopback_controls_bp_time
Get Loopback Capture Time
Returns total capture elapsed time

Loopback Events

doc_loopback_events_ctx

We can track some event related with audio capture. Each time a capture buffer is filled we can obtain the raw pcm audio and feed other analyzer inputs.

Bindable events

doc_loopback_events_bp_capture
On Loopback Capture Data
Event to retrieve the captured pcm audio data using a TArray<Byte> parameter. For example we can feed the Stream Analyzer using the Capturer input using this event.
doc_capturer_events_bp_sample

Loopback Utils

doc_loopback_utils_ctx

Some loopback extra functions

doc_loopback_utils_bp_info
Get Loopback Device Audio Info
Retrieves audio device info.

Device Name

Name of the capturer device in the system devices list

Sample Rate

Number of samples per second

Num Channels

Number of channels

Buffer Samples

Number of samples of the playback buffer

Format

Format of the values that represent each sample (Fixed/Float)

Bit Depth

Number of bits used for each sample

Extractor Input

With this source we can load an audio file to do offline analysis and extract the header information.
We can’t use the realtime analysis nodes to retrieve the results of this source (see Offline analysis nodes)

Initialization

doc_extractor_init_ctx

We need to uncompress the audio file before be able to do the analysis.

doc_extractor_init_bp
Init Extractor Audio
Initializes the extractor audio source instance. With this node the audio data will be uncompressed.

File Name

Path to the audio file

Only Header

The audio data will not be uncompressed, but we can access to the metadata info

Unload Extractor Audio
Free the memory for the uncompressed audio data, an analysis can’t be done after call this node.

Asynchronous Initialization

Note

With big audio files is better to use asynchronous initialization node to avoid the app hang during the audio decode process.
With the asynchronous node an AsyncTask is generated to decode the file in other thread. When the decoding process end an event is triggered with the result of the operation.
doc_extractor_init_async_bp
Async Init Extractor Audio
Initializes the extractor audio source instance (Async). With this AsyncTask the audio data will be uncompressed. Returns if the AsyncTask has been created.

File Name

Path to the audio file

Only Header

The audio data will not be uncompressed, but we can access to the metadata info

On Init Extractor Audio Finished
Event triggered when the initialization ends. Returns the Extractor initialization result.
Is Async Init Extractor Audio Running
Returns if a Extractor initialization AsyncTask is running

Extractor Utils

doc_extractor_utils_ctx

Some extractor extra functions

doc_extractor_utils_bp_total
Get Audio Total Duration
Returns total audio duration
doc_extractor_utils_bp
Get Audio Metadata
Returns metadata if the file has the info.

Filename

Filename of the audio file

Extension

Extension of the audio file

MetaType

ID3_V1 , ID3_V2.3 , ID3_V2.4

Title

Title of the song

Artist

Artist

Album

Album

Year

Year

Genre

Genre

Get Audio Metadata Art
Extract the AlbumArt pictures into the selected folder. The format of the file name will be {Prefix}{number_of_file}.{image_extension}. Prefix1.png, Prefix2.png,…

Prefix

Prefix used to name the pictures

Folder

Destination folder, must exists

Number of files

Number of stored pictures

Stream Input

With this input we can load raw audio data directly from other thirdparty sources.

Initialization

doc_stream_init_ctx
We need to initialize this object with the parameters needed to read the raw data
We can configure the buffer playback/capture size too. By compatibility with Miniaudio library we are now using period related paremeters
periodSizeInFrames
The desired size of a period in PCM frames. If this is 0, periodSizeInMilliseconds will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. This value affects latency.
periodSizeInMilliseconds
The desired size of a period in milliseconds. If this is 0, periodSizeInFrames will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. The value affects latency.
periods
The number of periods making up the device’s entire buffer. The total buffer size is periodSizeInFrames or periodSizeInMilliseconds multiplied by this value. This is just a hint as backends will be the ones who ultimately decide how your periods will be configured.

Default internal values:
periodSizeInFrames: 0
periodSizeInMilliseconds: 10 (low latency), 100 (conservative)
periods: 3
doc_stream_init_bp
Init Stream Audio
Initializes the stream audio source instance. To be able to playback the captured audio we need to initialize the playback device at this point.

Num Channels

Number of channels

Sample Rate

Samples per second

Bit Depth

Bits per sample

Audio Format

Sample number format

Audio Buffer Seconds

Number of seconds of capture history

Init Playback Device

Initialize device to playback received data

Period Size in Frames

The desired size of a period in PCM frames (power of 2), 0 to use default value

Period Size in Milliseconds

The desired size of a period in milliseconds, 0 to use default value

Periods

The number of periods making up the device’s entire buffer, 0 to use default value. Total buffer is Period_Size * Periods

Unload Stream Audio
Closes the stream listener audio device
doc_stream_init_bp_device
Set Default Device Stream Audio
Sets default stream playback device.

Player Device Name

Friendly Name of audio device (GetOutputAudioDeviceNames output)

Get Default Device Stream Audio
Returns the player audio device

Stream controls

doc_stream_controls_ctx

After the initialization we can feed the object using raw audio data

doc_stream_controls_bp_feed
Open Stream Capture
Enable the audio listener to accept the audio data received from Feed Stream Capture node.

Playback Capture

Enable to playback the capture sound at the same time, only if the playback device has been enabled in the Initialization node

Feed Stream Capture
Sends the stream audio data to the analyzer.

Stream Data

TArray with the raw audio data

Close Stream Capture
Closes audio loopback capture and stops the playback
Is Stream Capturing
Returns player playing state
doc_stream_controls_bp_time
Get Stream Capture Time
Returns current loopback total capture time

Stream Utils

doc_stream_utils_ctx

Some extractor extra functions

doc_stream_utils_bp_info
Get Stream Devices Audio Info
Retrieves the stream playback audio device info.

Player Device Name

Name of the player device in the system devices list

Player Sample Rate

Number of samples per second

Player Num Channels

Number of channels

Player Buffer Samples

Number of samples of the playback buffer

Player Format

Format of the values that represent each sample (Fixed/Float)

Player Bit Depth

Number of bits used for each sample

OVR Input

This Object can be used instead of Capturer to capture the audio from a microphone of an Oculus device.

Initialization

doc_ovr_init_ctx
We can initialize this object with some parameters to customize the audio output
We can configure the buffer playback/capture size too. By compatibility with Miniaudio library we are now using period related paremeters
periodSizeInFrames
The desired size of a period in PCM frames. If this is 0, periodSizeInMilliseconds will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. This value affects latency.
periodSizeInMilliseconds
The desired size of a period in milliseconds. If this is 0, periodSizeInFrames will be used instead. If both are 0 the default buffer size will be used depending on the selected performance profile. The value affects latency.
periods
The number of periods making up the device’s entire buffer. The total buffer size is periodSizeInFrames or periodSizeInMilliseconds multiplied by this value. This is just a hint as backends will be the ones who ultimately decide how your periods will be configured.

Default internal values:
periodSizeInFrames: 0
periodSizeInMilliseconds: 10 (low latency), 100 (conservative)
periods: 3
doc_ovr_init_bp
Init OVR Audio
Initializes the OVR audio source instance. To be able to playback the captured audio we need to initialize the playback device at this point.

Sample Rate

Samples per second of the capture

Audio Format

Sample number format (fixed/float)

Audio Buffer Seconds

Number of seconds of capture history

Init Playback Device

Initialize device to playback received data

Period Size in Frames

The desired size of a period in PCM frames (power of 2), 0 to use default value

Period Size in Milliseconds

The desired size of a period in milliseconds, 0 to use default value

Periods

The number of periods making up the device’s entire buffer, 0 to use default value. Total buffer is Period_Size * Periods

Unload OVER Audio
Closes the OVR audio source
doc_ovr_init_bp_device
Set Default Devices OVR Audio
Sets default OVR devices.

Capturer Device Name

Audio device name to capture the sound (From Get Input Audio Device node output)

Player Device Name

Audio device name to play the sound (From Get Output Audio Device node output)

Get Default Devices OVR Audio
Returns the default OVR device names (use after InitOVRAudio).

Capturer Device Name

Audio device name to capture the sound

Player Device Name

Audio device name to play the sound

OVR Controls

doc_ovr_controls_ctx

After initialization we can use this nodes to control the start or end of the capture

doc_ovr_controls_bp_start
Start OVR Capture
Starts OVR audio capture (and playback).

Playback Capture

Enable to playback the capture sound at the same time, only if the playback device has been enabled in the Initialization node

Stop OVR Capture
Stops OVR audio capture
Is OVR Capturing
Returns OVR Capture state
doc_ovr_controls_bp_time
Get OVR Capture Time
Returns total OVR capture time

OVR Utils

doc_ovr_utils_ctx

Some OVR extra functions

doc_ovr_utils_bp_info
Get OVR Devices Audio Info
Retrieves the capture/playback audio device info.

Capturer Device Name

Name of the capturer device in the system devices list

Capturer Sample Rate

Number of samples per second

Capturer Num Channels

Number of channels

Capturer Buffer Samples

Number of samples of the playback buffer

Capturer Format

Format of the values that represent each sample (Fixed/Float)

Capturer Bit Depth

Number of bits used for each sample

Player Device Name

Name of the player device in the system devices list

Player Sample Rate

Number of samples per second

Player Num Channels

Number of channels

Player Buffer Samples

Number of samples of the playback buffer

Player Format

Format of the values that represent each sample (Fixed/Float)

Player Bit Depth

Number of bits used for each sample

Soundwave Input

The plugin can load the audio at runtime and store it as a Soundwave object. This soundwave can be used to run analysis on it or be used in a audio component and run analysis during their playback. This is a Procedural SoundWave so only one instance of the soundwave can be played at a time. OnStopFinished Event can be used to know when the soundwave can be used again. This nodes must be called using an AudioAnalyzerSoundWave object.

Initialization

doc_soundwave_init_ctx
We can initialize this object with some parameters to customize the audio output
doc_soundwave_init_bp
Construct SoundWave
Construct a SoundWave object using an audio file. Must be called using an AudioAnalyzerManager object

File Name

Path to the audio file

Unload SoundWave
Returns a list with the name of available audio devices to play audio

Asynchronous Initialization

Note

With big audio files is better to use asynchronous initialization node to avoid the app hang during the audio decode process.
With the asynchronous node an AsyncTask is generated to decode the file in other thread. When the decoding process end an event is triggered with the result of the operation.
doc_soundwave_init_async_bp
Async Construct SoundWave
Construct a SoundWave object using an audio file. Must be called using an AudioAnalyzerManager object. Returns if the AsyncTask has been created.

File Name

Path to the audio file

On Construct SoundWave Finished
Event triggered when the initialization ends. Returns the construct initialization result and the Soundwave reference.
Is Async Construct SoundWave Running
Returns if a Construct Soundwave AsyncTask is running

Soundwave playback controls

doc_soundwave_controls_ctx
After construct the soundwave object we can use the playback nodes to control the sound playback, We can start or stop the playback, change the volume, set the playback position…
We have overrided version of the nodes used to for the engine to control the soundwave playback. This nodes add more options and must be used to synchronize the analysis and playback buffers. But can be used as a simple Soundwave without analysis too.
doc_soundwave_controls_bp_play
Play Sound 2D
Plays a sound directly with no attenuation, perfect for UI sounds. Fire and Forget. Not Replicated.

Volume Multiplier

Multiplied with the volume to make the sound louder or softer

Pitch Multiplier

Multiplies the pitch

Start Time

How far in to the sound to begin playback at, and loop start time

Loops

Number of Loops (Default: 1)

Concurrency Settings

Override concurrency settings package to play sound with

OwningActor

The actor to use as the “owner” for concurrency settings purposes. Allows PlaySound calls to do a concurrency limit per owner.

Play Sound At Location
Plays a sound at the given location. This is a fire and forget sound and does not travel with any actor. Replication is also not handled at this point.

Location

World position to play sound at

Rotation

World rotation to play sound at

Volume Multiplier

Multiplied with the volume to make the sound louder or softer

Pitch Multiplier

Multiplies the pitch

Start Time

How far in to the sound to begin playback at, and loop start time

Loops

Number of Loops (Default: 1)

Attenuation_Settings

Override attenuation settings package to play sound with

Concurrency Settings

Override concurrency settings package to play sound with

OwningActor

The actor to use as the “owner” for concurrency settings purposes. Allows PlaySound calls to do a concurrency limit per owner.

doc_soundwave_controls_bp_play_spawn
Spawn Sound 2D
Spawns a sound with no attenuation, perfect for UI sounds. Returns an Audio Component to manipulate the spawned sound. This Audio Component is linked to the audio analyzer manager.

Volume Multiplier

Multiplied with the volume to make the sound louder or softer

Pitch Multiplier

Multiplies the pitch

Start Time

How far in to the sound to begin playback at, and loop start time

Loops

Number of Loops (Default: 1)

Concurrency Settings

Override concurrency settings package to play sound with

Persist Across Level Transition

Whether the sound should continue to play when the map it was played in is unloaded

Auto Destroy

Whether the returned audio component will be automatically cleaned up when the sound finishes (by completing or stopping) or whether it can be reactivated

Spawn Sound At Location
Spawns a sound at the given location. This does not travel with any actor. Replication is also not handled at this point. Returns an Audio Component to manipulate the spawned sound. This Audio Component is linked to the audio analyzer manager.

Location

World position to play sound at

Rotation

World rotation to play sound at

Volume Multiplier

Multiplied with the volume to make the sound louder or softer

Pitch Multiplier

Multiplies the pitch

Start Time

How far in to the sound to begin playback at, and loop start time

Loops

Number of Loops (Default: 1)

Attenuation_Settings

Override attenuation settings package to play sound with

Concurrency Settings

Override concurrency settings package to play sound with

Auto Destroy

Whether the returned audio component will be automatically cleaned up when the sound finishes (by completing or stopping) or whether it can be reactivated

Spawn Sound Attached
Plays a sound attached to and following the specified component. This is a fire and forget sound. Replication is also not handled at this point. Returns an Audio Component to manipulate the spawned sound. This Audio Component is linked to the audio analyzer manager.

Attach To Component

Component to attach to.

Attach Point Name

Optional named point within the AttachComponent to play the sound at

Location

World position to play sound at

Rotation

World rotation to play sound at

Location Type

Specifies whether Location is a relative offset or an absolute world position

Stop When Attached To Destroyed

Specifies whether the sound should stop playing when the owner of the attach to component is destroyed

Volume Multiplier

Multiplied with the volume to make the sound louder or softer

Pitch Multiplier

Multiplies the pitch

Start Time

How far in to the sound to begin playback at, and loop start time

Loops

Number of Loops (Default: 1)

Attenuation_Settings

Override attenuation settings package to play sound with

Concurrency Settings

Override concurrency settings package to play sound with

Auto Destroy

Whether the returned audio component will be automatically cleaned up when the sound finishes (by completing or stopping) or whether it can be reactivated

doc_soundwave_controls_bp_play_create
Create Sound 2D
Creates a sound with no attenuation, perfect for UI sounds. This does NOT play the sound. Returns an Audio Component to manipulate the spawned sound. This Audio Component is linked to the audio analyzer manager.

Volume Multiplier

Multiplied with the volume to make the sound louder or softer

Pitch Multiplier

Multiplies the pitch

Start Time

How far in to the sound to begin playback at, and loop start time

Loops

Number of Loops (Default: 1)

Concurrency Settings

Override concurrency settings package to play sound with

Persist Across Level Transition

Whether the sound should continue to play when the map it was played in is unloaded

Auto Destroy

Whether the returned audio component will be automatically cleaned up when the sound finishes (by completing or stopping) or whether it can be reactivated

doc_soundwave_controls_bp_play_stop
Async Stop Sound
Using a reference to the SoundWave object the playback can be stopped using this node. Stops audio playback and triggers OnStopFinished event when the thread stops generating audio, useful when we want to use the same sound wave again.
Is Playing
Returns if the soundwave is playing
Get Remaining Loops
Returns the number of remaining loops to be played
doc_soundwave_controls_bp_pause
Pause Sound
Pauses soundwave playback if the device is playing. UnPauses soundwave playback if the device has been paused previously
Set Paused
Sets the soundwave state on pause/unpause state.

Pause

New pause state

Is Paused
Returns soundwave pause state
doc_soundwave_controls_bp_total
Get Duration
Returns total soundwave playback duration
Get Total Duration
Returns total soundwave playback duration
doc_soundwave_controls_bp_time
Get Playback Time
Returns current soundwave playback position
Set Playback Time
Sets current soundwave playback position.

Time

New playback position in seconds

SoundWave Utils

doc_soundwave_utils_ctx

Some SoundWave related extra functions

doc_soundwave_utils_bp_ref
Get Sound Wave
Returns the reference to the soundwave stored in the AudioAnalyzerManager. The soundwave previously created with Construct SoundWave node. Must be called using an AudioAnalyzerManager object.
doc_soundwave_resume_bp

SoundWave Events

doc_soundwave_events_ctx

We can track some event related with the audio playback, like the end of a loop or the total file playback end.

Bindable events

doc_soundwave_events_bp_finish
On Playback Finished
Event to track the soundwave playback end. Triggered when the playback reaches the end of the file. All loops has been played.
On Playback Loop Finished
Event to track the soundwave loop playback end. Triggered when the playback reaches the end of one loop.
On Stop Finished
Event to track the soundwave stop. Triggered when the thread stops generating audio.

AudioComponent Input

The plugin can load the audio at runtime and store it as a Soundwave object. This soundwave can be used in a audio component and run analysis during their playback. This is a Procedural SoundWave so only one instance of the soundwave can be played at a time. OnAudioComponentStopFinished Event can be used to know when the audio component can be used again. Only AudioAnalyzerSoundWave objects are valid to do analysis using this component. All this nodes must be called using the AudioAnalyzerManager object.

Initialization

doc_audiocomponent_init_ctx
We can initialize this object with some parameters to customize the audio output
doc_audiocomponent_init_bp
Link Audio Component
Sets the reference to the audio component controlled by the AudioAnalyzerManager. This Audio Component can contain only an AudioAnalyzerSoundWave object as audio source

Audio Component

Audio Component reference

Unlink Audio Component
Removes the audio component reference from the AudioAnalyzerManager
Link Audio Component is needed to add the reference of external audio components. If we are using nodes of AudioAnalyzerSoundWave class that returns an audio component, like SpawnSound2D, we don’t need to link this audio component to the AudioAnalyzerManager again.
doc_audiocomponent_init_bp_setsound

AudioComponent playback controls

doc_audiocomponent_controls_ctx
We need to wrap the playback nodes of Audio Component to sync the playback an analysis nodes. Other nodes that doesn’t affect to the position of the audio buffer, like SetVolumeMultiplier or SetPitchMultiplier, can be used directly with the Audio Component.
doc_audiocomponent_controls_bp_play
Play Audio Component
Starts Audio Component playback, n loops from StartTime seconds

Loops

Number of loops, (0 Infinite)

StartTime

Starting position in seconds

Stop Audio Component
Stops Audio Component playback
Async Stop Audio Component
Stops audio playback and triggers OnAudioComponentStopFinished event when the thread stops generating audio, useful when we want to use the same sound wave again.
Is Audio Component Playing
Returns audio component playing state
Get Audio Component Remaining Loops
Returns the number of remaining loops to be played
doc_audiocomponent_controls_bp_pause
Pause Audio Component
Pauses Audio Component playback if the device is playing. UnPauses Audio Component playback if the device has been paused previously
Set Paused Audio Component
Sets the Audio Component state on pause/unpause state.

Pause

New pause state

Is Audio Component Paused
Returns Audio Component pause state
doc_audiocomponent_controls_bp_time
Get Audio Component Playback Time
Returns current audio component playback position
Set Audio Component Playback Time
Sets current Audio Component playback position.

Progress

New playback position in seconds

Get Total Duration
Returns total Audio Component playback duration

AudioComponent Events

doc_audiocomponent_events_ctx

We can track some event related with the audio playback, like the end of a loop or the total file playback end.

AudioComponent Utils

doc_audiocomponent_utils_ctx

Some Audio Component related extra functions. All utils nodes of Extractor class can be used after a soundwave have been constructed.

doc_audiocomponent_utils_bp_ref
Get Linked Audio Component
Returns the reference to the Audio Component linked in the AudioAnalyzerManager.
doc_extractor_utils_bp
Get Audio Metadata
Returns metadata if the file has the info.

Filename

Filename of the audio file

Extension

Extension of the audio file

MetaType

ID3_V1 , ID3_V2.3 , ID3_V2.4

Title

Title of the song

Artist

Artist

Album

Album

Year

Year

Genre

Genre

Get Audio Metadata Art
Extract the AlbumArt pictures into the selected folder. The format of the file name will be {Prefix}{number_of_file}.{image_extension}. Prefix1.png, Prefix2.png,…

Prefix

Prefix used to name the pictures

Folder

Destination folder, must exists

Number of files

Number of stored pictures

Bindable events

doc_audiocomponent_events_bp_finish
On Audio Component Playback Finished
Event to track the Audio Component playback end. Triggered when the playback reaches the end of the file. All loops has been played.
On Audio Component Playback Loop Finished
Event to track the Audio Component loop playback end. Triggered when the playback reaches the end of one loop.
On Audio Component Stop Finished
Event to track the Audio Component stop. Triggered when the thread stops generating audio.
doc_audiocomponent_resume_bp

Manager Utils

doc_manager_utils_ctx

Some extra functions that can be used without an audio source

doc_manager_utils_bp_project_android
Get Android Project Folder
Returns the installation directory of the project on Android platform
doc_manager_utils_bp_project
Get Folder Files
Returns a list with the name of the files of a folder and if it is a valid folder.

Folder path

Path to the folder

Extension

Extension filter

doc_manager_utils_bp_create_dir
Create Directory Tree
Create folder and subfolders if not exists.

Folder path

Path to the folder

Folder Exists
Returns if the folder exists.

Folder path

Path to the folder

Delete Folder
Delete specific folder. Can check if the folder is empty before be deleted.

Folder path

Path to the folder

Only If Empty

Delete the folder only if has no files inside

doc_manager_utils_bp_delete_folder
Delete Folder Files By Extension
All files with the selected extension will be erased. With empty extension all files will be erased.

Folder path

Path to the folder

Extension

Extension filter

Delete Folder Files By Filename
All files that match with any filename of the File Names array will be deleted.

Folder path

Path to the folder

File Names

File names container

doc_manager_utils_bp_devices
Get Output Audio Devices
Returns a list with the name of available audio devices to play audio
Get Input Audio Devices
Returns a list with the name of available audio devices to capture audio
doc_manager_utils_bp_metadata
Set Enable Metadata Load
Disables or enables metadata information load when the audio is decoded. Is enabled by default.

Enable Metadata Load

Enable metadata information load

doc_manager_utils_bp_async
Is Async Init Audio Running
Returns if there is any initialization AsyncTask running

Input nodes flow

Once the audio input source has been initializated any control node can be used to modify the audio playback

doc_flow_graph_input