Decoding Voyager's Golden Record
In the event that an intelligent extraterrestrial being ever comes across either of the two Voyager probes, they'll be able to get a good idea about humanity by the data stored in an enclosed time-capsule-like golden record. Above is a depiction of the engraved case containing each of these golden records. These engravings explain how the record's data can be accessed.
One side of the record contains audio recordings that include greetings in multiple languages as well as sounds and music from around the world. The other side of this record, however, contains a series of 115 images compiled by Carl Sagan. These images are stored as audio split across both left and right stereo channels. Using the instructions engraved on the record's cover, Voyager's encoded images can be visualized using Python!
Above is an example of the image data contained on the record. These images span a range of subject matter including the natural, cultural, and scientific. Although the original images are available online, there is something special about extracting them from the record's signal.
The code provided here takes a user specified WAV file containing images encoded in the same manner as those found on the Voyager space probe's golden record and outputs each of these images as separate grayscale PNG files. Images that come in sets of 3 are in color and represent blue, green, and red channels in order. All graphics extracted from the golden record's data (including color images like the one seen above) have been included here in the extracted folder.
You can use pip to install any missing dependencies.
For this code to successfully run, it must be provided with an audio file containing images encoded in the same manner as those found on the Voyager space probe's golden record. For reference, an archival copy of the golden record's encoded images has been provided as a WAV (160MB).
The decoding script contains several user-editable variables that should be changed for fine tuning. The script is executed by running:
Included color images were processed by hand.
A custom golden-record-like audio file can be generated using your own images by utilizing the included WAV encoding script. The method of encoding is not identical to that used to encode the original golden record data but it is similar and compatible with my decoding methods.
This code takes all the PNG files in a user specified directory, converts them to grayscale, resizes them appropriately, and converts them into an audio signal. The script is executed by running:
An example WAV file with its extracted contents as well as source images are available in the test-images directory.
This project was inspired by foodini's decoder written in C++.