unreal.SoundSubmix

class unreal.SoundSubmix(outer: Object | None = None, name: Name | str = 'None')

Bases: SoundSubmixWithParentBase

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

C++ Source:

  • Module: Engine

  • File: SoundSubmix.h

Editor Properties: (see get_editor_property/set_editor_property)

  • ambisonics_plugin_settings (SoundfieldEncodingSettingsBase): [Read-Write] Optional settings used by plugins which support ambisonics file playback.

  • audio_link_settings (AudioLinkSettingsAbstract): [Read-Write] Optional Audio Link Settings Object

  • auto_disable (bool): [Read-Write] Auto-manage enabling and disabling the submix as a CPU optimization. It will be disabled if the submix and all child submixes are silent. It will re-enable if a sound is sent to the submix or a child submix is audible.

  • auto_disable_time (float): [Read-Write] The minimum amount of time to wait before automatically disabling a submix if it is silent. Will immediately re-enable if source audio is sent to it.

  • child_submixes (Array[SoundSubmixBase]): [Read-Only] Child submixes to this sound mix

  • dry_level_modulation (SoundModulationDestinationSettings): [Read-Write] The dry level of the submix in Decibels. Applied before submix effects and analysis are performed.

  • envelope_follower_attack_time (int32): [Read-Write] The attack time in milliseconds for the envelope follower. Delegate callbacks can be registered to get the envelope value of sounds played with this submix.

  • envelope_follower_release_time (int32): [Read-Write] The release time in milliseconds for the envelope follower. Delegate callbacks can be registered to get the envelope value of sounds played with this submix.

  • is_dynamic (bool): [Read-Write] Is Submix Dynamic. (i.e. allows connect/disconnect at runtime.) *

  • mute_when_backgrounded (bool): [Read-Write] Mute this submix when the application is muted or in the background. Used to prevent submix effect tails from continuing when tabbing out of application or if application is muted.

  • on_submix_recorded_file_done (OnSubmixRecordedFileDone): [Read-Write] Blueprint delegate for when a recorded file is finished exporting.

  • output_volume_modulation (SoundModulationDestinationSettings): [Read-Write] The output volume of the submix in Decibels. Applied after submix effects and analysis are performed.

  • parent_submix (SoundSubmixBase): [Read-Only]

  • send_to_audio_link (bool): [Read-Write] Whether to send this Submix to AudioLink (when AudioLink is Enabled)

  • submix_effect_chain (Array[SoundEffectSubmixPreset]): [Read-Write]

  • wet_level_modulation (SoundModulationDestinationSettings): [Read-Write] The wet level of the submixin Decibels. Applied after submix effects and analysis are performed.

add_envelope_follower_delegate(world_context_object, on_submix_envelope_bp) None

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

Parameters:
  • world_context_object (Object) –

  • on_submix_envelope_bp (OnSubmixEnvelopeBP) – Event to fire when new envelope data is available.

add_spectral_analysis_delegate(world_context_object, band_settings, on_submix_spectral_analysis_bp, update_rate=10.000000, decibel_noise_floor=-40.000000, do_normalize=True, do_auto_range=False, auto_range_attack_time=0.100000, auto_range_release_time=60.000000) None

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

Parameters:
  • world_context_object (Object) –

  • band_settings (Array[SoundSubmixSpectralAnalysisBandSettings]) – The frequency bands to analyze and their envelope-following settings.

  • on_submix_spectral_analysis_bp (OnSubmixSpectralAnalysisBP) – Event to fire when new spectral data is available.

  • update_rate (float) – How often to retrieve the data from the spectral analyzer and broadcast the event. Max is 30 times per second.

  • decibel_noise_floor (float) – Decibel Noise Floor to consider as silence when using a Decibel Spectrum Type.

  • do_normalize (bool) – If true, output band values will be normalized between zero and one.

  • do_auto_range (bool) – If true, output band values will have their ranges automatically adjusted to the minimum and maximum values in the audio. Output band values will be normalized between zero and one.

  • auto_range_attack_time (float) – The time (in seconds) it takes for the range to expand to 90% of a larger range.

  • auto_range_release_time (float) – The time (in seconds) it takes for the range to shrink to 90% of a smaller range.

