Commit 720e14d0 by PLN (Algolia)

fix(tide-table): repair stale next/ catalog path + rename Aria→Mafia Sans Serif (#22)

Two findings while fixing the #22 track-name typo, both surfaced by tracing
where the name actually lives rather than sed-ing the blast radius:

PARSER BUG — the catalog generators were reading a dead path. Commit 6e51fff
hoisted the site app out of next/ to the repo root, but five tide-table modules
still pointed LIVES at /Work/Web/www/next/content/lives — which is now EMPTY.
The committed catalog/map JSONs were stale pre-hoist artifacts; any regen would
have silently produced an empty catalog. Fixed the path in
build_track_recording_map, build_catalog_view, pattern_ngrams, tide_eda,
boundary_bleed (+ 4 docs/README/conftest that documented the dead path). This is
exactly the "a parser miss must never masquerade as data" footgun — the path was
wrong at the source while the output looked plausible.

RENAME — the track was renamed Aria→Mafia Sans Serif long ago in the score, but
the canonical site tracks.json still carried name "Aria Sans Serif" AND a
dangling file ref (aria_sans_serif.tidal, which no longer exists; the real score
is mafia_sans_serif.tidal). Fixed at the canonical root (tracks.json, committed
separately in the www repo) and REGENERATED the catalog via `tide.py build` —
not hand-edited — so catalog.generated / catalog_view / pattern_registry /
track_recording_map all pick up the rename from source.

Validation: regen diff is clean — only the Mafia rename plus one legitimate
side-effect (the catalog re-read the *current* mafia_sans_serif.tidal source,
which had resetCycles commented out since the last build; the old cached source
was from the pre-rename file). No other track's data moved (verified by grepping
the diff for non-Mafia id/title/track changes — none). Neighbor-list reordering
in pattern_registry is benign. Test suite: 80 pass, 1 fail — the failure
(38c3-toilet recovers 0 backlog tracks) is PRE-EXISTING (reproduced with these
changes stashed), a real data gap belonging to #27/#66, not this change.

