From ecf00caf2dd1433c21c379d5be780144d5c74463 Mon Sep 17 00:00:00 2001 From: "prompt.ac/@jeffrey" Date: Tue, 18 Aug 2026 01:27:01 -0400 Subject: [PATCH] loner: "pa" back to the F4 she sings, "my" back to bar 2 beat 3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @jeffrey: "the pa in patiently should still be higher note · my should start on bar 2:3 too". The shift comes off "pa": it sings F4, and the leap up from very's A#3 is the point of that phrase rather than something to smooth away. The descent across the word is hers again — pa F4 · tient D#4 · ly C#4. The `shift` mechanism stays in the chart for whenever a unit does need moving. And the rest before "my" comes out, which puts it back on bar 2 beat 3 and carries the whole line back a beat with it — so "waiting" is on bar 8 beat 1 again and "stone" on bar 6 beat 2, the placements that had been displaced by the shift. --- pop/loner/bin/halo3.py | 10 ++--- pop/loner/c/loner-chart.h | 38 +++++++++--------- pop/loner/vox4/.chart.json | 74 +++++++++++++++++------------------ pop/loner/vox4/.manifest.json | 12 +++--- 4 files changed, 66 insertions(+), 68 deletions(-) diff --git a/pop/loner/bin/halo3.py b/pop/loner/bin/halo3.py index a98b93534..61e071e7d 100644 --- a/pop/loner/bin/halo3.py +++ b/pop/loner/bin/halo3.py @@ -252,10 +252,10 @@ CHART = { "sylls": { 12: [(None, "ve"), (15.05, "ry")], 13: [(None, "pa"), (16.80, "tient"), (17.70, "ly")] }, - # "pa" sings F4, a leap up from very's A#3. - # Down one scale step to D#4 keeps the phrase - # from jumping before it descends. - "shift": { 16: -2 }, + # "pa" stays on the F4 she sings — the leap up + # from very's A#3 is the point of the phrase, + # not something to smooth away. (`shift` is + # still there if a unit ever needs moving.) # source seconds, read off her onsets, for the # words whisper-1 mistimed. PRE-split indices. "end": 24.25, @@ -284,8 +284,6 @@ CHART = { # 1-beat rest, which lands "just" square on the # bar 8 downbeat. "gaps": { 3: 0.5, # "in" leans in behind the downbeat - 4: 1.0, # …and a beat before "my", - # everything after shifting with it } }, "w-sitting-curled": { "slice": "f-sitting-curled", "beats": 11.0 }, "w-i-think": { "slice": "f-i-think", "beats": 3.5 }, diff --git a/pop/loner/c/loner-chart.h b/pop/loner/c/loner-chart.h index 940e520e0..e13fab2de 100644 --- a/pop/loner/c/loner-chart.h +++ b/pop/loner/c/loner-chart.h @@ -18,24 +18,24 @@ static const ChartNote w_whole_line_notes[] = { { 4.00, 2.50, 3 }, { 6.50, 1.50, 2 }, { 8.50, 1.50, 0 }, - { 11.00, 2.00, 5 }, - { 13.00, 2.00, 2 }, - { 15.00, 2.00, -2 }, - { 17.00, 2.00, -5 }, - { 19.00, 4.00, 12 }, - { 23.00, 3.00, 10 }, - { 26.00, 3.00, 5 }, - { 29.00, 4.00, 2 }, - { 33.00, 4.00, 3 }, - { 37.00, 2.00, 0 }, - { 39.00, 2.00, -2 }, - { 41.00, 4.00, 5 }, - { 45.00, 1.50, 5 }, - { 46.50, 1.50, 3 }, - { 48.00, 2.00, 5 }, - { 50.00, 4.50, 7 }, - { 54.50, 4.00, 3 }, - { 58.50, 3.00, 3 }, + { 10.00, 2.00, 5 }, + { 12.00, 2.00, 2 }, + { 14.00, 2.00, -2 }, + { 16.00, 2.00, -5 }, + { 18.00, 4.00, 12 }, + { 22.00, 3.00, 10 }, + { 25.00, 3.00, 5 }, + { 28.00, 4.00, 2 }, + { 32.00, 4.00, 3 }, + { 36.00, 2.00, 0 }, + { 38.00, 2.00, -2 }, + { 40.00, 4.00, 7 }, + { 44.00, 1.50, 5 }, + { 45.50, 1.50, 3 }, + { 47.00, 2.00, 5 }, + { 49.00, 4.50, 7 }, + { 53.50, 4.00, 3 }, + { 57.50, 3.00, 3 }, }; static const ChartNote w_sitting_curled_notes[] = { { 0.00, 3.00, 6 }, @@ -92,7 +92,7 @@ static const ChartNote w_n_for_time_to_pass_notes[] = { }; static const ChartPhrase CHART[] = { - { "w-whole-line", 0.490, 61.50, 23, w_whole_line_notes }, + { "w-whole-line", 0.490, 60.50, 23, w_whole_line_notes }, { "w-sitting-curled", 0.020, 11.00, 5, w_sitting_curled_notes }, { "w-i-think", 0.020, 3.50, 2, w_i_think_notes }, { "w-of-a-stone", 0.000, 8.00, 3, w_of_a_stone_notes }, diff --git a/pop/loner/vox4/.chart.json b/pop/loner/vox4/.chart.json index 9ebd331cc..405a6be1d 100644 --- a/pop/loner/vox4/.chart.json +++ b/pop/loner/vox4/.chart.json @@ -1,7 +1,7 @@ { "w-whole-line": { "leadIn": 0.49, - "beats": 61.5, + "beats": 60.5, "voiced": [ [ 0.0, @@ -9,39 +9,39 @@ ], [ 8.4993, - 12.9015 + 11.895 ], [ - 13.0032, - 18.7575 + 11.9967, + 17.7612 ], [ - 19.0015, - 25.6505 + 17.995, + 24.6542 ], [ - 25.9962, - 32.696 + 24.9998, + 31.6997 ], [ - 33.001, - 44.896 + 32.0047, + 43.8997 ], [ - 44.9977, - 47.9358 + 44.0013, + 46.9395 ], [ - 47.9968, - 49.898 + 47.0005, + 48.9017 ], [ - 49.9997, - 58.0618 + 49.0033, + 57.0655 ], [ - 58.255, - 62.3115 + 57.2587, + 61.3152 ] ], "notes": [ @@ -81,126 +81,126 @@ "lead": 0.0 }, { - "beat": 11.0, + "beat": 10.0, "dur": 2.0, "st": 5, "t": "myself\u00b7a", "lead": 0.0 }, { - "beat": 13.0, + "beat": 12.0, "dur": 2.0, "st": 2, "t": "myself\u00b7b", "lead": 0.1017 }, { - "beat": 15.0, + "beat": 14.0, "dur": 2.0, "st": -2, "t": "i", "lead": 0.0 }, { - "beat": 17.0, + "beat": 16.0, "dur": 2.0, "st": -5, "t": "think", "lead": 0.0 }, { - "beat": 19.0, + "beat": 18.0, "dur": 4.0, "st": 12, "t": "of", "lead": 0.2033 }, { - "beat": 23.0, + "beat": 22.0, "dur": 3.0, "st": 10, "t": "a", "lead": 0.0 }, { - "beat": 26.0, + "beat": 25.0, "dur": 3.0, "st": 5, "t": "stone", "lead": 0.0508 }, { - "beat": 29.0, + "beat": 28.0, "dur": 4.0, "st": 2, "t": "just", "lead": 0.0 }, { - "beat": 33.0, + "beat": 32.0, "dur": 4.0, "st": 3, "t": "waiting", "lead": 0.244 }, { - "beat": 37.0, + "beat": 36.0, "dur": 2.0, "st": 0, "t": "ve", "lead": 0.0 }, { - "beat": 39.0, + "beat": 38.0, "dur": 2.0, "st": -2, "t": "ry", "lead": 0.0 }, { - "beat": 41.0, + "beat": 40.0, "dur": 4.0, - "st": 5, + "st": 7, "t": "pa", "lead": 0.0 }, { - "beat": 45.0, + "beat": 44.0, "dur": 1.5, "st": 5, "t": "tient", "lead": 0.0915 }, { - "beat": 46.5, + "beat": 45.5, "dur": 1.5, "st": 3, "t": "ly", "lead": 0.0 }, { - "beat": 48.0, + "beat": 47.0, "dur": 2.0, "st": 5, "t": "for", "lead": 0.0508 }, { - "beat": 50.0, + "beat": 49.0, "dur": 4.5, "st": 7, "t": "time", "lead": 0.0712 }, { - "beat": 54.5, + "beat": 53.5, "dur": 4.0, "st": 3, "t": "to", "lead": 0.0 }, { - "beat": 58.5, + "beat": 57.5, "dur": 3.0, "st": 3, "t": "pass", diff --git a/pop/loner/vox4/.manifest.json b/pop/loner/vox4/.manifest.json index db138a5e9..0a1e4dc78 100644 --- a/pop/loner/vox4/.manifest.json +++ b/pop/loner/vox4/.manifest.json @@ -2,13 +2,13 @@ "w-whole-line": { "slice": "f-whole-line", "lead_in": 0.49, - "beats": 61.5, + "beats": 60.5, "renders": { - "lead": 31.135, - "8ve-a": 31.135, - "8ve-b": 31.135, - "low3": 31.135, - "low5": 31.135 + "lead": 30.645, + "8ve-a": 30.645, + "8ve-b": 30.645, + "low3": 30.645, + "low5": 30.645 }, "snaps": [ "curled +65ms", -- 2.51.2