What I found:
While looking back on some old projects, I dug up something wonderful. It is a simple idea, creating music from the ratios found among the orbital periods of stellar bodies.
Each body (planet) has a single note assigned to it, this note is selected from a scale and the organization of the pitches is based in either the mass or diameter of the celestial body.
It has been at least three years and I have yet to find the notes I took on this idea so I will have to recalculate what the ratios are.
The rhythm of this musical idea comes from the orbital periods, or how long each planet takes to orbit the sun. I took Mercury as my reference point since it orbits the fastest. One orbit of Mercury’s was then used to find a ratio of all other planets.
Finally, the note duration was determined by the distance from the sun, this was purely subjective as I thought it gave a nice balance between the persistent ticking of mercury and the rarer and more impactful low tones of Saturn and Jupiter.
At the time I was making this I thought it would be very cool to have a visual to accompany it, well, here’s the perfect opportunity.
What I am going to change:
The initial project was relatively rough, I used a very similar sound for each note which makes it cohesive but I don’t find it particularly compelling. As I take the time to edit the project and work on it further, my main goal will be doing more sound design. I would like to characterize the planets more with their sounds and make something more generally pleasant sounding.
I also want to spend some time turning this from an endless loop into an arranged piece of music, which conveys a stronger sense of direction.
What I am going to add:
As stated above, I would like to visualize this, I think a very direct visual of abstract planets orbiting a sun will work wonderfully. To begin illustrating this idea, I have made a new p5.js sketch that simply shows a rough orbit for each planet. The scale is roughly accurate in that the orbits represent the average distance from the sun for each planet, though, they are perfectly circular and flat. Below is the output of that sketch, that tiny little spec in the middle is the sun (at this resolution the sun isn’t actually visible, the planets themselves will be orders of magnitude smaller) and the largest circle is the orbit of Neptune.

I think I will have to spend some time discovering a good balance between accuracy and legibility, I don’t imagine I’ll keep the sun this small and the planets will be impossible to see at this scale (as they are, in fact, incredibly small next to the sun).
Below is the code that produced the above image
const diameterOrbitScale = .075;
function setup() {
createCanvas(diameterOrbitScale*3000, diameterOrbitScale*3000, WEBGL2);
noLoop();
}
function draw() {
background(225);
stroke(color(0,0,0)); // Black outline
strokeWeight(1); // Thin outline
// The Sun
push(); // begin drawing group with isolated styling/effects
fill(color(255, 255, 0)); // yellow
noStroke(); // No Outline
circle(width/2, height/2, diameterOrbitScale*1); // Sun
pop(); // stop drawing group
// Inner Orbits
noFill(); // No fill color
circle(width/2, height/2, diameterOrbitScale*42); // Mercury orbit
circle(width/2, height/2, diameterOrbitScale*75); // Venus orbit
circle(width/2, height/2, diameterOrbitScale*110); // Earth orbit
circle(width/2, height/2, diameterOrbitScale*165); // Mars orbit
// Outer Orbits
circle(width/2, height/2, diameterOrbitScale*560); // Jupiter orbit
circle(width/2, height/2, diameterOrbitScale*1000); // Saturn orbit
circle(width/2, height/2, diameterOrbitScale*2000); // Uranus orbit
circle(width/2, height/2, diameterOrbitScale*3000); // Neptune orbit
}