Presence

← Back to Index Β· ← Foundation


Definition

Presence answers one question:

β€œHow clearly can the kick be perceived in the mix right now?”

Presence is a dual-natured property β€” it is both a continuous value and a binary gate, serving two different purposes simultaneously.

The continuous value (0.0 to 1.0) tracks how clearly the kick cuts through the mix at any given moment. This value updates immediately, every frame, and drives smooth visual responses.

The gate is a binary trigger derived from the continuous value crossing a threshold. When the gate opens (presence drops below threshold), a Story transition is triggered. When the gate closes (presence rises above threshold), another transition fires. The gate only fires after passing Temporal Thresholds.

Why both?

  The continuous value  β†’  drives visual intensity and opacity smoothly
  The gate              β†’  triggers discrete story transitions cleanly

  Without continuous: visuals snap jarringly between states
  Without the gate:   story transitions fire on every tiny fluctuation

The Continuous Value

Presence as a continuous value captures the degree to which the kick is perceptible in the mix. It reflects the reality that kicks don’t just appear and disappear β€” they fade, get buried, ghost, and re-emerge.

  Presence = 1.0    Kick fully clear. Cutting through the mix with
                    no competition. You hear every transient, feel
                    every sub-bass pulse. The kick owns the room.

  Presence = 0.7    Slightly obscured. A filter is closing, or the
                    mix is getting denser. The kick is still clearly
                    there but it's sharing space with other elements.

  Presence = 0.5    Half-buried. You can feel the rhythm but the kick
                    is being masked by noise, reverb, or competing
                    low-frequency content. The pulse is there but it's
                    not cutting.

  Presence = 0.3    Barely perceptible. Ghost kicks β€” the DJ has
                    high-passed the kick so only the click remains.
                    Or the kick is almost entirely masked by a heavy
                    buildup. You sense the rhythm more than hear it.

  Presence = 0.0    Gone. The kick is not in the mix. Foundation
                    is absent. There is nothing to measure.

What Affects Presence

Presence drops when the kick becomes harder to perceive. This happens through several real-world mechanisms:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Mechanism                    β”‚  What happens to Presence      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  DJ applies high-pass filter  β”‚  Gradual drop. Sub-bass        β”‚
β”‚  to the kick's channel        β”‚  disappears first, then body.  β”‚
β”‚                               β”‚  Presence falls from 1.0       β”‚
β”‚                               β”‚  smoothly toward 0.0.          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Noise/texture buildup        β”‚  Gradual drop. The kick is     β”‚
β”‚  masks the kick               β”‚  still playing but the rising  β”‚
β”‚                               β”‚  noise floor makes it harder   β”‚
β”‚                               β”‚  to isolate spectrally.        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Kick is muted / removed      β”‚  Rapid drop to 0.0. The kick  β”‚
β”‚  from the mix entirely        β”‚  simply stops. This is the     β”‚
β”‚                               β”‚  classic breakdown trigger.    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  DJ reduces kick velocity     β”‚  Moderate drop. Ghost kicks β€”  β”‚
β”‚  (softer hits)                β”‚  the kick is technically there β”‚
β”‚                               β”‚  but at reduced energy.        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Competing low-frequency      β”‚  Moderate drop. A heavy        β”‚
β”‚  element enters the mix       β”‚  bassline or sub-bass synth    β”‚
β”‚                               β”‚  competes with the kick for    β”‚
β”‚                               β”‚  spectral space.               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Presence and Visuals

The continuous Presence value is available to visual artists for smooth, responsive mappings. It is an immediate value β€” no temporal threshold, no confirmation delay. It updates every frame.

  // Example visual usage:
  shape.opacity     = foundation.presence
  shape.sharpness   = foundation.presence    // blurrier as presence drops
  shape.saturation  = foundation.presence    // desaturates as kick fades

This means that as a DJ slowly filters out the kick, the visuals gradually soften, blur, and fade β€” without any abrupt change. The visual response mirrors the auditory experience.


The Gate

The gate is a binary trigger that fires when the continuous Presence value crosses a defined threshold. It exists specifically to trigger Story transitions.

Continuous presence with gate threshold:

  1.0 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–“β–“β–’β–’β–’β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–’β–’β–“β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
  0.5                   β–“β–“β–“β–’β–’β–’              β–’β–’β–“β–“
  0.0                         β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘
      ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─┬─ ─ ─ ─ ─ ─ ─
                threshold line β”‚              β”‚
                              β”‚              β”‚
                         gate opens     gate closes
                         (presence      (presence
                          dropped        rose back
                          below)         above)

