Apply the ship/vessel and terminology rename mappings throughout the live app (index.html, css/style.css, js/*.js) and reference docs, per Ship_IP_Changes.md and Theme_Terminology_IP_Changes.md, including: - Ship/theme names and generic terminology (Starfleet, LCARS, Warp Core, TARDIS, etc.) in both code strings and visible UI text, while leaving internal code identifiers (theme keys, CSS classes, preset IDs) untouched. - Made "Species 8675309" canonical and fixed the dotted T.A.R.D.I.X. acronym on the Whataverse theme. - Replaced the per-preset era/pulseShape franchise tag in the preset list with the existing safe universe category name, since those codes are also used functionally by the audio and observation engines and weren't covered by either mapping document. Also rewrite README.md to lead with end-user ambience usage (how to run it, universe/vessel overview, mixer channels, sleep timer, observation mode, hotkeys) with the developer/build notes moved into a collapsed section. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Jt872nc9Fi2WMaJhAKGyDq
392 lines
24 KiB
Markdown
392 lines
24 KiB
Markdown
# Telemetry Audio Elements
|
||
|
||
Catalog of the discrete telemetry sounds the application produces. All of them
|
||
live in `TelemetrySynth` (`js/audio.js`, ~line 715) and are **synthesized at
|
||
runtime** from Web Audio oscillators, envelopes and filters — there are no
|
||
samples anywhere in this project.
|
||
|
||
Telemetry is the "computer chatter" layer: short, non-musical-foreground blips
|
||
that sit on top of the continuous hull / warp / life-support beds. It is the
|
||
only audio layer with a **density** parameter, because it fires as discrete
|
||
events rather than running continuously.
|
||
|
||
---
|
||
|
||
## Element catalog
|
||
|
||
| Element | Method | Description | Where used |
|
||
| --- | --- | --- | --- |
|
||
| **LCARD Single Chirp** | `synthesizeLCARDSingleChirp(pitch?)` | Soft sine touch tone, ~90 ms, gentle 8 ms attack into exponential decay, with a subtle 2% downward pitch glide and a 3.2 kHz lowpass to kill the click. Accepts an optional pitch, which makes it the building block for the other LCARD elements. | TNG auto-scheduler (45%), DS9 (50%), soundboard `btn-chirp-single` / `btn-switch-pop`, preset-change confirmation while playing, **default fallback** for any unmapped soundboard or event id |
|
||
| **LCARD Double Chirp** | `synthesizeLCARDDoubleChirp()` | Two single chirps 65 ms apart, second pitch two steps up the LCARD scale (minor third / fourth). The iconic "acknowledged" tone. | TNG auto-scheduler (30%), Wayfarer (60%), soundboard `btn-chirp-double`, **engage/play confirmation** for non-Whataverse, non-bioship universes |
|
||
| **LCARD Acknowledgment Sequence** | `synthesizeLCARDSequence()` | Three chirps at 75 ms spacing drawn from overlapping windows of the LCARD scale — reads as a short data-accept run rather than a single button press. | TNG auto-scheduler (15%), soundboard `btn-chirp-ack` |
|
||
| **Sensor Sweep** | `synthesizeSensorSweep()` | 380 ms sine glide from 1200–2000 Hz, ramping either up ×1.6 or down ×0.65 at random. Longer and more "scanning" than the chirps. | TNG auto-scheduler (10%), Wayfarer (40%), soundboard `btn-chirp-sweep`, layered under `btn-scanner` |
|
||
| **TOS Computer Warble** | `synthesizeTOSWarble()` | 450 ms of detuned triangle + sawtooth (fundamental and its fifth) under a 14–22 Hz vibrato LFO, through a Q=3.5 bandpass at 1.2× the fundamental. Vintage 1960s analog computer voice. | TOS auto-scheduler (60%) |
|
||
| **TOS Relay Click** | `synthesizeTOSRelayClick()` | 25 ms square wave falling 1400 → 300 Hz. A mechanical solenoid snap, not a tone. | TOS auto-scheduler (40%) |
|
||
| **Cardassian Sensor Tone** | `synthesizeCardassianSensor()` | 550 ms pair of sines a tritone apart (×1.414) for deliberate metallic dissonance, base 420–620 Hz. Cavernous, alien, unresolved. | DS9 auto-scheduler (50%) |
|
||
| **NX Hydraulic Relay** | `synthesizeNXRelay()` | 40 ms triangle falling 750 → 120 Hz. Heavier and duller than the TOS click — 22nd-century industrial rather than mid-century electrical. | NX auto-scheduler (50%) |
|
||
| **NX Indicator Beep** | `synthesizeNXIndicatorBeep()` | 80 ms 950 Hz sine with a flat sustain plateau and a fast tail. Plain and utilitarian; no glide, no scale membership. | NX auto-scheduler (50%) |
|
||
| **TNG Door Chime** | `synthesizeDoorChime()` | Two overlapping sines, A5 (880 Hz) then D6 (1174.66 Hz) at +160 ms, each with a long 450–700 ms decay. The "come in" chime. | Soundboard `btn-chirp-door` only — **never** fired by the auto-scheduler |
|
||
|
||
The table above is the original five-era Starflight vocabulary. Phase 3 added
|
||
three more eras — `who`, `bioship`, `beltworker` — but they don't fit this table's
|
||
shape: each fires a **multi-event generator** (a whole 0.25–1.4 s phrase of
|
||
staggered transients per tick) rather than picking one discrete element. They
|
||
are catalogued in [Phase 3 telemetry eras](#phase-3-telemetry-eras) below.
|
||
|
||
---
|
||
|
||
## The auto-scheduler
|
||
|
||
`startAutoTelemetryScheduler()` self-reschedules after every sound:
|
||
|
||
```
|
||
baseDelay = 12000 * (1.05 - density) // ms
|
||
interval = max(800, baseDelay + random(0..4000))
|
||
```
|
||
|
||
- `density` 0 → scheduler does not arm at all (`<= 0.01` returns early).
|
||
- `density` 1 → ~0.6 s base + jitter, floored at 800 ms — a busy bridge.
|
||
- Mid values land in the 2–12 s range the parameter comment describes.
|
||
- Density comes from the active preset's `telemetry.density` and is also live
|
||
on the `slider-telemetry-density` UI control.
|
||
|
||
### Era routing
|
||
|
||
`playRandomTelemetrySound()` picks an element by `params.era`. Each era draws
|
||
from **exactly two or four** elements — this is the table to extend when adding
|
||
an era or a new element.
|
||
|
||
| Era | Elements and weights |
|
||
| --- | --- |
|
||
| `tng` (also the default) | Single Chirp 45% · Double Chirp 30% · Acknowledgment Sequence 15% · Sensor Sweep 10% |
|
||
| `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| `tos` | Computer Warble 60% · Relay Click 40% |
|
||
| `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| `nx` | Hydraulic Relay 50% · Indicator Beep 50% |
|
||
| `who` (Phase 3) | Dedicated mechanical-telemetry generator — see [Phase 3 telemetry eras](#phase-3-telemetry-eras) |
|
||
| `bioship` (Phase 3) | Dedicated organic-telemetry generator — see [Phase 3 telemetry eras](#phase-3-telemetry-eras) |
|
||
| `beltworker` (Phase 3) | Dedicated jury-rigged-telemetry generator — see [Phase 3 telemetry eras](#phase-3-telemetry-eras) |
|
||
|
||
Note the era is a **telemetry** property, not a universe property: it is set
|
||
per preset in `js/config.js` (`telemetry.era`) and is independent of the
|
||
universe that governs the visuals. Originally every preset in every universe
|
||
used one of the five Trek eras, so non-Trek themes played Trek telemetry.
|
||
Phase 3 gave three universes their own dedicated eras instead (Whataverse →
|
||
`who`, Bioships → `bioship`, and Ceres/Tycho/Rocinante → `beltworker`) — the
|
||
remaining universes still borrow Trek telemetry. See
|
||
[Preset → telemetry era reference](#preset--telemetry-era-reference) for the
|
||
full, corrected per-preset mapping.
|
||
|
||
---
|
||
|
||
## The activity event contract
|
||
|
||
Every scheduled telemetry sound dispatches a window event **after** it plays:
|
||
|
||
```js
|
||
window.dispatchEvent(new CustomEvent('scifi-telemetry-activity', {
|
||
detail: { era, density, firedAt }
|
||
}));
|
||
```
|
||
|
||
`js/app.js` listens for this and calls `triggerObservationActivity('telemetry')`,
|
||
which is what synchronizes observation-mode transient visuals to the audio.
|
||
The visual side deliberately treats the pulse as **abstract activity** — no
|
||
specific beep means a specific thing on screen. The observation activity slider
|
||
then gates whether a given pulse becomes visible:
|
||
|
||
```
|
||
responseChance = 0.18 + activity * 0.82
|
||
```
|
||
|
||
Important: only `playRandomTelemetrySound()` dispatches the event. Elements
|
||
triggered directly (soundboard, play/stop, preset change) are silent as far as
|
||
the visual layer is concerned. If a new element should drive visuals, it must
|
||
either be reachable through the era router or dispatch the event itself.
|
||
|
||
---
|
||
|
||
## Pitch material
|
||
|
||
Two fixed scales are the source of all pitched telemetry. Reuse them rather
|
||
than inventing loose frequencies — they are what makes the layer sound coherent.
|
||
|
||
- **`lcardPitches`** — 12 entries, 880 Hz → 2637 Hz, a pentatonic-flavored set
|
||
built on perfect fourths and fifths. Used by every LCARD element.
|
||
- **`tosFrequencies`** — 9 entries, 440 Hz → 2217 Hz, wider and more angular,
|
||
matching the era's less "designed" sound.
|
||
|
||
Unpitched elements (relay clicks, sweeps, the Cardassian tone) generate their
|
||
own frequencies and intentionally sit outside both scales. The three Phase 3
|
||
eras below are unpitched entirely — none of them touch `lcardPitches` or
|
||
`tosFrequencies`, on purpose: they are meant to sound like mechanisms, not
|
||
computers.
|
||
|
||
---
|
||
|
||
## Phase 3 telemetry eras
|
||
|
||
Added under audio_gaps.md Phase 3 to give three universes a telemetry
|
||
vocabulary of their own instead of borrowed Trek chirps. Each is a private
|
||
method (trailing underscore, by convention for the multi-event generators
|
||
added in this phase) invoked once per scheduler tick from the same
|
||
`playRandomTelemetrySound()` switch as the five Trek eras — but where a Trek
|
||
era picks **one** discrete element, each Phase 3 era fires a **whole phrase**
|
||
of several staggered transients scheduled on absolute `ctx` time in a single
|
||
call.
|
||
|
||
| Era | Method (TelemetrySynth) | Universe(s) | Acoustic output |
|
||
| --- | --- | --- | --- |
|
||
| `who` | `synthesizeWhoMechanicalTelemetry_()` | Whataverse (all 7 `tardix-*` presets) | 2–5 transients per tick, drawn at random from: dual-filtered toggle snaps (20–45 ms noise pulses through paired bandpass filters), 60–120 Hz spring-lever square clicks collapsing in pitch, and damped sine rotary-selector clunks. No electronic beeps. |
|
||
| `bioship` | `synthesizeBioshipOrganicTelemetry_()` | Bioships (all 6 `bio-*` presets) | 2–4 events per phrase: asymmetric 30–90 Hz vascular-surge sine thumps (sometimes with a lub-dub echo beat), high-Q bandpass chitin-snap noise ticks, bandpass-filtered wet bioplasmic fluid pops, and AM-stepped membrane-flutter noise between 300–700 Hz. |
|
||
| `beltworker` | `synthesizeBeltworkerJuryRiggedTelemetry_()` | `sta-tycho`, `sta-ceres` (Space Stations) and `ind-rocinante` (Industrial) | 3–6 events per volley: jittered square relay pulses with randomized micro-dropouts, contact-bounce double/triple clicks, metallic bandpass ticks, and unstable "dying oscillator" clock pings — plus an occasional late catch-up sub-volley mimicking a station clock that skips then recovers. |
|
||
|
||
These three eras are documented in full, with source-material context, in
|
||
[`sound_reference.md`](sound_reference.md) under each universe's "Phase 3
|
||
additions" section.
|
||
|
||
---
|
||
|
||
## Signal-chain conventions
|
||
|
||
Every element follows the same shape. Match it when adding one:
|
||
|
||
1. Bail out early on `!ctx || !this.gainNode`.
|
||
2. Capture `const now = ctx.currentTime` once and schedule everything relative
|
||
to it — never use `setTimeout` for sample-accurate timing (it is used only
|
||
for the deliberate multi-note spacing in the double chirp and sequence).
|
||
3. Build oscillator → per-voice envelope gain → optional filter → `this.gainNode`.
|
||
4. Envelopes start at `0.001`, `linearRampToValueAtTime` up, then
|
||
`exponentialRampToValueAtTime` down to `~0.0001`. Never ramp exponentially
|
||
to or from exactly zero.
|
||
5. Peak envelope gain stays in the **0.18–0.35** band so no element dominates
|
||
the bed. Clicks sit at the top of that range because they are so short.
|
||
6. Explicitly `stop()` every node at the end of its life. Nothing here loops.
|
||
|
||
`this.gainNode` carries the layer volume and connects to `am.compressor`, so
|
||
individual elements should never touch master volume or the destination.
|
||
|
||
---
|
||
|
||
## Related but not telemetry
|
||
|
||
Short event sounds for non-Starflight universes live in sibling classes and are
|
||
routed by `handleSoundboardTrigger()` in `js/app.js`. Check these before adding
|
||
a new telemetry element — the sound you want may already exist:
|
||
|
||
- **`WhataverseAudioSynth`** — acoustic screwdriver, fast return, demat switch,
|
||
telepathic chime, cloister strike.
|
||
- **`ExpandedSciFiAudioSynth`** — DRADAR ping, HAL chime, Geiger burst, docking
|
||
clamp, improbability flip, cheerful door, and the various drive effects.
|
||
- **`AlertSynth`** — red/yellow alert cycles and the warp jump swell. Alerts are
|
||
a separate layer with its own trigger path, not telemetry. **They are not
|
||
purely user-triggered:** in Observation Mode the cinematic director's Hull
|
||
Breach sequence calls `alerts.triggerRedAlert('tng')` on its own, roughly
|
||
6.5 s before restoring the previous state. It is in the sequence pool for the
|
||
`military`, `outlaw` and `industrial` universes and fires on a random timer
|
||
(45–75 s for the first sequence, 90–180 s between later ones). This is the
|
||
only non-telemetry sound in the app that can start without user action.
|
||
|
||
Preset changes and play/stop pick between these three families by
|
||
`activeUniverseId` — see `js/app.js` around lines 305–365.
|
||
|
||
---
|
||
|
||
## Adding or reusing an element
|
||
|
||
Reuse an existing element when the need is **generic UI feedback** — the Single
|
||
Chirp and Double Chirp are explicitly the neutral confirm/acknowledge sounds and
|
||
are already the fallbacks for unmapped ids. Reaching for them costs nothing.
|
||
|
||
Invent a new element when the sound must carry **era or universe identity** that
|
||
no existing element has. In that case:
|
||
|
||
1. Add the method to `TelemetrySynth` following the signal-chain conventions.
|
||
2. Give it a doc comment naming the era and the physical thing it imitates —
|
||
every existing element has one.
|
||
3. Wire it into the `playRandomTelemetrySound()` era switch with an explicit
|
||
probability, or leave it manual-only (like the Door Chime) if it is too
|
||
characterful to fire unattended.
|
||
4. If it is manual-only, add a soundboard case in `handleSoundboardTrigger()`
|
||
and a button in `index.html`.
|
||
5. Reuse `lcardPitches` / `tosFrequencies` if the element is pitched and belongs
|
||
to those eras.
|
||
6. Keep the duration under ~600 ms. This is an ambient layer; anything longer
|
||
reads as a foreground event and belongs in `AlertSynth` instead.
|
||
|
||
---
|
||
|
||
## Preset → telemetry era reference
|
||
|
||
`telemetry.era` is assigned **per preset**, and it is the only thing that
|
||
decides which elements the auto-scheduler fires. It is *not* derived from the
|
||
universe. Originally all 70 presets across all 10 universes used one of the
|
||
five Star Trek eras, so non-Trek universes played Trek telemetry: a
|
||
retrofuture profile could chatter in TOS warbles, and a living-ship profile
|
||
could ring with the Cardassian sensor tone. Phase 3 broke that pattern for
|
||
three universes — see [Phase 3 telemetry eras](#phase-3-telemetry-eras) above —
|
||
so Whataverse, Bioships, and three `beltworker` presets (Tycho, Ceres, Rocinante)
|
||
now have their own vocabulary instead. Everything else below still borrows
|
||
Trek telemetry; if you hear a sound that seems foreign to the theme you are
|
||
on, this table is where to look it up.
|
||
|
||
| Era | Elements fired |
|
||
| --- | --- |
|
||
| `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| `who` | `who`-era mechanical telemetry (see above) |
|
||
| `bioship` | `bioship`-era organic telemetry (see above) |
|
||
| `beltworker` | `beltworker`-era jury-rigged telemetry (see above) |
|
||
|
||
### Starflight Command (10 presets — ds9 ×2 · nx ×1 · tng ×3 · tos ×2 · wayfarer ×2)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| Interprise-G: Main Bridge | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| Interprise-G: Main Engineering | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| Interprise-G: Crew Quarters | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| USS Wayfarer: Bridge | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| USS Wayfarer: Class-N Worp Core | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| USS Defiance: Tactical Bridge | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| Deep Space 8: Ops Center | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| Interprise NCC-1701.5: Bridge (TOS) | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| Interprise NCC-1701.5: Engineering (TOS) | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| Interprise NS-01: Command Bridge | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
|
||
### The Whataverse (7 presets — who ×7, all Phase 3)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| 1962 Classic Console (1st / 2nd Doctors) | `who` | `who`-era mechanical telemetry (2–5 transients/tick) |
|
||
| Edwardian Secondary Console (4th Doctor) | `who` | `who`-era mechanical telemetry (2–5 transients/tick) |
|
||
| The Coral Living TARDIX (9th / 10th Doctors) | `who` | `who`-era mechanical telemetry (2–5 transients/tick) |
|
||
| The Bronze Workshop (11th Doctor) | `who` | `who`-era mechanical telemetry (2–5 transients/tick) |
|
||
| The Cool Machine (12th Doctor) | `who` | `who`-era mechanical telemetry (2–5 transients/tick) |
|
||
| The Humming Crystal Console (13th Doctor) | `who` | `who`-era mechanical telemetry (2–5 transients/tick) |
|
||
| The Endless White (14th / 15th Doctors) | `who` | `who`-era mechanical telemetry (2–5 transients/tick) |
|
||
|
||
### Industrial (8 presets — beltworker ×1 · ds9 ×1 · nx ×3 · tos ×3, 1 Phase 3)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| USCSS Nostramo: Ore Refinery Bridge | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| Serenety: Firewing-Class Cargo Hold | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| Red Dwarve: Main Drive Corridor | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| Starbug Z: Cockpit Environment | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| The Rasa: Dark Matter Bridge | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| Rocinanta: Combat Ops & Epsilon Drive | `beltworker` | `beltworker`-era jury-rigged telemetry (3–6 events/volley) |
|
||
| Hawk Translocator: Command Module | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| Valley Foundry: Agro-Dome Forest Hub | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
|
||
### Bioships (6 presets — bioship ×6, all Phase 3)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| Meya: Leviathon Central Nexus | `bioship` | `bioship`-era organic telemetry (2–4 events/phrase) |
|
||
| Talym: Gunship Neural Bridge | `bioship` | `bioship`-era organic telemetry (2–4 events/phrase) |
|
||
| The Lexxi: Primary Organ Bridge | `bioship` | `bioship`-era organic telemetry (2–4 events/phrase) |
|
||
| Vorlan Cruiser: Sentient Core | `bioship` | `bioship`-era organic telemetry (2–4 events/phrase) |
|
||
| Wraithe Hive Ship: Throne Chamber | `bioship` | `bioship`-era organic telemetry (2–4 events/phrase) |
|
||
| Species 8675309: Fluid Bioship | `bioship` | `bioship`-era organic telemetry (2–4 events/phrase) |
|
||
|
||
### Retrofuture (8 presets — nx ×2 · tng ×2 · tos ×3 · wayfarer ×1)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| Jupiter Duece: Upper Deck Astrogator | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| The Liberation: Zen Flight Bridge | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| USS Cygnis: Victorian Engine Hall | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| USS Palomina: Deep Research Pod | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| Discovery Zero: Habitation Centrifuge | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| Dim Star: Bomb Bay & Quarters | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| Gunstarr: Tactical Combat Cockpit | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| The Seeker: 25th Century Flagship | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
|
||
### Military (7 presets — ds9 ×3 · nx ×1 · tng ×1 · wayfarer ×2)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| USS Solaco: Conestega Hangar Deck | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| Battlestar Galactica: Combat Information Center (CIC) | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| Pale Star: Minbara/Vorlan Hybrid Bridge | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| EAS Agamemnon II: Omega Destroyer Bridge | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| Andromeda Ascending: Command Deck | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| Excaliber: Triumph-Class Heavy Combat Core | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| Colonial Adder Mk II: Cockpit Atmosphere | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
|
||
### Deep Space (7 presets — ds9 ×2 · nx ×2 · tng ×2 · wayfarer ×1)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| The Avalin: Interstellar Cruise Concourse | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| The Nightflier: Telepathic Corridor | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| USS Ascention: Generation Ship Promenade | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| Ark Zero: Evacuation Ark Bridge | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| Icarus I: Solar Shield Core | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| Event Boundary: Gravity Singularity Core | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| Lewis & Clarke: Rescue Cutter Bridge | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
|
||
### Outlaw (6 presets — ds9 ×1 · nx ×1 · tos ×2 · wayfarer ×2)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| The Betsy: Salvage Freighter Mess | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| BeBoppa: Living Quarters & Hangar | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| Outlaw Sun: Grapple Bridge | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| Scorpius: Wanderer Salvage Vessel | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| The Raider: Havoc Shuttle Bridge | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| The Milan: M-Ship Cockpit Lounge | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
|
||
### Space Stations (6 presets — beltworker ×2 · ds9 ×1 · nx ×1 · tng ×1 · tos ×1, 2 Phase 3)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| Babylon 4: Core Control & Zocolo | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
|
||
| Moonbase Beta: Main Mission Control | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
| Sebastopol Station: Habitation Deck | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| Tyco Station: Asteroid Construction Bay | `beltworker` | `beltworker`-era jury-rigged telemetry (3–6 events/volley) |
|
||
| Ceres Minor Station: Sub-Crustal Tunnels | `beltworker` | `beltworker`-era jury-rigged telemetry (3–6 events/volley) |
|
||
| Gatehouse Station: Quarantine Transfer Deck | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
|
||
### Comedy (5 presets — nx ×1 · tng ×2 · tos ×1 · wayfarer ×1)
|
||
|
||
| Preset | Era | Elements heard |
|
||
| --- | --- | --- |
|
||
| USS Norval: Command Bridge | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| NSEA Protractor: Beryllium Orb Engine Room | `wayfarer` | Double Chirp 60% · Sensor Sweep 40% |
|
||
| Heart of Silver: Unlikelihood Bridge | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
|
||
| HMS Camden Key: Flight Deck & Mess | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
|
||
| Spaceorb One: Mega-Warship Bridge | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
|
||
|
||
### Notes on the spread
|
||
|
||
- **Starflight** is the only universe where the era always matches the fiction.
|
||
- **Whataverse** and **Bioships** no longer borrow Trek eras at all as of
|
||
Phase 3 — every preset in both universes runs its own dedicated era
|
||
(`who`, `bioship`).
|
||
- **Space Stations** and **Industrial** are mixed: Tycho, Ceres (Space
|
||
Stations) and Rocinante (Industrial) run the Phase 3 `beltworker` era; the rest
|
||
of both universes still borrow Trek eras.
|
||
- **Retrofuture** leans on `tos` (3 of 8), which is at least era-plausible for
|
||
mid-century-styled ships, but `Discovery One` and `The Searcher` are on full
|
||
TNG LCARD. Untouched by Phase 3's telemetry-era work.
|
||
- **Comedy**, **Outlaw**, **Deep Space**, and **Military** are entirely
|
||
Trek-era telemetry, also untouched by Phase 3.
|
||
|
||
Two consequences worth keeping in mind when editing:
|
||
|
||
1. Changing a preset's `telemetry.era` silently changes which sounds it makes.
|
||
There is no UI anywhere that names the active era, so the change is audible
|
||
but not visible.
|
||
2. Any era value outside the eight above falls through the `switch` in
|
||
`playRandomTelemetrySound()` to the `tng` default. A typo does not fail
|
||
loudly — it just produces LCARD chirps.
|
||
|
||
If a universe should stop borrowing Trek telemetry, the fix is a new era
|
||
vocabulary (new elements plus a new `case` in the era router) — exactly what
|
||
Phase 3 did for `who`, `bioship`, and `beltworker` — not a change to preset
|
||
assignments alone; the router has nothing else to offer them otherwise.
|