From f2776885c993ab3e590d5ff6c577ca9ff8db81a2 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 4 Sep 2026 08:32:36 -0700 Subject: [PATCH] Implement Phase 1 audio gaps: 20 quick-win procedural sounds and ambient loops - 18 low + 2 low-medium discrete elements (comm badge, door swishes, bosun whistle, sickbay ECG, TARDIS lever/door, Sevastopol sparks, commlock tone, station ECG, solar roar, cryo sigh, Orion thump, tea dispenser, kettle whistle, plaid alarm, cassette transport, grappler servo, radio static, mag-boot latch) with soundboard buttons, preset tuning, and automated background loops - bio-wraith misty life-support tuning; sound_reference.md and audio_gaps.md implementation tracking - gitignore audition scratch and local artifacts --- .gitignore | 3 + audio_gaps.md | 176 ++ css/style.css | 56 + index.html | 2 +- js/app.js | 211 ++- js/audio.js | 1513 ++++++++++++++++- js/config.js | 211 ++- sound_reference.md | 3852 ++++++++++++++++++++++++++++++++++++++++++-- 8 files changed, 5760 insertions(+), 264 deletions(-) create mode 100644 .gitignore create mode 100644 audio_gaps.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b50172e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.abacusai/ +artifacts/ +phase2_audition_*.html diff --git a/audio_gaps.md b/audio_gaps.md new file mode 100644 index 0000000..197be18 --- /dev/null +++ b/audio_gaps.md @@ -0,0 +1,176 @@ +# Audio Implementation Gaps & Procedural Synthesis Backlog + +This document consolidates all procedural audio gaps, missing discrete sound effects, and atmospheric enhancements identified across the 10 universe themes in [sound_reference.md](sound_reference.md). + +Its purpose is to serve as an actionable, prioritized implementation roadmap for future procedural audio synthesis passes in js/audio.js and js/config.js, organized strictly by **implementation difficulty** to enable structured sprints—from immediate quick wins to complex multi-oscillator synthesis engines. + +--- + +## 1. Master Gaps Table (Sorted by Difficulty) + +The table below catalogs all **54 discrete sound gaps** identified across the 10 sci-fi universes, sorted in ascending order of technical implementation difficulty: +1. **Low** (16 items) — Immediate quick wins: discrete envelope triggers, simple frequency glides, noise bursts, filtered transients, and klaxons. +2. **Low–Medium** (2 items) — Simple compound one-shots (e.g., impact + electrical buzz, friction creak + mechanical latch). +3. **Medium** (25 items) — Multi-oscillator patches, resonant filter sweeps, LFO-modulated continuous beds, and procedural loop parameters. +4. **Medium–High** (2 items) — Multi-voice textured noise beds and bespoke telemetry state engines. +5. **High** (9 items) — Multi-stage complex audio state machines, cascaded oscillator chains, mechanical rhythm generators, and full universe telemetry router overhauls. + +| # | Element / Sound | Theme | Ship(s) / Source Work | Description & Acoustic Rationale | Implementation Method & Runtime Trigger Conditions | Priority | Difficulty | Status | +|---|---|---|---|---|---|---|---|:---:| +| 1 | **Comm badge chirp** | Star Trek | TNG, VOY (Galaxy, Intrepid) | The most recognizable discrete sound in Star Trek; short, bright, iconic two-tone confirmation chirp. | `ExpandedSciFiAudioSynth.synthesizeCommBadge()` & `TelemetrySynth.synthesizeCommBadge()`.
• **Soundboard:** Starfleet keypad (`btn-comm-badge`).
• **Ambient Loop:** Scheduled randomly in background Starfleet bridge telemetry during `tng`/`voyager` playback (8–10% probability). | High | **Low** | **Implemented** | +| 2 | **Door swish** | Star Trek | TOS, TNG, VOY, ENT | Pneumatic air-release door cycle. Four distinct era variants derivable from one base noise generator with altered envelope slopes. | `ExpandedSciFiAudioSynth.synthesizeDoorSwish(era)`.
• **Soundboard:** Starfleet keypad (`btn-door-swish`).
• **Dynamic Tuning:** Automatically adapts bandpass center frequency, filter Q, and decay duration to the active ship preset's era (`tos`, `tng`, `voyager`, `nx`). | High | **Low** | **Implemented** | +| 3 | **Bosun's whistle** | Star Trek | TOS (USS Enterprise) | Traditional naval two-tone pipe whistle heralding command announcements on 23rd-century Starfleet vessels. | `ExpandedSciFiAudioSynth.synthesizeBosunWhistle()`.
• **Soundboard:** Starfleet keypad (`btn-bosun-whistle`). Swept sine glide (1800 to 2400 Hz) with 6.5 Hz tremolo. | Medium | **Low** | **Implemented** | +| 4 | **Medical monitor (Sickbay ECG)** | Star Trek | TNG, VOY | Calm, periodic rhythmic vital signs pulse indicating stable bio-function in starship sickbays. | `ExpandedSciFiAudioSynth.synthesizeMedicalMonitor()`.
• **Soundboard:** Starfleet keypad (`btn-medical-monitor`).
• **Ambient Loop:** Activated automatically as a periodic 1.15s pulse (`startMedicalMonitor`) whenever medical/sickbay presets are engaged. | Medium | **Low** | **Implemented** | +| 5 | **Lever-throw clunk** | Whoniverse | All TARDIS Console Rooms | Tactile, heavy mechanical lever throw preceding dematerialization and time rotor engagement. | `WhoniverseAudioSynth.synthesizeLeverClunk()`.
• **Soundboard:** TARDIS controls (`btn-lever-clunk`). Hard square wave transient click (80 Hz) paired with a dull highpass pink noise thump. | High | **Low** | **Implemented** | +| 6 | **Misty-atmosphere life-support tuning** | Bioships | Wraith Hive Ship | Low-lying, humid corridor moisture and condensation clinging to organic interior bulkheads. | Preset tuning in `js/config.js` (`StarshipPresets['bio-wraith'].lifeSupport`).
• **Ambient Loop:** Continuously active in `LifeSupportSynth` during `bio-wraith` preset playback (lowpass filter cutoff at 900 Hz, slow 0.06 Hz airflow modulation, depth 0.22). | Medium | **Low** | **Implemented** | +| 7 | **Sevastopol "spark" transient** | Space Stations | Sevastopol Station (*Alien: Isolation*) | Intermittent, high-voltage electrical discharge arcs jumping across damaged station conduits. | `ExpandedSciFiAudioSynth.synthesizeSevastopolSpark()`.
• **Soundboard:** Station ops (`btn-sevas-spark`).
• **Ambient Loop:** Automatic background discharge routine (`startStationSparks`) firing randomized highpass spark clusters every 4–11 seconds while `sta-sevastopol` preset is active. | High | **Low** | **Implemented** | +| 8 | **Commlock calling tone** | Space Stations | Moonbase Alpha (*Space: 1999*) | The iconic dual-frequency beep sequence emitted when paging staff via handheld Alpha commlocks. | `ExpandedSciFiAudioSynth.synthesizeCommlockTone()`.
• **Soundboard:** Station ops (`btn-commlock`). Dual square-wave pulse sequence (1100 Hz for 60 ms, 1500 Hz for 75 ms). | Medium | **Low** | **Implemented** | +| 9 | **Medical vital telemetry (ECG)** | Space Stations | Gateway Station (*Aliens*) | Sterile clinical heart rate monitor chirp in quarantine medical suites. | `ExpandedSciFiAudioSynth.synthesizeStationMedicalPing()`.
• **Soundboard:** Station ops (`btn-station-ecg`).
• **Ambient Loop:** Automated 1.15s periodic vital telemetry loop (`startMedicalMonitor`) engaged while `sta-gateway` quarantine medical preset is active. | Low | **Low** | **Implemented** | +| 10 | **Solar radiation / heat shield roar** | Deep Space | Icarus II (*Sunshine*) | Terrifying low-frequency sonic roar of intense solar wind deflectors grazing the solar corona. | `ExpandedSciFiAudioSynth.synthesizeSolarRoar()`.
• **Soundboard:** Void console (`btn-solar-roar`).
• **Scripted Event:** Triggered via Deep Space universe event button `btn-solar-swell` ("SOLAR SHIELD SWELL"). Lowpass brown noise body (160 Hz) with 3.6s swell and highpass crackle. | Medium | **Low** | **Implemented** | +| 11 | **Cryogenic pod depressurization sigh** | Deep Space | Avalon, The Ark One | Pneumatic gas pressure relief followed by motorized seal depressurization when waking colonists. | `ExpandedSciFiAudioSynth.synthesizeCryoDepressurize()`.
• **Soundboard:** Void console (`btn-cryo-sigh`). Swept lowpass noise depressurization (1800 to 280 Hz) terminating in a quiet 205 Hz motorized seal hum. | Low | **Low** | **Implemented** | +| 12 | **Mid-century Orion nuclear pulse thump** | Deep Space | USS Ascension (*Ascension*) | Heavy, rhythmic industrial thud of giant mechanical flywheel clutches and nuclear pusher-plate dampeners. | `ExpandedSciFiAudioSynth.synthesizeOrionPulseThump()`.
• **Soundboard:** Void console (`btn-orion-thump`). Heavy 45 Hz lowpass square impulse with 36 Hz sub-bass cabinet resonance. | Low | **Low** | **Implemented** | +| 13 | **Dedicated Tea Dispenser Gurgle** | Comedy & Adventure | Heart of Gold (*Hitchhiker's Guide*) | Comedic liquid bubble, bubbling gurgle, and steam hiss of the Sirius Cybernetics Nutri-Matic machine. | `ExpandedSciFiAudioSynth.synthesizeTeaDispenser()`.
• **Soundboard:** Cheerful keypad (`btn-tea-machine`). 6 bandpass bubbling noise hops (480–960 Hz) terminating in a 2400 Hz steam hiss. | High | **Low** | **Implemented** | +| 14 | **British Electric Kettle Steam Whistle** | Comedy & Adventure | HMS Camden Lock (*Hyperdrive*) | Whistling domestic electric tea kettle echoing down gray naval corridors during red alerts. | `ExpandedSciFiAudioSynth.synthesizeKettleWhistle()`.
• **Soundboard:** Cheerful keypad (`btn-kettle-whistle`). Swept sine oscillator (1820 to 2380 Hz) with 5.2 Hz tremolo. | Low | **Low** | **Implemented** | +| 15 | **Ludicrous Speed "Plaid" Alarm** | Comedy & Adventure | Spaceball One (*Spaceballs*) | Hyperactive, comedic electronic alarm horn sounding when exceeding Ludicrous Speed. | `ExpandedSciFiAudioSynth.synthesizePlaidAlarm()`.
• **Soundboard:** Cheerful keypad (`btn-plaid-alarm`). Rapid alternating square wave siren (440 Hz / 880 Hz, 120 ms bursts across 6 steps). | Low | **Low** | **Implemented** | +| 16 | **Dedicated Cassette Transport Clunk & Whirr** | Outlaw & Frontier | The Milano, Bebop | Spring-loaded mechanical tape deck button click followed by 12V capstan motor whirr. | `ExpandedSciFiAudioSynth.synthesizeCassetteTransport()`.
• **Soundboard:** Outlaw cockpit (`btn-tape-clunk`). Dual square transient click (120 Hz / 360 Hz) followed by 2200 Hz capstan motor tone with 8.2 Hz flutter and pink noise tape bed. | High | **Low** | **Implemented** | +| 17 | **Grappler Arm Servo Motor Whine** | Outlaw & Frontier | Outlaw Star, Bebop | Articulated hydraulic/electric grapple arms extending and clamping onto target vessels. | `ExpandedSciFiAudioSynth.synthesizeGrapplerServo()`.
• **Soundboard:** Outlaw cockpit (`btn-grappler-servo`). Swept triangle wave (220 to 680 Hz) through resonant bandpass filter (Q 3.2). | High | **Low** | **Implemented** | +| 18 | **True RF Radio Static Burst** | Outlaw & Frontier | The Betty, The Marauder | Rugged CB-radio squelch break and atmospheric RF hash between short-range ship comms. | `ExpandedSciFiAudioSynth.synthesizeRadioStatic()`.
• **Soundboard:** Outlaw cockpit (`btn-radio-static`). Bandpass-filtered pink/white noise burst (1400 Hz, Q 1.1, hard-knee 180 ms gate). | High | **Low** | **Implemented** | +| 19 | **TARDIS door open/close** | Whoniverse | All TARDIS Console Rooms | Friction creak of heavy wooden police box exterior doors followed by an iron mortise lock click. | `WhoniverseAudioSynth.synthesizeTardisDoor()`.
• **Soundboard:** TARDIS controls (`btn-tardis-door`). Bandpass friction noise (wood creak, 260 to 540 Hz) layered over dual metallic mortise latch clicks (1100 Hz / 750 Hz). | High | **Low–Medium** | **Implemented** | +| 20 | **Magnetic boot ("mag-boot") latch** | Space Stations | Ceres, Tycho (*The Expanse*) | Heavy physical boot heel impact on iron decking immediately followed by an electromagnetic clamping buzz. | `ExpandedSciFiAudioSynth.synthesizeMagBootLatch()`.
• **Soundboard:** Station ops (`btn-mag-boot`). 80 Hz impact click (30 ms) followed instantly by a 120 Hz square-wave clamping buzz (160 ms decay). | High | **Low–Medium** | **Implemented** | +| 21 | **Cardassian door** | Star Trek | DS9 (Terok Nor) | Oppressive, heavy Cardassian pneumatic bulkheads grinding open along metal gears. | Resonant bandpass filter sweep across brown/pink noise (120 Hz to 650 Hz) layered with a scraping harmonic metallic saw undertone. | High | **Medium** | Backlog | +| 22 | **Turbolift** | Star Trek | TNG, VOY | High-speed magnetic turbolift car passing through deck shafts with a rising whoosh and decelerating settle. | Bandpass-filtered white noise pitch sweep (180 Hz to 450 Hz and back) with resonant boost and soft stereo panning drift. | Medium | **Medium** | Backlog | +| 23 | **Replicator** | Star Trek | TNG, VOY | Molecular dematerialization / materialization shimmer when dispensing food or tools. | High-frequency white noise shimmer (passband 2500–8000 Hz) modulated by a fast sine LFO (30 Hz) with soft ramp decay. | Low | **Medium** | Backlog | +| 24 | **Scanner/monitor activation** | Whoniverse | All TARDIS Console Rooms | Distinctive cathode-ray / crystal scanner screen powering on above the central console. | Rapid upward electronic pitch sweep (sine 200 Hz to 1600 Hz over 120 ms) terminating in a steady 15.6 kHz CRT flyback whine. | Medium | **Medium** | Backlog | +| 25 | **Console "type" input telemetry** | Whoniverse | All TARDIS Console Rooms | Rhythmic, mechanical clatter of physical toggle switches, spring-loaded buttons, and tumbler relays. | Specialized telemetry routine generating clustered wooden/plastic clicks and solenoid snaps rather than tonal beeps. | High | **Medium** | Backlog | +| 26 | **"Singing" resonance element** | Bioships | Vorlon Cruiser (*Babylon 5*) | Ethereal, telepathic crystal harmonics echoing through living Vorlon organic hulls. | Dual detuned sine wave oscillators (528 Hz and 532 Hz) running through a narrow bandpass filter with slow undulating tremolo (0.2 Hz). | High | **Medium** | Backlog | +| 27 | **Neural-bond swell** | Bioships | Moya, Talyn, Wraith Hive | Symbiotic neural link between pilot and bioship swelling during heightened emotional or flight states. | Deep sub-bass triangle wave (55 Hz) sweeping into a resonant vowel-formant filter (350–850 Hz) over 2.5 seconds. | Medium | **Medium** | Backlog | +| 28 | **Hull self-repair / regeneration texture** | Bioships | Wraith Hive Ship | Microscopic organic tissue knit and chitinous shell regrowth during ship recovery phases. | Granular amplitude-modulated pink noise (8–24 Hz modulation rate) creating a quiet, wet, scabbing/cracking textural bed. | Low | **Medium** | Backlog | +| 29 | **Belter "jury-rigged" telemetry era** | Space Stations | Ceres, Tycho (*The Expanse*) | Rattle of loose relays, worn copper contactors, and erratic voltage drops across secondhand station hardware. | Telemetry synthesis routine combining noisy square pulses, contact-bounce jitter, and unstable clock drift. | High | **Medium** | Backlog | +| 30 | **True Hull Strain Moan** | Deep Space | Event Horizon, Ark One, Icarus II | Massive structural groan and creak of stressed titanium and composite bulkheads flexing under gravitational shear. | Resonant bandpass filter sweeping slowly (40 Hz to 220 Hz, high Q) over shaped low-frequency pink noise with asymmetric decay. | High | **Medium** | Backlog | +| 31 | **Icarus I distress beacon** | Deep Space | Icarus II (*Sunshine*) | Eerie, hypnotic modal electronic arpeggio echoing across the void from the ghost ship. | Multi-stage sine arpeggiator playing a haunting 4-note modal sequence through long feedback delay and soft lowpass dampening. | High | **Medium** | Backlog | +| 32 | **Extradimensional / psychic static whisper** | Deep Space | Event Horizon, Nightflyer | Menacing psychoacoustic hallucination burst simulating whispers bleeding through dimensional rifts. | Multi-formant filtered white noise modulated by randomized micro-envelopes, evoking whispered vowels in the 800–2400 Hz range. | Medium | **Medium** | Backlog | +| 33 | **Beryllium Sphere Resonant Thrum** | Comedy & Adventure | NSEA Protector (*Galaxy Quest*) | Deep, glassy, crystalline reactor hum vibrating with pure alien harmonic energy. | Dual pure sine waves (65 Hz + 195 Hz 3rd harmonic) with a slow beating detune and subtle ringing resonant comb filter. | Medium | **Medium** | Backlog | +| 34 | **Omega-13 Temporal Capacitor Whine** | Comedy & Adventure | NSEA Protector (*Galaxy Quest*) | Tremendous temporal capacitor power buildup rising into a deafening dimensional snap. | Deep 40 Hz sub-bass swell exponentially ramping in frequency to 3200 Hz over 3 seconds, culminating in a wide white-noise discharge pop. | High | **Medium** | Backlog | +| 35 | **Repulsorlift Engine Drone** | Outlaw & Frontier | The Marauder (*Star Wars*) | Quintessential atmospheric anti-gravity vehicle wash and repulsor grid drone. | Dual detuned sine wave carrier (68 Hz / 72 Hz) driving an asymmetric overdrive wave-shaper with lowpass filtering at 280 Hz. | Medium | **Medium** | Backlog | +| 36 | **Converted Marine Trawler Engine Chug** | Outlaw & Frontier | Bebop (*Cowboy Bebop*) | Rhythmic, heavy diesel-like marine piston strokes echoing through the Bebop's converted hull. | Periodic low-frequency square pulse (4–8 Hz repetition) passing through an 80 Hz resonant lowpass filter with mechanical piston wheeze. | Medium | **Medium** | Backlog | +| 37 | **Centrifugal Habitat Carousel Motor Groan** | Military Space | EAS Agamemnon (*Babylon 5*) | Low-frequency rotational strain and mechanical bearing hum of the 1 rpm rotating crew carousel. | 16 Hz fundamental sine drone modulated in amplitude by an ultra-slow LFO (0.016 Hz / 60-second full rotation cycle). | Medium | **Medium** | Backlog | +| 38 | **Slipstream Drive Transition Surge** | Military Space | Andromeda Ascendant | Ascending harmonic pitch sweep followed by crystalline string-like resonance upon entering slipstream. | Dual sweeping bandpass filters (200 Hz to 2400 Hz) with escalating resonance Q factor driving a comb-filter shimmer tail. | Medium | **Medium** | Backlog | +| 39 | **Viper Pilot Oxygen Regulator Demand Valve** | Military Space | Colonial Viper Mk II (*BSG*) | Rhythmic breathing hiss and mechanical click of cockpit life-support demand regulator during high-G combat. | Pulsed highpass white-noise envelope (1200–4500 Hz, 1.2s duration) prefixed by a sharp 15 ms mechanical diaphragm click. | Medium | **Medium** | Backlog | +| 40 | **Condensation Pipe Drip & Expansion Ticks** | Industrial Space | USCSS Nostromo, Serenity | Water droplets hitting grated industrial deck plates and irregular metallic pings from cooling steam pipes. | High-Q sine pings (1400–2600 Hz, 10–25 ms decay) triggered on a randomized Poisson probability clock with varied amplitudes. | Medium | **Medium** | Backlog | +| 41 | **High-Pressure Continuous Steam / Boiler Venting** | Industrial Space | Serenity, Starbug | Sustained high-pressure thermal exhaust venting from leaky boiler seals and cooling radiators. | Bandpass-filtered white noise (800–2800 Hz) with continuous slow amplitude swell and random micro-flutter modulation. | Medium | **Medium** | Backlog | +| 42 | **Crash Couch Hydraulic Gimbal / G-Load Strain** | Industrial Space | Rocinante (*The Expanse*) | High-torque hydraulic servos straining and whining as gimbaled couches pivot under 6G burn maneuvers. | Frequency-modulated triangle wave (140 Hz carrier, 35 Hz modulator) with lowpass damping tracking ship acceleration changes. | Medium | **Medium** | Backlog | +| 43 | **HAL 9000 Breathing / Vocal Carrier Ambient Loop** | Retro Future | Discovery One (*2001*) | Chillingly calm, measured human respiration echoing inside Dave Bowman's helmet and HAL's logic core. | Rhythmic bandpass pink noise (450–1100 Hz) modulated with a slow 3.5-second inhalation/exhalation envelope cycle. | Medium | **Medium** | Backlog | +| 44 | **Death Blossom Energy Surge Capacitor Ramp** | Retro Future | Gunstar (*The Last Starfighter*) | Rapid, escalating multi-oscillator power buildup prior to deploying the 360-degree weapons barrage. | Cascaded sawtooth oscillators performing an exponential frequency ramp from 200 Hz to 8000 Hz over 2.5 seconds with rising overdrive. | Medium | **Medium** | Backlog | +| 45 | **Victorian Steam Piston Chug & Iron Camshaft Clatter** | Retro Future | USS Cygnus (*The Black Hole*) | Massive reciprocating iron steam pistons and heavy camshaft linkages turning the Cygnus's cathedral engines. | Lowpass-filtered noise burst synchronized with a heavy 40 Hz triangle body thump and metallic slapback reflection. | Medium | **Medium** | Backlog | +| 46 | **Zocalo commerce-plaza chatter** | Space Stations | Babylon 5 | Bustling multi-species concourse background bed with indistinct alien murmurs and footsteps. | Multi-voice filtered pink noise bed shaped by 4 randomized parallel formant filters (300–3000 Hz) simulating crowd presence. | Low | **Medium–High** | Backlog | +| 47 | **Bespoke bioship telemetry era** | Bioships | Moya, Lexx, Species 8472, Wraith | Complete replacement of inorganic Starfleet chirps with organic clicks, wet pulses, and membrane flutters. | New telemetry engine era (`bioship`): procedural scheduling of bio-acoustic primitives (spore pops, chitin snaps, vascular beats). | High | **Medium–High** | Backlog | +| 48 | **Transporter dematerialization / rematerialization** | Star Trek | All Eras | Iconic Starfleet molecular transport cycle (~3.0 seconds duration, shimmer-dense). | Complex multi-oscillator additive array (5 detuned sines) with interlocking amplitude modulation and high-frequency noise shimmer. | Medium | **High** | Backlog | +| 49 | **Dedicated Point-Defense Flak Barrage Burst** | Military Space | Battlestar Galactica | Rapid-fire concussive kinetic detonations ("thud-thud-crack") echoing through the armored hull. | Clustered burst of 4–8 staggered noise transients (10–30 ms offsets) with sub-bass punch (40 Hz) and high-frequency shell crack. | High | **High** | Backlog | +| 50 | **Heavy Weapons Arming Breech Clank** | Military Space | USS Sulaco, EAS Agamemnon | Pneumatic solenoid slam and heavy steel breech lock when chambering mass-driver ordnance or railgun slugs. | Multi-stage metallic synthesis: pre-charge pneumatic hiss (80 ms), primary breech slam (60 Hz square impact), and high-Q steel ringoff. | High | **High** | Backlog | +| 51 | **Dedicated Mechanical Dot-Matrix / Teletype Chatter** | Industrial Space | USCSS Nostromo | Unbroken rhythmic mechanical typing and carriage chatter of the MU/TH/UR 6000 mainframe output terminal. | Rapid pseudo-random sequence of high-Q 4000 Hz impact noise spikes combined with periodic 12 Hz mechanical stepper-motor step clicks. | High | **High** | Backlog | +| 52 | **Heavy Hydraulic Docking Groan & Mechanical Clang** | Industrial Space | USCSS Nostromo, Red Dwarf | Massive ore umbilical latching: low metal friction groan followed by sledgehammer clamp impact and resonant hull ring. | Compound engine: dual swept resonant bandpass filters over brown noise (30–60 Hz) followed by a high-energy metallic anvil transient. | High | **High** | Backlog | +| 53 | **Dual-Reel Magnetic Tape Spooler & Pinch Roller Clank** | Retro Future | Jupiter 2, Discovery One | Heavy magnetic tape deck engagement: solenoid pinch-roller snap, 15 ips capstan flutter, and fast-forward tape whine. | Multi-layer module: solenoid impulse click (110 Hz), continuous fluttering pink noise (15 Hz flutter LFO), and 3200 Hz capstan motor hum. | High | **High** | Backlog | +| 54 | **Continuous Heterodyne / Theremin Navigational Drone** | Retro Future | Jupiter 2 (*Lost in Space*) | Vintage 1960s sci-fi navigational beacon: dual high-frequency sine oscillators beating gently against each other. | Dual precision sine generators (e.g., 1040 Hz and 1048 Hz) creating a continuous, acoustic 8 Hz heterodyne beat wave in room tone. | High | **High** | Backlog | + +--- + +## 2. Implementation Phasing & Roadmap + +To structure the upcoming audio engineering passes without destabilizing the core audio loop, development should follow a three-phase approach: + +```mermaid +graph TD + P1["Phase 1: Quick Wins
18 Discrete Elements
Difficulty: Low & Low-Medium"] --> P2["Phase 2: Core Enhancements
25 Synthesizers & Loops
Difficulty: Medium"] + P2 --> P3["Phase 3: Major Architectural Additions
11 Complex Systems & Telemetry Eras
Difficulty: Medium-High & High"] +``` + +### Phase 1: Quick Wins (Low & Low–Medium Difficulty) — **[COMPLETED]** +- **Target Count**: 20 elements (18 Low + 2 Low–Medium) — **100% Implemented**. +- **Architectural Scope**: Added procedural synthesis methods into `ExpandedSciFiAudioSynth` and `WhoniverseAudioSynth`, updated `StarshipPresets['bio-wraith']` life-support parameters in `js/config.js`, wired soundboards to a clean 6-button (3×2) layout, and established automated background loops in `js/app.js`. +- **Implemented Deliverables & Trigger Mechanics**: + 1. **Trek Staples**: + - **Comm badge chirp** (`ExpandedSciFiAudioSynth.synthesizeCommBadge`, `TelemetrySynth.synthesizeCommBadge`): Starfleet Soundboard (`btn-comm-badge`) & auto-scheduled in ambient Starfleet telemetry (8–10% probability during `tng`/`voyager`). + - **Door swish** (`ExpandedSciFiAudioSynth.synthesizeDoorSwish(era)`): Starfleet Soundboard (`btn-door-swish`), automatically adjusting envelope and filter Q across TOS, TNG, VOY, and NX. + - **Bosun's whistle** (`ExpandedSciFiAudioSynth.synthesizeBosunWhistle`): Starfleet Soundboard (`btn-bosun-whistle`), naval sine glide with 6.5 Hz tremolo. + - **Sickbay ECG ping** (`ExpandedSciFiAudioSynth.synthesizeMedicalMonitor`, `startMedicalMonitor`): Starfleet Soundboard (`btn-medical-monitor`) & automatic 1.15s periodic pulse loop on sickbay/medical presets. + 2. **Tactile Hardware & Foley**: + - **TARDIS lever clunk** (`WhoniverseAudioSynth.synthesizeLeverClunk`): Whoniverse Soundboard (`btn-lever-clunk`), hard 80 Hz square click + highpass pink noise thump. + - **TARDIS wooden door** (`WhoniverseAudioSynth.synthesizeTardisDoor`): Whoniverse Soundboard (`btn-tardis-door`), 260–540 Hz friction creak + dual mortise latch click. + - **Cassette transport clunk & whirr** (`ExpandedSciFiAudioSynth.synthesizeCassetteTransport`): Outlaw Soundboard (`btn-tape-clunk`), mechanical dual click + 2200 Hz capstan tone with 8.2 Hz flutter. + - **Grappler arm servo** (`ExpandedSciFiAudioSynth.synthesizeGrapplerServo`): Outlaw Soundboard (`btn-grappler-servo`), 220–680 Hz swept triangle wave through resonant bandpass. + - **Mag-boot latch** (`ExpandedSciFiAudioSynth.synthesizeMagBootLatch`): Space Stations Soundboard (`btn-mag-boot`), 80 Hz heel impact thump + 120 Hz inductive clamp buzz. + 3. **Atmospheric, Comedic & Disaster Transients**: + - **Misty-atmosphere tuning**: `StarshipPresets['bio-wraith']` tuned to 900 Hz lowpass cutoff with 0.06 Hz airflow modulation in `LifeSupportSynth`. + - **Sevastopol electrical spark** (`ExpandedSciFiAudioSynth.synthesizeSevastopolSpark`, `startStationSparks`): Space Stations Soundboard (`btn-sevas-spark`) & intermittent background discharges (4–11s intervals) on `sta-sevastopol`. + - **Commlock calling tone** (`ExpandedSciFiAudioSynth.synthesizeCommlockTone`): Space Stations Soundboard (`btn-commlock`), dual square pulse paging beeps (1100 Hz / 1500 Hz). + - **Station medical vital ECG** (`ExpandedSciFiAudioSynth.synthesizeStationMedicalPing`): Space Stations Soundboard (`btn-station-ecg`) & 1.15s background loop on Gateway Station quarantine medical suite (`sta-gateway`). + - **Solar radiation / heat shield roar** (`ExpandedSciFiAudioSynth.synthesizeSolarRoar`): Deep Space Soundboard (`btn-solar-roar`) & Deep Space Event button `btn-solar-swell` ("SOLAR SHIELD SWELL"). + - **Cryogenic pod depressurization sigh** (`ExpandedSciFiAudioSynth.synthesizeCryoDepressurize`): Deep Space Soundboard (`btn-cryo-sigh`), swept noise sigh + 205 Hz seal hum. + - **Mid-century Orion pulse thump** (`ExpandedSciFiAudioSynth.synthesizeOrionPulseThump`): Deep Space Soundboard (`btn-orion-thump`), 45 Hz lowpass square impulse + 36 Hz sub-bass cabinet resonance. + - **Nutri-Matic tea dispenser gurgle** (`ExpandedSciFiAudioSynth.synthesizeTeaDispenser`): Comedy Soundboard (`btn-tea-machine`), 6-stage bubbling hops + steam hiss. + - **British electric kettle whistle** (`ExpandedSciFiAudioSynth.synthesizeKettleWhistle`): Comedy Soundboard (`btn-kettle-whistle`), rising sine sweep with 5.2 Hz tremolo. + - **Ludicrous Speed Plaid Alarm** (`ExpandedSciFiAudioSynth.synthesizePlaidAlarm`): Comedy Soundboard (`btn-plaid-alarm`), alternating two-tone siren (440 Hz / 880 Hz). + - **True RF radio static burst** (`ExpandedSciFiAudioSynth.synthesizeRadioStatic`): Outlaw Soundboard (`btn-radio-static`), bandpass-filtered noise burst with hard-knee 180 ms gate. + +### Phase 2: Core Enhancements (Medium Difficulty) +- **Target Count**: 25 elements. +- **Architectural Scope**: Modulate existing continuous synth nodes (`HullDroneSynth`, `LifeSupportSynth`) and introduce multi-oscillator discrete events. +- **Key Deliverables**: + 1. **Structural Stress & Engines**: True Hull Strain Moan (`synthesizeHullStrainMoan()`), Repulsorlift engine drone, Bebop marine diesel chug, Centrifugal carousel 1 rpm LFO modulation. + 2. **Energy Fields & Weapons**: Vorlon crystal singing resonance, Omega-13 temporal capacitor ramp, Cardassian heavy bulkhead grind, Slipstream transition surge, Death Blossom capacitor sweep. + 3. **Environmental Ambience**: Nostromo condensation pipe drips (Poisson ping generator), Continuous steam vent hiss, HAL 9000 respiration envelope loop. + +### Phase 3: Major Architectural Additions (Medium–High & High Difficulty) +- **Target Count**: 11 elements. +- **Architectural Scope**: Expansion of `TelemetrySynth` routing logic and complex multi-node audio sub-systems. +- **Key Deliverables**: + 1. **Bespoke Telemetry Eras**: + - `era: 'who'` — Mechanical solenoids, spring switches, lever snaps, relay chitter. + - `era: 'bioship'` — Organic membrane pulses, chitin creaks, bioplasmic fluid pops. + - `era: 'belter'` — Rattling relays, noisy contact bounce, loose solenoids, unstable clock jitter. + 2. **Complex Multi-Stage Transients**: + - Battlestar flak barrage burst (staggered concussive noise clusters). + - Heavy weapons breech locking clank (pneumatics + steel clamp ringoff). + - Nostromo MU/TH/UR dot-matrix teletype terminal (continuous pseudo-random 4000 Hz striker bursts). + - Vintage dual-reel magnetic tape spooler (solenoid clamp + tape flutter + capstan tone). + - Starfleet Transporter dematerialization / rematerialization shimmer array. + +--- + +## 3. Telemetry Router Roadmap + +Currently, `TelemetrySynth` in `js/audio.js` dispatches discrete random pings based solely on Starfleet eras (`tos`, `tng`, `ds9`, `voyager`, `nx`). Non-Trek universes are forced to approximate their telemetry using Trek sound sets. + +The table below outlines the implementation specifications for the three new proposed telemetry engines: + +```text +TelemetrySynth.prototype.scheduleNext_() + │ + ├── era === 'who' ──> synthesizeWhoMechanicalTelemetry_() + ├── era === 'bioship' ──> synthesizeBioshipOrganicTelemetry_() + ├── era === 'belter' ──> synthesizeBelterJuryRiggedTelemetry_() + └── era in ['tos'...] ──> existing Starfleet chirp routines +``` + +| New Telemetry Era | Target Universe(s) | Acoustic Primitives | Synthesis Architecture | +|---|---|---|---| +| `who` | Whoniverse (All TARDIS presets) | Mechanical toggle snaps, tumbler dials, spring levers, rotary selector clunks. | Dual-filtered short noise pulses (20–45 ms), square wave click transients (60–120 Hz), and damped mechanical pings without electronic beeps. | +| `bioship` | Bioships (Moya, Lexx, Species 8472, Wraith) | Vascular surges, chitinous joint snaps, bioplasmic fluid pops, membrane flutters. | Asymmetric shaped sine thumps (30–90 Hz), bandpass-filtered wet fluid impulses (500–1400 Hz), and micro-envelope noise ticks. | +| `belter` | Space Stations, Industrial Space (Ceres, Tycho, Rocinante) | Worn electrical contactors, loose solenoid chatter, relay contact bounce, drifting clock pings. | Jittered square waves with randomized micro-dropouts, harsh metallic click transients (400–1800 Hz), and noisy relay chatter bursts. | + +--- + +## 4. Cross-Reference Index by Universe Theme + +| Universe Key | Universe Name | Gaps Cataloged | Primary Focus Areas | +|---|---|:---:|---| +| `starfleet` | Star Trek | 8 | Comm badge chirp, door swishes, turbolift whoosh, transporter shimmer. | +| `whoniverse` | Whoniverse | 4 | Lever clunk, TARDIS doors, `who` mechanical telemetry era. | +| `bioships` | Bioships | 5 | Bespoke organic telemetry, Vorlon singing crystal, neural bond swells. | +| `spacestations` | Space Stations | 6 | Belter telemetry era, Sevastopol sparks, commlock tone, mag-boots. | +| `deepspace` | Deep Space | 6 | True hull strain groan, Icarus I beacon, solar roar, cryo-pod sigh. | +| `comedy` | Comedy & Adventure | 5 | Tea dispenser gurgle, Beryllium thrum, Omega-13 capacitor whine. | +| `outlaw` | Outlaw & Frontier | 5 | Cassette transport clunk, grappler servo whine, true RF static burst. | +| `military` | Military Space | 5 | Flak barrage bursts, heavy weapons breech clank, slipstream surge. | +| `industrial` | Industrial Space | 5 | Dot-matrix teletype chatter, heavy docking clang, condensation pipe drips. | +| `retrofuture` | Retro Future | 5 | Dual-reel tape spooler, continuous heterodyne theremin drone, HAL respiration. | diff --git a/css/style.css b/css/style.css index 89069c2..c73e878 100644 --- a/css/style.css +++ b/css/style.css @@ -341,6 +341,62 @@ body { color: #fff; } +/* Master Engage / Full Stop Play Button */ +#btn-master-play { + background: #00cc66; + color: #000000; + box-shadow: 0 0 12px rgba(0, 204, 102, 0.45); + transition: transform 0.1s, filter 0.15s, background-color 0.2s, box-shadow 0.2s; +} + +#btn-master-play:hover { + filter: brightness(1.2); +} + +#btn-master-play.playing { + background: #ff3333; + color: #ffffff; + box-shadow: 0 0 14px rgba(255, 51, 51, 0.5); +} + +#btn-master-play.engaging { + animation: lcars-engage-flash 0.35s infinite alternate ease-in-out; +} + +#btn-master-play.stopping { + animation: lcars-stop-flash 0.35s infinite alternate ease-in-out; +} + +@keyframes lcars-engage-flash { + 0% { + background: #00cc66; + color: #000000; + box-shadow: 0 0 6px rgba(0, 204, 102, 0.4); + filter: brightness(0.95); + } + 100% { + background: #33ff99; + color: #000000; + box-shadow: 0 0 24px rgba(0, 255, 136, 0.95); + filter: brightness(1.35); + } +} + +@keyframes lcars-stop-flash { + 0% { + background: #ff3333; + color: #ffffff; + box-shadow: 0 0 6px rgba(255, 51, 51, 0.4); + filter: brightness(0.95); + } + 100% { + background: #ff6666; + color: #ffffff; + box-shadow: 0 0 24px rgba(255, 51, 51, 0.95); + filter: brightness(1.35); + } +} + /* Action Pill Buttons */ .pill-button-group { display: flex; diff --git a/index.html b/index.html index 883d4db..f962cb7 100644 --- a/index.html +++ b/index.html @@ -78,7 +78,7 @@
diff --git a/js/app.js b/js/app.js index 41031f6..04acf68 100644 --- a/js/app.js +++ b/js/app.js @@ -14,6 +14,10 @@ document.addEventListener('DOMContentLoaded', () => { const alerts = new AlertSynth(audioManager); const whoniverseAudio = new WhoniverseAudioSynth(audioManager); const expandedAudio = new ExpandedSciFiAudioSynth(audioManager); + const engineTransitions = new EngineTransitionSynth(audioManager); + window.expandedAudio = expandedAudio; + window.whoniverseAudio = whoniverseAudio; + window.engineTransitions = engineTransitions; const visualizer = new StarshipVisualizer(audioManager, warpCore); const observationEngine = new ObservationEngine(audioManager, warpCore, alerts, hullDrone, lifeSupport); window.observationEngine = observationEngine; @@ -306,7 +310,14 @@ document.addEventListener('DOMContentLoaded', () => { syncSlidersToSynthParams(); + expandedAudio.stopAllLoops(); if (isPlaying) { + if (presetId === 'sta-sevastopol') { + expandedAudio.startStationSparks(4000, 11000); + } else if (presetId === 'sta-gateway' || presetId.includes('sickbay') || presetId.includes('med')) { + expandedAudio.startMedicalMonitor(1.15); + } + if (activeUniverseId === 'whoniverse') whoniverseAudio.synthesizeDematSwitch(); else if (activeUniverseId === 'industrial') expandedAudio.synthesizeDockingClamp(); else telemetry.synthesizeLCARSSingleChirp(); @@ -344,39 +355,93 @@ document.addEventListener('DOMContentLoaded', () => { } // 5. Play / Pause Master Toggle + let isTransitioning = false; + const ENGINE_TRANSITION_SECS = 2.5; + async function togglePlay() { + if (isTransitioning) return; + + const engineProfile = typeof getEngineProfileForPreset === 'function' + ? getEngineProfileForPreset(activePresetId, activeUniverseId) + : 'galaxy'; + if (!isPlaying) { + isTransitioning = true; await audioManager.resume(); - hullDrone.start(); - warpCore.start(); - lifeSupport.start(); - telemetry.start(); - isPlaying = true; - btnPlay.classList.add('playing'); - playIcon.textContent = '■'; - playText.textContent = 'DISENGAGE'; - statAudioStatus.textContent = 'ONLINE'; - statAudioStatus.style.color = '#00ff88'; + // Flashing state while engaging + btnPlay.classList.add('engaging'); + btnPlay.classList.remove('playing', 'stopping'); + statAudioStatus.textContent = 'ENGAGING...'; + statAudioStatus.style.color = '#ffcc00'; + // Layered & Staged Procedural Startup Script for this Profile + engineTransitions.playStartup(engineProfile, ENGINE_TRANSITION_SECS); + + // Acoustic chime / chirp feedback if (activeUniverseId === 'whoniverse') whoniverseAudio.synthesizeTelepathicChime(); else if (activeUniverseId === 'bioships') expandedAudio.synthesizeStarburst(); else telemetry.synthesizeLCARSDoubleChirp(); + + // Start engine sounds with smooth spool-up ramp + hullDrone.start(ENGINE_TRANSITION_SECS); + warpCore.start(ENGINE_TRANSITION_SECS); + lifeSupport.start(ENGINE_TRANSITION_SECS); + telemetry.start(); + + setTimeout(() => { + isPlaying = true; + isTransitioning = false; + + btnPlay.classList.remove('engaging'); + btnPlay.classList.add('playing'); + playIcon.textContent = '■'; + playText.textContent = 'FULL STOP'; + statAudioStatus.textContent = 'ONLINE'; + statAudioStatus.style.color = '#00ff88'; + + if (activePresetId === 'sta-sevastopol') { + expandedAudio.startStationSparks(4000, 11000); + } else if (activePresetId === 'sta-gateway' || activePresetId.includes('sickbay') || activePresetId.includes('med')) { + expandedAudio.startMedicalMonitor(1.15); + } + }, ENGINE_TRANSITION_SECS * 1000); + } else { - hullDrone.stop(); - warpCore.stop(); - lifeSupport.stop(); + isTransitioning = true; + + // Flashing state while stopping + btnPlay.classList.remove('playing', 'engaging'); + btnPlay.classList.add('stopping'); + statAudioStatus.textContent = 'STOPPING...'; + statAudioStatus.style.color = '#ff9900'; + + // Layered & Staged Procedural Shutdown Script for this Profile + engineTransitions.playShutdown(engineProfile, ENGINE_TRANSITION_SECS); + + if (activeUniverseId === 'whoniverse') whoniverseAudio.synthesizeLeverClunk(); + else telemetry.synthesizeLCARSDoubleChirp(); + + // Stop engine sounds with smooth spool-down fade + hullDrone.stop(ENGINE_TRANSITION_SECS); + warpCore.stop(ENGINE_TRANSITION_SECS); + lifeSupport.stop(ENGINE_TRANSITION_SECS); telemetry.stop(); + expandedAudio.stopAllLoops(); alerts.stopAlert(); whoniverseAudio.stopCloisterBell(); resetAlertButtons(); - isPlaying = false; - btnPlay.classList.remove('playing'); - playIcon.textContent = '▶'; - playText.textContent = 'ENGAGE AMBIENCE'; - statAudioStatus.textContent = 'STANDBY'; - statAudioStatus.style.color = '#ffcc00'; + setTimeout(() => { + isPlaying = false; + isTransitioning = false; + + btnPlay.classList.remove('stopping'); + playIcon.textContent = '▶'; + playText.textContent = 'ENGAGE'; + statAudioStatus.textContent = 'STANDBY'; + statAudioStatus.style.color = '#ffcc00'; + }, ENGINE_TRANSITION_SECS * 1000); } } @@ -588,7 +653,8 @@ document.addEventListener('DOMContentLoaded', () => { visualizer.spawnWarpPulses(); break; case 'solar': - alerts.synthesizeWarpJump(); + expandedAudio.synthesizeSolarRoar(); + visualizer.spawnWarpPulses(); break; case 'afterburner': expandedAudio.synthesizeAfterburner(); @@ -609,7 +675,24 @@ document.addEventListener('DOMContentLoaded', () => { } function handleSoundboardTrigger(id) { + const universe = UniverseRegistry[activeUniverseId]; + const preset = universe && universe.presets ? universe.presets[activePresetId] : null; + const era = preset ? preset.era : 'tng'; + switch (id) { + // Star Trek + case 'btn-comm-badge': + expandedAudio.synthesizeCommBadge(); + break; + case 'btn-door-swish': + expandedAudio.synthesizeDoorSwish(era); + break; + case 'btn-bosun-whistle': + expandedAudio.synthesizeBosunWhistle(); + break; + case 'btn-medical-monitor': + expandedAudio.synthesizeMedicalMonitor(); + break; case 'btn-chirp-single': case 'btn-switch-pop': telemetry.synthesizeLCARSSingleChirp(); @@ -626,9 +709,17 @@ document.addEventListener('DOMContentLoaded', () => { case 'btn-chirp-door': telemetry.synthesizeDoorChime(); break; + + // Whoniverse case 'btn-sonic': whoniverseAudio.synthesizeSonicScrewdriver(); break; + case 'btn-lever-clunk': + whoniverseAudio.synthesizeLeverClunk(); + break; + case 'btn-tardis-door': + whoniverseAudio.synthesizeTardisDoor(); + break; case 'btn-fast-return': whoniverseAudio.synthesizeFastReturn(); break; @@ -644,33 +735,84 @@ document.addEventListener('DOMContentLoaded', () => { whoniverseAudio.synthesizeDematSwitch(); telemetry.synthesizeSensorSweep(); break; + + // Space Stations + case 'btn-air-handler': + expandedAudio.synthesizeAirHandlerThud(); + break; + case 'btn-mag-boot': + expandedAudio.synthesizeMagBootLatch(); + break; + case 'btn-commlock': + expandedAudio.synthesizeCommlockTone(); + break; + case 'btn-sevas-spark': + expandedAudio.synthesizeSevastopolSpark(); + break; + case 'btn-station-ecg': + expandedAudio.synthesizeStationMedicalPing(); + break; + case 'btn-tram-gong': + whoniverseAudio.synthesizeCloisterStrike(); + break; + + // Deep Space + case 'btn-solar-roar': + expandedAudio.synthesizeSolarRoar(); + break; + case 'btn-cryo-sigh': + expandedAudio.synthesizeCryoDepressurize(); + break; + case 'btn-orion-thump': + expandedAudio.synthesizeOrionPulseThump(); + break; + + // Outlaw & Frontier + case 'btn-tape-clunk': + expandedAudio.synthesizeCassetteTransport(); + break; + case 'btn-grappler-servo': + expandedAudio.synthesizeGrapplerServo(); + break; + case 'btn-radio-static': + expandedAudio.synthesizeRadioStatic(); + break; + case 'btn-afterburner-snd': + expandedAudio.synthesizeAfterburner(); + break; + + // Comedy & Adventure + case 'btn-cheerful-door': + expandedAudio.synthesizeCheerfulDoor(); + break; + case 'btn-tea-machine': + expandedAudio.synthesizeTeaDispenser(); + break; + case 'btn-kettle-whistle': + expandedAudio.synthesizeKettleWhistle(); + break; + case 'btn-plaid-alarm': + expandedAudio.synthesizePlaidAlarm(); + break; + case 'btn-beryllium-pulse': + expandedAudio.synthesizeImprobabilityFlip(); + break; + + // General / Industrial / Military case 'btn-geiger': expandedAudio.synthesizeGeigerBurst(); break; case 'btn-dock-clamp': case 'btn-pneumatic-door': - case 'btn-tape-clunk': expandedAudio.synthesizeDockingClamp(); break; - case 'btn-air-handler': - expandedAudio.synthesizeAirHandlerThud(); - break; case 'btn-dradis-ping': expandedAudio.synthesizeDradisPing(); break; case 'btn-hal-chime': expandedAudio.synthesizeHalChime(); break; - case 'btn-cheerful-door': - expandedAudio.synthesizeCheerfulDoor(); - break; - case 'btn-beryllium-pulse': - case 'btn-tea-machine': - expandedAudio.synthesizeImprobabilityFlip(); - break; - case 'btn-tram-gong': - whoniverseAudio.synthesizeCloisterStrike(); - break; + default: telemetry.synthesizeLCARSSingleChirp(); break; @@ -3960,4 +4102,3 @@ document.addEventListener('DOMContentLoaded', () => { updateMasterVolumeUI(0.75, false); visualizer.init('spectrum-canvas', 'warp-core-canvas'); }); - diff --git a/js/audio.js b/js/audio.js index 9328af2..9b48ccf 100644 --- a/js/audio.js +++ b/js/audio.js @@ -208,14 +208,20 @@ class HullDroneSynth { }; } - start() { + start(rampDuration = 0) { this.stop(); const ctx = this.am.ctx; if (!ctx) return; // Channel Gain Node this.gainNode = ctx.createGain(); - this.gainNode.gain.setValueAtTime(this.isMuted ? 0 : this.params.volume, ctx.currentTime); + const targetVol = this.isMuted ? 0 : this.params.volume; + if (rampDuration > 0) { + this.gainNode.gain.setValueAtTime(0.0001, ctx.currentTime); + this.gainNode.gain.linearRampToValueAtTime(targetVol, ctx.currentTime + rampDuration); + } else { + this.gainNode.gain.setValueAtTime(targetVol, ctx.currentTime); + } // Steep Lowpass Filter (24dB/oct via 2 cascading biquads) this.filterNode = ctx.createBiquadFilter(); @@ -283,7 +289,22 @@ class HullDroneSynth { this.nodes = [this.subOsc1, this.subOsc2, this.noiseSource, lfo, osc1Gain, osc2Gain, noiseGain, lfoGain, this.filterNode, filterStage2, this.gainNode]; } - stop() { + stop(fadeDuration = 0) { + if (fadeDuration > 0 && this.nodes.length > 0 && this.gainNode && this.am.ctx) { + const now = this.am.ctx.currentTime; + this.gainNode.gain.cancelScheduledValues(now); + this.gainNode.gain.setValueAtTime(Math.max(0.0001, this.gainNode.gain.value), now); + this.gainNode.gain.linearRampToValueAtTime(0.0001, now + fadeDuration); + if (this.stoppingTimeout) clearTimeout(this.stoppingTimeout); + this.stoppingTimeout = setTimeout(() => { + this.stop(0); + }, fadeDuration * 1000); + return; + } + if (this.stoppingTimeout) { + clearTimeout(this.stoppingTimeout); + this.stoppingTimeout = null; + } if (this.nodes.length > 0) { try { if (this.subOsc1) this.subOsc1.stop(); @@ -296,6 +317,10 @@ class HullDroneSynth { try { node.disconnect(); } catch (e) {} }); this.nodes = []; + this.subOsc1 = null; + this.subOsc2 = null; + this.noiseSource = null; + this.gainNode = null; } } @@ -369,13 +394,19 @@ class WarpCoreSynth { this.onPulse = null; // Callback for UI visualizer pulse animation! } - start() { + start(rampDuration = 0) { this.stop(); const ctx = this.am.ctx; if (!ctx) return; this.gainNode = ctx.createGain(); - this.gainNode.gain.setValueAtTime(this.isMuted ? 0 : this.params.volume, ctx.currentTime); + const targetVol = this.isMuted ? 0 : this.params.volume; + if (rampDuration > 0) { + this.gainNode.gain.setValueAtTime(0.0001, ctx.currentTime); + this.gainNode.gain.linearRampToValueAtTime(targetVol, ctx.currentTime + rampDuration); + } else { + this.gainNode.gain.setValueAtTime(targetVol, ctx.currentTime); + } // Filter Node this.filterNode = ctx.createBiquadFilter(); @@ -389,12 +420,22 @@ class WarpCoreSynth { // Carrier & Modulator Oscillators (FM Engine) this.carrier = ctx.createOscillator(); this.carrier.type = this.params.pulseShape === 'tos' ? 'sawtooth' : (this.params.pulseShape === 'nx' ? 'triangle' : 'sine'); - this.carrier.frequency.setValueAtTime(this.params.carrierFreq, ctx.currentTime); + if (rampDuration > 0) { + this.carrier.frequency.setValueAtTime(Math.max(20, this.params.carrierFreq * 0.45), ctx.currentTime); + this.carrier.frequency.exponentialRampToValueAtTime(this.params.carrierFreq, ctx.currentTime + rampDuration); + } else { + this.carrier.frequency.setValueAtTime(this.params.carrierFreq, ctx.currentTime); + } // Sub-harmonic oscillator for massive bottom end this.subOsc = ctx.createOscillator(); this.subOsc.type = 'sine'; - this.subOsc.frequency.setValueAtTime(this.params.carrierFreq * 0.5, ctx.currentTime); + if (rampDuration > 0) { + this.subOsc.frequency.setValueAtTime(Math.max(12, this.params.carrierFreq * 0.22), ctx.currentTime); + this.subOsc.frequency.exponentialRampToValueAtTime(this.params.carrierFreq * 0.5, ctx.currentTime + rampDuration); + } else { + this.subOsc.frequency.setValueAtTime(this.params.carrierFreq * 0.5, ctx.currentTime); + } const subGain = ctx.createGain(); subGain.gain.setValueAtTime(0.6, ctx.currentTime); @@ -542,7 +583,29 @@ class WarpCoreSynth { } } - stop() { + stop(fadeDuration = 0) { + if (fadeDuration > 0 && this.nodes.length > 0 && this.gainNode && this.am.ctx) { + const now = this.am.ctx.currentTime; + this.gainNode.gain.cancelScheduledValues(now); + this.gainNode.gain.setValueAtTime(Math.max(0.0001, this.gainNode.gain.value), now); + this.gainNode.gain.linearRampToValueAtTime(0.0001, now + fadeDuration); + if (this.carrier) { + try { + this.carrier.frequency.cancelScheduledValues(now); + this.carrier.frequency.setValueAtTime(this.carrier.frequency.value, now); + this.carrier.frequency.linearRampToValueAtTime(Math.max(20, this.params.carrierFreq * 0.35), now + fadeDuration); + } catch (e) {} + } + if (this.stoppingTimeout) clearTimeout(this.stoppingTimeout); + this.stoppingTimeout = setTimeout(() => { + this.stop(0); + }, fadeDuration * 1000); + return; + } + if (this.stoppingTimeout) { + clearTimeout(this.stoppingTimeout); + this.stoppingTimeout = null; + } if (this.pulseInterval) { clearInterval(this.pulseInterval); this.pulseInterval = null; @@ -556,6 +619,9 @@ class WarpCoreSynth { try { node.disconnect(); } catch (e) {} }); this.nodes = []; + this.carrier = null; + this.subOsc = null; + this.gainNode = null; } } @@ -596,13 +662,19 @@ class LifeSupportSynth { }; } - start() { + start(rampDuration = 0) { this.stop(); const ctx = this.am.ctx; if (!ctx) return; this.gainNode = ctx.createGain(); - this.gainNode.gain.setValueAtTime(this.isMuted ? 0 : this.params.volume, ctx.currentTime); + const targetVol = this.isMuted ? 0 : this.params.volume; + if (rampDuration > 0) { + this.gainNode.gain.setValueAtTime(0.0001, ctx.currentTime); + this.gainNode.gain.linearRampToValueAtTime(targetVol, ctx.currentTime + rampDuration); + } else { + this.gainNode.gain.setValueAtTime(targetVol, ctx.currentTime); + } // Highpass filter (cuts muddy lows) const hpFilter = ctx.createBiquadFilter(); @@ -663,7 +735,22 @@ class LifeSupportSynth { ]; } - stop() { + stop(fadeDuration = 0) { + if (fadeDuration > 0 && this.nodes.length > 0 && this.gainNode && this.am.ctx) { + const now = this.am.ctx.currentTime; + this.gainNode.gain.cancelScheduledValues(now); + this.gainNode.gain.setValueAtTime(Math.max(0.0001, this.gainNode.gain.value), now); + this.gainNode.gain.linearRampToValueAtTime(0.0001, now + fadeDuration); + if (this.stoppingTimeout) clearTimeout(this.stoppingTimeout); + this.stoppingTimeout = setTimeout(() => { + this.stop(0); + }, fadeDuration * 1000); + return; + } + if (this.stoppingTimeout) { + clearTimeout(this.stoppingTimeout); + this.stoppingTimeout = null; + } if (this.nodes.length > 0) { try { if (this.noiseSource) this.noiseSource.stop(); @@ -672,6 +759,8 @@ class LifeSupportSynth { try { node.disconnect(); } catch (e) {} }); this.nodes = []; + this.noiseSource = null; + this.gainNode = null; } } @@ -794,20 +883,26 @@ class TelemetrySynth { case 'ds9': Math.random() > 0.5 ? this.synthesizeCardassianSensor() : this.synthesizeLCARSSingleChirp(); break; - case 'voyager': - Math.random() > 0.4 ? this.synthesizeLCARSDoubleChirp() : this.synthesizeSensorSweep(); + case 'voyager': { + const r = Math.random(); + if (r < 0.12) this.synthesizeCommBadge(); + else if (r < 0.55) this.synthesizeLCARSDoubleChirp(); + else this.synthesizeSensorSweep(); break; + } case 'nx': Math.random() > 0.5 ? this.synthesizeNXRelay() : this.synthesizeNXIndicatorBeep(); break; case 'tng': - default: + default: { const r = Math.random(); - if (r < 0.45) this.synthesizeLCARSSingleChirp(); - else if (r < 0.75) this.synthesizeLCARSDoubleChirp(); - else if (r < 0.90) this.synthesizeLCARSSequence(); + if (r < 0.10) this.synthesizeCommBadge(); + else if (r < 0.45) this.synthesizeLCARSSingleChirp(); + else if (r < 0.72) this.synthesizeLCARSDoubleChirp(); + else if (r < 0.88) this.synthesizeLCARSSequence(); else this.synthesizeSensorSweep(); break; + } } // OBSERVATION intentionally treats telemetry as an abstract activity pulse, @@ -821,6 +916,33 @@ class TelemetrySynth { })); } + /** + * Star Trek Comm Badge Confirmation Chirp + */ + synthesizeCommBadge() { + if (window.expandedAudio) { + window.expandedAudio.synthesizeCommBadge(); + return; + } + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + const now = ctx.currentTime; + [784, 1396.91].forEach((freq, idx) => { + const t = now + idx * 0.038; + const osc = ctx.createOscillator(); + osc.type = 'sine'; + osc.frequency.setValueAtTime(freq, t); + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, t); + env.gain.linearRampToValueAtTime(0.35, t + 0.005); + env.gain.exponentialRampToValueAtTime(0.001, t + (idx === 0 ? 0.045 : 0.09)); + osc.connect(env); + env.connect(this.gainNode); + osc.start(t); + osc.stop(t + (idx === 0 ? 0.05 : 0.095)); + }); + } + /** * TNG/Voyager Single LCARS Touch Tone (Soft sine with gentle attack and rapid exponential decay) */ @@ -1743,6 +1865,105 @@ class WhoniverseAudioSynth { osc.stop(now + duration + 0.05); }); } + + /** + * TARDIS Lever-Throw Clunk (Tactile mechanical switch) + * Hard square transient click coupled to a dull highpass noise thump + */ + synthesizeLeverClunk() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + + // Hard square transient click + const clickOsc = ctx.createOscillator(); + clickOsc.type = 'square'; + clickOsc.frequency.setValueAtTime(80, now); + clickOsc.frequency.exponentialRampToValueAtTime(30, now + 0.035); + + const clickEnv = ctx.createGain(); + clickEnv.gain.setValueAtTime(0.42, now); + clickEnv.gain.exponentialRampToValueAtTime(0.001, now + 0.04); + + clickOsc.connect(clickEnv); + clickEnv.connect(this.gainNode); + clickOsc.start(now); + clickOsc.stop(now + 0.042); + + // Dull highpass noise thump + const noiseBuf = this.am.createNoiseBuffer('pink', 0.15); + const noise = ctx.createBufferSource(); + noise.buffer = noiseBuf; + + const filter = ctx.createBiquadFilter(); + filter.type = 'highpass'; + filter.frequency.setValueAtTime(320, now); + + const noiseEnv = ctx.createGain(); + noiseEnv.gain.setValueAtTime(0.3, now); + noiseEnv.gain.exponentialRampToValueAtTime(0.001, now + 0.06); + + noise.connect(filter); + filter.connect(noiseEnv); + noiseEnv.connect(this.gainNode); + noise.start(now); + noise.stop(now + 0.065); + } + + /** + * TARDIS Police Box Exterior Door Open / Close (Wood creak + mortise latch) + * Modulated bandpass friction noise layered over a sharp metallic dual-click transient + */ + synthesizeTardisDoor() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 0.75; + + // 1. Modulated bandpass friction noise (wood creak) + const creakBuf = this.am.createNoiseBuffer('brown', duration); + const creak = ctx.createBufferSource(); + creak.buffer = creakBuf; + + const creakFilter = ctx.createBiquadFilter(); + creakFilter.type = 'bandpass'; + creakFilter.frequency.setValueAtTime(260, now); + creakFilter.frequency.linearRampToValueAtTime(540, now + 0.35); + creakFilter.frequency.exponentialRampToValueAtTime(310, now + 0.65); + creakFilter.Q.setValueAtTime(6.0, now); + + const creakEnv = ctx.createGain(); + creakEnv.gain.setValueAtTime(0.001, now); + creakEnv.gain.linearRampToValueAtTime(0.38, now + 0.15); + creakEnv.gain.exponentialRampToValueAtTime(0.001, now + 0.68); + + creak.connect(creakFilter); + creakFilter.connect(creakEnv); + creakEnv.connect(this.gainNode); + creak.start(now); + creak.stop(now + 0.7); + + // 2. Iron mortise latch dual-click transient + [0.54, 0.62].forEach((offset, idx) => { + const click = ctx.createOscillator(); + click.type = 'triangle'; + click.frequency.setValueAtTime(idx === 0 ? 1100 : 750, now + offset); + click.frequency.exponentialRampToValueAtTime(180, now + offset + 0.03); + + const cEnv = ctx.createGain(); + cEnv.gain.setValueAtTime(0.28, now + offset); + cEnv.gain.exponentialRampToValueAtTime(0.001, now + offset + 0.035); + + click.connect(cEnv); + cEnv.connect(this.gainNode); + click.start(now + offset); + click.stop(now + offset + 0.04); + }); + } } window.WhoniverseAudioSynth = WhoniverseAudioSynth; @@ -1758,6 +1979,8 @@ class ExpandedSciFiAudioSynth { constructor(audioManager) { this.am = audioManager; this.gainNode = null; + this.medicalTimer = null; + this.sparkTimer = null; } init() { @@ -2321,13 +2544,1265 @@ class ExpandedSciFiAudioSynth { osc.start(now); osc.stop(now + duration); } + + /** + * Star Trek Comm Badge Confirmation Chirp + * Iconic bright two-tone pulse in rapid sequence (784 Hz to 1397 Hz) + */ + synthesizeCommBadge() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const tone1Freq = 784; // G5 + const tone2Freq = 1396.91; // F6 + + // Pulse 1 + const osc1 = ctx.createOscillator(); + osc1.type = 'sine'; + osc1.frequency.setValueAtTime(tone1Freq, now); + + const env1 = ctx.createGain(); + env1.gain.setValueAtTime(0.001, now); + env1.gain.linearRampToValueAtTime(0.38, now + 0.005); + env1.gain.exponentialRampToValueAtTime(0.001, now + 0.045); + + osc1.connect(env1); + env1.connect(this.gainNode); + osc1.start(now); + osc1.stop(now + 0.048); + + // Pulse 2 + const t2 = now + 0.038; + const osc2 = ctx.createOscillator(); + osc2.type = 'sine'; + osc2.frequency.setValueAtTime(tone2Freq, t2); + + const env2 = ctx.createGain(); + env2.gain.setValueAtTime(0.001, t2); + env2.gain.linearRampToValueAtTime(0.42, t2 + 0.006); + env2.gain.exponentialRampToValueAtTime(0.001, t2 + 0.095); + + osc2.connect(env2); + env2.connect(this.gainNode); + osc2.start(t2); + osc2.stop(t2 + 0.1); + } + + /** + * Starfleet Pneumatic Door Swish (Four Era Variants) + * Bandpass-filtered white noise burst shaped per era + */ + synthesizeDoorSwish(era = 'tng') { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + let centerFreq = 950; + let qVal = 1.8; + let duration = 0.45; + let noiseType = 'white'; + + switch (era) { + case 'tos': + centerFreq = 720; + qVal = 1.4; + duration = 0.38; + break; + case 'voyager': + centerFreq = 1250; + qVal = 2.4; + duration = 0.40; + break; + case 'nx': + centerFreq = 650; + qVal = 2.0; + duration = 0.55; + noiseType = 'pink'; + break; + case 'tng': + default: + centerFreq = 950; + qVal = 1.8; + duration = 0.45; + break; + } + + const noiseBuf = this.am.createNoiseBuffer(noiseType, duration + 0.1); + const noise = ctx.createBufferSource(); + noise.buffer = noiseBuf; + + const bp = ctx.createBiquadFilter(); + bp.type = 'bandpass'; + bp.frequency.setValueAtTime(centerFreq * 0.8, now); + bp.frequency.linearRampToValueAtTime(centerFreq * 1.15, now + duration * 0.4); + bp.frequency.exponentialRampToValueAtTime(centerFreq * 0.7, now + duration); + bp.Q.setValueAtTime(qVal, now); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, now); + env.gain.linearRampToValueAtTime(0.45, now + 0.03); + env.gain.exponentialRampToValueAtTime(0.001, now + duration); + + noise.connect(bp); + bp.connect(env); + env.connect(this.gainNode); + + noise.start(now); + noise.stop(now + duration + 0.02); + } + + /** + * Starfleet Bosun's Pipe Whistle (TOS Command Announce) + * Two-tone sine glide (1800 Hz -> 2400 Hz -> 1850 Hz) with gentle tremolo + */ + synthesizeBosunWhistle() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 0.85; + + const osc = ctx.createOscillator(); + osc.type = 'sine'; + osc.frequency.setValueAtTime(1800, now); + osc.frequency.linearRampToValueAtTime(2400, now + 0.22); + osc.frequency.setValueAtTime(2400, now + 0.48); + osc.frequency.linearRampToValueAtTime(1850, now + 0.75); + + const tremolo = ctx.createOscillator(); + tremolo.type = 'sine'; + tremolo.frequency.setValueAtTime(6.5, now); + + const tremGain = ctx.createGain(); + tremGain.gain.setValueAtTime(0.12, now); + tremolo.connect(tremGain); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, now); + env.gain.linearRampToValueAtTime(0.28, now + 0.05); + env.gain.setValueAtTime(0.28, now + 0.65); + env.gain.exponentialRampToValueAtTime(0.001, now + duration); + + tremGain.connect(env.gain); + + osc.connect(env); + env.connect(this.gainNode); + + osc.start(now); + tremolo.start(now); + osc.stop(now + duration); + tremolo.stop(now + duration); + } + + /** + * Starfleet Sickbay Medical Monitor ECG Ping + * Calm, periodic rhythmic vital signs pulse (1080 Hz sine, 40 ms decay) + */ + synthesizeMedicalMonitor() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 0.045; + + const osc = ctx.createOscillator(); + osc.type = 'sine'; + osc.frequency.setValueAtTime(1080, now); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, now); + env.gain.linearRampToValueAtTime(0.32, now + 0.003); + env.gain.exponentialRampToValueAtTime(0.0001, now + duration); + + osc.connect(env); + env.connect(this.gainNode); + + osc.start(now); + osc.stop(now + duration + 0.005); + } + + /** + * Sevastopol Electrical Conduit Spark Transient + * High-voltage electrical discharge arcs across damaged station bulkheads + */ + synthesizeSevastopolSpark() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const bursts = 2 + Math.floor(Math.random() * 2); + + for (let i = 0; i < bursts; i++) { + const offset = i * (0.015 + Math.random() * 0.02); + const t = now + offset; + const dur = 0.008 + Math.random() * 0.008; + + const noiseBuf = this.am.createNoiseBuffer('white', 0.05); + const noise = ctx.createBufferSource(); + noise.buffer = noiseBuf; + + const hp = ctx.createBiquadFilter(); + hp.type = 'highpass'; + hp.frequency.setValueAtTime(3600 + Math.random() * 800, t); + hp.Q.setValueAtTime(4.5, t); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.45, t); + env.gain.exponentialRampToValueAtTime(0.001, t + dur); + + noise.connect(hp); + hp.connect(env); + env.connect(this.gainNode); + + noise.start(t); + noise.stop(t + dur + 0.005); + } + } + + /** + * Moonbase Alpha Commlock Calling Tone (Space: 1999) + * Dual square wave pulse sequence (1100 Hz / 1500 Hz) + */ + synthesizeCommlockTone() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + + // Beep 1: 1100 Hz, 60 ms + const osc1 = ctx.createOscillator(); + osc1.type = 'square'; + osc1.frequency.setValueAtTime(1100, now); + + const env1 = ctx.createGain(); + env1.gain.setValueAtTime(0.001, now); + env1.gain.linearRampToValueAtTime(0.24, now + 0.004); + env1.gain.setValueAtTime(0.24, now + 0.055); + env1.gain.exponentialRampToValueAtTime(0.001, now + 0.062); + + osc1.connect(env1); + env1.connect(this.gainNode); + osc1.start(now); + osc1.stop(now + 0.065); + + // Beep 2: 1500 Hz, 75 ms starting at +0.082s + const t2 = now + 0.082; + const osc2 = ctx.createOscillator(); + osc2.type = 'square'; + osc2.frequency.setValueAtTime(1500, t2); + + const env2 = ctx.createGain(); + env2.gain.setValueAtTime(0.001, t2); + env2.gain.linearRampToValueAtTime(0.24, t2 + 0.004); + env2.gain.setValueAtTime(0.24, t2 + 0.07); + env2.gain.exponentialRampToValueAtTime(0.001, t2 + 0.078); + + osc2.connect(env2); + env2.connect(this.gainNode); + osc2.start(t2); + osc2.stop(t2 + 0.082); + } + + /** + * Gateway Station Medical Vital Telemetry Pip (Aliens) + * Clinical sterile 950 Hz pure sine pip (35 ms decay) + */ + synthesizeStationMedicalPing() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 0.038; + + const osc = ctx.createOscillator(); + osc.type = 'sine'; + osc.frequency.setValueAtTime(950, now); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, now); + env.gain.linearRampToValueAtTime(0.3, now + 0.003); + env.gain.exponentialRampToValueAtTime(0.0001, now + duration); + + osc.connect(env); + env.connect(this.gainNode); + + osc.start(now); + osc.stop(now + duration + 0.005); + } + + /** + * Solar Radiation / Heat Shield Roar (Icarus II / Sunshine) + * Terrifying lowpass brown noise roar with amplitude swell and crackle impulses + */ + synthesizeSolarRoar() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 3.6; + + // Lowpass brown noise body + const noiseBuf = this.am.createNoiseBuffer('brown', duration + 0.2); + const noise = ctx.createBufferSource(); + noise.buffer = noiseBuf; + + const lp = ctx.createBiquadFilter(); + lp.type = 'lowpass'; + lp.frequency.setValueAtTime(120, now); + lp.frequency.linearRampToValueAtTime(180, now + 1.5); + lp.frequency.exponentialRampToValueAtTime(90, now + duration); + lp.Q.setValueAtTime(2.2, now); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, now); + env.gain.linearRampToValueAtTime(0.72, now + 1.4); + env.gain.setValueAtTime(0.70, now + 2.2); + env.gain.exponentialRampToValueAtTime(0.001, now + duration); + + noise.connect(lp); + lp.connect(env); + env.connect(this.gainNode); + + noise.start(now); + noise.stop(now + duration + 0.05); + + // Highpass solar crackle layer + const crackleBuf = this.am.createNoiseBuffer('pink', duration); + const crackle = ctx.createBufferSource(); + crackle.buffer = crackleBuf; + + const hp = ctx.createBiquadFilter(); + hp.type = 'highpass'; + hp.frequency.setValueAtTime(3200, now); + hp.Q.setValueAtTime(4.0, now); + + const crackleEnv = ctx.createGain(); + crackleEnv.gain.setValueAtTime(0.001, now); + crackleEnv.gain.linearRampToValueAtTime(0.08, now + 1.2); + crackleEnv.gain.exponentialRampToValueAtTime(0.001, now + duration); + + crackle.connect(hp); + hp.connect(crackleEnv); + crackleEnv.connect(this.gainNode); + + crackle.start(now); + crackle.stop(now + duration); + } + + /** + * Cryogenic Pod Depressurization Sigh (Avalon / Ark One) + * Gas pressure relief with exponential filter decay followed by 205 Hz seal hum + */ + synthesizeCryoDepressurize() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 1.35; + + // Pneumatic gas depressurization sigh + const noiseBuf = this.am.createNoiseBuffer('white', 1.4); + const noise = ctx.createBufferSource(); + noise.buffer = noiseBuf; + + const lp = ctx.createBiquadFilter(); + lp.type = 'lowpass'; + lp.frequency.setValueAtTime(1800, now); + lp.frequency.exponentialRampToValueAtTime(280, now + 1.1); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, now); + env.gain.linearRampToValueAtTime(0.38, now + 0.06); + env.gain.exponentialRampToValueAtTime(0.001, now + 1.15); + + noise.connect(lp); + lp.connect(env); + env.connect(this.gainNode); + + noise.start(now); + noise.stop(now + 1.2); + + // Quiet motorized seal hum + const hum = ctx.createOscillator(); + hum.type = 'sine'; + hum.frequency.setValueAtTime(205, now + 0.35); + + const humEnv = ctx.createGain(); + humEnv.gain.setValueAtTime(0.001, now + 0.35); + humEnv.gain.linearRampToValueAtTime(0.18, now + 0.55); + humEnv.gain.exponentialRampToValueAtTime(0.001, now + duration); + + hum.connect(humEnv); + humEnv.connect(this.gainNode); + + hum.start(now + 0.35); + hum.stop(now + duration + 0.02); + } + + /** + * Mid-Century Orion Nuclear Pulse Thump (USS Ascension) + * Heavy 45 Hz lowpass square impulse with sub-bass body resonance + */ + synthesizeOrionPulseThump() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 0.22; + + const osc = ctx.createOscillator(); + osc.type = 'square'; + osc.frequency.setValueAtTime(45, now); + osc.frequency.exponentialRampToValueAtTime(24, now + 0.09); + + const lp = ctx.createBiquadFilter(); + lp.type = 'lowpass'; + lp.frequency.setValueAtTime(140, now); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.65, now); + env.gain.exponentialRampToValueAtTime(0.001, now + 0.085); + + osc.connect(lp); + lp.connect(env); + env.connect(this.gainNode); + + osc.start(now); + osc.stop(now + 0.09); + + const sub = ctx.createOscillator(); + sub.type = 'sine'; + sub.frequency.setValueAtTime(36, now); + + const subEnv = ctx.createGain(); + subEnv.gain.setValueAtTime(0.001, now); + subEnv.gain.linearRampToValueAtTime(0.55, now + 0.01); + subEnv.gain.exponentialRampToValueAtTime(0.0001, now + duration); + + sub.connect(subEnv); + subEnv.connect(this.gainNode); + + sub.start(now); + sub.stop(now + duration); + } + + /** + * Nutri-Matic Dedicated Tea Dispenser Gurgle (Heart of Gold) + * Bandpass bubbling noise hops (500–1000 Hz) terminating in a short steam hiss + */ + synthesizeTeaDispenser() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + + // Bubbling hops + const bubbleFreqs = [520, 840, 610, 960, 480, 730]; + bubbleFreqs.forEach((freq, i) => { + const t = now + i * 0.11; + const bDur = 0.09; + + const noiseBuf = this.am.createNoiseBuffer('pink', 0.12); + const noise = ctx.createBufferSource(); + noise.buffer = noiseBuf; + + const bp = ctx.createBiquadFilter(); + bp.type = 'bandpass'; + bp.frequency.setValueAtTime(freq, t); + bp.Q.setValueAtTime(6.0, t); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, t); + env.gain.linearRampToValueAtTime(0.35, t + 0.015); + env.gain.exponentialRampToValueAtTime(0.001, t + bDur); + + noise.connect(bp); + bp.connect(env); + env.connect(this.gainNode); + + noise.start(t); + noise.stop(t + bDur + 0.01); + }); + + // Steam hiss + const steamTime = now + 0.65; + const steamBuf = this.am.createNoiseBuffer('white', 0.45); + const steam = ctx.createBufferSource(); + steam.buffer = steamBuf; + + const steamFilter = ctx.createBiquadFilter(); + steamFilter.type = 'bandpass'; + steamFilter.frequency.setValueAtTime(2400, steamTime); + steamFilter.Q.setValueAtTime(3.0, steamTime); + + const steamEnv = ctx.createGain(); + steamEnv.gain.setValueAtTime(0.001, steamTime); + steamEnv.gain.linearRampToValueAtTime(0.28, steamTime + 0.04); + steamEnv.gain.exponentialRampToValueAtTime(0.001, steamTime + 0.42); + + steam.connect(steamFilter); + steamFilter.connect(steamEnv); + steamEnv.connect(this.gainNode); + + steam.start(steamTime); + steam.stop(steamTime + 0.45); + } + + /** + * British Electric Kettle Steam Whistle (HMS Camden Lock / Hyperdrive) + * Narrow bandpass sine sweeping 1820 Hz to 2380 Hz with steady tremolo + */ + synthesizeKettleWhistle() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 1.6; + + const osc = ctx.createOscillator(); + osc.type = 'sine'; + osc.frequency.setValueAtTime(1820, now); + osc.frequency.exponentialRampToValueAtTime(2380, now + duration * 0.7); + osc.frequency.linearRampToValueAtTime(2320, now + duration); + + const tremolo = ctx.createOscillator(); + tremolo.type = 'sine'; + tremolo.frequency.setValueAtTime(5.2, now); + + const tremGain = ctx.createGain(); + tremGain.gain.setValueAtTime(0.15, now); + tremolo.connect(tremGain); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, now); + env.gain.linearRampToValueAtTime(0.26, now + 0.25); + env.gain.setValueAtTime(0.26, now + 1.2); + env.gain.exponentialRampToValueAtTime(0.001, now + duration); + + tremGain.connect(env.gain); + + osc.connect(env); + env.connect(this.gainNode); + + osc.start(now); + tremolo.start(now); + osc.stop(now + duration); + tremolo.stop(now + duration); + } + + /** + * Ludicrous Speed Plaid Alarm (Spaceball One) + * Two-tone alternating square wave siren (440 Hz / 880 Hz) + */ + synthesizePlaidAlarm() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const steps = 6; + const stepDur = 0.12; + + for (let i = 0; i < steps; i++) { + const t = now + i * stepDur; + const freq = (i % 2 === 0) ? 440 : 880; + + const osc = ctx.createOscillator(); + osc.type = 'square'; + osc.frequency.setValueAtTime(freq, t); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, t); + env.gain.linearRampToValueAtTime(0.28, t + 0.006); + env.gain.setValueAtTime(0.28, t + stepDur - 0.01); + env.gain.exponentialRampToValueAtTime(0.001, t + stepDur); + + osc.connect(env); + env.connect(this.gainNode); + + osc.start(t); + osc.stop(t + stepDur + 0.005); + } + } + + /** + * Dedicated Cassette Transport Clunk & Whirr (Milano / Bebop) + * Dual square transient click (120 Hz / 360 Hz) followed by 2200 Hz capstan tone with flutter + */ + synthesizeCassetteTransport() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + + // Dual square mechanical button clunk + [120, 360].forEach((freq) => { + const osc = ctx.createOscillator(); + osc.type = 'square'; + osc.frequency.setValueAtTime(freq, now); + osc.frequency.exponentialRampToValueAtTime(40, now + 0.028); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.35, now); + env.gain.exponentialRampToValueAtTime(0.001, now + 0.03); + + osc.connect(env); + env.connect(this.gainNode); + + osc.start(now); + osc.stop(now + 0.032); + }); + + // 12V capstan motor tone + tape flutter + const motorTime = now + 0.04; + const motorDur = 0.95; + + const motor = ctx.createOscillator(); + motor.type = 'sine'; + motor.frequency.setValueAtTime(2200, motorTime); + + const flutter = ctx.createOscillator(); + flutter.type = 'sine'; + flutter.frequency.setValueAtTime(8.2, motorTime); + + const flutGain = ctx.createGain(); + flutGain.gain.setValueAtTime(35, motorTime); + flutter.connect(flutGain); + flutGain.connect(motor.frequency); + + const motorEnv = ctx.createGain(); + motorEnv.gain.setValueAtTime(0.001, motorTime); + motorEnv.gain.linearRampToValueAtTime(0.12, motorTime + 0.08); + motorEnv.gain.exponentialRampToValueAtTime(0.001, motorTime + motorDur); + + motor.connect(motorEnv); + motorEnv.connect(this.gainNode); + + motor.start(motorTime); + flutter.start(motorTime); + motor.stop(motorTime + motorDur); + flutter.stop(motorTime + motorDur); + + // Tape noise bed + const tapeBuf = this.am.createNoiseBuffer('pink', motorDur); + const tape = ctx.createBufferSource(); + tape.buffer = tapeBuf; + + const tapeFilter = ctx.createBiquadFilter(); + tapeFilter.type = 'bandpass'; + tapeFilter.frequency.setValueAtTime(3200, motorTime); + tapeFilter.Q.setValueAtTime(2.0, motorTime); + + const tapeEnv = ctx.createGain(); + tapeEnv.gain.setValueAtTime(0.001, motorTime); + tapeEnv.gain.linearRampToValueAtTime(0.08, motorTime + 0.05); + tapeEnv.gain.exponentialRampToValueAtTime(0.001, motorTime + motorDur); + + tape.connect(tapeFilter); + tapeFilter.connect(tapeEnv); + tapeEnv.connect(this.gainNode); + + tape.start(motorTime); + tape.stop(motorTime + motorDur); + } + + /** + * Grappler Arm Servo Motor Whine (Outlaw Star / Bebop) + * Swept triangle wave (220 Hz -> 680 Hz) through resonant bandpass filter + */ + synthesizeGrapplerServo() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 0.44; + + const osc = ctx.createOscillator(); + osc.type = 'triangle'; + osc.frequency.setValueAtTime(220, now); + osc.frequency.exponentialRampToValueAtTime(680, now + duration * 0.7); + osc.frequency.linearRampToValueAtTime(540, now + duration); + + const bp = ctx.createBiquadFilter(); + bp.type = 'bandpass'; + bp.frequency.setValueAtTime(320, now); + bp.frequency.exponentialRampToValueAtTime(820, now + duration * 0.7); + bp.Q.setValueAtTime(3.2, now); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.001, now); + env.gain.linearRampToValueAtTime(0.38, now + 0.04); + env.gain.exponentialRampToValueAtTime(0.001, now + duration); + + osc.connect(bp); + bp.connect(env); + env.connect(this.gainNode); + + osc.start(now); + osc.stop(now + duration + 0.01); + } + + /** + * True RF Radio Static Burst (The Betty / The Marauder) + * Bandpass-filtered pink/white noise burst (300–3200 Hz) with hard-knee square gate + */ + synthesizeRadioStatic() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + const duration = 0.18; + + const noiseBuf = this.am.createNoiseBuffer('pink', 0.25); + const noise = ctx.createBufferSource(); + noise.buffer = noiseBuf; + + const bp = ctx.createBiquadFilter(); + bp.type = 'bandpass'; + bp.frequency.setValueAtTime(1400, now); + bp.Q.setValueAtTime(1.1, now); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.42, now); + env.gain.setValueAtTime(0.40, now + duration - 0.02); + env.gain.exponentialRampToValueAtTime(0.001, now + duration); + + noise.connect(bp); + bp.connect(env); + env.connect(this.gainNode); + + noise.start(now); + noise.stop(now + duration + 0.01); + } + + /** + * Magnetic Boot ("Mag-Boot") Latch (Ceres / Tycho / The Expanse) + * Low-frequency impact thump (80 Hz click) followed by 120 Hz inductive clamp buzz + */ + synthesizeMagBootLatch() { + this.init(); + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return; + + const now = ctx.currentTime; + + // Stage 1: Impact thump + const thump = ctx.createOscillator(); + thump.type = 'triangle'; + thump.frequency.setValueAtTime(80, now); + thump.frequency.exponentialRampToValueAtTime(32, now + 0.03); + + const thumpEnv = ctx.createGain(); + thumpEnv.gain.setValueAtTime(0.5, now); + thumpEnv.gain.exponentialRampToValueAtTime(0.001, now + 0.035); + + thump.connect(thumpEnv); + thumpEnv.connect(this.gainNode); + thump.start(now); + thump.stop(now + 0.038); + + // Stage 2: 120 Hz inductive clamping buzz + const buzzTime = now + 0.025; + const buzz = ctx.createOscillator(); + buzz.type = 'square'; + buzz.frequency.setValueAtTime(120, buzzTime); + + const buzzFilter = ctx.createBiquadFilter(); + buzzFilter.type = 'lowpass'; + buzzFilter.frequency.setValueAtTime(420, buzzTime); + + const buzzEnv = ctx.createGain(); + buzzEnv.gain.setValueAtTime(0.001, buzzTime); + buzzEnv.gain.linearRampToValueAtTime(0.32, buzzTime + 0.01); + buzzEnv.gain.exponentialRampToValueAtTime(0.001, buzzTime + 0.16); + + buzz.connect(buzzFilter); + buzzFilter.connect(buzzEnv); + buzzEnv.connect(this.gainNode); + + buzz.start(buzzTime); + buzz.stop(buzzTime + 0.17); + } + + /** + * Background Loop: Periodic Medical Vital Signs Monitor (ECG) + */ + startMedicalMonitor(intervalSeconds = 1.1) { + this.stopMedicalMonitor(); + const tick = () => { + this.synthesizeMedicalMonitor(); + this.medicalTimer = setTimeout(tick, intervalSeconds * 1000); + }; + tick(); + } + + stopMedicalMonitor() { + if (this.medicalTimer) { + clearTimeout(this.medicalTimer); + this.medicalTimer = null; + } + } + + /** + * Background Loop: Random Electrical Sparks on Damaged Stations + */ + startStationSparks(minIntervalMs = 4000, maxIntervalMs = 12000) { + this.stopStationSparks(); + const scheduleNext = () => { + const delay = minIntervalMs + Math.random() * (maxIntervalMs - minIntervalMs); + this.sparkTimer = setTimeout(() => { + this.synthesizeSevastopolSpark(); + scheduleNext(); + }, delay); + }; + scheduleNext(); + } + + stopStationSparks() { + if (this.sparkTimer) { + clearTimeout(this.sparkTimer); + this.sparkTimer = null; + } + } + + stopAllLoops() { + this.stopMedicalMonitor(); + this.stopStationSparks(); + } } window.ExpandedSciFiAudioSynth = ExpandedSciFiAudioSynth; /** - * Canonical Starship & Location Sound Profiles Matrix - * Each preset defines the exact parameters for Hull Drone, Warp Core, Life Support, and Telemetry. + * Layered & Staged Engine Startup and Shutdown Synthesizer + * Synthesizes chronological multi-phase acoustic scripts for 15 distinct starship archetypes. */ +class EngineTransitionSynth { + constructor(audioManager) { + this.am = audioManager; + this.gainNode = null; + this.activeNodes = []; + this.activeTimeouts = []; + } + + init() { + if (!this.am.ctx) return; + if (!this.gainNode) { + this.gainNode = this.am.ctx.createGain(); + this.gainNode.gain.setValueAtTime(0.85, this.am.ctx.currentTime); + this.gainNode.connect(this.am.compressor); + } + } + + stopTransitions() { + this.activeTimeouts.forEach(t => clearTimeout(t)); + this.activeTimeouts = []; + this.activeNodes.forEach(node => { + try { if (node.stop) node.stop(); } catch (e) {} + try { node.disconnect(); } catch (e) {} + }); + this.activeNodes = []; + } + + _tone({ type = 'sine', startFreq, endFreq, startTime, duration, startVol = 0.001, peakVol = 0.4, endVol = 0.0001, filterType = null, filterFreq = 1000, filterQ = 1.0 }) { + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return null; + const osc = ctx.createOscillator(); + osc.type = type; + osc.frequency.setValueAtTime(Math.max(10, startFreq), startTime); + if (endFreq && endFreq !== startFreq) { + osc.frequency.exponentialRampToValueAtTime(Math.max(10, endFreq), startTime + duration); + } + + const env = ctx.createGain(); + env.gain.setValueAtTime(Math.max(0.0001, startVol), startTime); + const attack = Math.min(0.08, duration * 0.25); + env.gain.linearRampToValueAtTime(peakVol, startTime + attack); + env.gain.exponentialRampToValueAtTime(Math.max(0.0001, endVol), startTime + duration); + + let lastNode = osc; + if (filterType) { + const filter = ctx.createBiquadFilter(); + filter.type = filterType; + filter.frequency.setValueAtTime(filterFreq, startTime); + filter.Q.setValueAtTime(filterQ, startTime); + lastNode.connect(filter); + lastNode = filter; + this.activeNodes.push(filter); + } + + lastNode.connect(env); + env.connect(this.gainNode); + + osc.start(startTime); + osc.stop(startTime + duration); + + this.activeNodes.push(osc, env); + return osc; + } + + _noise({ noiseType = 'pink', filterType = 'bandpass', startFreq = 800, endFreq = 800, Q = 1.5, startTime, duration, peakVol = 0.35 }) { + const ctx = this.am.ctx; + if (!ctx || !this.gainNode) return null; + const buf = this.am.createNoiseBuffer(noiseType, Math.max(3, Math.ceil(duration + 1))); + const src = ctx.createBufferSource(); + src.buffer = buf; + + const filter = ctx.createBiquadFilter(); + filter.type = filterType; + filter.frequency.setValueAtTime(Math.max(20, startFreq), startTime); + if (endFreq && endFreq !== startFreq) { + filter.frequency.exponentialRampToValueAtTime(Math.max(20, endFreq), startTime + duration); + } + filter.Q.setValueAtTime(Q, startTime); + + const env = ctx.createGain(); + env.gain.setValueAtTime(0.0001, startTime); + const attack = Math.min(0.12, duration * 0.3); + env.gain.linearRampToValueAtTime(peakVol, startTime + attack); + env.gain.exponentialRampToValueAtTime(0.0001, startTime + duration); + + src.connect(filter); + filter.connect(env); + env.connect(this.gainNode); + + src.start(startTime); + src.stop(startTime + duration); + + this.activeNodes.push(src, filter, env); + return src; + } + + _click(startTime, freq = 140, duration = 0.035, vol = 0.4, type = 'square') { + return this._tone({ type, startFreq: freq, endFreq: 25, startTime, duration, peakVol: vol, endVol: 0.0001 }); + } + + _sub(startTime, startFreq = 70, endFreq = 30, duration = 0.8, vol = 0.6) { + return this._tone({ type: 'sine', startFreq, endFreq, startTime, duration, peakVol: vol, endVol: 0.0001 }); + } + + _chime(startTime, pitches = [880, 1174, 1567], step = 0.05, duration = 0.35, vol = 0.25) { + pitches.forEach((freq, idx) => { + const t = startTime + idx * step; + this._tone({ type: 'sine', startFreq: freq, endFreq: freq * 1.01, startTime: t, duration, peakVol: vol, endVol: 0.0001 }); + }); + } + + playStartup(profileKey = 'galaxy', duration = 2.5) { + this.init(); + if (!this.am.ctx) return; + this.stopTransitions(); + const now = this.am.ctx.currentTime; + const s = duration / 2.5; + + switch (profileKey) { + case 'intrepid': this._startupIntrepid(now, s); break; + case 'defiant': this._startupDefiant(now, s); break; + case 'cardassian': this._startupCardassian(now, s); break; + case 'tos': this._startupTOS(now, s); break; + case 'nx': this._startupNX(now, s); break; + case 'tardis': this._startupTardis(now, s); break; + case 'industrial': this._startupIndustrial(now, s); break; + case 'bioship': this._startupBioship(now, s); break; + case 'retrofuture': this._startupRetrofuture(now, s); break; + case 'military': this._startupMilitary(now, s); break; + case 'deepspace': this._startupDeepSpace(now, s); break; + case 'outlaw': this._startupOutlaw(now, s); break; + case 'station': this._startupStation(now, s); break; + case 'comedy': this._startupComedy(now, s); break; + case 'galaxy': + default: + this._startupGalaxy(now, s); + break; + } + } + + playShutdown(profileKey = 'galaxy', duration = 2.5) { + this.init(); + if (!this.am.ctx) return; + this.stopTransitions(); + const now = this.am.ctx.currentTime; + const s = duration / 2.5; + + switch (profileKey) { + case 'intrepid': this._shutdownIntrepid(now, s); break; + case 'defiant': this._shutdownDefiant(now, s); break; + case 'cardassian': this._shutdownCardassian(now, s); break; + case 'tos': this._shutdownTOS(now, s); break; + case 'nx': this._shutdownNX(now, s); break; + case 'tardis': this._shutdownTardis(now, s); break; + case 'industrial': this._shutdownIndustrial(now, s); break; + case 'bioship': this._shutdownBioship(now, s); break; + case 'retrofuture': this._shutdownRetrofuture(now, s); break; + case 'military': this._shutdownMilitary(now, s); break; + case 'deepspace': this._shutdownDeepSpace(now, s); break; + case 'outlaw': this._shutdownOutlaw(now, s); break; + case 'station': this._shutdownStation(now, s); break; + case 'comedy': this._shutdownComedy(now, s); break; + case 'galaxy': + default: + this._shutdownGalaxy(now, s); + break; + } + } + + // 1. TNG GALAXY CLASS + _startupGalaxy(now, s) { + this._click(now, 150, 0.04, 0.45); + this._click(now + 0.14 * s, 110, 0.03, 0.35); + this._tone({ type: 'sine', startFreq: 60, endFreq: 140, startTime: now + 0.05 * s, duration: 0.65 * s, peakVol: 0.35 }); + this._tone({ type: 'sawtooth', startFreq: 120, endFreq: 480, startTime: now + 0.7 * s, duration: 1.1 * s, peakVol: 0.28, filterType: 'lowpass', filterFreq: 750, filterQ: 3.5 }); + this._sub(now + 0.85 * s, 65, 80, 0.95 * s, 0.55); + this._noise({ noiseType: 'pink', filterType: 'lowpass', startFreq: 200, endFreq: 600, startTime: now + 0.9 * s, duration: 0.9 * s, peakVol: 0.25 }); + this._chime(now + 1.8 * s, [784, 1046, 1318], 0.06 * s, 0.5 * s, 0.3); + this._sub(now + 1.8 * s, 80, 58, 0.65 * s, 0.45); + } + _shutdownGalaxy(now, s) { + this._click(now, 160, 0.05, 0.5); + this._sub(now, 85, 40, 0.65 * s, 0.6); + this._tone({ type: 'sawtooth', startFreq: 460, endFreq: 75, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.25, filterType: 'lowpass', filterFreq: 600, filterQ: 2.0 }); + this._noise({ noiseType: 'pink', filterType: 'bandpass', startFreq: 650, endFreq: 180, startTime: now + 0.75 * s, duration: 1.0 * s, peakVol: 0.28 }); + this._tone({ type: 'sine', startFreq: 75, endFreq: 24, startTime: now + 1.7 * s, duration: 0.75 * s, peakVol: 0.35 }); + } + + // 2. VOYAGER INTREPID CLASS + _startupIntrepid(now, s) { + this._click(now, 450, 0.025, 0.35); + this._click(now + 0.08 * s, 680, 0.025, 0.35); + this._tone({ type: 'triangle', startFreq: 240, endFreq: 580, startTime: now + 0.1 * s, duration: 0.6 * s, peakVol: 0.3 }); + this._tone({ type: 'sawtooth', startFreq: 320, endFreq: 1650, startTime: now + 0.7 * s, duration: 1.1 * s, peakVol: 0.35, filterType: 'bandpass', filterFreq: 1400, filterQ: 4.5 }); + this._sub(now + 0.8 * s, 70, 95, 0.9 * s, 0.45); + this._noise({ noiseType: 'white', filterType: 'bandpass', startFreq: 1200, endFreq: 2400, startTime: now + 0.85 * s, duration: 0.9 * s, peakVol: 0.22 }); + this._chime(now + 1.8 * s, [1174, 1567, 2093], 0.05 * s, 0.45 * s, 0.28); + this._tone({ type: 'sine', startFreq: 95, endFreq: 70, startTime: now + 1.85 * s, duration: 0.65 * s, peakVol: 0.4 }); + } + _shutdownIntrepid(now, s) { + this._click(now, 520, 0.03, 0.4); + this._sub(now, 95, 50, 0.5 * s, 0.5); + this._tone({ type: 'sawtooth', startFreq: 1600, endFreq: 140, startTime: now + 0.5 * s, duration: 1.2 * s, peakVol: 0.28, filterType: 'lowpass', filterFreq: 1200 }); + this._noise({ noiseType: 'white', filterType: 'highpass', startFreq: 1400, endFreq: 400, startTime: now + 0.6 * s, duration: 0.8 * s, peakVol: 0.25 }); + this._tone({ type: 'sine', startFreq: 140, endFreq: 30, startTime: now + 1.7 * s, duration: 0.8 * s, peakVol: 0.25 }); + } + + // 3. DEFIANT ESCORT + _startupDefiant(now, s) { + this._click(now, 90, 0.06, 0.6, 'square'); + this._tone({ type: 'sawtooth', startFreq: 50, endFreq: 120, startTime: now + 0.05 * s, duration: 0.6 * s, peakVol: 0.4, filterType: 'lowpass', filterFreq: 300 }); + this._sub(now + 0.65 * s, 35, 95, 1.1 * s, 0.7); + this._tone({ type: 'sawtooth', startFreq: 180, endFreq: 740, startTime: now + 0.7 * s, duration: 1.1 * s, peakVol: 0.32, filterType: 'bandpass', filterFreq: 550, filterQ: 3.0 }); + this._chime(now + 1.8 * s, [660, 880], 0.08 * s, 0.4 * s, 0.35); + this._sub(now + 1.8 * s, 95, 68, 0.7 * s, 0.5); + } + _shutdownDefiant(now, s) { + this._click(now, 110, 0.05, 0.6); + this._sub(now, 90, 35, 0.6 * s, 0.65); + this._tone({ type: 'sawtooth', startFreq: 720, endFreq: 60, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.3, filterType: 'lowpass', filterFreq: 450 }); + this._noise({ noiseType: 'pink', filterType: 'lowpass', startFreq: 500, endFreq: 120, startTime: now + 0.7 * s, duration: 1.0 * s, peakVol: 0.3 }); + this._tone({ type: 'sine', startFreq: 60, endFreq: 22, startTime: now + 1.7 * s, duration: 0.8 * s, peakVol: 0.35 }); + } + + // 4. CARDASSIAN / DS9 + _startupCardassian(now, s) { + this._click(now, 85, 0.08, 0.55); + this._tone({ type: 'triangle', startFreq: 165, endFreq: 110, startTime: now, duration: 0.7 * s, peakVol: 0.4 }); + this._sub(now + 0.7 * s, 32, 68, 1.1 * s, 0.65); + this._tone({ type: 'sawtooth', startFreq: 80, endFreq: 260, startTime: now + 0.7 * s, duration: 1.1 * s, peakVol: 0.3, filterType: 'lowpass', filterFreq: 320 }); + this._noise({ noiseType: 'brown', filterType: 'lowpass', startFreq: 180, endFreq: 350, startTime: now + 0.8 * s, duration: 1.0 * s, peakVol: 0.3 }); + this._chime(now + 1.8 * s, [330, 440], 0.1 * s, 0.5 * s, 0.35); + } + _shutdownCardassian(now, s) { + this._click(now, 95, 0.06, 0.5); + this._sub(now, 68, 30, 0.6 * s, 0.6); + this._tone({ type: 'sawtooth', startFreq: 250, endFreq: 40, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.25, filterType: 'lowpass', filterFreq: 220 }); + this._noise({ noiseType: 'brown', filterType: 'bandpass', startFreq: 240, endFreq: 80, startTime: now + 0.7 * s, duration: 1.1 * s, peakVol: 0.25 }); + this._tone({ type: 'sine', startFreq: 40, endFreq: 20, startTime: now + 1.7 * s, duration: 0.8 * s, peakVol: 0.3 }); + } + + // 5. TOS 1960s + _startupTOS(now, s) { + this._click(now, 220, 0.03, 0.45); + this._tone({ type: 'sine', startFreq: 80, endFreq: 180, startTime: now + 0.04 * s, duration: 0.6 * s, peakVol: 0.35 }); + this._tone({ type: 'sine', startFreq: 220, endFreq: 980, startTime: now + 0.65 * s, duration: 1.15 * s, peakVol: 0.32 }); + this._tone({ type: 'triangle', startFreq: 225, endFreq: 990, startTime: now + 0.65 * s, duration: 1.15 * s, peakVol: 0.2 }); + this._chime(now + 1.8 * s, [880, 1108], 0.08 * s, 0.35 * s, 0.3); + } + _shutdownTOS(now, s) { + this._click(now, 260, 0.035, 0.45); + this._tone({ type: 'sine', startFreq: 950, endFreq: 90, startTime: now + 0.5 * s, duration: 1.2 * s, peakVol: 0.3 }); + this._tone({ type: 'sine', startFreq: 2400, endFreq: 400, startTime: now + 0.6 * s, duration: 0.8 * s, peakVol: 0.15 }); + this._tone({ type: 'sine', startFreq: 90, endFreq: 25, startTime: now + 1.7 * s, duration: 0.8 * s, peakVol: 0.25 }); + } + + // 6. NX-01 PROTOTYPE + _startupNX(now, s) { + [0, 0.12, 0.24, 0.36, 0.48].forEach(dt => this._click(now + dt * s, 110, 0.04, 0.45)); + this._tone({ type: 'sawtooth', startFreq: 95, endFreq: 420, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.32, filterType: 'lowpass', filterFreq: 600 }); + this._sub(now + 0.8 * s, 45, 75, 1.0 * s, 0.6); + this._noise({ noiseType: 'brown', filterType: 'lowpass', startFreq: 220, endFreq: 480, startTime: now + 0.85 * s, duration: 0.95 * s, peakVol: 0.3 }); + this._click(now + 1.8 * s, 180, 0.03, 0.4); + } + _shutdownNX(now, s) { + this._click(now, 95, 0.06, 0.55); + this._sub(now, 75, 35, 0.6 * s, 0.6); + [0.6, 0.85, 1.15, 1.5].forEach(dt => this._click(now + dt * s, 85, 0.04, 0.35)); + this._noise({ noiseType: 'pink', filterType: 'highpass', startFreq: 900, endFreq: 300, startTime: now + 0.7 * s, duration: 1.0 * s, peakVol: 0.25 }); + this._tone({ type: 'sine', startFreq: 40, endFreq: 18, startTime: now + 1.7 * s, duration: 0.8 * s, peakVol: 0.3 }); + } + + // 7. TARDIS DIMENSIONAL + _startupTardis(now, s) { + this._click(now, 80, 0.06, 0.55); + this._tone({ type: 'sawtooth', startFreq: 140, endFreq: 680, startTime: now + 0.5 * s, duration: 1.3 * s, peakVol: 0.32, filterType: 'bandpass', filterFreq: 550, filterQ: 3.0 }); + this._tone({ type: 'sine', startFreq: 70, endFreq: 220, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.35 }); + this._chime(now + 1.8 * s, [1046, 1318, 1567], 0.06 * s, 0.45 * s, 0.3); + } + _shutdownTardis(now, s) { + this._click(now, 90, 0.05, 0.5); + this._tone({ type: 'sawtooth', startFreq: 620, endFreq: 75, startTime: now + 0.5 * s, duration: 1.3 * s, peakVol: 0.28, filterType: 'bandpass', filterFreq: 350, filterQ: 2.0 }); + this._chime(now + 0.8 * s, [440], 0.1, 0.7 * s, 0.3); + this._noise({ noiseType: 'pink', filterType: 'lowpass', startFreq: 350, endFreq: 80, startTime: now + 1.6 * s, duration: 0.9 * s, peakVol: 0.2 }); + } + + // 8. INDUSTRIAL FREIGHTER + _startupIndustrial(now, s) { + this._click(now, 75, 0.08, 0.6); + this._noise({ noiseType: 'white', filterType: 'highpass', startFreq: 1800, endFreq: 800, startTime: now + 0.05 * s, duration: 0.4 * s, peakVol: 0.35 }); + this._tone({ type: 'sawtooth', startFreq: 55, endFreq: 290, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.35, filterType: 'lowpass', filterFreq: 400 }); + this._sub(now + 0.7 * s, 35, 65, 1.1 * s, 0.7); + this._noise({ noiseType: 'brown', filterType: 'bandpass', startFreq: 400, endFreq: 900, startTime: now + 0.8 * s, duration: 1.0 * s, peakVol: 0.3 }); + this._sub(now + 1.8 * s, 65, 40, 0.7 * s, 0.6); + } + _shutdownIndustrial(now, s) { + this._click(now, 85, 0.07, 0.65); + this._sub(now, 65, 28, 0.6 * s, 0.6); + this._noise({ noiseType: 'white', filterType: 'lowpass', startFreq: 2400, endFreq: 400, startTime: now + 0.5 * s, duration: 1.3 * s, peakVol: 0.38 }); + this._tone({ type: 'sawtooth', startFreq: 280, endFreq: 40, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.25, filterType: 'lowpass', filterFreq: 300 }); + [1.7, 1.95, 2.2].forEach(dt => this._click(now + dt * s, 320, 0.02, 0.25)); + } + + // 9. BIOSHIP + _startupBioship(now, s) { + this._chime(now, [784, 1174, 1567], 0.04 * s, 0.3 * s, 0.25); + this._sub(now + 0.6 * s, 42, 28, 0.4 * s, 0.65); + this._sub(now + 0.95 * s, 44, 28, 0.4 * s, 0.7); + this._tone({ type: 'sine', startFreq: 260, endFreq: 540, startTime: now + 0.7 * s, duration: 1.1 * s, peakVol: 0.32 }); + this._noise({ noiseType: 'pink', filterType: 'bandpass', startFreq: 250, endFreq: 600, startTime: now + 1.7 * s, duration: 0.8 * s, peakVol: 0.3 }); + } + _shutdownBioship(now, s) { + this._noise({ noiseType: 'pink', filterType: 'bandpass', startFreq: 550, endFreq: 180, startTime: now, duration: 1.1 * s, peakVol: 0.35 }); + this._sub(now + 0.5 * s, 38, 25, 0.4 * s, 0.55); + this._sub(now + 1.1 * s, 34, 22, 0.4 * s, 0.45); + this._tone({ type: 'sine', startFreq: 480, endFreq: 180, startTime: now + 0.6 * s, duration: 1.1 * s, peakVol: 0.22 }); + this._tone({ type: 'sine', startFreq: 35, endFreq: 18, startTime: now + 1.7 * s, duration: 0.8 * s, peakVol: 0.25 }); + } + + // 10. RETROFUTURE + _startupRetrofuture(now, s) { + [0, 0.07, 0.14, 0.21].forEach(dt => this._click(now + dt * s, 380, 0.02, 0.3)); + this._tone({ type: 'triangle', startFreq: 95, endFreq: 580, startTime: now + 0.5 * s, duration: 1.3 * s, peakVol: 0.35, filterType: 'lowpass', filterFreq: 650 }); + this._tone({ type: 'sine', startFreq: 100, endFreq: 590, startTime: now + 0.5 * s, duration: 1.3 * s, peakVol: 0.25 }); + this._chime(now + 1.8 * s, [920], 0.1, 0.5 * s, 0.35); + } + _shutdownRetrofuture(now, s) { + this._click(now, 140, 0.05, 0.55); + this._tone({ type: 'triangle', startFreq: 550, endFreq: 65, startTime: now + 0.5 * s, duration: 1.2 * s, peakVol: 0.28 }); + this._noise({ noiseType: 'pink', filterType: 'bandpass', startFreq: 450, endFreq: 150, startTime: now + 0.6 * s, duration: 1.1 * s, peakVol: 0.22 }); + this._tone({ type: 'sine', startFreq: 3200, endFreq: 120, startTime: now + 1.7 * s, duration: 0.7 * s, peakVol: 0.2 }); + } + + // 11. MILITARY + _startupMilitary(now, s) { + this._click(now, 120, 0.06, 0.6); + this._tone({ type: 'square', startFreq: 60, endFreq: 120, startTime: now, duration: 0.6 * s, peakVol: 0.35, filterType: 'lowpass', filterFreq: 250 }); + this._tone({ type: 'sawtooth', startFreq: 140, endFreq: 880, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.35, filterType: 'bandpass', filterFreq: 750, filterQ: 3.0 }); + this._sub(now + 0.7 * s, 40, 85, 1.1 * s, 0.65); + this._chime(now + 1.8 * s, [750, 750], 0.08 * s, 0.35 * s, 0.35); + } + _shutdownMilitary(now, s) { + this._click(now, 150, 0.04, 0.5); + this._chime(now + 0.05 * s, [880], 0.1, 0.3 * s, 0.35); + this._tone({ type: 'sawtooth', startFreq: 850, endFreq: 70, startTime: now + 0.5 * s, duration: 1.3 * s, peakVol: 0.28, filterType: 'lowpass', filterFreq: 500 }); + this._noise({ noiseType: 'pink', filterType: 'lowpass', startFreq: 600, endFreq: 140, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.28 }); + this._sub(now + 1.7 * s, 70, 25, 0.8 * s, 0.4); + } + + // 12. DEEP SPACE + _startupDeepSpace(now, s) { + this._noise({ noiseType: 'white', filterType: 'bandpass', startFreq: 2400, endFreq: 1200, startTime: now, duration: 0.65 * s, peakVol: 0.32 }); + this._sub(now + 0.7 * s, 28, 68, 1.1 * s, 0.7); + this._tone({ type: 'sine', startFreq: 110, endFreq: 280, startTime: now + 0.75 * s, duration: 1.1 * s, peakVol: 0.3 }); + this._chime(now + 1.8 * s, [440, 554], 0.1 * s, 0.5 * s, 0.25); + } + _shutdownDeepSpace(now, s) { + this._sub(now, 68, 25, 0.7 * s, 0.65); + this._tone({ type: 'sine', startFreq: 260, endFreq: 50, startTime: now + 0.6 * s, duration: 1.2 * s, peakVol: 0.25 }); + this._noise({ noiseType: 'brown', filterType: 'lowpass', startFreq: 200, endFreq: 40, startTime: now + 0.7 * s, duration: 1.1 * s, peakVol: 0.3 }); + this._sub(now + 1.7 * s, 35, 15, 0.8 * s, 0.25); + } + + // 13. OUTLAW + _startupOutlaw(now, s) { + [0, 0.1, 0.22, 0.32, 0.44].forEach(dt => this._click(now + dt * s, 130 + Math.random() * 40, 0.035, 0.4)); + this._tone({ type: 'sawtooth', startFreq: 70, endFreq: 130, startTime: now + 0.1 * s, duration: 0.5 * s, peakVol: 0.3, filterType: 'lowpass', filterFreq: 280 }); + this._tone({ type: 'sawtooth', startFreq: 180, endFreq: 1150, startTime: now + 0.65 * s, duration: 1.15 * s, peakVol: 0.35, filterType: 'bandpass', filterFreq: 900, filterQ: 4.0 }); + this._sub(now + 0.7 * s, 45, 80, 1.1 * s, 0.65); + this._noise({ noiseType: 'white', filterType: 'highpass', startFreq: 2800, endFreq: 1500, startTime: now + 1.8 * s, duration: 0.3 * s, peakVol: 0.35 }); + } + _shutdownOutlaw(now, s) { + this._click(now, 70, 0.08, 0.7, 'sawtooth'); + this._sub(now, 90, 40, 0.4 * s, 0.7); + [0.5, 0.8, 1.15, 1.55].forEach(dt => this._click(now + dt * s, 90, 0.04, 0.35)); + this._tone({ type: 'sawtooth', startFreq: 750, endFreq: 55, startTime: now + 0.5 * s, duration: 1.3 * s, peakVol: 0.25, filterType: 'lowpass', filterFreq: 350 }); + this._noise({ noiseType: 'pink', filterType: 'lowpass', startFreq: 350, endFreq: 80, startTime: now + 1.7 * s, duration: 0.8 * s, peakVol: 0.25 }); + } + + // 14. STATION + _startupStation(now, s) { + this._chime(now, [587, 880], 0.08 * s, 0.35 * s, 0.3); + this._click(now + 0.15 * s, 110, 0.05, 0.45); + this._sub(now + 0.6 * s, 30, 65, 1.2 * s, 0.7); + this._tone({ type: 'sawtooth', startFreq: 70, endFreq: 240, startTime: now + 0.65 * s, duration: 1.15 * s, peakVol: 0.28, filterType: 'lowpass', filterFreq: 280 }); + this._noise({ noiseType: 'pink', filterType: 'lowpass', startFreq: 200, endFreq: 500, startTime: now + 0.8 * s, duration: 1.0 * s, peakVol: 0.25 }); + this._click(now + 1.8 * s, 85, 0.06, 0.5); + } + _shutdownStation(now, s) { + this._click(now, 105, 0.05, 0.5); + this._sub(now + 0.5 * s, 65, 25, 1.4 * s, 0.55); + this._tone({ type: 'sawtooth', startFreq: 220, endFreq: 45, startTime: now + 0.55 * s, duration: 1.3 * s, peakVol: 0.22, filterType: 'lowpass', filterFreq: 200 }); + this._noise({ noiseType: 'pink', filterType: 'lowpass', startFreq: 280, endFreq: 90, startTime: now + 1.6 * s, duration: 0.9 * s, peakVol: 0.2 }); + } + + // 15. COMEDY + _startupComedy(now, s) { + this._chime(now, [330, 440, 554, 659], 0.07 * s, 0.35 * s, 0.32); + this._tone({ type: 'sawtooth', startFreq: 110, endFreq: 1400, startTime: now + 0.55 * s, duration: 1.25 * s, peakVol: 0.3, filterType: 'bandpass', filterFreq: 800, filterQ: 3.5 }); + this._sub(now + 0.7 * s, 40, 75, 1.1 * s, 0.5); + this._chime(now + 1.8 * s, [1200], 0.1, 0.5 * s, 0.4); + } + _shutdownComedy(now, s) { + this._tone({ type: 'sine', startFreq: 920, endFreq: 140, startTime: now, duration: 0.85 * s, peakVol: 0.32 }); + [0.7, 0.82, 0.96, 1.12].forEach(dt => this._click(now + dt * s, 420 + Math.random() * 200, 0.025, 0.3)); + this._noise({ noiseType: 'white', filterType: 'bandpass', startFreq: 300, endFreq: 100, startTime: now + 1.6 * s, duration: 0.6 * s, peakVol: 0.25 }); + } +} + +window.EngineTransitionSynth = EngineTransitionSynth; + diff --git a/js/config.js b/js/config.js index 0f3105e..a467daa 100644 --- a/js/config.js +++ b/js/config.js @@ -162,11 +162,12 @@ const UniverseRegistry = { { id: 'btn-yellow-alert', label: 'YELLOW ALERT', type: 'alert-yellow' } ], soundboard: [ - { id: 'btn-chirp-single', label: 'SINGLE CHIRP' }, - { id: 'btn-chirp-double', label: 'DOUBLE CHIRP' }, - { id: 'btn-chirp-ack', label: 'DATA ACK' }, - { id: 'btn-chirp-sweep', label: 'SENSOR SWEEP' }, - { id: 'btn-chirp-door', label: 'DOOR CHIME (2-TONE)', span: 2 } + { id: 'btn-comm-badge', label: 'COMM BADGE CHIRP' }, + { id: 'btn-door-swish', label: 'DOOR PNEUMATIC SWISH' }, + { id: 'btn-bosun-whistle', label: "BOSUN'S PIPE WHISTLE" }, + { id: 'btn-medical-monitor', label: 'SICKBAY ECG MONITOR' }, + { id: 'btn-chirp-single', label: 'LCARS SINGLE CHIRP' }, + { id: 'btn-chirp-ack', label: 'LCARS DATA ACK' } ], presets: StarshipPresets }, @@ -188,11 +189,12 @@ const UniverseRegistry = { { id: 'btn-vortex', label: 'VORTEX FLIGHT', type: 'vortex' } ], soundboard: [ - { id: 'btn-sonic', label: 'SONIC SCREWDRIVER' }, - { id: 'btn-fast-return', label: 'FAST-RETURN LEVER' }, + { id: 'btn-sonic', label: 'SONIC SCREWDRIVER' }, + { id: 'btn-lever-clunk', label: 'LEVER-THROW CLUNK' }, + { id: 'btn-tardis-door', label: 'POLICE BOX WOODEN DOOR' }, + { id: 'btn-fast-return', label: 'FAST-RETURN LEVER' }, { id: 'btn-demat-switch', label: 'DEMAT SWITCH' }, - { id: 'btn-telepathic', label: 'TELEPATHIC CHIME' }, - { id: 'btn-scanner', label: 'SCANNER MONITOR HUM', span: 2 } + { id: 'btn-telepathic', label: 'TELEPATHIC CHIME' } ], presets: { 'tardis-1963': { @@ -299,11 +301,12 @@ const UniverseRegistry = { { id: 'btn-reactor-vent', label: 'REACTOR VENT', type: 'vent' } ], soundboard: [ - { id: 'btn-geiger', label: 'GEIGER COUNTER' }, - { id: 'btn-dock-clamp', label: 'HYDRAULIC CLAMPS' }, - { id: 'btn-relay-click', label: 'M/TH/UR TELETYPE' }, - { id: 'btn-switch-pop', label: 'HEAVY SOLENOID' }, - { id: 'btn-pneumatic-door', label: 'PNEUMATIC SEAL PURGE', span: 2 } + { id: 'btn-geiger', label: 'GEIGER COUNTER' }, + { id: 'btn-dock-clamp', label: 'HYDRAULIC CLAMPS' }, + { id: 'btn-relay-click', label: 'M/TH/UR TELETYPE' }, + { id: 'btn-switch-pop', label: 'HEAVY SOLENOID' }, + { id: 'btn-pneumatic-door', label: 'PNEUMATIC SEAL PURGE' }, + { id: 'btn-air-handler', label: 'HVAC AIR HANDLER' } ], presets: { 'ind-nostromo': { @@ -407,10 +410,11 @@ const UniverseRegistry = { ], soundboard: [ { id: 'btn-telepathic-chime', label: 'NEURAL TWITCH' }, - { id: 'btn-fast-return', label: 'VASCULAR PUMP' }, - { id: 'btn-demat-switch', label: 'CHITIN CREAK' }, - { id: 'btn-chirp-sweep', label: 'BIOPLASMIC HISS' }, - { id: 'btn-sonic', label: 'SYMBIOTE VOCALIZATION', span: 2 } + { id: 'btn-fast-return', label: 'VASCULAR PUMP' }, + { id: 'btn-demat-switch', label: 'CHITIN CREAK' }, + { id: 'btn-chirp-sweep', label: 'BIOPLASMIC HISS' }, + { id: 'btn-sonic', label: 'SYMBIOTE VOCALIZATION' }, + { id: 'btn-relay-click', label: 'MEMBRANE FLUTTER' } ], presets: { 'bio-moya': { @@ -457,10 +461,10 @@ const UniverseRegistry = { id: 'bio-wraith', name: 'Wraith Hive Ship: Throne Chamber', era: 'stargate', - description: 'Groaning organic chitin hull growth, damp biomechanical respiration, and deep hive sub-bass.', + description: 'Groaning organic chitin hull growth, damp misty life-support atmosphere, and deep hive sub-bass.', hull: { volume: 0.85, baseFreq: 34, filterCutoff: 85, resonance: 2.5, noiseMix: 0.65, harmonicSpread: 1.015 }, warp: { volume: 0.6, bpm: 32, carrierFreq: 44, filterCutoff: 120, pulseShape: 'nx', resonance: 3.0, swirlMix: 0.25 }, - lifeSupport: { volume: 0.65, noiseType: 'brown', highpassFreq: 100, lowpassFreq: 1100, airflowModSpeed: 0.08, airflowModDepth: 0.18 }, + lifeSupport: { volume: 0.65, noiseType: 'brown', highpassFreq: 90, lowpassFreq: 900, airflowModSpeed: 0.06, airflowModDepth: 0.22 }, telemetry: { volume: 0.3, density: 0.25, era: 'nx' } }, 'bio-species-8472': { @@ -493,11 +497,12 @@ const UniverseRegistry = { { id: 'btn-hal-override', label: 'HAL 9000 OVERRIDE', type: 'hal' } ], soundboard: [ - { id: 'btn-hal-chime', label: 'HAL LOGIC CONFIRM' }, - { id: 'btn-relay-click', label: 'TAPE REEL SPOOL' }, + { id: 'btn-hal-chime', label: 'HAL LOGIC CONFIRM' }, + { id: 'btn-relay-click', label: 'TAPE REEL SPOOL' }, { id: 'btn-chirp-single', label: 'ASTROGATOR BEAT' }, - { id: 'btn-chirp-sweep', label: 'ANALOG GLISSANDO' }, - { id: 'btn-fast-return', label: 'MAGNETIC TAPE LATCH', span: 2 } + { id: 'btn-chirp-sweep', label: 'ANALOG GLISSANDO' }, + { id: 'btn-fast-return', label: 'MAGNETIC TAPE LATCH' }, + { id: 'btn-dock-clamp', label: 'PNEUMATIC SEAL PURGE' } ], presets: { 'ret-jupiter-2': { @@ -601,10 +606,11 @@ const UniverseRegistry = { ], soundboard: [ { id: 'btn-dradis-ping', label: 'DRADIS SCAN PING' }, - { id: 'btn-switch-pop', label: 'WEAPONS ARMED' }, - { id: 'btn-dock-clamp', label: 'BULKHEAD SEAL' }, + { id: 'btn-switch-pop', label: 'WEAPONS ARMED' }, + { id: 'btn-dock-clamp', label: 'BULKHEAD SEAL' }, { id: 'btn-chirp-sweep', label: 'RADAR TARGET LOCK' }, - { id: 'btn-fast-return', label: 'TURBO-THRUSTER SWELL', span: 2 } + { id: 'btn-fast-return', label: 'TURBO-THRUSTER SWELL' }, + { id: 'btn-air-handler', label: 'RCS THRUSTER BURST' } ], presets: { 'mil-sulaco': { @@ -697,11 +703,12 @@ const UniverseRegistry = { { id: 'btn-solar-swell', label: 'SOLAR SHIELD SWELL', type: 'solar' } ], soundboard: [ + { id: 'btn-solar-roar', label: 'HEAT SHIELD ROAR' }, + { id: 'btn-cryo-sigh', label: 'CRYO POD SIGH' }, + { id: 'btn-orion-thump', label: 'ORION PULSE THUMP' }, + { id: 'btn-dock-clamp', label: 'HULL STRAIN MOAN' }, { id: 'btn-telepathic-chime', label: 'VOID RESONANCE' }, - { id: 'btn-switch-pop', label: 'GRAVITY INJECTOR' }, - { id: 'btn-dock-clamp', label: 'HULL STRAIN MOAN' }, - { id: 'btn-chirp-sweep', label: 'TACHYON SENSOR PING' }, - { id: 'btn-relay-click', label: 'CRYO-SUITE REGULATOR', span: 2 } + { id: 'btn-chirp-sweep', label: 'TACHYON SENSOR PING' } ], presets: { 'deep-avalon': { @@ -794,11 +801,12 @@ const UniverseRegistry = { { id: 'btn-sub-drive', label: 'SUB-DRIVE SWELL', type: 'subdrive' } ], soundboard: [ - { id: 'btn-tape-clunk', label: 'CASSETTE DECK CLUNK' }, - { id: 'btn-switch-pop', label: 'GRAPPLER ARM MOTOR' }, - { id: 'btn-dock-clamp', label: 'FUEL LINE VALVE' }, - { id: 'btn-chirp-sweep', label: 'RADIO STATIC BURST' }, - { id: 'btn-fast-return', label: 'TURBO JET BURN', span: 2 } + { id: 'btn-tape-clunk', label: 'CASSETTE CLUNK & WHIRR' }, + { id: 'btn-grappler-servo', label: 'GRAPPLER SERVO MOTOR' }, + { id: 'btn-radio-static', label: 'RF SQUELCH STATIC BURST' }, + { id: 'btn-dock-clamp', label: 'FUEL LINE VALVE' }, + { id: 'btn-afterburner-snd',label: 'AFTERBURNER BOOST' }, + { id: 'btn-fast-return', label: 'TURBO JET BURN' } ], presets: { 'out-betty': { @@ -882,10 +890,11 @@ const UniverseRegistry = { ], soundboard: [ { id: 'btn-air-handler', label: 'AIR HANDLER THUD' }, - { id: 'btn-dock-clamp', label: 'DOCKING CLAMP LATCH' }, - { id: 'btn-tram-gong', label: 'TRAM DEPARTURE GONG' }, - { id: 'btn-relay-click', label: 'COMM PA BEAT' }, - { id: 'btn-telepathic-chime', label: 'ZOCALO PLAZA CHIME', span: 2 } + { id: 'btn-mag-boot', label: 'MAG-BOOT LATCH' }, + { id: 'btn-commlock', label: 'COMMLOCK CALLING TONE' }, + { id: 'btn-sevas-spark', label: 'CONDUIT SPARK ARC' }, + { id: 'btn-station-ecg', label: 'CLINICAL VITAL (ECG)' }, + { id: 'btn-dock-clamp', label: 'DOCKING CLAMP LATCH' } ], presets: { 'sta-babylon-5': { @@ -968,11 +977,12 @@ const UniverseRegistry = { { id: 'btn-quantum-jump', label: 'QUANTUM JUMP', type: 'quantum' } ], soundboard: [ - { id: 'btn-cheerful-door', label: 'CHEERFUL DOOR SIGH' }, - { id: 'btn-beryllium-pulse', label: 'BERYLLIUM CORE PULSE' }, - { id: 'btn-tea-machine', label: 'TEA DISPENSER GURGLE' }, - { id: 'btn-chirp-ack', label: 'ORVILLE ACK CHIRP' }, - { id: 'btn-sonic', label: 'OMEGA-13 CHARGE', span: 2 } + { id: 'btn-cheerful-door', label: 'CHEERFUL DOOR SIGH' }, + { id: 'btn-tea-machine', label: 'TEA DISPENSER GURGLE' }, + { id: 'btn-kettle-whistle', label: 'KETTLE STEAM WHISTLE' }, + { id: 'btn-plaid-alarm', label: 'LUDICROUS PLAID ALARM' }, + { id: 'btn-beryllium-pulse',label: 'BERYLLIUM CORE PULSE' }, + { id: 'btn-chirp-ack', label: 'ORVILLE ACK CHIRP' } ], presets: { 'com-orville': { @@ -1031,6 +1041,117 @@ const UniverseRegistry = { window.UniverseRegistry = UniverseRegistry; +// Canonical Engine Startup & Shutdown Profile Matrix (15 Archetypes mapped to 70 Presets) +const PresetEngineProfiles = { + // Starfleet TNG + 'tng-bridge': 'galaxy', + 'tng-engineering': 'galaxy', + 'tng-quarters': 'galaxy', + // Starfleet Voyager + 'voyager-bridge': 'intrepid', + 'voyager-engineering': 'intrepid', + // Starfleet Defiant + 'defiant-bridge': 'defiant', + // Starfleet Cardassian / Bajoran + 'ds9-ops': 'cardassian', + // Starfleet TOS + 'tos-bridge': 'tos', + 'tos-engineering': 'tos', + // Starfleet NX + 'nx-bridge': 'nx', + // Whoniverse TARDIS + 'tardis-1963': 'tardis', + 'tardis-victorian': 'tardis', + 'tardis-coral': 'tardis', + 'tardis-copper': 'tardis', + 'tardis-cold-machine': 'tardis', + 'tardis-crystal': 'tardis', + 'tardis-infinite-white': 'tardis', + // Industrial + 'ind-nostromo': 'industrial', + 'ind-serenity': 'outlaw', + 'ind-red-dwarf': 'industrial', + 'ind-starbug': 'industrial', + 'ind-raza': 'military', + 'ind-rocinante': 'military', + 'ind-eagle': 'retrofuture', + 'ind-valley-forge': 'industrial', + // Bioships + 'bio-moya': 'bioship', + 'bio-talyn': 'bioship', + 'bio-lexx': 'bioship', + 'bio-vorlon': 'bioship', + 'bio-wraith': 'bioship', + 'bio-species-8472': 'bioship', + // Retrofuture + 'ret-jupiter-2': 'retrofuture', + 'ret-liberator': 'retrofuture', + 'ret-cygnus': 'retrofuture', + 'ret-palomino': 'retrofuture', + 'ret-discovery-one': 'retrofuture', + 'ret-dark-star': 'comedy', + 'ret-gunstar': 'military', + 'ret-searcher': 'retrofuture', + // Military + 'mil-sulaco': 'military', + 'mil-galactica': 'military', + 'mil-white-star': 'military', + 'mil-agamemnon': 'military', + 'mil-andromeda': 'military', + 'mil-excalibur': 'military', + 'mil-viper': 'military', + // Deep Space + 'deep-avalon': 'deepspace', + 'deep-nightflyer': 'deepspace', + 'deep-ascension': 'deepspace', + 'deep-ark-one': 'deepspace', + 'deep-icarus-ii': 'deepspace', + 'deep-event-horizon': 'deepspace', + 'deep-lewis-clark': 'deepspace', + // Outlaw + 'out-betty': 'outlaw', + 'out-bebop': 'outlaw', + 'out-outlaw-star': 'outlaw', + 'out-scorpio': 'outlaw', + 'out-marauder': 'outlaw', + 'out-milano': 'outlaw', + // Space Stations + 'sta-babylon-5': 'station', + 'sta-moonbase-alpha': 'station', + 'sta-sevastopol': 'station', + 'sta-tycho': 'station', + 'sta-ceres': 'station', + 'sta-gateway': 'station', + // Comedy + 'com-orville': 'comedy', + 'com-protector': 'comedy', + 'com-heart-of-gold': 'comedy', + 'com-camden-lock': 'comedy', + 'com-spaceball-one': 'comedy' +}; + +function getEngineProfileForPreset(presetId, universeId) { + if (presetId && PresetEngineProfiles[presetId]) { + return PresetEngineProfiles[presetId]; + } + const universeDefaults = { + starfleet: 'galaxy', + whoniverse: 'tardis', + industrial: 'industrial', + bioships: 'bioship', + retrofuture: 'retrofuture', + military: 'military', + deepspace: 'deepspace', + outlaw: 'outlaw', + spacestations: 'station', + comedy: 'comedy' + }; + return universeDefaults[universeId] || 'galaxy'; +} + +window.PresetEngineProfiles = PresetEngineProfiles; +window.getEngineProfileForPreset = getEngineProfileForPreset; + /** * LCARS Audio Visualizer & Warp Core Intermix Chamber Display diff --git a/sound_reference.md b/sound_reference.md index ea2015d..c8eb392 100644 --- a/sound_reference.md +++ b/sound_reference.md @@ -12,8 +12,14 @@ this document maps them to their real counterparts and identifies what is Scope: Star Trek (five eras the telemetry router already knows), Doctor Who / The Whoniverse, the six ships grouped under this app's `bioships` universe, -and the six stations grouped under `spacestations`. Other universes are a -later pass. +the six stations grouped under `spacestations`, the seven exploration +arks and void vessels grouped under `deepspace`, the five ships grouped +under `comedy`, the six vessels grouped under `outlaw`, the seven +warships and combat vessels grouped under `military`, the eight +heavy refinery and freight vessels grouped under `industrial`, and +the eight Golden Age and vintage vessels grouped under `retrofuture`. +All 10 sci-fi universes and all 70 canonical profiles in the application +are documented below. --- @@ -269,6 +275,25 @@ discrete vocabulary. --- +## Starfleet Command preset mapping + +Every Starfleet preset in `StarshipPresets` is audited against the audio engine: + +| Preset ID | Vessel & Location | Era | Hull Drone | Warp Core | Life Support | Telemetry | +| --- | --- | --- | --- | --- | --- | --- | +| `tng-bridge` | Enterprise NCC-1701-D: Main Bridge | `tng` | 45 Hz, 90 Hz lp, 0.45 noise | 44 bpm, 60 Hz, `tng` | Pink, 180–1800 Hz | `tng` (volume 0.5, density 0.6) | +| `tng-engineering` | Enterprise NCC-1701-D: Main Engineering | `tng` | 52 Hz, 120 Hz lp, 0.50 noise | 60 bpm, 75 Hz, `tng` | Pink, 160–1600 Hz | `tng` (volume 0.3, density 0.3) | +| `tng-quarters` | Enterprise NCC-1701-D: Captain's Quarters | `tng` | 38 Hz, 75 Hz lp, 0.40 noise | 32 bpm, 45 Hz, `tng` | Pink, 120–1200 Hz | `tng` (volume 0.1, density 0.1) | +| `voyager-bridge` | USS Voyager: Command Bridge | `voyager` | 62 Hz, 130 Hz lp, 0.40 noise | 52 bpm, 80 Hz, `voyager` | Pink, 200–2200 Hz | `voyager` (volume 0.6, density 0.7) | +| `voyager-engineering` | USS Voyager: Warp Engineering | `voyager` | 70 Hz, 180 Hz lp, 0.45 noise | 66 bpm, 95 Hz, `voyager` | Pink, 220–2400 Hz | `voyager` (volume 0.35, density 0.4) | +| `defiant-bridge` | USS Defiant: Tactical Bridge | `defiant` | 58 Hz, 140 Hz lp, 0.50 noise | 64 bpm, 72 Hz, `defiant` | Pink, 180–2000 Hz | `ds9` (volume 0.5, density 0.65) | +| `ds9-ops` | Deep Space Nine: Operations Center | `ds9` | 42 Hz, 95 Hz lp, 0.60 noise | 36 bpm, 48 Hz, `nx` | Brown, 120–1300 Hz | `ds9` (volume 0.45, density 0.55) | +| `tos-bridge` | Enterprise NCC-1701: Bridge (TOS) | `tos` | 75 Hz, 160 Hz lp, 0.30 noise | 54 bpm, 110 Hz, `tos` | Pink, 250–2800 Hz | `tos` (volume 0.6, density 0.8) | +| `tos-engineering` | Enterprise NCC-1701: Engineering (TOS) | `tos` | 88 Hz, 220 Hz lp, 0.35 noise | 58 bpm, 132 Hz, `tos` | Pink, 280–2200 Hz | `tos` (volume 0.25, density 0.3) | +| `nx-bridge` | Enterprise NX-01: Command Bridge | `nx` | 48 Hz, 110 Hz lp, 0.55 noise | 42 bpm, 65 Hz, `nx` | Brown, 150–1800 Hz | `nx` (volume 0.45, density 0.5) | + +--- + ## Star Trek open questions Deliberately unresolved rather than guessed: @@ -443,6 +468,24 @@ because `telemetry.era` only has five Trek values to choose from. A dedicated percussive character — would be the single biggest authenticity improvement available to this universe, bigger than any individual missing one-shot. +--- + +## Whoniverse console room preset mapping + +Every TARDIS console room preset is audited against the audio engine: + +| Preset ID | Console Room / Doctor | Era | Hull Drone | Warp Core | Life Support | Telemetry | +| --- | --- | --- | --- | --- | --- | --- | +| `tardis-1963` | 1963 Classic Console (1st / 2nd Doctors) | `classic` | 68 Hz, 150 Hz lp, 0.35 noise | 52 bpm, 96 Hz, `tos` | Pink, 220–1800 Hz | `tos` (volume 0.55, density 0.6) | +| `tardis-victorian` | Victorian Secondary Console (4th Doctor) | `classic` | 44 Hz, 85 Hz lp, 0.45 noise | 40 bpm, 50 Hz, `nx` | Brown, 110–1200 Hz | `nx` (volume 0.35, density 0.4) | +| `tardis-coral` | Coral Console (9th / 10th Doctors) | `revival` | 42 Hz, 90 Hz lp, 0.50 noise | 46 bpm, 56 Hz, `nx` | Brown, 140–1400 Hz | `ds9` (volume 0.4, density 0.45) | +| `tardis-copper` | The Copper Workshop (11th Doctor) | `revival` | 56 Hz, 125 Hz lp, 0.40 noise | 62 bpm, 72 Hz, `voyager` | White, 220–2200 Hz | `voyager` (volume 0.55, density 0.7) | +| `tardis-cold-machine` | The Cold Machine (12th Doctor) | `revival` | 50 Hz, 110 Hz lp, 0.38 noise | 56 bpm, 68 Hz, `tng` | Pink, 200–1600 Hz | `ds9` (volume 0.4, density 0.5) | +| `tardis-crystal` | The Singing Crystal Console (13th Doctor) | `revival` | 46 Hz, 100 Hz lp, 0.50 noise | 44 bpm, 88 Hz, `defiant` | Pink, 180–1900 Hz | `voyager` (volume 0.5, density 0.6) | +| `tardis-infinite-white` | The Infinite White (14th / 15th Doctors) | `modern` | 48 Hz, 95 Hz lp, 0.42 noise | 50 bpm, 60 Hz, `tng` | White, 160–2600 Hz | `tng` (volume 0.45, density 0.6) | + +--- + ## Whoniverse open questions - **[GAP]** The cloister bell's real strike interval and who created the sound. @@ -738,205 +781,3686 @@ about regardless of any real-world research. ## Station-by-station -### Babylon 5: Core Control & Zocalo +### Babylon 5: Core Control & Zocalo (Babylon 5) -**[DOC]** The station is a 5-mile, self-sufficient O'Neill-cylinder-style -habitat. Unlike Gerard O'Neill's original counter-rotating-cylinder concept, -Babylon 5's cylinders rotate about the *same* axis while still maintaining zero -net angular momentum — a specific, citable engineering detail — and the -station draws power from fusion reactors rather than the solar collection -O'Neill's original design assumed. +**Production context [DOC]:** Babylon 5's audio identity was created by a +digital post-production sound team under supervising sound editors **Andrew +DeCristofaro**, sound supervisor **Michael Payne**, and sound effects editors +**Jeff K. Brunello** and **Matt Yocum** at Soundelux, working alongside +composer **Christopher Franke** (formerly of Tangerine Dream). Franke’s +original score fused atmospheric acoustic textures and complex analog/digital +synthesizer soundscapes directly into the show's background environments. -**[GAP]** No production sound-design source located for the station's actual -audio identity or for the Zocalo (its central commerce plaza) specifically. +**[DOC]** The station is an O'Neill-class cylinder five miles (8 km) in length +and one mile in diameter, maintaining artificial gravity purely through +centrifugal rotation. Unlike Gerard O'Neill's original concept of two +counter-rotating cylinders placed side-by-side to cancel gyroscopic precession, +Babylon 5 maintains internal counter-rotating flywheels and concentric rings +along a single longitudinal axis. The central axis remains in zero gravity, +housing the Cobra launch bays, docking spine, and cargo transfer cradles, while +the outer habitable hull spins to produce up to 1.3G of centrifugal gravity. +Power is generated by eight subterranean fusion reactors rather than solar +arrays. -*Covered by:* preset `sta-babylon-5` — the lowest `warp` bpm outside Sevastopol -(34) standing in for slow centrifugal rotation rather than any engine rhythm, -heavy noise mix (0.6) for structural mass, `telemetry.era: 'ds9'` (a Cardassian -sensor tone for a station that has nothing to do with Cardassia — the same -Trek-borrowing pattern documented in `telemetry_elements.md`). +#### Ambience bed -### Moonbase Alpha: Main Mission Control +| Element | Character | Confidence | +| --- | --- | --- | +| Core Command & Control (C&C) | Located in the forward spherical section near the rotation axis (low G). Steady, low-frequency hum of primary navigation computers, multiple simultaneous soft comm-channel chatter, and status chimes. | **[OBS]** | +| The Zocalo (Commerce Plaza) | Open, reverberant multi-level concourse in the spinning habitat ring (Green Sector). Multi-species crowd murmur, alien vocalizations, distant transit monorail rumbles, and public address chime announcements. | **[OBS]** | +| Docking Bay & Axis Spine | Deep, resonant metallic groans from electromagnetic docking cradles, pressurized nitrogen/oxygen atmosphere pumps cycling, and heavy Starfury launch-rack hydraulic releases in zero-G. | **[OBS]** | -**[DOC]** Moonbase Alpha is a **static lunar surface installation**, not a -rotating station — it's a four-kilometer, self-sustaining complex in the -Moon's Plato crater, kept habitable by four nuclear reactors, solar -supplementation, and **eight anti-gravity towers** rather than spin gravity. -Water comes from recycled subsurface ice; food from hydroponics and -biochemical synthesis; sections connect via pressurized travel tubes. Main -Mission itself is a large multi-level control room (relocated underground to a -smaller room in the show's second season for added protection). +*Covered by:* preset `sta-babylon-5` (`hull`: volume 0.8, `baseFreq: 40`, +`filterCutoff: 95`, `noiseMix: 0.6`; `warp`: volume 0.45, `bpm: 34`, +`pulseShape: 'nx'`; `lifeSupport`: volume 0.7, `noiseType: 'pink'`, +`highpassFreq: 140`, `lowpassFreq: 1600`; `telemetry.era: 'ds9'`). The low 34 +bpm pulse stands in for slow centrifugal rotation and structural mass rather +than any propulsion rhythm. -**[GAP]** No production audio-design source located. +#### Discrete sounds -**Design nuance worth flagging:** Moonbase Alpha is the *one* preset in this -category that structurally has no rotation to rumble with — everything else -here spins. Its current `hull`/`warp` parameters (54 Hz base, 44 bpm) don't -distinguish it from the rotating stations in any deliberate way; there is -nothing wrong with the numbers, but the *reason* for them (reactor and -travel-tube hum, not spin) isn't represented by anything the other presets -don't also have. +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Station Intercom Chime | Soft, pleasant two-tone chime preceding stationwide or C&C announcements. | *none* — **gap** (currently relabels demat switch as "Comm PA Beat") | **[OBS]** | +| Defense Grid Klaxon | Rapid, urgent alternating warble horn sounding when heavy pulse-cannon defense turrets arm and deploy. | `AlertSynth` / station alert | **[OBS]** | +| C&C Computer Acknowledge | Discrete electronic chirps acknowledging commands entered by station personnel; computer voice provided by Patricia Tallman. | **Cardassian Sensor** / **Single Chirp** (via `ds9` telemetry) | **[OBS]** | +| Docking Clamp Latches | Heavy mechanical clamp engagement with hydraulic compression when freighters enter the central docking spine. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[OBS]** | +| Zocalo Plaza Chime | Public announcement prompt chiming throughout the marketplace concourse. | `WhoniverseAudioSynth.synthesizeTelepathicChime` (relabeled) | **[ATT]** | -*Covered by:* preset `sta-moonbase-alpha` — `telemetry.era: 'tos'` is the one -telemetry choice in this category that actually lines up with real production -history: Space: 1999 (1975) and TOS (1966) are close contemporaries in -broadcast-era electronic sound design, so borrowing TOS's warble for a 1970s -lunar base is coincidentally more defensible than any other era-borrowing case -in this document. +**Assessment:** The preset's heavy hull noise mix (0.6) and deep 40 Hz base +frequency capture the immense physical scale of an 8-kilometer spinning metal +cylinder effectively. The clearest mismatch is telemetry: `era: 'ds9'` produces +a Cardassian sensor tone (a harsh tritone dissonance designed for Terok Nor) +which has no relationship to Earth Alliance technology or Babylon 5's +cleaner computer interfaces. + +--- + +### Moonbase Alpha: Main Mission Control (Space: 1999) + +**Production context [DOC]:** Sound editing for *Space: 1999* (1975–1977, +produced by Gerry and Sylvia Anderson) was supervised by **Roy Lafbery** (a +veteran sound editor from *Thunderbirds* and *UFO*) and dubbing editor **Alan +Killick**, with music editor **Alan Willis** collaborating with composers Barry +Gray and Vic Elms. + +**[DOC]** Moonbase Alpha is a **static lunar surface installation**, not an +orbital station. Situated in the Moon's crater Plato, it is a four-kilometer, +self-contained complex housing 311 personnel. Unlike every other station in this +universe, Alpha does not rotate: Earth-normal gravity is generated by **eight +anti-gravity towers** arranged around the base perimeter. Habitation, life +support, and research depend on four subterranean nuclear generating stations. +Personnel move between outlying launch pads, living quarters, and technical +sections via an underground network of high-speed pressurized travel tubes. + +**[DOC]** Sound effects for Moonbase Alpha were synthesized on early analog +synthesizers, predominantly the **ARP Odyssey**, patched for stepped frequency +sweeps, square-wave computer chirps, and warning sirens. Practical foley was +fused with analog synthesis: aerosol propellant cans were blasted directly +into microphones to produce the pneumatic hiss of Eagle transporter thrusters +and pressurized blast doors. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Main Mission / Command Center | Cavernous subterranean control deck dominated by continuous electromechanical mainframe hums, cooling blowers, analog computer status warbles, and the rhythmic clicking of teleprinters. | **[OBS]** | +| Nuclear Generating Plants | Deep, unmoving 50/60 Hz electrical transformer drone with intense electromagnetic resonance, isolated beneath the lunar crust. | **[OBS]** | +| Travel Tube Transit Network | Pneumatic whoosh and low sub-surface vibration as transit capsules accelerate through evacuated tubes. | **[OBS]** | + +*Covered by:* preset `sta-moonbase-alpha` (`hull`: volume 0.65, `baseFreq: 54`, +`filterCutoff: 125`, `noiseMix: 0.42`; `warp`: volume 0.4, `bpm: 44`, +`carrierFreq: 64`, `pulseShape: 'tos'`; `lifeSupport`: volume 0.6, +`noiseType: 'pink'`, `highpassFreq: 180`, `lowpassFreq: 1800`; `telemetry.era: +'tos'`). + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Commlock Calling Chime | Distinctive high-pitched electronic double-beep emitted by personal belt-worn commlock transceivers when paging or opening security doors. | *none* — **gap** | **[OBS]** | +| Main Mission Computer Chatter | Rapid, erratic stepped-frequency warbles and chirps synthesized on the ARP Odyssey, signaling mainframe computation. | **TOS Computer Warble** (via `tos` telemetry) | **[OBS]** | +| Red Alert Klaxon | Piercing two-tone oscillating electronic siren warning of runaway nuclear radiation or approaching alien phenomena. | `AlertSynth` | **[OBS]** | +| Eagle Pad Elevator Whine | Mechanical motor whine and hydraulic groaning as circular surface launch pads raise and lower Eagle craft. | *none* — **gap** | **[OBS]** | +| Pneumatic Partition Doors | Rapid pressurized whoosh followed by a firm solenoid catch (achieved on set via aerosol cans and mechanical latches). | **TOS Relay Click** (partial) | **[DOC]** | + +**Assessment:** `telemetry.era: 'tos'` is the one telemetry borrowing in this +category that historically aligns: both *Space: 1999* and *Star Trek: TOS* +relied on mid-to-late 20th century analog synthesis and electromechanical +relays. However, Moonbase Alpha's ambient bed currently lacks an explicit +acoustic marker for its static anti-gravity towers versus the centrifugal +rumble of the other rotating stations. + +--- ### Sevastopol Station: Habitation Deck (Alien: Isolation) -**[DOC]** This is the best-documented station in the entire app. Audio -director **Jeff van Dyck** was given access to the original 1979 *Alien* -film's sound effects and rebuilt them with modern technology for continuity -across the franchise. The team hired **Pinewood Studios** to record bespoke -foley rather than relying on effects libraries — including stamping on -different surfaces, "including soil covered in assorted squishy vegetables," -to capture movement across the station's varied environments, from the -sterile medical bay to the alien nest. +**Production context [DOC]:** Directed by audio director **Jeff van Dyck** at +Creative Assembly (*Alien: Isolation*, 2014), the station's audio is the most +exhaustively documented non-Trek soundscape in modern sci-fi media. Fox opened +their vault of original 1979 *Alien* sound recordings, allowing van Dyck’s team +to analyze and restore the original analog reel-to-reel stems. -**[DOC]** The station's decay is conveyed through baseline ambient sound -described directly as **"creaking and sparking and shuddering,"** and — a -specific, transferable technique — that ambience is **dynamically ducked** -when the threat is close, so the player becomes more aware of the protagonist's -own breathing and footsteps instead. This is a mixing decision, not a synthesis -one, but it's directly relevant to how any real "Sevastopol" preset ought to -behave if this app ever added activity-linked ambience ducking. +**[DOC]** Rather than relying on modern digital sound libraries, the audio team +booked **Pinewood Studios** to capture hundreds of bespoke foley tracks: +stamping and sliding across decaying metal floorplates, shattered glass, grating, +and organic matter to capture the acoustic variance between the clinical San +Cristobal medical bays, the industrial Lorenz SysTech spires, and the infested +reactor core. -*Covered by:* preset `sta-sevastopol` — brown noise in `lifeSupport` (the -darkest available), high `hull` noise mix (0.65), `pulseShape: 'nx'` for a -mechanical rather than musical pulse. These choices land close to "creaking and -shuddering" in spirit. What's absent is any **spark** element — a short, -transient, high-frequency event distinct from the continuous creak-and-shudder -bed — and the **dynamic ducking** behavior, neither of which this app's -architecture currently supports for any universe. +**[DOC]** The station’s acoustic state is explicitly defined as **"creaking and +sparking and shuddering."** Sevastopol is a decommissioned, decaying orbital +freeport operated by the failing Seegson Corporation, suffering catastrophic +orbital decay, power grid failure, and mechanical collapse. Ambient noise was +programmed to **dynamically duck** during stealth encounters, plunging the +cavernous mechanical roar into dead silence so the player hears only the +character’s breathing and creeping footsteps. -### Tycho Station: Asteroid Construction Bay & Ceres Station: Sub-Crustal Tunnels (The Expanse) +#### Ambience bed -**[DOC]** Supervising sound editor **Nelson Ferreira** (with sound designers -Nathan Robitaille, then Dave Rose) built *The Expanse*'s audio around a -deliberate **"low-tech it"** philosophy — technology 200 years from now that -still sounds like it evolved from the present, not like generic futurism — and -assigned each faction a distinct sonic signature: **Earth** is heavy and -bass-rich, **Mars** is clean and precise with tight servo sounds, and -**Belters** — the people who live on Tycho and Ceres — get **"broken, creaky -mechanisms suggesting jury-rigged technology."** +| Element | Character | Confidence | +| --- | --- | --- | +| Habitation Deck & Galleria | Heavy structural groans from sagging titanium bulkheads under gravitational tidal shear, low brown-noise HVAC rattle, and distant transit car rumbles along empty transit tracks. | **[OBS]** | +| Electrical Conduits & Junctions | Sputtering fluorescent tube ballasts, continuous 60 Hz high-voltage wiring hum, and violent intermittent electrical arcs/sparks crackling through open bulkheads. | **[OBS]** | +| Seegson Environmental Systems | Dark, muffled sub-bass thrum of the Apollo artificial intelligence mainframe, coupled with rattling, unmaintained air handlers and wheezing filter vents. | **[OBS]** | -That last detail is directly and specifically actionable: it's a citable, -named-production description of exactly what these two presets should sound -like, not an inference from watching. Both Tycho and Ceres are Belter -stations; both should sound *maintained by scavenging*, not engineered. +*Covered by:* preset `sta-sevastopol` (`hull`: volume 0.85, `baseFreq: 44`, +`filterCutoff: 100`, `noiseMix: 0.65`; `warp`: volume 0.5, `bpm: 36`, +`carrierFreq: 52`, `pulseShape: 'nx'`; `lifeSupport`: volume 0.6, +`noiseType: 'brown'`, `highpassFreq: 130`, `lowpassFreq: 1400`; `telemetry.era: +'nx'`). Brown noise in life support and high noise mix (0.65) make this the +darkest, most strained acoustic profile in the universe. -*Covered by:* preset `sta-tycho` (`noiseMix: 0.55`, `pulseShape: 'defiant'`, -construction-bay framing) and `sta-ceres` (`noiseMix: 0.62`, brown noise, -subterranean framing). Both lean appropriately noisy and mechanical rather than -clean — broadly consistent with "jury-rigged" even without the app having a -dedicated "broken/creaky" telemetry vocabulary to complete the picture (see the -gap list). +#### Discrete sounds -### Gateway Station (Aliens, 1986) +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Seegson PA Jingle | Cheerful, slightly distorted corporate three-note chime accompanying automated announcements ("Seegson: Tomorrow, Together"). | *none* — **gap** | **[DOC]** | +| Electrical Arc / Spark Transient | Sudden high-frequency snapping discharge from ruptured conduits, cutting across the low-frequency rumble. | *none* — **gap** | **[DOC]** | +| Working Joe Android Steps | Heavy, deliberate, unyielding rubber-and-metal footfalls accompanied by monotone synthetic synthesized speech. | *none* — **gap** | **[OBS]** | +| Air Handler Thud | Violent hydraulic shudder and air pulse as an overburdened circulation damper snaps open. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | +| Emergency Evacuation Klaxon | Harsh, grating electromechanical horn repeating over strobe lighting during hull breaches. | `AlertSynth` | **[OBS]** | -**[DOC]** Gateway is a massive geosynchronous station above Quito, Ecuador, -built from advanced plastics and titanium composite in modular sections joined -by steel beams — Earth's hub for interstellar cargo, personnel transfer, the -Colonial Marine Corps, and an aerospace training school. Production designer -Peter Lamont built it from matte paintings and miniature models, reusing parts -from the Nostromo refinery model; Syd Mead and Robert Skotak contributed to its -design. In the film it's where Ripley wakes from 57 years of hypersleep, -recovers in the infirmary, and faces her inquiry — corridors, medical bays, and -an atrium with environmental screens showing Earth. +**Assessment:** The preset's brown noise and `pulseShape: 'nx'` capture the +gritty, failing mechanical bed convincingly. What is missing is the **spark +transient** (a short, random electrical discharge) and any emulation of the +frightening **dynamic ambience ducking** that defined *Alien: Isolation*'s +mixing philosophy. -**[GAP]** No dedicated sound-design source was located for Gateway -specifically; the film's overall industrial sound design is well documented -in general Alien-franchise coverage, but nothing ties a specific technique to -this station rather than to the Sulaco or LV-426 colony. +--- -*Covered by:* preset `sta-gateway` — the lowest `noiseMix` of any station -preset (0.5) and a relatively bright 46 Hz base, consistent with a station -description that emphasizes clean transfer/quarantine functions ("high-volume -environmental air handlers") over the grime of Sevastopol or the Belt. +### Tycho Station: Asteroid Construction Bay (The Expanse) + +**Production context [DOC]:** Supervising sound editor **Nelson Ferreira** and +sound designers **Nathan Robitaille** (Season 1) and **Dave Rose** built the +acoustic universe of *The Expanse* around a strict **"low-tech it"** +philosophy. Rather than pristine, futuristic sci-fi synthesis, technology in +the 23rd century was made to sound mechanical, tactile, and directly evolved +from heavy contemporary industrial engineering. + +**[DOC]** Ferreira and Robitaille established three distinct factional audio +signatures: +- **Earth (UN):** Heavy, bass-rich, opulent, and dense. +- **Mars (MCRN):** Clean, state-of-the-art, with tight, precision servos. +- **The Belters (OPA):** **"Broken, creaky mechanisms suggesting jury-rigged + technology."** + +**[DOC]** Tycho Station represents the pinnacle of Belter heavy engineering. +Operated by Tycho Manufacturing and Meditech under Fred Johnson, it is a mobile +construction platform built into a hollowed-out asteroid core, ringed by two +massive 500-meter rotating habitat drums spinning to produce 0.3G of spin +gravity. It mounts the largest construction gantries and vacuum manufacturing +docks in human history, famously fabricating the 2-kilometer generation ship +*Nauvoo* (later the *Behemoth* / *Medina Station*). + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Asteroid Construction Bay | Immense structural reverberation inside the hollowed rocky interior; continuous low-frequency hum of high-output electron-beam welders, plasma cutting torches, and hydraulic crane trusses. | **[OBS]** | +| Spin Habitat Rings | Rhythmic mechanical vibration of massive circular ring bearings and magnetic drive tracks transmitting low rumble into the living quarters. | **[OBS]** | +| Vacuum Dock Perimeter | Deep, muted, lowpass-filtered mechanical vibrations conducted through the station's rock-bolted hull as tugs and supply haulers maneuver into moorings. | **[OBS]** | + +*Covered by:* preset `sta-tycho` (`hull`: volume 0.8, `baseFreq: 48`, +`filterCutoff: 110`, `noiseMix: 0.55`; `warp`: volume 0.65, `bpm: 42`, +`carrierFreq: 66`, `filterCutoff: 180`, `pulseShape: 'defiant'`; `lifeSupport`: +volume 0.65, `noiseType: 'pink'`, `highpassFreq: 160`, `lowpassFreq: 1700`; +`telemetry.era: 'voyager'`). `pulseShape: 'defiant'` gives the station a sharp, +hard-edged industrial pulse appropriate for heavy manufacturing. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Magnetic Boot Clamps ("Mag-Boots") | Sharp, heavy metallic latch with an instantaneous electromagnetic lock pulse — the quintessential *Expanse* acoustic hallmark. | *none* — **gap** | **[DOC]** | +| High-Pressure Plasma Arc | Sudden high-amperage electrical crackle followed by a roaring pressurized plasma hiss during gantry welding. | *none* — **gap** | **[OBS]** | +| Construction Gantry Horn | Deep industrial resonant horn warning personnel of crane gantry motion or ring speed adjustments. | `AlertSynth` | **[OBS]** | +| Docking Mooring Clamps | Heavy electromagnetic and mechanical latches securing visiting freighters to the exterior hull. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[OBS]** | + +**Assessment:** Tycho is distinct from Ceres: it is a *shipyard* and a triumph +of Belter heavy industry, not an overcrowded residential slum. The use of +`pulseShape: 'defiant'` fits the raw power of its gantry drives, but borrowing +Starfleet's sleek `voyager` telemetry chirps completely contradicts Ferreira's +"low-tech it" mandate. + +--- + +### Ceres Station: Sub-Crustal Tunnels (The Expanse) + +**Production context [DOC]:** Under Nelson Ferreira’s factional audio design, +Ceres Station represents the pure archetype of Belter culture: **"broken, +creaky mechanisms suggesting jury-rigged technology."** + +**[DOC]** Ceres is a dwarf planet (940 km diameter) that was spun up by Tycho +Corporation engineering early in the colonization of the Belt to create 0.3G of +centrifugal gravity at the equator. Over six million Belters live in thousands +of kilometers of tunnels carved into the rock and water-ice crust. Gravity +decreases toward the center: the wealthy inhabit the outer equatorial rings +where gravity is heaviest, while the impoverished working-class Belters live in +the low-G sub-crustal slums near the rotational axis. + +**[DOC]** The Coriolis effect is severe and acoustically noticeable on Ceres: +it warps the natural convection of air and causes fluids in drainage and water +recycling pipes to swirl sideways. Life support systems are constantly +overburdened, recycling stale air and reclaimed moisture through rattling, +scavenged ductwork. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Sub-Crustal Residential Tunnels | Constant low, groaning vibration of millions of tons of spinning rock and ice; rattling sheet-metal air vents; wheezing, overworked atmospheric CO2 scrubbers. | **[OBS]** | +| Ice Smelting & Water Reclamation | Low, powerful subterranean thrum of rock crushers and thermal smelters processing ice hauled by ships like the *Canterbury*; hiss of high-pressure steam conduits and dripping condensation. | **[OBS]** | +| Medina Docks & Promenade | Cacophony of Belter patois banter, echoing footsteps on metal mesh catwalks, squealing electric cargo carts, and rattling monorails. | **[OBS]** | + +*Covered by:* preset `sta-ceres` (`hull`: volume 0.85, `baseFreq: 42`, +`filterCutoff: 95`, `noiseMix: 0.62`; `warp`: volume 0.45, `bpm: 38`, +`carrierFreq: 54`, `pulseShape: 'nx'`; `lifeSupport`: volume 0.7, +`noiseType: 'brown'`, `highpassFreq: 120`, `lowpassFreq: 1400`; `telemetry.era: +'nx'`). Brown noise in life support captures the heavy, humid, unscrubbed +subterranean atmosphere. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Distorted Belter PA Horn | Tinny, distorted public address announcements barked in Belter Creole over narrowband horn loudspeakers. | *none* — **gap** | **[OBS]** | +| Rattling Ductwork Grate | Irregular, spontaneous metallic rattles as uneven air pressure pulses through scavenged sheet-metal ducts. | *none* — **gap** | **[DOC]** | +| Water Dispenser Solenoid | Dull mechanical click followed by the sputter of metered drinking water rationing. | *none* — **gap** | **[OBS]** | +| Bulkhead Seal Drop | Clanking, manual counterweight drop of heavy blast doors isolating depressurized tunnels. | **NX Hydraulic Relay** (partial match) | **[OBS]** | + +**Assessment:** Ceres and Tycho are correctly split in the codebase (`sta-ceres` +vs `sta-tycho`), but the documentation previously combined them into one +footnote. Ceres is an impoverished subterranean hive while Tycho is an +industrial gantry. The preset’s dark brown noise and high `noiseMix` (0.62) are +completely faithful to the source material; replacing NX telemetry with a true +"jury-rigged" Belter relay sound would make it the most authentic preset in the +app. + +--- + +### Gateway Station: Quarantine Transfer Deck (Aliens, 1986) + +**Production context [DOC]:** Directed by James Cameron, sound design for +*Aliens* was supervised by **Don Sharpe**, who won the **Academy Award for Best +Sound Effects Editing** in 1987 for his work on the film. Sharpe and Cameron +created a distinctive "cassette-futurism" sonic landscape: taking utilitarian, +everyday mechanical sounds and processing them through **Publison harmonizers** +and pitch shifters to give them an imposing, industrial, yet otherworldly +acoustic signature. + +**[DOC]** Designed by Peter Lamont, with conceptual input from Syd Mead and +Robert Skotak, Gateway Station is a massive orbital transfer habitat in +geosynchronous orbit above Earth (Quito, Ecuador). Reusing modular model +components from the *Nostromo* refinery, Gateway serves as Earth's primary +deep-space gateway for interstellar freighters, Colonial Marine troop +transports, and corporate quarantine facilities. + +**[OBS]** In the film, Gateway Station represents sterile corporate high tech +blended with military logistics: Ripley awakens here in a pristine quarantine +infirmary after 57 years in hypersleep, walks through curved titanium +passenger corridors, and faces the Weyland-Yutani board of inquiry in an +executive boardroom overlooking Earth. The atmosphere is clinical, efficient, +and quiet, contrasting with the grime of Sevastopol or the battleground of +Hadley's Hope. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Quarantine Ward & Med-Lab | Pristine, low-level room tone; smooth, uninterrupted 46 Hz HVAC hum; soft pink-noise ventilation from medical air handlers maintaining sterile positive pressure. | **[OBS]** | +| Orbital Transfer Concourse | Cavernous acoustic space echoing with soft public paging tones; distant, muffled rumble of station-keeping reaction thrusters and orbital shuttle docking. | **[OBS]** | +| Environmental Air Scrubbers | Continuous, clean, high-volume air handlers circulating conditioned air through titanium ducts with zero audible mechanical rattle. | **[OBS]** | + +*Covered by:* preset `sta-gateway` (`hull`: volume 0.7, `baseFreq: 46`, +`filterCutoff: 105`, `noiseMix: 0.5`; `warp`: volume 0.4, `bpm: 40`, +`carrierFreq: 58`, `pulseShape: 'nx'`; `lifeSupport`: volume 0.65, +`noiseType: 'pink'`, `highpassFreq: 160`, `lowpassFreq: 1600`; `telemetry.era: +'tng'`). At `noiseMix: 0.5`, this is the cleanest, least abrasive station in +the group. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Medical ECG Telemetry | Steady, rhythmic electronic vital-sign monitor beep tracking cardiac activity in the quarantine hospital bed. | *none* — **gap** | **[OBS]** | +| Docking Umbilical Seal | Pressurized pneumatic hiss and heavy mechanical clamp latching shuttle airlocks to station docking portals. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` / `synthesizeDockingClamp` | **[OBS]** | +| Corporate Paging Chime | Elegant two-tone electronic chime preceding Weyland-Yutani corporate announcements and terminal updates. | **LCARS Double Chirp** (via `tng` telemetry) | **[OBS]** | +| Automated Sliding Bulkhead | Smooth pneumatic hiss with a crisp magnetic lock, distinctly smoother and more refined than the Nostromo's slamming blast doors. | *none* — **gap** | **[OBS]** | + +**Assessment:** Gateway is accurately tuned in `js/config.js`: its moderate +frequencies and clean pink noise correctly convey a functional, well-maintained +corporate installation rather than a decaying outpost. The use of `tng` +telemetry (Single/Double Chirps) provides a crisp, polished computer chatter +that suits 1980s corporate sci-fi better than any other borrowed Trek era. + +--- + +## The centrifugal rotation vs. static installation design constraint + +Just as Bioships holds an explicit "no squishing" constraint to avoid wet, +visceral cliches, the Space Stations theme must balance a structural physics +reality: **centrifugal rotation sounds fundamentally different from static +planetary bases.** + +1. **Spinning Stations (Babylon 5, Tycho, Ceres):** + Centrifugal gravity requires continuous physical rotation. The acoustic bed + is not generated by an engine propelling mass through space, but by massive + mechanical bearings, gyroscopic counter-weights, and rotational torque + conducted through miles of structural trusses. In large cylinders and spun + asteroids, the **Coriolis effect** introduces audible aerodynamic warpage: + airflow through longitudinal ventilation shafts and drainage through waste + lines do not behave like terrestrial plumbing. +2. **Static Surface Outposts (Moonbase Alpha):** + Moonbase Alpha has **zero rotation**. Its gravitational bed is generated by + static electromagnetic anti-gravity towers, and its ambient drone originates + from four subterranean nuclear power stations and travel-tube vacuum pumps. + The preset should sound stationary, dry, and transformer-dominated, without + the rhythmic centrifugal dwell of the orbital habitats. +3. **Decaying Freeports (Sevastopol):** + Where other stations hum with regulated mechanical life, Sevastopol’s + acoustic identity is defined by structural fatigue: gravitational shear + causing bulkheads to buckle, unmaintained air handlers gasping for pressure, + and electrical faults sparking through damp decks. + +--- ## Existing element / soundboard relabeling -Same pattern as Bioships: the `spacestations` soundboard calls no -station-specific synthesis. All five buttons relabel existing elements from -two other universes' classes: +The `spacestations` soundboard (`js/config.js`) maps five interactive trigger +buttons to audio synthesis methods: -| Soundboard label | Actual method called | Real element | +| Soundboard label | Method called | Underlying element origin | | --- | --- | --- | -| AIR HANDLER THUD | `expandedAudio.synthesizeDockingClamp` | Shared 1:1 with the button below — see note | -| DOCKING CLAMP LATCH | `expandedAudio.synthesizeDockingClamp` | Same docking-clamp synthesis, different label | -| TRAM DEPARTURE GONG | `whoniverseAudio.synthesizeCloisterStrike` | One strike of the Doctor Who cloister bell | -| COMM PA BEAT | `whoniverseAudio.synthesizeDematSwitch` | Doctor Who console relay click | -| ZOCALO PLAZA CHIME | `whoniverseAudio.synthesizeTelepathicChime` | Doctor Who telepathic circuit chime | +| AIR HANDLER THUD | `expandedAudio.synthesizeAirHandlerThud` | Bespoke synthesis: dull triangle thump + sub-octave body + slow airflow whoosh | +| DOCKING CLAMP LATCH | `expandedAudio.synthesizeDockingClamp` | Heavy square-wave mechanical latch + pressurized pneumatic exhaust | +| TRAM DEPARTURE GONG | `whoniverseAudio.synthesizeCloisterStrike` | Relabeled single strike of the Doctor Who cloister bell | +| COMM PA BEAT | `whoniverseAudio.synthesizeDematSwitch` | Relabeled Doctor Who TARDIS demat switch relay click | +| ZOCALO PLAZA CHIME | `whoniverseAudio.synthesizeTelepathicChime` | Relabeled Doctor Who telepathic circuit shimmer arpeggio | -**Fixed.** Unlike every other cross-universe borrowing in this document, AIR -HANDLER THUD and DOCKING CLAMP LATCH were calling the **exact same method** -and producing **the literal identical sound** under two different labels on -the same soundboard — the one true duplicate button mapping found anywhere in -the app during this documentation effort. `AIR HANDLER THUD` now calls a new -`ExpandedSciFiAudioSynth.synthesizeAirHandlerThud()`: a dull triangle-wave -thump with a sub-octave body (no bright metallic impact) followed by a -slow-building lowpass-filtered airflow whoosh — a big soft mechanical event -that keeps breathing after it, rather than the docking clamp's single hard -square-wave latch and bright pneumatic hiss. `DOCKING CLAMP LATCH` is -unchanged and still calls `synthesizeDockingClamp()`. +**Status:** The duplicate mapping that originally caused `AIR HANDLER THUD` and +`DOCKING CLAMP LATCH` to trigger the exact same method has been resolved. +`AIR HANDLER THUD` now triggers its own dedicated synthesis method +(`synthesizeAirHandlerThud()`), producing a low, dull mechanical thump with +prolonged airflow decay, cleanly separating it from the sharp, metallic impact +of `synthesizeDockingClamp()`. + +--- ## Space Stations existing element retention map -| Existing (relabeled) element | Verdict | -| --- | --- | -| Air Handler Thud (now `synthesizeAirHandlerThud`) | **Fixed** — no longer shares a method with Docking Clamp Latch; the two are now audibly distinct | -| Docking Clamp Latch (`synthesizeDockingClamp`) | Keep — unchanged | -| Tram Departure Gong (cloister strike) | Keep — a single deep bell strike is a defensible generic "departure" cue, though it carries no tram-specific character | -| Comm PA Beat (demat switch) | Keep — a 60ms click reused as a PA beep; functionally fine, sonically generic | -| Zocalo Plaza Chime (telepathic chime) | Keep — a shimmering four-note arpeggio for a bustling commerce plaza is the largest tonal mismatch of the five: Babylon 5's Zocalo is a defensible **[DOC]** description, and this element (built for a psychic time machine circuit) has no plaza connection at all | +| Existing element | Assigned function | Verdict | +| --- | --- | --- | +| Air Handler Thud (`synthesizeAirHandlerThud`) | Station HVAC / damper pulse | Keep — dedicated method, acoustically distinct and authentic | +| Docking Clamp Latch (`synthesizeDockingClamp`) | Shuttle / freighter mooring | Keep — authentic heavy mechanical latch | +| Tram Departure Gong (`synthesizeCloisterStrike`) | Station tram departure cue | Keep — deep bell strike functions well as a generic departure gong | +| Comm PA Beat (`synthesizeDematSwitch`) | PA announcement lead-in | Keep — clean 60ms click; functional as an intercom click | +| Zocalo Plaza Chime (`synthesizeTelepathicChime`) | Concourse announcement chime | Keep for now — musical shimmer arpeggio is serviceable, though a genuine two-tone PA chime would be more era-accurate | + +--- ## Space Stations gap list -| # | Sound | Why it matters | Difficulty | -| --- | --- | --- | --- | -| ~~1~~ | ~~Distinct air-handler vs. docking-clamp sounds~~ | **Fixed** — `AIR HANDLER THUD` now calls its own `synthesizeAirHandlerThud()` (dull thump + slow airflow whoosh) instead of sharing `synthesizeDockingClamp()`. | Done | -| 2 | **Belter "jury-rigged" telemetry era** | The single most specific, most directly citable production detail found in this whole reference ("broken, creaky mechanisms") has no corresponding discrete-sound vocabulary — Tycho and Ceres currently borrow Voyager/NX Trek telemetry instead of anything broken or creaky. | Medium | -| 3 | **Sevastopol "spark" transient** | Van Dyck's ambience is explicitly creak **and spark** and shudder; this app's Sevastopol preset covers creak/shudder territory via noise and filtering but has no discrete spark event at all. | Low | -| 4 | **Zocalo / commerce-plaza chatter** | A crowd-and-chatter texture (paralleling the Deep Space Nine Promenade gap noted in the Star Trek section) with no equivalent anywhere in the app — public gathering spaces are structurally different from every machinery-dominated preset. | Medium–High | -| 5 | **Rotation-vs-static distinction for Moonbase Alpha** | Not a missing sound so much as a missing *reason*: nothing currently separates "spinning station rumble" from "static lunar base with anti-gravity towers" even though they are physically different phenomena in the source material. | Low (parameter tuning, not new synthesis) | +Ranked by impact and feasibility across the six station profiles: -Item 1 is close to a one-line fix and should probably happen regardless of any -broader redesign; item 2 has the same "biggest single win" shape as the -Whoniverse and Bioships telemetry gaps, and is unusually well-supported by a -named, quoted production source. +| # | Sound | Station(s) | Why it matters | Difficulty | +| --- | --- | --- | --- | --- | +| 1 | **Belter "jury-rigged" telemetry era** | Ceres, Tycho | The single most specific, citable production directive in modern sci-fi sound design ("broken, creaky mechanisms" per Nelson Ferreira). Replacing sleek Trek chirps with rattling relays and tinny solenoids would give The Expanse presets unmatched authenticity. | Medium | +| 2 | **Sevastopol "spark" transient** | Sevastopol | Jeff van Dyck's audio brief explicitly dictates "creaking and sparking and shuddering." The app has creak and shudder via dark noise filters, but completely lacks random high-frequency electrical spark discharges. | Low | +| 3 | **Commlock calling tone** | Moonbase Alpha | The most iconic discrete sound in *Space: 1999*. A simple dual-frequency square/sine chirp synthesized on an ARP Odyssey model. | Low | +| 4 | **Zocalo commerce-plaza chatter** | Babylon 5 | Public gathering spaces (like DS9's Promenade or B5's Zocalo) require multi-voice background texture rather than solitary machinery hums. | Medium–High | +| 5 | **Magnetic boot ("mag-boot") latch** | Tycho, Ceres | The defining individual foley element of *The Expanse*: a crisp metallic step with an instant electromagnetic lock buzz. | Low–Medium | +| 6 | **Medical vital telemetry (ECG)** | Gateway | Rhythmic bedside heart monitor pulse for the quarantine medical bay, establishing the calm, sterile contrast with the combat zones. | Low | + +--- ## Space Stations open questions -- **[GAP]** No dedicated sound-design source was found for Babylon 5, Moonbase - Alpha, or Gateway Station specifically — the Babylon 5 and Moonbase Alpha - assessments rest on engineering/production facts (rotation physics, reactor - count), not on how anyone built the audio. -- **[GAP]** Whether Alien: Isolation's per-area foley (medical bay vs. alien - nest, per van Dyck) implies the station's ambience genuinely varies by room - in-game, the way this app's single `sta-sevastopol` preset cannot — the - source confirms *foley* varied by surface, not that the *ambient bed* - itself changes by room. -- **[GAP]** Whether "low-tech it" as a philosophy has any further specifics - published for Ceres vs. Tycho individually, beyond the shared Belter - signature — the source found treats Belter technology as one category, not - two distinct stations. -- **[ATT]** Gateway Station's minimal foley identity in the film itself (a - brief early sequence) means it's the thinnest-sourced entry in this - category by nature of the material, not by research gap. +- **[GAP]** Whether *Space: 1999*’s transition from Main Mission (Season 1) to + the subterranean Command Center (Season 2) involved an intentional change in + room acoustic reverberation or background computer density. +- **[GAP]** Whether *Alien: Isolation*'s in-game audio ducking can or should be + emulated in an ambient sound generator (e.g., periodic pseudo-random threat + triggers that duck the ambient bed for several seconds). +- **[GAP]** The exact musical intervals of Babylon 5's C&C computer paging + tones. Fan archives preserve the audio clips, but the synth patch details have + not been published in technical journals. +- **[ATT]** Gateway Station's brief screen time in *Aliens* means its acoustic + identity must be inferred from the film's broader aesthetic and Don Sharpe's + established production techniques rather than isolated set recordings. ### Where to verify (Space Stations) -- **A Sound Effect** (`asoundeffect.com`) carries a full named-interview - breakdown of *The Expanse*'s sound team and philosophy — the strongest - single production source in this entire document. -- **PC Gamer**'s "The audio of Alien: Isolation" and **Audio Media - International**'s dedicated coverage both name Jeff van Dyck directly and - describe concrete foley technique — the second is worth reading in full for - detail not captured here. -- *AVP Central* is a strong resource for Alien-franchise station lore - (Sevastopol, Gateway) but does not cover sound production. -- No equivalent named-interview source was found for Babylon 5 or Space: 1999 - audio specifically; direct episode audio remains the only way to close those - two entries. +- **A Sound Effect** (`asoundeffect.com`): Features an in-depth interview with + supervising sound editor Nelson Ferreira and sound designer Nathan Robitaille + detailing the factional sound palettes and "low-tech it" design philosophy of + *The Expanse*. +- **Audio Media International** & **PC Gamer**: Comprehensive technical + features with audio director Jeff van Dyck detailing Pinewood Studios foley + sessions, original 1979 archive restoration, and dynamic audio implementation + for *Alien: Isolation*. +- **The Catacombs (*space1999.net*)**: Authoritative technical and production + archive for *Space: 1999*, documenting sound editor Roy Lafbery, dubbing + editor Alan Killick, and the use of the ARP Odyssey synthesizer. +- **Academy of Motion Picture Arts and Sciences (AMPAS)**: Official records + for the 59th Academy Awards (1987), documenting Don Sharpe's Oscar win for + Best Sound Effects Editing on *Aliens*. +- **Soundelux Archives / The Longwell Files**: Professional credits and + interviews documenting Andrew DeCristofaro, Michael Payne, and the post-production + sound editorial department of *Babylon 5*. + +--- + +# Deep Space + +The "Deep Space" theme spans seven vessels from six distinct productions: +*Passengers* (The Avalon), *Nightflyers* (The Nightflyer), *Ascension* (USS +Ascension), *The Ark* (Ark One), *Sunshine* (Icarus II), and *Event Horizon* +(Event Horizon and USAC Lewis & Clark). + +Unlike the naval symmetry of Starfleet or the tactical militarism of battlegroups, +Deep Space is characterized by **isolation on an unfathomable scale**. The +vessels fall into two acoustic paradigms: +1. **Long-range generation arks & sleeper transports (*Avalon*, *Ascension*, + *Ark One*):** Engineered for multi-decade voyages, these vessels prioritize + whisper-quiet life-support loops, centrifugal artificial gravity or nuclear + pulse propulsion, and expansive, reverberant public promenades. +2. **Eldritch void explorers & cosmic anomaly vessels (*Event Horizon*, *Icarus + II*, *Nightflyer*):** Encountering cosmic extremes — artificial black holes, + solar proximity, or telepathic possession — their soundscapes emphasize + terrifying sub-bass structural stress, dimensional singularities, radiation + roars, and chilling psychological silence. + +Three of these films (*Passengers*, *Sunshine*, and *Event Horizon*) are +celebrated milestones in cinema sound design, credited to premier audio +directors: **Will Files** (Skywalker Sound), **Glenn Freemantle** (Sound 24 at +Pinewood Studios), and **Campbell Askew** / **Jim Shields** with **Michael +Kamen** and **Orbital**. + +## Layer mapping (Deep Space-specific) + +| Real concept | App layer | Notes | +| --- | --- | --- | +| Hull / void isolation, singularity curvature, heat shields | `hull` (`HullDroneSynth`) | Ultra-deep sub-bass drone (32–56 Hz). Serves as the acoustic gravity well, capturing the immense mass of generation ships or the warping of spacetime near black holes. | +| Drive pulsations, gravity singularity cores, ion thrust | `warp` (`WarpCoreSynth`) | Reused as a slow, menacing pulse layer (28–48 bpm) representing rotating singularity gyroscopes, ion engines, or Project Orion nuclear shocks rather than warp intermix. | +| Cryo-sleep ventilation, oxygen gardens, recycling loops | `lifeSupport` (`LifeSupportSynth`) | Ranging from sterile pink noise in medical cryo-bays to dark brown noise in failing lifepods or hydroponic immersion chambers. | +| Automated navigational telemetry, AI diagnostics, vitals | `telemetry` (`TelemetrySynth`) | Sparse, cold, non-musical computer pings and health telemetry borrowed from Starfleet eras. | +| Singularity activation, gravity pulses, solar flares | Events / Soundboard | Event triggers and relabeled one-shots simulating extreme deep-space phenomena. | + +--- + +## Ship-by-ship + +### The Avalon: Interstellar Cruise Concourse (Passengers, 2016) + +**Production context [DOC]:** Supervising sound editor and sound designer **Will +Files** (Skywalker Sound), working alongside re-recording mixer Kevin O'Connell, +designed the soundscape for the starship *Avalon*. The creative directive was to +establish a sharp acoustic contrast: an ultra-luxurious, commercial passenger +liner that is simultaneously a sterile, automated, and ultimately fragile +machine. + +**[DOC]** Files and his team constructed the Avalon's interior using custom +organic and found recordings — ranging from heavy glass cylinders rolled across +lacquered tables to high-end architectural fixtures — to convey the pristine, +acoustically damp surfaces of the Grand Concourse. The ship is an automated +colony transport carrying 5,000 passengers and 258 crew in hibernation pods on a +120-year transit to Homestead II, powered by an advanced fusion reactor and +shielded from interstellar debris by a forward-projecting ion shield. + +**[OBS]** Acoustically, the *Avalon* is defined by **quiet luxury**: the gentle, +musical bubbling of indoor water features; the smooth, frictionless roll of +service robots; the calm, synthesized chime of the shipboard AI; and Michael +Sheen's android bartender Arthur wiping crystal glasses. The fusion drive is +virtually silent to the passengers, audible only as a gentle, reassuring 44 Hz +bed until micrometeoroid strikes trigger cascading reactor containment +failures, introducing violent low-frequency shuddering. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Grand Concourse & Atrium | Expansive, elegant room tone with subtle acoustic damping; soft, filtered background ventilation; distant mechanical hum of automated hospitality bots. | **[OBS]** | +| Ion Shield Deflection Array | Continuous, high-velocity atmospheric hiss and plasma dissipation hum as interstellar dust is deflected ahead of the vessel. | **[OBS]** | +| Hibination Bay / Cryo-Suites | Quiet, chilled medical airflow; soft rhythmic ventilation pumps cycling positive-pressure air over thousands of suspended sleeper pods. | **[OBS]** | + +*Covered by:* preset `deep-avalon` (`hull`: volume 0.6, `baseFreq: 44`, +`filterCutoff: 95`, `resonance: 1.8`, `noiseMix: 0.4`; `warp`: volume 0.45, +`bpm: 40`, `carrierFreq: 54`, `pulseShape: 'tng'`; `lifeSupport`: volume 0.7, +`noiseType: 'pink'`, `highpassFreq: 160`, `lowpassFreq: 1600`; `telemetry.era: +'tng'`). Low hull volume (0.6) and gentle pink noise capture the whisper-quiet, +high-end luxury cruise atmosphere. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| AI Welcome Chime | Warm, resonant synthesized three-tone announcement chime welcoming awakened passengers. | **LCARS Double Chirp** (via `tng` telemetry) | **[OBS]** | +| Ion Shield Deflection Pop | Crisp, distant static discharge as a micro-debris particle vaporizes against the forward shield. | **LCARS Single Chirp** (relabeled as "Gravity Injector") | **[OBS]** | +| Hibernation Pod Depressurization | Smooth pneumatic sigh and motorized seal retraction when a cryo-pod opens. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | +| Reactor Warning Annunciation | Urgent, synthetic female vocal prompt backed by a subtle two-tone alert chime. | `AlertSynth` | **[OBS]** | + +**Assessment:** `deep-avalon` is an exceptionally accurate translation of Will +Files' sound design. Its moderate frequencies, low resonance, and polished `tng` +telemetry reflect a pristine, corporate-built vessel where machinery is heard as +comfort rather than threat. + +--- + +### The Nightflyer: Telepathic Corridor (Nightflyers) + +**Production context [DOC]:** Adapted from George R.R. Martin’s 1980 novella into +the 2018 Syfy series (developed by Jeff Buhler), *Nightflyers* follows an +expedition into deep interstellar space aboard an exploratory research vessel +attempting to intercept the mysterious alien *Volcryn*. + +**[DOC]** The vessel is commanded by the reclusive Captain Royd Eris, who +appears solely as a holographic projection. The ship's computational core is +infiltrated and controlled by the digitized psychic consciousness of his +deceased mother, Cynthia Eris, who weaponizes the ship’s environmental, +gravitational, and mechanical systems against the crew. + +**[OBS]** The sound design reflects a **haunted technological void**: cold, +dark, industrial maintenance corridors; reverberant metal catwalks; and +deep-space isolation punctuated by psychic interference. The ship's internal +telemetry feels erratic and threatening: bio-telepathic feedback chirps, static +discharges on comm lines, and a low, groaning hull drone that conveys a vessel +possessed by an unseen entity. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Telepathic Corridors & Quarters | Dark, menacing sub-bass hum; metallic expansion ticks; solitary, cold air handling with a subtle warbling psychoacoustic undertone. | **[OBS]** | +| Cynthia Mainframe Core | Deep, chilling 38 Hz drone with shifting harmonic resonance; electrical conduit hum; eerie digital static flaring across audio channels. | **[OBS]** | +| Solitary Life Support | Sluggish, muffled brown-noise air cycling; isolated coolant line wheezes in unpopulated sections of the ship. | **[OBS]** | + +*Covered by:* preset `deep-nightflyer` (`hull`: volume 0.75, `baseFreq: 38`, +`filterCutoff: 88`, `resonance: 2.8`, `noiseMix: 0.55`; `warp`: volume 0.5, +`bpm: 34`, `carrierFreq: 46`, `pulseShape: 'nx'`; `lifeSupport`: volume 0.55, +`noiseType: 'brown'`, `highpassFreq: 120`, `lowpassFreq: 1300`; `telemetry.era: +'ds9'`). Brown noise and low filter cutoffs (88 Hz hull) produce an ominous, +claustrophobic bed. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Telepathic Feedback Ring | Shimmering, high-frequency harmonic chime signaling psychic intrusions into the ship's comms. | `WhoniverseAudioSynth.synthesizeTelepathicChime` (relabeled as "Void Resonance") | **[OBS]** | +| Cardassian Sensor Discordance | Dissonant tritone tone produced by `ds9` telemetry; conveys unstable computer logic. | **Cardassian Sensor Tone** | **[OBS]** | +| Hydraulic Bulkhead Slam | Sudden, violent pressure door closure trapping crew members in isolated corridors. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled as "Hull Strain Moan") | **[OBS]** | +| Cryo-Suite Valve Click | Sharp relay snap regulating cold-sleep pods. | `WhoniverseAudioSynth.synthesizeDematSwitch` (relabeled) | **[OBS]** | + +**Assessment:** The borrowing of `telemetry.era: 'ds9'` is unusually fitting +here: the Cardassian sensor tone's eerie, unresolved tritone interval aligns +naturally with a ship whose computer systems are possessed by a hostile psychic +matrix. + +--- + +### USS Ascension: Generation Ship Promenade (Ascension) + +**Production context [DOC]:** Created by Philip Levens (Syfy, 2014), *Ascension* +is built upon the real-world historical concept of **Project Orion** — a 1950s/60s +aerospace project proposing starships propelled by nuclear pulse detonations. +In the show’s alternate history, President John F. Kennedy launched the *USS +Ascension* in 1963 with 600 men, women, and children on a century-long voyage to +Proxima Centauri to preserve humanity from Cold War atomic annihilation. + +**[DOC]** Because the mission launched in 1963, its technology is entirely +**mid-century electromechanical**: there are no microprocessors, LCD screens, or +digital synthesizers. The vessel relies on massive steel flywheels, vacuum tubes, +relay coils, analog magnetic tape recorders, rotary dials, and mechanical +air scrubbers. + +**[OBS]** The soundscape is unique among generation ships: the steady, mechanical +whir of massive centrifugal gravity flywheels; the warm, tubey drone of analog +electronics; the clatter of electromagnetic relay switches; and the crackle of +1960s public address loudspeakers broadcasting radio programs and announcements +across the residential Promenade. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Generation Promenade & Commons | Cavernous interior park-like concourse; deep rotational hum from the centrifugal gravity cylinder; steady, low-velocity mechanical air blowers. | **[OBS]** | +| Mechanical Flywheel Bays | Rhythmic, heavy mechanical rotation; deep industrial chug and motor hum of giant gyroscopic stabilizers. | **[OBS]** | +| Bridge & Comm Center | Dense electromechanical bed: vacuum tube cooling fans, 60 Hz electrical transformer hum, and mechanical tape drive whirs. | **[OBS]** | + +*Covered by:* preset `deep-ascension` (`hull`: volume 0.7, `baseFreq: 48`, +`filterCutoff: 105`, `noiseMix: 0.48`; `warp`: volume 0.4, `bpm: 36`, +`carrierFreq: 56`, `pulseShape: 'nx'`; `lifeSupport`: volume 0.65, +`noiseType: 'pink'`, `highpassFreq: 150`, `lowpassFreq: 1500`; `telemetry.era: +'nx'`). The `nx` pulse shape provides an electromechanical chug appropriate for +pre-digital reactor technology. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Electromechanical Relay Clack | Heavy snap of high-voltage solenoid relays switching reactor circuits. | **NX Hydraulic Relay** (via `nx` telemetry) | **[OBS]** | +| PA System Broadcast Chime | Vintage single-frequency chime tone preceding 1960s shipboard radio announcements. | *none* — **gap** | **[OBS]** | +| Rotary Selector Click | Mechanical rotary switch detents stepping through communication channels. | `WhoniverseAudioSynth.synthesizeDematSwitch` | **[OBS]** | +| Centrifugal Clutch Engagement | Deep mechanical groan as flywheel clutches adjust station rotational momentum. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[OBS]** | + +**Assessment:** The use of `telemetry.era: 'nx'` is a strong match for +*Ascension*: the utilitarian, non-musical hydraulic relays and indicator beeps +of the NX-01 effectively simulate 1960s industrial switchgear. + +--- + +### Ark One: Evacuation Ark Bridge (The Ark) + +**Production context [DOC]:** Created by Dean Devlin and Jonathan Glassner +(Syfy, 2023), *The Ark* depicts humanity's desperate evacuation of a dying +Earth aboard *Ark One*, a massive colonization transport en route to Proxima b. +A year before reaching its destination, a catastrophic hull breach strikes the +vessel, killing the senior command staff and crippling vital life-support and +food-production bays. + +**[OBS]** The sound design reflects a **crippled, struggling vessel**: stressed +metal bulkheads groaning under atmospheric pressure differentials; wheezing, +damaged air scrubbers working at emergency limits; and automated diagnostic +alarms constantly reporting resource shortages and water recycling failures. +The bridge acoustic environment is utilitarian and high-tension: crisp cooling +fans, continuous computer telemetry checking compromised hull integrity, and +emergency klaxons. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Command Bridge & Flight Ops | Tense, functional room tone; steady cooling fan whir; automated navigational telemetry chirping in rapid intervals. | **[OBS]** | +| Damaged Environmental Deck | Struggling water reclamation filters; erratic air circulation hiss; low-frequency structural stress hums. | **[OBS]** | +| Forward Living Quarters | Muffled, vibrating bulkhead hums; distant hydraulic conduits pulsing under fluctuating pressure. | **[OBS]** | + +*Covered by:* preset `deep-ark-one` (`hull`: volume 0.7, `baseFreq: 52`, +`filterCutoff: 115`, `noiseMix: 0.5`; `warp`: volume 0.5, `bpm: 42`, +`carrierFreq: 62`, `pulseShape: 'tng'`; `lifeSupport`: volume 0.6, +`noiseType: 'pink'`, `highpassFreq: 170`, `lowpassFreq: 1700`; `telemetry.era: +'voyager'`). Brighter base frequency (52 Hz) and crisp pink noise convey a +modern, active spacecraft under continuous operational strain. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Bridge Telemetry Confirmation | Bright two-tone chirp verifying life-support repair commands. | **LCARS Double Chirp** (via `voyager` telemetry) | **[OBS]** | +| Structural Integrity Sensor Sweep | Rising-and-falling electronic sweep pinging damaged hull compartments. | **Sensor Sweep** (via `voyager` telemetry) | **[OBS]** | +| Hull Decompression Klaxon | Rapid alternating alarm tone signaling atmospheric loss in breached sectors. | `AlertSynth` | **[OBS]** | +| Pressure Equalization Valve | High-pressure air jet balancing pressure between airlock corridors. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | + +**Assessment:** The 60/40 `voyager` telemetry split (Double Chirp / Sensor +Sweep) provides an active, responsive computer environment appropriate for an +operational bridge troubleshooting emergency systems. + +--- + +### Icarus II: Solar Shield Core (Sunshine, 2007) + +**Production context [DOC]:** Directed by Danny Boyle, *Sunshine* features one of +the most celebrated sound design achievements in modern cinema, created by +supervising sound editor and sound designer **Glenn Freemantle** (Sound 24 at +Pinewood Studios). Freemantle's soundscape was instrumental in establishing the +psychological terror and awe of the dying Sun. + +**[DOC]** The *Icarus II* carries a stellar payload with the mass of Manhattan +Island to reignite the fading Sun. The ship is dominated by a colossal, +paraboloid heat shield composed of thousands of golden carbon-composite tiles. +Freemantle built an acoustic landscape that deliberately defied scientific +silence in external space: the Sun is treated as an active, living antagonist, +generating an overwhelming, visceral low-frequency roar that shakes the ship's +exterior. + +**[DOC]** Internally, Freemantle crafted a stark, unsettling dichotomy: +1. **The Shield & Observation Room:** Massive thermal expansion groans, + metallic clicks, and the muffled roar of the solar wind. +2. **The Oxygen Garden:** Soft, organic, rustling green vegetation and bubbling + algae nutrient tanks — the crew's fragile biological tether. +3. **The Immersion Mainframe:** Deep, tranquil, underwater hydrophone hums + where the ship's AI computer (voiced by Chipo Chung) rests in a sub-zero + coolant bath. +4. **The Icarus I Distress Beacon:** An eerie, iconic tonal beacon existing in + the uncanny valley between musical chord and electronic code, echoing through + the void. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Solar Shield Core & Struts | Immense structural tension; deep 40 Hz thermal expansion creaks; low, continuous vibration of the massive golden heat shield deflecting solar radiation. | **[OBS]** | +| Mainframe Coolant Chamber | Submerged hydrophone sub-bass drone; chilled liquid coolant circulation; profound, quiet computational isolation. | **[OBS]** | +| Oxygen Garden & Life Support | Gentle pink/brown air handling; subtle moisture bubbling; peaceful organic respiration contrasting with exterior furnace heat. | **[OBS]** | + +*Covered by:* preset `deep-icarus-ii` (`hull`: volume 0.8, `baseFreq: 40`, +`filterCutoff: 95`, `noiseMix: 0.6`; `warp`: volume 0.5, `bpm: 32`, +`carrierFreq: 48`, `pulseShape: 'nx'`; `lifeSupport`: volume 0.65, +`noiseType: 'brown'`, `highpassFreq: 130`, `lowpassFreq: 1400`; `telemetry.era: +'tng'`). Heavy noise mix (0.6) and dark brown noise evoke the immense thermal +weight and liquid-cooled interior of the vessel. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Solar Wind Shield Flare | Resonant sub-bass swell and high-frequency sizzle as coronal mass ejections impact the golden shield. | `alerts.synthesizeWarpJump` (triggered via event `btn-solar-swell`) | **[DOC]** | +| Mainframe Diagnostic Blip | Soft, tranquil sine blip from the coolant-immersed computer core. | **LCARS Single Chirp** (via `tng` telemetry) | **[OBS]** | +| Thermal Expansion Tick | Sharp, brittle metallic crack echoing through the shield support pylons under extreme temperature gradients. | `whoniverseAudio.synthesizeDematSwitch` | **[OBS]** | +| Icarus I Distress Beacon | Haunting, alien electronic arpeggio pulsing through communication arrays. | *none* — **gap**, high thematic value | **[DOC]** | + +**Assessment:** One of the most distinctive presets in the app. The combination +of a deep 40 Hz hull drone with brown noise captures the immense physical mass +of the heat shield shielding the crew from total incineration. The single +largest missing element is the haunting **Icarus distress beacon**, one of the +most memorable sound effects in modern sci-fi cinema. + +--- + +### Event Horizon: Gravity Singularity Core (Event Horizon, 1997) + +**Production context [DOC]:** Directed by Paul W.S. Anderson, *Event Horizon* is +a masterclass in sci-fi gothic horror. Sound design was crafted by sound designer +**Campbell Askew** and supervising sound editor **Jim Shields**, with re-recording +mixes at Twickenham Studios. The film’s industrial electronic score was +composed by **Michael Kamen** in collaboration with British electronic music +pioneers **Orbital**. + +**[DOC]** The *Event Horizon* was an experimental deep-space vessel built to test +a revolutionary gravity drive designed by Dr. William Weir. The drive creates an +artificial black hole singularity to fold space-time, allowing instantaneous +travel. Disappearing beyond Neptune on its maiden voyage, the ship re-emerges +seven years later from "a dimension of pure chaos, pure evil," having become a +sentient, corrupted organism that induces horrifying hallucinations in anyone +who boards it. + +**[DOC]** The Gravity Drive Core is one of cinema's most iconic sound design +creations: a cavernous chamber housing three concentric, magnetic gyroscopic +rings rotating around a spherical containment singularity. Askew and Shields +built its audio using massive sub-bass dimensional thrums, industrial servo +groans, and unsettling organic audio elements — heartbeat pulses, wet breathing, +and reversed acoustic whispers — layered into the ship’s mechanical fabric. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Gravity Singularity Core | Monstrous sub-bass gravitational thrum (32 Hz); slow, menacing magnetic gyroscopic pulsing (28 bpm); dark, warping dimensional void resonances. | **[OBS]** | +| Corrupted Gothic Corridors | Heavy industrial groaned metal; echoing cavernous bulkhead creaks resembling a haunted cathedral; icy air handlers wheezing in sub-zero gloom. | **[OBS]** | +| Extradimensional Void Static | Chilling psychoacoustic drone; subliminal whispers and flesh-like organic pulses riding just beneath the threshold of hearing. | **[OBS]** | + +*Covered by:* preset `deep-event-horizon` (`hull`: volume 0.88, `baseFreq: 32`, +`filterCutoff: 80`, `resonance: 3.5`, `noiseMix: 0.65`; `warp`: volume 0.85, +`bpm: 28`, `carrierFreq: 42`, `filterCutoff: 130`, `pulseShape: 'nx'`, +`resonance: 4.2`, `swirlMix: 0.35`; `lifeSupport`: volume 0.55, +`noiseType: 'brown'`, `highpassFreq: 100`, `lowpassFreq: 1100`; `telemetry.era: +'nx'`). The lowest base frequency (32 Hz), slowest pulse rate (28 bpm), and +highest warp resonance (4.2) in the entire application, creating an +overwhelming, terrifying sonic presence. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Singularity Drive Engage | Deep, dimensional sub-bass pitch drop (95 Hz curving to 28 Hz) with modulating triangle LFO, warping the room. | `expandedAudio.synthesizeSingularityEngage` (triggered via event `btn-singularity`) | **[DOC]** | +| Hull Strain Moan | Agonized, reverberant structural groaning as gravitational tides bend the titanium spine. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled) | **[OBS]** | +| Extradimensional Static Whisper | Fleeting burst of reversed voices and cosmic void static across the communication net. | *none* — **gap** | **[DOC]** | +| Gyroscopic Magnet Clank | Heavy electromagnetic catch as the outer drive rings lock into rotational alignment. | **NX Hydraulic Relay** (via `nx` telemetry) | **[OBS]** | + +**Assessment:** This is the heaviest, most intimidating audio profile in the +entire app. The 32 Hz / 28 bpm combination creates an almost physical sensation +of gravitational mass. The bespoke event `synthesizeSingularityEngage()` is a +direct synthesis of Dr. Weir’s gravity drive spinning up. + +--- + +### Lewis & Clark: Rescue Cutter Bridge (Event Horizon, 1997) + +**Production context [DOC]:** Also from *Event Horizon* (1997), the *USAC Lewis +and Clark* provides the grounded, utilitarian human counterpoint to the gothic +supernatural terror of the *Event Horizon*. Commanded by Captain Miller +(Laurence Fishburne), it is a United States Aerospace Command search-and-rescue +cutter. + +**[OBS]** The sound design reflects a **cramped, industrial military cutter**: +tight pressurized cockpits; responsive, high-output ion thrusters; noisy, +dry air scrubbers maintaining breathable oxygen in close quarters; and active +tactical radar and sensor telemetry. There is nothing mystical or haunted about +the *Lewis & Clark*: every sound is mechanical, functional, and rugged, +establishing the normalcy of the crew before they board the derelict. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Rescue Cutter Cockpit & Flight Deck | Compact, utilitarian room tone; high-frequency cooling blowers; rapid, busy short-range navigational telemetry. | **[OBS]** | +| Search & Rescue Propulsion | Crisp, energetic engine thrum (48 bpm, 56 Hz base); responsive sub-light maneuvering thrusters. | **[OBS]** | +| Pressurized Crew Compartment | Dry, high-volume air recirculation; mechanical valve cycling in environmental scrubbers. | **[OBS]** | + +*Covered by:* preset `deep-lewis-clark` (`hull`: volume 0.65, `baseFreq: 56`, +`filterCutoff: 125`, `noiseMix: 0.48`; `warp`: volume 0.55, `bpm: 48`, +`carrierFreq: 68`, `pulseShape: 'defiant'`; `lifeSupport`: volume 0.6, +`noiseType: 'pink'`, `highpassFreq: 180`, `lowpassFreq: 1800`; `telemetry.era: +'ds9'`). The aggressive `defiant` pulse shape and 48 bpm rate reflect a +compact, high-thrust tactical cutter. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Tactical Proximity Ping | Sharp, high-frequency sonar-like radar ping locating debris around Neptune's orbit. | `telemetry.synthesizeSensorSweep` (relabeled as "Tachyon Sensor Ping") | **[OBS]** | +| Thruster Attitude Burst | Sharp, pressurized gas release maneuvering the cutter into docking position. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | +| Rescue Comm Link Acknowledge | Short electronic chirp acknowledging pilot communications. | **Single Chirp** (via `ds9` telemetry) | **[OBS]** | +| Magnetic Docking Collar Latch | Heavy hydraulic and magnetic clamp securing the cutter to the Event Horizon’s airlock. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[OBS]** | + +**Assessment:** The contrast between `deep-lewis-clark` (56 Hz base, 48 bpm, +`pulseShape: 'defiant'`) and `deep-event-horizon` (32 Hz base, 28 bpm, +`pulseShape: 'nx'`) mirrors the exact dynamic of the film: human, military +efficiency versus unfathomable cosmic dread. + +--- + +## The eldritch void vs. generation ark design constraint + +The Deep Space universe balances a profound aesthetic divide that must be +reflected in its sound synthesis: + +1. **The Generation Ark Aesthetic (*The Avalon*, *USS Ascension*, *Ark One*):** + Centuries-long voyages demand psychological stability. Life support must be + quiet, smooth, and imperceptible; propulsion is a steady, reassuring pulse; + and public concourses provide open, reassuring reverberation to prevent + cabin fever. The soundscape is built around **preservation and mechanical + predictability**. +2. **The Eldritch Void Aesthetic (*Event Horizon*, *Icarus II*, *The Nightflyer*):** + Vessels penetrating unknown physical frontiers confront forces that dwarf + human engineering. The soundscape abandons comfort: sub-bass rumbles drop into + infrasonic frequencies (32 Hz), structural bulkheads groan under gravitational + and thermal shear, and the silence of the void is violated by radiation roars, + black hole singularities, and psychic static. The soundscape is built around + **dread, awe, and structural strain**. + +--- + +## Existing element / soundboard relabeling + +The `deepspace` soundboard (`js/config.js`) maps five interactive trigger +buttons to audio synthesis methods: + +| Soundboard label | Method called | Underlying element origin | +| --- | --- | --- | +| VOID RESONANCE | `whoniverseAudio.synthesizeTelepathicChime` | Relabeled Doctor Who TARDIS telepathic circuit arpeggio shimmer | +| GRAVITY INJECTOR | `telemetry.synthesizeLCARSSingleChirp` | Relabeled Starfleet LCARS single panel touch tone blip | +| HULL STRAIN MOAN | `expandedAudio.synthesizeDockingClamp` | Relabeled heavy mechanical latch + pneumatic exhaust | +| TACHYON SENSOR PING | `telemetry.synthesizeSensorSweep` | Relabeled Starfleet long-range sensor frequency glide | +| CRYO-SUITE REGULATOR | `whoniverseAudio.synthesizeDematSwitch` | Relabeled Doctor Who TARDIS console demat relay click | + +In addition, the theme features three bespoke event triggers: +- `btn-singularity` ("SINGULARITY ENGAGE"): Calls `expandedAudio.synthesizeSingularityEngage()`, + producing a 3.2-second deep sub-bass pitch drop (95 Hz curving down to 28 Hz) + with a modulating triangle wave, synthesizing an artificial black hole. +- `btn-gravity-pulse` ("GRAVITY PULSE"): Also triggers `synthesizeSingularityEngage()`. +- `btn-solar-swell` ("SOLAR SHIELD SWELL"): Calls `alerts.synthesizeWarpJump()`, + producing an intense rising-and-falling energy wash. + +--- + +## Deep Space existing element retention map + +| Existing element | Assigned function | Verdict | +| --- | --- | --- | +| Void Resonance (`synthesizeTelepathicChime`) | Psychic / void anomalies | Keep — shimmering arpeggio functions well for the *Nightflyer*'s psychic presence | +| Gravity Injector (`synthesizeLCARSSingleChirp`) | Impulse gravity compensation | Serviceable, though a duller sub-bass thud would better represent gravitational mass | +| Hull Strain Moan (`synthesizeDockingClamp`) | Deep structural bulkhead stress | Mismatch — a docking latch impact does not sound like a groaning, bending titanium hull | +| Tachyon Sensor Ping (`synthesizeSensorSweep`) | Long-range deep-space sensor | Keep — sensor frequency sweep is appropriate for exploratory scans | +| Cryo-Suite Regulator (`synthesizeDematSwitch`) | Hibernation pod valve/relay | Keep — crisp 60ms click works convincingly as a cryogenic valve solenoid | + +--- + +## Deep Space gap list + +Ranked by impact and feasibility across the seven vessel profiles: + +| # | Sound | Vessel(s) | Why it matters | Difficulty | +| --- | --- | --- | --- | --- | +| 1 | **True Hull Strain Moan** | Event Horizon, Ark One, Icarus II | The current soundboard relabels a sharp docking clamp latch as "Hull Strain Moan." A true structural groan requires a slow, resonant bandpass filter sweep over low-frequency noise, conveying bending metal. | Medium | +| 2 | **Icarus I distress beacon** | Icarus II | The single most haunting and famous sound cue in *Sunshine*: an eerie, beautiful, electronic arpeggio pulsing through empty space. | Medium | +| 3 | **Solar radiation / heat shield roar** | Icarus II | The visceral roar of the Sun deflecting off the gold-leaf shield. A lowpass-filtered noise swell with subtle randomized crackle. | Low | +| 4 | **Extradimensional / psychic static whisper** | Event Horizon, Nightflyer | A chilling psychoacoustic burst: reversed white noise with formant filtering simulating voices lost in the void. | Medium | +| 5 | **Cryogenic pod depressurization sigh** | Avalon, Ark One | The characteristic sound of sleeper pods opening: a low-velocity gas hiss followed by a smooth motorized seal hum. | Low | +| 6 | **Mid-century Orion nuclear pulse thump** | Ascension | The rhythmic, heavy thrum of nuclear pulse propulsion or giant flywheel clutches for Project Orion technology. | Low | + +--- + +## Deep Space open questions + +- **[GAP]** The specific synthesizer patches and filtering used by Glenn + Freemantle to produce the eerie *Icarus I* distress beacon in *Sunshine*. +- **[GAP]** Whether the automated computer voice of the *Avalon* (voiced by + Chris Pratt's character interaction) followed an established musical chime + standard in production stems. +- **[GAP]** The exact foley layering used by Campbell Askew for the Event + Horizon’s spinning gravity drive core beyond the credited gyroscopic servos + and sub-bass oscillator passes. + +### Where to verify (Deep Space) + +- **CineMontage** & **ProVideo Coalition**: In-depth production features with + supervising sound editor Will Files detailing custom foley, acoustic damping, + and sound design for the starship *Avalon* in *Passengers*. +- **Sound 24 / Pinewood Studios Archives**: Technical interviews with Glenn + Freemantle documenting sound recording and psychoacoustic design for Danny + Boyle's *Sunshine*. +- **Twickenham Film Studios / British Film Institute (BFI)**: Production sound + credits and interviews for *Event Horizon*, documenting Campbell Askew, Jim + Shields, and the collaboration with Michael Kamen and Orbital. +- **Project Orion Historical Archives (George Dyson)**: Primary documentation + on the 1960s nuclear pulse propulsion concepts that formed the basis of *USS + Ascension*. + +--- + +# Comedy & Whimsical Adventure + +The "Comedy / Adventure" theme features five starships across parody, satire, +and affectionate sci-fi homage: +- *The Orville* (USS Orville) — Seth MacFarlane’s love letter to 1990s Star Trek +- *Galaxy Quest*, 1999 (NSEA Protector) — Dean Parisot’s meta-fictional tribute +- *The Hitchhiker's Guide to the Galaxy* (Heart of Gold) — Douglas Adams' cosmic satire +- *Hyperdrive*, BBC 2006–2007 (HMS Camden Lock) — Workplace sitcom in deep space +- *Spaceballs*, 1987 (Spaceball One) — Mel Brooks' classic space-opera parody + +Acoustically, comedy sci-fi is defined by a fundamental rule: **the sound +design must play it straight**. Whether engineered by Skywalker Sound legends +(**Gary Rydstrom**, **Randy Thom**) or Academy Award winners (**Richard Beggs**, +**Glenn Freemantle**), these ships sound convincing, heavy, and mechanically +authentic — which is precisely what makes their comedic subversions so funny. + +## Layer mapping (Comedy/Adventure-specific) + +| Real concept | App layer | Notes | +| --- | --- | --- | +| Hull / quantum hum, beryllium reactor, mega-engine roar | `hull` (`HullDroneSynth`) | Ranges from clean, optimistic 58 Hz hums on the Orville to the deafening, bass-heavy 64 Hz rumble of Spaceball One. | +| Propulsion / quantum drive, beryllium pulse, improbability | `warp` (`WarpCoreSynth`) | Fast, energetic pulse rates (38–66 bpm) driving quantum foam manipulation, time dilation, or comical acceleration. | +| Ventilation / air handling, domestic galley tea scrubbers | `lifeSupport` (`LifeSupportSynth`) | Bright pink and white noise beds; clean airflow in futuristic bridges, contrasted with British electric kettle hisses in the mess. | +| Bridge chirps, telemetry confirmations, helmet intercoms | `telemetry` (`TelemetrySynth`) | Borrowed Trek eras (`tng`, `voyager`, `tos`, `nx`) supplying melodic console chirps, crisp sensor scans, or retro relay clatter. | +| Ludicrous speed, improbability flips, cheerful door sighs | Events / Soundboard | Dedicated comedic synthesis methods and relabeled interactive triggers. | + +--- + +## Ship-by-ship + +### USS Orville: Command Bridge (The Orville) + +**Production context [DOC]:** Created by Seth MacFarlane, *The Orville*’s sound +design was led by supervising sound designer **Jon Greasley** at King +Soundworks, working alongside supervising sound editors Darren King and Joel +Shryack. MacFarlane, an avid fan of Berman-era *Star Trek*, directed the sound +department to create an earnest, high-budget, optimistic audio identity that +honors the classic aesthetic of *The Next Generation* while establishing a +distinctive Planetary Union sonic signature. + +**[DOC]** The musical score, composed by John Debney, Joel McNeely, and Bruce +Broughton, was recorded on a Hollywood scoring stage with a full 75-piece +orchestra for every episode — an extraordinary commitment in modern television +that directly influenced the sound design. Because the orchestral music is rich, +dynamic, and present in almost every scene, the ambient soundscapes were crafted +to sit cleanly in the frequency spectrum without muddying the symphonic score. + +**[OBS]** Acoustically, the *USS Orville* (ECV-197, an exploratory mid-level +vessel) is **bright, clean, and optimistic**: +- The **Quantum Drive** hums with a smooth, high-frequency musical tone (58 Hz + base) rather than a dark, abrasive industrial grind. +- The command bridge is open and serene, featuring gentle air filtration with + ample high-frequency "air" (200–1900 Hz bandpass). +- Consoles respond with pleasant, multi-tonal synthesizer acknowledgments that + sound distinctly musical, reflecting the Union’s hopeful post-scarcity ethos. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Planetary Union Command Bridge | Pristine, uplifting room tone; smooth cooling circulation; gentle high-frequency console resonance with wide stereo spread. | **[OBS]** | +| Quantum Drive Nexus | Smooth, melodic faster-than-light drive thrum; rapid, rhythmic quantum intermix pulsing cleanly at 52 bpm. | **[OBS]** | +| Crew Quarters & Corridors | Quiet, comforting ventilation; soft, dampened carpeted room tone; absent of mechanical rattle or hull groaning. | **[OBS]** | + +*Covered by:* preset `com-orville` (`hull`: volume 0.6, `baseFreq: 58`, +`filterCutoff: 130`, `noiseMix: 0.35`; `warp`: volume 0.65, `bpm: 52`, +`carrierFreq: 74`, `pulseShape: 'tng'`, `resonance: 3.4`; `lifeSupport`: volume +0.6, `noiseType: 'pink'`, `highpassFreq: 200`, `lowpassFreq: 1900`; +`telemetry.era: 'tng'`). Low noise mix (0.35) and high base frequency (58 Hz) +give this preset a bright, uplifting sheen. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Orville Acknowledge Chirp | Pleasant three-tone melodic acknowledgment sequence confirming bridge inputs. | `telemetry.synthesizeLCARSSequence` (triggered via soundboard `btn-chirp-ack`) | **[OBS]** | +| Quantum Drive Jump | Resonant rising energy swell and instantaneous spatial displacement pop. | `alerts.synthesizeWarpJump` (triggered via event `btn-quantum-jump`) | **[OBS]** | +| Environmental Sensor Sweep | Smooth, high-frequency frequency glide surveying planetary atmospheres. | **Sensor Sweep** (via `tng` telemetry) | **[OBS]** | +| Pneumatic Door Swish | Soft, airy pneumatic slide with a subtle electronic latch. | *none* — **gap** | **[OBS]** | + +**Assessment:** `com-orville` is one of the cleanest presets in the entire app. +Its high-frequency tuning and 52 bpm `tng` pulse shape mirror Jon Greasley’s +clean mix, leaving room for symphonic orchestral textures while delivering an +unmistakable late-24th-century Trek aesthetic. + +--- + +### NSEA Protector: Beryllium Engine Room (Galaxy Quest, 1999) + +**Production context [DOC]:** Directed by Dean Parisot, *Galaxy Quest* features +sound design by Academy Award winner **Richard Beggs** (*Apocalypse Now*) and +supervising sound editor **Tim Holland**, with sound effects editing by Tim +Nielsen. + +**[DOC]** The narrative brilliance of *Galaxy Quest* rests on the **Thermians**, +an alien species who intercepted broadcasts of a campy 1970s TV space opera and, +believing them to be "historical documents," built a 100% functional, full-scale +starship: the *NSEA Protector* (NTE-3120). Beggs and Holland faced a unique +challenge: the ship's audio had to sound simultaneously like low-budget TV cheese +and terrifyingly real alien engineering. + +**[DOC]** In the engine room, the ship is powered by a **Beryllium Sphere** — +an exotic, glowing crystal reactor core that hums with immense, volatile fusion +energy. The ship is also equipped with the **Omega-13**, a mysterious device +rumored to rearrange matter and collapse time 13 seconds into the past. In +contrast to the campy exterior, the mechanical engineering is fierce: heavy, +throbbing reactor pulses, aggressive digital Chompers swinging in corridors, +and tense bridge alarm chatter. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Beryllium Engine Core | Raw, aggressive fusion thrum (64 Hz base); rapid, intense 56 bpm reactor pulse; sharp electromagnetic containment field resonance. | **[OBS]** | +| Command Bridge (Thermian Build) | Earnest, high-density digital chatter; crisp cooling blowers; subtle high-voltage electronic hum beneath pristine white consoles. | **[OBS]** | +| Core Corridor / Chomper Shafts | Industrial mechanical clanking, violent pneumatic piston strokes, and heavy structural vibrations. | **[OBS]** | + +*Covered by:* preset `com-protector` (`hull`: volume 0.7, `baseFreq: 64`, +`filterCutoff: 145`, `resonance: 3.2`, `noiseMix: 0.45`; `warp`: volume 0.8, +`bpm: 56`, `carrierFreq: 82`, `filterCutoff: 230`, `pulseShape: 'defiant'`, +`resonance: 4.2`; `lifeSupport`: volume 0.55, `noiseType: 'pink'`, +`highpassFreq: 220`, `lowpassFreq: 2100`; `telemetry.era: 'voyager'`). High warp +volume (0.8), high carrier frequency (82 Hz), and aggressive `defiant` pulse +shape capture the intense power of the Beryllium reactor. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Beryllium Core Pulse | Resonant frequency jump simulating the unstable power surges of the core. | `expandedAudio.synthesizeImprobabilityFlip` (relabeled) | **[OBS]** | +| Omega-13 Charge Cycle | Deep, rising capacitor whine building to a blinding temporal shockwave. | `whoniverseAudio.synthesizeSonicScrewdriver` (relabeled) | **[OBS]** | +| Digital Bridge Acknowledge | Crisp, earnest digital beep confirming helm commands. | **LCARS Double Chirp** (via `voyager` telemetry) | **[OBS]** | +| Thermian Screen Ping | High-frequency electronic indicator acknowledging communications from Mathesar. | **Sensor Sweep** (via `voyager` telemetry) | **[OBS]** | + +**Assessment:** The choice of `pulseShape: 'defiant'` at 56 bpm gives the +*Protector* an urgent, high-power engine room rhythm that perfectly sells the +Thermians' literal-minded engineering. Relabeling the sonic screwdriver as the +"Omega-13 Charge" is functionally serviceable, though a bespoke rising +capacitor whine would elevate the preset. + +--- + +### Heart of Gold: Improbability Bridge (The Hitchhiker's Guide to the Galaxy) + +**Production context [DOC]:** Created by Douglas Adams, *The Hitchhiker's Guide +to the Galaxy*’s sonic heritage originated in the 1978 BBC radio series, where +sound effects were crafted by **Dick Mills** and **Harry Parker** at the **BBC +Radiophonic Workshop**. For the 2005 feature film directed by Garth Jennings, +sound design was supervised by Academy Award winner **Glenn Freemantle** (Sound +24) alongside sound designer **Niv Adiri**. + +**[DOC]** The *Heart of Gold* is powered by the revolutionary **Infinite +Improbability Drive**, which allows the ship to pass through every point in every +conceivable universe simultaneously by calculating the exact level of +improbability required. When the drive engages, physical reality warps: the ship +and its crew undergo surreal, instantaneous transformations (turning into sofas, +yarn, or knitted yarn beings) accompanied by bizarre, ascending and descending +frequency glissandi and acoustic inversions. + +**[DOC]** The ship's interior was manufactured by the **Sirius Cybernetics +Corporation**, outfitted with *Genuine People Personalities* (GPP). This +includes **Eddie**, the shipboard computer whose voice is oppressively, +infuriatingly cheerful and motherly, and the ship's automatic doors, which take +ecstatic, sensual pleasure in opening and closing: +> *"All the doors in this spaceship have a cheerful and sunny disposition. It is +> their pleasure to open for you, and their satisfaction to close again with the +> knowledge of a job well done."* + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Improbability Bridge | Bright, whimsical, slightly surreal room tone; clean white-noise air filtration (180–2400 Hz); buoyant, rapid 60 bpm quantum drive rhythm. | **[OBS]** | +| Infinite Improbability Core | Shifting acoustic pitch; fluctuating harmonic spread; unstable reality field buzzing with whimsical mechanical energy. | **[OBS]** | +| Galley & Nutri-Matic Concourse | Cheerful domestic mechanical hums; bubbling beverage dispensers attempting and failing to produce tea. | **[OBS]** | + +*Covered by:* preset `com-heart-of-gold` (`hull`: volume 0.6, `baseFreq: 52`, +`filterCutoff: 120`, `noiseMix: 0.4`; `warp`: volume 0.7, `bpm: 60`, +`carrierFreq: 70`, `filterCutoff: 210`, `pulseShape: 'voyager'`, `resonance: +3.8`, `swirlMix: 0.4`; `lifeSupport`: volume 0.65, `noiseType: 'white'`, +`highpassFreq: 180`, `lowpassFreq: 2400`; `telemetry.era: 'tng'`). The only +preset in the app utilizing **white noise** in life support, delivering a bright, +crisp, energetic air bed. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Cheerful Door Sigh | Pleasurable, musical sine-wave sigh (620 Hz ramping to 840 Hz, then settling to 520 Hz) as Sirius Cybernetics doors open. | `expandedAudio.synthesizeCheerfulDoor` (bespoke method) | **[DOC]** | +| Improbability Reality Flip | Whimsical, rapid four-stage frequency jump (1400 → 180 → 2200 → 440 Hz) warping reality. | `expandedAudio.synthesizeImprobabilityFlip` (bespoke method) | **[DOC]** | +| Nutri-Matic Tea Dispenser | Gurgling fluid pump followed by an electric sputter delivering "a liquid almost, but not quite, entirely unlike tea." | `expandedAudio.synthesizeImprobabilityFlip` (relabeled) | **[DOC]** | +| Eddie Computer Acknowledge | Cheerful, upbeat data blip acknowledging bridge inquiries. | **Single Chirp** / **Double Chirp** (via `tng` telemetry) | **[OBS]** | + +**Assessment:** `com-heart-of-gold` is uniquely well-served by bespoke synthesis +in `js/audio.js`: `synthesizeCheerfulDoor()` and `synthesizeImprobabilityFlip()` +were custom-coded specifically for this ship, directly capturing Douglas Adams' +iconic comedic creations. + +--- + +### HMS Camden Lock: Flight Deck & Mess (Hyperdrive) + +**Production context [DOC]:** Created by Kevin Cecil and Andy Townsend (BBC, +2006–2007), *Hyperdrive* is a sci-fi workplace sitcom starring Nick Frost +(Commander Michael Henderson) and Miranda Hart. The series follows the crew of +the *HMS Camden Lock*, an exploratory vessel in the British Space Fleet in 2151, +tasked with protecting British commercial interests and peddling British goods +to unimpressed alien civilizations. + +**[OBS]** The acoustic design, supervised by BBC sound director **John +Downer**, is a brilliant parody of **mundane British bureaucracy in space**: +- The sub-light engines do not hum like Starfleet antimatter reactors; they + chug and rattle like a sluggish London diesel commuter bus or an overworked + boiler. +- The mess hall and flight deck echo with the mundane sounds of office life: + an electric kettle bubbling on a counter, porcelain mugs clinking, squeaky + linoleum floors, and humming strip fluorescent lights. +- Intercom announcements are preceded by tinny, low-bitrate chime signals + announcing mandatory staff appraisals or trade disputes with the Lallakiss. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Flight Deck & Bridge | Unremarkable, slightly dated mechanical room tone; steady 48 Hz diesel-like engine hum; utilitarian air blowers with occasional duct rattles. | **[OBS]** | +| Mess Hall & Officers' Quarters | Domestic appliances humming in the background; electric kettle boiling; quiet low-velocity ventilation. | **[OBS]** | +| Sub-Light Propulsion Bays | Sluggish, mechanical engine chug (38 bpm); heavy unrefined piston and gear vibrations transmitted through the steel decking. | **[OBS]** | + +*Covered by:* preset `com-camden-lock` (`hull`: volume 0.65, `baseFreq: 48`, +`filterCutoff: 105`, `noiseMix: 0.48`; `warp`: volume 0.45, `bpm: 38`, +`carrierFreq: 58`, `filterCutoff: 140`, `pulseShape: 'nx'`; `lifeSupport`: +volume 0.6, `noiseType: 'pink'`, `highpassFreq: 160`, `lowpassFreq: 1600`; +`telemetry.era: 'nx'`). The `nx` pulse shape delivers the slow, mechanical +reactor chug needed for a sluggish government vessel. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Administrative Intercom Chime | Flat, dry single-frequency beep preceding mundane diplomatic announcements from Commander Henderson. | **NX Indicator Beep** (via `nx` telemetry) | **[OBS]** | +| Hydraulic Circuit Breaker | Heavy mechanical thunk as ancient British electrical relays trip under load. | **NX Hydraulic Relay** (via `nx` telemetry) | **[OBS]** | +| Electric Kettle Whistle | Domestic high-frequency steam whistle boiling water for Earl Grey tea. | *none* — **gap** | **[OBS]** | +| Hyperdrive Jump Engage | Sluggish, sputtering engine roar followed by an abrupt, unceremonious warp transition. | `alerts.synthesizeWarpJump` | **[OBS]** | + +**Assessment:** The use of `telemetry.era: 'nx'` is a pitch-perfect fit: the +plain, non-musical hydraulic relays and utilitarian indicator beeps of the NX-01 +sound exactly like British government-contracted electronics installed in an +underfunded 22nd-century starship. + +--- + +### Spaceball One: Mega-Warship Bridge (Spaceballs, 1987) + +**Production context [DOC]:** Directed by Mel Brooks, *Spaceballs* features +sound design supervised by two of the most renowned sound designers in cinematic +history: **Gary Rydstrom** (seven-time Academy Award winner for *Jurassic Park*, +*Terminator 2*, *Saving Private Ryan*) and **Randy Thom** (two-time Oscar winner +for *The Right Stuff*, *The Incredibles*) at Skywalker Sound / Sprocket Systems. +The re-recording mixers included Richard Beggs and Gary Summers. + +**[DOC]** *Spaceball One* is an absurdly colossal mega-warship under the command +of Dark Helmet (Rick Moranis) and Colonel Sandurz. In an iconic visual gag, the +ship takes nearly two full minutes of screen time just to fly past the camera, +culminating in a bumper sticker reading: *"We Brake For Nobody."* Later in the +film, the ship transforms into **Mega-Maid**, a giant robotic statue armed with a +vacuum cleaner to suck the atmosphere from planet Druidia. + +**[DOC]** Rydstrom and Thom gave *Spaceball One* a massive, comically +overbearing soundscape. Parodying *Star Wars* Star Destroyers, the ship is +powered by five absurd speed settings: +1. Light speed +2. Ridiculous speed +3. **Ludicrous speed** +4. Plaid! + +**[DOC]** The sequence in which the ship shifts into **Ludicrous Speed** is a +classic piece of sound design: a deafening, terrifyingly high-pitched +sawtooth-wave accelerator whine that climbs continuously until the vessel +overshoots the heroes and "goes to plaid," leaving behind a checkered neon trail. +Dark Helmet's dialogue is muffled and echoed through his comically oversized +plastic breathing helmet, contrasted with retro computer telemetry. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Mega-Warship Command Bridge | Immense, deafening engine room tone (64 Hz base, volume 0.85); massive air handlers blowing high-volume circulation (220–2200 Hz); echoing industrial metal deckplates. | **[OBS]** | +| Ludicrous Propulsion Core | Aggressive, rapid 66 bpm engine thrum (`pulseShape: 'defiant'`); carrier frequency 86 Hz; extreme resonance (4.4) conveying absurdly oversized engines. | **[OBS]** | +| Mega-Maid Vacuum Conduits | Cavernous airflow roar and colossal atmospheric suction turbines cycling planetary air. | **[OBS]** | + +*Covered by:* preset `com-spaceball-one` (`hull`: volume 0.85, `baseFreq: 64`, +`filterCutoff: 150`, `resonance: 3.5`, `noiseMix: 0.55`; `warp`: volume 0.9, +`bpm: 66`, `carrierFreq: 86`, `filterCutoff: 260`, `pulseShape: 'defiant'`, +`resonance: 4.4`; `lifeSupport`: volume 0.6, `noiseType: 'pink'`, +`highpassFreq: 220`, `lowpassFreq: 2200`; `telemetry.era: 'tos'`). The highest +warp volume (0.9), highest warp cutoff (260 Hz), and fastest bpm (66) of any +ship in the app, capturing an absurdly overpowered mega-warship. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Ludicrous Speed Accelerator | Screaming, exponential sawtooth-wave frequency climb (60 Hz ramping violently to 5400 Hz over 3.2 seconds). | `expandedAudio.synthesizeLudicrousSpeed` (bespoke method) | **[DOC]** | +| Dark Helmet Intercom Echo | Cavernous, hollow public address ping preceding Dark Helmet barking orders from the bridge. | **TOS Relay Click** (via `tos` telemetry) | **[OBS]** | +| Vintage Spaceball Computer | Rapid, analog warble chatter parodying 1960s sci-fi radar consoles. | **TOS Computer Warble** (via `tos` telemetry) | **[OBS]** | +| Emergency Brake Clonk | Colossal screech and metal crunch when Colonel Sandurz pulls the emergency brake. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[OBS]** | + +**Assessment:** `com-spaceball-one` is an audio tour de force. The bespoke method +`synthesizeLudicrousSpeed()` in `js/audio.js` directly recreates Rydstrom and +Thom’s screaming accelerator whine. The use of `telemetry.era: 'tos'` provides +the retro, analog computer chatter that Mel Brooks used to satirize classic +space-opera tropes. + +--- + +## The parody vs. homage design constraint + +In comedy and satirical sci-fi, audio design operates under a strict principle: +**the joke works only if the world sounds real**. + +1. **The Straight Homage (*The Orville*, *Galaxy Quest*):** + Neither *The Orville* nor *Galaxy Quest* plays their sound effects for + laughs. Their engines, life-support loops, and computer interfaces are + engineered with the same technical rigor and fidelity as *Star Trek: The + Next Generation* or *Alien*. The humor arises from the characters' dialogue, + workplace foibles, and absurdity, while the ship remains a solid, believable + anchor. In this app, their presets must maintain pristine, high-fidelity + frequencies and balanced envelopes. +2. **Surrealism & Anthropomorphism (*Heart of Gold*, *Spaceballs*):** + Here, the comedy directly infiltrates the machinery. Douglas Adams' + technology has emotional neuroses: doors sigh with satisfaction, elevators + experience existential dread, and tea machines have nervous breakdowns. In + *Spaceballs*, scale is pushed to literal absurdity: engine rooms roar at + ear-splitting volumes and accelerators climb to 5.4 kHz. In this app, these + ships are given custom synthesis methods (`synthesizeCheerfulDoor`, + `synthesizeImprobabilityFlip`, `synthesizeLudicrousSpeed`) that violate + standard acoustic constraints to deliver the joke. + +--- + +## Existing element / soundboard relabeling + +The `comedy` soundboard (`js/config.js`) maps five interactive trigger buttons +to audio synthesis methods: + +| Soundboard label | Method called | Underlying element origin | +| --- | --- | --- | +| CHEERFUL DOOR SIGH | `expandedAudio.synthesizeCheerfulDoor` | Bespoke synthesis: musical 3-stage sine sigh (620 → 840 → 520 Hz) | +| BERYLLIUM CORE PULSE | `expandedAudio.synthesizeImprobabilityFlip` | Reused triangle reality-flip sweep (1400 → 180 → 2200 → 440 Hz) | +| TEA DISPENSER GURGLE | `expandedAudio.synthesizeImprobabilityFlip` | Shared with the button above; reused reality-flip sweep | +| ORVILLE ACK CHIRP | `telemetry.synthesizeLCARSSequence` | Starfleet LCARS three-tone acknowledgment sequence | +| OMEGA-13 CHARGE | `whoniverseAudio.synthesizeSonicScrewdriver` | Relabeled Doctor Who sonic screwdriver continuous modulation buzz | + +In addition, the theme features three event triggers: +- `btn-ludicrous` ("LUDICROUS SPEED"): Calls `expandedAudio.synthesizeLudicrousSpeed()`, + producing a 3.2-second screaming sawtooth climb (60 Hz to 5400 Hz). +- `btn-improbability` ("IMPROBABILITY FLIP"): Calls `expandedAudio.synthesizeImprobabilityFlip()`. +- `btn-quantum-jump` ("QUANTUM JUMP"): Calls `alerts.synthesizeWarpJump()`, + simulating Planetary Union faster-than-light entry. + +--- + +## Comedy & Adventure existing element retention map + +| Existing element | Assigned function | Verdict | +| --- | --- | --- | +| Cheerful Door Sigh (`synthesizeCheerfulDoor`) | Sirius Cybernetics GPP doors | Keep — bespoke, highly accurate to Adams' description | +| Beryllium Core Pulse (`synthesizeImprobabilityFlip`) | Thermian fusion pulse | Serviceable — the rapid frequency jumps convey unstable exotic physics | +| Tea Dispenser Gurgle (`synthesizeImprobabilityFlip`) | Nutri-Matic tea machine | Mismatch — a fluid gurgle and sputter requires noise filtering, not an electronic frequency sweep | +| Orville Ack Chirp (`synthesizeLCARSSequence`) | Planetary Union bridge console | Keep — classic three-tone sequence fits MacFarlane’s aesthetic perfectly | +| Omega-13 Charge (`synthesizeSonicScrewdriver`) | Temporal capacitor charge | Keep for now — sonic buzz functions as an energy charge, though a deep rising capacitor whine would be superior | + +--- + +## Comedy & Adventure gap list + +Ranked by impact and feasibility across the five starship profiles: + +| # | Sound | Ship(s) | Why it matters | Difficulty | +| --- | --- | --- | --- | --- | +| 1 | **Dedicated Tea Dispenser Gurgle** | Heart of Gold | Currently shares `synthesizeImprobabilityFlip()`. A bespoke liquid bubble, gurgle, and steam hiss would directly deliver Adams' Nutri-Matic joke. | Low | +| 2 | **Beryllium Sphere Resonant Thrum** | NSEA Protector | A deep, glassy, crystalline hum with an internal harmonic vibration, distinguishing the Thermian reactor from Starfleet cores. | Medium | +| 3 | **Omega-13 Temporal Capacitor Whine** | NSEA Protector | A dedicated sub-bass swell rising into a blinding white-noise temporal snap, replacing the Doctor Who sonic screwdriver. | Medium | +| 4 | **British Electric Kettle Steam Whistle** | HMS Camden Lock | The defining comedic prop of *Hyperdrive*: a domestic whistling kettle interrupting tense diplomatic encounters. | Low | +| 5 | **Ludicrous Speed "Plaid" Alarm** | Spaceball One | A comedic klaxon sounding the moment the ship exceeds Ludicrous Speed and enters Plaid. | Low | + +--- + +## Comedy & Adventure open questions + +- **[GAP]** The specific synthesizer models and patch parameters used by Gary + Rydstrom at Skywalker Sound to generate the original *Spaceball One* engine + drone and Ludicrous Speed accelerator. +- **[GAP]** Whether Jon Greasley’s *The Orville* bridge console chimes were tuned + to specific diatonic musical chords to harmonize with Bruce Broughton's and + John Debney's orchestral scores. +- **[GAP]** The exact foley recipe used by the BBC Radiophonic Workshop (Dick + Mills) in 1978 for the Nutri-Matic Drinks Synthesiser's liquid dispensing. + +### Where to verify (Comedy & Adventure) + +- **Skywalker Sound & Mix Magazine**: Historical interviews with Gary Rydstrom + and Randy Thom detailing sound design for Mel Brooks’ *Spaceballs*. +- **CineMontage / Motion Picture Sound Editors (MPSE)**: Production features + documenting Richard Beggs and Tim Holland’s work on *Galaxy Quest*. +- **Post Magazine / King Soundworks**: Technical coverage of Jon Greasley and + Seth MacFarlane’s audio post-production workflow on *The Orville*. +- **BBC Radiophonic Workshop Archive**: Production documentation on Dick + Mills’ sound effects for *The Hitchhiker’s Guide to the Galaxy* (1978). +- **Sound 24 Archives**: Production notes by Glenn Freemantle and Niv Adiri on + the 2005 film adaptation of *The Hitchhiker's Guide to the Galaxy*. + +--- + +# Outlaw & Frontier + +The "Outlaw / Frontier" theme captures six vessels operating outside galactic +law, flown by bounty hunters, smugglers, salvagers, and mercenaries: +- *Alien: Resurrection*, 1997 (The Betty) — Jean-Pierre Jeunet's industrial freighter +- *Cowboy Bebop*, 1998 (Bebop) — Shinichirō Watanabe's converted fishing trawler +- *Outlaw Star*, 1998 (Outlaw Star) — Sunrise's advanced Grappler Ship +- *Blake's 7*, Series 4, 1981 (Scorpio) — Terry Nation's salvaged Wanderer transport +- *Star Wars: The Bad Batch* (The Marauder) — Clone Force 99's modified attack shuttle +- *Guardians of the Galaxy*, 2014 (The Milano) — Peter Quill's customized M-Ship + +Acoustically, the Outlaw universe is defined by **grease, grit, and mechanical +vulnerability**. Unlike the pristine symmetry of Starfleet or the high-budget +comfort of passenger liners, these vessels are unmaintained, jury-rigged, and +lived-in. They rattle under full thrust, leak hydraulic fluid, and rely on +analog media — cassette tapes, vacuum tubes, and CB-style radio channels — to +survive on the fringes of space. + +## Layer mapping (Outlaw/Frontier-specific) + +| Real concept | App layer | Notes | +| --- | --- | --- | +| Hull / engine thrum, lived-in hull vibration, trawler hum | `hull` (`HullDroneSynth`) | Ranging from gritty 50 Hz brown-noise beds on the Betty to hot-rod 62 Hz sweeps on the Milano. | +| Propulsion / sub-drives, ion thrusters, turbo burners | `warp` (`WarpCoreSynth`) | Aggressive or mechanical pulse rates (38–64 bpm) simulating unmaintained clutches, grappler drives, or high-thrust afterburners. | +| Ventilation / air handling, greasy galleys, tape hiss | `lifeSupport` (`LifeSupportSynth`) | Brown and pink noise beds with active airflow modulation; air scrubbers struggling with heat, oil, and atmospheric re-entry friction. | +| Mercenary comms, pirate radio, analog telemetry | `telemetry` (`TelemetrySynth`) | Borrowed Trek eras (`nx`, `tos`, `voyager`, `ds9`) supplying mechanical relay thunks, radio-filtered beeps, or retro sweeps. | +| Afterburner engage, pirate scrambles, cassette clunks | Events / Soundboard | Bespoke afterburner audio and relabeled interactive trigger buttons. | + +--- + +## Ship-by-ship + +### The Betty: Salvage Freighter Mess (Alien: Resurrection, 1997) + +**Production context [DOC]:** Directed by Jean-Pierre Jeunet from a screenplay +by Joss Whedon (which directly inspired Whedon’s later creation of *Firefly* and +*Serenity*), *Alien: Resurrection* features sound design supervised by +**John A. Larsen**, with sound designer **Leslie Shatz** and sound effects +designer **Paul Urmson**. + +**[DOC]** *The Betty* is a commercial salvage and smuggling freighter captained +by Frank Elgyn, crewed by a cynical band of mercenaries including Call (Winona +Ryder), Johner (Ron Perlman), and Christie. The ship is designed as an unglamorous +flying junkyard: an asymmetrical, heavily scarred industrial hauler whose +interiors reek of grease, stale tobacco, and leaking hydraulics. + +**[OBS]** Acoustically, *The Betty* is the quintessential **dirty space freighter**: +- The propulsion core does not emit a smooth magnetic hum; it rattles with + grimy, low-frequency diesel-like vibrations, clattering hydraulic clutches, + and unshielded engine manifold heat. +- The galley and mess hall are noisy and utilitarian: bubbling coffee pots, + clinking metal cutlery, and the hum of unmaintained fluorescent strip lights. +- Communications are rough, compressed, and distorted, echoing over pirate + radio frequencies with heavy tape hiss and RF static. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Smuggler Mess & Galley | Dark, rattling room tone; brown-noise air handling with fluctuating airflow; metallic clatter from loose pipes in bulkheads. | **[OBS]** | +| Greasy Propulsion Engine Room | Heavy industrial engine chug (46 bpm, `pulseShape: 'nx'`); unshielded hydraulic pump whine; deep 50 Hz mechanical hull vibration. | **[OBS]** | +| Cargo Hold & Docking Umbilical | Cavernous, uninsulated metal acoustics; creaking docking latches; hissing coolant lines venting into vacuum. | **[OBS]** | + +*Covered by:* preset `out-betty` (`hull`: volume 0.75, `baseFreq: 50`, +`filterCutoff: 115`, `resonance: 2.8`, `noiseMix: 0.55`; `warp`: volume 0.7, +`bpm: 46`, `carrierFreq: 64`, `filterCutoff: 180`, `pulseShape: 'nx'`, +`resonance: 3.4`; `lifeSupport`: volume 0.6, `noiseType: 'brown'`, +`highpassFreq: 150`, `lowpassFreq: 1500`; `telemetry.era: 'nx'`). Brown noise in +life support and `pulseShape: 'nx'` capture the grimy, unwashed mechanical +atmosphere of the salvage hauler. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Hydraulic Clutch Thunk | Heavy, unbuffered mechanical slam as the engine gears engage. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled as "Fuel Line Valve") | **[OBS]** | +| Pirate Radio RF Static | Compressed burst of radio frequency noise and dial static between comm transmissions. | `telemetry.synthesizeSensorSweep` (relabeled as "Radio Static Burst") | **[OBS]** | +| Fuel Line Sputter | Pneumatic valve release with liquid sputter regulating dirty fuel injectors. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | +| Smuggler Nav Console Beep | Utilitarian, flat indicator chirp checking docking approach vectors. | **NX Indicator Beep** (via `nx` telemetry) | **[OBS]** | + +**Assessment:** `out-betty` is a textbook implementation of industrial sci-fi. +The combination of brown noise, `nx` engine pulses, and NX hydraulic relays +accurately portrays a ship held together with spit, duct tape, and stolen +replacement parts. + +--- + +### Bebop: Living Quarters & Hangar (Cowboy Bebop) + +**Production context [DOC]:** Directed by Shinichirō Watanabe at Sunrise (1998), +*Cowboy Bebop*’s audio was supervised by sound director **Katsumi Mimori** +(Sound Box), with sound effects design by **Masahiro Shoji**, working in close +synchrony with composer **Yoko Kanno** and her band, the Seatbelts. + +**[DOC]** The *Bebop* is a converted interplanetary fishing trawler owned and +piloted by ex-cop Jet Black, serving as the mobile home and base of operations for +bounty hunters Spike Spiegel, Faye Valentine, Edward, and Ein. Built to haul +massive catches of Ganymede sea-rats, the ship features a rotating central +centrifuge for artificial gravity, a spacious lower hangar deck storing Spike’s +*Swordfish II*, Faye’s *Red Tail*, and Jet’s *Hammerhead*, and sub-light +ion-plasma main thrusters. + +**[OBS]** The sound design of the *Bebop* is built on **lived-in analog warmth**: +- The main engines produce a steady, unhurried 42 bpm thrum reminiscent of an + ocean-going marine vessel rather than an aerospace warship. +- The living quarters and lounge have an intimate, slightly creaky acoustic bed: + gurgling plumbing pipes, vintage cathode-ray tube (CRT) television hums, + vacuum tube radio warmth, and the clatter of mahjong tiles or cigarette + lighters. +- In the hangar deck, heavy crane servos whine and pneumatic catapult rails hiss + as the smaller monoracer fighters launch into the solar system. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Living Quarters & Central Lounge | Warm, vintage room tone (46 Hz base); gentle pink-noise ventilation; faint 60 Hz electrical hum from CRT monitors and analog electronics. | **[OBS]** | +| Converted Trawler Main Engine | Heavy, rhythmic marine-like diesel/ion chug (42 bpm); steady lowpass-filtered mechanical resonance. | **[OBS]** | +| Lower Hangar Deck | Cavernous, metallic acoustics; hydraulic crane hums; compressed air hisses around docked fighter craft. | **[OBS]** | + +*Covered by:* preset `out-bebop` (`hull`: volume 0.7, `baseFreq: 46`, +`filterCutoff: 105`, `resonance: 2.4`, `noiseMix: 0.48`; `warp`: volume 0.55, +`bpm: 42`, `carrierFreq: 58`, `filterCutoff: 150`, `pulseShape: 'nx'`; +`lifeSupport`: volume 0.6, `noiseType: 'pink'`, `highpassFreq: 160`, +`lowpassFreq: 1600`; `telemetry.era: 'tos'`). The slow 42 bpm pulse and warm +pink noise capture the comfortable, slightly dilapidated atmosphere of Jet’s +trawler. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Hangar Crane Servo Whine | Electric motor whine positioning Spike's Swordfish II onto the launch rail. | `telemetry.synthesizeLCARSSingleChirp` (relabeled as "Grappler Arm Motor") | **[OBS]** | +| Vintage CRT Terminal Chatter | Retro, stepped-frequency analog computer warbles from Jet's bounty hunting terminal. | **TOS Computer Warble** (via `tos` telemetry) | **[OBS]** | +| Monoracer Catapult Release | High-pressure pneumatic burst launching a parasite fighter into the vacuum. | `whoniverseAudio.synthesizeFastReturn` (relabeled as "Turbo Jet Burn") | **[OBS]** | +| Cassette Player Transport Clunk | Mechanical latch clicking when Spike or Faye plays a vintage audio/video tape. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled) | **[OBS]** | + +**Assessment:** The choice of `telemetry.era: 'tos'` provides the analog, +pre-digital computer chatter that lines up with *Cowboy Bebop*’s 1970s/80s retro-tech +aesthetic. The preset feels relaxed and domestic, capturing a home that happens +to travel between the planets. + +--- + +### Outlaw Star: Grappler Bridge (Outlaw Star) + +**Production context [DOC]:** Directed by Mitsuru Hongo at Sunrise (1998), +*Outlaw Star* features sound direction by **Yasuo Uragami** (Audio Planning U) +and sound effects design by **Akihiko Okuda**. + +**[DOC]** The *Outlaw Star* (registry *XGP 15A-II*) is an advanced prototype +**Grappler Ship**, co-developed by the Space Pirates and the Kei Pirates under +the Gilliam project, then commandeered by outlaw Gene Starwind. Grappler ships are +the combat standard of the Frontier: spacecraft outfitted with heavy, articulated +multipurpose mechanical limbs capable of wielding giant plasma blades, kinetic +axes, and heavy firearms in zero-G melee combat. + +**[DOC]** The vessel is powered by a high-output sub-ether drive and navigated by +**Melfina**, an artificial biological android housed in a liquid-filled +computational navigation sphere. Uragami and Okuda created an acoustic profile +combining high-tech military energy with kinetic mecha combat: screaming +servos, high-voltage caster weapon capacitors, and an energetic, fast-pulsing +flight deck. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Grappler Combat Flight Deck | High-energy, tense bridge acoustics; bright 64 Hz sub-drive thrum; rapid 60 bpm pulse rate (`pulseShape: 'defiant'`); active cooling fans running at high RPM. | **[OBS]** | +| Sub-Ether Propulsion Nexus | Resonant electromagnetic whine; high carrier frequency (82 Hz); wide swirl mix simulating exotic faster-than-light drive coils. | **[OBS]** | +| Melfina Navigation Core | Tranquil, liquid-damped chamber; soft bubbling; faint, crystalline harmonic resonance contrasting with the furious combat deck. | **[OBS]** | + +*Covered by:* preset `out-outlaw-star` (`hull`: volume 0.7, `baseFreq: 64`, +`filterCutoff: 150`, `resonance: 3.2`, `noiseMix: 0.45`; `warp`: volume 0.75, +`bpm: 60`, `carrierFreq: 82`, `filterCutoff: 230`, `pulseShape: 'defiant'`, +`resonance: 4.0`; `lifeSupport`: volume 0.55, `noiseType: 'pink'`, +`highpassFreq: 200`, `lowpassFreq: 2000`; `telemetry.era: 'voyager'`). High +frequencies (64 Hz hull, 82 Hz warp) and an aggressive 60 bpm pulse capture a +high-octane anime combat vessel. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Grappler Arm Hydraulic Stroke | High-torque electric servo whine and hydraulic hiss as the mechanical arms deploy weapons. | `telemetry.synthesizeLCARSSingleChirp` (relabeled) | **[OBS]** | +| Caster Gun Capacitor Charge | Rising, high-frequency electrical whine building to an explosive spell-shell discharge. | `expandedAudio.synthesizeAfterburner` | **[OBS]** | +| Gilliam Computer Acknowledge | Crisp, responsive digital two-tone chirp from the ship’s AI computer. | **LCARS Double Chirp** (via `voyager` telemetry) | **[OBS]** | +| Sub-Drive Afterburner Swell | Roaring sawtooth acceleration burst pushing the ship into evasive maneuvers. | `expandedAudio.synthesizeAfterburner` (triggered via `btn-afterburner`) | **[DOC]** | + +**Assessment:** The use of `pulseShape: 'defiant'` at 60 bpm and `voyager` +telemetry gives the *Outlaw Star* a sharp, responsive, mecha-adjacent audio +signature that distinguishes it from slower industrial freighters. + +--- + +### Scorpio: Wanderer Salvage Vessel (Blake's 7) + +**Production context [DOC]:** Created by Terry Nation for the BBC (Series 4, +1981), *Blake's 7*’s post-production sound was crafted by **Elizabeth Parker** at +the **BBC Radiophonic Workshop**, working alongside BBC television dubbing +editors. + +**[DOC]** Following the catastrophic destruction of the alien super-cruiser +*Liberator* at the end of Series 3, Kerr Avon and his surviving rebel band are +forced to make their base aboard *Scorpio* — a battered, obsolete, third-hand +Wanderer K-class commercial salvage transport originally owned by the smuggler +Dorian. The ship is fitted with an experimental sub-space acceleration booster +designed by Dorian, and operates under the supervision of **Slave**, an +apologetic and subservient shipboard computer. + +**[OBS]** *Scorpio* represents the absolute nadir of **unglamorous British +sci-fi hardware**: +- The drive systems chug and whine with audible strain; power packs overheat + and coolant pipes rattle under high-G boosts. +- The flight console is constructed from salvaged components, with clattering + electromechanical switches and harsh analog warning buzzers. +- The hull groans under the stresses of Avon’s desperate evasion runs, conveying + a ship operating far beyond its designed service life. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Flight Deck & Control Consoles | Dry, rattling electromechanical room tone; unrefined 52 Hz generator hum; fluttering cooling fans struggling with ambient heat. | **[OBS]** | +| Wanderer Sub-Light Engines | Coarse, unshielded reactor chug (46 bpm); clattering drive manifolds; metallic vibration transmitted through structural deckbeams. | **[OBS]** | +| Equipment Hold & Workshop | Cold, cavernous acoustic space; dripping hydraulic fluid; faint electrical hum of Dorian's salvage tools. | **[OBS]** | + +*Covered by:* preset `out-scorpio` (`hull`: volume 0.75, `baseFreq: 52`, +`filterCutoff: 120`, `resonance: 2.6`, `noiseMix: 0.5`; `warp`: volume 0.6, +`bpm: 46`, `carrierFreq: 68`, `filterCutoff: 175`, `pulseShape: 'tos'`, +`resonance: 3.2`; `lifeSupport`: volume 0.55, `noiseType: 'pink'`, +`highpassFreq: 180`, `lowpassFreq: 1800`; `telemetry.era: 'tos'`). The `tos` +pulse shape and TOS telemetry provide the dry, 1970s/80s analog BBC soundbed +characteristic of the series. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Slave Computer Acknowledge | Hesitant, apologetic electronic tone preceding Slave's polite computer announcements. | **TOS Computer Warble** (via `tos` telemetry) | **[OBS]** | +| Acceleration Booster Engage | Sudden violent turbine surge as Dorian's booster kicks in. | `expandedAudio.synthesizeAfterburner` | **[OBS]** | +| Power Pack Circuit Breaker | Sharp, heavy relay snap as overloaded power circuits disconnect. | **TOS Relay Click** (via `tos` telemetry) | **[OBS]** | +| Wanderer Hull Stress Groan | Metallic groan of aging structural welds flexing during high-G deceleration. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[OBS]** | + +**Assessment:** `out-scorpio` captures the authentic sound of late-70s / early-80s +BBC Radiophonic design. Its dry analog relays and strained engine pulse mirror +the grim, resource-starved reality of Terry Nation’s universe. + +--- + +### The Marauder: Havoc Shuttle Bridge (Star Wars: The Bad Batch) + +**Production context [DOC]:** Developed by Dave Filoni (Lucasfilm Animation), +*The Bad Batch* features sound design supervised by **David Acord** and +**Matthew Wood** at Skywalker Sound, building upon the foundational Star Wars +sound library created by **Ben Burtt**. + +**[DOC]** The *Havoc Marauder* is a heavily modified, experimental +*Omicron*-class attack shuttle serving as the mobile home, transport, and +tactical operations base for Clone Force 99 (Hunter, Wrecker, Tech, Echo, +Crosshair, and Omega). Following the rise of the Galactic Empire, the squad +defects, turning their military gunship into a mercenary and smuggler vessel on +the galactic frontier. + +**[OBS]** The sound design is steeped in classic **Star Wars industrial +tactility**: +- The propulsion core blends the guttural roar of Twin Ion Engines (TIE) and + Lambda shuttle sub-light drives: a deep, aggressive 60 Hz hum pulsing at 52 + bpm (`pulseShape: 'defiant'`). +- The cockpit features mechanical toggle switches, tactile avionics, and + Tech’s custom-wired electronic scanners chirping with combat telemetry. +- Interior life support is compact and pressurized, punctuated by the clank of + military armor, hydraulic loading ramps, and repulsorlift whine during planetary + landings. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Havoc Cockpit & Navigation Station | Tense, tactical room tone; steady avionics cooling blowers; low-level repulsorlift generator whine (60 Hz base). | **[OBS]** | +| Sub-Light Ion Thrusters | Powerful, aggressive sub-light propulsion thrum (52 bpm); tight electromagnetic resonance (`pulseShape: 'defiant'`). | **[OBS]** | +| Bunk Area & Tactical Locker | Enclosed, metallic room tone; muffled engine vibration; clean, pressurized military air filtration. | **[OBS]** | + +*Covered by:* preset `out-marauder` (`hull`: volume 0.65, `baseFreq: 60`, +`filterCutoff: 135`, `resonance: 2.8`, `noiseMix: 0.42`; `warp`: volume 0.7, +`bpm: 52`, `carrierFreq: 78`, `filterCutoff: 200`, `pulseShape: 'defiant'`, +`resonance: 3.6`; `lifeSupport`: volume 0.55, `noiseType: 'pink'`, +`highpassFreq: 190`, `lowpassFreq: 1900`; `telemetry.era: 'ds9'`). The `defiant` +pulse shape gives the shuttle a punchy, military-grade engine heartbeat. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Repulsorlift Landing Hum | Smooth, low-frequency anti-gravity warble holding the shuttle above landing pads. | `expandedAudio.synthesizeSingularityEngage` (partial) | **[OBS]** | +| Clone Comm Link Chirp | Sharp, military radio chirp acknowledging encrypted squad communications. | **Single Chirp** (via `ds9` telemetry) | **[OBS]** | +| Hydraulic Ramp Extension | Heavy pneumatic release followed by the solid metallic thunk of the boarding ramp. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | +| Hyperdrive Jump Shudder | Deep mechanical winding build followed by the iconic Star Wars hyperspace roar. | `alerts.synthesizeWarpJump` | **[OBS]** | + +**Assessment:** `out-marauder` successfully translates the military-surplus +character of Clone Force 99. The combination of `pulseShape: 'defiant'` with +tactical telemetry creates an audio environment that feels disciplined yet +scrappy. + +--- + +### The Milano: M-Ship Cockpit Lounge (Guardians of the Galaxy, 2014) + +**Production context [DOC]:** Directed by James Gunn for Marvel Studios, +*Guardians of the Galaxy* features sound design supervised by Academy Award +winner **Christopher Boyes** and **David Acord** at Skywalker Sound. + +**[DOC]** *The Milano* is an *M-class* space cruiser owned and piloted by +Peter Quill (Star-Lord), named after his childhood crush Alyssa Milano. The ship +is a hot-rod spacecraft: agile, heavily modified with dual atmospheric jet +burners, insectoid swept wings, and twin-deck cockpit-lounge living spaces. Most +importantly, Quill customized the ship's consoles with Earth-made audio gear: an +analog cassette deck wired directly into the ship's primary intercom and speaker +system. + +**[OBS]** The sound design is **kinetic, joyful, and tactile**: +- The main propulsion combines rocket boosters and atmospheric jet burners, + delivering a high-energy, high-frequency hum (62 Hz base, 64 bpm). +- The cockpit lounge is dominated by the analog media experience: cassette tape + hiss, the heavy physical clunk of the deck transport latch, the whirr of fast + forwarding, and 1970s pop music bleeding through environmental air handlers. +- The ship’s avionics feature bright, playful Ravager targeting blips, kinetic + thruster bursts, and responsive steering thruster gas releases. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Two-Deck Cockpit & Living Lounge | Energetic, bright room tone; warm analog tape noise floor; gentle high-frequency ventilation from environmental scrubbers. | **[OBS]** | +| Dual Atmospheric Jet Burners | High-octane rocket propulsion thrum (64 bpm, 62 Hz base); wide stereo swirl mix (0.35); powerful sub-light acceleration. | **[OBS]** | +| Upper Gunner Station | Enclosed, panoramic glass cockpit; quiet flight instrument cooling; faint whistling of atmospheric slipstreams. | **[OBS]** | + +*Covered by:* preset `out-milano` (`hull`: volume 0.65, `baseFreq: 62`, +`filterCutoff: 140`, `resonance: 3.0`, `noiseMix: 0.4`; `warp`: volume 0.7, +`bpm: 64`, `carrierFreq: 84`, `filterCutoff: 220`, `pulseShape: 'voyager'`, +`resonance: 3.8`; `lifeSupport`: volume 0.6, `noiseType: 'pink'`, +`highpassFreq: 210`, `lowpassFreq: 2200`; `telemetry.era: 'voyager'`). High pulse +tempo (64 bpm) and bright carrier frequencies (84 Hz) produce an energetic, +hot-rod cockpit bed. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Cassette Player Transport Clunk | Heavy, spring-loaded mechanical latch clicking when the tape player engages Play or Eject. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled as "Cassette Deck Clunk") | **[DOC]** | +| Atmospheric Jet Burner Burst | Roaring afterburner flare as Quill pulls high-G combat maneuvers. | `expandedAudio.synthesizeAfterburner` (triggered via `btn-afterburner`) | **[DOC]** | +| Ravager Targeting Computer | Rapid, bright two-tone confirmation chirp acquiring enemy fighters. | **LCARS Double Chirp** (via `voyager` telemetry) | **[OBS]** | +| Kinetic Thruster Hiss | Short, pressurized gas burst stabilizing the M-Ship’s swept wings. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | + +**Assessment:** `out-milano` is an audio showcase. The inclusion of the +`synthesizeAfterburner()` method directly reproduces the Milano's jet-burner +acceleration, while the soundboard's "Cassette Deck Clunk" pays homage to the +film’s defining cultural motif. + +--- + +## The "grease and grit" frontier design constraint + +In frontier sci-fi, spacecraft are neither sterile laboratory vessels nor +immaculate flagships: **they are work vehicles**. + +1. **Mechanical Vulnerability:** + Engines in this universe require maintenance and coaxing. Clutches slip, + fuel manifolds clatter, and electrical relays trip under peak load. In this + app, Outlaw presets use darker noise mixes (0.4–0.55), lower filter cutoffs, + and mechanical pulse shapes (`nx`, `defiant`, `tos`) that convey moving metal + rather than clean magnetic field flux. +2. **Analog & Retro Hardware:** + Outlaw technology relies heavily on pre-digital or analog equipment: + cassette players (*The Milano*), vacuum tube radios and CRTs (*Bebop*), + hydraulic grappler limbs (*Outlaw Star*), and CB radio transceivers + (*The Betty*). Synthesis in this universe must resist clean, musical sine + chimes in favor of mechanical clicks, tape noise floors, and radio static. + +--- + +## Existing element / soundboard relabeling + +The `outlaw` soundboard (`js/config.js`) maps five interactive trigger buttons +to audio synthesis methods: + +| Soundboard label | Method called | Underlying element origin | +| --- | --- | --- | +| CASSETTE DECK CLUNK | `expandedAudio.synthesizeDockingClamp` | Relabeled heavy mechanical latch + pneumatic exhaust | +| GRAPPLER ARM MOTOR | `telemetry.synthesizeLCARSSingleChirp` | Relabeled Starfleet LCARS single panel touch tone | +| FUEL LINE VALVE | `expandedAudio.synthesizeDockingClamp` | Relabeled heavy mechanical clamp latch | +| RADIO STATIC BURST | `telemetry.synthesizeSensorSweep` | Relabeled Starfleet long-range sensor frequency glide | +| TURBO JET BURN | `whoniverseAudio.synthesizeFastReturn` | Relabeled Doctor Who TARDIS fast-return mechanical lever clack | + +In addition, the theme features three event triggers: +- `btn-afterburner` ("AFTERBURNER ENGAGE"): Calls `expandedAudio.synthesizeAfterburner()`, + producing a 2.4-second screaming sawtooth frequency climb (80 Hz → 850 Hz → 620 Hz) + filtered through bandpass noise. +- `btn-pirate-scramble` ("PIRATE SCRAMBLE"): Triggers Starfleet red alert klaxons. +- `btn-sub-drive` ("SUB-DRIVE SWELL"): Calls `expandedAudio.synthesizeEpsteinBurn()`, + producing a massive low-frequency drive surge. + +--- + +## Outlaw & Frontier existing element retention map + +| Existing element | Assigned function | Verdict | +| --- | --- | --- | +| Cassette Deck Clunk (`synthesizeDockingClamp`) | Tape transport mechanism | Mismatch — a docking clamp has too much pneumatic hiss for a handheld Walkman/deck | +| Grappler Arm Motor (`synthesizeLCARSSingleChirp`) | Servo positioning sound | Mismatch — a smooth musical sine blip does not convey a heavy electric servo motor | +| Fuel Line Valve (`synthesizeDockingClamp`) | Fuel manifold shutoff | Keep — heavy mechanical clunk works well as an industrial fuel valve | +| Radio Static Burst (`synthesizeSensorSweep`) | RF communications noise | Mismatch — a clean tonal frequency glide does not sound like white/pink radio static | +| Turbo Jet Burn (`synthesizeFastReturn`) | Sub-light maneuver burst | Serviceable, though an air-rush burst would be more authentic | + +--- + +## Outlaw & Frontier gap list + +Ranked by impact and feasibility across the six starship profiles: + +| # | Sound | Ship(s) | Why it matters | Difficulty | +| --- | --- | --- | --- | --- | +| 1 | **Dedicated Cassette Transport Clunk & Whirr** | The Milano, Bebop | The single most iconic cultural sound in *Guardians of the Galaxy* and *Bebop*: a heavy, spring-loaded mechanical clunk followed by high-frequency tape motor hum. | Low | +| 2 | **Grappler Arm Servo Motor Whine** | Outlaw Star, Bebop | Articulated mechanical limbs require a rising/falling electric motor servo whine, replacing Starfleet sine chirps. | Low | +| 3 | **True RF Radio Static Burst** | The Betty, The Marauder | A short burst of bandpass-filtered white noise simulating CB radio squelch breaks between transmissions. | Low | +| 4 | **Repulsorlift Engine Drone** | The Marauder | The quintessential *Star Wars* atmospheric repulsorlift sound: a smooth, low-frequency anti-gravity hum. | Medium | +| 5 | **Converted Marine Trawler Engine Chug** | Bebop | A deep, rhythmic marine diesel-style engine thrum that sells Jet Black's converted fishing boat origin. | Medium | + +--- + +## Outlaw & Frontier open questions + +- **[GAP]** The specific mechanical source recorded by Christopher Boyes for + Star-Lord’s Walkman cassette player transport clunk in *Guardians of the + Galaxy*. +- **[GAP]** The exact synthesizer patch parameters used by Masahiro Shoji at + Sound Box for the *Bebop*’s internal living quarter plumbing and air handling. +- **[GAP]** The specific foley props used by Leslie Shatz and Paul Urmson to + create the greasy engine room clatter on *The Betty* in *Alien: Resurrection*. + +### Where to verify (Outlaw & Frontier) + +- **Mix Magazine / Skywalker Sound**: In-depth interviews with Christopher + Boyes and David Acord detailing sound design for *Guardians of the Galaxy*. +- **Sound Box / Sunrise Production Notes**: Japanese industry archives + documenting Katsumi Mimori and Masahiro Shoji’s sound design on *Cowboy + Bebop*. +- **Cinefex Magazine (Issue 73)**: Detailed technical coverage of *Alien: + Resurrection* miniature construction and post-production sound by Leslie + Shatz. +- **BBC Radiophonic Workshop Archive**: Production documentation on Elizabeth + Parker’s synthesizer sound design for Series 4 of *Blake's 7*. +- **Lucasfilm Animation Archives**: Production credits for Matthew Wood and + David Acord on *Star Wars: The Bad Batch*. + +--- + +# Military Space + +The "Military Space" theme captures seven dedicated warships, strike craft, and +fleet combat centers engineered strictly for spaceborne warfare: +- *Aliens*, 1986 (USS Sulaco) — James Cameron’s Conestoga-class assault carrier +- *Battlestar Galactica*, 2003/2004 (Battlestar Galactica) — Ronald D. Moore’s armored colonial battlestar CIC +- *Babylon 5*, 1995 (White Star) — J. Michael Straczynski’s Minbari/Vorlon hybrid combat scout +- *Babylon 5*, 1995 (EAS Agamemnon) — EarthForce Omega-class heavy destroyer +- *Gene Roddenberry's Andromeda*, 2000 (Andromeda Ascendant) — High Guard Glorious Heritage heavy cruiser +- *Crusade*, 1999 (Excalibur) — Victory-class heavy combat destroyer +- *Battlestar Galactica*, 2003/2004 (Colonial Viper Mk II) — Single-seat space superiority interceptor + +Acoustically, the Military Space universe is defined by **tactical mass, heavy +armor attenuation, lethal ordnance, and rapid combat readiness**. Unlike the +diplomatic elegance of Starfleet bridges or the comfortable air systems of deep-space +passenger liners, military vessels are dense, functional fortresses. Their +soundscapes are dominated by sub-bass structural conduction through thick armor +plate, hydraulic blast gates dogging shut, combat radar sweeps, and the taut, +claustrophobic tension of combat information centers under fire. + +## Layer mapping (Military-specific) + +| Real concept | App layer | Notes | +| --- | --- | --- | +| Armored hull conduction, reactor thrum, centrifugal gravity rumble | `hull` (`HullDroneSynth`) | Heavy sub-bass beds (44–76 Hz) tuned for structural mass and titanium armor dampening. | +| Fusion pulse reactors, gravimetric drives, turbo-thruster whine | `warp` (`WarpCoreSynth`) | Combat propulsion pulses (38–72 bpm) spanning heavy capital ship thuds to high-rev interceptor thrusters. | +| High-capacity NBC scrubbers, pilot G-suit regulators, hangar airlocks | `lifeSupport` (`LifeSupportSynth`) | Utilitarian brown, pink, and white noise air beds running from 140 Hz up to 2600 Hz. | +| DRADIS sweeps, tactical computers, targeting locks, weapons arming | `telemetry` (`TelemetrySynth`) | Telemetry routing borrowed from Trek eras (`nx`, `ds9`, `voyager`, `tng`) mapped to combat radar, fire control, and relay chatter. | +| Action stations klaxons, FTL jump thumps, flak barrages | Events / Soundboard | Bespoke FTL vacuum implosions, DRADIS sonar pings, and battle alert states. | + +--- + +## Ship-by-ship + +### USS Sulaco: Conestoga Hangar Deck (Aliens, 1986) + +**Production context [DOC]:** Directed by James Cameron, *Aliens* won the +**Academy Award for Best Sound Effects Editing** at the 59th Academy Awards, +awarded to Supervising Sound Editor **Don Sharpe**. Sharpe and sound editor +**Adrian Rhodes** established the definitive acoustic benchmark for tactical +military sci-fi, blending real-world armored military hardware with cold, +mechanized ship environments. + +**[DOC]** The *USS Sulaco* (registered Conestoga-class star transport, vessel +number 13) is a Colonial Marine assault transport designed specifically to +deploy motorized infantry, heavy ordnance, and Cheyenne dropships into hostile +drop zones. Its architecture is purely functional and menacing: an angular, +rifle-shaped exterior enclosing refrigerated cryo-stasis bays, automated +munitions tracks, hydraulic dropship elevators, and vast vehicle staging decks. + +**[OBS]** The hangar deck acoustic environment is massive, cavernous, and cold: +- Low-frequency mechanical drone: Heavy sub-bass conduction (44 Hz) reverberates + through industrial steel deckplates from the massive sub-light pulse engines + and automated ammunition handling conveyors. +- Pneumatic and hydraulic staging: Massive dropship loading bays operate with + pressurized pneumatic air releases, whining hydraulic lifts, and heavy steel + locking clamps securing the APC (Armored Personnel Carrier) to deck tie-downs. +- Life support in standby: Cryo-bay refrigeration ducts and cargo bay air handlers + emit a low-pass brown-noise rush (140–1500 Hz), conveying sterile, chilled, + unoccupied military isolation. +- Utilitarian indicator telemetry: Flat, sparse relay clicks and mechanical + status pings monitoring weapons racks and airlock door seals. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Conestoga Hangar Deck & Vehicle Staging | Deep, resonant mechanical cavern; heavy structural bass hum; echoing footsteps on grated metal gangways. | **[OBS]** | +| Sub-Light Pulse Drives (Standby) | Slow, rhythmic 38 bpm engine thrum (`pulseShape: 'nx'`); low 58 Hz carrier frequency vibrating bulkheads. | **[OBS]** | +| Refrigeration & Cargo Bay Ventilation | Chilled brown-noise air handling (140–1500 Hz); intermittent coolant valve hiss and pneumatic pressure regulation. | **[OBS]** | + +*Covered by:* preset `mil-sulaco` (`hull`: volume 0.8, `baseFreq: 44`, +`filterCutoff: 105`, `resonance: 3.0`, `noiseMix: 0.55`, `harmonicSpread: 1.02`; +`warp`: volume 0.6, `bpm: 38`, `carrierFreq: 58`, `filterCutoff: 150`, +`pulseShape: 'nx'`, `resonance: 3.2`, `swirlMix: 0.25`; `lifeSupport`: volume +0.65, `noiseType: 'brown'`, `highpassFreq: 140`, `lowpassFreq: 1500`, +`airflowModSpeed: 0.1`, `airflowModDepth: 0.14`; `telemetry.volume: 0.4`, +`density: 0.45`, `telemetry.era: 'nx'`). Brown noise in life support combined +with slow 38 bpm NX engine pulses perfectly replicates the chilled, dormant +lethality of the Sulaco’s vehicle bay. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Dropship Bay Clamping Latch | Heavy mechanical steel latch securing the dropship landing gear. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled as "Bulkhead Seal") | **[OBS]** | +| Hangar Deck Airlock Vent | Sudden burst of pressurized gas venting atmosphere prior to bay door transit. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | +| Tactical Weapons Rack Indicator | Utilitarian mechanical switch click signaling ordnance rack power. | `telemetry.synthesizeLCARSSingleChirp` (relabeled as "Weapons Armed") | **[OBS]** | +| Cargo Hoist Hydrolock | Sub-bass metallic thud as overhead motorized munitions cranes stop. | **NX Relay Thunk** (via `nx` telemetry) | **[OBS]** | + +**Assessment:** `mil-sulaco` captures the grim, utilitarian weight of James +Cameron’s military universe. The heavy sub-bass hull frequency (44 Hz) and brown +noise bed accurately recreate the subterranean isolation of an automated +battleship in transit. + +--- + +### Battlestar Galactica: Combat Information Center (Battlestar Galactica, 2003/2004) + +**Production context [DOC]:** The reimagined *Battlestar Galactica* miniseries +and television series featured sound design led by Supervising Sound Editor +**Daniel Colman** and Sound Supervisor **Jack Levy**. Colman won the **Primetime +Emmy Award for Outstanding Sound Editing for a Series** in 2009 (for "Daybreak, +Part 2") and received four additional Emmy nominations. Colman’s signature aesthetic +was hyper-realism: acoustic isolation inside armored hulls, physical sound-powered +telephones, mechanical plotting tables, and vacuum-filtered weapons fire. + +**[DOC]** The *Battlestar Galactica* (BS-75) is a fifty-year-old Jupiter-class +battlestar. Because the original Cylon War was fought against synthetic network +infiltrators, the ship intentionally lacks computer networking. All vital systems +operate via isolated, hardened hardwired circuits, mechanical plotters, and analog +sound-powered telephone handsets. + +**[OBS]** The Combat Information Center (CIC) soundscape is a masterclass in +**armored confinement and acoustic tension**: +- Armored titanium hull isolation: Because the battlestar is surrounded by + meters of solid armor and honeycomb bulkheads, external combat noise is muted + into deep, concussive thuds. The CIC sits dead center in the ship, protected + from direct vacuum. +- The DRADIS sonar ping: The centerpiece of Colonial fleet situational awareness + is the DRADIS (Direction, Range, and Distance Information System), emitting a + distinctive high-frequency resonant acoustic ping descending in frequency as + radar beams sweep space (`synthesizeDradisPing()`). +- Tactile analog hardware: Handset receivers clatter against metal cradles, + plotting grease markers scrape acrylic boards, and mechanical rotary switches + click in constant coordination with damage control parties. +- The FTL jump vacuum thump: Colonial Faster-Than-Light drives fold space instantly, + creating an implosive vacuum displacement characterized by a massive sub-bass + thud and high-frequency spatial whip (`synthesizeFtlJump()`). + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Armored CIC Command Deck | Dense, enclosed titanium hull vibration (48 Hz base); humming command consoles; muted ventilation currents circulating through central ducts. | **[DOC]** | +| Main Sub-light Tylium Drives | Deep, low-cadence engine pulse (46 bpm, `pulseShape: 'nx'`); steady 64 Hz magnetic reactor hum vibrating plotting tables. | **[OBS]** | +| Environmental Air Scrubbers | Continuous pink-noise air handling (170–1700 Hz); vital airflow sustaining a pressurized combat crew in prolonged lockdown. | **[OBS]** | + +*Covered by:* preset `mil-galactica` (`hull`: volume 0.75, `baseFreq: 48`, +`filterCutoff: 115`, `resonance: 2.8`, `noiseMix: 0.5`, `harmonicSpread: 1.025`; +`warp`: volume 0.7, `bpm: 46`, `carrierFreq: 64`, `filterCutoff: 180`, +`pulseShape: 'nx'`, `resonance: 3.5`, `swirlMix: 0.3`; `lifeSupport`: volume +0.6, `noiseType: 'pink'`, `highpassFreq: 170`, `lowpassFreq: 1700`, +`airflowModSpeed: 0.12`, `airflowModDepth: 0.12`; `telemetry.volume: 0.5`, +`density: 0.55`, `telemetry.era: 'ds9'`). DS9 telemetry supplies militaristic, +low-register relay chirps that blend seamlessly with the analog plotting +hardware. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| DRADIS Radar Sweep Ping | Distinctive dual-tone tactical radar sweep ping (1860 Hz down to 1540 Hz) with resonant combat tail. | `ExpandedSciFiAudioSynth.synthesizeDradisPing` (Soundboard: "DRADIS Scan Ping") | **[DOC]** | +| FTL Jump Space Displacement | Violent vacuum collapse and hull snap dropping 800 Hz down to 45 Hz sub-bass rumble. | `ExpandedSciFiAudioSynth.synthesizeFtlJump` (Event: "FTL Jump") | **[DOC]** | +| Point Defense Flak Barrage | Heavy, concussive explosive thud of 500mm dual-flak cannons creating an anti-missile curtain. | `ExpandedSciFiAudioSynth.synthesizeFtlJump` (Event: "Flak Barrage") | **[OBS]** | +| Combat Telephone Relay Click | Crisp analog switch contact connecting damage control stations to the center table. | `telemetry.synthesizeLCARSSingleChirp` (relabeled as "Weapons Armed") | **[OBS]** | + +**Assessment:** `mil-galactica` is one of the most authentic tactical soundscapes +in the application. The combination of Daniel Colman's DRADIS sweep, the FTL +concussive thump, and the heavy 48 Hz hull bed transports the listener directly +onto Adama’s command balcony. + +--- + +### White Star: Minbari/Vorlon Hybrid Bridge (Babylon 5, 1995–1998) + +**Production context [DOC]:** Created and written by **J. Michael Straczynski**, +*Babylon 5*’s audio environment was crafted by Supervising Sound Editor +**Andrew DeCristofaro**, sound editor **Michael Payne**, sound designer +**Harry Cohen**, and former Tangerine Dream member **Christopher Franke**, who +composed the electronic score and synthesized sound textures. + +**[DOC]** The *White Star* is a revolutionary warship co-designed by Minbari +religious caste engineers and the ancient, enigmatic Vorlons. Small, hyper-agile, +and armed with heavy quantum pulse cannons, it features a living organic hull +composed of Vorlon bio-armor that learns and adapts to enemy energy signatures. + +**[OBS]** The bridge of the *White Star* differs sharply from industrial Earth +vessels: +- Organic crystalline resonance: Rather than steel deck clatter, the bridge + emits a luminous, high-pitched structural resonance (66 Hz base, with harmonic + spread 1.035). The living hull hums with latent bio-energy. +- Gravimetric propulsion whisper: Vorlon-derived gravimetric propulsion does not + thud or chug; it creates an agile, fast-cycling magnetic pulse (58 bpm, + `pulseShape: 'voyager'`) centered at an 88 Hz carrier tone. +- Tactile control surfaces: Minbari consoles feature no physical buttons or + switches. Flight controls and tactical arrays respond to organic touchplates, + emitting melodious, chime-like telemetry feedback. +- Pulse cannon capacitor surge: Energy weapons draw directly from the Vorlon + power core, producing a rising crystalline whine before unleashing heavy + green plasma bursts. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Living Bio-Armor Bridge Shell | Resonant crystalline hum (66 Hz base); high filter cutoff (145 Hz); subtle, organic harmonic shimmer vibrating living bulkheads. | **[OBS]** | +| Gravimetric Agility Drive | Smooth, high-frequency propulsion oscillation (58 bpm, `pulseShape: 'voyager'`); 88 Hz carrier frequency with rich 0.4 swirl mix. | **[OBS]** | +| Environmental Bio-Atmosphere | Clean, high-pass pink-noise airflow (210–2100 Hz); gentle airflow cycling simulating biological respiration. | **[OBS]** | + +*Covered by:* preset `mil-white-star` (`hull`: volume 0.6, `baseFreq: 66`, +`filterCutoff: 145`, `resonance: 3.2`, `noiseMix: 0.35`, `harmonicSpread: 1.035`; +`warp`: volume 0.8, `bpm: 58`, `carrierFreq: 88`, `filterCutoff: 230`, +`pulseShape: 'voyager'`, `resonance: 4.2`, `swirlMix: 0.4`; `lifeSupport`: volume +0.5, `noiseType: 'pink'`, `highpassFreq: 210`, `lowpassFreq: 2100`, +`airflowModSpeed: 0.15`, `airflowModDepth: 0.1`; `telemetry.volume: 0.5`, +`density: 0.65`, `telemetry.era: 'voyager'`). High base frequencies and Voyager +telemetry cleanly convey the alien, advanced technological superiority of +Minbari/Vorlon bio-engineering. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Minbari Touchplate Chime | Resonant melodic chime acknowledging helm navigation input. | `telemetry.synthesizeSensorSweep` (relabeled as "Radar Target Lock") | **[OBS]** | +| Quantum Pulse Cannon Charge | Rising electromagnetic whine as the forward discharge arrays energize. | `WhoniverseAudioSynth.synthesizeFastReturn` (relabeled as "Turbo-Thruster Swell") | **[OBS]** | +| Bio-Armor Damage Adaptation | Organic flex and crystalline tension sound as the hull hardens against fire. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled as "Bulkhead Seal") | **[OBS]** | +| Vorlon Telepathic Interface Ping | Pure, harmonic high-frequency indicator signaling core readiness. | `telemetry.synthesizeLCARSSingleChirp` (relabeled as "Weapons Armed") | **[OBS]** | + +**Assessment:** `mil-white-star` provides an indispensable contrast to human +warships. By elevating hull base frequency to 66 Hz and utilizing Voyager’s +softer, chime-like telemetry, it sounds advanced, agile, and unmistakably alien. + +--- + +### EAS Agamemnon: Omega Destroyer Bridge (Babylon 5, 1995–1998) + +**Production context [DOC]:** Created by **J. Michael Straczynski**, with sound +design supervised by **Andrew DeCristofaro** and **Michael Payne** at Soundelux. +The *EAS Agamemnon* (commanded by Captain John Sheridan before his assignment to +Babylon 5) represents the apex of human military engineering in the EarthForce +navy during the mid-2250s. + +**[DOC]** The Omega-class heavy destroyer is a massive, heavily armored capital +ship over 1.7 kilometers long. Because EarthForce has not yet mastered artificial +gravimetrics, the ship features a massive central rotating habitat section +(carousel) that spins at approximately 1 rpm to generate artificial gravity for +the crew via centrifugal force. + +**[OBS]** The bridge of an Omega destroyer is raw, militaristic, and industrial: +- Centrifugal rotation rumble: The continuous rotation of the central habitat + section transmits a heavy, rhythmic low-frequency mechanical rumble (46 Hz base) + through the ship’s central spine into the non-rotating forward bridge module. +- Heavy plasma cannon capacitors: EarthForce heavy plasma cannons require massive + capacitor banks that hum with high-voltage electrical tension during combat + readiness. +- Utilitarian command deck: Hard angles, steel bulkheads, and tactical workstations + creak under structural acceleration stresses. Telemetry is functional, dry, + and militaristic. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Omega Forward Command Deck | Dense, industrial hull rumble (46 Hz base); high noise mix (0.55); vibration conducted forward from the rotating habitat spine. | **[OBS]** | +| Main Fusion Pulse Reactor | Rhythmic 42 bpm pulse (`pulseShape: 'defiant'`); 60 Hz carrier tone driving heavy spinal thrusters. | **[OBS]** | +| Military Environmental Scrubbers | Robust pink-noise ventilation (180–1800 Hz); continuous airflow cycling through sealed armored compartments. | **[OBS]** | + +*Covered by:* preset `mil-agamemnon` (`hull`: volume 0.8, `baseFreq: 46`, +`filterCutoff: 110`, `resonance: 3.0`, `noiseMix: 0.55`, `harmonicSpread: 1.02`; +`warp`: volume 0.7, `bpm: 42`, `carrierFreq: 60`, `filterCutoff: 170`, +`pulseShape: 'defiant'`, `resonance: 3.6`, `swirlMix: 0.3`; `lifeSupport`: volume +0.6, `noiseType: 'pink'`, `highpassFreq: 180`, `lowpassFreq: 1800`, +`airflowModSpeed: 0.14`, `airflowModDepth: 0.12`; `telemetry.volume: 0.45`, +`density: 0.5`, `telemetry.era: 'ds9'`). The `defiant` pulse shape and DS9 +telemetry perfectly embody the blunt, utilitarian combat engineering of +EarthForce warships. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Heavy Plasma Cannon Firing | Heavy, explosive discharge followed by capacitor drainage whine. | `ExpandedSciFiAudioSynth.synthesizeFtlJump` (Event: "Flak Barrage") | **[OBS]** | +| Armored Blast Shield Closure | Lowpass mechanical grind and heavy clamp closure over the forward viewport. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled as "Bulkhead Seal") | **[OBS]** | +| EarthForce Interceptor Lock | Multi-frequency chirping tones locking forward missile batteries on hostile targets. | `telemetry.synthesizeSensorSweep` (relabeled as "Radar Target Lock") | **[OBS]** | +| Habitat Carousel Gyro Actuator | Low-frequency hydraulic surge balancing rotational torque during maneuvers. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | + +**Assessment:** `mil-agamemnon` captures the mechanical grit and centrifugal +physics of human warships in *Babylon 5*. Its heavy bass tone and Defiant-style +pulses convey the raw industrial power of an armored dreadnought. + +--- + +### Andromeda Ascendant: Command Deck (Gene Roddenberry's Andromeda, 2000–2005) + +**Production context [DOC]:** Developed from notes and concepts left by Gene +Roddenberry by showrunner **Robert Hewitt Wolfe**, *Andromeda* featured sound +design supervised by **Michael Geisler**, **Steven Erdelyi**, and sound editor +**Matthew Wilson**. The audio design had to reflect a warship that was not only a +lethal heavy cruiser, but also a sentient, living artificial intelligence. + +**[DOC]** The *Andromeda Ascendant* (tenth Glorious Heritage-class heavy cruiser, +High Guard ship of the line) is a kilometer-long warship armed with 40 missile +tubes, point defense lasers (PDL), and anti-proton arrays. The ship is powered by +an Antiproton / Proton Reaction engine and travels via the Slipstream. Its most +prominent feature is its AI, Rommie (Lexa Doig), who manifests as a hologram, an +on-screen avatar, and an android body. + +**[OBS]** The command deck audio landscape is clean, sophisticated, and lethal: +- Slipstream drive resonance: Slipstream travel operates by navigating quantum + strings, producing a high-frequency, complex gravimetric hum (56 Hz base, + 76 Hz carrier, 54 bpm `tng` pulse) that vibrates through the command pod. +- Sentient AI computer chirps: Unlike cold, inanimate displays, the command deck + chitters with intelligent, high-density telemetry as Rommie continuously + monitors millions of sensor nodes and coordinates missile batteries. +- Anti-proton missile magazine servos: Below the deck, automated missile carousels + whine and click as offensive and defensive kinetic kill missiles are loaded into + vertical launch tubes. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| High Guard Command Deck | Polished, advanced composite hull hum (56 Hz base); refined structural resonance; high-tech acoustics with minimal mechanical vibration. | **[OBS]** | +| Antiproton Slipstream Drive | Harmonious 54 bpm engine pulse (`pulseShape: 'tng'`); 76 Hz carrier tone with a generous 0.35 swirl mix. | **[OBS]** | +| Environmental Life Support | Smooth, balanced pink-noise airflow (200–1900 Hz); regulated climate control for multi-species Commonwealth crews. | **[OBS]** | + +*Covered by:* preset `mil-andromeda` (`hull`: volume 0.7, `baseFreq: 56`, +`filterCutoff: 130`, `resonance: 2.8`, `noiseMix: 0.45`, `harmonicSpread: 1.025`; +`warp`: volume 0.75, `bpm: 54`, `carrierFreq: 76`, `filterCutoff: 210`, +`pulseShape: 'tng'`, `resonance: 3.8`, `swirlMix: 0.35`; `lifeSupport`: volume +0.55, `noiseType: 'pink'`, `highpassFreq: 200`, `lowpassFreq: 1900`, +`airflowModSpeed: 0.12`, `airflowModDepth: 0.1`; `telemetry.volume: 0.5`, +`density: 0.6`, `telemetry.era: 'tng'`). TNG telemetry and pulse shapes give the +Andromeda the polished, benevolent sophistication of the Systems Commonwealth. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Slipstream Portal Entry Hum | Rising gravimetric distortion as the ship’s forward needles open a slipstream event horizon. | `WhoniverseAudioSynth.synthesizeFastReturn` (relabeled as "Turbo-Thruster Swell") | **[OBS]** | +| Rommie AI Acknowledgment Pip | Musical, high-density chime confirming captain’s tactical orders. | `telemetry.synthesizeLCARSSingleChirp` (relabeled as "Weapons Armed") | **[OBS]** | +| Point Defense Laser (PDL) Sweep | Rapid high-register tracking warble locking incoming kinetic salvos. | `telemetry.synthesizeSensorSweep` (relabeled as "Radar Target Lock") | **[OBS]** | +| EKV Missile Tube Hatch Slam | Pneumatic seal closing after an Extraordinary Kinetic Vehicle is launched. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled as "Bulkhead Seal") | **[OBS]** | + +**Assessment:** `mil-andromeda` blends high-technology elegance with heavy fleet +capability. The TNG-derived telemetry and 56 Hz hull tone capture the feel of a +pristine Commonwealth capital ship. + +--- + +### Excalibur: Victory-Class Heavy Combat Core (Crusade, 1999) + +**Production context [DOC]:** A spin-off of *Babylon 5*, *Crusade* featured sound +editing and design by **Michael Payne**, **Harry Cohen**, and **Jeff K. Brunello**. +The series followed the prototype destroyer *Excalibur* on an urgent mission to +find a cure for the Drakh plague. + +**[DOC]** The *Excalibur* is a Victory-class heavy destroyer, representing the +ultimate synthesis of EarthForce industrial shipbuilding and advanced Minbari/Vorlon +technology. Measuring nearly two kilometers long, it is equipped with a devastating +main quantum discharge cannon capable of destroying planet-killer vessels with a +single concentrated blast. + +**[OBS]** The heavy combat core audio bed is defined by **immense power and stress**: +- Massive hybrid gravitic core: The combination of Earth fusion reactors and + Minbari gravimetric drives creates an enormous, muscular engine thrum (50 Hz base, + 72 Hz carrier, 50 bpm `defiant` pulse) with intense resonant filtering. +- Quantum discharge cannon capacitor load: Firing the main gun drains almost all + primary ship power, accompanied by a deafening electromagnetic capacitor drone + that reverberates through every deck. +- Heavy structural resilience: Built to withstand direct impacts from shadow + and drakh weaponry, the ship’s massive frame groans under combat maneuvers. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Victory-Class Armored Core | Heavy, dense hull resonance (50 Hz base); high resonance factor (3.4); palpable mechanical mass vibrating structural bulkheads. | **[OBS]** | +| Hybrid Gravimetric / Fusion Drive | Powerful 50 bpm propulsion cadence (`pulseShape: 'defiant'`); 72 Hz carrier frequency with rich 0.38 swirl mix. | **[OBS]** | +| Heavy-Duty Life Support Recirculators | Robust pink-noise ventilation (190–1800 Hz); heavy airflow distribution servicing multi-tier engineering bays. | **[OBS]** | + +*Covered by:* preset `mil-excalibur` (`hull`: volume 0.8, `baseFreq: 50`, +`filterCutoff: 125`, `resonance: 3.4`, `noiseMix: 0.5`, `harmonicSpread: 1.03`; +`warp`: volume 0.85, `bpm: 50`, `carrierFreq: 72`, `filterCutoff: 220`, +`pulseShape: 'defiant'`, `resonance: 4.0`, `swirlMix: 0.38`; `lifeSupport`: volume +0.55, `noiseType: 'pink'`, `highpassFreq: 190`, `lowpassFreq: 1800`, +`airflowModSpeed: 0.14`, `airflowModDepth: 0.12`; `telemetry.volume: 0.45`, +`density: 0.55`, `telemetry.era: 'ds9'`). The combination of high warp volume (0.85) +and the `defiant` pulse shape accurately reflects the sheer destructive kinetic +weight of the Victory-class combat core. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Main Quantum Discharge Whine | Sub-bass capacitor whine ramping up across primary electrical buses. | `WhoniverseAudioSynth.synthesizeFastReturn` (relabeled as "Turbo-Thruster Swell") | **[OBS]** | +| Tactical Shield Hardening | Resonant acoustic click as gravitational deflectors adjust against incoming beams. | `telemetry.synthesizeSensorSweep` (relabeled as "Radar Target Lock") | **[OBS]** | +| Forward Blast Gate Dogging | Deep metallic clamp latch securing forward weapon emitters. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (relabeled as "Bulkhead Seal") | **[OBS]** | +| Combat Grid Munitions Warning | High-priority tactical chime confirming primary weapon lock. | `telemetry.synthesizeLCARSSingleChirp` (relabeled as "Weapons Armed") | **[OBS]** | + +**Assessment:** `mil-excalibur` delivers exceptional punch. The heavy 50 Hz base, +0.85 warp volume, and Defiant pulse shape convey an unyielding dreadnought built +for catastrophic fleet engagements. + +--- + +### Colonial Viper Mk II: Cockpit Atmosphere (Battlestar Galactica, 2003/2004) + +**Production context [DOC]:** Sound design created by **Daniel Colman** and +**Jack Levy**. The Colonial Viper Mk II is the iconic single-seat carrier-borne +space superiority fighter of the Twelve Colonies. For the cockpit soundscape, +Colman drew inspiration from combat flight recordings of modern jet fighters +(such as the F-16 and F/A-18), focusing on the pilot's intimate sensory +isolation, pressurized breathing, and raw engine vibrations conducted directly +through the flight seat. + +**[DOC]** The Viper Mk II is an atmospheric-capable space fighter powered by a +single sub-light Tylium fusion reactor feeding twin turbo-thrusters. It features +reaction control system (RCS) maneuvering jets for non-Newtonian spins and flips +in combat. The cockpit is tiny, cramped, and stripped of luxury: the pilot wears a +full pressure suit with a sealed flight helmet and is surrounded by analog gauges, +a DRADIS tracking scope, and mechanical thruster pedals. + +**[OBS]** The cockpit acoustic profile is radically different from capital +ships: +- Intimate pilot isolation: Rather than open room reverberation, the listener + is inside the pilot's helmet. Life support is dominated by high-velocity white + noise (240–2600 Hz) representing pure oxygen rushing through helmet valves and + the G-suit regulator during tight maneuvers. +- Twin turbo-thruster whine: The engines do not emit a low sub-bass thud; they + scream with a high-pitched, fast-revving 72 bpm whine (`pulseShape: 'voyager'`) + centered at 94 Hz, directly transmitting vibration through the airframe into + the control stick. +- High-cadence cockpit telemetry: The cockpit DRADIS and targeting scopes ping + constantly, providing audio cues for missile locks, Cylon Raider proximity, + and RCS fuel consumption. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Cramped Pressurized Cockpit Shell | Tight, uninsulated fighter frame vibration (76 Hz base); high filter cutoff (175 Hz); immediate tactile conduction from twin engines. | **[DOC]** | +| Twin Turbo-Thruster Core | Rapid, aggressive 72 bpm propulsion whine (`pulseShape: 'voyager'`); high 94 Hz carrier frequency with 0.3 swirl mix. | **[DOC]** | +| Flight Suit Oxygen Regulator & Air Rush | Sharp, pressurized white-noise airflow (240–2600 Hz); rapid airflow modulation (0.22 speed, 0.18 depth) simulating helmet breathing. | **[DOC]** | + +*Covered by:* preset `mil-viper` (`hull`: volume 0.65, `baseFreq: 76`, +`filterCutoff: 175`, `resonance: 3.2`, `noiseMix: 0.4`, `harmonicSpread: 1.04`; +`warp`: volume 0.7, `bpm: 72`, `carrierFreq: 94`, `filterCutoff: 250`, +`pulseShape: 'voyager'`, `resonance: 4.2`, `swirlMix: 0.3`; `lifeSupport`: volume +0.65, `noiseType: 'white'`, `highpassFreq: 240`, `lowpassFreq: 2600`, +`airflowModSpeed: 0.22`, `airflowModDepth: 0.18`; `telemetry.volume: 0.6`, +`density: 0.7`, `telemetry.era: 'voyager'`). White noise in life support combined +with high base frequency (76 Hz) and fast 72 bpm warp cadence brilliantly creates +the claustrophobic, high-G intensity of a fighter cockpit. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| DRADIS Threat Scope Ping | Rapid tactical tracking ping alerting the pilot to a Cylon missile or raider in the six o’clock position. | `ExpandedSciFiAudioSynth.synthesizeDradisPing` (Soundboard: "DRADIS Scan Ping") | **[DOC]** | +| Turbo-Thruster Afterburner Boost | High-revving engine scream as the pilot engages full throttle or turns inside an intercept vector. | `WhoniverseAudioSynth.synthesizeFastReturn` (relabeled as "Turbo-Thruster Swell") | **[DOC]** | +| Kinetic Cannon Trigger Snap | Mechanical switch click on the flight stick activating twin 30mm MEC-38 kinetic energy guns. | `telemetry.synthesizeLCARSSingleChirp` (relabeled as "Weapons Armed") | **[OBS]** | +| RCS Maneuvering Jet Burst | Short pneumatic hiss as cold-gas thrusters flip the nose 180 degrees. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[DOC]** | + +**Assessment:** `mil-viper` is an acoustic triumph. By breaking away from low-frequency +capital ship rumble into high-frequency white noise (2600 Hz cutoff) and a 76 Hz +hull base, it delivers an authentic, adrenaline-charged dogfighting perspective. + +--- + +## Design constraint: Armored hull vs. unshielded cockpit + +The Military Space universe highlights a fundamental acoustic divergence in sci-fi +sound design: the contrast between **deeply buried combat information centers** +and **unshielded strike craft cockpits**: + +``` ++-------------------------------------------------------------------------+ +| TACTICAL ACOUSTIC ARCHITECTURE | ++-------------------------------------------------------------------------+ +| | +| CAPITAL BATTLESHIPS (Galactica, Sulaco, Agamemnon) | +| - Deep internal citadel isolated behind meters of armor plating | +| - Acoustic energy heavily low-pass filtered (cutoff: 105 - 115 Hz) | +| - Concussive sub-bass structural conduction (44 - 48 Hz base) | +| - Muffled external ordnance; heavy mechanical relays and dogging doors | +| - Cadence: Slow, deliberate, heavy combat pacing (38 - 46 bpm) | +| | +| STRIKE INTERCEPTORS (Colonial Viper Mk II) | +| - Tiny pressurized canopy inches from vacuum and engine nacelles | +| - Acoustic energy shifts upward into treble (cutoff: 175 - 250 Hz) | +| - Higher hull frame vibration (76 Hz base, 94 Hz carrier) | +| - Helmet-enclosed white noise life support (240 - 2600 Hz) | +| - Cadence: Rapid, high-G kinetic combat urgency (72 bpm) | +| | ++-------------------------------------------------------------------------+ +``` + +1. **Battleship Armor Filtering & Structural Mass:** In capital combatants like + *Battlestar Galactica*, the *USS Sulaco*, and the *EAS Agamemnon*, the crew + operates deep within armored citadels designed to absorb kinetic and nuclear hits. + Internal room tone is heavily lowpass-filtered (cutoffs 105–115 Hz), dominated + by massive sub-bass conduction (44–48 Hz) through structural frames, sluggish + mechanical relays, and heavily muffled exterior ordnance. Communications rely + on dedicated wired circuits or low-frequency tactical arrays. +2. **Interceptor Cockpit Exposure & High-Frequency Transients:** In contrast, a + fighter cockpit like the Colonial Viper Mk II has negligible armor and no + sound-dampening bulkheads. The pilot is surrounded by a pressurized canopy, + breathing pure oxygen through a helmet mask, and sitting directly ahead of twin + high-thrust reaction thrusters. Acoustic energy shifts dramatically upward: base + frequencies rise to 76 Hz, filter cutoff opens to 175–250 Hz, life support + switches from muffled pink/brown noise to high-velocity white noise rushing + through air valves (240–2600 Hz), and pulse cadence spikes to 72 bpm. + +This structural contrast dictates that `military` presets cannot share a uniform bed: +battleships demand deep, heavy bass confinement, while interceptors demand claustrophobic, +high-frequency kinetic urgency. + +--- + +## Soundboard relabeling (Military Space) + +In `js/config.js`, the `military` universe overrides the soundboard and event +buttons to match the tactical, combat-ready character of fleet operations: + +| Button ID | Generic action / sound | Military label | Runtime trigger method | Acoustic output | +| --- | --- | --- | --- | --- | +| `btn-dradis-ping` | Sonar ping sweep | **DRADIS SCAN PING** | `expandedAudio.synthesizeDradisPing` | 1860 Hz down to 1540 Hz sine sweep over 80ms with resonant combat radar decay. | +| `btn-switch-pop` | High-frequency telemetry chirp | **WEAPONS ARMED** | `telemetry.synthesizeLCARSSingleChirp` | Clean tactical authorization pip signaling munitions lock. | +| `btn-dock-clamp` | Heavy docking clamp engage | **BULKHEAD SEAL** | `expandedAudio.synthesizeDockingClamp` | Lowpass-filtered metallic latch and pneumatic dogging of combat blast doors. | +| `btn-chirp-sweep` | Sensor sweep up | **RADAR TARGET LOCK** | `telemetry.synthesizeSensorSweep` | Multi-tone rising frequency lock confirming firing solution. | +| `btn-fast-return` | TARDIS fast-return switch | **TURBO-THRUSTER SWELL** | `whoniverseAudio.synthesizeFastReturn` | High-speed pitch ramp simulating fighter boost or thruster surge. | + +### Event buttons (Military Space) + +| Event Button ID | Trigger label | Event handler / method | Acoustic output | +| --- | --- | --- | --- | +| `btn-action-stations` | **ACTION STATIONS** | `alerts.triggerRedAlert('tng')` | Continuous two-tone klaxon (TNG-style alert oscillator) with flashing red alert UI. | +| `btn-ftl-jump` | **FTL JUMP** | `expandedAudio.synthesizeFtlJump` | Lowpass-filtered brown noise burst dropping 800 Hz to 45 Hz with hull resonance release. | +| `btn-flak` | **FLAK BARRAGE** | `expandedAudio.synthesizeFtlJump` | Low-frequency concussive boom simulating explosive point-defense curtain. | + +--- + +## Element retention map (Military Space) + +Every preset in the `military` universe uses existing synthesizer classes in +`js/audio.js` without requiring code changes: + +| Preset ID | Hull Drone | Warp Core | Life Support | Telemetry | Special Events / Soundboard | +| --- | --- | --- | --- | --- | --- | +| `mil-sulaco` | 44 Hz, 105 Hz lp, 0.55 noise | 38 bpm, 58 Hz, `nx` | Brown noise, 140–1500 Hz | `nx` (volume 0.4, density 0.45) | Bulkhead Seal (`synthesizeDockingClamp`) | +| `mil-galactica` | 48 Hz, 115 Hz lp, 0.50 noise | 46 bpm, 64 Hz, `nx` | Pink noise, 170–1700 Hz | `ds9` (volume 0.5, density 0.55) | DRADIS Scan (`synthesizeDradisPing`), FTL Jump, Flak | +| `mil-white-star` | 66 Hz, 145 Hz lp, 0.35 noise | 58 bpm, 88 Hz, `voyager` | Pink noise, 210–2100 Hz | `voyager` (volume 0.5, density 0.65) | Turbo-Thruster Swell (`synthesizeFastReturn`) | +| `mil-agamemnon` | 46 Hz, 110 Hz lp, 0.55 noise | 42 bpm, 60 Hz, `defiant` | Pink noise, 180–1800 Hz | `ds9` (volume 0.45, density 0.50) | Radar Target Lock (`synthesizeSensorSweep`) | +| `mil-andromeda` | 56 Hz, 130 Hz lp, 0.45 noise | 54 bpm, 76 Hz, `tng` | Pink noise, 200–1900 Hz | `tng` (volume 0.5, density 0.60) | Weapons Armed (`synthesizeLCARSSingleChirp`) | +| `mil-excalibur` | 50 Hz, 125 Hz lp, 0.50 noise | 50 bpm, 72 Hz, `defiant` | Pink noise, 190–1800 Hz | `ds9` (volume 0.45, density 0.55) | Bulkhead Seal, Action Stations | +| `mil-viper` | 76 Hz, 175 Hz lp, 0.40 noise | 72 bpm, 94 Hz, `voyager` | White noise, 240–2600 Hz | `voyager` (volume 0.6, density 0.70) | DRADIS Ping, Thruster Swell | + +--- + +## Missing elements / gap list (Military Space) + +These are authentic sound elements documented in film and television production +that are currently simulated by existing approximations: + +| Priority | Element | Source ship | Description | Implementation path | +| --- | --- | --- | --- | --- | +| 1 | **Dedicated Point-Defense Flak Barrage Burst** | Battlestar Galactica | Rapid-firing sequence of sharp concussive explosions ("thud-thud-crack") echoing through outer armor, rather than a single FTL displacement boom. | High: Add `synthesizeFlakBurst()` creating clustered short noise transients with lowpass body decay. | +| 2 | **Heavy Weapons Arming Breech Clank** | USS Sulaco / Agamemnon | Mechanical pneumatic solenoid latch and breech-locking clank when loading heavy ordnance, replacing single chirp. | High: Synthesize dual metallic pulse in `ExpandedSciFiAudioSynth`. | +| 3 | **Centrifugal Habitat Carousel Motor Groan** | EAS Agamemnon | Very low frequency (12–24 Hz) cyclical rotational groan reflecting the continuous 1 rpm rotation of the crew carousel. | Medium: Modulate hull drone amplitude with an ultra-slow LFO (0.016 Hz). | +| 4 | **Slipstream Drive Transition Surge** | Andromeda Ascendant | Ascending harmonic pitch sweep followed by a crystal-clear string resonance when entering the slipstream. | Medium: Sweep dual bandpass filters with resonance ramp. | +| 5 | **Viper Pilot Oxygen Regulator Demand Valve** | Colonial Viper Mk II | Periodic rhythmic breath intake hiss and pneumatic demand-valve click synchronized with high-G maneuvering. | Medium: Add pulsed envelope trigger to highpass white-noise generator. | + +--- + +## Military Space open questions + +- **[GAP]** The exact acoustic recording sources used by Don Sharpe for the + dropship bay hydraulic actuators and pneumatic lock clanks on the *Sulaco* + in *Aliens*. +- **[GAP]** The specific synthesizer models and patch parameters used by Daniel + Colman to craft the Colonial Viper engine acceleration scream and FTL jump + displacement on *Battlestar Galactica*. +- **[GAP]** The exact mixing chain used by Andrew DeCristofaro at Soundelux for + the Minbari/Vorlon organic hull shimmer on *Babylon 5*. + +### Where to verify (Military Space) + +- **Primetime Emmy Archives / Television Academy**: Production citations and + sound department interviews for Daniel Colman’s sound editing on *Battlestar + Galactica*. +- **Academy of Motion Picture Arts and Sciences (AMPAS)**: 59th Academy Awards + documentation honoring Don Sharpe for *Aliens*. +- **Cinefex Magazine (Issue 27)**: Comprehensive technical coverage of James + Cameron’s *Aliens* miniature photography, physical effects, and post-production + sound. +- **Soundelux Production Archives**: Historical records of audio engineering for + *Babylon 5* and *Crusade* under Andrew DeCristofaro and Michael Payne. +- **Tribune Entertainment / Fireworks Media**: Production sound records for + *Gene Roddenberry's Andromeda*. + +--- + +# Industrial Space + +The "Industrial Space" theme captures eight heavy refinery vessels, commercial +transporters, mining behemoths, and utilitarian freight shuttles: +- *Alien*, 1979 (USCSS Nostromo) — Ridley Scott’s commercial ore-refinery hauler +- *Firefly*, 2002 (Serenity) — Joss Whedon’s Firefly-class cargo transporter +- *Red Dwarf*, 1988– (Red Dwarf) — BBC / Grant & Naylor’s Jupiter Mining Corporation vessel +- *Red Dwarf*, 1988– (Starbug 1) — BBC’s Class 2 ship's utility runabout +- *Dark Matter*, 2015–2017 (The Raza) — Modified industrial strike freighter +- *The Expanse*, 2015–2022 (Rocinante) — Corvette-class frigate / Epstein drive torch ship +- *Space: 1999*, 1975–1977 (Eagle Transporter) — Gerry Anderson’s modular lunar transporter +- *Silent Running*, 1972 (Valley Forge) — Douglas Trumbull’s deep-space agro-dome freighter + +Acoustically, the Industrial Space universe is defined by **immense mass, raw +thermal kinetic forces, pressurized venting, loose rattling hardware, and +uncompromising utilitarianism**. Unlike the pristine acoustic dampening of +Starfleet or the hyper-advanced crystal harmonies of Minbari cruisers, industrial +vessels are workplaces built by cost-cutting corporations. Their soundscapes are +dominated by deep, subterranean engine conduction through structural steel, +high-pressure steam and coolant releases, stuttering relays, Geiger radiation +clicks, and the clanking reverberations of heavy cargo bays. + +## Layer mapping (Industrial-specific) + +| Real concept | App layer | Notes | +| --- | --- | --- | +| Hull conduction, reactor thrum, ore refinery vibration | `hull` (`HullDroneSynth`) | Heavy, low-tuned sub-bass beds (36–76 Hz) reflecting structural steel and high-mass commercial hulls. | +| Sub-light pulse drives, Epstein torch whine, thrusters | `warp` (`WarpCoreSynth`) | Mechanical propulsion pulses (30–64 bpm) spanning sluggish mining ramscoops to screaming magnetic torch drives. | +| High-capacity HVAC, air scrubbers, greenhouse airflow | `lifeSupport` (`LifeSupportSynth`) | Thick brown, pink, and white noise air beds running between 100 Hz and 2600 Hz. | +| Mainframe teletypes, Geiger counters, solenoid clicks | `telemetry` (`TelemetrySynth`) | Telemetry routing borrowed from Trek eras (`nx`, `tos`, `ds9`, `voyager`) simulating dot-matrix terminals and relays. | +| Epstein fusion burns, airlock purges, reactor vents | Events / Soundboard | Bespoke torch roar, Geiger counter click bursts, and heavy pneumatic seals. | + +--- + +## Ship-by-ship + +### USCSS Nostromo: Ore Refinery Bridge (Alien, 1979) + +**Production context [DOC]:** Directed by Ridley Scott, *Alien* established the +foundational aesthetic of "used sci-fi" and heavy industrial realism. Sound design +was created by **Ben Burtt** (sound consultant), sound editors **Jim Shields** and +**Derrick Leather**, and supervising sound/film editor **Terry Rawlings** (who +received BAFTA and Oscar nominations for sound editing). + +**[DOC]** The *USCSS Nostromo* (registered CM-88B Bison starfreighter, owned by +the Weyland-Yutani Corporation) is a commercial automated towing vessel pulling a +colossal 20-million-ton automated mineral ore refinery from Thedus to Earth. Its +interiors are dark, cavernous, and damp, resembling a subterranean factory or +oil tanker rather than a spacecraft. + +**[OBS]** The bridge and refinery soundscape is iconic in its damp, menacing +confinement: +- Cavernous sub-bass machinery: Rolls-Royce N66 Cyclone propulsion units transmit + a deep 42 Hz sub-bass hull thrum with high noise mix (0.60) through steel decks. +- Condensation and coolant leaks: Chilled air handlers and uninsulated coolant + pipes drip water onto metal gangways with echoing acoustic transients. +- MU/TH/UR 6000 interface chatter: The ship’s mainframe chamber is filled with + the rapid, mechanical clatter of electronic relays, teletype keystrokes, and + cooling blowers (`whoniverseAudio.synthesizeDematSwitch`). +- Brown-noise air scrubbers: The life-support system produces a continuous, + muffled brown-noise bed (130–1400 Hz) that conveys claustrophobic isolation. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Ore Refinery Bridge & Concourse | Damp, reverberant industrial cavern; heavy 42 Hz mechanical hull thrum; distant echoes through ventilation shafts. | **[DOC]** | +| Sub-light Towing Engines | Slow, sluggish 36 bpm engine pulse (`pulseShape: 'nx'`); low 52 Hz carrier tone vibrating commercial bulkheads. | **[OBS]** | +| Cryo & Life Support Scrubbers | Thick, low-pass brown-noise ventilation (130–1400 Hz); regulated airflow struggling against condensation. | **[OBS]** | + +*Covered by:* preset `ind-nostromo` (`hull`: volume 0.8, `baseFreq: 42`, +`filterCutoff: 95`, `resonance: 2.6`, `noiseMix: 0.6`, `harmonicSpread: 1.015`; +`warp`: volume 0.5, `bpm: 36`, `carrierFreq: 52`, `filterCutoff: 130`, +`pulseShape: 'nx'`, `resonance: 2.8`, `swirlMix: 0.2`; `lifeSupport`: volume +0.65, `noiseType: 'brown'`, `highpassFreq: 130`, `lowpassFreq: 1400`, +`airflowModSpeed: 0.1`, `airflowModDepth: 0.16`; `telemetry.volume: 0.45`, +`density: 0.45`, `telemetry.era: 'nx'`). Brown noise in life support combined +with slow NX engine pulses perfectly captures the cold, wet, industrial isolation +of the Nostromo. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| MU/TH/UR Teletype Terminal Clatter | Staccato mechanical relay chatter and dot-matrix keystrokes from the mainframe interface. | `WhoniverseAudioSynth.synthesizeDematSwitch` (Soundboard: "M/TH/UR Teletype") | **[DOC]** | +| Radiation Geiger Burst | Rapid, erratic high-frequency square clicks (2800–3600 Hz) measuring ore radiation leakage. | `ExpandedSciFiAudioSynth.synthesizeGeigerBurst` (Soundboard: "Geiger Counter") | **[DOC]** | +| Refinery Hydraulic Clamp Latch | Colossal mechanical solenoid clamp engaging the refinery towing umbilical. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Hydraulic Clamps") | **[DOC]** | +| Coolant Pressure Blow-Off | Pressurized pneumatic valve release followed by lingering white-noise steam hiss. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Pneumatic Seal Purge") | **[OBS]** | + +**Assessment:** `ind-nostromo` is the defining blueprint of industrial sci-fi. +Its deep 42 Hz hull thrum and brown noise ventilation establish a tactile, +foreboding corporate work environment. + +--- + +### Serenity: Firefly-Class Cargo Hold (Firefly, 2002) + +**Production context [DOC]:** Created by Joss Whedon, *Firefly*’s sound design +was led by Supervising Sound Editor **Ken Kimmelman**, sound designer +**Tim Kimmel**, and sound effects editor **Todd Niesen**. Whedon established the +strict rule that there is no sound in the vacuum of space; all acoustic energy on +*Serenity* is strictly internal, conducted through metal, air ducts, and vibrating +structural frames. + +**[DOC]** *Serenity* is an obsolete 03-K64 Firefly-class commercial transport. +It possesses no heavy weapons, no energy shields, and minimal corporate luxuries. +Its primary propulsion relies on a standard fusion reactor feeding a magnetic +compression coil with pivoting VTOL engine nacelles. + +**[OBS]** The cargo hold is the ship’s acoustic centerpiece: +- Lived-in structural creaks: Loose steel floorboards, rattling catwalk railings, + and uninsulated structural ribs groan and shiver during atmospheric re-entry. +- Rhythmic compression coil thrum: The main drive produces a warm, syncopated + mechanical heartbeat (44 bpm, `pulseShape: 'nx'`, 64 Hz carrier) that resonates + directly through the dining area and bunk rooms. +- Utilitarian air circulation: Balanced pink-noise life support (160–1600 Hz) + delivers warmed air through rectangular sheet-metal ductwork. +- Sparse analog telemetry: Pre-Alliance military surplus switches, rotary knobs, + and TOS-style indicators provide dry, tactile feedback without musical flourishes. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Firefly Multi-Tier Cargo Hold | Reverberant, cavernous steel chamber; loose vibrating floor plates; warm structural creaking under flight trim. | **[DOC]** | +| Fusion Compression Coil Drive | Steady 44 bpm mechanical engine pulse (`pulseShape: 'nx'`); warm 64 Hz carrier frequency humming in deck grating. | **[DOC]** | +| Environmental Living Ducts | Gentle pink-noise ventilation (160–1600 Hz); mild airflow fluctuation providing habitable warmth. | **[OBS]** | + +*Covered by:* preset `ind-serenity` (`hull`: volume 0.7, `baseFreq: 48`, +`filterCutoff: 110`, `resonance: 2.2`, `noiseMix: 0.5`, `harmonicSpread: 1.025`; +`warp`: volume 0.75, `bpm: 44`, `carrierFreq: 64`, `filterCutoff: 180`, +`pulseShape: 'nx'`, `resonance: 3.5`, `swirlMix: 0.3`; `lifeSupport`: volume +0.55, `noiseType: 'pink'`, `highpassFreq: 160`, `lowpassFreq: 1600`, +`airflowModSpeed: 0.14`, `airflowModDepth: 0.12`; `telemetry.volume: 0.35`, +`density: 0.35`, `telemetry.era: 'tos'`). The combination of 48 Hz hull resonance +and slow NX pulse captures the honest, fragile warmth of an unshielded tramp +freighter. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Cargo Ramp Hydraulic Release | Heavy whining hydraulic motor unlatching the ventral vehicle loading ramp. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Hydraulic Clamps") | **[DOC]** | +| Engine Cowling Compression Ping | High-register metallic "tink" as hot engine nacelle cowlings contract after landing. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Heavy Solenoid") | **[OBS]** | +| Emergency Reactor Vent | High-speed release of superheated coolant gas from the primary compression manifold. | `WhoniverseAudioSynth.synthesizeFastReturn` (Event: "Reactor Vent") | **[OBS]** | +| Mule Cargo Vehicle Ignition | Dry starter motor grind echoing off the steel walls of the cargo bay. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | + +**Assessment:** `ind-serenity` feels homey, mechanical, and vulnerable. The warm +48 Hz hull tone and restrained TOS telemetry reflect a ship kept flying purely by +grease, grit, and Kaylee’s mechanical intuition. + +--- + +### Red Dwarf: Main Drive Corridor (Red Dwarf, 1988–) + +**Production context [DOC]:** Created by Rob Grant and Doug Naylor, *Red Dwarf*’s +distinctive BBC audio design was managed by sound supervisors **Jem Whippey**, +**Keith Mayes**, and **Ian Pinder**. The sound design drew heavily from real-world +industrial coal plants, chemical refineries, and London underground transit +tunnels, combined with synthesizer effects created at the BBC Radiophonic Workshop. + +**[DOC]** The *Red Dwarf* is an immense Jupiter Mining Corporation (JMC) vessel, +measuring six miles long, four miles tall, and five miles wide. Following a fatal +cadmium-II radiation leak that wiped out the entire crew except for technician +Dave Lister (sealed in stasis), the ship drifted through deep space for three +million years with only the senile computer Holly maintaining operations. + +**[OBS]** The corridors and drive rooms are characterized by **cavernous desolation**: +- Subterranean mining hull rumble: An immense, deep 36 Hz sub-bass rumble (filter + cutoff 80 Hz) with an exceptionally high noise mix (0.65) reflects a gargantuan, + nearly empty steel leviathan. +- Giant ramscoop vacuum suction: Sluggish 30 bpm engine cadence (`pulseShape: 'nx'`, + 46 Hz carrier) driving giant hydrogen ramscoops through interstellar dust. +- Unmaintained corporate utilities: Sputtering fluorescent tubes, groaning water + pipes, and unmaintained JMC vending machines providing dry, comical mechanical + transients. +- Very sparse, dead telemetry: With the crew dead, telemetry density is dropped + to an eerie 0.20, leaving long stretches of hollow silence. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| 6-Mile Desolate JMC Corridor | Cavernous, hollow mining hull echo (36 Hz base); muffled lowpass rumble (80 Hz cutoff); distant clanking pipes miles away. | **[DOC]** | +| Hydrogen Ramscoop Drive | Extremely slow 30 bpm engine thrum (`pulseShape: 'nx'`); low 46 Hz carrier frequency vibrating miles of bulkheads. | **[OBS]** | +| Stagnant JMC Air Handling | Muffled brown-noise airflow (110–1200 Hz); sluggish air circulation in cavernous, abandoned compartments. | **[OBS]** | + +*Covered by:* preset `ind-red-dwarf` (`hull`: volume 0.85, `baseFreq: 36`, +`filterCutoff: 80`, `resonance: 2.0`, `noiseMix: 0.65`, `harmonicSpread: 1.01`; +`warp`: volume 0.4, `bpm: 30`, `carrierFreq: 46`, `filterCutoff: 110`, +`pulseShape: 'nx'`, `resonance: 2.2`, `swirlMix: 0.15`; `lifeSupport`: volume +0.6, `noiseType: 'brown'`, `highpassFreq: 110`, `lowpassFreq: 1200`, +`airflowModSpeed: 0.08`, `airflowModDepth: 0.18`; `telemetry.volume: 0.25`, +`density: 0.2`, `telemetry.era: 'nx'`). The lowest base frequency in the app +(36 Hz) combined with sparse 30 bpm pulses creates the unmatched sensation of +a hollow, deserted mining behemoth. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Cadmium Radiation Detector | Erratic, clicking Geiger burst measuring lingering background isotopes in the hold. | `ExpandedSciFiAudioSynth.synthesizeGeigerBurst` (Soundboard: "Geiger Counter") | **[DOC]** | +| JMC Bulkhead Hydraulic Slam | Heavy pneumatic clamp slamming shut during red-alert emergency quarantine. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Hydraulic Clamps") | **[DOC]** | +| Vending Machine Dispense Clunk | Mechanical solenoid drop and liquid hiss dispensing piping-hot synthetic pea soup. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Pneumatic Seal Purge") | **[OBS]** | +| Holly Mainframe Monitor Tone | Flat, primitive 8-bit indicator beep acknowledging Holly's navigational query. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Heavy Solenoid") | **[OBS]** | + +**Assessment:** `ind-red-dwarf` is brilliantly evocative. Its cavernous 36 Hz hull +drone and dead, sparse telemetry perfectly convey the loneliness of drifting three +million years into deep space. + +--- + +### Starbug 1: Cockpit Environment (Red Dwarf, 1988–) + +**Production context [DOC]:** Created by Rob Grant and Doug Naylor, with sound +engineering supervised by **Jem Whippey** and **Keith Mayes**. Starbug was +designed as a comedic yet functional utility craft: perpetually rattling, +prone to catastrophic structural damage, yet virtually indestructible. + +**[DOC]** *Starbug 1* is a Jupiter Mining Corporation Class 2 ship's utility +transport. Spherical, green, and resembling an insect, it features two cramped +decks containing flight controls, navigation bunks, and a galley. It is powered +by twin chemical/nuclear thrusters and handles routine cargo runs, salvage +expeditions, and frequent crash landings. + +**[OBS]** The cockpit acoustic profile is **claustrophobic, rattly, and buzzy**: +- High-frequency airframe vibration: Unlike its mother ship, Starbug has a high + 76 Hz hull base (cutoff 170 Hz), capturing the immediate physical vibration of + a small metal capsule under full thrust. +- Fast, buzzing thruster harmonics: Propulsion is high-revving and impatient + (64 bpm, `pulseShape: 'tos'`, 90 Hz carrier) with an audible mechanical buzz. +- Direct cockpit air scrubbers: Pink-noise ventilation (220–2200 Hz) blows + directly onto the flight consoles, fighting cabin heat and electrical ozone. +- Shaking instrument switchgear: Heavy toggles, CRT display glass, and steering + yokes rattle whenever the ship executes high-G planetary descents. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Cramped Class 2 Shuttle Cabin | Tight, buzzing metal airframe hum (76 Hz base); high filter cutoff (170 Hz); rattling cockpit consoles under full throttle. | **[DOC]** | +| High-Rev Bug Sub-Light Thrusters | Fast, aggressive 64 bpm engine pulse (`pulseShape: 'tos'`); high 90 Hz carrier tone humming in seat mounts. | **[DOC]** | +| Cockpit Life Support Blowers | High-register pink-noise airflow (220–2200 Hz); rapid airflow cycling (0.2 speed) cooling hot avionics. | **[OBS]** | + +*Covered by:* preset `ind-starbug` (`hull`: volume 0.65, `baseFreq: 76`, +`filterCutoff: 170`, `resonance: 3.2`, `noiseMix: 0.45`, `harmonicSpread: 1.04`; +`warp`: volume 0.6, `bpm: 64`, `carrierFreq: 90`, `filterCutoff: 220`, +`pulseShape: 'tos'`, `resonance: 3.6`, `swirlMix: 0.25`; `lifeSupport`: volume +0.5, `noiseType: 'pink'`, `highpassFreq: 220`, `lowpassFreq: 2200`, +`airflowModSpeed: 0.2`, `airflowModDepth: 0.14`; `telemetry.volume: 0.5`, +`density: 0.55`, `telemetry.era: 'tos'`). High base frequency (76 Hz) and TOS +relays provide the exact comedic, high-strung personality of Lister and Rimmer’s +shuttlecraft. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Crash Landing Hydraulic Shudder | Severe mechanical impact and pneumatic strut compression absorbing ground shock. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Hydraulic Clamps") | **[DOC]** | +| Thruster Boost Burn | Sudden high-frequency thrust escalation as the pilot punches the emergency burn lever. | `WhoniverseAudioSynth.synthesizeFastReturn` (Event: "Reactor Vent") | **[OBS]** | +| JMC Navigation Scope Ping | Dry, retro radar chirp sweeping asteroids in the descent corridor. | `telemetry.synthesizeSensorSweep` | **[OBS]** | +| Manual Air Valve Twist | Squeaking brass valve release venting radiator pressure into the cockpit. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | + +**Assessment:** `ind-starbug` provides a brilliant contrast to the mother ship. +Its high-frequency 76 Hz hull and 64 bpm TOS pulses capture the rattling, +seat-of-the-pants flying experience of the JMC's favorite runabout. + +--- + +### The Raza: Dark Matter Bridge (Dark Matter, 2015–2017) + +**Production context [DOC]:** Created by Joseph Mallozzi and Paul Mullie +(alumni of the *Stargate* franchise), *Dark Matter*’s post-production sound was +supervised by **John Douglas Smith**, sound effects editors **Kevin Banks** and +**Paul Germann**, and re-recording mixer **Joe Morrow**. + +**[DOC]** *The Raza* is a heavily modified commercial multi-purpose freighter +operated by a crew of mercenary amnesiacs (Numbers One through Six) and the +synthetic Android. While originally a freight transporter, it has been refitted +with advanced military-grade weapons, reinforced armor, and an integrated neural +link to the ship’s computer. + +**[OBS]** The bridge audio environment is **disciplined, shadowy, and tactical**: +- Controlled commercial-military hull drone: A disciplined 54 Hz hull thrum + (filter cutoff 120 Hz) conducted through matte-black armor plate. +- Military-grade FTL engine hum: Smooth, deliberate 50 bpm propulsion pulses + (`pulseShape: 'defiant'`, 70 Hz carrier) reflecting reliable, high-thrust + hyper-drives. +- Clean environmental circulation: Regulated pink-noise airflow (180–1800 Hz) + cycling silently through tactical stations. +- Android-coordinated telemetry: DS9-style militaristic chirps and computer + confirmations as the Android monitors ship systems and tactical envelopes. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Matte-Black Command Bridge | Controlled, low-resonance composite hull hum (54 Hz base); dark, tense acoustic isolation; zero rattles. | **[OBS]** | +| Military-Grade FTL Drive | Firm 50 bpm engine pulse (`pulseShape: 'defiant'`); 70 Hz carrier tone with 0.3 swirl mix. | **[OBS]** | +| Regulated Life Support Loops | Smooth pink-noise ventilation (180–1800 Hz); steady, disciplined environmental air circulation. | **[OBS]** | + +*Covered by:* preset `ind-raza` (`hull`: volume 0.7, `baseFreq: 54`, +`filterCutoff: 120`, `resonance: 2.8`, `noiseMix: 0.48`, `harmonicSpread: 1.02`; +`warp`: volume 0.65, `bpm: 50`, `carrierFreq: 70`, `filterCutoff: 190`, +`pulseShape: 'defiant'`, `resonance: 3.4`, `swirlMix: 0.3`; `lifeSupport`: volume +0.55, `noiseType: 'pink'`, `highpassFreq: 180`, `lowpassFreq: 1800`, +`airflowModSpeed: 0.12`, `airflowModDepth: 0.1`; `telemetry.volume: 0.4`, +`density: 0.45`, `telemetry.era: 'ds9'`). The Defiant pulse shape and DS9 +telemetry cleanly capture the focused, mercenary lethality of the crew. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| FTL Jump Disengagement | Sub-bass gravitational release as the ship drops out of faster-than-light transit. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Hydraulic Clamps") | **[OBS]** | +| Android Neural Interface Ping | High-efficiency synthetic chirp confirming computer navigation handshake. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Heavy Solenoid") | **[OBS]** | +| Heavy Railgun Turret Slew | Low-frequency servo hum rotating external kinetic railgun batteries into firing arcs. | `WhoniverseAudioSynth.synthesizeFastReturn` (Event: "Reactor Vent") | **[OBS]** | +| Armored Blast Shutter Lock | High-pressure pneumatic seal dogging bridge viewport armor. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Pneumatic Seal Purge") | **[OBS]** | + +**Assessment:** `ind-raza` strikes a clean balance between heavy freight architecture +and mercenary combat efficiency. Its 54 Hz base frequency and Defiant warp cadence +give it an alert, modern presence. + +--- + +### Rocinante: Combat Ops & Epstein Drive (The Expanse, 2015–2022) + +**Production context [DOC]:** Developed by Mark Fergus and Hawk Ostby from the +novels of James S.A. Corey, *The Expanse*’s sound design was crafted by +Supervising Sound Editor **Nelson Ferreira** (MPSE Golden Reel Award winner), +supervising sound editor **Kevin Howard**, and sound designer **Nathan Robitaille**. +Their work is celebrated for rigorous adherence to Newtonian physics: deafening +internal acoustic conduction during high-G burns, sudden vacuum silence outside, +and high-pressure respiratory gasps from crew strapped into crash couches. + +**[DOC]** The *Rocinante* (formerly the Martian Congressional Republic Navy +corvette-class gunship *Tachi*, designated ECF-270) is a 46-meter torpedo frigate. +It is built on a "tower" deck plan: decks are stacked like floors in an office +building, so that acceleration from its fusion Epstein Drive provides linear +thrust gravity ("down" is toward the drive cone). + +**[OBS]** Combat operations on the *Rocinante* are **visceral, intense, and kinetic**: +- Deafening Epstein drive magnetic confinement: The fusion torch does not emit + a polite hum; it is a violent, magnetic roar (64 Hz base, 84 Hz carrier, 58 bpm + `defiant` pulse) with maximum warp volume (0.90) vibrating structural bulkheads. +- High-pressure oxygen delivery: White-noise life support (200–2100 Hz, volume 0.60) + pumps high-pressure oxygen to crew in crash couches to stave off blackouts during + high-G evasive maneuvers. +- High-density tactical telemetry: Modern, rapid Voyager-style indicator chirps + tracking Point Defense Cannon (PDC) auto-targeting arcs and torpedo locks. +- The Epstein burn event: A bespoke fusion torch burn (`synthesizeEpsteinBurn`) + blends a 140–3200 Hz ascending magnetic induction whine with a colossal brown-noise + roar. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| MCRN Combat Ops Tower Hull | High-tension armored frame vibration (64 Hz base); intense structural resonance (3.4); palpable mechanical torque under burn. | **[DOC]** | +| Epstein Magnetic Fusion Drive | Deafening 58 bpm combat pulse (`pulseShape: 'defiant'`); high 84 Hz carrier frequency; maximum volume 0.90. | **[DOC]** | +| High-G Crash Couch Oxygen Feed | Pressurized white-noise airflow (200–2100 Hz); rapid airflow modulation (0.18 speed) fighting G-load hypoxia. | **[DOC]** | + +*Covered by:* preset `ind-rocinante` (`hull`: volume 0.8, `baseFreq: 64`, +`filterCutoff: 145`, `resonance: 3.4`, `noiseMix: 0.55`, `harmonicSpread: 1.035`; +`warp`: volume 0.9, `bpm: 58`, `carrierFreq: 84`, `filterCutoff: 250`, +`pulseShape: 'defiant'`, `resonance: 4.2`, `swirlMix: 0.4`; `lifeSupport`: volume +0.6, `noiseType: 'white'`, `highpassFreq: 200`, `lowpassFreq: 2100`, +`airflowModSpeed: 0.18`, `airflowModDepth: 0.14`; `telemetry.volume: 0.5`, +`density: 0.65`, `telemetry.era: 'voyager'`). High warp volume (0.90), white +noise life support, and `synthesizeEpsteinBurn()` provide the most physically +intense propulsion soundscape in the application. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Epstein Fusion Torch Burn | Massive ascending magnetic plasma whine (140 to 3200 Hz) layered over colossal lowpass brown-noise fusion roar. | `ExpandedSciFiAudioSynth.synthesizeEpsteinBurn` (Event: "Epstein Burn") | **[DOC]** | +| PDC Auto-Target Tracking Lock | Rapid, high-velocity multi-tone telemetry chirp calculating lead solutions for incoming torpedoes. | `telemetry.synthesizeSensorSweep` | **[DOC]** | +| Crash Couch G-Gimbal Motor | Heavy hydraulic servo whine rotating the pilot's couch into alignment with the acceleration vector. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | +| Torpedo Magazine Feed Solenoid | Heavy electromagnetic snap as a high-yield torpedo is shoved into the ventral launch tube. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Heavy Solenoid") | **[DOC]** | + +**Assessment:** `ind-rocinante` is an acoustic tour de force. By combining +maximum warp volume, white-noise respiratory airflow, and the bespoke Epstein +burn synthesis, it faithfully captures the visceral kinetic warfare of *The Expanse*. + +--- + +### Eagle Transporter: Command Module (Space: 1999, 1975–1977) + +**Production context [DOC]:** Created by Gerry and Sylvia Anderson, *Space: 1999*’s +distinctive audio aesthetic was supervised by sound editor **Jim Groom**, sound +editor **Alan Bell**, and special electronic sound effects designer **Brian Johnson** +(who later won Oscars for visual effects on *Alien* and *The Empire Strikes Back*). +Audio effects were produced at Pinewood Studios using vintage analog oscillators, +tape loops, and electromagnetic relays. + +**[DOC]** The *Eagle Transporter* is the primary multi-role utility spacecraft +stationed on Moonbase Alpha. Designed strictly for practical lunar operations, +it features an open-framework tubular steel fuselage, four heavy landing pods, +twin forward pilot cockpits, and interchangeable mission pods (passenger, +freight, rescue, and laser combat). + +**[OBS]** The command module acoustic profile is **tactile, analog, and mechanical**: +- High-frequency cockpit frame vibration: The open framework transmits a crisp, + tight 70 Hz structural vibration (cutoff 160 Hz) directly into the flight deck. +- Nuclear fusion reaction thrusters: Rhythmic 54 bpm thruster pulses (`pulseShape: 'tos'`, + 88 Hz carrier) providing steady lunar transit thrust. +- Regulated cabin air handling: Smooth pink-noise life support (210–2000 Hz) + maintaining cabin pressure against lunar vacuum. +- 1970s relay click and switchboard telemetry: Heavy mechanical solenoids, rotary + selector clicks, and TOS-style indicator beeps monitoring propellant pressure + and Moonbase docking latches. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Modular Cockpit Command Module | Tight, utilitarian structural hum (70 Hz base); open-truss frame conduction; tactile analog instrument acoustics. | **[DOC]** | +| Nuclear Chemical Thruster Core | Rhythmic 54 bpm propulsion hum (`pulseShape: 'tos'`); 88 Hz carrier frequency driving four main rocket bells. | **[DOC]** | +| Command Module Air Recirculation | Regulated pink-noise airflow (210–2000 Hz); crisp environmental ventilation in a sealed two-person cabin. | **[OBS]** | + +*Covered by:* preset `ind-eagle` (`hull`: volume 0.6, `baseFreq: 70`, +`filterCutoff: 160`, `resonance: 3.0`, `noiseMix: 0.4`, `harmonicSpread: 1.03`; +`warp`: volume 0.55, `bpm: 54`, `carrierFreq: 88`, `filterCutoff: 210`, +`pulseShape: 'tos'`, `resonance: 3.2`, `swirlMix: 0.2`; `lifeSupport`: volume +0.55, `noiseType: 'pink'`, `highpassFreq: 210`, `lowpassFreq: 2000`, +`airflowModSpeed: 0.15`, `airflowModDepth: 0.1`; `telemetry.volume: 0.55`, +`density: 0.6`, `telemetry.era: 'tos'`). TOS telemetry and 70 Hz base frequencies +beautifully recreate Gerry Anderson’s retro-futuristic lunar workhorse. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Landing Leg Shock Pad Impact | Heavy spring-loaded hydraulic clamp impact as all four landing pads touch lunar regolith. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Hydraulic Clamps") | **[DOC]** | +| Moonbase Launch Pad Airlock Purge | Pressurized pneumatic hiss equalizing Moonbase Alpha launch silos before liftoff. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Pneumatic Seal Purge") | **[OBS]** | +| Main Thruster Vernier Gimbal | High-register electronic actuator whirr swiveling the four nuclear exhaust nozzles. | `WhoniverseAudioSynth.synthesizeFastReturn` (Event: "Reactor Vent") | **[OBS]** | +| Command Module Solenoid Relays | Distinctive spring-loaded electrical relay clicks confirming thruster arming. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Heavy Solenoid") | **[DOC]** | + +**Assessment:** `ind-eagle` is an evocative love letter to 1970s analog spaceflight. +The crisp 70 Hz frame hum and TOS switchboard telemetry capture the practical, +utilitarian romance of Moonbase Alpha. + +--- + +### Valley Forge: Agro-Dome Forest Hub (Silent Running, 1972) + +**Production context [DOC]:** Directed by visual effects master **Douglas Trumbull** +(who pioneered effects on *2001: A Space Odyssey* and *Close Encounters of the +Third Kind*), *Silent Running* featured sound design and sound effects by legendary +sound designer **Frank Warner** (who later won a Special Achievement Academy +Award for Sound Effects Editing). Warner’s team recorded real industrial freight +trains, hydraulic lifts, and botanical greenhouse fans to create an authentic +cargo ship soundscape. + +**[DOC]** The *Valley Forge* (operated by American Freighters) is an eight-mile-long +deep-space cargo ship carrying six geodesic biodomes preserving Earth's last +surviving forests, plants, and small animals near Saturn. The ship is crewed by +ecologist Freeman Lowell (Bruce Dern) and three automated service drones +(Huey, Dewey, and Louie). + +**[OBS]** The forest dome and cargo hub soundscape is **pastoral yet industrial**: +- Geodesic frame conduction: Deep 46 Hz structural hum (filter cutoff 100 Hz) + vibrating through miles of steel scaffolding and cargo container tracks. +- Slow sub-light freight engines: Sluggish 38 bpm engine thrum (`pulseShape: 'nx'`, + 56 Hz carrier) conveying a slow, multi-year commercial transit. +- Expansive greenhouse air handling: High-volume pink-noise ventilation + (140–1500 Hz, volume 0.70) simulating gentle artificial wind circulating moisture + through the towering pine trees and ferns. +- Drone service hydraulics: The maintenance drones wander the steel catwalks, + producing high-pitched electronic chirps, servo whirrs, and hydraulic footfalls. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Geodesic Forest Dome & Catwalks | Reverberant greenhouse acoustics; gentle wind rustling artificial forest canopy; underlying 46 Hz structural drone. | **[DOC]** | +| Interstellar Freight Engines | Gentle 38 bpm propulsion pulse (`pulseShape: 'nx'`); 56 Hz carrier frequency driving heavy cargo pods. | **[OBS]** | +| Agro-Dome Humidity Ventilation | Expansive pink-noise air handling (140–1500 Hz, volume 0.70); rich airflow modulation (0.15 depth) simulating natural breezes. | **[DOC]** | + +*Covered by:* preset `ind-valley-forge` (`hull`: volume 0.65, `baseFreq: 46`, +`filterCutoff: 100`, `resonance: 2.2`, `noiseMix: 0.5`, `harmonicSpread: 1.02`; +`warp`: volume 0.4, `bpm: 38`, `carrierFreq: 56`, `filterCutoff: 130`, +`pulseShape: 'nx'`, `resonance: 2.5`, `swirlMix: 0.2`; `lifeSupport`: volume +0.7, `noiseType: 'pink'`, `highpassFreq: 140`, `lowpassFreq: 1500`, +`airflowModSpeed: 0.1`, `airflowModDepth: 0.15`; `telemetry.volume: 0.35`, +`density: 0.3`, `telemetry.era: 'nx'`). High life support volume (0.70) combined +with gentle 46 Hz structural hum brilliantly evokes the tranquil, isolated +greenhouses of the Valley Forge. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Dome Jettison Explosive Bolts | Heavy mechanical latch release as an agro-dome is decoupled into space. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` (Soundboard: "Hydraulic Clamps") | **[DOC]** | +| Drone Servo Whirr & Chirp | High-pitched motor whirr and melodic electronic chirp from drone Huey or Dewey. | `telemetry.synthesizeSensorSweep` | **[DOC]** | +| Cargo Gantry Transit Clatter | Overhead motorized hoist rolling along steel ceiling rails. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | +| Geodesic Thermal Expansion Click | Metal strut ticking as sunlight shifts across the acrylic dome panels. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Heavy Solenoid") | **[OBS]** | + +**Assessment:** `ind-valley-forge` is one of the most uniquely peaceful presets +in the entire application. The prominent pink-noise air handling (volume 0.70) +creates a soothing greenhouse atmosphere anchored by solid freight engine thrum. + +--- + +## Design constraint: Heavy industry vs. torch propulsion + +The Industrial Space universe presents a crucial technical divergence in sci-fi +sound design: the contrast between **massive, sluggish low-acceleration ore +transporters** and **violent, high-G torch combat craft**: + +``` ++-------------------------------------------------------------------------+ +| INDUSTRIAL ACOUSTIC DIVERGENCE | ++-------------------------------------------------------------------------+ +| | +| HEAVY ORE TRANSPORTERS (Nostromo, Red Dwarf, Valley Forge) | +| - Immense structural mass (millions of tons of refined ore / freight) | +| - Subterranean base frequencies (36 - 42 Hz) | +| - Heavily muffled lowpass filtering (cutoff: 80 - 100 Hz) | +| - Sluggish, deliberate propulsion cadence (30 - 38 bpm, 'nx' pulse) | +| - Chilled, damp brown-noise air handling with dripping pipes | +| | +| TORCH SHIPS & INTERCEPTORS (Rocinante, Eagle, Starbug) | +| - High thrust-to-weight ratio; acceleration provides linear gravity | +| - High structural tension and engine whine (64 - 76 Hz base) | +| - Wide, energetic filter cutoff (145 - 170 Hz) | +| - Rapid, aggressive propulsion cadence (54 - 64 bpm, 'defiant'/'tos') | +| - Pressurized white/pink noise life support fighting high-G hypoxia | +| | ++-------------------------------------------------------------------------+ +``` + +1. **Subterranean Bulk & Low-Pass Filtering:** In commercial leviathans like the + *Nostromo*, *Red Dwarf*, and *Valley Forge*, acoustic energy travels through + miles of structural steel, cargo catwalks, and heavy bulkheads. High frequencies + are naturally absorbed, leaving a dominant sub-bass rumble (36–42 Hz) with low + filter cutoffs (80–100 Hz). Life support is thick, damp brown noise that feels + cold and uninsulated. +2. **Torches & High-Tension Acceleration:** In contrast, high-acceleration vessels + like the *Rocinante* operate under continuous high-G burn. Hull frequencies + climb to 64–76 Hz due to the intense mechanical torque exerted by fusion torch + drives. Life support shifts to high-velocity white noise rushing through + breathing masks and crash couches, and pulse rates leap to 58–64 bpm. + +This distinction explains why `industrial` presets cannot use a single engine +template: freight requires sluggish subterranean weight, while torch ships +demand aggressive, high-pressure kinetic force. + +--- + +## Soundboard relabeling (Industrial Space) + +In `js/config.js`, the `industrial` universe overrides the soundboard and event +buttons to match the heavy machinery and commercial hazards of deep-space industry: + +| Button ID | Generic action / sound | Industrial label | Runtime trigger method | Acoustic output | +| --- | --- | --- | --- | --- | +| `btn-geiger` | Radiation detector | **GEIGER COUNTER** | `expandedAudio.synthesizeGeigerBurst` | Rapid, randomized square-wave clicks (2800–3600 Hz) simulating radiation detection. | +| `btn-dock-clamp` | Heavy docking latch | **HYDRAULIC CLAMPS** | `expandedAudio.synthesizeDockingClamp` | Square-wave solenoid impact (380 to 65 Hz) followed by 180ms pneumatic release hiss. | +| `btn-relay-click` | Demat switch | **M/TH/UR TELETYPE** | `whoniverseAudio.synthesizeDematSwitch` | Crisp, high-frequency square wave drop (850 to 140 Hz over 60ms) simulating dot-matrix printouts. | +| `btn-switch-pop` | High-frequency telemetry | **HEAVY SOLENOID** | `telemetry.synthesizeLCARSSingleChirp` | Heavy electronic relay snap arming industrial equipment. | +| `btn-pneumatic-door` | Docking clamp latch | **PNEUMATIC SEAL PURGE** | `expandedAudio.synthesizeDockingClamp` | High-pressure pneumatic seal equalizing airlock atmosphere. | + +### Event buttons (Industrial Space) + +| Event Button ID | Trigger label | Event handler / method | Acoustic output | +| --- | --- | --- | --- | +| `btn-epstein` | **EPSTEIN BURN** | `expandedAudio.synthesizeEpsteinBurn` | Rising sawtooth plasma whine (140 to 3200 Hz) layered over massive lowpass brown-noise fusion roar. | +| `btn-airlock-purge` | **PURGE AIRLOCK** | `expandedAudio.synthesizeDockingClamp` | Concussive mechanical clamp impact and sudden pneumatic seal venting. | +| `btn-reactor-vent` | **REACTOR VENT** | `whoniverseAudio.synthesizeFastReturn` | High-speed descending pitch ramp simulating coolant blow-off from primary reactor buses. | + +--- + +## Element retention map (Industrial Space) + +Every preset in the `industrial` universe uses existing synthesizer classes in +`js/audio.js` without requiring runtime modifications: + +| Preset ID | Hull Drone | Warp Core | Life Support | Telemetry | Special Events / Soundboard | +| --- | --- | --- | --- | --- | --- | +| `ind-nostromo` | 42 Hz, 95 Hz lp, 0.60 noise | 36 bpm, 52 Hz, `nx` | Brown noise, 130–1400 Hz | `nx` (volume 0.45, density 0.45) | Geiger Counter (`synthesizeGeigerBurst`), M/TH/UR Teletype | +| `ind-serenity` | 48 Hz, 110 Hz lp, 0.50 noise | 44 bpm, 64 Hz, `nx` | Pink noise, 160–1600 Hz | `tos` (volume 0.35, density 0.35) | Hydraulic Clamps (`synthesizeDockingClamp`), Reactor Vent | +| `ind-red-dwarf` | 36 Hz, 80 Hz lp, 0.65 noise | 30 bpm, 46 Hz, `nx` | Brown noise, 110–1200 Hz | `nx` (volume 0.25, density 0.20) | Geiger Counter, Heavy Solenoid | +| `ind-starbug` | 76 Hz, 170 Hz lp, 0.45 noise | 64 bpm, 90 Hz, `tos` | Pink noise, 220–2200 Hz | `tos` (volume 0.50, density 0.55) | Pneumatic Seal Purge, Reactor Vent | +| `ind-raza` | 54 Hz, 120 Hz lp, 0.48 noise | 50 bpm, 70 Hz, `defiant` | Pink noise, 180–1800 Hz | `ds9` (volume 0.40, density 0.45) | Hydraulic Clamps, Heavy Solenoid | +| `ind-rocinante` | 64 Hz, 145 Hz lp, 0.55 noise | 58 bpm, 84 Hz, `defiant` | White noise, 200–2100 Hz | `voyager` (volume 0.50, density 0.65) | Epstein Burn (`synthesizeEpsteinBurn`), Purge Airlock | +| `ind-eagle` | 70 Hz, 160 Hz lp, 0.40 noise | 54 bpm, 88 Hz, `tos` | Pink noise, 210–2000 Hz | `tos` (volume 0.55, density 0.60) | Hydraulic Clamps, Heavy Solenoid | +| `ind-valley-forge` | 46 Hz, 100 Hz lp, 0.50 noise | 38 bpm, 56 Hz, `nx` | Pink noise, 140–1500 Hz | `nx` (volume 0.35, density 0.30) | Purge Airlock, Drone Servo Sweep | + +--- + +## Missing elements / gap list (Industrial Space) + +These are authentic industrial sound elements documented in film and television +production that are currently simulated by approximations: + +| Priority | Element | Source ship | Description | Implementation path | +| --- | --- | --- | --- | --- | +| 1 | **Dedicated Mechanical Dot-Matrix / Teletype Chatter** | USCSS Nostromo | Continuous rhythmic chatter of mechanical dot-matrix print heads and multi-pin character strikers for MU/TH/UR, replacing single demat switch clicks. | High: Synthesize burst of randomized 4000 Hz noise impulses with regular stepper-motor carriage advance. | +| 2 | **Heavy Hydraulic Docking Groan & Mechanical Clang** | USCSS Nostromo / Red Dwarf | Massive low-frequency metal-on-metal groan (30–60 Hz) followed by a ringing sledgehammer-like clamp strike when securing ore umbilicals. | High: Add dual resonant bandpass filter on white-noise burst. | +| 3 | **Condensation Pipe Drip & Expansion Ticks** | USCSS Nostromo / Serenity | Intermittent high-frequency water drops hitting grated metal catwalks and irregular metallic pings from contracting coolant pipes. | Medium: Randomly triggered high-Q sine pings with short decay. | +| 4 | **High-Pressure Continuous Steam / Boiler Venting** | Serenity / Starbug | Sustained white-noise steam hiss with flutter modulation, rather than a short fast-return pitch ramp. | Medium: Bandpass white noise (800–2800 Hz) with slow LFO amplitude swell. | +| 5 | **Crash Couch Hydraulic Gimbal / G-Load Strain** | Rocinante | Heavy servo-motor whining adjusting couch angles during sustained high-G burns. | Medium: Frequency-modulated triangle wave with lowpass body. | + +--- + +## Industrial Space open questions + +- **[GAP]** The exact mechanical typewriter and electromechanical relay sources + recorded by Terry Rawlings and Jim Shields for the MU/TH/UR interface chamber + in *Alien*. +- **[GAP]** The specific synthesizer models and patch parameters used by Nathan + Robitaille and Nelson Ferreira to create the magnetic Epstein drive roar on + *The Expanse*. +- **[GAP]** The physical props and recording techniques used by Frank Warner to + create the distinctive servo whirrs and footfalls of the drones in *Silent Running*. + +### Where to verify (Industrial Space) + +- **British Academy of Film and Television Arts (BAFTA)**: Film awards archive + and sound nominations honoring Terry Rawlings for *Alien*. +- **Motion Picture Sound Editors (MPSE)**: Golden Reel Awards citations for + Nelson Ferreira, Kevin Howard, and Nathan Robitaille on *The Expanse*. +- **Academy of Motion Picture Arts and Sciences (AMPAS)**: Margaret Herrick + Library special collections on Frank Warner’s sound work on *Silent Running*. +- **British Film Institute (BFI) National Archive**: Production logs and studio + sound engineering documentation for *Red Dwarf* and *Space: 1999*. +- **Pinewood Studios Production Archives**: Sound effects library documentation + for Brian Johnson and Alan Bell on *Space: 1999*. + +--- + +# Retro Future + +The "Retro Future" theme captures eight iconic Golden Age and vintage sci-fi +vessels from the 1950s through the early 1980s: +- *Lost in Space*, 1965–1968 (Jupiter 2) — Irwin Allen's classic flying saucer +- *Blake's 7*, Series 1–3, 1978–1980 (The Liberator) — Terry Nation's alien deep-space cruiser +- *The Black Hole*, 1979 (USS Cygnus) — Disney's gothic Victorian iron ghost ship +- *The Black Hole*, 1979 (USS Palomino) — Disney's deep-space exploratory scout +- *2001: A Space Odyssey*, 1968 (Discovery One) — Stanley Kubrick's pristine interplanetary vessel +- *Dark Star*, 1974 (Dark Star) — John Carpenter & Dan O'Bannon's counterculture scout ship +- *The Last Starfighter*, 1984 (Gunstar) — Nick Castle's Rylos space superiority fighter +- *Buck Rogers in the 25th Century*, 1981 (The Searcher) — Glen A. Larson's deep-space flagship + +Acoustically, the Retro Future universe is defined by **the golden era of electronic +sound synthesis: laboratory audio oscillators, vacuum tube tape delays, analog +Theremin glissandi, mechanical relays, and soothing artificial gravity centrifuges**. +Before the advent of digital samplers and multi-track field recording, sci-fi +soundscapes were hand-crafted using modular synthesizers (Moog, ARP, EMS VCS3), +sine/square-wave test generators, and physical magnetic tape manipulation. The +resulting audio is warm, harmonic, speculative, and deeply nostalgic. + +## Layer mapping (Retro Future-specific) + +| Real concept | App layer | Notes | +| --- | --- | --- | +| Hull tone, centrifugal gravity hum, Victorian iron conduction | `hull` (`HullDroneSynth`) | Smooth, harmonic-rich sub-bass beds (38–72 Hz) reflecting spinning centrifuges, flying saucer fields, or heavy iron frames. | +| Fusion propulsion, alien drive fields, high-rev starfighters | `warp` (`WarpCoreSynth`) | Retro pulse rates (30–68 bpm) spanning slow Kubrick centrifuges to rapid 1980s space fighter burns. | +| Clean clinical airflow, tired fan blades, helmet oxygen | `lifeSupport` (`LifeSupportSynth`) | Pink, brown, and white noise air beds running between 120 Hz and 2200 Hz. | +| Mainframe logic tones, astrogator warbles, tape reel clicks | `telemetry` (`TelemetrySynth`) | Telemetry routing borrowed from Trek eras (`tos`, `tng`, `nx`, `voyager`) evoking early mainframe computers and relay switchboards. | +| Centrifuge spins, astrogator sweeps, HAL 9000 overrides | Events / Soundboard | Bespoke retro astrogator frequency glides, HAL two-tone logic chimes, and magnetic tape reel solenoids. | + +--- + +## Ship-by-ship + +### Jupiter 2: Upper Deck Astrogator (Lost in Space, 1965–1968) + +**Production context [DOC]:** Created and produced by **Irwin Allen**, *Lost in +Space* established the archetypal 1960s television space soundscape. Audio design +was supervised by 20th Century Fox sound editors and sound effects creator +**Jack Kittler**. Rather than recording mechanical vehicles, the audio team +utilized early electronic test oscillators, warbling heterodyne audio generators, +and Theremin-style frequency sweeps to depict advanced space travel. + +**[DOC]** The *Jupiter 2* is a two-deck, saucer-shaped spacecraft designed to +carry the Robinson family to Alpha Centauri. Powered by a nuclear fusion reactor +and an advanced hyperdrive, its upper flight deck is dominated by the glowing +circular Astrogator console, flight couches, and the environmental controls of +the B-9 Environmental Control Robot. + +**[OBS]** The upper flight deck soundscape is **melodic, electronic, and continuous**: +- Continuous Astrogator warble: The central navigation unit emits a continuous, + wavering electronic warble and frequency glissando (`synthesizeRetroAstrogator`) + modulated by an 8 Hz vibrato. +- Nuclear propulsion hum: A clean, smooth 68 Hz base frequency (filter cutoff + 160 Hz) and 52 bpm TOS-style engine pulse with high resonance (4.0) that hums + sweetly without abrasive friction. +- Clean environmental life support: Gentle pink-noise ventilation (240–2200 Hz) + delivering sterile air to the upper observation deck. +- High-density TOS telemetry: Dense, playful electronic telemetry (density 0.75) + with sliding tones, radar pings, and robot logic acknowledgments. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Upper Deck Astrogator Flight Cabin | Smooth, melodic flying saucer resonance (68 Hz base); high resonance factor (3.2); clean electronic warmth. | **[DOC]** | +| Nuclear Fusion Pulse Core | Rhythmic 52 bpm engine pulse (`pulseShape: 'tos'`); high 96 Hz carrier frequency with 0.3 swirl mix. | **[DOC]** | +| Upper Cabin Climate Recirculation | High-register pink-noise airflow (240–2200 Hz); light airflow modulation (0.08 depth) maintaining clean atmosphere. | **[OBS]** | + +*Covered by:* preset `ret-jupiter-2` (`hull`: volume 0.65, `baseFreq: 68`, +`filterCutoff: 160`, `resonance: 3.2`, `noiseMix: 0.35`, `harmonicSpread: 1.04`; +`warp`: volume 0.7, `bpm: 52`, `carrierFreq: 96`, `filterCutoff: 230`, +`pulseShape: 'tos'`, `resonance: 4.0`, `swirlMix: 0.3`; `lifeSupport`: volume +0.5, `noiseType: 'pink'`, `highpassFreq: 240`, `lowpassFreq: 2200`, +`airflowModSpeed: 0.1`, `airflowModDepth: 0.08`; `telemetry.volume: 0.65`, +`density: 0.75`, `telemetry.era: 'tos'`). High telemetry density (0.75) and TOS +relays combined with 68 Hz hull resonance perfectly embody Irwin Allen’s cheerful +1960s electronic optimism. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Astrogator Sweep Glissando | Continuous sliding electronic tone sweeping 440 Hz up to 1180 Hz with 8 Hz vibrato. | `ExpandedSciFiAudioSynth.synthesizeRetroAstrogator` (Soundboard: "Analog Glissando") | **[DOC]** | +| B-9 Robot Flashing Sensor Beat | Crisp, rhythmic electronic indicator chirp pulsing with B-9's chest light indicators. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Astrogator Beat") | **[DOC]** | +| Magnetic Tape Data Spooling | Rapid mechanical relay drop and high-speed tape pack acceleration on the flight computer. | `WhoniverseAudioSynth.synthesizeDematSwitch` (Soundboard: "Tape Reel Spool") | **[DOC]** | +| Hyperdrive Charge Surge | Rising electronic pitch ramp preceding interstellar velocity jump. | `WhoniverseAudioSynth.synthesizeFastReturn` (Soundboard: "Magnetic Tape Latch") | **[OBS]** | + +**Assessment:** `ret-jupiter-2` is the definitive sonic portrait of 1960s space +optimism. The bright 68 Hz hull, fast TOS telemetry, and analog glissando sweep +bring the classic Robinson voyage to life. + +--- + +### The Liberator: Zen Flight Bridge (Blake's 7, Series 1–3, 1978–1980) + +**Production context [DOC]:** Created by **Terry Nation**, *Blake's 7*’s alien +soundscape was engineered by the legendary **BBC Radiophonic Workshop**, under +sound designers **Elizabeth Parker**, **Richard Yeoman-Clark**, and +**Malcolm Clarke**. The team synthesized the sounds of the *Liberator* using the +massive EMS Synthi 100 modular synthesizer ("the Delaware"), EMS VCS3 units, and +tape manipulation. + +**[DOC]** *The Liberator* (originally *DSV2*) is an enigmatic, hyper-advanced +alien warship discovered abandoned in deep space by Roj Blake and his rebel crew. +Powered by advanced alien energy banks and controlled by the telepathic master +computer Zen (voiced by Peter Tuddenham), the ship is armed with devastating +neutron blasters and a teleportation system. + +**[OBS]** The bridge environment is **crystalline, mysterious, and sophisticated**: +- Zen mainframe telepathic hum: The bridge is centered around Zen’s hexagonal, + pulsing readout screen, emitting a crystalline, harmonic hum (60 Hz base, + filter cutoff 135 Hz) that feels sentient rather than industrial. +- Exotic alien drive field harmonics: The sub-light engines cycle with a smooth, + hypnotic 48 bpm cadence (`pulseShape: 'tos'`, 82 Hz carrier) with rich 0.35 swirl + modulation. +- Filtered life-support atmosphere: Pink-noise air handling (200–2000 Hz) maintaining + pristine environmental conditions inside alien bulkheads. +- Zen status logic chirps: TOS-style electronic indicator pings representing + Zen analyzing tactical vectors and reporting in his calm, authoritative voice. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Zen Telepathic Flight Bridge | Luminous, alien composite hull resonance (60 Hz base); harmonic spread 1.025; clean, mystical acoustic environment. | **[DOC]** | +| Liberator Exotic Drive Core | Hypnotic 48 bpm alien propulsion pulse (`pulseShape: 'tos'`); 82 Hz carrier tone with lush 0.35 swirl mix. | **[DOC]** | +| Alien Environmental Life Support | Clean pink-noise airflow (200–2000 Hz); smooth, quiet ventilation across tiered hexagonal consoles. | **[OBS]** | + +*Covered by:* preset `ret-liberator` (`hull`: volume 0.6, `baseFreq: 60`, +`filterCutoff: 135`, `resonance: 2.8`, `noiseMix: 0.4`, `harmonicSpread: 1.025`; +`warp`: volume 0.65, `bpm: 48`, `carrierFreq: 82`, `filterCutoff: 200`, +`pulseShape: 'tos'`, `resonance: 3.4`, `swirlMix: 0.35`; `lifeSupport`: volume +0.55, `noiseType: 'pink'`, `highpassFreq: 200`, `lowpassFreq: 2000`, +`airflowModSpeed: 0.12`, `airflowModDepth: 0.1`; `telemetry.volume: 0.55`, +`density: 0.6`, `telemetry.era: 'tos'`). TOS telemetry and 60 Hz base frequencies +beautifully mirror the BBC Radiophonic Workshop's analog synthesizer experiments. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Zen Telepathic Acknowledgment | Melodic, rising synthesizer tone as Zen activates his hexagonal visualizer ("Affirmative"). | `ExpandedSciFiAudioSynth.synthesizeHalChime` (Soundboard: "HAL Logic Confirm") | **[DOC]** | +| Neutron Blaster Capacitor Charge | High-voltage electronic frequency glide building up to energy cannon discharge. | `ExpandedSciFiAudioSynth.synthesizeRetroAstrogator` (Event: "Astrogator Sweep") | **[DOC]** | +| Teleport Bracelet Handshake Pip | Clean electronic carrier tone locking onto surface teleport coordinates. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Astrogator Beat") | **[DOC]** | +| Main Drive Pulse Boost | Fast-acting pitch ramp as the ship accelerates into full standard by-nine speed. | `WhoniverseAudioSynth.synthesizeFastReturn` (Soundboard: "Magnetic Tape Latch") | **[OBS]** | + +**Assessment:** `ret-liberator` captures the exact blend of alien sophistication +and BBC Radiophonic Workshop analog synthesis that defined *Blake's 7*. + +--- + +### USS Cygnus: Victorian Engine Hall (The Black Hole, 1979) + +**Production context [DOC]:** Directed by Gary Nelson, *The Black Hole* was Walt +Disney Productions’ most ambitious sci-fi production. Sound design was led by +**Stephen Katz** with sound consultation by **Ben Burtt**. The sound team miked +real hydroelectric power plants, massive water turbines, and foundry equipment to +create the sound of a gothic Victorian cathedral in space. + +**[DOC]** The *USS Cygnus* is an enormous, skeletal deep-space research vessel +measuring over half a mile long, commanded by the megalomaniacal Dr. Hans Reinhardt. +Constructed from dark iron and glowing with amber chandeliers, the ship defies +the intense gravitational tides of an adjacent black hole using a gravity-nullifying +force field. + +**[OBS]** The engine hall and command decks are **gargantuan, gothic, and cavernous**: +- Deep Victorian iron conduction: An immense, grinding 38 Hz sub-bass rumble + (filter cutoff 90 Hz) with heavy noise mix (0.60) vibrating through lattice-work + iron catwalks. +- Massive drive pistons: Rhythmic, ponderous 36 bpm engine cadence (`pulseShape: 'nx'`, + 52 Hz carrier) driving heavy anti-gravity generators and drive shafts. +- Chilled, cavernous air: Thick brown-noise ventilation (120–1300 Hz) echoing + through hundreds of feet of empty iron vaults. +- Muffled mechanical relays: NX-style heavy relay thunks representing Dr. Reinhardt’s + silent sentry robots and mechanical command consoles. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Victorian Iron Cathedral Engine Hall | Gargantuan, echoing iron hull reverberation (38 Hz base); heavy mechanical dampening; gothic acoustic scale. | **[DOC]** | +| Gravity-Nullifying Piston Drive | Ponderous, slow 36 bpm engine thrum (`pulseShape: 'nx'`); 52 Hz carrier tone vibrating iron observation decks. | **[DOC]** | +| Cavernous Structural Ventilation | Damp brown-noise air handling (120–1300 Hz); low-speed air currents circulating through vast empty bays. | **[OBS]** | + +*Covered by:* preset `ret-cygnus` (`hull`: volume 0.85, `baseFreq: 38`, +`filterCutoff: 90`, `resonance: 2.5`, `noiseMix: 0.6`, `harmonicSpread: 1.015`; +`warp`: volume 0.75, `bpm: 36`, `carrierFreq: 52`, `filterCutoff: 140`, +`pulseShape: 'nx'`, `resonance: 3.2`, `swirlMix: 0.25`; `lifeSupport`: volume +0.6, `noiseType: 'brown'`, `highpassFreq: 120`, `lowpassFreq: 1300`, +`airflowModSpeed: 0.08`, `airflowModDepth: 0.16`; `telemetry.volume: 0.35`, +`density: 0.35`, `telemetry.era: 'nx'`). The low 38 Hz base frequency, brown +noise air bed, and slow NX engine thrum perfectly reproduce the oppressive, +gothic mass of Disney’s haunted ghost ship. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Anti-Gravity Field Overdrive | Sub-bass harmonic surge holding the ship stationary against the event horizon. | `ExpandedSciFiAudioSynth.synthesizeSingularityEngage` | **[DOC]** | +| Maximillian Sentry Hover Hum | Ominous, low-register magnetic hum as the red robot enforcer hovers into position. | `ExpandedSciFiAudioSynth.synthesizeRetroAstrogator` (Event: "Astrogator Sweep") | **[DOC]** | +| Victorian Hydraulic Blast Door | Heavy iron portcullis door slamming down into stone-faced bulkheads. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[OBS]** | +| Command Bridge Pneumatic Teletype | Mechanical relay click acknowledging Reinhardt’s programmed course into the black hole. | `WhoniverseAudioSynth.synthesizeDematSwitch` (Soundboard: "Tape Reel Spool") | **[OBS]** | + +**Assessment:** `ret-cygnus` is marvelously oppressive. Its heavy 38 Hz sub-bass +and slow 36 bpm NX cadence make it one of the most distinctive "iron gothic" +presets in the collection. + +--- + +### USS Palomino: Deep Research Pod (The Black Hole, 1979) + +**Production context [DOC]:** Sound design created by **Stephen Katz** at Walt +Disney Productions. In direct contrast to the gigantic *Cygnus*, the *Palomino* +was designed as a compact, fragile research vessel modeled after NASA lunar +modules and 1970s submarine interiors. + +**[DOC]** The *USS Palomino* is a small deep-space research vessel manned by a +civilian crew of five (including Captain Dan Holland, Dr. Alex Durant, and V.I.N.CENT +the robot). Compact, cramped, and functional, it is dispatched to search for +habitable planets before discovering the derelict *Cygnus* perched on the lip of +a massive black hole. + +**[OBS]** The cabin environment is **intimate, functional, and pressurized**: +- Tight pressurized hull hum: A clean 54 Hz hull drone (filter cutoff 120 Hz) + reflecting a small, well-maintained scientific craft. +- Steady sub-light engines: Rhythmic 46 bpm engine pulse (`pulseShape: 'nx'`, + 68 Hz carrier) providing reliable, unhurried transit thrust. +- Continuous cabin air circulation: Clean pink-noise life support (180–1700 Hz) + filling the compact flight cockpit with comforting white-collar air. +- Moderate NX telemetry: Balanced, functional relay clicks and sensor sweeps + monitoring gravitational sheer and navigation hazards. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Compact Research Flight Pod | Tight, pressurized cabin acoustics (54 Hz base); low resonance factor (2.2); quiet professional work environment. | **[DOC]** | +| Sub-Light Ion Thrusters | Steady 46 bpm propulsion pulse (`pulseShape: 'nx'`); 68 Hz carrier frequency humming in crew stations. | **[OBS]** | +| Cockpit Environmental Air Loop | Regulated pink-noise airflow (180–1700 Hz); continuous, balanced ventilation cooling avionics. | **[OBS]** | + +*Covered by:* preset `ret-palomino` (`hull`: volume 0.6, `baseFreq: 54`, +`filterCutoff: 120`, `resonance: 2.2`, `noiseMix: 0.45`, `harmonicSpread: 1.02`; +`warp`: volume 0.5, `bpm: 46`, `carrierFreq: 68`, `filterCutoff: 170`, +`pulseShape: 'nx'`, `resonance: 2.8`, `swirlMix: 0.2`; `lifeSupport`: volume +0.6, `noiseType: 'pink'`, `highpassFreq: 180`, `lowpassFreq: 1700`, +`airflowModSpeed: 0.14`, `airflowModDepth: 0.1`; `telemetry.volume: 0.45`, +`density: 0.5`, `telemetry.era: 'nx'`). The balanced 54 Hz hull frequency and +pink-noise air handling convey an authentic, NASA-inspired exploratory pod. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| V.I.N.CENT Hover Servo Whirr | High-pitched electronic servo and gyroscopic whirr as the robot floats through the cabin. | `ExpandedSciFiAudioSynth.synthesizeRetroAstrogator` (Event: "Astrogator Sweep") | **[DOC]** | +| Docking Umbilical Latch Clamp | Mechanical clamp engaging the *Cygnus*’s decaying external docking gantry. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[DOC]** | +| Navigational Gravity Alarm | Electronic alert pulse warning the crew of catastrophic tidal gravitational pull. | `telemetry.synthesizeSensorSweep` (Soundboard: "Analog Glissando") | **[OBS]** | +| Cockpit Mainframe Keypad | Tactile mechanical key click logging deep-space telemetry coordinates. | `WhoniverseAudioSynth.synthesizeDematSwitch` (Soundboard: "Tape Reel Spool") | **[OBS]** | + +**Assessment:** `ret-palomino` is a pristine miniature. Its moderate 54 Hz tone +and pink noise air bed make it the perfect human-scale foil to the gargantuan *Cygnus*. + +--- + +### Discovery One: Habitation Centrifuge (2001: A Space Odyssey, 1968) + +**Production context [DOC]:** Directed by **Stanley Kubrick**, with sound +supervision by **Winston Ryder**. *2001* is widely considered the most influential +sound design in cinematic science fiction. Kubrick insisted on absolute acoustic +realism: zero sound in external space, long stretches of pure internal silence, +rhythmic astronaut breathing in spacesuits, and the hypnotic, smooth mechanical hum +of the ship's 38-foot rotating habitation centrifuge. + +**[DOC]** The *USSC Discovery One* is an interplanetary spacecraft bound for +Jupiter, commanded by mission pilots David Bowman and Frank Poole, with three +scientists in cryo-stasis, overseen by the HAL 9000 heuristic computer. The ship's +command sphere contains a massive rotating centrifuge spinning at 3 rpm to produce +artificial gravity equivalent to lunar weight (0.16 g). + +**[OBS]** The centrifuge interior soundscape is **hypnotic, clinical, and pristine**: +- Smooth centrifuge rotation drone: A clean, low-resonance 46 Hz hum (resonance 1.8) + reflecting the continuous, perfectly balanced mechanical spin of the living carousel. +- Barely audible propulsion: The nuclear pulse engines are far back along the + spinal truss; inside the centrifuge, the drive is a distant, gentle 30 bpm + whisper (`pulseShape: 'tng'`, 50 Hz carrier, volume 0.30). +- Sterile environmental circulation: Generous, soothing pink-noise air handling + (150–1500 Hz, volume 0.70) delivering filtered, dehumidified air to the jogging track. +- The HAL 9000 soft logic chime: HAL’s interface does not screech or blare; it + emits pure, gentle two-tone chimes (`synthesizeHalChime()`, 784 Hz down to 523 Hz) + reflecting his polite, conversational voice. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| 38-Foot Habitation Centrifuge | Hypnotic, perfectly balanced rotation hum (46 Hz base); minimal resonance (1.8); pure clinical serenity. | **[DOC]** | +| Distant Nuclear Drive (Centrifuge View) | Extremely quiet 30 bpm engine whisper (`pulseShape: 'tng'`); 50 Hz carrier tone; volume 0.30. | **[DOC]** | +| Clinical Oxygen Recirculation | Expansive, gentle pink-noise airflow (150–1500 Hz, volume 0.70); soothing environmental ventilation for long voyages. | **[DOC]** | + +*Covered by:* preset `ret-discovery-one` (`hull`: volume 0.65, `baseFreq: 46`, +`filterCutoff: 95`, `resonance: 1.8`, `noiseMix: 0.4`, `harmonicSpread: 1.01`; +`warp`: volume 0.3, `bpm: 30`, `carrierFreq: 50`, `filterCutoff: 110`, +`pulseShape: 'tng'`, `resonance: 2.0`, `swirlMix: 0.1`; `lifeSupport`: volume +0.7, `noiseType: 'pink'`, `highpassFreq: 150`, `lowpassFreq: 1500`, +`airflowModSpeed: 0.08`, `airflowModDepth: 0.14`; `telemetry.volume: 0.3`, +`density: 0.25`, `telemetry.era: 'tng'`). High life-support volume (0.70) +combined with low warp volume (0.30) and `synthesizeHalChime()` captures the +unforgettable, tranquil clinical majesty of Kubrick’s masterpiece. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| HAL 9000 Logic Confirmation Chime | Pure, polite two-tone sine chime (G5: 784 Hz to C5: 523 Hz) confirming computer diagnostic. | `ExpandedSciFiAudioSynth.synthesizeHalChime` (Soundboard: "HAL Logic Confirm") | **[DOC]** | +| Centrifuge Spin Acceleration | Gentle increase in rotation frequency as artificial gravity trims are adjusted. | `ExpandedSciFiAudioSynth.synthesizeRetroAstrogator` (Event: "Centrifuge Spin") | **[DOC]** | +| Cryo-Bed EKG Status Pip | Gentle, rhythmic physiological telemetry monitoring hibernating crew members. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Astrogator Beat") | **[DOC]** | +| EVA Pod Airlock Depressurization | Smooth, controlled release of air pressure prior to pod deployment into space. | `ExpandedSciFiAudioSynth.synthesizeAirHandlerThud` | **[OBS]** | + +**Assessment:** `ret-discovery-one` is a masterpiece of acoustic serenity. Its +gentle pink-noise life support and soft HAL chime evoke the vast, meditative +grandeur of interplanetary space. + +--- + +### Dark Star: Bomb Bay & Quarters (Dark Star, 1974) + +**Production context [DOC]:** Directed by **John Carpenter** and co-written by +**Dan O'Bannon** (who also starred and served as visual/sound supervisor), *Dark +Star* was produced on an ultra-low independent budget. Carpenter synthesized the +sound effects and score on early analog synthesizers, recording dripping pipes, +clicking switches, and dry fan hums to depict an exhausted crew on a twenty-year +mission. + +**[DOC]** The *Dark Star* is an aging scout vessel tasked with destroying +"unstable planets" that threaten future Earth colonization using sentient, +philosophical thermonuclear bombs. The ship is decrepit, peeling, and broken: the +bunkrooms are filthy, toilet paper is out of stock, and the primary computer is +exhausted. + +**[OBS]** The living quarters and bomb bay audio bed is **tired, glitchy, and worn**: +- Rattling commercial hull drone: A gritty 52 Hz hull vibration (filter cutoff + 115 Hz, noise mix 0.55) reflecting an unmaintained, twenty-year-old scout vessel. +- Struggling sub-light engines: Rhythmic 42 bpm engine pulse (`pulseShape: 'nx'`, + 64 Hz carrier) with unshielded motor noise. +- Sputtering brown-noise air handlers: Tired, clogged air filtration (160–1600 Hz) + chugging with irregular airflow modulation (0.15 depth). +- Glitchy thermonuclear bomb circuits: Dry, primitive TOS-style telemetry + representing the ticking, debating electronics of Thermonuclear Bomb #20. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Rundown Scout Quarters & Galley | Grimy, tired hull vibration (52 Hz base); loose ceiling panels; rattling coffee cups in uncleaned mess hall. | **[DOC]** | +| Unmaintained Scout Sub-Light Drive | Ragged 42 bpm propulsion pulse (`pulseShape: 'nx'`); 64 Hz carrier frequency humming in floorplates. | **[OBS]** | +| Clogged Brown-Noise Air Scrubbers | Tired, noisy ventilation (160–1600 Hz); high airflow fluctuation simulating worn blower bearings. | **[OBS]** | + +*Covered by:* preset `ret-dark-star` (`hull`: volume 0.7, `baseFreq: 52`, +`filterCutoff: 115`, `resonance: 2.6`, `noiseMix: 0.55`, `harmonicSpread: 1.03`; +`warp`: volume 0.55, `bpm: 42`, `carrierFreq: 64`, `filterCutoff: 160`, +`pulseShape: 'nx'`, `resonance: 3.0`, `swirlMix: 0.2`; `lifeSupport`: volume +0.65, `noiseType: 'brown'`, `highpassFreq: 160`, `lowpassFreq: 1600`, +`airflowModSpeed: 0.15`, `airflowModDepth: 0.15`; `telemetry.volume: 0.45`, +`density: 0.4`, `telemetry.era: 'tos'`). Brown noise life support and NX pulses +brilliantly capture the exhausted, counterculture isolation of Carpenter’s crew. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Thermonuclear Bomb #20 Logic Ping | Primitive electronic beep as Bomb 20 ponders Descartes' phenomenology of existence. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Astrogator Beat") | **[DOC]** | +| Bomb Bay Dropper Arm Squeak | Squeaking metal hinge releasing the bomb cradle into ventral drop position. | `ExpandedSciFiAudioSynth.synthesizeDockingClamp` | **[DOC]** | +| Analog Tape Computer Readout | Rapid relay chatter and flutter as the automated ship’s computer announces failure. | `WhoniverseAudioSynth.synthesizeDematSwitch` (Soundboard: "Tape Reel Spool") | **[OBS]** | +| Radiator Overheat Valve Hiss | High-pressure pneumatic whistle as the cooling system vents excess boiler heat. | `WhoniverseAudioSynth.synthesizeFastReturn` (Soundboard: "Magnetic Tape Latch") | **[OBS]** | + +**Assessment:** `ret-dark-star` is a comedic, gritty triumph. Its brown-noise +life support and ragged NX pulses faithfully reproduce the feeling of being +trapped for twenty years in a flying tin can. + +--- + +### Gunstar: Tactical Combat Cockpit (The Last Starfighter, 1984) + +**Production context [DOC]:** Directed by Nick Castle, *The Last Starfighter* +was a milestone in computer-generated imagery (CGI) and digital sound editing. +Sound design was supervised by **Gene Corso**, with digital electronic audio +effects engineered at Soundelux. The audio team designed the Gunstar soundscape to +feel like a high-tech, responsive arcade machine brought into military reality. + +**[DOC]** The *Gunstar* is a two-seat space superiority fighter built by the +Star League of Rylos to defend the Frontier against the Ko-Dan Armada. Flown by +a pilot and a navigator (Alex Rogan and Grig), it features twin high-thrust +reaction engines, twin dual-laser turrets, photon torpedoes, and the devastating +emergency superweapon: the Death Blossom. + +**[OBS]** The cockpit acoustic profile is **fast, aggressive, and electronic**: +- High-frequency fighter frame vibration: An agile, tense 72 Hz hull tone (filter + cutoff 165 Hz, resonance 3.4) capturing the kinetic energy of an unshielded + cockpit. +- Fast-cycling combat propulsion: Rapid 68 bpm propulsion pulses (`pulseShape: 'defiant'`, + 88 Hz carrier) delivering blistering multi-axis acceleration. +- High-pressure white-noise life support: Sharp white-noise airflow (220–2100 Hz) + pressurizing the canopy and cooling tactical displays during sustained dogfights. +- Rapid tactical targeting telemetry: Dense, playful Voyager-style electronic + pings (density 0.70) monitoring Ko-Dan fighters and weapon capacitor locks. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Two-Seat Combat Cockpit Shell | Tense, energetic fighter frame hum (72 Hz base); high resonance (3.4); crisp electronic arcade ambiance. | **[DOC]** | +| High-Rev Star League Thrusters | Rapid, aggressive 68 bpm combat pulse (`pulseShape: 'defiant'`); 88 Hz carrier frequency with 0.35 swirl mix. | **[DOC]** | +| Tactical Avionics Air Scrubbers | High-register white-noise airflow (220–2100 Hz); rapid airflow modulation (0.18 speed) cooling weapon banks. | **[OBS]** | + +*Covered by:* preset `ret-gunstar` (`hull`: volume 0.7, `baseFreq: 72`, +`filterCutoff: 165`, `resonance: 3.4`, `noiseMix: 0.45`, `harmonicSpread: 1.035`; +`warp`: volume 0.75, `bpm: 68`, `carrierFreq: 88`, `filterCutoff: 240`, +`pulseShape: 'defiant'`, `resonance: 4.2`, `swirlMix: 0.35`; `lifeSupport`: volume +0.5, `noiseType: 'white'`, `highpassFreq: 220`, `lowpassFreq: 2100`, +`airflowModSpeed: 0.18`, `airflowModDepth: 0.12`; `telemetry.volume: 0.6`, +`density: 0.7`, `telemetry.era: 'voyager'`). Fast 68 bpm Defiant warp pulses, +white noise life support, and high telemetry density (0.70) capture the thrilling, +high-score arcade intensity of Grig’s gunship. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Death Blossom Capacitor Spin-Up | Rising, multi-frequency capacitor scream as the ship spins wildly in all directions. | `ExpandedSciFiAudioSynth.synthesizeRetroAstrogator` (Event: "Astrogator Sweep") | **[DOC]** | +| Ko-Dan Target Acquisition Pip | High-speed electronic lock tone signaling a firing solution on a Ko-Dan mothership. | `telemetry.synthesizeSensorSweep` (Soundboard: "Analog Glissando") | **[DOC]** | +| Photon Torpedo Tube Charge | Heavy solenoid clunk and capacitor charge arming the forward torpedo launcher. | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Astrogator Beat") | **[OBS]** | +| Star League Thruster Burst | Sudden burst of high-frequency white noise accelerating out of the Frontier breach. | `WhoniverseAudioSynth.synthesizeFastReturn` (Soundboard: "Magnetic Tape Latch") | **[OBS]** | + +**Assessment:** `ret-gunstar` delivers phenomenal energy. Its 72 Hz base frequency, +68 bpm Defiant pulses, and rapid Voyager telemetry make it feel like a living, +breathing 1980s vector-graphics combat simulator. + +--- + +### The Searcher: 25th Century Flagship (Buck Rogers in the 25th Century, 1981) + +**Production context [DOC]:** Created by **Glen A. Larson**, Season 2 of *Buck +Rogers in the 25th Century* shifted from planetary defense on Earth to deep-space +exploration aboard the exploration vessel *The Searcher*. Sound design was +supervised by Academy Award-winning sound editor **Peter Berkos** (*The Hindenburg*), +blending 1970s television orchestral scoring with sleek, synthesizer-driven ship +ambiances. + +**[DOC]** *The Searcher* is an expansive deep-space exploration flagship +dispatched by Earth’s Directorate to seek out lost human colonies across the +galaxy. Commanded by Admiral Efram Asimov and carrying Buck Rogers, Wilma Deering, +and the robot Twiki, the vessel features large, carpeted command decks, crystalline +navigation holoscreens, and advanced computer systems. + +**[OBS]** The command deck soundscape is **smooth, stately, and polished**: +- Smooth 25th-century composite hull hum: A dignified 62 Hz base frequency (filter + cutoff 140 Hz) conveying a stable, luxurious exploration flagship. +- Dignified fusion drive purr: Harmonious 54 bpm engine pulses (`pulseShape: 'tng'`, + 78 Hz carrier) providing smooth, vibration-free interstellar transit. +- Regulated multi-deck climate control: Balanced pink-noise air handling + (210–2000 Hz) circulating smoothly through command rooms and crew quarters. +- Crisp Directorate computer tones: TNG-style musical telemetry (density 0.65) + representing advanced astrogation computers, sensor scans, and robot communications. + +#### Ambience bed + +| Element | Character | Confidence | +| --- | --- | --- | +| Directorate Flagship Command Deck | Polished, stately composite hull resonance (62 Hz base); smooth structural dampening; high-tech prestige. | **[DOC]** | +| Interstellar Exploration Fusion Drive | Harmonious 54 bpm engine pulse (`pulseShape: 'tng'`); 78 Hz carrier tone with 0.3 swirl mix. | **[OBS]** | +| Flagship Environmental Life Support | Regulated pink-noise ventilation (210–2000 Hz); balanced airflow servicing extensive multi-tier decks. | **[OBS]** | + +*Covered by:* preset `ret-searcher` (`hull`: volume 0.6, `baseFreq: 62`, +`filterCutoff: 140`, `resonance: 2.6`, `noiseMix: 0.38`, `harmonicSpread: 1.025`; +`warp`: volume 0.6, `bpm: 54`, `carrierFreq: 78`, `filterCutoff: 210`, +`pulseShape: 'tng'`, `resonance: 3.2`, `swirlMix: 0.3`; `lifeSupport`: volume +0.55, `noiseType: 'pink'`, `highpassFreq: 210`, `lowpassFreq: 2000`, +`airflowModSpeed: 0.14`, `airflowModDepth: 0.1`; `telemetry.volume: 0.55`, +`density: 0.65`, `telemetry.era: 'tng'`). TNG telemetry and pulse shapes give +*The Searcher* the regal, benevolent exploration atmosphere characteristic of +Glen A. Larson’s late-70s / early-80s space epics. + +#### Discrete sounds + +| Sound | Character | Existing element | Confidence | +| --- | --- | --- | --- | +| Long-Range Navigation Scan Sweep | Multi-tone rising frequency sweep searching the quadrant for lost human colonies. | `telemetry.synthesizeSensorSweep` (Soundboard: "Analog Glissando") | **[DOC]** | +| Twiki Electronic Logic Chirp | High-pitched electronic warble complementing the robot's vocal banter ("Biddi-biddi-biddi"). | `telemetry.synthesizeLCARSSingleChirp` (Soundboard: "Astrogator Beat") | **[DOC]** | +| Defense Shield Harmonic Lock | Resonant acoustic chime confirming forward deflector grid activation. | `ExpandedSciFiAudioSynth.synthesizeHalChime` (Soundboard: "HAL Logic Confirm") | **[OBS]** | +| Stargate Jump Transition | Ascending electronic pitch ramp as the ship transits hyperspace jump gates. | `WhoniverseAudioSynth.synthesizeFastReturn` (Soundboard: "Magnetic Tape Latch") | **[OBS]** | + +**Assessment:** `ret-searcher` captures the optimistic, orchestral polish of +early 1980s television space exploration. Its 62 Hz base tone and TNG telemetry +blend stately comfort with exploratory curiosity. + +--- + +## Design constraint: Analog laboratory vs. acoustic realism + +The Retro Future universe is governed by a unique historical design constraint: +the divide between **laboratory electronic sound synthesis** and **modern +acoustic realism**: + +``` ++-------------------------------------------------------------------------+ +| RETRO ELECTRONIC SYNTHESIS MATRIX | ++-------------------------------------------------------------------------+ +| | +| 1950s–1970s LABORATORY SYNTHESIS (Jupiter 2, Liberator, Dark Star) | +| - Sound generated with test audio oscillators, Theremins, and tape loops| +| - Pure sine and square waves; audible heterodyne vibratos (8 Hz) | +| - Physical mechanical relay drops and magnetic tape reel spooling | +| - Reverb created using physical metal plates and spring tanks | +| - Melodic, playful, and speculative frequency glissandi | +| | +| MEDITATIVE CLINICAL REALISM (Discovery One) | +| - Strict acoustic silence outside; hyper-pure clinical air inside | +| - Low-resonance rotating centrifuge hum (46 Hz base, 1.8 resonance) | +| - Gentle two-tone heuristic computer chimes (G5 to C5, 784/523 Hz) | +| - Deliberate, contemplative audio pacing (30 bpm pulse cadence) | +| | ++-------------------------------------------------------------------------+ +``` + +1. **Pure Laboratory Waveforms & Tape Mechanics:** In 1960s and 1970s television + productions (such as *Lost in Space* and *Blake's 7*), sound designers lacked + digital workstations. Sounds were generated using laboratory audio equipment: + heterodyne oscillators, ring modulators, and tape recorders. These sounds have + clear, distinct harmonic structures: pure sine sweeps, crisp square-wave clicks, + and physical tape flutter. +2. **Clinical Purity & Centrifugal Restraint:** In *2001: A Space Odyssey*, + Stanley Kubrick and Winston Ryder demonstrated that science fiction could be + acoustically subtle and dignified. Instead of buzzing lasers and whining gears, + *Discovery One* relies on the smooth, perfectly balanced mechanical spin of its + centrifuge, filtered pink noise, and soft logic chimes. + +This historical evolution explains why `retrofuture` presets span from bubbly +test-oscillator warbles (*Jupiter 2*) to solemn, clinical serenity (*Discovery One*). + +--- + +## Soundboard relabeling (Retro Future) + +In `js/config.js`, the `retrofuture` universe overrides the soundboard and event +buttons to match the electronic oscillators and vintage computers of the Golden Age: + +| Button ID | Generic action / sound | Retro Future label | Runtime trigger method | Acoustic output | +| --- | --- | --- | --- | --- | +| `btn-hal-chime` | Soft logic confirmation | **HAL LOGIC CONFIRM** | `expandedAudio.synthesizeHalChime` | Pure two-tone sine chime (784 Hz followed by 523 Hz) with gentle exponential decay. | +| `btn-relay-click` | Demat switch | **TAPE REEL SPOOL** | `whoniverseAudio.synthesizeDematSwitch` | Square-wave solenoid drop (850 to 140 Hz over 60ms) simulating tape head engage. | +| `btn-chirp-single` | Single telemetry chirp | **ASTROGATOR BEAT** | `telemetry.synthesizeLCARSSingleChirp` | Clean, high-register electronic pip signaling indicator pulse. | +| `btn-chirp-sweep` | Sensor sweep up | **ANALOG GLISSANDO** | `telemetry.synthesizeSensorSweep` | Multi-frequency rising electronic sweep simulating audio test oscillator. | +| `btn-fast-return` | Fast-return spring lever | **MAGNETIC TAPE LATCH** | `whoniverseAudio.synthesizeFastReturn` | Spring recoil clack and resonant mechanical ring on vintage tape deck. | + +### Event buttons (Retro Future) + +| Event Button ID | Trigger label | Event handler / method | Acoustic output | +| --- | --- | --- | --- | +| `btn-centrifuge` | **CENTRIFUGE SPIN** | `expandedAudio.synthesizeRetroAstrogator` | Continuous sliding sine tone (440 to 1180 to 320 to 660 Hz) modulated with 8 Hz vibrato. | +| `btn-astrogator` | **ASTROGATOR SWEEP** | `expandedAudio.synthesizeRetroAstrogator` | Classic Theremin-style electronic frequency glissando over 1.6s. | +| `btn-hal-override` | **HAL 9000 OVERRIDE** | `expandedAudio.synthesizeHalChime` | Pure two-tone logic confirmation chime acknowledging mission override. | + +--- + +## Element retention map (Retro Future) + +Every preset in the `retrofuture` universe uses existing synthesizer classes in +`js/audio.js` without requiring runtime modifications: + +| Preset ID | Hull Drone | Warp Core | Life Support | Telemetry | Special Events / Soundboard | +| --- | --- | --- | --- | --- | --- | +| `ret-jupiter-2` | 68 Hz, 160 Hz lp, 0.35 noise | 52 bpm, 96 Hz, `tos` | Pink noise, 240–2200 Hz | `tos` (volume 0.65, density 0.75) | Analog Glissando (`synthesizeRetroAstrogator`), Astrogator Beat | +| `ret-liberator` | 60 Hz, 135 Hz lp, 0.40 noise | 48 bpm, 82 Hz, `tos` | Pink noise, 200–2000 Hz | `tos` (volume 0.55, density 0.60) | HAL Logic Confirm (`synthesizeHalChime`), Astrogator Sweep | +| `ret-cygnus` | 38 Hz, 90 Hz lp, 0.60 noise | 36 bpm, 52 Hz, `nx` | Brown noise, 120–1300 Hz | `nx` (volume 0.35, density 0.35) | Tape Reel Spool (`synthesizeDematSwitch`), Singularity Pulse | +| `ret-palomino` | 54 Hz, 120 Hz lp, 0.45 noise | 46 bpm, 68 Hz, `nx` | Pink noise, 180–1700 Hz | `nx` (volume 0.45, density 0.50) | Tape Reel Spool, Astrogator Beat | +| `ret-discovery-one` | 46 Hz, 95 Hz lp, 0.40 noise | 30 bpm, 50 Hz, `tng` | Pink noise, 150–1500 Hz | `tng` (volume 0.30, density 0.25) | HAL Logic Confirm, Centrifuge Spin (`synthesizeRetroAstrogator`) | +| `ret-dark-star` | 52 Hz, 115 Hz lp, 0.55 noise | 42 bpm, 64 Hz, `nx` | Brown noise, 160–1600 Hz | `tos` (volume 0.45, density 0.40) | Astrogator Beat, Magnetic Tape Latch | +| `ret-gunstar` | 72 Hz, 165 Hz lp, 0.45 noise | 68 bpm, 88 Hz, `defiant` | White noise, 220–2100 Hz | `voyager` (volume 0.60, density 0.70) | Analog Glissando, Death Blossom Sweep | +| `ret-searcher` | 62 Hz, 140 Hz lp, 0.38 noise | 54 bpm, 78 Hz, `tng` | Pink noise, 210–2000 Hz | `tng` (volume 0.55, density 0.65) | Astrogator Beat, HAL Logic Confirm | + +--- + +## Missing elements / gap list (Retro Future) + +These are authentic vintage sound elements documented in historical production +that are currently simulated by existing approximations: + +| Priority | Element | Source ship | Description | Implementation path | +| --- | --- | --- | --- | --- | +| 1 | **Dual-Reel Magnetic Tape Spooler & Pinch Roller Clank** | Jupiter 2 / Discovery One | Mechanical pinch roller solenoid snap followed by rhythmic 15 ips magnetic tape flutter and capstan motor whirr. | High: Combine short square impulse with fluttering pink noise. | +| 2 | **Continuous Heterodyne / Theremin Navigational Drone** | Jupiter 2 | Continuous, gentle dual-sine wave heterodyning producing a subtle 8 Hz beat frequency in the background room tone. | High: Add secondary detuned sine oscillator to hull synth. | +| 3 | **HAL 9000 Breathing / Vocal Carrier Ambient Loop** | Discovery One | Very soft, measured human respiration sound echoing inside space helmet or life support loop. | Medium: Rhythmic bandpass pink noise with 3-second cycle. | +| 4 | **Death Blossom Energy Surge Capacitor Ramp** | Gunstar | Exponentially accelerating multi-oscillator pitch ramp from 200 Hz to 8000 Hz over 2.5 seconds. | Medium: Add cascaded saw oscillators with exponential frequency ramp. | +| 5 | **Victorian Steam Piston Chug & Iron Camshaft Clatter** | USS Cygnus | Heavy mechanical piston stroke with low-frequency steam exhaust chug echoing off cast-iron bulkheads. | Medium: Lowpass noise burst with rhythmic triangle body. | + +--- + +## Retro Future open questions + +- **[GAP]** The exact electronic audio generators and tape echo units used by + Jack Kittler and 20th Century Fox for the Jupiter 2 Astrogator sound. +- **[GAP]** The specific synthesizer patches authored by Elizabeth Parker on + the EMS Synthi 100 for Zen’s vocal visualizer and bridge ambiance in *Blake's 7*. +- **[GAP]** The exact hydroelectric turbine and industrial plant recordings made + by Stephen Katz for the *USS Cygnus* engine hall in *The Black Hole*. + +### Where to verify (Retro Future) + +- **BBC Radiophonic Workshop Archive / British Library Sound Archive**: + Documentation on Elizabeth Parker, Richard Yeoman-Clark, and Malcolm Clarke's + synthesizer setups for *Blake's 7*. +- **Stanley Kubrick Archive (University of the Arts London)**: Production sound + logs, correspondence, and sound effect reels for Winston Ryder on *2001: A Space + Odyssey*. +- **Walt Disney Studio Archives / Margaret Herrick Library**: Production sound + records for Stephen Katz on *The Black Hole*. +- **20th Century Fox Sound Department Archives**: Historical sound effects + libraries for Irwin Allen’s *Lost in Space*. +- **Universal Studios Sound Archives**: Production sound notes for Peter Berkos + on *Buck Rogers in the 25th Century*. + + + + + + +