Interim n=172 emotion calibration JSON left uncommitted (regenerates at 534).
parent 0a2921a0
......@@ -6,7 +6,7 @@ Tooling lives here (versioned in the Tidal repo, like the visualizer & mastering
chain). The **data root** is the freebox `Prod/` archive
(`/mnt/freebox/PLN/Work/Sound/Prod`, canonical — fuller than the local mirror).
The **gig/setlist data** already lives in the ParVagues site
(`~/Work/Web/www/next/content/lives/` + `tracks.json` + `ontology/events.yaml`).
(`~/Work/Web/www/content/lives/` + `tracks.json` + `ontology/events.yaml`).
## The fleet — naming chart 🌊
......
......@@ -14,7 +14,7 @@
## Relationship to the site (don't duplicate)
The ParVagues site already holds the gig map:
`~/Work/Web/www/next/content/lives/{year}/{slug}.md` (+ `tracks.json` setlists +
`~/Work/Web/www/content/lives/{year}/{slug}.md` (+ `tracks.json` setlists +
`ontology/events.yaml`). `escales` is a **sidecar keyed by gig slug** that adds only
what the site lacks and shouldn't publish:
......
......@@ -5,7 +5,7 @@ The catalog — one source of truth for every ParVagues asset and where it lives
## Sources (reconciled, not duplicated)
1. **`Prod/` archive** (freebox canonical) — masters, mixdowns, Audacity projects.
2. **Site setlists**`~/Work/Web/www/next/content/lives/**/tracks.json` already
2. **Site setlists**`~/Work/Web/www/content/lives/**/tracks.json` already
names tracks per gig, with BPM, style, sample packs, and Tidal ingredients.
3. **External** — SoundCloud, Bandcamp, YouTube, archive.org, Spotify/DSPs, IG.
4. **Screen-rec / phone recordings** — provenance-tagged candidates.
......
......@@ -29,7 +29,7 @@ from models import EditKind, EditOp, MasterEdit, Provenance
HERE = Path(__file__).parent
STEMMAP = HERE / "punkachien" / "stemmap_take89.json"
BOUNDS = HERE / "boundaries_take89_validated.json"
TRACKS = Path("/home/pln/Work/Web/www/next/content/lives/2026/montreuil-algorave/tracks.json")
TRACKS = Path("/home/pln/Work/Web/www/content/lives/2026/montreuil-algorave/tracks.json")
OUT = HERE / "boundary_bleed_take89.json"
EDL = HERE / "master_edl_take89.json"
......
......@@ -6,7 +6,7 @@ Joins the three corners of the catalog into one confirmation view, so we can SEE
A — score the track's `.tidal` (ground truth from code; tidal_score)
C — metadata the site's gig tracklists (bpm/style/dur + claimed ingredients;
www/next/content/lives/**/tracks.json) — the canonical metadata
www/content/lives/**/tracks.json) — the canonical metadata
B — recording the Ardour takes a track plausibly lives in (date-join via
take_gig_map) + whether that take has been EDA'd (audio-grounded)
......@@ -41,7 +41,7 @@ from sample_tfidf import SPLIT, sound_vocab # noqa: E402
HERE = Path(__file__).parent
REPO = HERE.parent.parent # …/Sound/Tidal
LIVES = Path("/home/pln/Work/Web/www/next/content/lives")
LIVES = Path("/home/pln/Work/Web/www/content/lives") # app hoisted out of next/ in 6e51fff
TAKE_MAP = HERE / "take_gig_map.md"
OUT = HERE / "catalog_view.json"
AS_OF = "2026-06-06"
......
......@@ -12,7 +12,7 @@ from datetime import date
from pathlib import Path
HERE = Path(__file__).parent
LIVES = Path("/home/pln/Work/Web/www/next/content/lives")
LIVES = Path("/home/pln/Work/Web/www/content/lives") # app hoisted out of next/ in 6e51fff
TAKE_MAP = HERE / "take_gig_map.md"
OUT = HERE / "track_recording_map.json"
AS_OF = "2026-06-05"
......
......@@ -30,7 +30,7 @@
"Take80"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "no-claim",
"license": null,
"inspiration": [],
......@@ -173,7 +173,7 @@
"Take21"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "divergent",
"license": null,
"inspiration": [],
......@@ -210,7 +210,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -245,7 +245,7 @@
"Take80"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "no-claim",
"license": null,
"inspiration": [],
......@@ -434,38 +434,6 @@
"Take80"
],
"recorded": true,
"eda_grounded": false,
"ac_level": "agree",
"license": null,
"inspiration": [],
"collab": [],
"status": null,
"notes": null,
"authored_prov": null
},
{
"id": "live/collab/raph/aria_sans_serif.tidal",
"title": "Aria Sans Serif",
"aka": [
"Aria Sans Serif"
],
"sounds": [
"acidOto3091",
"clubkick",
"h2ogmhh",
"jazz",
"jungle_breaks",
"moog",
"oil"
],
"orbits": 7,
"gigs": [
"2026/montreuil-algorave"
],
"takes": [
"Take89"
],
"recorded": true,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
......@@ -666,6 +634,38 @@
"authored_prov": null
},
{
"id": "live/collab/raph/mafia_sans_serif.tidal",
"title": "Mafia Sans Serif",
"aka": [
"Mafia Sans Serif"
],
"sounds": [
"acidOto3091",
"clubkick",
"h2ogmhh",
"jazz",
"jungle_breaks",
"moog",
"oil"
],
"orbits": 7,
"gigs": [
"2026/montreuil-algorave"
],
"takes": [
"Take89"
],
"recorded": true,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
"collab": [],
"status": null,
"notes": null,
"authored_prov": null
},
{
"id": "live/collab/raph/nouveau_punk.tidal",
"title": "Nouveau Punk",
"aka": [
......@@ -692,7 +692,7 @@
"Take36"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -736,7 +736,7 @@
"Take66"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -846,7 +846,7 @@
"Take21"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -951,7 +951,7 @@
"Take66"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "partial",
"license": null,
"inspiration": [],
......@@ -1123,7 +1123,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -1196,7 +1196,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -1355,7 +1355,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -1422,7 +1422,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -1465,7 +1465,7 @@
"Take21"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -1572,7 +1572,7 @@
"Take21"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "partial",
"license": null,
"inspiration": [],
......@@ -1652,7 +1652,7 @@
"Take80"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -1787,7 +1787,7 @@
"Take66"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -1826,7 +1826,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -2051,7 +2051,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "no-claim",
"license": null,
"inspiration": [],
......@@ -2215,7 +2215,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "partial",
"license": null,
"inspiration": [
......@@ -2331,7 +2331,7 @@
"Take21"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -2378,7 +2378,7 @@
"Take66"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -2425,7 +2425,7 @@
"Take66"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......@@ -2462,7 +2462,7 @@
"Take80"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "conflict",
"license": null,
"inspiration": [],
......@@ -2500,7 +2500,7 @@
"Take70"
],
"recorded": true,
"eda_grounded": false,
"eda_grounded": true,
"ac_level": "agree",
"license": null,
"inspiration": [],
......
......@@ -16,9 +16,9 @@
"alias_fragmented": 3,
"recorded": 40,
"unrecorded": 33,
"with_eda": 15,
"with_eda": 40,
"takes_total": 63,
"takes_with_eda": 1,
"takes_with_eda": 61,
"gigs_total": 23
},
"tracks": [
......@@ -162,12 +162,12 @@
"via": "2025/bunker",
"method": "date±3d",
"is_set": false,
"eda": null,
"eda": "eda_Take80.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -483,7 +483,7 @@
"rhadamanthe_melo",
"risers"
],
"source": "-- url: \"/home/pln/Downloads/PerfectSunriseLoop.gif\"\n\n-- À Mon Amour\n-- <3\ndo\n-- resetCycles\nsetcps (120/60/4)\nlet gMask = (midiOn \"^41\" (mask \"t . <f t f <f t>> <t f f <t f>>\"))\nlet gMute1 = (midiOn \"^73\" (mask \"f*16\"))\nlet gMute2 = (midiOn \"^74\" (mask \"f*16\"))\nlet gMute3 = (midiOn \"^75\" (mask \"f*16\"))\nlet gM1 = gMask . gMute1\nlet gM2 = gMask . gMute2\nlet gM3 = gMask . gMute3\nlet modIndex = pF \"modIndex\"\nd1 $ gF1 $ gM2\n -- $ mask \"t t t f\"\n $ midiOn \"^42\" (struct \"t t t*<1!6 2 1> t*<1!7 2>\")\n $ midiOff \"^42\" (struct \"t . ~ t ~ <~!3 t*<2 [2 1] [4 2] [2 4]>>\")\n $ stack [\n \"kick\" # lpf 10000 # cut 1,\n \"rumble\" |* gain 1.3\n # lpf 200\n # cut 11,\n \"\"\n ]\n # \"[techno:1,jazz]\"\n # gain 1.4\n # cps ((range 60 180 \"^29\")/60/4)\nd2 $ gF1 $ gM1\n $ midiOn \"^43\" (<|\"~ s ~ s*<1 2>\")\n $ midiOff \"^43\" (<| \"~ s\")\n $ \"[snare:24]\"\n # gain 1.4\nd3 $ gF1 $ gM1 -- Cymbales sol\n $ midiOn \"^44\" (<| \"~ cy ~ cy ~ cy ~ <cy [~ cy]>\")\n $ midiOff \"^44\" (<| \"~!7 <~ <cy ~> ~ cy>\")\n $ \"cy\" # \"<cy:1!6 cy:2!2>\" # \"h2ogmcy\"\n |* gain (range 1.1 0.8 perlin)\n |* legato (range 0.5 2 (fast 2 perlin))\nd4 $ gF2 $ gM3 -- Bassline faite main avec un violoncelle californien\n $ midiOn \"^89\" (struct \"t*16\")\n $ midiOn \"^57\" (struct \"t(<3 5 5 7>,8)\")\n $ note (\"<<[b3@5 a3 b3 a3] <[b3@7 a3] [b3@5 d4@2 a3]>> [e3@7 b3]>\")\n # stack [\n \"bass\" # lpf 500,\n \"bass\" # cut 41 # crushbus 41 (range 16 4.5 \"^53\") # bandf 500 # gain 1.2,\n \"\"]\n # \"cpluck\" |+ note 12\n # octerbus 42 (range 0 0.8 \"^33\")\n -- # octersubbus 43 (range 0 2.5 \"^33\")\n # cut 41\n # lpf 20000\n # gain 1.4\nd5 $ gF3 $ gM3 -- Piano nostalgique, temps inexorable\n $ midiOn \"^90\" (superimpose ((# cut 51) . (# delay 0.95). (# delayt 0.125) . (# delayfb 0.7) . (# room 0) .(|* gain 0.8)))\n $ stack [\n midiOn \"^58\" (# silence) $ slow 2 \"<begin ~ begin ~ begin ~ ~ ~>/2\" # cut 51 # begin 0 # end 0.2 # pan 0.4, -- Main piano\n midiOn \"^58\" (# silence) $ slow 2 \"<~ mid ~ mid ~ mid ~ ~>/2\" # cut 52 # begin 0.25 # end 0.6 # pan 0.4, -- side piano\n \"<~!24 end!8>\" # begin 0.75 # end 1 # cut 53 # gain 0.8 # pan 0.9, -- ENDING <3\n -- midiOff \"^58\" (# silence) $ (0.25 ~>) $ (# hpf 1200) (\"<p1 ~>\") # cut 54, -- Filtered delayed echoes\n \"\"\n ]\n # \"rhadamanthe_melo:1\"\n # crushbus 51 (range 16 2.7 \"^54\")\n # room 0.4\n # gain 1.3\nd6 $ gF1 $ gM1 $ chop 8 -- Je t'avais oublie toi <3\n $ loopAt 1\n -- Je t'oublie trop souvent :(\n $ \"breaks165\"\n # cut 6\nd8 $ gF1 $ gM1 -- Break multi-facette, assez complexe, comme chacun d'entre nous\n $ midiOn \"^60\" (mask \"t(4,8,<1!3 0>)\" . chop 8)\n $ midiOn \"^36\" (id . (loopAt 0.5 . (# \"jungle_breaks:130\")))\n $ midiOn \"^92\" (mask \"t(16,32)\" . ply \"2 2 <4 8 16 16> 2\")\n $ midiOn \"^56\" (loopAt 2 . (# n 141))\n $ chop 16\n $ loopAt 2\n $ \"jungle_breaks:1\" # cut 8\n # gain 1.4\nd9 $ gF3 $ gM3\n $ note (\"<e e c b4>/2\" - \"e\")\n # \"rhadamanthe_melo:4\"\n # legato 4\n # rel 2\n # sus 2\n # room 0.6 # sz 0.6 # lpf 2000\nd11 $ gM3 $ gF3-- Intro doux piano\n $ gF3\n $ whenmod 8 6 (slice 2 \"0*2\")\n -- . (# att 0.02) . (# sus 2) . (# rel 4) . (# legato 4)\n $ chop 8\n $ \"nujazz_keys120:35/4\"\n # cut 11\n # room 0.7 # sz 0.7 # dry 1\n # delaybus 111 \"^30\"\n # delayt (\"<2!3 3>\"/3) \n # delayfb 0.5 \n # gain 1.3\nd12 $ gF1 $ gM1 $ \"hh(3,8) hh(3,8)\" # \"h2ogmhh\"\nd10 \n $ mask \"<f!24 t!8>\"\n $ loopAt 8 \n $ \"risers\" \n # cut 10\n # room 0.4 \n # dry 1.4\n # octersubsub 0.5\n # gain 0.8\n",
"source": "-- url: \"/home/pln/Downloads/PerfectSunriseLoop.gif\"\n\n-- À Mon Amour\n-- <3\ndo\nresetCycles\nsetcps (120/60/4)\nlet gMask = (midiOn \"^41\" (mask \"t . <f t f <f t>> <t f f <t f>>\"))\nlet gMute1 = (midiOn \"^73\" (mask \"f*16\"))\nlet gMute2 = (midiOn \"^74\" (mask \"f*16\"))\nlet gMute3 = (midiOn \"^75\" (mask \"f*16\"))\nlet gM1 = gMask . gMute1\nlet gM2 = gMask . gMute2\nlet gM3 = gMask . gMute3\nlet modIndex = pF \"modIndex\"\nd1 $ gF1 $ gM2\n -- $ mask \"t t t f\"\n $ midiOn \"^42\" (struct \"t t t*<1!6 2 1> t*<1!7 2>\")\n $ midiOff \"^42\" (struct \"t . ~ t ~ <~!3 t*<2 [2 1] [4 2] [2 4]>>\")\n $ stack [\n \"kick\" # lpf 10000 # cut 1,\n \"rumble\" |* gain 1.3\n # lpf 200\n # cut 11,\n \"\"\n ]\n # \"[techno:1,jazz]\"\n # gain 1.4\n # cps ((range 60 180 \"^29\")/60/4)\nd2 $ gF1 $ gM1\n $ midiOn \"^43\" (<|\"~ s ~ s*<1 2>\")\n $ midiOff \"^43\" (<| \"~ s\")\n $ \"[snare:24]\"\n # gain 1.4\nd3 $ gF1 $ gM1 -- Cymbales sol\n $ midiOn \"^44\" (<| \"~ cy ~ cy ~ cy ~ <cy [~ cy]>\")\n $ midiOff \"^44\" (<| \"~!7 <~ <cy ~> ~ cy>\")\n $ \"cy\" # \"<cy:1!6 cy:2!2>\" # \"h2ogmcy\"\n |* gain (range 1.1 0.8 perlin)\n |* legato (range 0.5 2 (fast 2 perlin))\nd4 $ gF2 $ gM3 -- Bassline faite main avec un violoncelle californien\n $ midiOn \"^89\" (struct \"t*16\")\n $ midiOn \"^57\" (struct \"t(<3 5 5 7>,8)\")\n $ note (\"<<[b3@5 a3 b3 a3] <[b3@7 a3] [b3@5 d4@2 a3]>> [e3@7 b3]>\")\n # stack [\n \"bass\" # lpf 500,\n \"bass\" # cut 41 # crushbus 41 (range 16 4.5 \"^53\") # bandf 500 # gain 1.2,\n \"\"]\n # \"cpluck\" |+ note 12\n # octerbus 42 (range 0 0.8 \"^33\")\n -- # octersubbus 43 (range 0 2.5 \"^33\")\n # cut 41\n # lpf 20000\n # gain 1.4\nd5 $ gF3 $ gM3 -- Piano nostalgique, temps inexorable\n $ midiOn \"^90\" (superimpose ((# cut 51) . (# delay 0.95). (# delayt 0.125) . (# delayfb 0.7) . (# room 0) .(|* gain 0.8)))\n $ stack [\n midiOn \"^58\" (# silence) $ slow 2 \"<begin ~ begin ~ begin ~ ~ ~>/2\" # cut 51 # begin 0 # end 0.2 # pan 0.4, -- Main piano\n midiOn \"^58\" (# silence) $ slow 2 \"<~ mid ~ mid ~ mid ~ ~>/2\" # cut 52 # begin 0.25 # end 0.6 # pan 0.4, -- side piano\n \"<~!24 end!8>\" # begin 0.75 # end 1 # cut 53 # gain 0.8 # pan 0.9, -- ENDING <3\n -- midiOff \"^58\" (# silence) $ (0.25 ~>) $ (# hpf 1200) (\"<p1 ~>\") # cut 54, -- Filtered delayed echoes\n \"\"\n ]\n # \"rhadamanthe_melo:1\"\n # crushbus 51 (range 16 2.7 \"^54\")\n # room 0.4\n # gain 1.3\nd6 $ gF1 $ gM1 $ chop 8 -- Je t'avais oublie toi <3\n $ loopAt 1\n -- Je t'oublie trop souvent :(\n $ \"breaks165\"\n # cut 6\nd8 $ gF1 $ gM1 -- Break multi-facette, assez complexe, comme chacun d'entre nous\n $ midiOn \"^60\" (mask \"t(4,8,<1!3 0>)\" . chop 8)\n $ midiOn \"^36\" (id . (loopAt 0.5 . (# \"jungle_breaks:130\")))\n $ midiOn \"^92\" (mask \"t(16,32)\" . ply \"2 2 <4 8 16 16> 2\")\n $ midiOn \"^56\" (loopAt 2 . (# n 141))\n $ chop 16\n $ loopAt 2\n $ \"jungle_breaks:1\" # cut 8\n # gain 1.4\nd9 $ gF3 $ gM3\n $ note (\"<e e c b4>/2\" - \"e\")\n # \"rhadamanthe_melo:4\"\n # legato 4\n # rel 2\n # sus 2\n # room 0.6 # sz 0.6 # lpf 2000\nd11 $ gM3 $ gF3-- Intro doux piano\n $ gF3\n $ whenmod 8 6 (slice 2 \"0*2\")\n -- . (# att 0.02) . (# sus 2) . (# rel 4) . (# legato 4)\n $ chop 8\n $ \"nujazz_keys120:35/4\"\n # cut 11\n # room 0.7 # sz 0.7 # dry 1\n # delaybus 111 \"^30\"\n # delayt (\"<2!3 3>\"/3) \n # delayfb 0.5 \n # gain 1.3\nd12 $ gF1 $ gM1 $ \"hh(3,8) hh(3,8)\" # \"h2ogmhh\"\nd10 \n $ mask \"<f!24 t!8>\"\n $ loopAt 8 \n $ \"risers\" \n # cut 10\n # room 0.4 \n # dry 1.4\n # octersubsub 0.5\n # gain 0.8\n",
"claimed_sounds": [
"cpluck",
"cy",
......@@ -714,7 +714,7 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
},
{
......@@ -723,7 +723,7 @@
"via": "2025/bunker",
"method": "date±3d",
"is_set": false,
"eda": null,
"eda": "eda_Take80.json",
"audio": null
},
{
......@@ -732,12 +732,12 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 3,
"n_takes_eda": 1,
"n_takes_eda": 3,
"recorded": true,
"alias_siblings": []
},
......@@ -849,7 +849,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -858,12 +858,12 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
}
],
"n_takes": 2,
"n_takes_eda": 0,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": [
"live/collab/mousquetaires/blue_gold.tidal"
......@@ -1012,7 +1012,7 @@
"via": "2024/38c3-toilet",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take36.json",
"audio": null
},
{
......@@ -1021,12 +1021,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 2,
"n_takes_eda": 0,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": []
},
......@@ -1134,12 +1134,12 @@
"via": "2025/bunker",
"method": "date±3d",
"is_set": false,
"eda": null,
"eda": "eda_Take80.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -1549,7 +1549,7 @@
"via": "2024/38c3-toilet",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take36.json",
"audio": null
},
{
......@@ -1558,12 +1558,12 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 2,
"n_takes_eda": 1,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": [
"live/collab/ccc/ccc0.tidal",
......@@ -2084,7 +2084,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -2093,7 +2093,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
},
{
......@@ -2102,7 +2102,7 @@
"via": "2024/38c3-toilet",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take36.json",
"audio": null
},
{
......@@ -2111,136 +2111,12 @@
"via": "2025/bunker",
"method": "date±3d",
"is_set": false,
"eda": null,
"eda": "eda_Take80.json",
"audio": null
}
],
"n_takes": 4,
"n_takes_eda": 0,
"recorded": true,
"alias_siblings": []
},
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"names": [
"Aria Sans Serif"
],
"name": "Aria Sans Serif",
"gigs": [
"2026/montreuil-algorave"
],
"metas": [
{
"gig": "2026/montreuil-algorave",
"date": "2026-05-22",
"bpm": 160,
"style": "dnb",
"dur": 255.26
}
],
"score_present": true,
"n_orbits": 7,
"score": {
"d1": "clubkick",
"d2": "jazz",
"d3": "h2ogmhh",
"d4": "moog",
"d5": "oil",
"d7": "acidOto3091",
"d8": "jungle_breaks"
},
"score_sounds": [
"acidOto3091",
"clubkick",
"h2ogmhh",
"jazz",
"jungle_breaks",
"moog",
"oil"
],
"source": "resetCycles\n\ndo\nlet gMask = (midiOn \"^41\" (mask \"t . <f t f <f t>> <t f f <t f>>\"))\nlet gMute = (midiOn \"^73\" (mask \"f*16\"))\nlet gMute2 = (midiOn \"^74\" (mask \"f*16\"))\nlet gMute3 = (midiOn \"^75\" (mask \"f*16\"))\nlet gM1 = gMask . gMute\nlet gM2 = gMask . gMute2\nlet gM3 = gMask . gMute3\nlet width = pF \"width\"\nlet fundamental = slow 4 $ \"<gb3'maj db3'maj bb2'min bb2'maj>\"\nsetcps (160/60/4)\nd1 $ gF1 $ gMute2\n -- $ midiOff \"^42\" (<| \"<k [~!7 k*<1 2>]>\")\n $ fix (# bandf 300) \"clubkick\"\n $ midiOff \"^42\" (<| \"k . ~ k*<1 2> ~ <~ k k <~ k*4>>\")\n $ midiOn \"^42\" (<| \"k k . k <k [~ k] k k*2>\")\n $ \"[jazz,clubkick]\"\n # cut 1\n # gain 1.5\nd2 $ gF1 $ gM1\n $ midiOn \"^43\" (<| \"~ s ~ [s*<1 2> <~!7 [~ s]>]\")\n $ midiOff \"^43\" (<| \"~ s\")\n $ \"snare:45\"\n # \"jazz:4\" # gain 1.3\nd3 $ gF1 $ gM1 \n $ midiOff \"^44\" (\n (<| \"h(3,8)\") . (# \"jbk_kick:43\")\n . (# room 0.2) . (# sz 0.4)\n )\n $ midiOn \"^44\" (<| \"~ h ~ h ~ h*<1!3 2> ~ h*<1 [1|2]>\")\n $ \"h2ogmhh\" # n \"<0!4 1!3 2>\"\n # gain (0.9 * (range 0.9 1.2 perlin))\nd4 $ gF2 $ gM3\n $ midiOn \"^89\" (ply 4)\n $ slow 2 $ note (\"<[e3@7 f3]!4 [b2@7 c2]!4>\") \n # \"moog:2\" \n # cut 4\n # crushbus 41 (range 16 2.5 \"^53\")\n # octerbus 42 (range 0 2.5 \"^33\")\n # gain 1.1\nd5 $ gF2 $ gM3 -- \n $ midiOn \"^90\" ((# n (\"<0>\" + \"<0 0 0 [0 0 1 0] 3 5 4 5>\"))\n . (ply 4) . (slice 4 2))\n $ midiOn \"^58\" (\n slice 4 \"0 1 2 3\"\n . (>| n \"<2 2 2 2 4 4 4 4>\")\n )\n $ midiOff \"^58\" (slow 2)\n $ whenmod 16 12 (# n 8)\n $ \"oil\" \n # n (\n slow 2 $ ply 2 $ \"<0 1 2 3 4 5 6 7>/2\"\n )\n # room 0.4 # sz 0.6 #dry 1.3\n # cut 5\n # gain 1.4\n # squizbus 51 (range 0 2.5 \"^54\")\nd7 $ gF3 $ gM3\n $ midiOn \"^91\" (ply 4)\n -- $ slow 2 \n $ note (\n \"<e3!4 b2!4>\"\n + (arp \"up\" \"c'majPent'4\")\n ) \n # \"acidOto3091\" \n # cut 4\n # crushbus 41 (range 16 2.5 \"^53\")\n # octerbus 42 (range 0 2.5 \"^33\")\n # gain 1.1\n # width (range 0 5 \"^19\")\nd8 $ gF1 $ gM1\n $ midiOn (\"^60\" - \"^92\") (mask \"f(4,8)\")\n $ midiOn (\"^36\" - \"^92\") ((loopAt 2) . (# hpf 1500) . (# \"jungle_breaks:45\")) -- ORL RPZ\n $ midiOn (\"^56\" - \"^92\") ((loopAt 2) . (|* gain 1.1) . (# \"jungle_breaks:30\")) -- Clochettes?\n $ midiOn (\"^92\") ( -- Bouton Nassim <3\n slice 16 \"[0 .. 7] . <[0 .. 7]!7 [0 1 . [2 3]]>\"\n . loopAt 1 . (# \"breaks165\") . (# octersub 2)\n . (|* gain 0.9)\n )\n $ chop 16\n $ loopAt 1\n -- $ loopAt 2\n $ \"jungle_breaks:28\" -- BREAKS LOVER <3\n # room 0\n # gain 1\n\n-- $ chop 8 \n-- $ loopAt 4 \n-- $ midiOn \"^57\" ( -- HIGHER\n-- slow 2 . ply 2 . \n-- (# n \"<1 1 2 2 6 6 6 1 16 16 17 18>\" )\n-- )\n-- $ midiOff \"^57\" ( -- LOWER\n-- (# n \"<5 5 5 6>\")\n-- )\n-- $ \"perfect\" \n-- # room 0.4 \n-- # sz 0.4\n-- # octersub 0.4\n-- # crushbus 41 (range 16 4.5 \"^53\")\n-- # octersubbus 42 (range 0 2.5 \"^33\")\n-- # octersubbus 43 (range 0 5 \"^17\")\n-- # cut 4 \n-- # gain 1.4\n-- d5 $ gF3 $ gM3 -- COUNT TO SUPERSTARDOM\n-- $ midiOn \"^29\" (\n-- slice 16 \"<<[0 1 2 3] [<0 10> <1 11> 10 11]> <[8 9 10 11] [<12!3 15> <13!3 15> <14 12> <15 13>]>>\" \n-- . (>| \"perfect\")\n-- )\n-- $ midiOn \"^90\" (ply \"<2 4>\")\n-- $ midiOn (\"^34\" - \"^18\") ( -- THE HIPS THE FACE THE LIPS THE MICROPHONE \n-- slice 4 (fast 2 \n-- . ply \"<1!16 <2 1>!16>\" \n-- . \"<0 1 2 3>\") \n-- . (# n 14) . (|* gain 0.8)\n-- )\n-- $ midiOn \"^18\" -- SUPERSTAR\n-- (\n-- -- mask \"<t f!3>\" \n-- loopAt 4\n-- . (0.5 ~>)\n-- . (# n 8)\n-- . mask \"<t!4 t f t t>\"\n-- . (# end \"<0.18!3 0.45 1!4>\")\n-- . (# begin \"<0!4 0.5!4>\")\n-- . (|* gain 1.3)\n-- )\n-- $ midiOn (\"^58\") ( -- Slice 1 2 3 4!\n-- slice 8 \"<[0 1] [0 1] [0 0 <0 1> <1 0>] [2 3]>\" )\n-- $ midiOff (\"^58\"+\"^29\") ( -- WATCH ME WORK IT\n-- slice 8 \"<[0 1] [2 3] [4 5] [6 <7 <6 6*2>>]>\"\n-- )\n-- $ \"perfect\" \n-- # cut 5\n-- # room 0.4 # sz 0.39\n-- # pan \"0.2 0.8 0.2 0.8\"\n-- # gain 1.8\n-- # octersub 0.8 \n-- d6 $ gF1 $ gM3 \n-- $ mask \"f t\" \n-- $ midiOn \"^89\" (ply \"<4 8>\")\n-- $ chop 16\n-- $ \"meth_bass:3/8\" \n-- # room 0.4 \n-- # sz \"<0.7!3 1.1>\"\n-- # delay 0.8 # delayt 0.125 # delayfb 0.5\n-- # gain 1.4\n-- # cut 6\n-- d7 -- $ gF3 $ gM3 \n-- $ midiOn \"^59\" (off (1/16) (|+ note 7))\n-- $ note (\n-- fast 2 \n-- \"<[f3 <bf3!2 bf3!2 cs4!2 f4!2> <cs4!2 gs4!2> f4]>\"\n-- + \"[0,<0!8 12!8>]\"\n-- )\n-- # s \"acidOto3092\"\n-- # gain 1.4\n-- # width (range 0.5 0.98 \"^35\")\n-- # crushbus 71 (range 16 3.5 \"^55\")\n-- # cutoff (slow 3 $ range 300 3000 (sine * saw)) -- more erratic filter\n-- # room 0.2 # sz 0.4 \n-- d12 $ gF3 $ gM3 -- Acid techno arp with structured rhythms\n-- $ note (slow 2 $ \n-- \"<[bf2 . cs3 [ef3 bf3]] [cs3 ef3 . bf3] [ef3 . [bf3 cs4] ef3] [[bf3 gs3] . cs3 ef3]>\")\n-- # s \"acidOto3091\" \n-- # gain 1.3\n-- # cutoff (slow 4 $ range 400 2500 saw) -- classic acid filter sweep\n-- # resonance 0.3\n-- # accelerate (choose [0, 0.1, -0.1]) -- slight pitch drift\n-- # room 0.2 # sz 0.3\n-- d8 $ gF1 $ gM1 \n-- $ midiOff \"^60\" (mask \"t(<4 [<2 4> 8]>,8,1)\" . chop 8)\n-- $ midiOff \"^56\" (\n-- slice 8 \"0 1 <2!3 ~> <3!3 0> <4!3 1> 5 <6!12 ~!3 6*4> 7*<1 2 0 8>\")\n-- $ midiOn \"^56\" (loopAt 2 . (# \"jungle_breaks:19\"))\n-- $ chop 8 \n-- $ loopAt 1 \n-- $ \"breaks165\" \n-- # cut 8\n-- # gain 1.2 \n-- d9 $ gF2 $ gM3-- slow arpeggiated synth, high register \n-- $ mask \"t <f!8 t!8> <f!4 t!4> <f!8 t!8>\"\n-- $ fast 4\n-- $ arp \"up\" \n-- $ note (slow 2 $ \"<bf4'min cs4'maj ef4'min bf4'min>\")\n-- # \"90s_synatm:3\" |+ note 12 -- or \"foo\" \n-- # room 0.7 # sz 0.9\n-- # delay 0.5 # delaytime (1/3) # delayfb 0.4\n-- # lpf 1400\n-- # cut 9\n-- d10 -- Euclidian mid arps\n-- $ struct \"t(5,8,2)\" \n-- $ note (slow 2 $ \"<bf3 cs4 ef3 bf3>\" + \"<0 7 12>\")\n-- # s \"moogBass\"\n-- # gain 1.2\n-- # room 0.5 # sz 0.6\n-- # lpf (slow 4 $ range 2000 3500 sine)\n-- -- d11: sparse chord stabs, ambient pad\n-- d11 \n-- -- $ slow 8\n-- $ note (slow 2 $ \"<bf3'min'5 cs3'maj'5 ef3'min'5 bf3'min'5>\")\n-- # s \"sine\" |- note 12\n-- # gain 1.4\n-- # attack 0.5 # release 2\n-- # room 0.9 # sz 0.95\n-- # lpf 3000\n-- # delay 0.7 \n-- # delayt \"e\" \n-- # delayfb 0.8\n",
"claimed_sounds": [
"jazz",
"clubkick",
"h2ogmhh",
"moog",
"oil",
"acidOto3091"
],
"ingredients": [
{
"type": "sample",
"code": "s \"[jazz,clubkick]\"",
"description": "d1 — rhythm · CC off, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"jazz:4\"",
"description": "d2 — rhythm · CC off, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"h2ogmhh\"",
"description": "d3 — rhythm · CC off, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"moog:2\"",
"description": "d4 — bass · CC crush, octer, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"oil\"",
"description": "d5 — bass · CC off, on, squiz",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"acidOto3091\"",
"description": "d7 — bass · CC crush, octer, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "moment",
"code": "highlights",
"description": "transition×4 · breakdown×2 · buildup×4 · peak×1 · best cut @ 0:56",
"gig": "2026/montreuil-algorave"
}
],
"ac": {
"level": "agree",
"precision": 1.0,
"jaccard": 0.857,
"score_only": [
"jungle_breaks"
],
"metadata_only": [],
"shared": [
"acidOto3091",
"clubkick",
"h2ogmhh",
"jazz",
"moog",
"oil"
]
},
"takes": [
{
"take": "Take89",
"type": "SET",
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 1,
"n_takes_eda": 1,
"n_takes_eda": 4,
"recorded": true,
"alias_siblings": []
},
......@@ -2459,7 +2335,7 @@
"h2ogmhh",
"jazz"
],
"source": "do\nresetCycles\nsetcps (129/60/4)\nd1 $ gF1 $ gMute2 -- KICK: Sub thud, 4otf with flourish (NTO: deepens over time)\n $ midiOn \"^42\" (<| \"k k k <k k*2 k [~ k]>\") -- ON: 4otf + flourish variations\n $ midiOff \"^42\" (<| \"k ~ ~ <~!3 k>\") -- OFF: sparse intro\n $ sometimesBy \"^29\" ( -- ^29: ghost doubles (pre-drop energy)\n superimpose ((\"0.07\" <~) . (|* gain 0.7))\n )\n $ \"[techno:0,jazz]\"\n # gain 1.5\nd2 $ gF1 $ gM1 -- CLAP: Dry quiet snap, contretemps (enters late)\n -- NTO: peak=0.13 (QUIET!), att=10ms, dom=1292Hz, 0% sub, beats 1&3\n $ midiOn \"^43\" (<| \"cp ~ cp ~\") -- ON: contretemps (NTO climax)\n $ midiOff \"^43\" (<| \"~ cp ~ <~ cp*<1 2>>\") -- OFF: backbeat (our touch)\n $ sometimesBy \"^30\" ( -- ^30: flam probability\n superimpose ((\"e\" <~) . (|* gain 0.6))\n )\n $ \"h2ogmcp\"\n # hpf 800 # lpf 4000 -- pure mid-snap, no sub\n # room 0.1 # dry 1.5 -- very dry\n # gain (slow 32 $ range 0.8 1.2 saw) -- 32-bar: clap grows into the mix\n # pan 0.55\nd3 $ gF1 $ gM1 -- OH/CY: Subtle offbeat hats, ^44 morphs to cymbal shimmer\n -- NTO: OH on upbeats, centroid brightens 4000→8400Hz. Breakdown = quiet cymbal.\n $ midiOn \"^76\" (stut 3 0.6 \"s\") -- push: rolls\n $ midiOn \"^44\" ( -- ON: cymbal shimmer (quiet, bright, breakdown character)\n (|* gain 0.94) . (# legato 0.2) . (# \"h2ogmcy:1\") . (# hpf 5000)\n )\n -- $ midiOff \"^44\" (mask \"t(3,8)\") -- OFF: sparse euclidean (subtle)\n $ sometimesBy \"^32\" (ply \"<2!3 [2 4]>\") -- ^32: roll probability\n $ \"~ h ~ h ~ h ~ <h!3 h*2>\" -- offbeat pattern with flourish\n # \"h2ogmhh\"\n # n \"~ 3 ~ 2 ~ 4 ~ <3!3 [3 6]>\" -- varying openness per hit\n # legato (range 0.2 0.9 \"^52\") -- ^52: tightness\n # cut \"~ 3 ~ 3 ~ 3 ~ <3!3 [3 0]>\" -- last hit: cut 0 = rings over bar boundary\n # room (slow 32 $ range 0.2 0.45 saw) -- 32-bar: space grows (NOT dry!)\n # sz (slow 32 $ range 0.1 0.3 saw) -- 32-bar: tail lengthens\n # dry 1\n # pan 0.42\n # gain (slow 32 $ range 1.3 1.6 saw * \"0.7 0.8 0.65 [0.75|0.85] 0.69 0.8 ~ <0.9!3 [0.9 0.5]>\")\n -- 32-bar swell * per-hit velocity (the original subtle dynamics)\nd5 $ gF3 $ gM3 -- \n $ midiOn \"^90\" (ply \"<2 4 [<4!3 16> <8 16>]>\")\n $ slice 4 \"<0 1 2 3>\" \n $ \"desire\" # n \"<1!4 2!4 3!7 4 3!6 2 2 3!7 4>\" \n # cut 5 # lpf 4000\n # room 0.24 # sz 0.8\n # octersubbus 51 (range 0 1.5 \"^54\")\n # delay \"<0.2!3 0.8>\"\n # delayt 1 # delayfb 0.3\nd9 $ gF2 $ gM3 -- Announcing SYNTH\n $ superimpose ((|* gain \"^19\") . (# n 5) . (# cut 91))\n $ \"desire_synth/2\" # \"desire\" \n # n \"<0>\" \n # cut 9 -- SYNTH\n -- # end 0.1\n # lpf 3000\nd7 $ gF3 $ gM3 -- Voices \n $ fix ((6/8) ~>) (n 6)\n $ fix ((1/8) ~>) (n 9)\n $ fix ((5/8) <~) (n \"[11,12]\")\n $ slow 2 \n $ midiOn \"^19\" (>| n \"<11 12>\") -- NANANA\n $ midiOn \"^35\" (>| n \"<10 ~>\") -- FREE FROM DESIRE\n $ midiOn (\"^59\" - \"^35\") ( -- Refrain\n (>| n \"<10!4 11!4>\")\n ) -- Refrain\n $ midiOff \"^59\" ( -- Couplet\n (>| n \"<6 ~ 6 ~ 7 ~ 7 ~ 8 ~ 8 8 9 9 9 9>\"))\n $ \"desire\" \n # cut 7\nd8 $ gF1 $ gM1\n $ loopAt 2\n $ midiOn \"^92\" ( -- Bouton Nassim <3\n loopAt 0.5 . (# \"breaks165\")\n -- . (# octer 0.4) . ( octersubsub 4)\n . (# lpf 2500)\n . (# room 0)\n . (|* gain 1.2)\n )\n $ midiOff \"^60\" (mask \"f(8,16)\" . chop 16)\n $ midiOn \"^56\" (# \"jungle_breaks:7\")\n $ midiOn \"^36\" (# \"jungle_breaks:37\")\n $ chop 16 $ \"jungle_breaks:101\"\n # cut 8\n \n once $ \"desire\" # n \"[6]\" # cut 1\n \n",
"source": "do\n-- resetCycles \nsetcps (129/60/4)\nd1 $ gF1 $ gMute2 -- KICK: Sub thud, 4otf with flourish (NTO: deepens over time)\n $ midiOn \"^42\" (<| \"k k k <k k*2 k [~ k]>\") -- ON: 4otf + flourish variations\n $ midiOff \"^42\" (<| \"k ~ ~ <~!3 k>\") -- OFF: sparse intro\n $ sometimesBy \"^29\" ( -- ^29: ghost doubles (pre-drop energy)\n superimpose ((\"0.07\" <~) . (|* gain 0.7))\n )\n $ \"[techno:0,jazz]\"\n # gain 1.5\nd2 $ gF1 $ gM1 -- CLAP: Dry quiet snap, contretemps (enters late)\n -- NTO: peak=0.13 (QUIET!), att=10ms, dom=1292Hz, 0% sub, beats 1&3\n $ midiOn \"^43\" (<| \"cp ~ cp ~\") -- ON: contretemps (NTO climax)\n $ midiOff \"^43\" (<| \"~ cp ~ <~ cp*<1 2>>\") -- OFF: backbeat (our touch)\n $ sometimesBy \"^30\" ( -- ^30: flam probability\n superimpose ((\"e\" <~) . (|* gain 0.6))\n )\n $ \"h2ogmcp\"\n # hpf 800 # lpf 4000 -- pure mid-snap, no sub\n # room 0.1 # dry 1.5 -- very dry\n # gain (slow 32 $ range 0.8 1.2 saw) -- 32-bar: clap grows into the mix\n # pan 0.55\nd3 $ gF1 $ gM1 -- OH/CY: Subtle offbeat hats, ^44 morphs to cymbal shimmer\n -- NTO: OH on upbeats, centroid brightens 4000→8400Hz. Breakdown = quiet cymbal.\n $ midiOn \"^76\" (stut 3 0.6 \"s\") -- push: rolls\n $ midiOn \"^44\" ( -- ON: cymbal shimmer (quiet, bright, breakdown character)\n (|* gain 0.94) . (# legato 0.2) . (# \"h2ogmcy:1\") . (# hpf 5000)\n )\n -- $ midiOff \"^44\" (mask \"t(3,8)\") -- OFF: sparse euclidean (subtle)\n $ sometimesBy \"^32\" (ply \"<2!3 [2 4]>\") -- ^32: roll probability\n $ \"~ h ~ h ~ h ~ <h!3 h*2>\" -- offbeat pattern with flourish\n # \"h2ogmhh\"\n # n \"~ 3 ~ 2 ~ 4 ~ <3!3 [3 6]>\" -- varying openness per hit\n # legato (range 0.2 0.9 \"^52\") -- ^52: tightness\n # cut \"~ 3 ~ 3 ~ 3 ~ <3!3 [3 0]>\" -- last hit: cut 0 = rings over bar boundary\n # room (slow 32 $ range 0.2 0.45 saw) -- 32-bar: space grows (NOT dry!)\n # sz (slow 32 $ range 0.1 0.3 saw) -- 32-bar: tail lengthens\n # dry 1\n # pan 0.42\n # gain (slow 32 $ range 1.3 1.6 saw * \"0.7 0.8 0.65 [0.75|0.85] 0.69 0.8 ~ <0.9!3 [0.9 0.5]>\")\n -- 32-bar swell * per-hit velocity (the original subtle dynamics)\nd5 $ gF3 $ gM3 -- \n $ midiOn \"^90\" (ply \"<2 4 [<4!3 16> <8 16>]>\")\n $ slice 4 \"<0 1 2 3>\" \n $ \"desire\" # n \"<1!4 2!4 3!7 4 3!6 2 2 3!7 4>\" \n # cut 5 # lpf 4000\n # room 0.24 # sz 0.8\n # octersubbus 51 (range 0 1.5 \"^54\")\n # delay \"<0.2!3 0.8>\"\n # delayt 1 # delayfb 0.3\nd9 $ gF2 $ gM3 -- Announcing SYNTH\n $ superimpose ((|* gain \"^19\") . (# n 5) . (# cut 91))\n $ \"desire_synth/2\" # \"desire\" \n # n \"<0>\" \n # cut 9 -- SYNTH\n -- # end 0.1\n # lpf 3000\nd7 $ gF3 $ gM3 -- Voices \n $ fix ((6/8) ~>) (n 6)\n $ fix ((1/8) ~>) (n 9)\n $ fix ((5/8) <~) (n \"[11,12]\")\n $ slow 2 \n $ midiOn \"^19\" (>| n \"<11 12>\") -- NANANA\n $ midiOn \"^35\" (>| n \"<10 ~>\") -- FREE FROM DESIRE\n $ midiOn (\"^59\" - \"^35\") ( -- Refrain\n (>| n \"<10!4 11!4>\")\n ) -- Refrain\n $ midiOff \"^59\" ( -- Couplet\n (>| n \"<6 ~ 6 ~ 7 ~ 7 ~ 8 ~ 8 8 9 9 9 9>\"))\n $ \"desire\" \n # cut 7\nd8 $ gF1 $ gM1\n $ loopAt 2\n $ midiOn \"^92\" ( -- Bouton Nassim <3\n loopAt 0.5 . (# \"breaks165\")\n -- . (# octer 0.4) . ( octersubsub 4)\n . (# lpf 2500)\n . (# room 0)\n . (|* gain 1.2)\n )\n $ midiOff \"^60\" (mask \"f(8,16)\" . chop 16)\n $ midiOn \"^56\" (# \"jungle_breaks:7\")\n $ midiOn \"^36\" (# \"jungle_breaks:37\")\n $ chop 16 $ \"jungle_breaks:101\"\n # cut 8\n \n once $ \"desire\" # n \"[6]\" # cut 1\n \n",
"claimed_sounds": [
"techno",
"jazz",
......@@ -2535,7 +2411,7 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
......@@ -2909,7 +2785,7 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
},
{
......@@ -2918,12 +2794,12 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 2,
"n_takes_eda": 1,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": []
},
......@@ -3023,6 +2899,130 @@
"alias_siblings": []
},
{
"track": "live/collab/raph/mafia_sans_serif.tidal",
"names": [
"Mafia Sans Serif"
],
"name": "Mafia Sans Serif",
"gigs": [
"2026/montreuil-algorave"
],
"metas": [
{
"gig": "2026/montreuil-algorave",
"date": "2026-05-22",
"bpm": 160,
"style": "dnb",
"dur": 255.26
}
],
"score_present": true,
"n_orbits": 7,
"score": {
"d1": "clubkick",
"d2": "jazz",
"d3": "h2ogmhh",
"d4": "moog",
"d5": "oil",
"d7": "acidOto3091",
"d8": "jungle_breaks"
},
"score_sounds": [
"acidOto3091",
"clubkick",
"h2ogmhh",
"jazz",
"jungle_breaks",
"moog",
"oil"
],
"source": "resetCycles\n\ndo\nlet gMask = (midiOn \"^41\" (mask \"t . <f t f <f t>> <t f f <t f>>\"))\nlet gMute = (midiOn \"^73\" (mask \"f*16\"))\nlet gMute2 = (midiOn \"^74\" (mask \"f*16\"))\nlet gMute3 = (midiOn \"^75\" (mask \"f*16\"))\nlet gM1 = gMask . gMute\nlet gM2 = gMask . gMute2\nlet gM3 = gMask . gMute3\nlet width = pF \"width\"\nlet fundamental = slow 4 $ \"<gb3'maj db3'maj bb2'min bb2'maj>\"\nsetcps (160/60/4)\nd1 $ gF1 $ gMute2\n -- $ midiOff \"^42\" (<| \"<k [~!7 k*<1 2>]>\")\n $ fix (# bandf 300) \"clubkick\"\n $ midiOff \"^42\" (<| \"k . ~ k*<1 2> ~ <~ k k <~ k*4>>\")\n $ midiOn \"^42\" (<| \"k k . k <k [~ k] k k*2>\")\n $ \"[jazz,clubkick]\"\n # cut 1\n # gain 1.5\nd2 $ gF1 $ gM1\n $ midiOn \"^43\" (<| \"~ s ~ [s*<1 2> <~!7 [~ s]>]\")\n $ midiOff \"^43\" (<| \"~ s\")\n $ \"snare:45\"\n # \"jazz:4\" # gain 1.3\nd3 $ gF1 $ gM1 \n $ midiOff \"^44\" (\n (<| \"h(3,8)\") . (# \"jbk_kick:43\")\n . (# room 0.2) . (# sz 0.4)\n )\n $ midiOn \"^44\" (<| \"~ h ~ h ~ h*<1!3 2> ~ h*<1 [1|2]>\")\n $ \"h2ogmhh\" # n \"<0!4 1!3 2>\"\n # gain (0.9 * (range 0.9 1.2 perlin))\nd4 $ gF2 $ gM3\n $ midiOn \"^89\" (ply 4)\n $ slow 2 $ note (\"<[e3@7 f3]!4 [b2@7 c2]!4>\") \n # \"moog:2\" \n # cut 4\n # crushbus 41 (range 16 2.5 \"^53\")\n # octerbus 42 (range 0 2.5 \"^33\")\n # gain 1.1\nd5 $ gF2 $ gM3 -- \n $ midiOn \"^90\" ((# n (\"<0>\" + \"<0 0 0 [0 0 1 0] 3 5 4 5>\"))\n . (ply 4) . (slice 4 2))\n $ midiOn \"^58\" (\n slice 4 \"0 1 2 3\"\n . (>| n \"<2 2 2 2 4 4 4 4>\")\n )\n $ midiOff \"^58\" (slow 2)\n $ whenmod 16 12 (# n 8)\n $ \"oil\" \n # n (\n slow 2 $ ply 2 $ \"<0 1 2 3 4 5 6 7>/2\"\n )\n # room 0.4 # sz 0.6 #dry 1.3\n # cut 5\n # gain 1.4\n # squizbus 51 (range 0 2.5 \"^54\")\nd7 $ gF3 $ gM3\n $ midiOn \"^91\" (ply 4)\n -- $ slow 2 \n $ note (\n \"<e3!4 b2!4>\"\n + (arp \"up\" \"c'majPent'4\")\n ) \n # \"acidOto3091\" \n # cut 4\n # crushbus 41 (range 16 2.5 \"^53\")\n # octerbus 42 (range 0 2.5 \"^33\")\n # gain 1.1\n # width (range 0 5 \"^19\")\nd8 $ gF1 $ gM1\n $ midiOn (\"^60\" - \"^92\") (mask \"f(4,8)\")\n $ midiOn (\"^36\" - \"^92\") ((loopAt 2) . (# hpf 1500) . (# \"jungle_breaks:45\")) -- ORL RPZ\n $ midiOn (\"^56\" - \"^92\") ((loopAt 2) . (|* gain 1.1) . (# \"jungle_breaks:30\")) -- Clochettes?\n $ midiOn (\"^92\") ( -- Bouton Nassim <3\n slice 16 \"[0 .. 7] . <[0 .. 7]!7 [0 1 . [2 3]]>\"\n . loopAt 1 . (# \"breaks165\") . (# octersub 2)\n . (|* gain 0.9)\n )\n $ chop 16\n $ loopAt 1\n -- $ loopAt 2\n $ \"jungle_breaks:28\" -- BREAKS LOVER <3\n # room 0\n # gain 1\n\n-- $ chop 8 \n-- $ loopAt 4 \n-- $ midiOn \"^57\" ( -- HIGHER\n-- slow 2 . ply 2 . \n-- (# n \"<1 1 2 2 6 6 6 1 16 16 17 18>\" )\n-- )\n-- $ midiOff \"^57\" ( -- LOWER\n-- (# n \"<5 5 5 6>\")\n-- )\n-- $ \"perfect\" \n-- # room 0.4 \n-- # sz 0.4\n-- # octersub 0.4\n-- # crushbus 41 (range 16 4.5 \"^53\")\n-- # octersubbus 42 (range 0 2.5 \"^33\")\n-- # octersubbus 43 (range 0 5 \"^17\")\n-- # cut 4 \n-- # gain 1.4\n-- d5 $ gF3 $ gM3 -- COUNT TO SUPERSTARDOM\n-- $ midiOn \"^29\" (\n-- slice 16 \"<<[0 1 2 3] [<0 10> <1 11> 10 11]> <[8 9 10 11] [<12!3 15> <13!3 15> <14 12> <15 13>]>>\" \n-- . (>| \"perfect\")\n-- )\n-- $ midiOn \"^90\" (ply \"<2 4>\")\n-- $ midiOn (\"^34\" - \"^18\") ( -- THE HIPS THE FACE THE LIPS THE MICROPHONE \n-- slice 4 (fast 2 \n-- . ply \"<1!16 <2 1>!16>\" \n-- . \"<0 1 2 3>\") \n-- . (# n 14) . (|* gain 0.8)\n-- )\n-- $ midiOn \"^18\" -- SUPERSTAR\n-- (\n-- -- mask \"<t f!3>\" \n-- loopAt 4\n-- . (0.5 ~>)\n-- . (# n 8)\n-- . mask \"<t!4 t f t t>\"\n-- . (# end \"<0.18!3 0.45 1!4>\")\n-- . (# begin \"<0!4 0.5!4>\")\n-- . (|* gain 1.3)\n-- )\n-- $ midiOn (\"^58\") ( -- Slice 1 2 3 4!\n-- slice 8 \"<[0 1] [0 1] [0 0 <0 1> <1 0>] [2 3]>\" )\n-- $ midiOff (\"^58\"+\"^29\") ( -- WATCH ME WORK IT\n-- slice 8 \"<[0 1] [2 3] [4 5] [6 <7 <6 6*2>>]>\"\n-- )\n-- $ \"perfect\" \n-- # cut 5\n-- # room 0.4 # sz 0.39\n-- # pan \"0.2 0.8 0.2 0.8\"\n-- # gain 1.8\n-- # octersub 0.8 \n-- d6 $ gF1 $ gM3 \n-- $ mask \"f t\" \n-- $ midiOn \"^89\" (ply \"<4 8>\")\n-- $ chop 16\n-- $ \"meth_bass:3/8\" \n-- # room 0.4 \n-- # sz \"<0.7!3 1.1>\"\n-- # delay 0.8 # delayt 0.125 # delayfb 0.5\n-- # gain 1.4\n-- # cut 6\n-- d7 -- $ gF3 $ gM3 \n-- $ midiOn \"^59\" (off (1/16) (|+ note 7))\n-- $ note (\n-- fast 2 \n-- \"<[f3 <bf3!2 bf3!2 cs4!2 f4!2> <cs4!2 gs4!2> f4]>\"\n-- + \"[0,<0!8 12!8>]\"\n-- )\n-- # s \"acidOto3092\"\n-- # gain 1.4\n-- # width (range 0.5 0.98 \"^35\")\n-- # crushbus 71 (range 16 3.5 \"^55\")\n-- # cutoff (slow 3 $ range 300 3000 (sine * saw)) -- more erratic filter\n-- # room 0.2 # sz 0.4 \n-- d12 $ gF3 $ gM3 -- Acid techno arp with structured rhythms\n-- $ note (slow 2 $ \n-- \"<[bf2 . cs3 [ef3 bf3]] [cs3 ef3 . bf3] [ef3 . [bf3 cs4] ef3] [[bf3 gs3] . cs3 ef3]>\")\n-- # s \"acidOto3091\" \n-- # gain 1.3\n-- # cutoff (slow 4 $ range 400 2500 saw) -- classic acid filter sweep\n-- # resonance 0.3\n-- # accelerate (choose [0, 0.1, -0.1]) -- slight pitch drift\n-- # room 0.2 # sz 0.3\n-- d8 $ gF1 $ gM1 \n-- $ midiOff \"^60\" (mask \"t(<4 [<2 4> 8]>,8,1)\" . chop 8)\n-- $ midiOff \"^56\" (\n-- slice 8 \"0 1 <2!3 ~> <3!3 0> <4!3 1> 5 <6!12 ~!3 6*4> 7*<1 2 0 8>\")\n-- $ midiOn \"^56\" (loopAt 2 . (# \"jungle_breaks:19\"))\n-- $ chop 8 \n-- $ loopAt 1 \n-- $ \"breaks165\" \n-- # cut 8\n-- # gain 1.2 \n-- d9 $ gF2 $ gM3-- slow arpeggiated synth, high register \n-- $ mask \"t <f!8 t!8> <f!4 t!4> <f!8 t!8>\"\n-- $ fast 4\n-- $ arp \"up\" \n-- $ note (slow 2 $ \"<bf4'min cs4'maj ef4'min bf4'min>\")\n-- # \"90s_synatm:3\" |+ note 12 -- or \"foo\" \n-- # room 0.7 # sz 0.9\n-- # delay 0.5 # delaytime (1/3) # delayfb 0.4\n-- # lpf 1400\n-- # cut 9\n-- d10 -- Euclidian mid arps\n-- $ struct \"t(5,8,2)\" \n-- $ note (slow 2 $ \"<bf3 cs4 ef3 bf3>\" + \"<0 7 12>\")\n-- # s \"moogBass\"\n-- # gain 1.2\n-- # room 0.5 # sz 0.6\n-- # lpf (slow 4 $ range 2000 3500 sine)\n-- -- d11: sparse chord stabs, ambient pad\n-- d11 \n-- -- $ slow 8\n-- $ note (slow 2 $ \"<bf3'min'5 cs3'maj'5 ef3'min'5 bf3'min'5>\")\n-- # s \"sine\" |- note 12\n-- # gain 1.4\n-- # attack 0.5 # release 2\n-- # room 0.9 # sz 0.95\n-- # lpf 3000\n-- # delay 0.7 \n-- # delayt \"e\" \n-- # delayfb 0.8\n",
"claimed_sounds": [
"jazz",
"clubkick",
"h2ogmhh",
"moog",
"oil",
"acidOto3091"
],
"ingredients": [
{
"type": "sample",
"code": "s \"[jazz,clubkick]\"",
"description": "d1 — rhythm · CC off, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"jazz:4\"",
"description": "d2 — rhythm · CC off, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"h2ogmhh\"",
"description": "d3 — rhythm · CC off, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"moog:2\"",
"description": "d4 — bass · CC crush, octer, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"oil\"",
"description": "d5 — bass · CC off, on, squiz",
"gig": "2026/montreuil-algorave"
},
{
"type": "sample",
"code": "s \"acidOto3091\"",
"description": "d7 — bass · CC crush, octer, on",
"gig": "2026/montreuil-algorave"
},
{
"type": "moment",
"code": "highlights",
"description": "transition×4 · breakdown×2 · buildup×4 · peak×1 · best cut @ 0:56",
"gig": "2026/montreuil-algorave"
}
],
"ac": {
"level": "agree",
"precision": 1.0,
"jaccard": 0.857,
"score_only": [
"jungle_breaks"
],
"metadata_only": [],
"shared": [
"acidOto3091",
"clubkick",
"h2ogmhh",
"jazz",
"moog",
"oil"
]
},
"takes": [
{
"take": "Take89",
"type": "SET",
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 1,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
{
"track": "live/collab/raph/nouveau_punk.tidal",
"names": [
"Nouveau Punk"
......@@ -3169,12 +3169,12 @@
"via": "2024/38c3-toilet",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take36.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -3519,7 +3519,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -3528,7 +3528,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -3537,7 +3537,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -3546,12 +3546,12 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
}
],
"n_takes": 4,
"n_takes_eda": 0,
"n_takes_eda": 4,
"recorded": true,
"alias_siblings": []
},
......@@ -3604,7 +3604,7 @@
"jungle_breaks",
"vec1_claps"
],
"source": "do\n-- resetCycles\nsetcps (124/60/4)\nlet gMask = (midiOn \"^41\" (mask \"t . <f t f <f t>> <t f f <t f>>\"))\nlet gMute1 = (midiOn \"^73\" (mask \"f*16\"))\nlet gMute2 = (midiOn \"^74\" (mask \"f*16\"))\nlet gMute3 = (midiOn \"^75\" (mask \"f*16\"))\nlet gM1 = gMask . gMute1\nlet gM2 = gMask . gMute2\nlet gM3 = gMask . gMute3\nd1 $ gF1 $ gM2 \n $ midiOn \"^42\" (<| \"k k k <k [<~!3 k> k]>\")\n $ midiOff \"^42\" (<| \"k . <[~ k] k(<3 5>,8)>\")\n $ \"[techno:0,808bd:2,909,kick:4]\"\n -- $ \"kick:5\" \n # gain 1.7\n # lpf 400\nd2 $ gF1 $ gM1 \n $ midiOn \"^43\" (mask \"[t <f t!3>] [t <f t>]\" . fast 2)\n $ \"~ s ~ [s*<1 2> <~ s*<2 [4 2]>>]\"\n # \"vec1_claps\" # n 10\n # gain 1.3\n # lpf 2000\nd3 $ gF1 $ gM1 \n $ midiOn \"^44\" (<| \"[~ h*<1!3 <1 2 [4 2] 1?>>]*4\" )\n $ midiOff \"^44\" (<| \"h(3,8) h([3 1 3],8)\")\n $ \"h2ogmhh\" \n # gain 1.4\n # room 0.3 \n # dry (slow 16 $ range 0.2 1.8 perlin)\n # legato (range 0.05 2 \"^52\")\n # sz 0.4\nd4 $ gF2 $ gM3 \n $ midiOn \"^89\" (struct \"t . t(<1 3 5>,8)\")\n $ midiOn \"^57\" (struct \"t . t(<1 3 5>,8)\")\n $ midiOff \"^57\" (struct \"<t!3 t*[<4 8> [8 <8 16>]]>\")\n $ note (\n \"<bf2 bf2 bf2 [bf2@7 cs3]>\" \n + \"[0,12]\"\n + (arp \"up\" \"c'min'4\")\n )\n # \"bassWarsaw\" \n -- |+ note 12\n # room 0.3 \n # crushbus 41 (range 16 3.5 \"^53\")\n # octerbus 42 (range 0 1.85 \"^33\")\n # room 0.2 # dry 1.2 # sz 0.7\n # gain 1.4\nd5 $ gF3 $ gM3 -- LE PIMENT BRESILIEN\n $ midiOn \"^90\" (ply \"<4!3 8>\")\n $ midiOn \"^58\" (striate \"2\" . chop 8)\n $ slice 8 \"<[0 1] [2 3] [4 5] <[6 7] 5*<2 4 4 8>>>\"\n -- $ slice 4 \"<0 1 2 3>\" \n -- $ slice 4 \"<0 1 2 3>\" \n $ \"gfunk_lead:2\" # cut 5\n # gain 1.7\n # room 0.3\n # octerbus 51 (range 0 1.4 \"^54\")\n # octersubbus 52 (range 0 4 \"^34\")\nd7 $ gF3 $ gM3\n $ midiOn \"^91\" (ply 2)\n $ note (\"[f3 cs3 c3 cs3 f3 cs3 <c3 f3> <cs3 fs3>]\"\n -- + \"[0,12]\" \n +\"<0!4 12!4 24!4 36!4>\"\n )\n # \"FMRhodes2\"\n # gain 1.8\n # modIndex (range 0 16 \"^55\")\n -- # cut 9\nd10 $ gF3 $ gM3 -- Menace\n $ note \"<bf3 ~ ~ <~ <[~!7 b3] [f4 cs4 c4 cs4 f4 cs4 c4 cs4]>>>\"\n # \"90s_synatm:10\"\n # room 0.3 # sz 0.8\n # gain 2\n # att 0.10\n # rel 10\n # crushbus 101 (range 16 3.5 \"^14\")\n # legato 2\n # octersub 1\n # cut 9\nd8 $ gF1 $ gM1 -- La Boite à breaks de ParVagues <3\n $ midiOn \"^92\" (ply \"1 <2!3 4>\")\n $ midiOff \"^60\" (mask \"t(4,8,1)\") -- Techno drum mask\n $ midiOn (\"^36\" - \"^56\") ((# n \"22\")) -- Hmmm Break\n $ midiOn \"^56\" ((# n \"23\")) -- Raise COMEON!\n $ chop 16\n $ loopAt 2\n $ \"jungle_breaks:45\"\n # cut 8\n # gain 1.4\n # pan \"0.5!3 <0.2 0.8>\"\n-- \n-- \n-- \n-- \n-- \n-- \n-- \n-- \n-- \n-- \n",
"source": "do\n-- resetCycles\nsetcps (124/60/4)\nlet gMask = (midiOn \"^41\" (mask \"t . <f t f <f t>> <t f f <t f>>\"))\nlet gMute1 = (midiOn \"^73\" (mask \"f*16\"))\nlet gMute2 = (midiOn \"^74\" (mask \"f*16\"))\nlet gMute3 = (midiOn \"^75\" (mask \"f*16\"))\nlet gM1 = gMask . gMute1\nlet gM2 = gMask . gMute2\nlet gM3 = gMask . gMute3\nd1 $ gF1 $ gM2 \n $ midiOn \"^42\" (<| \"k k k <k [<~!3 k> k]>\")\n $ midiOff \"^42\" (<| \"k . <[~ k] k(<3 5>,8)>\")\n $ \"[techno:0,808bd:2,909,kick:4]\"\n -- $ \"kick:5\" \n # gain 1.7\n # lpf 400\nd2 $ gF1 $ gM1 -- Clap Technocratique\n $ midiOn \"^43\" (mask \"[t <f t!3>] [t <f t>]\" . fast 2)\n $ \"~ s ~ [s*<1 2> <~ s*<2 [4 2]>>]\"\n # \"vec1_claps\" # n 10\n # gain 1.3\n # lpf 2000\nd3 $ gF1 $ gM1 \n $ midiOn \"^44\" (<| \"[~ h*<1!3 <1 2 [4 2] 1?>>]*4\" )\n $ midiOff \"^44\" (<| \"h(3,8) h([3 1 3],8)\")\n $ \"h2ogmhh\" \n # gain 1.4\n # room 0.3 \n # dry (slow 16 $ range 0.2 1.8 perlin)\n # legato (range 0.05 2 \"^52\")\n # sz 0.4\nd4 $ gF2 $ gM3 \n $ midiOn \"^89\" (struct \"t . t(<1 3 5>,8)\")\n $ midiOn \"^57\" (struct \"t . t(<1 3 5>,8)\")\n $ midiOff \"^57\" (struct \"<t!3 t*[<4 8> [8 <8 16>]]>\")\n $ note (\n \"<bf2 bf2 bf2 [bf2@7 cs3]>\" \n + \"[0,12]\"\n + (arp \"up\" \"c'min'4\")\n )\n # \"bassWarsaw\" \n -- |+ note 12\n # room 0.3 \n # crushbus 41 (range 16 3.5 \"^53\")\n # octerbus 42 (range 0 1.85 \"^33\")\n # room 0.2 # dry 1.2 # sz 0.7\n # gain 1.4\nd5 $ gF3 $ gM3 -- LE PIMENT BRESILIEN\n $ midiOn \"^90\" (ply \"<4!3 8>\")\n $ midiOn \"^58\" (striate \"2\" . chop 8)\n $ slice 8 \"<[0 1] [2 3] [4 5] <[6 7] 5*<2 4 4 8>>>\"\n -- $ slice 4 \"<0 1 2 3>\" \n -- $ slice 4 \"<0 1 2 3>\" \n $ \"gfunk_lead:2\" # cut 5\n # gain 1.7\n # room 0.3\n # octerbus 51 (range 0 1.4 \"^54\")\n # octersubbus 52 (range 0 4 \"^34\")\nd7 $ gF3 $ gM3\n $ midiOn \"^91\" (ply 2)\n $ note (\"[f3 cs3 c3 cs3 f3 cs3 <c3 f3> <cs3 fs3>]\"\n -- + \"[0,12]\" \n +\"<0!4 12!4 24!4 36!4>\"\n )\n # \"FMRhodes2\"\n # gain 1.8\n # modIndex (range 0 16 \"^55\")\n -- # cut 9\nd10 $ gF3 $ gM3 -- Menace\n $ note \"<bf3 ~ ~ <~ <[~!7 b3] [f4 cs4 c4 cs4 f4 cs4 c4 cs4]>>>\"\n # \"90s_synatm:10\"\n # room 0.3 # sz 0.8\n # gain 2\n # att 0.10\n # rel 10\n # crushbus 101 (range 16 3.5 \"^14\")\n # legato 2\n # octersub 1\n # cut 9\nd8 $ gF1 $ gM1 -- La Boite à breaks de ParVagues <3\n $ midiOn \"^92\" (ply \"1 <2!3 4>\")\n $ midiOff \"^60\" (mask \"t(4,8,1)\") -- Techno drum mask\n $ midiOn (\"^36\" - \"^56\") ((# n \"22\")) -- Hmmm Break\n $ midiOn \"^56\" ((# n \"23\")) -- Raise COMEON!\n $ chop 16\n $ loopAt 2\n $ \"jungle_breaks:45\"\n # cut 8\n # gain 1.4\n # pan \"0.5!3 <0.2 0.8>\"\n-- \n-- \n-- \n-- \n-- \n-- \n-- \n-- \n-- \n-- \n",
"claimed_sounds": [
"techno",
"808bd",
......@@ -3716,7 +3716,7 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
......@@ -3958,7 +3958,7 @@
"via": "2024/38c3-toilet",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take36.json",
"audio": null
},
{
......@@ -3967,12 +3967,12 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 2,
"n_takes_eda": 1,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": []
},
......@@ -4122,7 +4122,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -4131,12 +4131,12 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
}
],
"n_takes": 2,
"n_takes_eda": 0,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": []
},
......@@ -4749,7 +4749,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -4758,7 +4758,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -4767,7 +4767,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -4776,12 +4776,12 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
}
],
"n_takes": 4,
"n_takes_eda": 0,
"n_takes_eda": 4,
"recorded": true,
"alias_siblings": []
},
......@@ -5141,7 +5141,7 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
},
{
......@@ -5150,12 +5150,12 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 2,
"n_takes_eda": 1,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": []
},
......@@ -5490,12 +5490,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -5816,7 +5816,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -5825,7 +5825,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -5834,7 +5834,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -5843,7 +5843,7 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
},
{
......@@ -5852,12 +5852,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 5,
"n_takes_eda": 0,
"n_takes_eda": 5,
"recorded": true,
"alias_siblings": []
},
......@@ -6583,12 +6583,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -6819,12 +6819,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -7201,7 +7201,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -7210,12 +7210,12 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
}
],
"n_takes": 2,
"n_takes_eda": 0,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": []
},
......@@ -7770,7 +7770,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -7779,12 +7779,12 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
}
],
"n_takes": 2,
"n_takes_eda": 0,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": []
},
......@@ -8302,7 +8302,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -8311,7 +8311,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -8320,7 +8320,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -8329,7 +8329,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
},
{
......@@ -8338,7 +8338,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -8347,7 +8347,7 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
},
{
......@@ -8356,12 +8356,12 @@
"via": "2025/bunker",
"method": "date±3d",
"is_set": false,
"eda": null,
"eda": "eda_Take80.json",
"audio": null
}
],
"n_takes": 7,
"n_takes_eda": 0,
"n_takes_eda": 7,
"recorded": true,
"alias_siblings": []
},
......@@ -8403,7 +8403,7 @@
"rampleS34",
"rampleS37"
],
"source": "resetCycles\n\ndo\n-- setcps(144/60/4)\nsetcps(166/60/4)\nlet gMask = (midiOn \"^41\" (mask \"t . <f t f <f t>> <t f f <t f>>\"))\nlet gMute = (midiOn \"^73\" (mask \"f*16\"))\nlet gMute2 = (midiOn \"^74\" (mask \"f*16\"))\nlet gMute3 = (midiOn \"^75\" (mask \"f*16\"))\nlet gM1 = gMask . gMute\nlet gM2 = gMask . gMute2\nlet gM3 = gMask . gMute3\nlet gF1 = (# djfbus 1 (range 0.05 0.95 \"^49\"))\nlet gF2 = (# djfbus 2 (range 0.05 0.95 \"^50\"))\nlet gF3 = (# djfbus 3 (range 0.05 0.95 \"^51\"))\nd1 $ gF1 $ gMute2\n $ fix ((# lpf 150) . (|* gain 0.93)) \"kick:5\"\n $ midiOn \"^42\" (<| \"k k k <k <k*2 [k k k ~]>>\")\n $ midiOff \"^42\" (<| \"k . ~ k ~ ~\")\n $ \"[kick:5,tech:5,jazz]\"\n # gain 1.8\nd2 $ gF1 $ gM1\n $ midiOn \"^43\" (<| \"~ c ~ c*<1!3 <2 [2 4]>>\")\n $ midiOff \"^43\" (<| \"~ . c*<1!3 <2!3 4>> ~\")\n $ \"rampleS37:5\"\n # gain 1.8\n # lpf 2650\nd3 $ gF1 $ gM1 -- Highest hats\n $ midiOn \"^44\" (ply 2)\n $ midiOn \"^76\" (ply 2)\n $ sometimesBy \"0!3 <0 0.5>\" (# n 12)\n $ sometimesBy \"0!3 <0.1 0>\" (# n 13)\n $ \"~ d ~ d d d d*<1 1 2 1> d\"\n # \"rampleS34:6\"\n # cut 3\n # legato (range 0.28 1 sine)\n # gain (1.1 * (range 0.85 1.05 (fast 4 perlin)))\n # room 0.14 # sz 0.4 # dry 1\n # pan 0.8\n -- Emphasize \"and\" of beats\nd4 $ gF2 $ gM3 \n $ superimpose (const $ gF2 $ gM3 -- Second BASS!\n $ midiOff \"^57\" (slow 2) \n $ note \"~ [a3 c4] ~ [e3 g3] ~ [a3 e3] ~ g3\"\n # \"bassWarsaw\" |- note 12\n # cut 41 # gain (range 0.5 2 \"^33\")\n # crushbus 43 (range 16 2.5 \"^53\")\n )\n $ whenmod 4 3 (ply \"1 2\")\n $ chop 8 \n $ loopAt 4 \n $ \"no_sunshine:5\"\n # gain (1.8- 0.6 * \"^33\")\n # lpf 4000\n # room 0.4 # sz 0.8\n # delay 0.3 # delayt 0.25 # delayfb 0.5\n -- # octersubbus 41 (range 0 2 \"^53\") \n # crushbus 42 (range 16 2.5 \"^53\")\nd5 $ gF3 $ gM3 \n $ midiOn \"^58\" ( -- I KNOW\n (# n \"<16 ~!3>\") \n . (# cut 5)) -- FIXME VOICE OFF\n $ midiOff \"^58\" (>| n (\"<~ ~ [~ 0] ~>\" \n + (slow 4 \"<9 9 10 11 ~ 12 13 14 ~>\")))\n $ \"no_sunshine\"\n # gain 1.5\n # cut 5\n # room 0.3 # sz 0.3\nd7 $ gF3 $ gM3 -- Guitar Sunshine\n $ midiOn \"^91\" (ply 2)\n $ juxBy 0.8 (rev . (#cut 71))\n $ midiOn \"^59\" ( -- SLICE!\n ply \"1 2\" . slow 4 . chop 8 . (# n 24)\n )\n $ \"no_sunshine/2\" \n # n (slow 2 \"<20 20 21 22 23 24 25 26>\")\n # cut 7\n # gain 1.4 \n # room 0.3\nd11 $ gF3 $ gM3 \n $ chop 4 \n $ \"no_sunshine:4/4\" \n # cut 5\n # room 0.3 # sz 0.5\n # gain 1.2\nd9 $ gF3 $ gM3 \n $ \"no_sunshine/4\" # n (slow 4 \"<0 1 2 3>\" )\n # cut 9\n # room 0.3\nd8 $ gF1 $ gM1 -- JazzyBelle JazzyBreak\n $ juxBy 0.5 (# cut 81)\n $ midiOn \"^92\" (slice 4 \"0*2 [1 2] 2*2 3*<1 1 1 2>\")\n $ chop 16\n $ midiOn \"^36\" (loopAt 1 . (# \"org_jungle_breaks:24\"))\n $ midiOn \"^56\" (slice 4 \"0 <1 1 1 3> <2 2 3 2> <3 3 2 <1 3>>\" . \n loopAt 1 . (# \"breaks165\"))\n $ loopAt 1\n -- $ n \"<0!4 1!3 0 2!4 3!3 <2 3>>\"\n $ \"org_jungle_breaks:1\"\n # pan 0.26\n # gain 0.9\n # octersub 1.2\n # octersubsub 2\n # cut 8\n # room 0.3 # sz 0.5 # dry 0.9\n # gain 1.5\n",
"source": "resetCycles\n\ndo\n-- setcps(144/60/4)\nsetcps(166/60/4)\nlet gMask = (midiOn \"^41\" (mask \"t . <f t f <f t>> <t f f <t f>>\"))\nlet gMute = (midiOn \"^73\" (mask \"f*16\"))\nlet gMute2 = (midiOn \"^74\" (mask \"f*16\"))\nlet gMute3 = (midiOn \"^75\" (mask \"f*16\"))\nlet gM1 = gMask . gMute\nlet gM2 = gMask . gMute2\nlet gM3 = gMask . gMute3\nlet gF1 = (# djfbus 1 (range 0.05 0.95 \"^49\"))\nlet gF2 = (# djfbus 2 (range 0.05 0.95 \"^50\"))\nlet gF3 = (# djfbus 3 (range 0.05 0.95 \"^51\"))\nd1 $ gF1 $ gMute2\n $ fix ((# lpf 150) . (|* gain 0.93)) \"kick:5\"\n $ midiOn \"^42\" (<| \"k k k <k <k*2 [k k k ~]>>\")\n $ midiOff \"^42\" (<| \"k . ~ k ~ ~\")\n $ \"[kick:5,tech:5,jazz]\"\n # gain 1.8\nd2 $ gF1 $ gM1\n $ midiOn \"^43\" (<| \"~ c ~ c*<1!3 <2 [2 4]>>\")\n $ midiOff \"^43\" (<| \"~ . c*<1!3 <2!3 4>> ~\")\n $ \"rampleS37:5\"\n # gain 1.8\n -- # lpf 2650\nd3 $ gF1 $ gM1 -- Highest hats\n $ midiOn \"^44\" (ply 2)\n $ midiOn \"^76\" (ply 2)\n $ sometimesBy \"0!3 <0 0.5>\" (# n 12)\n $ sometimesBy \"0!3 <0.1 0>\" (# n 13)\n $ \"~ d ~ d d d d*<1 1 2 1> d\"\n # \"[rampleS34:6,clap]\"\n # cut 3\n # legato (range 0.28 1 sine)\n # gain (1.1 * (range 0.85 1.05 (fast 4 perlin)))\n # room 0.14 # sz 0.4 # dry 1\n # pan 0.8\n -- Emphasize \"and\" of beats\nd4 $ gF2 $ gM3 \n $ superimpose (const $ gF2 $ gM3 -- Second BASS!\n $ midiOff \"^57\" (slow 2) \n $ note \"~ [a3 c4] ~ [e3 g3] ~ [a3 e3] ~ g3\"\n # \"bassWarsaw\" |- note 12\n # cut 41 # gain (range 0.5 2 \"^33\")\n # crushbus 43 (range 16 2.5 \"^53\")\n )\n $ whenmod 4 3 (ply \"1 2\")\n $ chop 8 \n $ loopAt 4 \n $ \"no_sunshine:5\"\n # gain (1.8- 0.6 * \"^33\")\n # lpf 4000\n # room 0.4 # sz 0.8\n # delay 0.3 # delayt 0.25 # delayfb 0.5\n -- # octersubbus 41 (range 0 2 \"^53\") \n # crushbus 42 (range 16 2.5 \"^53\")\nd5 $ gF3 $ gM3 \n $ midiOn \"^58\" ( -- I KNOW\n (# n \"<16 ~!3>\") \n . (# cut 5)) -- FIXME VOICE OFF\n $ midiOff \"^58\" (>| n (\"<~ ~ [~ 0] ~>\" \n + (slow 4 \"<9 9 10 11 ~ 12 13 14 ~>\")))\n $ \"no_sunshine\"\n # gain 1.5\n # cut 5\n # room 0.3 # sz 0.3\nd7 $ gF3 $ gM3 -- Guitar Sunshine\n $ midiOn \"^91\" (ply 2)\n $ juxBy 0.8 (rev . (#cut 71))\n $ midiOn \"^59\" ( -- SLICE!\n ply \"1 2\" . slow 4 . chop 8 . (# n 24)\n )\n $ \"no_sunshine/2\" \n # n (slow 2 \"<20 20 21 22 23 24 25 26>\")\n # cut 7\n # gain 1.4 \n # room 0.3\nd11 $ gF3 $ gM3 \n $ chop 4 \n $ \"no_sunshine:4/4\" \n # cut 5\n # room 0.3 # sz 0.5\n # gain 1.2\nd9 $ gF3 $ gM3 \n $ \"no_sunshine/4\" # n (slow 4 \"<0 1 2 3>\" )\n # cut 9\n # room 0.3\nd8 $ gF1 $ gM1 -- JazzyBelle JazzyBreak\n $ juxBy 0.5 (# cut 81)\n $ midiOn \"^92\" (slice 4 \"0*2 [1 2] 2*2 3*<1 1 1 2>\")\n $ chop 16\n $ midiOn \"^36\" (loopAt 1 . (# \"org_jungle_breaks:24\"))\n $ midiOn \"^56\" (slice 4 \"0 <1 1 1 3> <2 2 3 2> <3 3 2 <1 3>>\" . \n loopAt 1 . (# \"breaks165\"))\n $ loopAt 1\n -- $ n \"<0!4 1!3 0 2!4 3!3 <2 3>>\"\n $ \"org_jungle_breaks:1\"\n # pan 0.26\n # gain 0.9\n # octersub 1.2\n # octersubsub 2\n # cut 8\n # room 0.3 # sz 0.5 # dry 0.9\n # gain 1.5\n",
"claimed_sounds": [
"rampleS34",
"bassWarsaw",
......@@ -8478,7 +8478,7 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
......@@ -8779,7 +8779,7 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
......@@ -9046,7 +9046,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -9055,7 +9055,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -9064,7 +9064,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -9073,12 +9073,12 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
}
],
"n_takes": 4,
"n_takes_eda": 0,
"n_takes_eda": 4,
"recorded": true,
"alias_siblings": []
},
......@@ -9335,7 +9335,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -9344,7 +9344,7 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
},
{
......@@ -9353,12 +9353,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 3,
"n_takes_eda": 0,
"n_takes_eda": 3,
"recorded": true,
"alias_siblings": []
},
......@@ -9513,7 +9513,7 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
......@@ -9633,7 +9633,7 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
......@@ -10280,12 +10280,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -11226,7 +11226,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -11235,7 +11235,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -11244,7 +11244,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -11253,7 +11253,7 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
},
{
......@@ -11262,7 +11262,7 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
},
{
......@@ -11271,7 +11271,7 @@
"via": "2025/bunker",
"method": "date±3d",
"is_set": false,
"eda": null,
"eda": "eda_Take80.json",
"audio": null
},
{
......@@ -11280,12 +11280,12 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 7,
"n_takes_eda": 1,
"n_takes_eda": 7,
"recorded": true,
"alias_siblings": []
},
......@@ -11475,7 +11475,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -11484,7 +11484,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -11493,7 +11493,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -11502,7 +11502,7 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
},
{
......@@ -11511,12 +11511,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 5,
"n_takes_eda": 0,
"n_takes_eda": 5,
"recorded": true,
"alias_siblings": [
"live/collab/mousquetaires/blue_gold.tidal"
......@@ -11634,7 +11634,7 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
......@@ -12270,7 +12270,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -12279,12 +12279,12 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
}
],
"n_takes": 2,
"n_takes_eda": 0,
"n_takes_eda": 2,
"recorded": true,
"alias_siblings": []
},
......@@ -12734,7 +12734,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -12743,7 +12743,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -12752,7 +12752,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -12761,7 +12761,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
},
{
......@@ -12770,7 +12770,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -12779,12 +12779,12 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
}
],
"n_takes": 6,
"n_takes_eda": 0,
"n_takes_eda": 6,
"recorded": true,
"alias_siblings": []
},
......@@ -13165,7 +13165,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take18.json",
"audio": null
},
{
......@@ -13174,7 +13174,7 @@
"via": "2024/la-french-stack",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take19.json",
"audio": null
},
{
......@@ -13183,7 +13183,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take20.json",
"audio": null
},
{
......@@ -13192,7 +13192,7 @@
"via": "2024/ccc-live",
"method": "date±2d",
"is_set": false,
"eda": null,
"eda": "eda_Take21.json",
"audio": null
},
{
......@@ -13201,7 +13201,7 @@
"via": "2025/la-french-stack",
"method": "date±1d",
"is_set": true,
"eda": null,
"eda": "eda_Take65.json",
"audio": null
},
{
......@@ -13210,12 +13210,12 @@
"via": "2025/la-french-stack",
"method": "date±2d",
"is_set": true,
"eda": null,
"eda": "eda_Take66.json",
"audio": null
}
],
"n_takes": 6,
"n_takes_eda": 0,
"n_takes_eda": 6,
"recorded": true,
"alias_siblings": []
},
......@@ -13368,12 +13368,12 @@
"via": "2025/bunker",
"method": "date±3d",
"is_set": false,
"eda": null,
"eda": "eda_Take80.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -13594,12 +13594,12 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
}
],
"n_takes": 1,
"n_takes_eda": 0,
"n_takes_eda": 1,
"recorded": true,
"alias_siblings": []
},
......@@ -13841,7 +13841,7 @@
"via": "2025/cosmicfest",
"method": "date-exact",
"is_set": true,
"eda": null,
"eda": "eda_Take70.json",
"audio": null
},
{
......@@ -13850,7 +13850,7 @@
"via": "2025/bunker",
"method": "date±3d",
"is_set": false,
"eda": null,
"eda": "eda_Take80.json",
"audio": null
},
{
......@@ -13859,12 +13859,12 @@
"via": "2026/montreuil-algorave",
"method": "date-exact",
"is_set": true,
"eda": "punkachien/stemmap_take89.json",
"eda": "eda_Take89.json",
"audio": "punkachien/proxy_take89.mp3"
}
],
"n_takes": 3,
"n_takes_eda": 1,
"n_takes_eda": 3,
"recorded": true,
"alias_siblings": []
},
......
......@@ -41,7 +41,7 @@ from sample_tfidf import SPLIT, sound_vocab # noqa: E402
HERE = Path(__file__).parent
REPO = HERE.parent.parent
LIVES = Path("/home/pln/Work/Web/www/next/content/lives")
LIVES = Path("/home/pln/Work/Web/www/content/lives") # app hoisted out of next/ in 6e51fff
OUT = HERE / "pattern_registry.json"
AS_OF = "2026-06-06"
......
......@@ -2,7 +2,7 @@
"schema": "pattern-registry v1 (mini-notation phrases as things + n-gram track clustering)",
"as_of": "2026-06-06",
"n_tracks": 73,
"n_patterns": 1325,
"n_patterns": 1326,
"n_shared": 193,
"n_repeated": 33,
"patterns": [
......@@ -85,13 +85,6 @@
"raw": "f*16"
},
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"orbit": null,
"count": 3,
"raw": "f*16"
},
{
"track": "live/collab/raph/biscuit_acide.tidal",
"name": "Biscuit Acide",
"orbit": null,
......@@ -127,6 +120,13 @@
"raw": "f*16"
},
{
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": null,
"count": 3,
"raw": "f*16"
},
{
"track": "live/collab/raph/nouveau_punk.tidal",
"name": "Nouveau Punk",
"orbit": null,
......@@ -529,13 +529,6 @@
"raw": "t . <f t f <f t>> <t f f <t f>>"
},
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"orbit": null,
"count": 1,
"raw": "t . <f t f <f t>> <t f f <t f>>"
},
{
"track": "live/collab/raph/biscuit_acide.tidal",
"name": "Biscuit Acide",
"orbit": null,
......@@ -564,6 +557,13 @@
"raw": "t . <f t f <f t>> <t f f <t f>>"
},
{
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": null,
"count": 1,
"raw": "t . <f t f <f t>> <t f f <t f>>"
},
{
"track": "live/collab/raph/permanence.tidal",
"name": "Permanence",
"orbit": null,
......@@ -1338,8 +1338,8 @@
"raw": "f(4,8)"
},
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 8,
"count": 1,
"raw": "f(4,8)"
......@@ -1720,8 +1720,8 @@
"raw": "[0 .. 7] . <[0 .. 7]!7 [0 1 . [2 3]]>"
},
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 8,
"count": 1,
"raw": "[0 .. 7] . <[0 .. 7]!7 [0 1 . [2 3]]>"
......@@ -3561,16 +3561,16 @@
"scope": "shared",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"orbit": 5,
"track": "live/collab/raph/long_way.tidal",
"name": "Long Way",
"orbit": 7,
"count": 1,
"raw": "0 1 2 3"
},
{
"track": "live/collab/raph/long_way.tidal",
"name": "Long Way",
"orbit": 7,
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 5,
"count": 1,
"raw": "0 1 2 3"
}
......@@ -4041,8 +4041,8 @@
"scope": "shared",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 5,
"count": 1,
"raw": "<0 1 2 3 4 5 6 7>/2"
......@@ -5553,15 +5553,15 @@
"scope": "shared",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/jeudrill.tidal",
"name": "Jeudi Drill",
"orbit": 1,
"count": 1,
"raw": "k . ~ k*<1 2> ~ <~ k k <~ k*4>>"
},
{
"track": "live/collab/raph/jeudrill.tidal",
"name": "Jeudi Drill",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 1,
"count": 1,
"raw": "k . ~ k*<1 2> ~ <~ k k <~ k*4>>"
......@@ -5577,15 +5577,15 @@
"scope": "shared",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/jeudrill.tidal",
"name": "Jeudi Drill",
"orbit": 1,
"count": 1,
"raw": "k k . k <k [~ k] k k*2>"
},
{
"track": "live/collab/raph/jeudrill.tidal",
"name": "Jeudi Drill",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 1,
"count": 1,
"raw": "k k . k <k [~ k] k k*2>"
......@@ -10141,8 +10141,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 5,
"count": 1,
"raw": "<0 0 0 [0 0 1 0] 3 5 4 5>"
......@@ -11484,8 +11484,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 3,
"count": 1,
"raw": "<0!4 1!3 2>"
......@@ -13252,8 +13252,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 5,
"count": 1,
"raw": "<2 2 2 2 4 4 4 4>"
......@@ -15666,8 +15666,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 4,
"count": 1,
"raw": "<[e3@7 f3]!4 [b2@7 c2]!4>"
......@@ -16720,8 +16720,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 7,
"count": 1,
"raw": "<e3!4 b2!4>"
......@@ -17485,8 +17485,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": null,
"count": 1,
"raw": "<gb3'maj db3'maj bb2'min bb2'maj>"
......@@ -19882,8 +19882,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 1,
"count": 1,
"raw": "[jazz,clubkick]"
......@@ -20180,6 +20180,23 @@
]
},
{
"id": "p65c449",
"norm": "[ramples34,clap]",
"n_tokens": 2,
"n_tracks": 1,
"n_total": 1,
"scope": "unique",
"occurrences": [
{
"track": "live/midi/nova/dnb/liquid/you_my_sunshine.tidal",
"name": "You My Sunshine",
"orbit": 3,
"count": 1,
"raw": "[rampleS34:6,clap]"
}
]
},
{
"id": "p75c3e0",
"norm": "[reverbkick,jazz]",
"n_tokens": 2,
......@@ -21531,8 +21548,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 3,
"count": 1,
"raw": "h(3,8)"
......@@ -25237,8 +25254,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 3,
"count": 1,
"raw": "~ h ~ h ~ h*<1!3 2> ~ h*<1 [1|2]>"
......@@ -25424,8 +25441,8 @@
"scope": "unique",
"occurrences": [
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"orbit": 2,
"count": 1,
"raw": "~ s ~ [s*<1 2> <~!7 [~ s]>]"
......@@ -25950,13 +25967,6 @@
]
},
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"n_phrases": 18,
"n_shared": 8,
"neighbors": []
},
{
"track": "live/collab/raph/biscuit_acide.tidal",
"name": "Biscuit Acide",
"n_phrases": 11,
......@@ -25999,6 +26009,13 @@
"neighbors": []
},
{
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"n_phrases": 18,
"n_shared": 8,
"neighbors": []
},
{
"track": "live/collab/raph/nouveau_punk.tidal",
"name": "Nouveau Punk",
"n_phrases": 20,
......@@ -26312,13 +26329,13 @@
{
"track": "live/midi/nova/dnb/liquid/you_my_sunshine.tidal",
"name": "You My Sunshine",
"n_phrases": 20,
"n_phrases": 21,
"n_shared": 11,
"neighbors": [
{
"track": "live/midi/nova/dnb/wap.tidal",
"name": "WAP",
"similarity": 0.141,
"similarity": 0.14,
"shared_patterns": [
"p2b93a0",
"pd47efe"
......@@ -26375,7 +26392,7 @@
{
"track": "live/midi/nova/dnb/liquid/you_my_sunshine.tidal",
"name": "You My Sunshine",
"similarity": 0.141,
"similarity": 0.14,
"shared_patterns": [
"p2b93a0",
"pd47efe"
......
......@@ -28,7 +28,7 @@ def fixtures():
def view():
"""The real pipeline output, built once (IT-on-real-data). Skips cleanly when the
site content (corner C, in the www repo) is unavailable — e.g. www checked out to a
branch without next/content/lives — since these IT tests depend on that external repo."""
branch without content/lives — since these IT tests depend on that external repo."""
import build_catalog_view as bcv
try:
v = bcv.build()
......
......@@ -33,7 +33,7 @@ ROOT = HERE.parent.parent # …/Sound/Tidal
sys.path.insert(0, str(ROOT / "tools"))
import models as M # noqa: E402
LIVES = Path("/home/pln/Work/Web/www/next/content/lives")
LIVES = Path("/home/pln/Work/Web/www/content/lives") # app hoisted out of next/ in 6e51fff
DIRT = Path.home() / ".local/share/SuperCollider/downloaded-quarks/Dirt-Samples"
CV = HERE / "catalog_view.json"
PR = HERE / "pattern_registry.json"
......
......@@ -647,9 +647,9 @@
]
},
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"aliases": [
"Aria Sans Serif"
"Mafia Sans Serif"
],
"n_takes": 1,
"takes": [
......@@ -3149,9 +3149,9 @@
"as_of": "2026-06-05"
},
{
"track": "live/collab/raph/aria_sans_serif.tidal",
"name": "Aria Sans Serif",
"tidal": "live/collab/raph/aria_sans_serif.tidal",
"track": "live/collab/raph/mafia_sans_serif.tidal",
"name": "Mafia Sans Serif",
"tidal": "live/collab/raph/mafia_sans_serif.tidal",
"take": "Take89",
"gig": "2026/montreuil-algorave",
"take_type": "SET",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment