Skip to content

Phase 3 / M4: Add deterministic smoothing and automation lanes #9

Closed

Description

@norbot7865

Objective

Implement bounded, sample-accurate smoothing and built-in automation curves shared by real-time and offline rendering.

Scope

  • Implement deterministic audio-engine smoothing, including zero-duration steps.
  • Add automation lanes/segments/handles with linear, exponential, smoothstep, and hold curves.
  • Define exact endpoint and frame-inclusivity semantics.
  • Implement both ramp forms, automate, cancel-automation!, inspection, and traces.
  • Enforce one authoritative lane per target, deterministic replacement/rejection, and value precedence.
  • Enforce bounded lanes/segments/horizon and explicit queue/limit errors.
  • Test cancellation, overlap, monotonicity, endpoints, no overshoot, exponential constraints, and block-size invariance.
  • Add controlled-gain/filter sweep fixtures and internal test-only lane sampling where audio analysis is ambiguous.

Acceptance criteria

  • Required curves produce exact deterministic endpoints at exact frames.
  • Smoothing and automation are independent of callback block size and never produce NaN/Inf.
  • Spectral sweep and automation audio validation pass; active lanes remain bounded.

Spec: phase-3.md §§12–13, 25–33, 35–36, 40 (Milestone 4), 42.

Activity

  1. added
    enhancementNew feature or request
    phase-3Phase 3: live controls, automation, MIDI, patch transitions, and nREPL
    on Jul 15, 2026
  2. added this to the Phase 3 milestone on Jul 15, 2026
  3. self-assigned this
    on Jul 15, 2026
  4. norbot7865 commented on Jul 15, 2026

    @norbot7865
    CollaboratorAuthor

    Exact-frame controls #19 are merged. Starting built-in smoothing and bounded sample-by-sample automation lanes (ramp, automate, cancellation, overlap replacement, traces, endpoint/curve/block invariance tests) on norbot/issue-9-automation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestphase-3Phase 3: live controls, automation, MIDI, patch transitions, and nREPL

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions