Rust · Signal processing · Diagnostic tooling
Voyager Golden Record Explorer
Voyager Golden Record Explorer is a Rust/egui application for recovering the images encoded in NASA's Voyager Golden Record audio. It turns noisy analog source material into inspectable, adjustable, exportable image reconstructions, with diagnostics for understanding what the signal is doing rather than just hoping the decode looks right.
The problem
The Golden Record images are encoded as audio, so reconstruction is part signal-processing problem and part interface problem. You need to detect sync, correct slant, normalize uncertain analog levels, inspect the waveform, and iterate quickly enough that exploration does not become a pile of one-off scripts.
What I built
- A baseband slow-scan video decoding pipeline with per-line sync detection, slant correction, anti-aliased resampling, polarity and gamma controls, and percentile normalization.
- Audio-device-clock anchored playback, zero-copy WAV loading, waveform navigation, sync markers, live decode windows, and PNG export for large audio assets.
- CLI and batch diagnostics for reproducible analysis: decode, spectrogram generation, sync detection, signal classification, statistics, segmentation, and excerpt carving.
- Worker orchestration with queue-depth tracking, health monitoring, restart logic, cancellation, stale-result suppression, and independent forward-model validation.
How it works
I built the explorer as an interactive decoding bench rather than a single “convert this WAV to an image” script. The audio is loaded once, navigated through a waveform view, and decoded through a baseband slow-scan pipeline that looks for line sync, estimates line boundaries, corrects slant, resamples into pixels, and normalizes the result into an image you can actually inspect.
The controls exist because the source material is analog and imperfect. You can adjust polarity, gamma, normalization, sync interpretation, and decode windows while seeing the result change. The diagnostics mirror the UI path: decode runs, spectrograms, sync detection, segmentation, statistics, and excerpt carving all produce evidence about what the signal is doing.
Visual evidence from the record
These are not mockups. The cover image comes from the project assets, and the decoded frames below were generated from the local Golden Record audio with the project's own CLI. They are imperfect in the useful way: the sync stripes, slant, analog noise, and contrast decisions are visible, so the page shows the actual reconstruction problem instead of pretending the output falls out cleanly.








How it achieves the goal
The goal is not just to get a recognizable Golden Record image once. The goal is to make reconstruction explainable and repeatable. The app achieves that by tying visual exploration to reproducible analysis: every promising image can be traced back to the sync choices, window, normalization, and decode parameters that produced it.
The worker system keeps that exploration responsive. Long-running decodes and diagnostics run behind queue-depth tracking, cancellation, stale-result suppression, health checks, and restart logic, so the interface stays usable while the signal-processing work happens underneath. It is a tiny lab bench for a beautiful, weird artifact from deep-space history, which is exactly my kind of nonsense.