Kepler's Orrery
Generative music based on gravity equations.

"Cylons" running on the iPhone.
  • Kepler's Orrery runs on the iPhone!
    Get it from the App Store.
  • Kepler's Orrery is a generative music system that uses gravity equations to compose and play ambient music.

    Each simulation starts with a collection of bodies that attract each other, move, and swirl around under the influence of their mutual gravity.

    When the bodies collide, they make music. Each one is assigned a melody and an instrument and plays its next note at each collision.

    Simulations are set up with "world" files that specify position, mass, and velocity for each body, as well as their melodies and instruments, and world metadata that defines simulation parameters such as step size, modifications to gravitational constants, etc.

    The music it makes differs with each world. Sometimes slow and ambient; sometimes random, sharp, and surprising.

    While the simulations are based on gravitational equations, and therefore deterministic, from a listener's point of view, it is difficult to predict what is going to happen next, and so the soundscapes tend to remain fresh.

    The Java version of Kepler's Orrery is Open Source.
    The player code has been released under GPL; the worlds (think of them as the "songs") under Creative Commons (attribution, share-alike). I'm hosting the code on You can browse the source code anonymously, and download the source if you register (free) and log in.


    Watch some videos!
    See it running live in an applet!
    Some notes about the algorithm
    Get it from the App Store for your iPhone.

    Portions of the n-body simulator code were derived from code supplied with Introduction to Programming in Java: An Interdisciplinary Approach, by Robert Sedgewick and Kevin Wayne, Addison-Wesley, 2007. ISBN 0-321-49805-4
    (See the source code for details)