property ambisonics_plugin_settings: SoundfieldEncodingSettingsBase

[Read-Write] Optional settings used by plugins which support ambisonics file playback.

Type:

(SoundfieldEncodingSettingsBase)

[Read-Write] Optional Audio Link Settings Object

Type:

(AudioLinkSettingsAbstract)

property dry_level_modulation: SoundModulationDestinationSettings

[Read-Write] The dry level of the submix in Decibels. Applied before submix effects and analysis are performed.

Type:

(SoundModulationDestinationSettings)

property envelope_follower_attack_time: int

[Read-Write] The attack time in milliseconds for the envelope follower. Delegate callbacks can be registered to get the envelope value of sounds played with this submix.

Type:

(int32)

property envelope_follower_release_time: int

[Read-Write] The release time in milliseconds for the envelope follower. Delegate callbacks can be registered to get the envelope value of sounds played with this submix.

Type:

(int32)

property mute_when_backgrounded: bool

[Read-Only] Mute this submix when the application is muted or in the background. Used to prevent submix effect tails from continuing when tabbing out of application or if application is muted.

Type:

(bool)

property on_submix_recorded_file_done: OnSubmixRecordedFileDone

[Read-Write] Blueprint delegate for when a recorded file is finished exporting.

Type:

(OnSubmixRecordedFileDone)

property output_volume_modulation: SoundModulationDestinationSettings

[Read-Write] The output volume of the submix in Decibels. Applied after submix effects and analysis are performed.

Type:

(SoundModulationDestinationSettings)

remove_spectral_analysis_delegate(world_context_object, on_submix_spectral_analysis_bp) None

Remove a spectral analysis delegate.

Parameters:

[Read-Write] Whether to send this Submix to AudioLink (when AudioLink is Enabled)

Type:

(bool)

set_submix_dry_level(world_context_object, dry_level) None

Sets the output volume of the submix in linear gain. This dynamic level acts as a multiplier on the DryLevel property of this submix.

Parameters:
  • world_context_object (Object) –

  • dry_level (float) –

set_submix_output_volume(world_context_object, output_volume) None

Sets the output volume of the submix in linear gain. This dynamic volume acts as a multiplier on the OutputVolume property of this submix.

Parameters:
  • world_context_object (Object) –

  • output_volume (float) –

set_submix_wet_level(world_context_object, wet_level) None

Sets the output volume of the submix in linear gain. This dynamic level acts as a multiplier on the WetLevel property of this submix.

Parameters:
  • world_context_object (Object) –

  • wet_level (float) –

start_envelope_following(world_context_object) None

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

Parameters:

world_context_object (Object) –

start_recording_output(world_context_object, expected_duration) None

Start recording the audio from this submix.

Parameters:
  • world_context_object (Object) –

  • expected_duration (float) –

start_spectral_analysis(world_context_object, fft_size=FFTSize.DEFAULT_SIZE, interpolation_method=FFTPeakInterpolationMethod.LINEAR, window_type=FFTWindowType.HANN, hop_size=0.000000, spectrum_type=AudioSpectrumType.MAGNITUDE_SPECTRUM) None

Start spectrum analysis of the audio output.

Parameters:
stop_envelope_following(world_context_object) None

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

Parameters:

world_context_object (Object) –

stop_recording_output(world_context_object, export_type, name, path, existing_sound_wave_to_overwrite=None) None

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

Parameters:
stop_spectral_analysis(world_context_object) None

Stop spectrum analysis of the audio output.

Parameters:

world_context_object (Object) –

property submix_effect_chain: None

[Read-Only]

Type:

(Array[SoundEffectSubmixPreset])

property wet_level_modulation: SoundModulationDestinationSettings

[Read-Write] The wet level of the submixin Decibels. Applied after submix effects and analysis are performed.

Type:

(SoundModulationDestinationSettings)