Compare commits

...
5 Commits
Author SHA1 Message Date
ClaudeandClaude Sonnet 5 292d3cd916 Sync sound_reference.md and telemetry_elements.md with Phase 3 audio work
Phase 3 shipped bespoke who/bioship/belter telemetry eras, the transporter/
flak/breech/docking/tape-spooler/teletype one-shots, and the zocalo/teletype/
heterodyne continuous beds, but the two reference docs still described those
as outstanding gaps or "Phase 3 scope". Add Phase 3 additions sections per
universe and correct the now-stale preset/era tables.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01582UUCEBExzp3oK3Spz1Xx
2026-09-04 17:21:53 +00:00
Claude 057b155a61 Regenerate standalone display from current source 2026-09-04 09:43:45 -07:00
Claude 4ff47b3884 Implement Phase 3 audio gaps: continuous beds (zocalo chatter, teletype chatter, heterodyne drone) 2026-09-04 09:43:35 -07:00
Claude 9d1bc7b743 Implement Phase 3 audio gaps: complex multi-stage one-shots (transporter, flak, breech, docking, tape spooler, teletype) 2026-09-04 09:40:23 -07:00
Claude 42d6007445 Implement Phase 3 audio gaps: bespoke telemetry era engines (who/bioship/belter) 2026-09-04 09:38:06 -07:00
6 changed files with 2361 additions and 194 deletions
+1071 -61
View File
File diff suppressed because it is too large Load Diff
+32 -5
View File
@@ -298,13 +298,13 @@ document.addEventListener('DOMContentLoaded', () => {
}
// Phase 2 audio_gaps.md rows #25-#45
if (activeUniverseId === 'whoniverse' && presetId.indexOf('tardis-') === 0) {
whoniverseAudio.startConsoleTypeTelemetry(2800, 6500); // #25
}
if (presetId === 'bio-vorlon') expandedAudio.startVorlonSong(); // #26
if (presetId === 'bio-wraith') expandedAudio.startHullRegen(); // #28
if (presetId === 'sta-ceres' || presetId === 'sta-tycho') expandedAudio.startBelterTelemetry(); // #29
if (presetId === 'deep-event-horizon' || presetId === 'deep-icarus-ii') expandedAudio.startHullStrainMoans(); // #30
// Phase 3 (audio_gaps.md #46-#54)
if (presetId === 'sta-babylon-5') expandedAudio.startZocaloChatter(); // #46
if (presetId === 'ind-nostromo') expandedAudio.startTeletypeChatter(); // #51
if (presetId === 'ret-jupiter-2') expandedAudio.startHeterodyneDrone(); // #54
if (presetId === 'deep-icarus-ii') expandedAudio.startIcarusBeacon(); // #31
if (presetId === 'deep-event-horizon' || presetId === 'deep-nightflyer') expandedAudio.startVoidWhispers(); // #32
if (presetId === 'com-protector') expandedAudio.startBerylliumThrum(); // #33
@@ -673,10 +673,12 @@ document.addEventListener('DOMContentLoaded', () => {
expandedAudio.synthesizeHalChime();
break;
case 'ftl-jump':
case 'flak':
expandedAudio.synthesizeFtlJump();
visualizer.spawnWarpPulses();
break;
case 'flak':
expandedAudio.synthesizeFlakBarrageBurst();
break;
case 'singularity':
case 'gravity':
case 'rotation':
@@ -921,6 +923,31 @@ document.addEventListener('DOMContentLoaded', () => {
expandedAudio.synthesizeCygnusPistonChug();
break;
// Phase 3 (audio_gaps.md #48-#53)
case 'btn-transporter':
expandedAudio.synthesizeTransporterCycle();
break;
case 'btn-breech-clank':
expandedAudio.synthesizeBreechClank();
break;
case 'btn-dock-groan':
expandedAudio.synthesizeDockingGroan();
break;
case 'btn-tape-spooler':
expandedAudio.synthesizeTapeSpooler();
break;
case 'btn-teletype':
expandedAudio.synthesizeTeletypeChatterPhrase();
break;
case 'btn-zocalo-chatter':
if (expandedAudio.zocaloChatterActive) expandedAudio.stopZocaloChatter();
else expandedAudio.startZocaloChatter();
break;
case 'btn-hetero-drone':
if (expandedAudio.heterodyneDroneActive) expandedAudio.stopHeterodyneDrone();
else expandedAudio.startHeterodyneDrone();
break;
default:
telemetry.synthesizeLCARSSingleChirp();
break;
+1013 -37
View File
File diff suppressed because it is too large Load Diff
+26 -19
View File
@@ -169,6 +169,7 @@ const UniverseRegistry = {
{ id: 'btn-cardassian-door', label: 'CARDASSIAN BULKHEAD DOOR' },
{ id: 'btn-turbolift', label: 'TURBOLIFT WHOOSH' },
{ id: 'btn-replicator', label: 'REPLICATOR SHIMMER' },
{ id: 'btn-transporter', label: 'TRANSPORTER CYCLE' },
{ id: 'btn-chirp-single', label: 'LCARS SINGLE CHIRP' }
],
presets: StarshipPresets
@@ -211,7 +212,7 @@ const UniverseRegistry = {
hull: { volume: 0.5, baseFreq: 68, filterCutoff: 150, resonance: 2.8, noiseMix: 0.35, harmonicSpread: 1.04 },
warp: { volume: 0.65, bpm: 52, carrierFreq: 96, filterCutoff: 210, pulseShape: 'tos', resonance: 3.5, swirlMix: 0.2 },
lifeSupport: { volume: 0.45, noiseType: 'pink', highpassFreq: 220, lowpassFreq: 1800, airflowModSpeed: 0.08, airflowModDepth: 0.06 },
telemetry: { volume: 0.55, density: 0.6, era: 'tos' }
telemetry: { volume: 0.55, density: 0.6, era: 'who' }
},
'tardis-victorian': {
id: 'tardis-victorian',
@@ -223,7 +224,7 @@ const UniverseRegistry = {
hull: { volume: 0.65, baseFreq: 44, filterCutoff: 85, resonance: 1.8, noiseMix: 0.45, harmonicSpread: 1.015 },
warp: { volume: 0.3, bpm: 40, carrierFreq: 50, filterCutoff: 120, pulseShape: 'nx', resonance: 2.0, swirlMix: 0.15 },
lifeSupport: { volume: 0.55, noiseType: 'brown', highpassFreq: 110, lowpassFreq: 1200, airflowModSpeed: 0.07, airflowModDepth: 0.12 },
telemetry: { volume: 0.35, density: 0.4, era: 'nx' }
telemetry: { volume: 0.35, density: 0.4, era: 'who' }
},
'tardis-coral': {
id: 'tardis-coral',
@@ -235,7 +236,7 @@ const UniverseRegistry = {
hull: { volume: 0.75, baseFreq: 52, filterCutoff: 135, resonance: 3.2, noiseMix: 0.5, harmonicSpread: 1.03 },
warp: { volume: 0.9, bpm: 48, carrierFreq: 64, filterCutoff: 230, pulseShape: 'tng', resonance: 4.0, swirlMix: 0.45 },
lifeSupport: { volume: 0.6, noiseType: 'pink', highpassFreq: 160, lowpassFreq: 1700, airflowModSpeed: 0.18, airflowModDepth: 0.15 },
telemetry: { volume: 0.45, density: 0.5, era: 'tng' }
telemetry: { volume: 0.45, density: 0.5, era: 'who' }
},
'tardis-copper': {
id: 'tardis-copper',
@@ -247,7 +248,7 @@ const UniverseRegistry = {
hull: { volume: 0.6, baseFreq: 56, filterCutoff: 125, resonance: 2.5, noiseMix: 0.4, harmonicSpread: 1.02 },
warp: { volume: 0.7, bpm: 62, carrierFreq: 72, filterCutoff: 210, pulseShape: 'voyager', resonance: 3.6, swirlMix: 0.35 },
lifeSupport: { volume: 0.65, noiseType: 'white', highpassFreq: 220, lowpassFreq: 2200, airflowModSpeed: 0.15, airflowModDepth: 0.1 },
telemetry: { volume: 0.55, density: 0.7, era: 'voyager' }
telemetry: { volume: 0.55, density: 0.7, era: 'who' }
},
'tardis-cold-machine': {
id: 'tardis-cold-machine',
@@ -259,7 +260,7 @@ const UniverseRegistry = {
hull: { volume: 0.6, baseFreq: 50, filterCutoff: 110, resonance: 2.2, noiseMix: 0.38, harmonicSpread: 1.02 },
warp: { volume: 0.75, bpm: 56, carrierFreq: 68, filterCutoff: 190, pulseShape: 'tng', resonance: 3.2, swirlMix: 0.3 },
lifeSupport: { volume: 0.5, noiseType: 'pink', highpassFreq: 200, lowpassFreq: 1600, airflowModSpeed: 0.12, airflowModDepth: 0.08 },
telemetry: { volume: 0.4, density: 0.5, era: 'ds9' }
telemetry: { volume: 0.4, density: 0.5, era: 'who' }
},
'tardis-crystal': {
id: 'tardis-crystal',
@@ -271,7 +272,7 @@ const UniverseRegistry = {
hull: { volume: 0.7, baseFreq: 46, filterCutoff: 100, resonance: 3.5, noiseMix: 0.5, harmonicSpread: 1.04 },
warp: { volume: 0.8, bpm: 44, carrierFreq: 88, filterCutoff: 260, pulseShape: 'defiant', resonance: 4.4, swirlMix: 0.4 },
lifeSupport: { volume: 0.55, noiseType: 'pink', highpassFreq: 180, lowpassFreq: 1900, airflowModSpeed: 0.16, airflowModDepth: 0.14 },
telemetry: { volume: 0.5, density: 0.6, era: 'voyager' }
telemetry: { volume: 0.5, density: 0.6, era: 'who' }
},
'tardis-infinite-white': {
id: 'tardis-infinite-white',
@@ -283,7 +284,7 @@ const UniverseRegistry = {
hull: { volume: 0.65, baseFreq: 48, filterCutoff: 95, resonance: 2.0, noiseMix: 0.42, harmonicSpread: 1.01 },
warp: { volume: 0.6, bpm: 50, carrierFreq: 60, filterCutoff: 160, pulseShape: 'tng', resonance: 2.8, swirlMix: 0.3 },
lifeSupport: { volume: 0.7, noiseType: 'white', highpassFreq: 160, lowpassFreq: 2600, airflowModSpeed: 0.14, airflowModDepth: 0.12 },
telemetry: { volume: 0.45, density: 0.6, era: 'tng' }
telemetry: { volume: 0.45, density: 0.6, era: 'who' }
}
}
},
@@ -310,7 +311,9 @@ const UniverseRegistry = {
{ id: 'btn-pipe-drips', label: 'CONDENSATION DRIPS' },
{ id: 'btn-steam-vent', label: 'BOILER VENT HISS' },
{ id: 'btn-crash-couch', label: 'CRASH-COUCH GIMBAL' },
{ id: 'btn-air-handler', label: 'HVAC AIR HANDLER' }
{ id: 'btn-air-handler', label: 'HVAC AIR HANDLER' },
{ id: 'btn-dock-groan', label: 'DOCKING GROAN & CLANG' },
{ id: 'btn-teletype', label: 'DOT-MATRIX TELETYPE' }
],
presets: {
'ind-nostromo': {
@@ -371,7 +374,7 @@ const UniverseRegistry = {
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, era: 'voyager' }
telemetry: { volume: 0.5, density: 0.75, era: 'belter' }
},
'ind-eagle': {
id: 'ind-eagle',
@@ -429,7 +432,7 @@ const UniverseRegistry = {
hull: { volume: 0.75, baseFreq: 45, filterCutoff: 110, resonance: 3.2, noiseMix: 0.5, harmonicSpread: 1.03 },
warp: { volume: 0.85, bpm: 38, carrierFreq: 58, filterCutoff: 180, pulseShape: 'tng', resonance: 4.2, swirlMix: 0.45 },
lifeSupport: { volume: 0.65, noiseType: 'pink', highpassFreq: 150, lowpassFreq: 1600, airflowModSpeed: 0.08, airflowModDepth: 0.2 },
telemetry: { volume: 0.4, density: 0.4, era: 'tng' }
telemetry: { volume: 0.4, density: 0.4, era: 'bioship' }
},
'bio-talyn': {
id: 'bio-talyn',
@@ -439,7 +442,7 @@ const UniverseRegistry = {
hull: { volume: 0.8, baseFreq: 58, filterCutoff: 140, resonance: 3.6, noiseMix: 0.52, harmonicSpread: 1.04 },
warp: { volume: 0.9, bpm: 64, carrierFreq: 76, filterCutoff: 240, pulseShape: 'defiant', resonance: 4.6, swirlMix: 0.4 },
lifeSupport: { volume: 0.55, noiseType: 'pink', highpassFreq: 180, lowpassFreq: 1800, airflowModSpeed: 0.16, airflowModDepth: 0.16 },
telemetry: { volume: 0.45, density: 0.5, era: 'ds9' }
telemetry: { volume: 0.45, density: 0.5, era: 'bioship' }
},
'bio-lexx': {
id: 'bio-lexx',
@@ -449,7 +452,7 @@ const UniverseRegistry = {
hull: { volume: 0.85, baseFreq: 38, filterCutoff: 90, resonance: 2.8, noiseMix: 0.6, harmonicSpread: 1.02 },
warp: { volume: 0.7, bpm: 34, carrierFreq: 48, filterCutoff: 140, pulseShape: 'nx', resonance: 3.4, swirlMix: 0.35 },
lifeSupport: { volume: 0.6, noiseType: 'brown', highpassFreq: 120, lowpassFreq: 1300, airflowModSpeed: 0.06, airflowModDepth: 0.22 },
telemetry: { volume: 0.35, density: 0.3, era: 'nx' }
telemetry: { volume: 0.35, density: 0.4, era: 'bioship' }
},
'bio-vorlon': {
id: 'bio-vorlon',
@@ -459,7 +462,7 @@ const UniverseRegistry = {
hull: { volume: 0.65, baseFreq: 74, filterCutoff: 160, resonance: 3.8, noiseMix: 0.35, harmonicSpread: 1.05 },
warp: { volume: 0.8, bpm: 52, carrierFreq: 104, filterCutoff: 260, pulseShape: 'voyager', resonance: 4.5, swirlMix: 0.5 },
lifeSupport: { volume: 0.5, noiseType: 'pink', highpassFreq: 220, lowpassFreq: 2200, airflowModSpeed: 0.12, airflowModDepth: 0.1 },
telemetry: { volume: 0.5, density: 0.6, era: 'voyager' }
telemetry: { volume: 0.5, density: 0.6, era: 'bioship' }
},
'bio-wraith': {
id: 'bio-wraith',
@@ -469,7 +472,7 @@ const UniverseRegistry = {
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: 90, lowpassFreq: 900, airflowModSpeed: 0.06, airflowModDepth: 0.22 },
telemetry: { volume: 0.3, density: 0.25, era: 'nx' }
telemetry: { volume: 0.3, density: 0.4, era: 'bioship' }
},
'bio-species-8472': {
id: 'bio-species-8472',
@@ -479,7 +482,7 @@ const UniverseRegistry = {
hull: { volume: 0.7, baseFreq: 68, filterCutoff: 150, resonance: 3.5, noiseMix: 0.45, harmonicSpread: 1.035 },
warp: { volume: 0.85, bpm: 56, carrierFreq: 88, filterCutoff: 230, pulseShape: 'defiant', resonance: 4.4, swirlMix: 0.45 },
lifeSupport: { volume: 0.5, noiseType: 'pink', highpassFreq: 200, lowpassFreq: 1900, airflowModSpeed: 0.14, airflowModDepth: 0.12 },
telemetry: { volume: 0.45, density: 0.55, era: 'voyager' }
telemetry: { volume: 0.45, density: 0.55, era: 'bioship' }
}
}
},
@@ -506,7 +509,9 @@ const UniverseRegistry = {
{ id: 'btn-cygnus-chug', label: 'STEAM PISTON CHUG' },
{ id: 'btn-chirp-single', label: 'ASTROGATOR BEAT' },
{ id: 'btn-chirp-sweep', label: 'ANALOG GLISSANDO' },
{ id: 'btn-relay-click', label: 'TAPE REEL SPOOL' }
{ id: 'btn-relay-click', label: 'TAPE REEL SPOOL' },
{ id: 'btn-tape-spooler', label: 'DUAL-REEL TAPE SPOOLER' },
{ id: 'btn-hetero-drone', label: 'HETERO-DRONE TONE' }
],
presets: {
'ret-jupiter-2': {
@@ -614,7 +619,8 @@ const UniverseRegistry = {
{ id: 'btn-dock-clamp', label: 'BULKHEAD SEAL' },
{ id: 'btn-carousel-groan', label: 'CAROUSEL MOTOR GROAN' },
{ id: 'btn-slipstream', label: 'SLIPSTREAM SURGE' },
{ id: 'btn-oxygen-reg', label: 'O2 DEMAND VALVE' }
{ id: 'btn-oxygen-reg', label: 'O2 DEMAND VALVE' },
{ id: 'btn-breech-clank', label: 'WEAPONS BREECH CLANK' }
],
presets: {
'mil-sulaco': {
@@ -898,6 +904,7 @@ const UniverseRegistry = {
{ 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-zocalo-chatter', label: 'ZOCALO PLAZA CHATTER' },
{ id: 'btn-belter-telemetry', label: 'BELTER JURY-RIG TELEMETRY', span: 2 }
],
presets: {
@@ -939,7 +946,7 @@ const UniverseRegistry = {
hull: { volume: 0.8, baseFreq: 48, filterCutoff: 110, resonance: 2.8, noiseMix: 0.55, harmonicSpread: 1.025 },
warp: { volume: 0.65, bpm: 42, carrierFreq: 66, filterCutoff: 180, pulseShape: 'defiant', resonance: 3.5, swirlMix: 0.3 },
lifeSupport: { volume: 0.65, noiseType: 'pink', highpassFreq: 160, lowpassFreq: 1700, airflowModSpeed: 0.12, airflowModDepth: 0.14 },
telemetry: { volume: 0.45, density: 0.5, era: 'voyager' }
telemetry: { volume: 0.45, density: 0.65, era: 'belter' }
},
'sta-ceres': {
id: 'sta-ceres',
@@ -949,7 +956,7 @@ const UniverseRegistry = {
hull: { volume: 0.85, baseFreq: 42, filterCutoff: 95, resonance: 2.6, noiseMix: 0.62, harmonicSpread: 1.02 },
warp: { volume: 0.45, bpm: 38, carrierFreq: 54, filterCutoff: 135, pulseShape: 'nx', resonance: 3.0, swirlMix: 0.2 },
lifeSupport: { volume: 0.7, noiseType: 'brown', highpassFreq: 120, lowpassFreq: 1400, airflowModSpeed: 0.08, airflowModDepth: 0.16 },
telemetry: { volume: 0.35, density: 0.35, era: 'nx' }
telemetry: { volume: 0.35, density: 0.6, era: 'belter' }
},
'sta-gateway': {
id: 'sta-gateway',
+132 -33
View File
@@ -266,7 +266,7 @@ Ranked by how much each would add, given what already exists.
| 3 | **Door swish** | TOS, TNG, VOY, ENT | Four era variants from one filtered-noise primitive with different envelopes. High reuse for low cost. | Low |
| 4 | **Turbolift** | TNG, VOY | Rising whoosh and settle; adds a sense of a ship in use. | Medium |
| 5 | **Bosun's whistle** | TOS | Distinctive and very era-specific; two-tone glide. | Low |
| 6 | **Transporter** | all | Iconic, but long (~3 s) and shimmer-dense — pushes past the ambient-layer duration guideline and belongs on the soundboard. | High |
| 6 | **Transporter** | all | Iconic, but long (~3 s) and shimmer-dense — pushes past the ambient-layer duration guideline and belongs on the soundboard. **Implemented in Phase 3** — see the Phase 3 additions below. | High |
| 7 | **Medical monitor** | TNG, VOY | Slow rhythmic tone; would make a sickbay preset viable. | Low |
| 8 | **Replicator** | TNG, VOY | Brief shimmer; lower value than the above. | Medium |
@@ -306,6 +306,22 @@ Implemented under audio_gaps.md Phase 2 (rows #21#23).
---
## Star Trek Phase 3 additions
Implemented under audio_gaps.md Phase 3 (row #48). Item 6 in the gap list
above ("Transporter") is now covered.
| Element | Method (ExpandedSciFiAudioSynth) | Soundboard | Ambient hook |
| --- | --- | --- | --- |
| Transporter dematerialization / rematerialization cycle | `synthesizeTransporterCycle` | `btn-transporter` | — |
An additive array of 5 detuned sines (330990 Hz over a 660 Hz base), each
interlocked with its own 511 Hz AM LFO, plus a high bandpass noise shimmer
gated by a 30 Hz LFO, all under a slow rise / mid dip / release master
envelope. ~3.0 s.
---
## Star Trek open questions
Deliberately unresolved rather than guessed:
@@ -471,14 +487,14 @@ method is undocumented.**
| 1 | **Lever-throw clunk** | A physical, tactile beat that currently has no discrete sound — precedes every materialization cycle on screen. Cheap complement to the existing demat cycle. | Low |
| 2 | **TARDIS door open/close** | Distinct wooden-creak-plus-latch character, unlike any Trek door sound already in the app; would give the Whoniverse universe a texture Star Trek's presets can't reuse. | LowMedium |
| 3 | **Scanner/monitor activation** | The console room's viewscreen has a recognizable activation tone across several eras. | Medium |
| 4 | **Console "type" input** | Rapid button/lever interaction chatter distinct from Trek's LCARS chirps — currently the app reuses Trek telemetry wholesale here (see the era table in `telemetry_elements.md`). | Medium — this is really about giving Whoniverse its *own* telemetry vocabulary rather than one new element |
| 4 | **Console "type" input** | Rapid button/lever interaction chatter distinct from Trek's LCARS chirps. **Implemented in Phase 3** as the dedicated `who` telemetry era — see below. | Medium — this is really about giving Whoniverse its *own* telemetry vocabulary rather than one new element |
Item 4 is the more consequential one long-term: right now every Whoniverse
preset borrows a Trek-era telemetry vocabulary (TOS warbles, TNG chirps, etc.)
because `telemetry.era` only has five Trek values to choose from. A dedicated
`who` era — built from lever clunks, switch throws, and the console's own
percussive character — would be the single biggest authenticity improvement
available to this universe, bigger than any individual missing one-shot.
Item 4 was the more consequential one long-term, and is now done: every
Whoniverse preset used to borrow a Trek-era telemetry vocabulary (TOS warbles,
TNG chirps, etc.) because `telemetry.era` only had five Trek values to choose
from. Phase 3 added a dedicated `who` era — built from lever clunks, switch
throws, and the console's own percussive character — across all seven
`tardis-*` presets.
---
@@ -488,25 +504,41 @@ 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, 2201800 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, 1101200 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, 1401400 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, 2202200 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, 2001600 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, 1801900 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, 1602600 Hz | `tng` (volume 0.45, density 0.6) |
| `tardis-1963` | 1963 Classic Console (1st / 2nd Doctors) | `classic` | 68 Hz, 150 Hz lp, 0.35 noise | 52 bpm, 96 Hz, `tos` | Pink, 2201800 Hz | `who` (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, 1101200 Hz | `who` (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, 1401400 Hz | `who` (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, 2202200 Hz | `who` (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, 2001600 Hz | `who` (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, 1801900 Hz | `who` (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, 1602600 Hz | `who` (volume 0.45, density 0.6) |
---
## Whoniverse Phase 2 additions
Implemented under audio_gaps.md Phase 2 (rows #24#25). Both remain standalone
routines; `TelemetrySynth` `era: 'who'` routing is Phase 3 scope.
Implemented under audio_gaps.md Phase 2 (rows #24#25). Row #25 (console
"type" input telemetry) was superseded in Phase 3: `startConsoleTypeTelemetry`
was removed, and every `tardis-*` preset now drives its clatter through
`TelemetrySynth`'s dedicated `who` era instead — see the Phase 3 additions
below.
| Element | Method (WhoniverseAudioSynth) | Soundboard | Ambient hook |
| --- | --- | --- | --- |
| Scanner / monitor activation | `synthesizeScannerActivate` | `btn-scanner-activate` | — (flyback partial at 10.6 kHz) |
| Console "type" input telemetry | `synthesizeTypeClatter` + `startConsoleTypeTelemetry` | `btn-type-clatter` | All `tardis-*` rooms, 2.86.5 s clatter clusters |
| Console "type" input telemetry (manual hit) | `synthesizeTypeClatter` | `btn-type-clatter` | Superseded as an automatic loop — see Phase 3 `who`-era telemetry below |
---
## Whoniverse Phase 3 additions
Implemented under audio_gaps.md Phase 3. Item 4 in the gap list above (the
dedicated `who` telemetry era) is now built: `TelemetrySynth.era = 'who'`
drives every `tardis-*` preset (see the corrected Telemetry column in the
preset mapping table above), replacing the borrowed Trek-era chirps.
| Element | Method (TelemetrySynth) | Routing | Acoustic output |
| --- | --- | --- | --- |
| `who`-era mechanical telemetry | `synthesizeWhoMechanicalTelemetry_` | Every `tardis-*` preset (`telemetry.era: 'who'`) | 25 dual-filtered toggle snaps (2045 ms noise pulses through paired bandpass filters), 60120 Hz spring-lever square clicks collapsing in pitch, and damped sine rotary-selector clunks per tick — no electronic beeps anywhere in the mix. |
---
@@ -735,15 +767,17 @@ one-shots the same way.
| # | Sound | Why it matters | Difficulty |
| --- | --- | --- | --- |
| 1 | **Bespoke bioship telemetry era** | The single biggest gap in this category, and the same shape as Whoniverse's biggest gap. All six presets currently draw `telemetry.era` from Trek's five values (see the era table in `telemetry_elements.md`) — there is no organic-sounding discrete vocabulary at all, only relabeled inorganic ones. | MediumHigh |
| 1 | **Bespoke bioship telemetry era** | The single biggest gap in this category, and the same shape as Whoniverse's biggest gap. **Implemented in Phase 3** as the dedicated `bioship` telemetry era — see below. | MediumHigh |
| 2 | **"Singing" resonance element for the Vorlon Cruiser** | The strongest single documented cue in this whole category ("singing to their occupants") has no dedicated synthesis; it's currently indistinguishable from any other bioship preset at the discrete-sound level. | Medium |
| 3 | **Neural-bond swell (Moya/Talyn/Wraith)** | Three of six ships have a documented neural-interface detail (Pilot's nerve endings, Wraith telepathic DNA control) that could unify into one element used across all three, rather than reusing the TARDIS's telepathic chime. | Medium |
| 4 | **Misty-atmosphere life-support tuning (Wraith)** | A specific, documented environmental detail (mist-covered corridor floors) with no corresponding audio treatment — likely a `lifeSupport` filter/noise adjustment rather than a new element. | Low |
| 5 | **Hull self-repair / regeneration texture (Wraith)** | Documented as a distinct capability (auto-regenerating organic hull) with dramatic stakes (forced rest between jumps) and no sonic representation at all. | Medium |
Item 1 dwarfs the rest in the same way the Whoniverse telemetry gap did: a
purpose-built organic discrete vocabulary — creaks, pulses, membrane flutters —
would do more for this universe's authenticity than any single new one-shot.
Item 1 dwarfed the rest in the same way the Whoniverse telemetry gap did, and
is now done: Phase 3 added a purpose-built organic discrete vocabulary —
vascular thumps, chitin snaps, fluid pops, membrane flutters — as the
dedicated `bioship` telemetry era across all six presets. See the Phase 3
additions below.
## Bioships Phase 2 additions
@@ -757,6 +791,20 @@ Implemented under audio_gaps.md Phase 2 (rows #26#28).
---
## Bioships Phase 3 additions
Implemented under audio_gaps.md Phase 3. Item 1 in the gap list above (the
dedicated bioship telemetry era) is now built: `TelemetrySynth.era =
'bioship'` drives all six `bio-*` presets, replacing the borrowed Trek eras
those presets used to carry (see [`telemetry_elements.md`](telemetry_elements.md)
for the corrected per-preset routing).
| Element | Method (TelemetrySynth) | Routing | Acoustic output |
| --- | --- | --- | --- |
| `bioship`-era organic telemetry | `synthesizeBioshipOrganicTelemetry_` | All six `bio-*` presets (`telemetry.era: 'bioship'`) | 24 events per phrase, drawn at random: asymmetric 3090 Hz vascular-surge sine thumps (sometimes echoed as a lub-dub double beat), high-Q bandpass chitin-snap noise ticks, bandpass-filtered wet bioplasmic fluid pops with a resonant tail, and AM-stepped membrane-flutter noise between 300700 Hz. |
---
## Bioships open questions
- **[GAP]** No sound design production information was found for The Lexx,
@@ -1221,10 +1269,10 @@ Ranked by impact and feasibility across the six station profiles:
| # | 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 |
| 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). **Implemented in Phase 3** — see below. | 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. | MediumHigh |
| 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. **Implemented in Phase 3** — see below. | MediumHigh |
| 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. | LowMedium |
| 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 |
@@ -1232,12 +1280,26 @@ Ranked by impact and feasibility across the six station profiles:
## Space Stations Phase 2 additions
Implemented under audio_gaps.md Phase 2 (row #29). Delivered as a standalone
routine; `TelemetrySynth` `era: 'belter'` routing is Phase 3 scope.
Implemented under audio_gaps.md Phase 2 (row #29). Row #29's standalone
routine (`startBelterTelemetry`) was removed in Phase 3 — the automatic
ambient version now runs through `TelemetrySynth`'s `belter` era instead; see
the Phase 3 additions below.
| Element | Method (ExpandedSciFiAudioSynth) | Soundboard | Ambient hook |
| --- | --- | --- | --- |
| Belter jury-rigged telemetry | `synthesizeBelterTelemetryJitter` + `startBelterTelemetry` | `btn-belter-telemetry` (full-width) | `sta-ceres`, `sta-tycho`, 1.84.5 s jitter clusters |
| Belter jury-rigged telemetry (manual hit) | `synthesizeBelterTelemetryJitter` | `btn-belter-telemetry` (full-width) | Manual soundboard trigger only |
---
## Space Stations Phase 3 additions
Implemented under audio_gaps.md Phase 3. Item 1 in the gap list above (the
dedicated `belter` telemetry era) and item 4 (Zocalo chatter) are both done.
| Element | Method | Routing | Acoustic output |
| --- | --- | --- | --- |
| `belter`-era jury-rigged telemetry | `TelemetrySynth.synthesizeBelterJuryRiggedTelemetry_` | `sta-tycho`, `sta-ceres` (`telemetry.era: 'belter'`) — also extended to `ind-rocinante` in the Industrial universe | 36 events per volley, drawn at random: 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. |
| Zocalo commerce-plaza chatter | `ExpandedSciFiAudioSynth.startZocaloChatter` / `stopZocaloChatter` | `sta-babylon-5` on engage; manual toggle `btn-zocalo-chatter` | Continuous crowd-murmur bed: looped pink noise through four parallel formant bandpasses (300 Hz3 kHz) whose centers drift at 0.030.11 Hz, plus an accent layer of vowelish murmur blips. Restarting fades any previous bed out first. |
---
@@ -3248,8 +3310,8 @@ 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`. |
| 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. **Implemented in Phase 3** — see below. | 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. **Implemented in Phase 3** — see below. | High: Synthesize dual metallic pulse in `ExpandedSciFiAudioSynth`. |
| 3 | **Centrifugal Habitat Carousel Motor Groan** | EAS Agamemnon | Very low frequency (1224 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. |
@@ -3268,6 +3330,17 @@ Implemented under audio_gaps.md Phase 2 (rows #37#39).
---
## Military Space Phase 3 additions
Implemented under audio_gaps.md Phase 3 (rows #49#50).
| Element | Method (ExpandedSciFiAudioSynth) | Soundboard | Notes |
| --- | --- | --- | --- |
| Point-defense flak barrage burst | `synthesizeFlakBarrageBurst` | `btn-flak` (`type: 'flak'`) | 48 staggered noise transients 1030 ms apart over a 40 Hz sub-bass punch, plus a couple of high shell-crack transients per volley; whole burst ~0.91.4 s. Also replaces the earlier placeholder that fired the FTL-jump sound for this button. |
| Heavy weapons breech locking clank | `synthesizeBreechClank` | `btn-breech-clank` | Three-stage loading cycle: 80 ms pre-charge pneumatic hiss, 60 Hz square breech slam into a lowpass body, and a high-Q steel ringoff with damped inharmonic partials. ~1.6 s. |
---
## Military Space open questions
- **[GAP]** The exact acoustic recording sources used by Don Sharpe for the
@@ -3895,8 +3968,8 @@ 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 (3060 Hz) followed by a ringing sledgehammer-like clamp strike when securing ore umbilicals. | High: Add dual resonant bandpass filter on white-noise burst. |
| 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. **Implemented in Phase 3** — see below. | 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 (3060 Hz) followed by a ringing sledgehammer-like clamp strike when securing ore umbilicals. **Implemented in Phase 3** — see below. | 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 (8002800 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. |
@@ -3915,6 +3988,20 @@ Implemented under audio_gaps.md Phase 2 (rows #40#42).
---
## Industrial Space Phase 3 additions
Implemented under audio_gaps.md Phase 3 (rows #51#53). `ind-rocinante` also
picked up the Space Stations universe's new `belter` telemetry era in this
phase (see the Space Stations Phase 3 additions).
| Element | Method (ExpandedSciFiAudioSynth) | Soundboard | Ambient hook |
| --- | --- | --- | --- |
| Dot-matrix / teletype chatter phrase | `synthesizeTeletypeChatterPhrase` | `btn-teletype` | Manual phrase unit: 616 pseudo-random high-Q ~4 kHz impact spikes with periodic 12 Hz stepper clicks, soft attack/release. |
| Continuous Nostromo teletype chatter | `startTeletypeChatter` / `stopTeletypeChatter` | — (automatic) | `ind-nostromo` on engage; overlapping phrase units at a 0.92.0 s cadence keep the terminal bed continuous. |
| Heavy hydraulic docking groan & clang | `synthesizeDockingGroan` | `btn-dock-groan` | ~4.0 s structural stress groan — brown noise through two parallel resonant bandpasses sweeping 38→62 Hz and 55→85 Hz under an asymmetric groaning envelope — resolving into a metallic anvil transient with an inharmonic sine stack at the moment the clamp seats. |
---
## Industrial Space open questions
- **[GAP]** The exact mechanical typewriter and electromechanical relay sources
@@ -4531,8 +4618,8 @@ 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. |
| 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. **Implemented in Phase 3** — see below. | 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. **Implemented in Phase 3** — see below. | 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. |
@@ -4551,6 +4638,18 @@ Implemented under audio_gaps.md Phase 2 (rows #43#45).
---
## Retro Future Phase 3 additions
Implemented under audio_gaps.md Phase 3 (rows #53#54). Items 1 and 2 in the
gap list above are both covered.
| Element | Method (ExpandedSciFiAudioSynth) | Soundboard | Ambient hook |
| --- | --- | --- | --- |
| Dual-reel magnetic tape spooler & pinch roller clank | `synthesizeTapeSpooler` | `btn-tape-spooler` | Solenoid pinch-roller engagement (110 Hz impulse), a fluttering pink tape bed (15 Hz AM on bandpass noise) and a faint 3200 Hz capstan hum with spool-up glide, ending in an optional fast-forward whine tail. ~2.63.5 s. |
| Continuous heterodyne / theremin navigational drone | `startHeterodyneDrone` / `stopHeterodyneDrone` | Toggle `btn-hetero-drone` | `ret-jupiter-2` on engage; two detuned sines (~1040/1048 Hz) beating at ~8 Hz, each with its own slow independent wander LFO so the beat drifts like a vacuum-tube theremin. 3 s attack, room-tone level, 1.8 s release on stop; restarting always fades the previous bed out first. |
---
## Retro Future open questions
- **[GAP]** The exact electronic audio generators and tape echo units used by
+87 -39
View File
@@ -27,6 +27,12 @@ events rather than running continuously.
| **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 450700 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 Starfleet vocabulary. Phase 3 added
three more eras — `who`, `bioship`, `belter` — but they don't fit this table's
shape: each fires a **multi-event generator** (a whole 0.251.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
@@ -57,13 +63,19 @@ an era or a new element.
| `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) |
| `belter` (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. In practice every preset in every universe
uses one of these five Trek eras, so non-Trek themes play Trek telemetry — see
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 (Whoniverse →
`who`, Bioships → `bioship`, and Ceres/Tycho/Rocinante → `belter`) — the
remaining universes still borrow Trek telemetry. See
[Preset → telemetry era reference](#preset--telemetry-era-reference) for the
full per-preset mapping.
full, corrected per-preset mapping.
---
@@ -105,7 +117,33 @@ than inventing loose frequencies — they are what makes the layer sound coheren
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.
own frequencies and intentionally sit outside both scales. The three Phase 3
eras below are unpitched entirely — none of them touch `lcarsPitches` 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_()` | Whoniverse (all 7 `tardis-*` presets) | 25 transients per tick, drawn at random from: dual-filtered toggle snaps (2045 ms noise pulses through paired bandpass filters), 60120 Hz spring-lever square clicks collapsing in pitch, and damped sine rotary-selector clunks. No electronic beeps. |
| `bioship` | `synthesizeBioshipOrganicTelemetry_()` | Bioships (all 6 `bio-*` presets) | 24 events per phrase: asymmetric 3090 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 300700 Hz. |
| `belter` | `synthesizeBelterJuryRiggedTelemetry_()` | `sta-tycho`, `sta-ceres` (Space Stations) and `ind-rocinante` (Industrial) | 36 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.
---
@@ -182,11 +220,15 @@ no existing element has. In that case:
`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. All 70 presets across all 10 universes currently use one of the five
Star Trek eras, so non-Trek universes play Trek telemetry: a retrofuture profile
can chatter in TOS warbles, and a living-ship profile can ring with the
Cardassian sensor tone. If you hear a sound that seems foreign to the theme you
are on, this table is where to look it up.
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 Whoniverse, Bioships, and three `belter` 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 |
| --- | --- |
@@ -195,6 +237,9 @@ are on, this table is where to look it up.
| `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) |
| `belter` | `belter`-era jury-rigged telemetry (see above) |
### Starfleet Command (10 presets — ds9 ×2 · nx ×1 · tng ×3 · tos ×2 · voyager ×2)
@@ -211,19 +256,19 @@ are on, this table is where to look it up.
| Enterprise NCC-1701: Engineering (TOS) | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
| Enterprise NX-01: Command Bridge | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
### The Whoniverse (7 presets — ds9 ×1 · nx ×1 · tng ×2 · tos ×1 · voyager ×2)
### The Whoniverse (7 presets — who ×7, all Phase 3)
| Preset | Era | Elements heard |
| --- | --- | --- |
| 1963 Classic Console (1st / 2nd Doctors) | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
| Victorian Secondary Console (4th Doctor) | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
| The Coral Living TARDIS (9th / 10th Doctors) | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
| The Copper Workshop (11th Doctor) | `voyager` | Double Chirp 60% · Sensor Sweep 40% |
| The Cold Machine (12th Doctor) | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
| The Singing Crystal Console (13th Doctor) | `voyager` | Double Chirp 60% · Sensor Sweep 40% |
| The Infinite White (14th / 15th Doctors) | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
| 1963 Classic Console (1st / 2nd Doctors) | `who` | `who`-era mechanical telemetry (25 transients/tick) |
| Victorian Secondary Console (4th Doctor) | `who` | `who`-era mechanical telemetry (25 transients/tick) |
| The Coral Living TARDIS (9th / 10th Doctors) | `who` | `who`-era mechanical telemetry (25 transients/tick) |
| The Copper Workshop (11th Doctor) | `who` | `who`-era mechanical telemetry (25 transients/tick) |
| The Cold Machine (12th Doctor) | `who` | `who`-era mechanical telemetry (25 transients/tick) |
| The Singing Crystal Console (13th Doctor) | `who` | `who`-era mechanical telemetry (25 transients/tick) |
| The Infinite White (14th / 15th Doctors) | `who` | `who`-era mechanical telemetry (25 transients/tick) |
### Industrial (8 presets — ds9 ×1 · nx ×3 · tos ×3 · voyager ×1)
### Industrial (8 presets — belter ×1 · ds9 ×1 · nx ×3 · tos ×3, 1 Phase 3)
| Preset | Era | Elements heard |
| --- | --- | --- |
@@ -232,20 +277,20 @@ are on, this table is where to look it up.
| Red Dwarf: Main Drive Corridor | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
| Starbug 1: Cockpit Environment | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
| The Raza: Dark Matter Bridge | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
| Rocinante: Combat Ops & Epstein Drive | `voyager` | Double Chirp 60% · Sensor Sweep 40% |
| Rocinante: Combat Ops & Epstein Drive | `belter` | `belter`-era jury-rigged telemetry (36 events/volley) |
| Eagle Transporter: Command Module | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
| Valley Forge: Agro-Dome Forest Hub | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
### Bioships (6 presets — ds9 ×1 · nx ×2 · tng ×1 · voyager ×2)
### Bioships (6 presets — bioship ×6, all Phase 3)
| Preset | Era | Elements heard |
| --- | --- | --- |
| Moya: Leviathan Central Nexus | `tng` | Single Chirp 45% · Double Chirp 30% · Ack Sequence 15% · Sensor Sweep 10% |
| Talyn: Gunship Neural Bridge | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
| The Lexx: Primary Organ Bridge | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
| Vorlon Cruiser: Sentient Core | `voyager` | Double Chirp 60% · Sensor Sweep 40% |
| Wraith Hive Ship: Throne Chamber | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
| Species 8472: Fluidic Bioship | `voyager` | Double Chirp 60% · Sensor Sweep 40% |
| Moya: Leviathan Central Nexus | `bioship` | `bioship`-era organic telemetry (24 events/phrase) |
| Talyn: Gunship Neural Bridge | `bioship` | `bioship`-era organic telemetry (24 events/phrase) |
| The Lexx: Primary Organ Bridge | `bioship` | `bioship`-era organic telemetry (24 events/phrase) |
| Vorlon Cruiser: Sentient Core | `bioship` | `bioship`-era organic telemetry (24 events/phrase) |
| Wraith Hive Ship: Throne Chamber | `bioship` | `bioship`-era organic telemetry (24 events/phrase) |
| Species 8472: Fluidic Bioship | `bioship` | `bioship`-era organic telemetry (24 events/phrase) |
### Retrofuture (8 presets — nx ×2 · tng ×2 · tos ×3 · voyager ×1)
@@ -295,15 +340,15 @@ are on, this table is where to look it up.
| The Marauder: Havoc Shuttle Bridge | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
| The Milano: M-Ship Cockpit Lounge | `voyager` | Double Chirp 60% · Sensor Sweep 40% |
### Space Stations (6 presets — ds9 ×1 · nx ×2 · tng ×1 · tos ×1 · voyager ×1)
### Space Stations (6 presets — belter ×2 · ds9 ×1 · nx ×1 · tng ×1 · tos ×1, 2 Phase 3)
| Preset | Era | Elements heard |
| --- | --- | --- |
| Babylon 5: Core Control & Zocalo | `ds9` | Cardassian Sensor 50% · Single Chirp 50% |
| Moonbase Alpha: Main Mission Control | `tos` | TOS Computer Warble 60% · TOS Relay Click 40% |
| Sevastopol Station: Habitation Deck | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
| Tycho Station: Asteroid Construction Bay | `voyager` | Double Chirp 60% · Sensor Sweep 40% |
| Ceres Station: Sub-Crustal Tunnels | `nx` | NX Hydraulic Relay 50% · NX Indicator Beep 50% |
| Tycho Station: Asteroid Construction Bay | `belter` | `belter`-era jury-rigged telemetry (36 events/volley) |
| Ceres Station: Sub-Crustal Tunnels | `belter` | `belter`-era jury-rigged telemetry (36 events/volley) |
| Gateway 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 · voyager ×1)
@@ -319,25 +364,28 @@ are on, this table is where to look it up.
### Notes on the spread
- **Starfleet** is the only universe where the era always matches the fiction.
- **Whoniverse** spans all five eras across its seven presets — the widest
spread of any universe, and the most likely place to hear something
unexpected.
- **Whoniverse** 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 `belter` 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 LCARS.
- **Bioships** has no acoustic relationship to any Trek era; `Talyn` on `ds9`
produces the Cardassian tritone tone inside a living-ship profile.
- **Comedy** and **Spaceball One** on `tos` produce the analog warble.
TNG LCARS. 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 five above falls through the `switch` in
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 LCARS 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), not a change to
these preset assignments alone — the router has nothing else to offer them.
vocabulary (new elements plus a new `case` in the era router) — exactly what
Phase 3 did for `who`, `bioship`, and `belter` — not a change to preset
assignments alone; the router has nothing else to offer them otherwise.