Created for DurHack 2026 with the theme of "Composition"!

We were also heavily inspired by QRTs Challenge "Information Hidden in Plain Sight" as well as Marshall Waces "New Worlds".


Inspiration
What do you think of when you hear the word "Composition"? Our team is heavily comprised with musicians so we immediately thought of music composition! We then thought, surely we can hide data inside of some cute midi tunes! Additionally we caught a brainworm about "New Worlds" and The Arecibo messages (https://en.wikipedia.org/wiki/Arecibo_message) and were inspired by "My Singing Monsters" to have the music produced by the singing aliens of "Planet Symphony" and transmitted via the vacuum of space to "Planet New'Wave'O".
There are many methods of data transfer, however the majority have one idea in mind: efficiency. In a world where there is more data in transit than ever before, why not send messages purely through song? And completely connectionless!
What it does
Planet Symphony begins with a message (plaintext) and a choice of key and musical scale (e.g., F# major-pentatonic). Next, that message is encoded algorithmically into a melody within a set of configurated parameters (cluster size, octaves). This melody is then sent to the Transmitter for a waiting receiver to hear. The waiting Receiver is a trained model for identifying musical notes, which is then passed into the algorithmic decoder. As the encoder is deterministic, as long as no notes are missed by the receiver the original message should be decoded with zero error.
during encoding a specific music scale is chosen (demo uses f# major pentatonic) and only those notes are selected from so all notes are diatonic (in the specified key). when encoding characters to musical phrases, smaller intervals are prefered to sound more scalic. a drone note of the root is used to add a grounding tone and allow melodies to be properly parsed by your ears. paired with a specific pattern of cortchets and quavers the melody sounds more organic and pleasant.

How we built it
We distributed the different areas of the project to different members of the team, with a broad focus for each of us:
- Malachi: creating the data encoding / decoding system
- Jack: creating the receiver and linking it to the decoder
- Sarunas: creating the transmitter and linking it to the encoder
- Matty: Creating the visual assets and fronting the GUI
The main technologies used:
- Python
- Pygame
- Pytorch
- Music Theory!
Challenges we ran into
Receiver model
- We could not train the Receiver model until we had the Transmitter mostly working, which meant parallel working was limited.
The architecture for the receiver model can be seen below, with a CNN analysing spectrogramic images
The workflow can be seen below, for the entire network itself. The CNN operates in the middle, and the decoder and encoder stages that were algorithmic operate on either side in real time. 
- Linking together the different parts was only possible later in the pipeline, which lead to a few issues connecting the modules
- The receiver was limited with note sustain, which mean the melody's notes needed clear distinction which limited the choices in the sound.
Accomplishments that we're proud of
Malachi: Creating a deterministic encoder and decoder which can effectively translate messages into song and back to messages. Sarunas: Translating the notes into a song and having it actually sound good. Matty: Creating a visual language to fit with the project Jack: Training a CNN to accurately read a spectrogram and improving accuracy from pure audio analysis.
What we learned
- Distributing responsibilities throughout the team is important
- Scoping is key
- Analyzing audio is really hard
- Algorithmic music that is deterministic is difficult to make sound good
- Drone notes are fantastic
What's next for Planet Symphony?
We will take over the universe (through song)
But really:
- We would like to add more instruments
- Chord functionality
- Different tempo support
- Percussion

link to DEV: https://dev.to/malachi_bance_7742d047c03/planet-symphony-38pf