Gate Behavior

The gate does not fire the instant the continuous value crosses the threshold. It waits. See Temporal Thresholds for the full mechanism, but the short version:

  Gate OPEN trigger:
    Continuous presence drops below threshold
    AND stays below for N beats (suggested default: 4 beats / 1 bar)
    THEN gate opens β†’ story transition fires

  Gate CLOSE trigger:
    Continuous presence rises above threshold
    AND stays above for N beats (suggested default: 2 beats)
    THEN gate closes β†’ story transition fires

The asymmetry is intentional. It takes longer to confirm that the kick is gone (4 beats) than to confirm it’s back (2 beats). This reflects the musical reality: a DJ might briefly drop the kick during a transition (which should not trigger a story change), but when the kick returns after a breakdown, the audience and the visual system should respond quickly.

Why the Gate Exists

Without the gate, the model would need to decide β€œis the kick present?” on every frame based on a continuous value. Where do you draw the line? 0.5? 0.3? 0.1? Any fixed threshold would produce jittery story transitions as the continuous value oscillates near the boundary.

The gate solves this with hysteresis β€” the threshold for β€œgone” and the threshold for β€œreturned” can be different values, and both require temporal confirmation. This prevents oscillation and produces clean, decisive story transitions.

  Without gate (raw threshold at 0.3):
  
  Presence:  0.5  0.3  0.2  0.35  0.28  0.31  0.2  0.15  0.1
  Story:     grv  BRK  BRK  grv   BRK   grv   BRK  BRK   BRK
                  ↑         ↑     ↑     ↑
                  Jittery transitions everywhere.
                  Visual system is chaos.

  With gate (threshold 0.3, requires 4 beats below):
  
  Presence:  0.5  0.3  0.2  0.35  0.28  0.31  0.2  0.15  0.1
  Story:     grv  grv  grv  grv   grv   grv   grv  grv   BRK
                                                          ↑
                                              Only fires once,
                                              when it's real.

Presence vs. Weight

Presence and Weight are related but distinct.

Weight measures the character of the kick β€” how heavy, how full, how physically impactful. A kick can be heavy but obscured (high Weight, low Presence) or light but crystal clear (low Weight, high Presence).

Presence measures the perceptibility of the kick β€” how clearly it stands out from the rest of the mix, regardless of its character.

  Example scenarios:

  High Weight, High Presence:
    A massive sub-bass kick in a minimal mix. Nothing competing.
    You feel it in your chest and hear it clearly.
    Visuals: big, bold, sharp.

  High Weight, Low Presence:
    The same massive kick, but a wall of noise is building over it.
    The kick is still heavy β€” the sub-bass is still there β€” but
    you can barely distinguish it from the noise floor.
    Visuals: big but blurry, intense but obscured.

  Low Weight, High Presence:
    A thin, clicky kick in a sparse mix. Not much sub-bass,
    but it cuts through perfectly. You hear every transient.
    Visuals: small but sharp, precise, defined.

  Low Weight, Low Presence:
    A ghost kick, barely audible, in a dense atmospheric section.
    Almost nothing to anchor to.
    Visuals: minimal, fading, nearly absent.

Edge Cases

What about the threshold value itself? The gate threshold is a tunable parameter. A lower threshold (e.g., 0.15) means the model tolerates more obscuring before declaring the kick gone β€” better for noisy live environments but slower to respond to real breakdowns. A higher threshold (e.g., 0.4) makes the model more sensitive β€” quicker to detect breakdowns but more susceptible to false triggers during busy mixes. The right value depends on the sound system and the style of performance. It should be configurable.

What about crossfader kills? A DJ who cuts the kick with the crossfader produces an instant drop to Presence = 0.0 with no gradual fade. The gate should still wait N beats before firing, because the DJ might snap it right back. The continuous value drops to 0 immediately (visuals respond), but the story transition waits.

What about kick rolls going into a breakdown? A rapid kick roll followed by silence is a common techno arrangement. During the roll, Presence is high (the kick is very much there). The moment the roll ends and silence hits, Presence drops to 0. The temporal threshold prevents premature triggering during the roll itself, and the gate fires once the silence is confirmed.



← Back to Index