- 05 Jun, 2026 6 commits
-
-
v1 only saw a foreign ORBIT lighting up on the wrong side of a cut; it was blind to a foreign SOUND on an orbit active on BOTH sides (e.g. breaks playing through a transition). v2 (--spectral) closes that: - per shared orbit, profile tail/head probe windows + each track's interior ref, composite timbral distance (band-shape cosine + centroid shift); flag when the tail sounds like the NEXT track (incoming) or the head like the PREVIOUS (outgoing). - gated by MIN_REF_DIST (versions must differ) and SPEC_MIN_RMS=-50 (probe must have real sound — the silence gate caught 4 of my own false positives). - independently flagged the WAP->'Plosive breaks bleed (orbit-08, Delta=0.475) that v1 missed = PLN's 'bordel jusqu'a 0342' zone; + Premier Septembre->Techno Orage. - EDL now 9 ear + 7 orbit + 6 spectral derived rows; round-trips through MasterEDL. Delta = severity rank; live crossfades blend by design, so PLN's ear gates feel.
PLN (Algolia) authored -
#40 Judge annotations were stale+wrong: labels came from a hardcoded ROLE_MAP (orbit-03 'hats' though punkachien.tidal plays 'dr'; d6/meth_bass missing) and a hard -38dB on/off gate hid audible orbits that dip within a 2s bin (PLN saw only d3 OR d8 while hearing both). - tidal_score.py: parse per-orbit sound map from any .tidal (reuses tfidf vocab; also accepts the bare $ "sample" source form). dr/meth_bass/jungle_breaks now correct. - audio_lens: classify_family() (breaks->tops, drums->percs by identity, register by measured centroid), profile peak_db. Fix orbit_files to try padded+unpadded channel names (Take89 uses 'Tidal 01-1' -> centroids were silently None). - build_player_data: labels from score, family validated by centroid, two thresholds (litFloorDb -52 visible / activeDb -38 driving), emits validated PlayerData. - OrbitRail: graded activation (dim->vivid), no orbit vanishes when quiet. #42 DRY: pydantic models in models.py are the single source of truth; gen_ts_types.py generates ui/src/types.gen.ts (types.ts is now a re-export). No more hand-synced shapes. #41 WaveformPlayer: Audacity-style zoom (+/-/ctrl-wheel) + scroll, drag-select a span and loop it (Regions plugin), keyboard L=loop. tsc + vite build green.
PLN (Algolia) authored -
Embodies the division-of-labor principle: the machine flags OBJECTIVE boundary leaks so PLN's ears judge only feel. Detector = exclusive-orbit ignition: at each cut, an orbit core to one neighbour but not the other, lit on the wrong side (down to a sensitive -55dB floor for quiet foreign onsets). Validated on Take89 (Montreuil): independently caught BOTH of PLN's hand-flagged bad_cuts — cut1 (Take5 bass pre-echo, "changement de basse avant le cut") and cut5 (Plosive→Jeudi Drill, the Bogdan stabs on d9/orbit-09, ~-48dB) — plus 5 new candidates. Auto-populates master_edl_take89.json: 16 edits = 9 ear + 7 derived. Mapping nailed down (was wrong first pass): stemmap orbit-NN == dN; Tidal's `# orbit X` is SuperDirt-0-indexed → d(X+1) (so `# orbit 8` == d9). d8 = always breaks. Honest coverage cap logged: a foreign SOUND on a shared+active orbit is invisible at orbit level → v2 = spectral/per-sound novelty.
PLN (Algolia) authored -
PLN: "samples and synths are the same class for fingerprinting." sample_tfidf now indexes synthdef names (SC synthdefs/ + SCLOrkSynths quark + SuperDirt builtins) alongside Dirt-Samples, tags each sound sample|synth, and persists kinds. vocab 871 sounds (293 samples + 63 synths used). septieme_armee signature now surfaces moogBass/FMRhodes1/bassWarsaw — but all common (no rare tell): its identity is the orbit-arrangement (the SNA riff), not a signature sound. L3 needs both signals. Take35 identified by blind ear-test as Septième Armée (Seven Nation Army cover, septieme_armee.tidal, 4:35), NOT the 38C3 "Pitbul Punk" the ±3d date-join guessed. Corroborated by orbit→sound map (d4 bassWarsaw = the riff bass, etc.). take_gig_map corrected; performance_notes logs the find + cover-license caveat.
PLN (Algolia) authored -
audio_lens.py consolidates the spectral toolbox (profile / stemmap / mix) so the machine catches OBJECTIVE audio defects autonomously, reserving PLN's ears for subjective feel. - profile(file): band-energy % + centroid → is_broadband() gate (centroid >140Hz and >18% energy above 150Hz). A pure-kick mix is centroid ~111Hz, mid<12% → FAIL. - mix(take, --orbits): EXPLICIT numpy sum of local interchange stems (no amix black box, no freebox), peak-normalized, then SELF-VERIFIES the render is broadband and exits non-zero on FAIL. Caught + fixed the kick-clone bug that shipped twice. - stemmap(take): per-orbit activity (driving/sparse/silent) for arrangement reads. Take35 mix rebuilt via the tool (v3): cen 168Hz, mid present, PASS — replaces the two broken kick-clone mixes (deleted). Lesson: measure your own output; extend the toolbox, no /tmp throwaways. EDL: seed_edl_take89.py + master_edl_take89.json (9 typed edits, 3 bad_cut labels) from PLN's WH-1000XM5 review, logged in performance_notes.md. tasks/011 captures the TF-IDF + verify-your-output story. #25 reframed: auto-detect boundary sample-leak.
PLN (Algolia) authored -
First versioned import of L'Armada (media/marketing toolbox) plus this session's tidalcycles→tracks tooling work. Audio kept out of git (armada/.gitignore). Tooling: - tools/sample_tfidf.py — sample TF-IDF over the local .tidal corpus (772 docs). Vocabulary = local Dirt-Samples folder names (custom packs symlinked in); sound-context extraction (s/sound/#) so mininotation booleans don't pollute. Derives discriminative samples: PunkAChien = vec1_acid(df18)+cpluck(df23); jungle_breaks(df78) is common filler. → sample_tfidf.json (validated). - armada/tide-table/models.py — shared pydantic v2 models: Provenance, LocateCell, MasterEDL/MasterEdit, TfidfReport. Typed, JSON in/out, provenance-carrying. - armada/tide-table/locate-matrix.md + build_track_recording_map.py — L0 metadata map (site tracklists × take_gig_map), canonical track id = .tidal path. - armada/tide-table/seed_edl_take89.py + master_edl_take89.json — PLN's phone+ WH-1000XM5 resplit review as 9 typed edits (3 bad_cut = detector ground-truth). - armada/serve.py — Range-capable LAN static server for phone audition. - armada/ui/ — Vite+React+TS+Tailwind Judge pilot (Ship's Bridge design system); PRODUCT.md + DESIGN.md design language. Correction captured: the "Hamburg PunkAChien" was a misID (Insouciance→Liquid Finale @ 39C3); real 38C3 PunkAChien = Take35 (pending ear-verify). meth_bass/d6 silence is a controller-ergonomics artifact, not a track tell — dropped as a fingerprint feature. See performance_notes.md, tasks/010 + 011.
PLN (Algolia) authored
-
- 02 Jun, 2026 3 commits
-
-
PLN (Algolia) authored
-
Sync-up of the workspace: edits across nova/collab tracks (quand_on_decolle, take_5_drops, punkachien, jeudrill, sunny_side_up, plosive, wap, perfect, techno_orage, ...), new collab/solo pieces (mains_libres, the_revolution_will_be_sampled, bois_bumbum, do_it_right, bullet_train), backlog/CLAUDE.md project notes, perf.sh (CPU governor helper), and the analyze_samples / fan_check / shipowiz tools.
PLN (Algolia) authored -
Pulsar editor plugin rendering a track-aware HUD topbar (role colors, LCXL spatial layout, header_comments). Was sitting loose at ~/Work/Tools/pulsar-parvagues-hud with no git; vendored into tools/ so the package travels with the livecoding workspace and can be shared in one clone. node_modules excluded; run `apm install` (or `npm install`) inside the dir to set up.
PLN (Algolia) authored
-
- 19 Apr, 2026 2 commits
-
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
- 21 Mar, 2026 1 commit
-
-
28 output channels (+4), 14th orbit dedicated to tidal-ears audition. No Ardour track needed — captured via PipeWire virtual sink.
PLN (Algolia) authored
-
- 20 Mar, 2026 8 commits
-
-
↔ TODO verify together: bass rewritten from pyin analysis (librosa), kick LPF raised for click, d3 cut groups for OH ring-over, cello updated. Bass was wrong — NTO uses sustained Bb1/F2 alternation with chromatic slides, NOT F/A/C arpeggio. A2 never appears in any segment.
PLN (Algolia) authored -
d5: keep dope slow-2x base, ^58 now layers fast 2 (original NTO speed) d9: 90s_synatm:8 (99.7% low, 0% hi — warm, not windy)
PLN (Algolia) authored -
d4 bass: octersubbus replaces lpfbus on ^53 (user preference) d5 arp: 16-bar cycle with A3/C4 variations (demucs melody arc) Bb/F anchor bars + A3/F4 + A3/C4 + Eb/Gb variations d7 cello: tighter room (0.25), shorter legato (1.2), rhythmic answer phrase on beat 3, mirrors bass V chord one octave up
PLN (Algolia) authored -
Every voice now has subtle 32-bar sweeps matching NTO's arrangement evolution: - d1 kick: lpf 700→250 (darker), room 0→0.15 (opening) - d2 clap: gain 0.5→0.8 (grows into mix) - d3 OH: n 5→9 (brightening), hpf 2k→5k, gain 1.2→1.5 - d4 bass: room 0.05→0.2 (space opens) - d5 arp: room 0.2→0.5, sz 0.3→0.7 (tail grows) - d6 piano: modIndex 1→3.5 (richer harmonics) - d7 cello: room 0.3→0.6, gain 0.8→1.1 (presence grows) - d9 pad: lpf 1.2k→6k (warm→bright), gain 0.7→1.0 (swells) All manual controls preserved — automations are background evolution.
PLN (Algolia) authored -
Full NTO drum character applied: - d1 kick: att 0.05 (round thud), lpf darkening over time (saw 800→300) - d2 clap: quiet (gain 0.7), dry (room 0.1), hpf 800 — mid-snap only - d3 OH: evolving brightness (n6→n8), att 0.04 (soft onset), ^44 toggles whisper-shimmer mode (gain 0.3, hpf 6000, legato 0.15) - Header: full drum voice analysis with centroid evolution, attack/decay times, peak levels per section
PLN (Algolia) authored -
Deep demucs drum study findings: - Kick: 8th note pulse (NOT 4otf), ghost doubles before drop - Cymbal: THE defining texture, upbeat 8ths throughout most of track - Clap: appears late (~200s) on contretemps (beats 1&3), ~1200Hz dry snap - Drop at 2:20: kick disappears, pure cymbal upbeat 8ths - Arrangement: kick 8ths → cymbal break → kick+cymbal+clap climax Changes: - d1 kick: rewritten as 8th note pulse, ^29 ghost double control - d2 clap: ^43 ON = contretemps (beats 1&3), OFF = backbeat - d3 hats: OH on every upbeat 8th, ^44 toggles cymbal breakdown mode
PLN (Algolia) authored -
Major findings from demucs onset analysis: - NTO bass uses ONLY F2/A2/C2 (V chord tones) — never sits on Bb root! - Bass is rhythmically alive, not held notes. Varies each 2-bar phrase. - Guitar(arp) stem evolves: F3/F4 base → Bb3/A3 mid → Gb4/E4 breakdown - Piano: sparse Bb3 stabs with F3/A3, only in specific sections Changes: - d4 bass: rewritten as rhythmic V chord figure (f2/a2/c2 variation) - d6 piano: NEW — sparse FMRhodes1 stabs, ^31 knob controls density - d7 cello: reworked as counter-melody (sustained 5ths/3rds) - d9 pad: fixed cut group collision (was cut 7, now cut 9)
PLN (Algolia) authored -
NTO La Clé des Champs algoraoke: - Bass: dropped to Bb1/F2 (demucs confirmed 58-87Hz range) - Bass answer: V chord tones A2→C2→F2 (onset analysis, not Eb Db C) - Answer timing: quarter notes over 2 bars (was 83ms triplets, now 500ms) - Arp: simplified to <[bf4 f4]*8!6 [ef4 gf4]*8!2> (no note-flip) - Cello d7: reworked as sustained counter-melody (5ths/3rds), not bass double - Drums: added sometimesBy knob control (^30 clap flam, ^32 hat roll, ^52 legato) - d8 breaks: full treatment (^92 ply, ^60 chop mode, ^36/^56 break switch) - Header: rewritten with demucs spectral evidence and onset analysis data - SC: s.volume=2 + StageLimiter.activate for output levels
PLN (Algolia) authored
-
- 18 Mar, 2026 1 commit
-
-
PLN (Algolia) authored
-
- 15 Mar, 2026 1 commit
-
-
Research + MIDI analysis of the original track: - Key: Bb minor (harmonic minor dominant F) - Arp from MIDI: 2-note 16th oscillation (Bf4/F4, order flips per chord) - 16-bar cycle: Bbm(4) | F(4) | Bbm(4) | Ebm(4) - Drums: 808bd+clubkick, h2o handclap, h2o hats (sparse offbeat) - All melodic voices on MiOmi (bass, arp, pad, lead) - Timbral faders for live "wider before drop" sweep (FM/detune/cutoff) Co-Authored-By:Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PLN (Algolia) authored
-
- 03 Nov, 2025 3 commits
-
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
- 22 Aug, 2025 1 commit
-
-
PLN (Algolia) authored
-
- 06 Jun, 2025 2 commits
-
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
- 09 May, 2025 1 commit
-
-
PLN (Algolia) authored
-
- 04 May, 2025 3 commits
-
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
- 06 Feb, 2025 1 commit
-
-
PLN (Algolia) authored
-
- 19 Dec, 2024 2 commits
-
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
- 02 Dec, 2024 1 commit
-
-
PLN (Algolia) authored
-
- 24 Nov, 2024 1 commit
-
-
PLN (Algolia) authored
-
- 19 Oct, 2024 1 commit
-
-
PLN (Algolia) authored
-
- 11 Sep, 2024 2 commits
-
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-