Audio Change Log
GS_Audio version changelog.
Categories:
Logs
Audio 0.7.0
GS_Audio is now the free tier of the audio system. The visual authoring, music, voice and geometric acoustics features moved to GS_AudioPro; everything below is what the free gem carries.
Audio Events
GS_AudioEventis now an abstract base, and event libraries hold a polymorphic list — the type dropdown offers every registered event kind.GS_AudioEvent_Pool— a pool of sound assets, one picked at random per fire.GS_AudioEvent_Noise— procedural noise with selectable colour and duration.GS_AudioEvent_Sfxr— procedural chiptone driven by a pool of.sfxrprofileassets.- Shared machinery on the base: pooling, concurrency limits, re-fire suppression, distance settings, 3D tracking and spatialization back-end resolution.
- Extension hooks for writing a new event source, with the asset hooks optional so generators need only three methods.
RerouteSoundsre-points pooled and future instances when a mix target registers late.
SFXR Sound Profiles
- New
.sfxrprofileasset — 24 parameters describing one procedural sound. - Import from sfxr.me / jsfxr by pasting the Serialize JSON.
- 27 profiles ship with the gem: 7 canonical presets and 20 named custom sounds.
Mixing and Mix Effects
MixEffectComponent— an ordered effect chain registered under a name, with a configurable output target.- 22 mix effect types: 7 biquad filters, Echo, Reverb, Binaural, 8 character and modulation effects, and 4 utility effects.
- Named routing shared with volume channels, so a source targets either by name.
- Order-independent wiring — a chain pointing at a target that does not exist yet resolves when it registers.
- Runtime control:
RerouteMixEffect,SetMixEffectParam,SetMixEffectParamOn, plus manual registration and wiring.
Spatialization
- Steam Audio integration, vendored and loaded at runtime.
- Per-voice HRTF binaural placement, recomputed each frame, replacing the built-in spatializer rather than stacking with it.
- Distance attenuation and air absorption via Steam’s direct effect.
- Bounded distance curve — the direct signal reaches true silence at max distance, and the reverb send eases to zero over the last quarter of the range.
- HRTF interpolation modes, HRTF volume, and frame-size mode with an automatic match to the device period.
Audio Manager
GS_AudioProjectSettingsreflected on the manager, making the component panel the configuration surface.- The authoritative listener now supports split targets — position from one entity, facing from another, for third-person games.
- Listener target defaults to the manager entity with a warning when unset.
- Accessor surface for GS_AudioPro: engine, node graph, endpoint, mixing buses, Steam Audio context, HRTF and frame size.
- Spatial-simulator registration and reverb send, null in a base-only install.
- Options apply targets for master volume and named volume channels.
- The base manager no longer ticks.
Debug
GS_AudioImGuiDebugComponent— an Audio Mixer window with master and per-channel sliders.
Audio 0.6.0
Audio Event Graph
- Visual node-based editor for authoring complex sound events using the gs_graphcanvas framework (DataFlowGraph topology).
- Entry nodes (Start/Loop/Finish) for phase-gated audio lifecycle.
- Source nodes:
Aud_SoundNode,Aud_AudioPoolNode— single and pooled audio playback with volume, pitch, delay, looping, and 3D spatialization. - Filter nodes: LowPass, HighPass, BandPass, Notch, PeakingEQ, LowShelf, HighShelf — miniaudio filter processing.
- Effect nodes:
Aud_EchoNode,Aud_DelayNode. - Routing via gs_graphcanvas built-in IfNode and SwitchNode for conditional audio paths.
Aud_OutputNodeterminal wiring to mixing bus.- Variable-driven sound control — runtime variable API for filter parameters, routing, and source selection.
AudioGraphTemplateCache— graph instance pooling and caching per asset path.AudioSoundPool—ma_soundpooling with claim/release pattern, configurable pad and trim thresholds.AudioFilterPool— filter node pooling by type.- Phase lifecycle management (Start/Loop/Finish) with
TransitionToPhase(). - Runtime API:
PlayAudioGraph,AcquireAudioGraph,FireAudioGraph,StopAudioGraph,FinishAudioGraph,SetAudioGraphVariable*,SetAudioGraphLooping,SetAudioGraphEntity,SetAudioGraphPosition,StopAudioGraphFade. - 3D spatialization per-instance via
AudioGraphSpatialMode(None, Position, Entity).
Audio 0.5.0
First official base release of GS_Audio.
Audio Manager
GS_AudioManagerComponent— audio engine lifecycle management, event library loadingAudioManagerRequestBus/AudioManagerNotificationBus- Master volume control and engine-level audio settings
Audio Events
AudioEventLibraryasset — pools of named audio eventsGS_AudioEvent— pool selection, concurrent instance limiting, and 3D spatializationAudioManagerRequestBusplayback interface
Mixing & Effects
GS_MixingBus— mixing bus component with configurable effects chain- Filters, EQ, and environmental influence effects per bus
Score Arrangement
ScoreArrangementTrack— multi-layer music systemScoreLayer— individual music layers toggled by gameplay stateTimeSignaturesenum for bar-aligned transitions
Klatt Voice Synthesis
KlattVoiceSystemComponent— shared SoLoud engine, 3D listener managementKlattVoiceComponent— per-entity text-to-speech with phoneme mapping and segment queueKlattVoiceRequestBus/KlattVoiceNotificationBus/KlattVoiceSystemRequestBus- Full 3D spatial voice audio with configurable voice parameters