[2026-09-26] eagle: personal/plans/music-tags-review/music-tags-review.md personal/tech/music-tags-repair-truenas.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-26 16:48:36 +06:00
1 parent 680da87d49
commit 4d1e73f214
2 files changed
+308 -75

No files matched your search

@@ -11,47 +11,49 @@ status: awaiting-approval
**К правке:** 6773 файлов · **без изменений:** 1133
> [!warning] Ничего не изменено
> Это план. Ставь галочки, что одобряешь. После «go» — бэкап в `Music/backup/` и применение.
> [!tip] Блок 1 разобран вручную (2026-09-26)
> 28 файлов «требует решения» — прошёл глазами по одному. **10 артистов вписано вручную**
> (Hans Zimmer, Михаил Круг, Мумий Тролль, Kub vs Ray Charles, Lil Jon…), 18 — только title.
> Затем **Alex прошёл по ноте сам** и дополнил artist из Shazam (Сява, СПЛИН, Ирина Аллегрова,
> Наутилус Помпилиус, MBrother, Валдай, Each Others, D.I.P. Project feat. Infiniti).
> Нужен финальный апрув по его правкам. См. [[1-needs-decision]].
> [!warning] Средняя уверенность — найден мусор от автоматики (2026-09-26)
> 4 строки в `2-medium-confidence.md` содержат `яю` вместо значений — это **UTF-16 BOM (`ÿþ`)**,
> ошибочно «починенный» как mojibake. Пример: `06 Steel Deluxe - Сердце открой.mp3` →
> title предложен `яю!@54F5 B:@>9` вместо `Сердце открой`. Требует ручной правки.
> В vault лежит **старая неразбитая версия** (586 КБ / 2096 чекбоксов) — разбитые 56 нот
> собраны в `/tmp/rg3/`, но **ещё не скопированы** в vault.
> Это план. Теги в mp3 **не тронуты**. После «go» — бэкап в `Music/backup/` и применение.
## Что в каком блоке
| Блок | Файлов | Что это значит |
| Блок | Файлов | Формат |
|---|---:|---|
| [[1-needs-decision\|Требует решения]] | 28 | Разобран вручную: 10 с артистом, 18 только title. |
| **Средняя уверенность** (разбита по категориям) | 5787 | Восстановлено из имён файлов и структуры папок. |
| [[3-high-confidence\|Высокая уверенность]] | 958 | Точная перекодировка CP1251 → UTF-8, обратимая без потерь. |
| [[1-needs-decision\|Требует решения]] | **15** | по папкам, чекбоксы — каждому файлу нужно решение |
| [[2-medium-confidence\|Средняя уверенность]] | 5800 | плоский список `файл → artist — title` |
| [[3-high-confidence\|Высокая уверенность]] | 958 | тот же плоский список |
### Средняя уверенность — файлы по категориям
> 📐 Формат 2 и 3 изменён 2026-09-26 по просьбе Alex: **убраны заголовки и оглавления**,
> один файл = одна строка. Разбиение на 56 файлов отменено.
| Категория | Файлов |
|---|---:|
| [[2-medium-confidence-Pop_Club_Любэ\|Pop, Club, Любэ]] | 1141 |
| [[2-medium-confidence-RockFolk_Пилот\|Rock&Folk / Пилот]] | 281 |
| [[2-medium-confidence-RockFolk_Ногу_Свело\|Rock&Folk / Ногу Свело!]] | 153 |
| [[2-medium-confidence-RockFolk_Ночные_Снайперы\|Rock&Folk / Ночные Снайперы]] | 95 |
| [[2-medium-confidence-z_Другое_Enigma_Ленинград\|z Другое, Enigma, Ленинград]] | 903 |
| [[2-medium-confidence-Детские\|!Детские]] | 510 |
| [[2-medium-confidence-Рэп\|!Рэп]] | 469 |
| [[2-medium-confidence-RockFolk_Муммий_Тролль\|Rock&Folk / Муммий Тролль]] | 80 |
| [[2-medium-confidence-RockFolk_Пикник\|Rock&Folk / Пикник]] | 83 |
| _(остальные — в списке файлов блока)_ | |
## Блок 1 «Требует решения» — 15 файлов
> 📂 Раньше это был один файл на 1.1 МБ — Obsidian тормозил. Теперь **56 нот**,
> разбитых по категориям; Rock&Folk разложен по группам (глубина 2).
Осталось только то, где **нечего показать вообще**: ни artist, ни album. Все остальные
разобраны (28 → 15).
Разобрано вручную: **10 артистов вписано мной** (Hans Zimmer, Михаил Круг, Мумий Тролль,
Kub vs Ray Charles, Lil Jon…), затем **Alex прошёл по ноте сам** и дополнил из Shazam:
| Файл | artist | title |
|---|---|---|
| Нарк, БОДРЯЧКОМ, Бык не быкуй!, волна по ебалу | **Сява** | (из имени) |
| 029_Mast | Master Spensor | Потанцуй со мной |
| Dj Riga ceh-126 Track | DJ Riga | Цех-126 Track |
| dj toll | D.I.P. Project feat. Infiniti | Где ты |
| I M P R E Z A | Each Others | Fast Car (feat. Tameko'Star) |
| клубняк3 | MBrother | Trebles (feat. MBrother) |
| Перец | Валдай | Перцы |
| Казанова | Наутилус Помпилиус | Казанова |
| Младший лейтенант | Ирина Аллегрова | Младший лейтенант |
| Остаёмся зимовать | СПЛИН | Остаёмся зимовать |
**Все 17 правок перенесены в CSV** (`apply_manual_decisions.py`) — в ноте они больше не «карандашом»,
а реальными значениями.
> ⚠️ **Не закрыто:**
> - `lil jon` — Alex дал Shazam (What U Gon' Do / Lil Jon & The East Side Boyz), чекбокс не отмечен
> - `i am instructor` — «artist не найден, какой нибудь yechno beat поставь» ← не выяснено
> - `detskiy_hor_benassi_satisfaction` — правка Alex (`Satisfaction` / Детский хор + Benny Benassi)
> **затёрта перегенерацией**. Нужно вернуть в CSV.
> - `Из чего же` — чекбокс пустой
## Откуда взялось поле `track`
@@ -59,31 +61,30 @@ status: awaiting-approval
```
БЫЛО: title = "01 Hit The Road Jack (Kub vs Ray Charles)"
СТАЛО: title = "Hit The Road Jack (Kub vs Ray Charles)" track = 1
СТАЛО: title = "Hit the Road Jack" track = 1
```
Затронуто 5158 файлов. В нотах строка `track: → **N**`.
## Важное про блок 1
Попали только 28 файлов, где **нечего показать вообще**. Сборники и аудиосказки
(`!Детские/Детский хит`, `Сказки/*`) сюда **не входят** — у них есть альбом
(название сборника или сказки), а исполнителя у такого материала и не бывает.
Если подставить туда имя папки, получится мусор вида `artist = Сказки`
(238 треков одним «исполнителем») — от этого отказались.
Затронуто 5158 файлов. В плоских списках номер показан как `` `#N` `` в конце строки.
## Что НЕ трогаем (осознанно)
- **Рукописный транслит** — `EMINЭM`, `КняZz`, `Flёur`, `изBESTняк`, `Скаzки` (126 файлов).
- **Рукописный транслит** — `EMINЭM`, `КняZz`, `Flёur`, `Fl¸ur`, `изBESTняк` (126+ файлов).
Это оригинальное написание / реальные псевдонимы, а не порча кодировки.
- **`album == artist`** (101) — одноимённые альбомы: `Рубль/Рубль`, `Би-2/2001 Би-2`.
- **Числовые названия** (15) — `007` у Ленинграда, `48` у Пилота — это реальные треки.
- **`НАШЕСТВИЕ 2009`, `Kazantip 2008`** — события/фестивали, не артисты.
## Формат
## Известные дефекты в данных (не закрыты)
| Файл | Проблема |
|---|---|
| `Би-2 и Агата Кристи - Теряю свет` (3 шт) | битая кодировка **внутри** title: `(feat.Áè-2)` |
| `Ундервуд - Мама, Я нашел нефть` | title case на каждое слово: `Мама, Я Нашел Нефть` |
## Формат блока 1
Каждый файл — чекбокс `- [ ]`. Под ним: поле, старое значение → **новое**, и источник
(`из имени файла`, `из структуры папок`, `кодировка` и т.д.).
(`из имени файла`, `из структуры папок`, `кодировка`).
`⟨повреждено⟩` = байты уничтожены (U+FFFD), восстановить нельзя — берётся из имени.