Reverse Kick

← Back to Index · ← Sustain · ← Transition Map


Definition

A reverse kick is a time-reversed kick envelope: energy swells toward the beat position instead of decaying away from it.

It answers:

“Is energy arriving at the beat, rather than departing from it?”

In this model, reverse is represented as a Sustain state (reverse) used for transition-heavy moments and pre-drop/pre-breakdown tension.


Why It Matters

Reverse kicks and reverb swells are common structural devices in techno and adjacent genres. They are perceptually distinct from:

  • wet sustain (tail after the beat)
  • rising variance magnitude (effect, not mechanism)
  • presence fluctuations (insufficient structural detail)

Without a reverse state, the model cannot explicitly represent this transition signal.


Envelope Contrast

Normal sustain (dry/mid/wet):
  beat hit -> post-beat decay

Reverse sustain:
  pre-beat swell -> beat point (or denied impact into absence)

The key difference is envelope direction around the beat anchor.


Where It Appears

  • Reverse kick before a drop (most common)
  • Reverse swell before a breakdown/absence (denied impact)
  • Long reverb swell that shifts perceptual energy into the pre-beat window

Model Integration

Recommended integration is Sustain extension:

dry | mid | wet | reverse

This keeps reverse inside the existing Foundation -> Sustain hierarchy and avoids introducing a separate transition-only modifier.

Matrix size changes:

  • before: 3 x 3 x 3 = 27 matrix states
  • after: 3 x 3 x 4 = 36 matrix states

With absence, total explicit story labels become 37.


Detection

Reverse detection adds a pre-beat measurement window in kick-frequency bands (~30-120 Hz):

  • rising pre-beat envelope slope
  • meaningful magnitude (not noise-floor bleed)
  • enough pre-beat energy relative to beat-anchor energy

Classification intent:

  • low pre-beat + short post-beat decay -> dry
  • low pre-beat + moderate post-beat decay -> mid
  • low pre-beat + long post-beat decay -> wet
  • rising pre-beat energy toward beat -> reverse

Temporal Threshold

Suggested reverse confirmation:

  • 1 bar default for reverse-specific sustain shift

Rationale:

  • many reverse events are short-lived (1-4 beats)
  • a fixed 2 bar sustain threshold can miss real reverse events

Implementations can increase to 2 bars if false positives appear.


Stream Contract Changes

Sustain Enum

sustain now supports:

dry | mid | wet | reverse

Trigger Enum

trigger can include:

SustainReversed

SustainReversed is an optional specialization of SustainChanged for consumers that want dedicated one-shot cues when reverse starts/ends.

Story Labels

Reverse variants are added for all base stories:

escalation_heavy_reverse
groove_heavy_reverse
wind_down_heavy_reverse
build_medium_reverse
drive_medium_reverse
cool_medium_reverse
rise_light_reverse
minimal_light_reverse
fade_light_reverse

Song Spec Support

song.spec.yaml segments can now use:

- id: reverse_build
  beats: 4
  sustain: reverse
  variance_direction: rising
  expected_story_hint: escalation_heavy_reverse

Visual Guidance

Reverse sustain should drive anticipatory visuals:

  • dry/mid/wet: react on beat and decay after
  • reverse: build before beat and peak at expected impact

When reverse leads into absence, visuals can intentionally collapse at the expected impact point (“denied drop” effect).