Mixing & Effects

Named audio mixing buses with configurable effects chains, environmental influence, and 9 built-in audio filter types.

GS_Audio provides a named mixing bus system built on custom MiniAudio nodes. Each GS_MixingBus is a node in the audio graph with its own volume level and an optional chain of audio filters. Buses are configured in the Audio Manager Inspector and can be controlled at runtime through the mixing request bus.

The effects system includes 9 built-in filter types covering frequency shaping, equalization, delay, and reverb. Environmental influence effects allow game world volumes (rooms, weather zones) to push effects onto buses with priority-based stacking.

For usage guides and setup examples, see The Basics: GS_Audio.

Contents


GS_MixingBus

Custom MiniAudio node for mixing and effects processing.

FieldValue
TypeId{26E5BA8D-33E0-42E4-BBC0-6A3B2C46F52E}

API Reference

Request Bus: GS_MixingRequestBus

Mixer control commands. Singleton bus – Single address, single handler.

MethodParametersReturnsDescription
SetBusVolumeconst AZStd::string& busName, float volumevoidSets the volume of a named mixing bus (0.0 to 1.0).
GetBusVolumeconst AZStd::string& busNamefloatReturns the current volume of a named mixing bus.
MuteBusconst AZStd::string& busName, bool mutevoidMutes or unmutes a named mixing bus.
IsBusMutedconst AZStd::string& busNameboolReturns whether a named mixing bus is currently muted.
ApplyBusEffectsconst AZStd::string& busName, const AudioBusEffects& effectsvoidApplies an effects chain to a named mixing bus, replacing any existing effects.
ClearBusEffectsconst AZStd::string& busNamevoidRemoves all effects from a named mixing bus.
PushInfluenceEffectsconst AZStd::string& busName, const AudioBusInfluenceEffects& effectsvoidPushes environmental influence effects onto a bus with priority stacking.
PopInfluenceEffectsconst AZStd::string& busName, int priorityvoidRemoves influence effects at the specified priority level from a bus.

Audio Filters

All 9 built-in filter types. Each filter is configured as part of an effects chain applied to a mixing bus.

FilterTypeDescription
GS_LowPassFilterFrequency cutoffAttenuates frequencies above the cutoff point. Used for muffling, distance simulation, and underwater effects.
GS_HighPassFilterFrequency cutoffAttenuates frequencies below the cutoff point. Used for thinning audio, radio/telephone effects.
GS_BandPassFilterBand isolationPasses only frequencies within a specified band, attenuating everything outside. Combines low-pass and high-pass behavior.
GS_NotchFilterBand removalAttenuates frequencies within a narrow band while passing everything outside. The inverse of band-pass.
GS_PeakingEQFilterBand boost/cutBoosts or cuts frequencies around a center frequency with configurable bandwidth. Used for tonal shaping.
GS_LowShelfFilterLow frequency shelfBoosts or cuts all frequencies below a threshold by a fixed amount. Used for bass adjustment.
GS_HighShelfFilterHigh frequency shelfBoosts or cuts all frequencies above a threshold by a fixed amount. Used for treble adjustment.
GS_DelayFilterEcho/delayProduces delayed repetitions of the input signal. Configurable delay time and feedback amount.
GS_ReverbFilterRoom reverbSimulates room acoustics by adding dense reflections. Configurable room size and damping.

Data Structures

BusEffectsPair

Maps a bus name to an effects chain configuration. Used in the Audio Manager’s Inspector to define per-bus effects at design time.

FieldValue
TypeId{AD9E26C9-C172-42BF-B38C-BB06FC704E36}
FieldTypeDescription
Bus NameAZStd::stringThe name of the mixing bus this effects chain applies to.
EffectsAudioBusEffectsThe effects chain configuration for this bus.

AudioBusEffects

A collection of audio filter configurations that form an effects chain on a mixing bus.

FieldValue
TypeId{15EC6932-1F88-4EC0-9683-6D80AE982820}
FieldTypeDescription
FiltersAZStd::vector<AudioFilter>Ordered list of audio filters applied in sequence.

AudioBusInfluenceEffects

Environmental effects with priority-based stacking. Game world volumes (rooms, weather zones, underwater areas) push influence effects onto mixing buses. Higher priority influences override lower ones.

FieldValue
TypeId{75D039EC-7EE2-4988-A2ED-86689449B575}
FieldTypeDescription
PriorityintStacking priority. Higher values override lower values when multiple influences target the same bus.
EffectsAudioBusEffectsThe effects chain to apply as an environmental influence.

See Also

For conceptual overviews and usage guides:

For component references:

  • Audio Manager – Master controller that owns the mixing bus graph

For related resources:

  • Audio Events – Events route their output through mixing buses

Get GS_Audio

GS_Audio — Explore this gem on the product page and add it to your project.