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:
wetsustain (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 = 27matrix states - after:
3 x 3 x 4 = 36matrix 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 bardefault for reverse-specific sustain shift
Rationale:
- many reverse events are short-lived (1-4 beats)
- a fixed
2 barsustain 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).