Skip to content
Oznogon edited this page Jun 23, 2026 · 1 revision

EmptyEpsilon supports background music playback and multi-channel positional audio, decoded via stb_vorbis and its own WAV parser.

Music must be Ogg Vorbis (.ogg). Sound effects support both Ogg Vorbis and 16-bit uncompressed PCM WAV (.wav, mono or stereo).

All audio preferences are configured in the Preferences file (options.ini), and some sound effects can be themed using the GUI theming system.

Sound types

Positional sounds

Sounds that originate from specific locations in the game world attenuate with distance from the listener. These include beam weapons, explosions, missile launches, and engine sounds.

Impulse engine sound

A looping engine sound that varies in pitch and volume with the ship's impulse engine state. The sound file defaults to sfx/engine.wav but can be overridden per ship template via the ImpulseEngine component's sound property.

The impulse sound:

  • Increases in volume and pitch with engine output.
  • Scales with the impulse_sound_volume Preferences file option.
  • Silences when engines are unpowered or damaged, or when the ship has no impulse system.

Utility beam sound

A looping sound that plays while firing the utility beam. The sound file is defined by the GUI theming utility_beam.active style. It fades in when the beam starts firing and fades out when it stops, with pitch and volume scaling based on the beam system's effectiveness.

Music

Background music is played from Ogg Vorbis (.ogg) sound files loaded as resource files. Music can play a single track or a shuffled set of tracks. The music manager handles crossfading between tracks.

3D audio

Positional audio uses the listener's position (typically the player's ship) and attenuates sound volume based on distance. This is managed by SoundManager in SeriousProton and applies to all sound effects with a world position.

Positional sound is automatically enabled when a 3D view, such as the main screen or cinematic camera, is rendered. It is disabled on 2D views.

Clone this wiki locally