Story

← Back to Index


Definition

A Story is the highest-level concept in the model. It is the answer to:

β€œWhat is this moment of the performance?”

A Story is not a single event (a kick, a beat). It is not a raw value (energy = 0.8). It is an interpretation of what the music is doing right now β€” and where it is going.

Think of a techno set as a book. Individual kicks are letters. Bars are words. Phrases are sentences. A Story is a chapter β€” a named stretch of time with a consistent character that eventually gives way to the next chapter.


Properties

A Story has four properties:

story.name       The current state.
                 A human-readable label: "groove", "breakdown", "escalation", "drop"

story.duration   How long we have been in this story.
                 Measured in bars (not seconds β€” this keeps it tempo-aware).

story.phase      Where we are within this story's lifecycle.
                 One of: ENTERING β†’ SUSTAINING β†’ TRANSITIONING

story.next       Where we are likely going.
                 Predicted based on current Foundation and Variance trends.
                 Can be null β€” the model does not always know what comes next.

Lifecycle

Every Story follows the same lifecycle:

  ENTERING          SUSTAINING              TRANSITIONING         (new story)
     β”‚                                            β”‚
     β–Ό                                            β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”  ──────────────────────────────  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ The  β”‚   The model is confident this    β”‚ Something β”‚
  β”‚story β”‚   is the current state.          β”‚ is        β”‚
  β”‚just  β”‚   Foundation and Variance are    β”‚ changing. β”‚
  β”‚began.β”‚   consistent with the name.      β”‚           β”‚
  β””β”€β”€β”€β”€β”€β”€β”˜                                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     β”‚                                            β”‚
     β”‚  Temporal thresholds                       β”‚  A confirmed break or
     β”‚  have confirmed                            β”‚  shift has been detected.
     β”‚  the new state.                            β”‚  The current story ends.
     β”‚                                            β”‚  A new story enters.
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

ENTERING β€” The story has just begun. The model has confirmed (via temporal thresholds) that a new state is active. Duration is low. This phase is brief β€” typically 1–2 bars.

SUSTAINING β€” The story is in its stable state. Foundation and Variance are consistent with the story name. This is where most time is spent. Duration grows. This can last from a few bars to several minutes.

TRANSITIONING β€” Something is changing. Either Foundation has broken (Presence gate opened), Sustain has shifted, or Variance direction/magnitude has changed significantly. The current story is ending. A new one will enter.


How Stories Are Determined

A Story is the intersection of Foundation state and Variance direction. See Story Matrix for the full mapping.

The short version: the model looks at how heavy the kick is (Weight), whether the kick is present (Presence), how the kick decays (Sustain), and whether the energy around the kick is rising, stable, or falling (Variance Direction). The combination of these values maps to a named Story.


What Triggers a Story Transition

Stories do not change because of individual events. A single loud kick, a one-shot FX, or a momentary filter sweep does not change the Story. Stories change because of confirmed state changes β€” changes that persist long enough to pass Temporal Thresholds.

The primary transition triggers are:

Presence gate opens      The kick has been absent for N beats.
                         The foundation has broken.
                         β†’ Story transitions (e.g., groove β†’ breakdown)

Presence gate closes     The kick has returned for N beats.
                         The foundation is back.
                         β†’ Story transitions (e.g., breakdown β†’ drop, or β†’ groove)

Sustain shifts           The kick's decay character has changed categories
                         (e.g., dry β†’ wet) and held for M bars.
                         β†’ Story transitions or changes character

Variance direction       The trend of energy around the kick has shifted
changes                  (e.g., stable β†’ rising) and held for M bars.
                         β†’ Story transitions (e.g., groove β†’ escalation)

Variance magnitude       The rate of change has spiked dramatically.
spikes                   β†’ Potential story transition (e.g., build β†’ drop)

When There Is No Story

Not every moment of a performance has a Story.

If the kick is absent and has been absent long enough that the Presence gate is open, but no new Foundation has emerged, the model produces no story. The story.name is null.

This is intentional. Silence, noise, or formless ambience between tracks in a DJ set are valid performance moments that don’t need a name. Visual systems should handle a null story gracefully β€” holding a static state, fading to dark, or running a freeform pattern until Foundation returns.

  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ groove β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ drop β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
                          β”‚                    β”‚
                          story = null         story resumes
                          (kick gone,          (kick returns,
                           no anchor,           confirmed,
                           nothing to name)     new story begins)

No foundation, no story. This is a feature, not a limitation.


Examples in Techno

A standard techno arc:

  Minutes:  0          5          10         15         20
            β”‚          β”‚          β”‚          β”‚          β”‚
  Story:    groove ──→ escalation β†’ breakdown β†’ drop ──→ groove
  
  What happened:
  0-5:   Heavy kick, stable energy. Variance = stable. Story = groove.
  5-10:  Same kick, but hi-hats getting busier, filter opening.
         Variance = rising. Story = escalation.
  10-12: Kick disappears (presence gate opens after 4 beats).
         Story = breakdown.
  12-15: Variance rises during breakdown (filter sweep, noise build).
         Story = anticipation (or still breakdown, depending on matrix).
  15:    Kick slams back (presence gate closes after 2 beats).
         Heavy weight, high variance magnitude. Story = drop.
  15-20: Energy settles, variance stabilizes. Story = groove.

A minimal techno set (less dramatic):

  Story:    groove ──→ groove ──→ groove ──→ groove
  
  What happened:
  The kick never left. Variance stayed stable or shifted only slightly.
  The story name didn't change β€” but weight and presence continuously
  drove subtle visual shifts. Not every set has dramatic arcs.

A DJ transition between tracks:

  Story:    groove (track A) ──→ [brief instability] ──→ groove (track B)
  
  What happened:
  During the mix, the kick might drop for 1-2 beats as the DJ aligns
  the incoming track. The temporal threshold (4 beats) prevents this
  from triggering a false story transition. The continuous presence
  value dips slightly, visuals respond subtly, but the Story stays
  "groove" throughout.


← Back to Index