It's impossible to set a volume on an EffectSound immediately after creation resulting in a !LOUD! BURst of audio until volume can be set sometime later.
This code from the engine (effectsound.c) looks incorrect as it sets volume to maximum (1.0) if there is no fade in on the next frame.
override void Event_OnFrameUpdate(float time_delta) { ... // FadeIn if ( m_SoundWaveStarting ) { if ( m_SoundFadeInDuration > 0 ) { SetSoundVolume( GetSoundVolume() + (time_delta / m_SoundFadeInDuration) ); if ( GetSoundVolume() >= m_SoundWaveVolumeMax ) { Event_OnSoundFadeInStopped(); SetSoundVolume( m_SoundWaveVolumeMax ); m_SoundWaveStarting = false; } } else { SetSoundVolume( m_SoundWaveVolumeMax ); m_SoundWaveStarting = false; } }