Constellation Prototype (Vive)

    • Audio, C#, Design, Prototyping
    • Unity, Csound
    • Self

Constellation is a 3D music sequencer project i have been involved with for several years on and off in the Unity game engine. It is a unique music application/experience based upon the idea of being able to rotate a musical idea along a 3D while viewing it on 2D screen.

The name of the app is based on the phenomenon that any given arrangement of stars in a constellation is not actually equidistant from the viewer. Instead stars are at different levels of distance from the viewer. Thus rotation of the constellation from a center point would result in vastly different patterns than what was originally perceived.

 
The basic idea revolves around a fairly common grid based sequencer approach that many application and hardware sequencers take, where pitch is controlled by the vertical (Y) axis and time the horizontal (X) axis.
In this case, however i have a third axis, making the design a 8x8x8 cube. This last axis (Z) controls timbre with different instruments playing. Rotating the cube then not only changes what notes or pitches are playing at various times, it also changes the instrument used to play them.
Because the sequencer rotations are somewhat constrained in terms of outcomes, the resulting transformations of the sequence can be heard as more or less distantly related to the original idea, but in a slightly different manner than typical motivic transformation via inversion, retrograde and so on.
This prototype uses Csound as the sound engine running within Unity as well as a rudimentary cross modulation between layers. Future expansions will revise the interaction to be more intuitive, and will have a 16 x 16 x 16 cube, as well as many more cross modulating and processing capabilities.

Coding Notes:

The project required UI design and management, with custom data structures for each Layer and a JSON script export to save and recall settings. Sequencer messages were translated and sent to the Csound scripts for the audio engine.