Depends on #54 (continuation/init-audio) and builds on the loop→track continuation issue and the track deck (M19, ADR-0013).
Problem
Between tracks, during warm-up, or when you just want the booth to keep going, there is nothing to fall back on but another hand-loaded track. A generative instrument can do better: compose the next section forever. With medium-DiT continuation (#54 + the loop→track issue) chained — each new segment seeded by the tail of the last — SA3 can produce a seamless, endless B-side in a chosen vibe: an AI radio deck / bottomless crate.
Proposed approach
An autopilot mode on a playback deck: compose an initial track (medium DiT), and as the playhead approaches the end, generate the next segment seeded by the current tail (init-audio + inpaint over the new region, #54) and splice it on seamlessly, steered by a held prompt/palette the performer can change live (the new vibe takes effect at the next segment boundary — honest about the latency). Bounded memory (drop consumed audio), and it yields to the single-slot generation lock so it never starves a live on-demand request.
Acceptance criteria
- Autopilot keeps a deck playing indefinitely with audibly seamless segment joins; changing the prompt/palette steers the next segment.
- Segment generation stays ahead of the playhead (no underrun) and yields to on-demand generation.
- Memory/disk are bounded; stopping autopilot leaves a normal playable track behind.
- Honest UI: vibe changes land at the next boundary, not instantly; strings via i18n; house style;
npx tsc -p tsconfig.app.json --noEmit clean.
Scope & non-goals
In scope: the endless-continuation autopilot on a playback deck. Non-goals: the plumbing (#54) and loop→track continuation (the building-block issue); beat/key-matching the autopilot to the other deck (the bpm/key + #51 territory); a curated infinite-radio with track boundaries/metadata.
Depends on #54 (continuation/init-audio) and builds on the loop→track continuation issue and the track deck (M19, ADR-0013).
Problem
Between tracks, during warm-up, or when you just want the booth to keep going, there is nothing to fall back on but another hand-loaded track. A generative instrument can do better: compose the next section forever. With medium-DiT continuation (#54 + the loop→track issue) chained — each new segment seeded by the tail of the last — SA3 can produce a seamless, endless B-side in a chosen vibe: an AI radio deck / bottomless crate.
Proposed approach
An autopilot mode on a playback deck: compose an initial track (medium DiT), and as the playhead approaches the end, generate the next segment seeded by the current tail (init-audio + inpaint over the new region, #54) and splice it on seamlessly, steered by a held prompt/palette the performer can change live (the new vibe takes effect at the next segment boundary — honest about the latency). Bounded memory (drop consumed audio), and it yields to the single-slot generation lock so it never starves a live on-demand request.
Acceptance criteria
npx tsc -p tsconfig.app.json --noEmitclean.Scope & non-goals
In scope: the endless-continuation autopilot on a playback deck. Non-goals: the plumbing (#54) and loop→track continuation (the building-block issue); beat/key-matching the autopilot to the other deck (the bpm/key + #51 territory); a curated infinite-radio with track boundaries/metadata.