Three independent audio layers operate simultaneously, each with its own technology and purpose.
Native Web Audio API synthesiser for real-time game sound effects. No samples — all sounds generated from oscillators, noise buffers, and filters.
| Sound | Type | Frequency | Duration |
|---|---|---|---|
| Engine Hum | Sawtooth + lowpass 100Hz | 30-80 Hz (speed-responsive) | Continuous |
| Shoot | Triangle sweep | 800 → 100 Hz | 0.3s |
| Explosion | White noise + lowpass 1kHz | Broadband | 0.5s |
| Lock Tone | Square wave | 1,200 Hz | 0.1s |
| Lock Acquired | Double beep | 2,000 Hz | 0.2s |
49 named sounds (menuConfirm, levelUp, death, coin, laser, etc.) with all parameters derived O(1) from (soundName, worldSeed) via hash chain. 100% deterministic — no Math.random(). Same seed always produces identical audio.
Supports 3 synthesis styles: tonal (pitched oscillator), noisy (filtered noise), and arpeggio (multi-note chord patterns). Each with full ADSR envelopes, filters, echo, and bit-crush effects.
ZeroSystem: ZeroBytes (hash → waveform, frequency, envelope, filter, effects)
ZeroSounds Apache 2.0
Howler.js-based file playback with crossfading between tracks and context-aware playlist switching. Music volume is independent of SFX master volume.
MusicManager Apache 2.0
| Game Status | Music Context |
|---|---|
| Menu / Hangar / Settings / Pause | menu |
| Playing (exploration) | exploration |
| Mission Complete / Victory | victory |
| Game Over | menu |
Crossfade duration: 2 seconds. Tracks advance automatically through the playlist with optional intra-track crossfade.
Music by JXHNSXNT. Selectable in Settings > Audio > MUSIC STATION.
9 tracks. Latin-flavoured electronic. 2 menu, 2 exploration, 2 combat, 2 boss, 1 victory.
13 tracks. Eastern-European cyberpunk. 3 menu, 3 exploration, 3 combat, 2 boss, 2 victory.
10 tracks. Minimal industrial. 2 menu, 2 exploration, 2 combat, 2 boss, 2 victory.
Voice lines generated via KokoroTTS ONNX inference on the Tauri Rust backend (or fallback oscillator synthesiser). Pre-baked during the loading screen into an in-memory PCM cache. Playback during gameplay is fully synchronous — zero awaits, zero frame drops.
ZeroSystem: ZeroVoice (xxHash64 position → voice derivation)
ZeroSpeech Apache 2.0
The speech system is divided into structured pools, each with its own voice profile and ring modulation preset:
| Pool | Slots | Profile | Ring Preset | Status |
|---|---|---|---|---|
| Goon | 10 | goon-pilot.json | Classic Dalek | Active — enemy combat taunts |
| Persona | 10 | fleetcarrier-profile.json | Alien Radio | Active — Fleet Carrier ATC |
| Narrator | 10 | (reserved) | (reserved) | Reserved |
| Menu | 2 | (reserved) | (reserved) | Reserved |
Cybernetic pilot taunts triggered by enemy proximity (250 units, 3-second cooldown). Ring modulation applies "Classic Dalek" radio effect. Cold, clipped, machine-certain register.
The UNF ALBATROSS broadcasts ATC-style allied chatter every 60 seconds during gameplay (first broadcast at 5 seconds). Uses "Alien Radio" ring preset for distinct carrier command channel flavour. 8 broadcast categories themed to the Paradistro megastructure:
Carrier systems, fleet condition, sensor updates.
Biome transitions, lattice density, structural anomalies.
Sector sweeps, threat assessment, all-clear reports.
Contact reports, tactical updates, weapons authorization.
Flight deck ops, maintenance, logistics status.
Supreme echoes, archive transmissions, builder mythology.
Fleet encouragement, recognition, covenant solidarity.
Landing guidance, deck status, recovery ops.
~800,000+ unique callout combinations across all categories via the ZeroResponse template + pool system.
ZeroSystem: ZeroResponse (template + pool selection via hash, profile-driven, O(1) per line)