v0.1.0 - beta quality
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.
3: MODS displays modulation destinations and the values being sent to them. This is mostly a way for users to debug their configurations; you need to change mod parameters in the params menu of Norns.
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.
PolyPerc engine parameters and modulation destinations and amounts can be set in the Norns parameters menu. Distances (between AB, BC, and CA) can modulate panning, filter cutoff, and pulse width, and for those three parameters, your engine settings are used as offsets for the modulation parameters.
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.
- 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.1.0: engine parameters and modulation matrix
- 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.