v0.0.2 - proof of concept
outmoded cosmology in the service of composition
quintessence simulates a set of three bodies in orbit around a single unmoving point, in perfect circles, advancing in accordance with the tempo. Melodic information is derived from the relative positions of these bodies.
- PolyPerc engine (from
- a MIDI output
quintessence’s functionality is organized into six screens. Presently, only the first two are populated. the rest will be updated over time.
1: MODEL displays the three bodies in their orbits. Lines are drawn between the three bodies, forming a triangle. These lines brighten and produce triggers when at extreme points (closest or furthest approach).
2: PARAM displays the same data in numerical format. K2 pauses their progress, and K3 resets the epoch. E2 cycles through the 3 radii, then the 3 starting phases, and E3 adjusts the selected parameters.
Because the three bodies are in perfectly circular orbits, their positions are completely determined by their distance from the star (which is inversely proportional to their orbital speed), their starting phase (where on the orbit they were at time zero), and the current simulation time.
Setting the radii determines the structure of the melody; the relative phases determine the exact notes.
quintessence computes the maximum area of a triangle that could be produced by the three bodies and compares the actual area given by their present positions to that hypothetical maximum to generate a percentage value. that value is then scaled according to two parameters (presently only available in the Norns parameters menu) to produce notes across one or more octaves.
When any two bodies are at their closest or furthest extent, a MIDI NOTE ON message is generated with the current note value on every 1/16th note. Thus, one or more bodies orbiting at short radii will generate many short spans of notes, while bodies orbiting close together at large radii will generate long arpeggios.
This is a proof of concept related to the idea I shared here. I plan to add customizable triggers, quantization, and some other parameters in the future. Please DO suggest changes, enhancements, and nice-to-haves in this thread; I will be away from my home and my Norns for a week or so starting Saturday, but as soon as I get back I will work on this again.
- 3:6:9 for a relatively simple, repetitive sequence
- 3:11:22, 3:7:21, etc for simple but longer sequences
- 7:17:31 and other relatively prime ratios for long, complex, sparse sequences
- v0.0.3: load param defaults and load passthrough if not already loaded.
- v0.0.2: output via PolyPerc. MIDI transport and clock. better organization.
- v0.0.1: initial PoC. MIDI only.