К содержаниюADFACTORY / SONG / ITERATION 4 · EVERY WORD ON THE BEAT24.09.2026 · f5c3870848
Тот же goPure · Targ как доказательство · итерация 4
Каждое слово на долю: план итерации 4
Итерация 3 дышит; Targ точнее на ударных барабанов. Измерено по фразам: ударные слоги знаменательных слов в ±40 мс от восьмых — Targ 0,61, версия 2 0,54, A 0,46, B 0,49 (шанс 0,28). План: текст пишется под бит-карту, два намеренно разных размера, измерение forced alignment до прослушивания, полы дыхания итерации 3
Статус: план опубликован до первой покупки; ссылка передана владельцу. Генерация начинается после публикации, если владелец не прокомментирует план. Оценка владельца здесь никем не присваивается.
Ревизии плана после публикации
v01 (2026-09-24 03:50 UTC): Plan published with the lyricists' texts (T: 55 phrases, binary fit 0.80; H checkpoint) before any purchase; link given to the owner.
v01.1 (2026-09-24 04:00 UTC): Text panel closed: both texts attacked on two lenses (native Ukrainian; advertorial and product truth) with an adversarial verifier. T: 5 confirmed defects fixed («лиш цей крем»; «тінь його першої любові»; че́рез mis-stress and the car callback «Це ж та, через яку в машині я сиділа»; dangling «ніжно»; «…до речі» restored as the afterthought) plus 8 minor fixes; H: verifier rejected all 5 serious findings, 5 minor fixes applied (Усміхнулась, «заломів поменшало», «ніжно», «щовечора», «Шість тижнів — не вірю»). Builder rule: a stressed function word ending a phrase lands on a beat (the climax «…бачу себе́» on beat 3). Predictions: T 0.574 within ±40 ms, 30.9 ms, 2.88 syl/s; H 0.494, 46.4 ms, 2.47 syl/s → H stays the declared own-meter test (one request). Blind-ear calibration (mentor scene): Gemini ranks v2 > Targ > B > A, 4 of 6 pairs agree with the measured crispness of the same excerpts → «in sync» verdicts are supporting evidence, the measured rows decide; the second calibration request ended with HTTP 524 (outcome unresolved, not repeated).
v01.1 (2026-09-24 03:40 UTC): Publication: the Cloudflare account was at its 100-project limit; on the owner's instruction the five oldest projects (all created 2025-12-02/03, no custom domains, no deployment since 2025-12-09) were deleted after two independent read-only checks, and gopure-song-v4-f5c3870848 was created (evidence: preparation/cloudflare-cleanup-v01.json).
01 / Слова → измеримые требования
Как я понял задачу
Каждая фраза §0 брифа превращена в метрику, гейт и место в коде. Главное: «на долю» измеряется не ASR-часами, а forced alignment на вокальном стеме против барабанной сетки, с шансом рядом; текст пишется под карту до покупки; всё, что дала итерация 3 (дыхание, форма, хук, кода), становится полом.
Слова владельца
Метрика
Гейт
Где в коде
«Iteration 3 is the better direction: the song breathes, it has a form and a returning hook, the coda lands one fact at a time… Keep all of that.»
Строки дыхания итерации 3 на каждом дубле: слог/с по спетому, самая плотная секция, возвраты хука, факты коды с паузой, паузы на границах мыслей, фрагментация
«Keep every finding of iteration 3 (§1 and §7) — do not rediscover them, build on them.»
Перенесено: сид держит темп; прозаические просьбы о паузах игнорируются; только [Pause] двигает паузы; многоточия глотают строки; half-time кода уходит в речь; ударения ки́слоти/по́смішка/чужу́; защитный разбор ответов Gemini; локатор сцен для пар; лимит вывода панели
Не покупать заново раскладки строфа/двустишия, не тестировать AW 0,88
lens3-carry-forward.md → brief-v4, этот план
02 / Ритмическая дельта — измерено, не почувствовано
Targ · версия 2 · A · B одним инструментом
Инструмент итерации 4: вокальный стем (Demucs) → forced alignment (torchaudio MMS_FA, кириллица романизирована, английский как есть) → начало гласной каждого слога → расстояние до ближайшей восьмой/доли сетки, построенной по пикам ударных. Единица сравнения — ударный слог знаменательного слова: справедливо для английского (81 % односложных) и украинского (≈ 2,5 слога на слово). Каждый процент рядом с шансом (окно ÷ шаг сетки).
Строка
Targ (10/10)
версия 2
A (итер. 3)
B (итер. 3)
Шанс
Что значит
Ударные слоги знаменательных слов в ±40 мс от сетки восьмых
0,61
0,54
0,46
0,49
0,28
Главная строка (P0). Часы — начало гласной ударного слога (forced alignment), сетка — восьмые барабанов
… в ±60 мс от восьмых
0,70
0,63
0,58
0,59
0,41
Шире окно — разрыв Targ ↔ A/B остаётся
Ударные «плавают»: ни на восьмой (±40), ни на 16-й между восьмыми (±30)
0,29
0,38
0,45
0,42
0,52
Разрыв — именно «плавание»: Targ 0,29 против A 0,45 / B 0,42
Ударные на 16-й между восьмыми (синкопа, ±30 мс)
0,10
0,08
0,09
0,09
0,21
Синкопа по 16-м одинаково редка у всех (ниже шанса) — не она объясняет разрыв
… в ±40 мс от доли (четверти)
0,35
0,46
0,31
0,30
0,14
Targ синкопирует: половина его точных ударных стоит на слабых восьмых
Медиана |отклонения| ударных от восьмых, мс
29,8
36,0
48,3
43,1
72,50
P0 ≤ 35 мс (шанс — четверть восьмой, 72,5 мс)
Систематический сдвиг ударных (медиана со знаком), мс
9,1
18,3
19,4
11,4
—
+ = позже бита; у всей песни сдвиг мал — проблема в секциях
A: припевы опаздывают на +45…+75 мс; v2: самоценность +66
Худшая секция: доля ударных в ±40 мс
0,53
0,30
0,28
0,36
0,28
«каждая фраза»: ни одна секция не должна падать к шансу
Начала строк (первый слог) в ±40 мс от восьмых
0,50
0,48
0,50
0,69
0,28
Targ начинает строки с затакта; у B начала точнее, чем у Targ
Длительности нот кратны 16-й (IOI ±25 %)
0,61
0,55
0,50
0,57
0,50
Фазонезависимая строка «ноты — это доли»; A на уровне шанса
Ударные на долях: доля на 1 и 3 (сильные)
0,55
0,53
0,38
0,65
0,50
A кладёт ударные слова на 2 и 4…
Безударные на долях: доля на 1 и 3 (контроль)
0,40
0,25
0,82
0,21
0,50
…а безударные слоги — на 1 и 3 (0,82): метр текста спорит с метром музыки
Все слоги в ±40 мс от восьмых
0,50
0,48
0,44
0,52
0,28
Без учёта ударения разрыв меньше: важны именно ударные
Старая строка: все онсеты стема в ±40 мс от восьмых (инструмент v1, исходная сетка)
0,52
0,51
0,42
0,47
0,28
Значения из брифа владельца (tools/song_beat_sync.py v1)
То же, сетка уточнена по пикам ударных (~10 мс)
0,45
0,51
0,42
0,54
0,28
Нестабильна к сетке (Targ 0,52 → 0,445; B 0,47 → 0,535) → info, не P0
Темп, BPM (измерено по уточнённой сетке)
103,5
103,5
102,9
109,6
—
Сид держит 103,4 BPM; B дрейфует 107–110
Слова, выровненные с низкой уверенностью (исключены)
39
10
6
16
—
score < 0,3: в основном служебные слова и держанные затакты Targ («I», «She»)
Ударных знаменательных слов (событий)
230
220
192
185
—
—
Проверка инструмента. Вокальный стем Targ задержан на 50 мс против неизменной музыки → выровненные слоги сдвинулись на медиану 50.0 мс (90-й перцентиль ошибки 15.0 мс); доля в ±40 мс упала 0,61 → 0.183, а после вычитания систематического сдвига осталась 0.642: инструмент следит за звуком, а не за текстом. Часы: начало гласной (onset) даёт самое плотное распределение на всех четырёх треках (Targ: 29.8 мс против 36.5 у согласной и 57.6 у сырого CTC) и сдвиг Targ около нуля (+9 мс) — поэтому P-центр слога = начало гласной. Сетка: трекер ударов (hop 23 мс) уточнён до пиков ударных (5,8 мс) и сглажен прямой по ±4 долям; джиттер Targ 3.5 мс, v2 3.9, A 11.3, B 4.5. Неопределённость: CTC на пении ±20–60 мс; биномиальная sd доли 0,61 на 230 событиях ≈ 0,032.
Отпечаток: куда ложатся ударные слоги относительно восьмых
Столбики — доля ударных слогов в корзине 10 мс; серая полоса — ±40 мс; пунктир — шанс (равномерно). У Targ пик у нуля узкий; у A и B — шире и с «плечом» поздних ударных.
По секциям
Доля ударных в ±40 мс по секциям, подпись — систематический сдвиг секции (+ = позже бита). Бледные столбики — меньше 10 ударных (не судятся). Пунктир — Targ целиком (0,61), точки — шанс.
Послушать целиком
Targ · оригинал (10/10 со слов владельца)3:14.5 · 128 kbps · постоянный gain, без ретайминга
Версия 2 · принята агентом3:17.1 · 128 kbps · постоянный gain, без ретайминга
A · итерация 3 (баллада, хук «Я дивлюсь у дзеркало»)3:48.0 · 128 kbps · постоянный gain, без ретайминга
B · итерация 3 (фолк-поп, рефрен-вопрос)3:53.2 · 128 kbps · постоянный gain, без ретайминга
Громкость выровнена постоянным gain; без ретайминга.
Рычаг текста: регулярность ударных против измеренной чёткости (158 фраз версии 2, A и B)
Для каждой спетой фразы версии 2, A и B посчитана регулярность ударных по тексту (binary fit — доля промежутков между ударными знаменательных слов ровно в один безударный слог; ternary — ровно в два) и сопоставлена с измеренной долей её ударных в ±40 мс от восьмых. Регулярные двудольные фразы пелись на уровне Targ (≈ 0,59, медиана 33 мс), нерегулярные — на 0,47; в версии 2 (сильный грув, сид 0,88) эффект самый чистый (0,47 → 0,54 → 0,61), в A и B (сид 0,35–0,40) слабее. В текстах A и B регулярными были лишь 11–12 % фраз. Трёхдольная регулярность сама по себе даёт смешанную картину (мало фраз, разные треки): это слабее доказанный рычаг — поэтому вариант H помечен как исследовательский.
Регулярность ударных во фразе
фраз
доля в ±40 мс
медиана |откл.|, мс
Где
binary fit: нерегулярные (< 0,34)
102
0,47
48,7
v2 + A + B
binary fit: средние (0,34–0,67)
38
0,49
44,2
v2 + A + B
binary fit: регулярные (≥ 0,67)
18
0,59
32,7
v2 + A + B
binary fit: нерегулярные (< 0,34)
35
0,47
46,5
версия 2 (сид 0,88)
binary fit: средние (0,34–0,67)
16
0,54
39,9
версия 2 (сид 0,88)
binary fit: регулярные (≥ 0,67)
6
0,61
19,6
версия 2 (сид 0,88)
ternary fit: нерегулярные (< 0,34)
99
0,49
47,4
v2 + A + B
ternary fit: средние (0,34–0,67)
39
0,46
46,5
v2 + A + B
ternary fit: регулярные (≥ 0,67)
20
0,52
41,2
v2 + A + B
max(binary, ternary): нерегулярные (< 0,34)
51
0,43
50,6
v2 + A + B
max(binary, ternary): средние (0,34–0,67)
69
0,49
45,3
v2 + A + B
max(binary, ternary): регулярные (≥ 0,67)
38
0,55
38,6
v2 + A + B
Рычаги провайдера: 14 дублей итерации 3 тем же инструментом
Те же 14 дублей итерации 3 измерены новым инструментом. Средняя доля ударных в ±40 мс: сид 0,35 (все дубли A) 0.469, сид 0,40 (B) 0.531, контроль C — слова версии 2 при сиде 0,60 — 0.547 против 0.536 у версии 2 с теми же словами при сиде 0,88. Раскладка: A1a 0.465 → строки [Pause] (A2c) 0.446, строфа на мысль 0.511, двустишия с «…» 0.483. Главное напряжение: между дублями чёткость росла с плотностью (Спирмен ρ = +0,74 со слог/с, −0,68 с долей пауз): дубли в пределах пола ≤ 2,9 слог/с — в среднем 0,47 (лучший 0,50), быстрее — 0,53; лучшие дубли (B2a_1 0,61, C1a_1 0,58) были и самыми плотными. Но внутри медленных песен A и B медленные регулярные фразы — самые чёткие (0,71, n = 6) против нерегулярных (0,52): скорость сама не нужна — нужен регулярный текст и сильный грув; ставка T — развязать чёткость и плотность. Разброс между двумя дублями одной заявки велик (0,57 и 0,48; 0,61 и 0,47) — выбор между дублями — часть метода. Ремикс того же дубля потерял чёткость: A1a_1 0.503 → мастер A 0.458 — вставленные такты коды длиной 2,32 с (такт при 103,4) в дубле с темпом 102,9 сдвигают сетку на ~12 мс за вставку; вставки в итерации 4 — ровно такт измеренного темпа дубля, и чёткость перемеряется после каждого ремикса.
Дубль (итерация 3)
Что менялось
AW
Ударные ±40 мс
Медиана |откл.|, мс
Начала строк ±40
Худший сдвиг секции, мс
IOI
На 1/3
take_A1a_1
текст A, строка на фразу
0,35
0,50
39,5
0,51
72
0,53
0,39
take_A1a_2
текст A, строка на фразу
0,35
0,43
50,9
0,49
99
0,51
0,38
take_A2a_1
A: строфа на мысль
0,35
0,50
39,8
0,73
27
0,54
0,51
take_A2a_2
A: строфа на мысль
0,35
0,47
42,2
0,44
69
0,55
0,64
take_A2b_1
A: двустишия с «…»
0,35
0,44
45,7
0,53
81
0,50
0,67
take_A2b_2
A: двустишия с «…»
0,35
0,52
34,9
0,44
62
0,58
0,48
take_A2c_1
A: строки [Pause]
0,35
0,43
51,5
0,52
47
0,53
0,59
take_A2c_2
A: строки [Pause]
0,35
0,46
49,4
0,48
64
0,53
0,60
take_B1a_1
текст B
0,40
0,57
31,4
0,62
47
0,61
0,55
take_B1a_2
текст B
0,40
0,48
43,0
0,68
42
0,57
0,67
take_B2a_1
B: строфа на мысль
0,40
0,61
24,8
0,58
23
0,60
0,56
take_B2a_2
B: строфа на мысль
0,40
0,47
45,0
0,56
80
0,51
0,56
take_C1a_1
контроль: слова версии 2, сид 0,60
0,60
0,58
24,6
0,64
13
0,61
0,47
take_C1a_2
контроль: слова версии 2, сид 0,60
0,60
0,52
37,8
0,47
33
0,57
0,56
мастер A (ремикс A1a_1)
+ вставленные такты коды 2,32 с при темпе дубля 102,9
0,35
0,46
48,3
0,50
74
0,50
0,38
мастер B (ремикс B1a_2)
+ паузы коды и подъём голоса
0,40
0,49
43,1
0,69
38
0,57
0,65
версия 2 (r5a_1)
слова версии 2 под часы Targ
0,88
0,54
36,0
0,48
66
0,55
0,53
02b / Худшие фразы
Десять худших фраз A и B рядом с фразой Targ той же мысли
Для каждой фразы A и B: медиана |отклонения| её ударных слогов от восьмых; десять худших (минимум два ударных) рядом с фразой Targ, несущей ту же мысль (наибольшее перекрытие с диапазоном мысли в оригинале). Числа после слов — отклонение ударной гласной в мс (+ поздно). Пары — отрывки с постоянным gain, без ретайминга.
A: десять самых «плывущих» фраз
Медиана отклонения по фразам: A 49,0 мс, Targ 38,0 мс; фраз с медианой ≤ 35 мс: A 32 %, Targ 47 %.
медиана |откл.| 78,4 мс · в ±40 мс 0,25 · начало фразы -22 мс П’ятнадцять +32 хвилин +100 сиділа +79 машині +78 мс
I walked to my car and sat there for fifteen
медиана |откл.| 12,7 мс · в ±40 мс 0,67 car +13 sat -124 fifteen +10 мс
#9 · мысль t18 · A 1:14.4–1:17.5 · Targ 1:07.7
На шиї бачу сухість, смуги, заломи.
медиана |откл.| 74,2 мс · в ±40 мс 0,40 · начало фразы +46 мс шиї +17 бачу +74 сухість -4 смуги +75 заломи +94 мс
I was angry at what I'd seen
медиана |откл.| 54,3 мс · в ±40 мс 0,50 angry +99 seen +10 мс
#10 · мысль t22 · A 1:34.2–1:36.2 · Targ 1:38.9
Сміється: «А ти що наносиш?»
медиана |откл.| 73,6 мс · в ±40 мс 0,50 · начало фразы -4 мс Сміється +127 наносиш +20 мс
Said honey, what are you using
медиана |откл.| 14,2 мс · в ±40 мс 0,67 Said -5 honey +14 using -125 мс
B: десять самых «плывущих» фраз
Медиана отклонения по фразам: B 46,5 мс, Targ 38,0 мс; фраз с медианой ≤ 35 мс: B 29 %, Targ 47 %.
#1 · мысль t15 · B 1:23.8–1:24.8 · Targ 0:57.8
Чужу жінку.
медиана |откл.| 123,1 мс · в ±40 мс 0,00 · начало фразы +25 мс Чужу -125 жінку -121 мс
at the before version of the woman her husband loved first
медиана |откл.| 30,1 мс · в ±40 мс 0,67 before -16 version +15 woman -39 husband +66 loved +22 first -103 мс
#2 · мысль t31 · B 2:23.4–2:25.9 · Targ 2:20.2
Шкіра рівніша, ніж за десять літ.
медиана |откл.| 108,6 мс · в ±40 мс 0,25 · начало фразы +12 мс Шкіра +12 рівніша +96 десять +121 літ +128 мс
My skin more even than it had in a decade
медиана |откл.| 19,7 мс · в ±40 мс 0,75 skin -20 more +5 even -20 decade +137 мс
#3 · мысль t22 · B 1:40.5–1:43.4 · Targ 1:38.9
Сміється: «А ти що наносиш?»
медиана |откл.| 103,7 мс · в ±40 мс 0,00 · начало фразы -5 мс Сміється +90 наносиш -117 мс
Said honey, what are you using
медиана |откл.| 14,2 мс · в ±40 мс 0,67 Said -5 honey +14 using -125 мс
#4 · мысль t39 · B 3:21.6–3:25.0 · Targ 3:05.4
Залиш ім’я й телефон у формі.
медиана |откл.| 98,2 мс · в ±40 мс 0,25 · начало фразы -23 мс Залиш -84 ім’я +112 телефон -129 формі -16 мс
The link's below If you need it
медиана |откл.| 48,1 мс · в ±40 мс 0,33 link's +36 below -48 need +106 мс
#5 · мысль t33 · B 2:49.1–2:52.4 · Targ 2:30.8
Знов дивиться — не жалість, а подив.
медиана |откл.| 84,7 мс · в ±40 мс 0,25 · начало фразы +106 мс Знов +106 дивиться +21 жалість -63 подив -132 мс
Mark's wife sat down a few seats from me
медиана |откл.| 13,3 мс · в ±40 мс 1,00 Mark's +9 wife +17 sat -10 down -1 few -24 seats +24 мс
#6 · мысль t26 · B 1:56.8–1:59.7 · Targ 1:53.3
А в ній — купуасу й гіалурон.
медиана |откл.| 79,5 мс · в ±40 мс 0,33 · начало фразы +8 мс ній +24 купуасу -134 гіалурон +80 мс
I'd never tried Use this every night
медиана |откл.| 20,8 мс · в ±40 мс 0,75 never -0 tried -32 Use +77 every +9 мс
#7 · мысль t37 · B 3:06.6–3:11.4 · Targ 2:56.3
Не її думка важить — нарешті моя.
медиана |откл.| 75,1 мс · в ±40 мс 0,25 · начало фразы +75 мс думка -22 важить +90 нарешті +111 моя -60 мс
Not because her opinion mattered But because mine finally did
медиана |откл.| 53,9 мс · в ±40 мс 0,25 Not +0 opinion +68 mattered +64 finally -44 мс
#8 · мысль t25 · B 1:52.6–1:56.6 · Targ 1:53.3
Назавтра дала крем, якого я не знала.
медиана |откл.| 71,2 мс · в ±40 мс 0,20 · начало фразы -17 мс Назавтра -71 дала +12 крем +88 якого -111 знала -54 мс
I'd never tried Use this every night
медиана |откл.| 20,8 мс · в ±40 мс 0,75 never -0 tried -32 Use +77 every +9 мс
#9 · мысль t09 · B 0:32.1–0:35.3 · Targ 0:31.1
Нічні сльози лишають слід.
медиана |откл.| 70,0 мс · в ±40 мс 0,25 · начало фразы -81 мс Нічні -76 сльози +68 лишають +72 слід +10 мс
Holding your kids together will do that
медиана |откл.| 8,9 мс · в ±40 мс 1,00 Holding +6 together -12 мс
#10 · мысль t17 · B 1:10.9–1:14.9 · Targ 1:07.7
Злюсь не на неї — на те, що бачу.
медиана |откл.| 67,3 мс · в ±40 мс 0,33 · начало фразы -28 мс Злюсь -28 неї -67 бачу +93 мс
I was angry at what I'd seen
медиана |откл.| 54,3 мс · в ±40 мс 0,50 angry +99 seen +10 мс
03 / Гипотезы
H1–H9: изменение · доказательство · где живёт · гейт · предсказание · риск · fallback
H1
Бит-карта как авторитет
Каждая фраза получает сетку: слоги по восьмым от первого сильного бита, ударные знаменательных слов на долях (T — на любой доле, H — только на 1 и 3), безударные между ними, пауза в долях. Текст пишется под карту: лирик меняет слова, порядок и длину фразы, пока строка не ляжет.
Доказательство
В 158 фразах версии 2, A и B регулярные фразы пелись на уровне Targ (0,59), нерегулярные — на 0,47; регулярных было лишь 11–12 %.
Где живёт
tools/beat_map.py (scan/check), song-plan/v4 beatMap, music_first.validate_beat_map (внутри validate_plan, до любой покупки)
Гейт
validate_beat_map: каждая фраза, слот на слог, ударные на долях, 16-е только безударные, ≤ 10 слогов в такте, пауза ≥ 1 доли, хук с одним ритмом
Предсказание
Карта: 100 % ударных на долях по построению; сколько переживёт провайдер — H9
Риск
Провайдер сам решает ритм мелодии; в балладе с низким весом сида текст не спасает (A)
Fallback
Сильнее грув (вес сида, барабаны в стиле) — T; иначе раунд 2 с исправлением «плывущих» фраз по измеренным отклонениям
H2
Размер и темп под слова
Два размера. T — темп сида 103,4 BPM, прямые восьмые: двудольный текст (≈ 2 слога на ударение), как у Targ. H — половинное время на том же пульсе: ударные только на 1 и 3, между ними 1–3 безударных, трёхдольные ячейки под длинные украинские слова, выше styleWeight.
Доказательство
Сид держит 103,4 BPM даже при 0,35 (итерация 3); половинное время остаётся на той же сетке, если темп не освободится. Украинский: ≈ 2,5 слога на слово; Targ — 2,5 слога на ударение знаменательного слова.
Измеренный темп и октава; строки чёткости по сетке того дубля
Предсказание
T ближе к Targ; H — исследовательский: доказательство трёхдольной регулярности слабее
Риск
H в балладной подаче может опаздывать, как припевы A (+45…+75 мс); модель регулярности предсказывает H 0,51 / 46 мс — H9 не выполнено, поэтому H покупается один раз как объявленный тест H2
Fallback
Если H плывёт — выбор T; идея 12/8 на той же восьмой (206,8 в минуту) записана, но не покупается без нового решения
H3
Рычаги провайдера для синхрона
Стиль: «every stressed syllable lands exactly on the beat, crisp consonants, clean short notes, no rubato, never dragging»; negative tags против rubato, free tempo, dragging, legato slurs, swing; вес сида T 0,50/0,60 (грув), H 0,30/0,45 при SW 0,85; [Pause] только там, где пауза в карте; один рычаг на заявку.
Доказательство
Те же 14 дублей итерации 3 измерены новым инструментом. Средняя доля ударных в ±40 мс: сид 0,35 (все дубли A) 0.469, сид 0,40 (B) 0.531, контроль C — слова версии 2 при сиде 0,60 — 0.547 против 0.536 у версии 2 с теми же словами при сиде 0,88. Раскладка: A1a 0.465 → строки [Pause] (A2c) 0.446, строфа на мысль 0.511, двустишия с «…» 0.483. Главное напряжение: между дублями чёткость росла с плотностью (Спирмен ρ = +0,74 со слог/с, −0,68 с долей пауз): дубли в пределах пола ≤ 2,9 слог/с — в среднем 0,47 (лучший 0,50), быстрее — 0,53; лучшие дубли (B2a_1 0,61, C1a_1 0,58) были и самыми плотными. Но внутри медленных песен A и B медленные регулярные фразы — самые чёткие (0,71, n = 6) против нерегулярных (0,52): скорость сама не нужна — нужен регулярный текст и сильный грув; ставка T — развязать чёткость и плотность. Разброс между двумя дублями одной заявки велик (0,57 и 0,48; 0,61 и 0,47) — выбор между дублями — часть метода. Ремикс того же дубля потерял чёткость: A1a_1 0.503 → мастер A 0.458 — вставленные такты коды длиной 2,32 с (такт при 103,4) в дубле с темпом 102,9 сдвигают сетку на ~12 мс за вставку; вставки в итерации 4 — ровно такт измеренного темпа дубля, и чёткость перемеряется после каждого ремикса.
Где живёт
plan/variants-v01.json → cover-*-environment.json; director decision на каждую заявку
Гейт
Строки чёткости каждого дубля до прослушивания
Предсказание
AW 0,60 ≥ AW 0,50 по доле ударных в ±40 мс (грув сида); проверяется раундом 1
Риск
Высокий вес сида тянет форму Targ и съедает паузы (контроль C при 0,60)
Fallback
Верх политики 0,6 не превышается; 0,7 из диапазона владельца — только новым версионным решением, если 0,60 выиграет и паузы выживут
H4
Слова для доли
Хореи на «сильная–слабая», ямбы с затактом, ударный конечный слог в конце фразы («слі́д», «моя́», «внизу́»), односложные слова в началах и концах фраз, меньше скоплений согласных перед ударной гласной; хук A сохранён в H (ложится на 1 и 3 без флагов); рефрен B в прямых восьмых дал удержанное «на» и binary fit 0 на всех трёх возвратах — лирик T заменил его вопросом «Хто ж та жінка в дзеркалі?» (двудольный, 7 слогов) с тремя разными ответами: «слід ×3» → «Та жінка — геть чужа» → «Світла жінка — знову я».
Доказательство
≤ 2,3 слога на ударение → ≈ 0,55 в ±40 мс; > 2,8 → ≈ 0,43 (все три текста).
Где живёт
brief-v4.md, beat_map check (binary/ternary fit, слогов на ударение)
Гейт
≥ 85 % фраз без флагов check до POST
Предсказание
T: binary fit ≥ 0,67 у большинства фраз; H: ternary ≥ 0,5
Риск
Размер ради размера → телеграфные обрывки (отклонённый эксперимент)
Fallback
Опровергатель-носитель и полы дыхания; строки без флагов, но неестественные — переписываются
H5
Измерение: forced alignment, не ASR
MMS_FA (torchaudio) на вокальном стеме; кириллица романизирована; часы — начало гласной; сетка уточнена по пикам ударных; строки по секциям и фразам; каждый процент рядом с шансом; Targ тем же инструментом.
Доказательство
Вокальный стем Targ задержан на 50 мс против неизменной музыки → выровненные слоги сдвинулись на медиану 50.0 мс (90-й перцентиль ошибки 15.0 мс); доля в ±40 мс упала 0,61 → 0.183, а после вычитания систематического сдвига осталась 0.642: инструмент следит за звуком, а не за текстом. Часы: начало гласной (onset) даёт самое плотное распределение на всех четырёх треках (Targ: 29.8 мс против 36.5 у согласной и 57.6 у сырого CTC) и сдвиг Targ около нуля (+9 мс) — поэтому P-центр слога = начало гласной. Сетка: трекер ударов (hop 23 мс) уточнён до пиков ударных (5,8 мс) и сглажен прямой по ±4 долям; джиттер Targ 3.5 мс, v2 3.9, A 11.3, B 4.5. Неопределённость: CTC на пении ±20–60 мс; биномиальная sd доли 0,61 на 230 событиях ≈ 0,032.
Инструмент проверен сдвигом на 50 мс; качество выравнивания печатается на каждом дубле
Предсказание
—
Риск
Английский и украинский выравниваются одной моделью с разной уверенностью (Targ 0,79 против 0,82–0,87)
Fallback
Строки по ударным знаменательных слов (справедливая единица); исключения по score < 0,3 одинаковы для всех
H6
Не ретаймить
Спетые слова не двигаются к сетке. Разрешён ремикс того же дубля для микса, воздуха и пауз коды — вставка ровно такта измеренного темпа дубля; чёткость перемеряется после ремикса. Замена секции из другого дубля той же заявки — только версионным решением, с раскрытием.
Доказательство
Мастер A потерял чёткость против своего дубля (вставки 2,32 с при темпе 102,9).
Бриф переписан вокруг бит-карты: лирик на вариант пишет фразы со слогами и позициями ударений и проверяет их scan/check; режиссёр судит карту и рубрику песенности; опровергатели атакуют ударения, идиому и claims только в изменённых строках (эффорт средний, короткие ответы, находки в файлах).
Доказательство
Итерация 3: лирики с высоким эффортом переполнили вывод 64k; фиксы ки́слоти, по́смішка, чужу́ — факты языка.
Ledger ударений 100 % и композиционный обзор до POST
Предсказание
—
Риск
Лирик жертвует смыслом ради размера
Fallback
39 мыслей и 6 фактов коды проверяются build_v4 (assert), опровергатель advertorial
H8
Gates
Новые P0 чёткости рядом с шансом, измеренные на Targ первым: ударные в ±40 мс от восьмых ≥ 0,58, медиана ≤ 35 мс, начала строк ≥ уровня Targ; полы итерации 3 не регрессируют. Уточнение по доказательству: старая строка «все онсеты стема ≥ 0,52» зависит от сетки на ±0,07 → info.
Доказательство
Сетка уточнена на ~10 мс: старая строка Targ 0,52 → 0,445, B 0,47 → 0,535; строка ударных — 0,604 → 0,613 и 0,449 → 0,486.
Цель 0,58 может оказаться выше того, что даёт Suno
Fallback
Цель меняется только новой версией таблицы с дублями и слепыми отзывами
H9
Тренд до покупки
Из карты предсказываются строки дыхания (слог/с, секция, длительность) и чёткость по модели «регулярность → измеренная доля» из итерации 3 и версии 2; покупка только при полной карте и движении каждой строки в нужную сторону относительно A и B; две версии на заявку; каждый дубль измеряется до прослушивания.
Доказательство
Прогноз итерации 3 по слогам на такт попал в слог/с (2,72 → 2,70) и не попал в паузы (текст их не предсказывает).
Модель наблюдательная (внутри песен), не причинная
Fallback
Измеренное после раунда 1 заменяет прогноз в той же таблице
04 / Код и пайплайн
Точные файлы
Файл
Изменение
Что даёт
Что снимает
tools/song_align.py (новый)
Forced alignment MMS_FA на вокальном стеме: слова, слоги, часы ctc/onset/cons, ударение из ledger или CMUdict, флаг знаменательного слова
Ударные слоги и начала фраз с точностью ±20–60 мс вместо ASR ±250 мс
Строки ударений по часам ASR (у шанса)
tools/song_beat_sync.py (v2)
Сетка уточнена по пикам ударных; строки content/stressed/syllables/phraseStarts/lineStarts/IOI/kick-parity; шанс и фазовый null; секции и фразы; gate_values
Таблица чёткости и худшие фразы на каждом дубле
Единственную строку «все онсеты» (оставлена как info)
tools/beat_map.py (новый)
Размещение слогов (straight/halftime), scan для строк, check для всего текста: флаги, binary/ternary fit, слогов на ударение, такты, прогноз слог/с
Текст пишется под долю до покупки; предсказание из карты
Бюджет «слогов на такт по типу секции» как единственная модель
tools/music_first.py
validate_beat_map + song-plan/v4 (v3 + beatMap); validate_plan требует v4 при songBeatMapRequired
Покупка невозможна без карты
—
tools/song_gates.py
--beat-sync: строки чёткости в той же таблице gates
songBeatMapRequired, инструменты, раздел владельца 2026-09-24; манифест run-а с новым sha навыка
Правило для всех следующих песен
—
runs/targ-song-v4-f5c3870848-v01/preparation/*
build_v4 (дизайн → текст/ledger/план v4 с картой + прогноз), measure_baselines_v4, worst_phrases, measure_v3_takes; дальше preflight/purchase/measure/mix/review/finalize из итерации 3 с шагом чёткости
Каждая фраза на сетке: ударные на долях, безударные между ними, паузы в долях
Карты построены из финальных текстов панели: каждый слог — клетка восьмой (1 & 2 & 3 & 4 &, жирная линия — такт, затакт слева), ударные знаменательных слов выделены и стоят только на долях размера; штриховка — пауза голоса в долях. Мелодию решает провайдер: карта — это текст, написанный для доли, и эталон, против которого меряются спетые онсеты.
Вариант T
Пульс Targ
Размер и темп
103,4 BPM (темп сида), 4/4, прямые восьмые · сетка восьмых · 4/4, прямые восьмые, ударные на каждой доле
Тональность
F major (тональность сида)
Длительность
прогноз ≈ 239 с (спетое по карте + паузы + заполнения); рамка карты — 123 тактов ≈ 285 с — верхняя граница: в итерации 3 Suno пел короче рамки
Хук
Хто ж та жінка в дзеркалі? — 3 возврата: p07, p21, p41; один ритм на каждом возврате
Кода
Той крем — це Ґоу П’юр. · Ім’я та номер — форма нижче. · На пошті все оглянь. · Платиш — після огляду. · На повернення — шістдесят днів. · Посилання — тут, внизу, якщо треба.
Сид
cover на точном Targ; раунд 1: T1a AW 0.50 · SW 0.65 · WC 0.15; T1b AW 0.60 · SW 0.65 · WC 0.15. Embrace the seed: at audioWeight 0.35–0.40 iteration 3 kept Targ’s 103.4 BPM but lost its groove; 0.50 and 0.60 test groove inheritance (H3) inside the ≤ 0.6 policy with a text written to that pulse.
STYLE (Suno)
Ukrainian folk-pop, 103 BPM, 4/4, straight eighths, F major, tight groove: kick on 1 and 3, snare on 2 and 4, strummed acoustic guitar in eighths, bass locked to the kick. Female lead sung from the first word, no intro; every stressed syllable lands exactly on the beat, crisp consonants, clean short notes, no rubato, never dragging behind the drums. One thought per two-bar phrase, its last word held, then the voice rests while the band keeps the groove; each [Pause] is a rest of one or two beats. The refrain question «Хто ж та жінка в дзеркалі?» returns three times, rising, then a new answer. Half-time outro: one fact per phrase, a rest after each, every word sung.
Negative tags
rubato, free tempo, dragging behind the beat, legato slurs, swing, spoken word, rap, narration, recitation, instrumental intro, fast patter, melisma, choir, reverb wash, fade-in
Прогноз по карте
547 слогов, 55 фраз; 2,88 слог/с по спетому, самая плотная секция 3,09; ударные знаменательных слов на долях карты 100 %, на 1 и 3 — 68 %; binary 0,78, ternary 0,06, 2,37 слога на ударение; 16-х: 0
103,4 BPM, ощущается как 52 (half-time), 4/4 · сетка восьмых · 4/4 в половинном времени, ударные только на 1 и 3
Тональность
D major
Длительность
прогноз ≈ 263 с (спетое по карте + паузы + заполнения); рамка карты — 134 тактов ≈ 311 с — верхняя граница: в итерации 3 Suno пел короче рамки
Хук
Я дивлюсь у дзеркало — і бачу … — 3 возврата: p17, p34, p44; один ритм на каждом возврате
Кода
Крем називається Ґоу П’юр. · Лиши у формі ім’я й телефон. · На пошті оглянь посилку. · Після огляду — платиш. · Шістдесят днів на повернення. · Якщо треба — посилання внизу.
Сид
cover на точном Targ; раунд 1: H1a AW 0.45 · SW 0.85 · WC 0.10. Own meter with a higher styleWeight (owner H2): SW 0.85 pushes the half-time groove of the style; audioWeight 0.45 keeps enough of the seed groove, which the iteration-3 takes tie to crispness (control C at 0.60: 0.55 on the grid). The half-time map stays on the grid if the seed keeps 103.4 BPM.
STYLE (Suno)
Ukrainian pop ballad on a half-time groove, 103 BPM felt in 52, D major: kick on 1, snare on 3, steady eighth hi-hat, piano and bass on the grid. Female lead sung from the first word, no intro; each stressed syllable lands on beat 1 or 3, the other syllables fall evenly between, crisp consonants, clean note ends, no rubato, never behind the beat. One thought per two bars, then the voice rests while the groove continues; each [Pause] is a two-beat rest. The chorus «Я дивлюсь у дзеркало — і бачу…» lifts and returns three times. Calm outro: one fact per phrase, a rest after each, every word sung.
Negative tags
rubato, free tempo, dragging behind the beat, legato slurs, swing, spoken word, rap, narration, recitation, instrumental intro, fast patter, melisma, choir, reverb wash, fade-in
Прогноз по карте
546 слогов, 50 фраз; 2,47 слог/с по спетому, самая плотная секция 2,61; ударные знаменательных слов на долях карты 100 %, на 1 и 3 — 100 %; binary 0,18, ternary 0,70, 2,90 слога на ударение; 16-х: 0
[Verse 1] Зустріч у березні · 17 тактов · 66 слогов · прогноз 2,45 слог/с
Двудольный размер: ударные знаменательных слов на каждой доле (1 и 3 предпочтительно), безударные — на восьмых между ними; binary fit ≥ 0,67, ≤ 2,6 слога на ударение; фраза = 2 такта: ~6 спетых долей + пауза 2 доли
Трёхдольные ячейки на сетке half-time: ударные только на 1 и 3, между ними 1–3 безударных, лучше два (дактиль/амфибрахий); ternary fit ≥ 0,5, 2,5–3,4 слога на ударение; фраза = 2 такта + пауза 2 доли
амфибрахии/дактили без бит-карты; binary fit 0,32
смешанный размер без бит-карты; binary fit 0,28
Сид и веса
cover на точном Targ; раунд 1: T1a AW 0.50 · SW 0.65 · WC 0.15; T1b AW 0.60 · SW 0.65 · WC 0.15. Embrace the seed: at audioWeight 0.35–0.40 iteration 3 kept Targ’s 103.4 BPM but lost its groove; 0.50 and 0.60 test groove inheritance (H3) inside the ≤ 0.6 policy with a text written to that pulse.
cover на точном Targ; раунд 1: H1a AW 0.45 · SW 0.85 · WC 0.10. Own meter with a higher styleWeight (owner H2): SW 0.85 pushes the half-time groove of the style; audioWeight 0.45 keeps enough of the seed groove, which the iteration-3 takes tie to crispness (control C at 0.60: 0.55 on the grid). The half-time map stays on the grid if the seed keeps 103.4 BPM.
AW 0,35 · SW 0,75 · WC 0,15
AW 0,40 · SW 0,70 · WC 0,20
Слогов / фраз
547 слогов · 55 фраз · ≈ 239 с
546 слогов · 50 фраз · ≈ 263 с
536 слогов · 50 фраз · 228 с
537 слогов · 52 фразы · 233 с
Зачем
Проверить главный рычаг: текст, написанный под сетку Targ (двудольный, регулярный), на грув сида средней силы — ожидаем чёткость уровня Targ без потери дыхания.
Проверить «свой размер для украинских слов»: 2,5–3 слога на ударение ложатся в трёхдольные ячейки, ударные только на сильных долях — длинные слова не размазываются по сетке.
база итерации 3: дышит лучше всех, плывёт в припевах
база итерации 3: «больше всего песня», темп дрейфует
07 / Gates и предсказанный тренд
P0 / P1 / info: Targ · v2 · A · B · прогноз
P0 блокируют слепые прослушивания и владельца; P1 входят в выбор между дублями; info — читается. Значения Targ / v2 / A / B измерены тем же инструментом; прогноз — из карты и модели регулярности до покупки.
Строка
P
Цель
Targ
v2
A
B
прогноз T
прогноз H
Основание
Ударные слоги знаменательных слов в ±40 мс от сетки восьмых (шанс 0,28)
P0
>= 0.58
0,61
0,54
0,46
0,49
0,57
0,49
H8: at Targ's measured level (0.613 − one binomial sd 0.032)
Медианное |отклонение| ударных слогов от восьмых, мс
P0
<= 35.0
29,80
36,00
48,30
43,10
30,90
46,40
H8 owner value 35 ms; Targ 29.8
Начала фраз (первый слог строки) в ±40 мс от сетки восьмых
P0
>= 0.5
0,50
0,48
0,50
0,69
≈ 0,5–0,6
≈ 0,5–0,6
H8 «phrase starts on the beat» at Targ's measured level; Targ starts many lines on pickups
phase-free rhythm row; Targ 0.614, A 0.504 (chance)
Ударные на долях: доля на 1 и 3 (шанс 0,5)
P1
>= 0.5
0,55
0,53
0,38
0,65
> 0,5
> 0,5
A puts stressed words on 2/4 (0.38) and unstressed on 1/3 (0.82)
Ударные в ±40 мс от доли (шанс 0,14)
info
>= 0.3
0,35
0,46
0,31
0,30
—
—
Targ syncopates half of its on-grid stresses onto off-beat eighths
Все онсеты вокального стема в ±40 мс от восьмых (метод v1, уточнённая сетка)
info
>= 0.45
0,45
0,51
0,42
0,54
—
—
owner's legacy row; grid-sensitive (Targ 0.52 → 0.445 with a 10-ms grid refinement), kept for continuity
ASR: доля совпавших строк
P0
>= 0.95
—
0,99
0,99
1,00
≥ 0,95
≥ 0,95
floor from iteration 3
Доля запланированных границ мыслей с паузой ≥ 0,6 с (стем)
P0
>= 0.33
0,10
0,07
0,40
0,33
0,33–0,45
0,33–0,45
floor: iteration-3 master B 0.33 (A 0.40)
Самая плотная секция, слог/с по спетому
P0
<= 3.3
3,64
4,61
3,26
3,01
3,09
2,61
floor: iteration-3 masters 3.26 / 3.01
Вся песня, слог/с по спетому
P0
<= 2.9
3,26
3,61
2,70
2,68
2,88
2,47
floor: iteration-3 masters 2.70 / 2.68; beat-tight must not bring back patter
Возвраты хука (≥ 3, ≥ 20 с между)
P0
>= 3
0
0
3
3
3
3
floor
Факты коды спеты и каждый с паузой ≥ 0,5 с
P0
>= 6
0
1
6
6
6
6
floor (same-take coda rests allowed, H6)
Без фрагментации
P0
>= 1
—
1
1
1
1
1
floor; rejected experiment 2026-09-15
Медианная пауза на границах мыслей, с
P1
>= 0.8
0,78
1,10
1,44
2,25
—
—
iteration 3
Лифт припева/рефрена, полутона
P1
>= 2
—
—
4,40
0,10
—
—
iteration 3
CV скорости по фразам
info
>= 0.35
—
—
—
—
—
—
a beat map evens the rate on purpose; informational in iteration 4
Доля фраз ≥ 1 с с pitched-share < 0,15 (прокси речитатива)
P1
<= 0.1
—
—
—
—
—
—
iteration 3; sung throughout is a P0 blind verdict
Вокал минус музыка, худший блок кроме коды, dB
P1
>= -1.0
—
—
—
—
—
—
delta study
Воздух без слов перед брендом, с
P1
>= 1.2
—
—
—
—
—
—
iteration 3
Услышанные паузы ÷ запланированные
info
>= 0.8
—
—
—
—
—
—
iteration-3 H2 hypothesis, reached by no take
Кульминация в запланированной секции
info
>= 1
—
—
—
—
—
—
iteration 3
Совпадение шагов контура
info
>= 0.6
—
—
—
—
—
—
Suno does not read contour arrows
Кода оседает (≤ припев − 2 st)
info
>= 1
—
—
—
—
—
—
iteration 3
Длительность, с (свободная переменная)
info
<= 260.0
194,49
197,10
228,02
233,17
239,30
262,90
sanity ceiling
Правило тренда (H9). Покупка варианта разрешена, когда его карта полная (validate_beat_map), прогноз строк чёткости лучше A и B, прогноз строк дыхания не хуже полов (≤ 2,9; ≤ 3,3; хук ≥ 3; кода 6/6), ledger ударений 100 %, композиционный обзор принят. После каждого раунда измеренное заменяет прогноз в той же таблице отчёта.
08 / Покупки и бюджет
Раунды, кредиты, стоп
Раунд 1
3 заявки по 12 кредитов (две версии каждая): T1a (AW 0,50) и T1b (AW 0,60) — один рычаг, текст T проходит правило тренда (прогноз 0,58 в ±40 мс, 31 мс); H1a (AW 0,45, SW 0,85) — объявленный тест «своего размера» (H2): по модели H не проходит правило тренда по медиане отклонения (46 мс против 43 у B), поэтому одна заявка, а не две. Каждый дубль: стемы → строки → forced alignment → beat-sync → gates до прослушивания.
Раунд 2+
До 4 заявок: лучший вес сида каждого варианта + один рычаг (правка «плывущих» фраз по измеренным отклонениям, без [Pause] против с [Pause], стиль). Раунд 3 — только если ни один кандидат не прошёл P0 и есть конкретная гипотеза.
Прослушивания
Калибровка слепого уха: пары 20-с отрывков Targ vs A («где слова точнее на ударных барабанов?») — слух годен для этой строки при ≥ 70 % верных. Затем целые кандидаты + A, B, версия 2: в такте ли каждая фраза; какое вложение чётче; дышит ли и остаётся ли песней; разборчив ли каждый факт коды. 48 кбит/с моно для целых песен > 195 с, 40 кбит/с > 245 с.
Бюджет
Потолок 300 кредитов атрибутируемых по квитанциям (≈ 12 обложек × 12 + ≈ 20 отзывов × 0,5–2,4). Баланс общего ключа не используется для атрибуции (другие сессии).
Когда можно остановиться
Кандидат, у которого ударные и начала фраз на уровне цели (тем же инструментом, рядом с шансом), полы дыхания и песни не регрессируют, слепо «спето насквозь», каждый факт коды разборчив с паузой, ledger ударений и ASR-строки пройдены, слепые предпочитают его A и B по «в такте» и не ставят ниже по «песня, не нарратив» и «дышит», без фрагментации.
Что явно не меняется
Естественный украинский и ударение каждого слова (ledger 100 % до покупки), разборчивость, настоящее пение насквозь: без речитатива, патера и полуразговорных вставок.
Все 39 мыслей как смысл; правда продукта только из gopure-product-20260914.json; шесть фактов заказа и бренд — каждый своей спетой фразой с паузой.
Первое слышимое событие — спетое слово хука; без вступления; первые 2–3 секунды цепляют.
Отклонённый эксперимент 2026-09-15: никаких телеграфных обрывков, «[Instrumental answer]» после каждой строки и пауз ради пауз.
Suno V6 через scripts/gen2.py с квитанциями; стиль ≤ 1000 знаков вместе с паспортом и гидом произношения; negative tags ≤ 200; неизвестный исход POST не повторяется.
Версии 1, 2 и мастера итерации 3 с их отчётами не трогаются; медиа вне git; PR без merge без слова владельца; оценка владельца не присваивается.