From e8280f50a011b7daf746e917c766fc94fab4ca8d Mon Sep 17 00:00:00 2001 From: prompt.ac/@jeffrey Date: Tue, 18 Aug 2026 17:30:29 +0000 Subject: [PATCH] loner: curled gets its beat back — 4-6, at her own speed @jeffrey: "curled should be one extra beat long". Two beats instead of one, and the ratio lands at 0.94x — essentially her own delivery, where at one beat it had been running at twice her speed, the only compressed word in the line. It now ends on bar 1 beat 3, and "in" comes back to the bar 2 downbeat with my on bar 2 beat 3. --- pop/loner/bin/halo3.py | 2 +- pop/loner/c/loner-chart.h | 46 +++++++++++++++++++++++----------------------- pop/loner/vox4/.chart.json | 84 ++++++++++++++++++++++++++++++++++++++++++------------------------------------------ pop/loner/vox4/.manifest.json | 4 ++-- 4 file(s) changed, 68 insertion(s)(+), 68 deletion(s)(-) diff --git a/pop/loner/bin/halo3.py b/pop/loner/bin/halo3.py --- a/pop/loner/bin/halo3.py +++ b/pop/loner/bin/halo3.py @@ -248,7 +248,7 @@ # i·think is bar 4, and "think" ends exactly # on 20 — so OF starts the instant think ends # ("of should start sooner, right after # 'think' ends") with no rest needed at all. - "durs": { 0: 2.0, 1: 2.0, 2: 1.0, 3: 1.5, + "durs": { 0: 2.0, 1: 2.0, 2: 2.0, 3: 1.5, # "my" a beat sooner: the warp is one # sequential frame map, so units cannot # truly overlap — "in" simply ends where diff --git a/pop/loner/c/loner-chart.h b/pop/loner/c/loner-chart.h --- a/pop/loner/c/loner-chart.h +++ b/pop/loner/c/loner-chart.h @@ -15,28 +15,28 @@ static const ChartNote w_whole_line_notes[] = { { 0.00, 2.00, 7 }, { 2.00, 2.00, 5 }, - { 4.00, 1.00, 3 }, - { 5.00, 1.50, 2 }, - { 7.00, 2.00, 0 }, - { 9.00, 1.50, 5 }, - { 10.50, 2.00, 2 }, - { 12.50, 2.00, -2 }, - { 14.50, 2.00, -5 }, - { 16.50, 4.00, 12 }, - { 20.50, 3.00, 10 }, - { 23.50, 3.00, 5 }, - { 26.50, 4.00, 2 }, - { 30.50, 2.00, 3 }, - { 32.50, 2.00, 2 }, - { 34.50, 2.00, 0 }, - { 36.50, 2.00, -2 }, - { 38.50, 2.00, 7 }, - { 40.50, 1.50, 5 }, - { 42.00, 1.50, 3 }, - { 43.50, 2.00, 5 }, - { 45.50, 4.00, 7 }, - { 49.50, 4.00, 3 }, - { 53.50, 3.00, 3 }, + { 4.00, 2.00, 3 }, + { 6.00, 1.50, 2 }, + { 8.00, 2.00, 0 }, + { 10.00, 1.50, 5 }, + { 11.50, 2.00, 2 }, + { 13.50, 2.00, -2 }, + { 15.50, 2.00, -5 }, + { 17.50, 4.00, 12 }, + { 21.50, 3.00, 10 }, + { 24.50, 3.00, 5 }, + { 27.50, 4.00, 2 }, + { 31.50, 2.00, 3 }, + { 33.50, 2.00, 2 }, + { 35.50, 2.00, 0 }, + { 37.50, 2.00, -2 }, + { 39.50, 2.00, 7 }, + { 41.50, 1.50, 5 }, + { 43.00, 1.50, 3 }, + { 44.50, 2.00, 5 }, + { 46.50, 4.00, 7 }, + { 50.50, 4.00, 3 }, + { 54.50, 3.00, 3 }, }; static const ChartNote w_sitting_curled_notes[] = { { 0.00, 3.00, 6 }, @@ -93,7 +93,7 @@ { 4.00, 1.50, 3 }, }; static const ChartPhrase CHART[] = { - { "w-whole-line", 0.580, 56.50, 24, w_whole_line_notes }, + { "w-whole-line", 0.580, 57.50, 24, 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 --- a/pop/loner/vox4/.chart.json +++ b/pop/loner/vox4/.chart.json @@ -1,47 +1,47 @@ { "w-whole-line": { "leadIn": 0.58, - "beats": 56.5, + "beats": 57.5, "voiced": [ [ -0.183, - 6.3643 + 7.3607 ], [ - 6.8218, - 10.2378 + 7.8182, + 11.2342 ], [ - 10.3395, - 16.0837 + 11.3358, + 17.08 ], [ - 16.3175, - 22.9258 + 17.3138, + 23.9323 ], [ - 23.3122, - 30.2052 + 24.3187, + 31.2015 ], [ - 30.317, - 40.2905 + 31.3133, + 41.2868 ], [ - 40.3922, - 43.2897 + 41.3885, + 44.286 ], [ - 43.31, - 45.14 + 44.3063, + 46.1465 ], [ - 45.1807, - 52.887 + 46.1872, + 53.8935 ], [ - 53.0903, - 57.3095 + 54.0968, + 58.316 ] ], "notes": [ @@ -61,153 +61,153 @@ "lead": 0.0 }, { "beat": 4.0, - "dur": 1.0, + "dur": 2.0, "st": 3, "t": "curled", "lead": 0.183 }, { - "beat": 5.0, + "beat": 6.0, "dur": 1.5, "st": 2, "t": "up", "lead": 0.1423 }, { - "beat": 7.0, + "beat": 8.0, "dur": 2.0, "st": 0, "t": "in", "lead": 0.183 }, { - "beat": 9.0, + "beat": 10.0, "dur": 1.5, "st": 5, "t": "myself\u00b7a", "lead": 0.0712 }, { - "beat": 10.5, + "beat": 11.5, "dur": 2.0, "st": 2, "t": "myself\u00b7b", "lead": 0.2643 }, { - "beat": 12.5, + "beat": 13.5, "dur": 2.0, "st": -2, "t": "i", "lead": 0.0915 }, { - "beat": 14.5, + "beat": 15.5, "dur": 2.0, "st": -5, "t": "think", "lead": 0.183 }, { - "beat": 16.5, + "beat": 17.5, "dur": 4.0, "st": 12, "t": "of", "lead": 0.3863 }, { - "beat": 20.5, + "beat": 21.5, "dur": 3.0, "st": 10, "t": "a", "lead": 0.183 }, { - "beat": 23.5, + "beat": 24.5, "dur": 3.0, "st": 5, "t": "stone", "lead": 0.2338 }, { - "beat": 26.5, + "beat": 27.5, "dur": 4.0, "st": 2, "t": "just", "lead": 0.183 }, { - "beat": 30.5, + "beat": 31.5, "dur": 2.0, "st": 3, "t": "wait", "lead": 0.2237 }, { - "beat": 32.5, + "beat": 33.5, "dur": 2.0, "st": 2, "t": "ing", "lead": 0.0915 }, { - "beat": 34.5, + "beat": 35.5, "dur": 2.0, "st": 0, "t": "ve", "lead": 0.183 }, { - "beat": 36.5, + "beat": 37.5, "dur": 2.0, "st": -2, "t": "ry", "lead": 0.0813 }, { - "beat": 38.5, + "beat": 39.5, "dur": 2.0, "st": 7, "t": "pa", "lead": 0.0407 }, { - "beat": 40.5, + "beat": 41.5, "dur": 1.5, "st": 5, "t": "tient", "lead": 0.2033 }, { - "beat": 42.0, + "beat": 43.0, "dur": 1.5, "st": 3, "t": "ly", "lead": 0.183 }, { - "beat": 43.5, + "beat": 44.5, "dur": 2.0, "st": 5, "t": "for", "lead": 0.183 }, { - "beat": 45.5, + "beat": 46.5, "dur": 4.0, "st": 7, "t": "time", "lead": 0.183 }, { - "beat": 49.5, + "beat": 50.5, "dur": 4.0, "st": 3, "t": "to", "lead": 0.183 }, { - "beat": 53.5, + "beat": 54.5, "dur": 3.0, "st": 3, "t": "pass", diff --git a/pop/loner/vox4/.manifest.json b/pop/loner/vox4/.manifest.json --- a/pop/loner/vox4/.manifest.json +++ b/pop/loner/vox4/.manifest.json @@ -124,9 +124,9 @@ 23.0, 23.97 ] ], - "beats": 56.5, + "beats": 57.5, "renders": { - "lead": 28.765 + "lead": 29.26 }, "snaps": [ "curled +65ms", -- tangled.sh