Internally Phase-Locked Play Groups for Verse/Chorus Style Looping
under review
Soi
Description:
Introduce an optional play group mode that internally phase-locks all clips within a song section. The goal is to keep loops inside a section tightly synced with each other while ensuring that each section (verse, chorus, bridge, etc.) always starts from its own beginning, even when sections have different lengths.
Problem:
With the current behavior, there is a tradeoff between phase-locked and free looping:
- In phase-locked mode, loops stay tightly synced to the global transport. However, this breaks verse/chorus style arrangements when sections have different lengths: switching to a new section does not guarantee that it starts at its own bar 1. For example, with a 4-bar verse and an 8-bar chorus loop, switching to the chorus after one verse can cause the chorus to start halfway through its cycle.
- In free (non-phase-locked) mode, all loops always start from their own beginning, which is ideal for verse/chorus transitions. However, loops within a section can no longer be started at arbitrary times and still remain in sync with each other. This increases the risk of accidentally triggering loops out of time, especially in longer sections.
- A typical problematic case is a 12-bar non-repeating chord progression: if a 12-bar loop is not started at the very beginning of the section, it will play out of sync until the entire 12 bars cycle back around. This makes flexible, musical triggering inside a section difficult and error-prone.
Proposed Solution:
Add a play group option such as "Internal phase-lock" that changes how clip playheads behave relative to the group:
1) When the play group is inactive (no clips in the group are playing or recording):
- All clip playheads in the group remain parked at the beginning and do not advance.
- This mirrors free/non-phase-locked behavior while the section is idle.
2) When the play group becomes active (any clip in the group starts playing or recording):
- The play group starts its own internal timeline at the beginning.
- All clip playheads in the group lock to this internal timeline and advance together as long as at least one clip in the group is playing.
- This behaves like phase-lock, but the reference is the moment the group became active rather than the global transport start.
Scope and constraints:
- This mode is most useful for mutually exclusive "play and stop independently" groups that represent song sections (verse, chorus, bridge, etc.).
- It also works well for "one at a time" groups, such as multiple variations of a bass line that are switched between rather than layered; internal phase-lock keeps variation switches smooth and in time, even mid-loop.
- It is not applicable to "all at once" play groups, since by definition those clips always start together and therefore cannot drift out of sync.
Benefits:
- Removes the tradeoff between phase-lock and free looping: users get the benefits of both.
- Song sections can be any length (4 bars, 8 bars, 12 bars, etc.) without breaking sync behavior.
- Each section always starts from its own beginning when triggered.
- Loops within a section can be started or stopped at any time (not only at cycle boundaries) while remaining locked to the section’s internal phase.
- Reduces performance risk in live use by making it harder to accidentally play loops out of sync inside a section.
Examples:
- Verse 4 bars, chorus 8 bars:
- Start the verse; its play group becomes active and defines the internal phase.
- After one verse, trigger the chorus; the chorus always starts at its own bar 1, not halfway through.
- Additional chorus layers or textures can be triggered at any point during the chorus, and they will align to the chorus’s internal timeline.
- 12-bar verse progression:
- The verse group becomes active at bar 1 when the first clip starts.
- A 12-bar pad loop can be added at bar 6; it will align to the group’s internal phase and stay in sync with the progression.
- Stopping all clips in the verse resets the group; the next time the verse is triggered, it again starts from bar 1.
- "One at a time" variation group:
- Several bass line variations belong to a single play group with internal phase-lock enabled.
- Switching from variation A to B mid-loop preserves phase alignment, so the groove remains tight even as variations change.
This summary was automatically generated by GPT-5.1 Thinking on 2025-12-27
.Soi
Original post before chat GPT re-wrote it, Part 1:
A way to ensure that...
1) song sections will always start from the beginning even if they are different lengths, and also
2) all the loops within each song section will always stay synced with each other
THE PROBLEM: PHASE-LOCK VS FREE TRADEOFF
While phase-lock is great for keeping loops synced, it doesn't work for songs that have multiple sections of differing lengths because when switching sections, the new section won’t necessarily start from its beginning. For example, if the verse is 4 bars and the chorus has an 8 bar loop, switching to the chorus after one verse means that the chorus will start playing from halfway through.
While turning phase-lock off (aka "free looping") solves this problem and ensures that loops always start playing from their beginning, the user can no longer start loops at any time within that section and ensure that they stay synced. This is musically limiting and introduces risk of accidentally playing loops out of sync from each other. It’s especially problematic for sections with long loops. For example, if the verse is a 12 bar non-repeating chord progression, any of the 12 bar loops that aren’t started at the beginning of the verse can’t be added until the entire 12 bar verse comes back around to the beginning or else the loops will play out of sync.
PROPOSED SOLUTION: INTERNALLY PHASE-LOCKED PLAY GROUPS
Play groups should have the option of being "internally phase-locked", which would mean...
1) Whenever the play group is inactive (meaning none of its clips is currently playing or recording)...
-All of the clips' playheads wait at the beginning and don't move
-This is "non-phase-locked" aka "free" behavior
2) Whenever the play group becomes active (meaning any of its clips starts playing or recording)...
-All the playheads of this play group start moving from the beginning (including for clips that aren't currently playing) and they all continue moving as long as any clip in that play group is still playing
-This is essentially "phase-locked" behavior except for one important difference: rather than the playheads being synchronized from when the transport became active, they are instead synchronized from when the play group became active
Soi
Part 2:
BENEFITS: NO MORE PHASE-LOCK VS FREE TRADEOFF
Users no longer have to choose between the following benefits- they can have them all!
-Song sections can be any length
-Song sections will always start from the beginning
-Loops within a song section can be started and stopped at any time, not just at the cycle boundary
-Loops with a song section will always stay synced to each other
While "Internal phase-lock" is probably most useful for mutually exclusive playgroups that "play and stop independently" (as in the verse/chorus use case described above), it could also be useful for “one at a time” play groups. For example, a “one at a time” play group might be made up of variations of a musical part (e.g. bass line variations) to be switched between but not played at the same time. Internally phase-locking this group would ensure smooth, synced switching even mid-loop.
Note: “internal phase-lock” is not applicable to "all at once" play groups because by definition, they always start playing together so they can’t get out of sync
ultracello
marked this post as
under review