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
This commit is contained in:
Claude
2026-09-04 08:32:36 -07:00
parent 19ff051d58
commit f2776885c9
8 changed files with 5760 additions and 264 deletions
+3
View File
@@ -0,0 +1,3 @@
.abacusai/
artifacts/
phase2_audition_*.html
+176
View File
@@ -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. **LowMedium** (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. **MediumHigh** (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()`.<br>• **Soundboard:** Starfleet keypad (`btn-comm-badge`).<br>• **Ambient Loop:** Scheduled randomly in background Starfleet bridge telemetry during `tng`/`voyager` playback (810% 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)`.<br>• **Soundboard:** Starfleet keypad (`btn-door-swish`).<br>• **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()`.<br>• **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()`.<br>• **Soundboard:** Starfleet keypad (`btn-medical-monitor`).<br>• **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()`.<br>• **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`).<br>• **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()`.<br>• **Soundboard:** Station ops (`btn-sevas-spark`).<br>• **Ambient Loop:** Automatic background discharge routine (`startStationSparks`) firing randomized highpass spark clusters every 411 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()`.<br>• **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()`.<br>• **Soundboard:** Station ops (`btn-station-ecg`).<br>• **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()`.<br>• **Soundboard:** Void console (`btn-solar-roar`).<br>• **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()`.<br>• **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()`.<br>• **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()`.<br>• **Soundboard:** Cheerful keypad (`btn-tea-machine`). 6 bandpass bubbling noise hops (480960 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()`.<br>• **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()`.<br>• **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()`.<br>• **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()`.<br>• **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()`.<br>• **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()`.<br>• **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 | **LowMedium** | **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()`.<br>• **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 | **LowMedium** | **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 25008000 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 (350850 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 (824 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 8002400 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 (48 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 (12004500 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 (14002600 Hz, 1025 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 (8002800 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 (4501100 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 (3003000 Hz) simulating crowd presence. | Low | **MediumHigh** | 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 | **MediumHigh** | 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 48 staggered noise transients (1030 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 (3060 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<br>18 Discrete Elements<br>Difficulty: Low & Low-Medium"] --> P2["Phase 2: Core Enhancements<br>25 Synthesizers & Loops<br>Difficulty: Medium"]
P2 --> P3["Phase 3: Major Architectural Additions<br>11 Complex Systems & Telemetry Eras<br>Difficulty: Medium-High & High"]
```
### Phase 1: Quick Wins (Low & LowMedium Difficulty) — **[COMPLETED]**
- **Target Count**: 20 elements (18 Low + 2 LowMedium) — **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 (810% 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`), 260540 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`), 220680 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 (411s 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 (MediumHigh & 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 (2045 ms), square wave click transients (60120 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 (3090 Hz), bandpass-filtered wet fluid impulses (5001400 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 (4001800 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. |
+56
View File
@@ -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;
+1 -1
View File
@@ -78,7 +78,7 @@
<!-- Master Transport & Actions -->
<div class="transport-bar">
<button class="btn-lcars-large" id="btn-master-play">
<span id="play-icon"></span> <span id="play-text">ENGAGE AMBIENCE</span>
<span id="play-icon"></span> <span id="play-text">ENGAGE</span>
</button>
<div class="pill-button-group" id="universe-events-container">
+176 -35
View File
@@ -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');
});
+1494 -19
View File
File diff suppressed because it is too large Load Diff
+166 -45
View File
@@ -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
+3688 -164
View File
File diff suppressed because it is too large Load Diff