Skip to content

Latest commit

 

History

History
79 lines (65 loc) · 4 KB

File metadata and controls

79 lines (65 loc) · 4 KB

Confluon

Confluon is an audiovisual instrument powered by a deterministic Rust/WASM engine.

One-sentence concept

Three particle populations compose by negotiating local energy and sensing one another: crowding excites resonant voices, encounters open the spectrum, coherent motion opens a shared drone, and the performer seeds, herds, or disturbs formations without a step grid.

Creative axes

  • Synthesis: additive resonator swarm plus filtered noise.
  • Form: emergent energy-attractor transitions; no sequencer or fixed bars.
  • Visual family: dense, point-built membranes moving through restrained translucent kernel fields; the organisms remain visibly particulate at every scale.
  • Harmony: an overtone partial lattice rather than an octave-repeating scale; aligned motion brings its sustained voices into focus.
  • Energy: breathing ambient motion that can break into dense, unstable clusters.
  • Risk: wild. The simulation is allowed to settle into silence or rupture into noisy transitions; performance gestures are how the player negotiates those states.

Musical contract

The piece does not turn every particle into an oscillator. That produces a diagram, not a composition. Instead, the engine reduces the swarm into a small set of musical signals:

  • local field density controls brightness and noise colour;
  • mean particle energy shapes the resonator spectrum;
  • directional coherence opens the sustained choir;
  • activity controls spatial width and delay feedback;
  • abrupt energy changes excite short resonant strikes;
  • formation count shifts the harmonic root through a six-step cycle;
  • each visible formation owns a sustained voice panned to its screen position and weighted by its size, and a newly born formation rings an emergence bell from where it appeared;
  • cross-population encounter pressure brightens the field, widens its tuning, and shortens the space between sparse tones.
  • pointer pressure and speed open the shared spectrum, add a little air, and pull the field sound towards the contact position.

The visual image and the audio mix read the same deterministic simulation snapshot.

Performance gestures

  • A mouse or hovering pen is a quiet presence. Fast movement alarms nearby organisms; a still pointer attracts attention without letting matter collapse onto it.
  • A poke or click produces a short startle response that survives a quick release.
  • Press and drag: after the initial startle, apply the selected Gather, Orbit, or Divide gesture around the pointer.
  • Gather draws nearby matter towards a protected inner space; Orbit winds it around the gesture without pulling the entire world into it.
  • Shift + drag: temporarily orbit without changing the selected gesture.
  • Option/Alt + drag: temporarily divide and open a cavity.
  • Double click/tap: seed a new local population.
  • Hold S: constrain the system toward a quieter common state; release it to return to local negotiation, often causing a phase transition.
  • R: regenerate the current field.
  • Space: pause or resume.
  • G, O, D: select the touch-friendly Gather, Orbit, or Divide mode.

Performance settings

  • Ecology scales cross-population pursuit and avoidance.
  • Flow changes deterministic simulation time without changing display cadence.
  • Touch changes the strength of all direct gestures.
  • Halo and Memory shape the rendered field and motion history.
  • Halo and Memory also shape shimmer, delay, and room depth, keeping those controls meaningful to both sides of the instrument.
  • Tone tilts the shared Web Audio spectrum between dark and bright.
  • Life sets the particle population, from a sparse 600 to a teeming 4,096.
  • Level changes playback and capture gain without altering the swarm.

The settings and selected gesture are encoded in the URL with the seed. They are therefore part of a reproducible performance state rather than hidden preferences. Featured fields are named starting scores built only from those public parameters; selecting one replaces the live seed and settings without introducing hidden state.