---
log: 011
title: "The cpluck is the tell — letting TF-IDF name a track"
date: 2026-06-05
task: "#34 locate-matrix, #35 38C3 PunkAChien, structuring"
tags: [tooling, salvage, fingerprint, pydantic, mastering]
shareable: true
---

## Cap (what & why)
After the ear caught a false "Hamburg PunkAChien" (log 010), we needed to stop
*guessing* which sample identifies a track and start *deriving* it — then use that to
find the real 38C3 PunkAChien, and finally structure the whole tidal→tracks toolchain
so it stops being a pile of scripts.

## Manœuvre (how)
- **Chased the 38C3 lead first** (faster than building UI): exported Take35 from the
  Ardour session, fingerprinted its 13 orbits, summed to a 4:35 audition mix, served
  it on the LAN for PLN's phone.
- **Built sample TF-IDF** over the local `.tidal` git corpus (772 docs). Each score =
  a document, each Dirt-Samples folder = a term. The trick that made it precise:
  vocabulary = `ls Dirt-Samples` (custom packs are symlinked in), and extract tokens
  **only from sound-context strings** (`s`/`sound`/`#`), not `mask`/`n`/`range` — else
  mininotation booleans like `"f"` collide with folder names and drown the signal.
- **Structured it with pydantic**: a shared `models.py` (Provenance, LocateCell,
  MasterEDL, TfidfReport) — validate-on-write, JSON in/out.
- **Turned the ear-feedback into a typed EDL**: PLN's phone+WH-1000XM5 review became
  9 `MasterEdit` rows.

## Prise (findings / artifacts)
- `tools/sample_tfidf.py` → `sample_tfidf.json` (289 KB, validated). PunkAChien's real
  signature: **vec1_acid (df=18), cpluck (df=23)**; jungle_breaks/breaks165 are common
  filler. `jungle_breaks` df=78, used everywhere — useless for ID, exactly as PLN said.
- `armada/tide-table/models.py` — the fleet's typed vocabulary.
- Take35 (2024-12-25, "Pitbul Punk") orbit fingerprint **matches PunkAChien** on the
  track-specific signals (cpluck riff orbit-05, acid 04, 4:35 length). Pending ear.
- `master_edl_take89.json` — 9 edits, **3 of them `bad_cut` = ground-truth labels** for
  the boundary detectors.

## Sel (the shareable learning)
A track's identity isn't its loudest sample — it's its *rarest* one. The kick is in
everything; the cpluck is in almost nothing. TF-IDF is just "how surprised am I to hear
this here," and surprise is identity. (Corollary, learned the hard way: silence isn't a
tell either — meth_bass goes quiet because the `d6` knob is awkward on the LaunchControl,
not because the song says so. The instrument leaks into the data.)

## Hameçon (hook)
"I asked a search algorithm which sound *is* my song. It ignored the drums and pointed
at one plucked cello note used in 23 tracks out of 800. It was right."
