Commit ab600f5d by PLN (Algolia)

feat(parvagues): track analysis, streaming fixes, UX polish

- Tidal source analysis: ~60 tracks across 20 gigs mapped to .tidal files
  with 5 key ingredients each (pattern/sample/effect/technique/structure)
- Fix streaming embeds: SoundCloud user ID, YouTube video ID, Bandcamp params
- Live subpages: rewrite [slug].js with proper frontmatter access, server-side
  isPostEvent, MediaSection with SoundCloud/archive.org inline embeds
- REC badge: clickable button opens best audio source directly
- AsSeenAt: correct URLs (TOPLAP, Opal, Cookie Collective), tighter layout
- Replace em dashes with hyphens across all content
- Fix past events showing "details coming soon"
- FairyTeuf location: PSC
parent 6df2ef65
const credentials = [ const credentials = [
{ name: 'TOPLAP', detail: '20 Years', url: 'https://toplap.org/' }, { name: 'TOPLAP', detail: '20 Years', url: 'https://blog.toplap.org/2024/01/20/toplap20-events-feb-23-25/' },
{ name: 'Algorave', detail: 'GZ Lyon', url: 'https://algorave.com/' }, { name: 'Algorave', detail: 'GZ Lyon', url: 'https://algorave.com/' },
{ name: 'Opal Festival', url: 'https://www.opal-music.com/' }, { name: 'Opal Festival', detail: '2024 · 2025', url: 'https://www.opal-festival.com/' },
{ name: 'Cookie Collective', url: 'https://www.cookie.paris/' }, { name: 'Cookie Collective', detail: 'Compilation', url: 'https://ccc.cookie.paris/projects/ugo-parvague/' },
{ name: '38C3', detail: 'House of Tea', url: 'https://soundcloud.com/parvagues/live-38c3-house-of-tea' }, { name: '38C3', detail: 'House of Tea', url: 'https://soundcloud.com/parvagues/live-38c3-house-of-tea' },
{ name: '39C3', detail: 'House of Tea', url: 'https://soundcloud.com/parvagues/live-39c3' }, { name: '39C3', detail: 'House of Tea', url: 'https://soundcloud.com/parvagues/live-39c3' },
]; ];
...@@ -17,7 +17,7 @@ export default function AsSeenAt() { ...@@ -17,7 +17,7 @@ export default function AsSeenAt() {
> >
As seen at As seen at
</p> </p>
<div className="flex flex-wrap justify-center items-center gap-x-8 gap-y-4"> <div className="flex flex-wrap justify-center items-center gap-x-5 md:gap-x-8 gap-y-3">
{credentials.map(({ name, detail, url }) => ( {credentials.map(({ name, detail, url }) => (
<a <a
key={name} key={name}
......
...@@ -7,7 +7,7 @@ export default function BioSection() { ...@@ -7,7 +7,7 @@ export default function BioSection() {
style={{ color: 'var(--text-primary)' }} style={{ color: 'var(--text-primary)' }}
> >
<strong className="font-display">ParVagues</strong> est un projet de{' '} <strong className="font-display">ParVagues</strong> est un projet de{' '}
<em>livecoding</em> solo musique électronique composée et jouée en <em>livecoding</em> solo, musique électronique composée et jouée en
temps réel par le code. Algorave, techno, drum &amp; bass, breakbeat : temps réel par le code. Algorave, techno, drum &amp; bass, breakbeat :
chaque set est unique, joué sur scène avec{' '} chaque set est unique, joué sur scène avec{' '}
<a <a
......
...@@ -62,7 +62,7 @@ const streamingPlatforms = [ ...@@ -62,7 +62,7 @@ const streamingPlatforms = [
label: 'SoundCloud', label: 'SoundCloud',
icon: FaSoundcloud, icon: FaSoundcloud,
color: '#ff5500', color: '#ff5500',
embedUrl: 'https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/users/1084818893&color=%23a700d1&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true', embedUrl: 'https://w.soundcloud.com/player/?visual=true&url=https%3A%2F%2Fapi.soundcloud.com%2Fusers%2F788076298&color=%23a700d1&auto_play=false&show_artwork=true&show_user=true&show_reposts=false&show_teaser=true',
embedHeight: 450, embedHeight: 450,
profileUrl: 'https://soundcloud.com/parvagues', profileUrl: 'https://soundcloud.com/parvagues',
}, },
...@@ -71,7 +71,7 @@ const streamingPlatforms = [ ...@@ -71,7 +71,7 @@ const streamingPlatforms = [
label: 'Bandcamp', label: 'Bandcamp',
icon: FaBandcamp, icon: FaBandcamp,
color: '#1da0c3', color: '#1da0c3',
embedUrl: 'https://bandcamp.com/EmbeddedPlayer/album=644862623/size=large/bgcol=0a0a0a/linkcol=a700d1/tracklist=true/transparent=true/', embedUrl: 'https://bandcamp.com/EmbeddedPlayer/album=644862623/size=large/bgcol=0a0a0a/linkcol=a700d1/tracklist=false/artwork=small/transparent=true/',
embedHeight: 450, embedHeight: 450,
profileUrl: 'https://parvagues.bandcamp.com/', profileUrl: 'https://parvagues.bandcamp.com/',
}, },
...@@ -91,7 +91,7 @@ const streamingPlatforms = [ ...@@ -91,7 +91,7 @@ const streamingPlatforms = [
label: 'YouTube', label: 'YouTube',
icon: FaYoutube, icon: FaYoutube,
color: '#ff0000', color: '#ff0000',
embedUrl: 'https://www.youtube-nocookie.com/embed/videoseries?list=OLAK5uy_l4MF3OCIXcdPMpsHGVX2Q9MiX6oU1zT6g', embedUrl: 'https://www.youtube-nocookie.com/embed/BIG8iGRHCOg?list=OLAK5uy_l4MF3OCIXcdPMpsHGVX2Q9MiX6oU1zT6g',
embedHeight: 400, embedHeight: 400,
profileUrl: 'https://www.youtube.com/@parvagues/videos', profileUrl: 'https://www.youtube.com/@parvagues/videos',
isVideo: true, isVideo: true,
......
...@@ -43,6 +43,7 @@ export default function TourTimeline({ lives }) { ...@@ -43,6 +43,7 @@ export default function TourTimeline({ lives }) {
{grouped[year].map((live) => { {grouped[year].map((live) => {
const isFuture = live._date > now; const isFuture = live._date > now;
const hasMedia = live.audio || live.video || live.archive; const hasMedia = live.audio || live.video || live.archive;
const bestLink = live.audio || live.video || live.archive;
const city = live.location?.includes(',') const city = live.location?.includes(',')
? live.location.split(',')[0].trim() ? live.location.split(',')[0].trim()
: live.location; : live.location;
...@@ -83,13 +84,16 @@ export default function TourTimeline({ lives }) { ...@@ -83,13 +84,16 @@ export default function TourTimeline({ lives }) {
{city} {city}
</span> </span>
{/* Media dot */} {/* Recording available - direct link to best source */}
{hasMedia && ( {hasMedia && (
<span <button
className="flex-shrink-0 rounded-full" type="button"
style={{ width: '6px', height: '6px', backgroundColor: 'rgba(217,0,255,0.5)' }} onClick={(e) => { e.preventDefault(); e.stopPropagation(); window.open(bestLink, '_blank', 'noopener'); }}
title="Enregistrement disponible" className="flex-shrink-0 flex items-center gap-1.5 px-2 py-0.5 rounded-full text-[9px] tracking-wider uppercase border border-[var(--neon-high)]/20 text-[var(--neon-high)] opacity-60 hover:opacity-100 hover:bg-[var(--neon-high)]/10 transition-all cursor-pointer"
/> >
<svg className="w-2.5 h-2.5" viewBox="0 0 24 24" fill="currentColor"><polygon points="5,3 19,12 5,21" /></svg>
<span className="hidden sm:inline">rec</span>
</button>
)} )}
</Link> </Link>
); );
......
...@@ -8,7 +8,7 @@ const featuredVideo = { ...@@ -8,7 +8,7 @@ const featuredVideo = {
id: 'bS5jcIJfU6c', id: 'bS5jcIJfU6c',
source: 'youtube', source: 'youtube',
title: 'Algorave GZ25', title: 'Algorave GZ25',
subtitle: 'w/ Pérégrine · Algorave Lyon European-wide annual event', subtitle: 'w/ Pérégrine · Algorave Lyon, European-wide annual event',
date: 'Fév 2025', date: 'Fév 2025',
featured: true, featured: true,
}; };
......
--- ---
title: "Live Algolia Fête de la Musique 2022" title: "Live Algolia - Fête de la Musique 2022"
date: "2022-06-21" date: "2022-06-21"
time: "18:00" time: "18:00"
location: "Paris, France" location: "Paris, France"
...@@ -13,6 +13,6 @@ archive: "" ...@@ -13,6 +13,6 @@ archive: ""
tags: ["livecoding", "algolia", "fdlm"] tags: ["livecoding", "algolia", "fdlm"]
--- ---
# Live Algolia Fête de la Musique 2022 # Live Algolia - Fête de la Musique 2022
Fête de la Musique at Algolia HQ, Paris. Fête de la Musique at Algolia HQ, Paris.
{
"gig": "cmny-2",
"title": "Live @ CMNY #2",
"date": "2023-09-01",
"bpmRange": [90, 160],
"styleDistribution": {
"breakbeat": 3,
"ambient": 2,
"lounge": 2,
"dnb": 1,
"techno": 1
},
"samplePacks": [
{ "name": "FMRhodes1/FMRhodes2", "usage": "FM piano across Solar, Lunar, Empreinte du numerique" },
{ "name": "bassWarsaw", "usage": "primary bass synth in Solar, Lunar, CBOW, Nightly Repair" },
{ "name": "break", "usage": "breakbeat loops in Solar and Lunar" },
{ "name": "cbow/cpluck", "usage": "cello bow and plucked strings in CBOW" },
{ "name": "90s_synatm", "usage": "atmospheric synth in Contre Visite and Nightly Repair" },
{ "name": "90s_matrix", "usage": "bass synth in Nightly Repair" },
{ "name": "fbass", "usage": "chopped bass in Empreinte du numerique and Alerte Verte" },
{ "name": "supermandolin", "usage": "mandolin lead in Empreinte du numerique" },
{ "name": "jungle_breaks/breaks165", "usage": "DnB breaks in Alerte Verte and Invoque l'ete" },
{ "name": "moogBass", "usage": "moog bass/pad across Invoque l'ete and CBOW" }
],
"tracks": [
{
"name": "We call it AlgoRave",
"file": null,
"bpm": 120,
"style": "breakbeat",
"ingredients": [
{ "type": "structure", "code": "live improvisation", "description": "Improvised intro demonstrating TidalCycles basics - building from silence to beat" },
{ "type": "technique", "code": "once $ arpeggiate $ note \"c'majPent'3\" # \"moog\"", "description": "Live one-shot demonstrations of samples, synths, and arpeggiation" },
{ "type": "pattern", "code": "d1 $ \"jazz <cp [dr*<8 [8 16]>]>\"", "description": "Simple kick+clap loop as live-coded introduction to pattern syntax" }
]
},
{
"name": "Solar",
"file": "live/midi/nova/breaks/solar.tidal",
"bpm": 110,
"style": "breakbeat",
"ingredients": [
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM breakbeat with dual DJF bus filtering" },
{ "type": "sample", "code": "$ loopAt 2 $ slice 8 (run 8) $ \"break:11\" # hpf 500", "description": "High-passed breakbeat loop with ply and striate variations" },
{ "type": "technique", "code": "arp \"<up!8 converge!7 diverge>\" \"c'maj'8\" # \"bassWarsaw\"", "description": "Warsaw bass cycling through arpeggiation modes over C major" },
{ "type": "sample", "code": "# \"FMRhodes1\" # modIndex (range 0 128 \"^34\")", "description": "FM Rhodes with full MIDI modulation sweep" },
{ "type": "effect", "code": "# crushbus 51 (range 16 4.6 \"^53\")", "description": "Shared bitcrush bus for unified distortion across channels" }
]
},
{
"name": "Lunar",
"file": "live/midi/nova/breaks/lunar.tidal",
"bpm": 110,
"style": "breakbeat",
"ingredients": [
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM - darker companion to Solar with aeolian modality" },
{ "type": "technique", "code": "note (scale \"aeolian\" \"<3 3 5 <5 4> 5 4 3 <~ 2 3 ~>>\") # \"bassWarsaw\"", "description": "Melodic bass line with rests for breathing space" },
{ "type": "sample", "code": "\"break\" # n \"<13!12 14!4 15!12 14!4>\"", "description": "Three break variants cycling on 32-cycle rotation" },
{ "type": "technique", "code": "superimpose (|+| note \"~ 12(<1 1 2 1 2 5 2 1 2 2 5 2 2 4 3 8>,8)\")", "description": "Euclidean octave jumps on Rhodes superimpose" },
{ "type": "effect", "code": "# modIndex (range 0.1 32 \"^54\")", "description": "Restrained FM modulation for warmer timbre than Solar" }
]
},
{
"name": "Contre Visite",
"file": "live/midi/nova/ambient/contre_visite.tidal",
"bpm": 90,
"style": "ambient",
"ingredients": [
{ "type": "structure", "code": "setcps (90/60/4)", "description": "90 BPM ambient with layered synth pads and gradual mute unveiling" },
{ "type": "sample", "code": "\"90s_synatm:8/4\" # room 0.8 # legato 4", "description": "Quarter-speed atmospheric pad with heavy reverb wash" },
{ "type": "technique", "code": "superimpose (struct \"t(5,8)\" . arp \"[down,up]\" . (|+ note 12))", "description": "Euclidean arp on synth creating call-and-response" },
{ "type": "sample", "code": "\"90s_synatm:14/4\" # delay 0.8 # delayfb 0.25 # delayt 0.25", "description": "Second synth voice with dotted-eighth delay" },
{ "type": "effect", "code": "# octersubbus 53 (range 0 1.85 \"^34\")", "description": "Sub-octave on synth for bass reinforcement" }
]
},
{
"name": "Empreinte du numerique",
"file": "live/midi/nova/ambient/empreinte_du_numerique.tidal",
"bpm": 110,
"style": "ambient",
"ingredients": [
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM with ASCII art header (computer/keyboard) - digital footprint theme" },
{ "type": "sample", "code": "$ \"fbass:51\" # lesliebus 52 \"^33\" # lsizebus 51 (range 0.8 4.8 \"^17\")", "description": "Bass with Leslie speaker effect - MIDI-controlled cabinet size and speed" },
{ "type": "technique", "code": "note (\"d4/2\" + scale \"<augmented!6 diminished2!2>\" (run 16)) # \"FMRhodes1\"", "description": "FM Rhodes running through augmented/diminished2 scales for digital dissonance" },
{ "type": "sample", "code": "$ note \"<d <d a> <gf> c>\" # \"supermandolin\"", "description": "Mandolin lead with tritone (gf) creating tension in the progression" },
{ "type": "effect", "code": "# crushbus 53 (range 10 1.61 \"^53\") # modIndex (range \"-0.1\" 100 \"^34\")", "description": "Bitcrush on bass and full-range mod index on Rhodes for timbral extremes" }
]
},
{
"name": "CBOW",
"file": "live/midi/nova/lounge/cbow.tidal",
"bpm": 100,
"style": "lounge",
"ingredients": [
{ "type": "structure", "code": "setcps (100/60/4)", "description": "100 BPM lounge with cello bow (cbow) as primary instrument" },
{ "type": "technique", "code": "note (arp \"up <up!8 down!8>\" \"d4'min7'4\") # \"cbow:0\"", "description": "CBOW electric bass arpeggiating d minor 7th with alternating up/down" },
{ "type": "sample", "code": "$ note (arp \"converge\" chord) # \"cbow:2\" # lesliebus 41 (range 0 2 \"^54\")", "description": "High cbow lead with converging arp and MIDI Leslie effect" },
{ "type": "technique", "code": "$ midiOn \"^57\" (euclid \"<1 <1 [1 2] 5> 3 5>\" 8) $ (\"0.125\" ~>)", "description": "Euclidean pattern evolving from sparse (1,8) to dense (5,8) with micro-offset" },
{ "type": "effect", "code": "# crushbus 31 (range 10 2 \"^53\") # room 0.6 # sz 0.5", "description": "Light bitcrush and medium reverb for warm analog cello character" }
]
},
{
"name": "Nightly Repair",
"file": "live/techno/nightly_repair.tidal",
"bpm": 90,
"style": "techno",
"ingredients": [
{ "type": "structure", "code": "setcps (90/60/4)", "description": "90 BPM slow techno - 'La nuit te repare'" },
{ "type": "technique", "code": "note (scale \"blues\" (arp \"<up pinkyup downup thumbupdown>\" \"[0,1,2,<3 4>,<4 <5 6>>]\"))", "description": "Blues-scale Rhodes with 4 rotating arp modes and expanding voicings" },
{ "type": "sample", "code": "# \"90s_matrix:3\" # lesliebus 41 (range \"-1\" 1 \"^17\")", "description": "Matrix bass with bidirectional Leslie simulation" },
{ "type": "effect", "code": "# crushbus 43 (range 16 2 (\"^53\" - 0.1 * (fast 4 perlin)))", "description": "Perlin-jittered bitcrush for organic grit" },
{ "type": "sample", "code": "# \"90s_matrix:1/4\" # squizbus 92 (range 0 10 perlin)", "description": "Squiz distortion with full perlin range for evolving texture" }
]
},
{
"name": "Alerte Verte",
"file": "live/midi/nova/dnb/alerte_verte.tidal",
"bpm": 160,
"style": "dnb",
"ingredients": [
{ "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM DnB with layered kick (squiz+octersub) and MIDI mute matrix" },
{ "type": "sample", "code": "$ loopAt 4 $ chop 16 $ \"fbass:25\"", "description": "Chopped bass loop with forward/reverse slice switching" },
{ "type": "technique", "code": "$ whenmod 16 12 (struct \"t*<4 4 8 16>\")", "description": "Snare rush building from quarter to 16th notes" },
{ "type": "sample", "code": "$ chop 16 $ loopAt 0.5 $ \"breaks165\"", "description": "Half-speed breaks165 for live glitch drops (Nassim button)" },
{ "type": "effect", "code": "# leslie \"^34\" # lsize (1 + (slow 16 perlin * 2))", "description": "Leslie speaker on guitar with perlin-modulated cabinet" }
]
},
{
"name": "Invoque l'Ete",
"file": "live/midi/nova/lounge/invoque_ete.tidal",
"bpm": 115,
"style": "lounge",
"ingredients": [
{ "type": "structure", "code": "setcps (115/60/4)", "description": "115 BPM lounge closer - 'Il ne viendra pas tout seul'" },
{ "type": "pattern", "code": "\"d ~ ~ d d ~ d <~!3 d>\"", "description": "Son clave on snare:22 with variable ghost-note gain" },
{ "type": "sample", "code": "$ slice 8 (run \"<4!4 8 8 [4 8 4] [8 4 8]>\") $ \"fbass:13\"", "description": "Bass sliced with escalating complexity" },
{ "type": "technique", "code": "note (\"<a3'maj g3'maj a3'min d3'maj>\") # \"moogBass\"", "description": "I-bVII-i-IV jazz progression on Moog bass" },
{ "type": "effect", "code": "# octersub 0.5 # crushbus 71 (range 16 2.5 \"^55\")", "description": "Sub-octave and crush on the piano for warm thickness" }
]
}
]
}
\ No newline at end of file
...@@ -4,7 +4,7 @@ date: "2023-10-01" ...@@ -4,7 +4,7 @@ date: "2023-10-01"
time: "23:00" time: "23:00"
location: "Paris, France" location: "Paris, France"
address: "MephisTeuf" address: "MephisTeuf"
description: "Dark livecoding set Cette nuit t'appartient." description: "Dark livecoding set - Cette nuit t'appartient."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
video: "" video: ""
......
...@@ -4,7 +4,7 @@ date: "2023-12-21" ...@@ -4,7 +4,7 @@ date: "2023-12-21"
time: "20:00" time: "20:00"
location: "Online (Grand Paris)" location: "Online (Grand Paris)"
address: "TOPLAP Stream" address: "TOPLAP Stream"
description: "Breaks&Beats TidalCycles+MIDI Cookie Collective winter solstice stream." description: "Breaks&Beats TidalCycles+MIDI - Cookie Collective winter solstice stream."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
video: "https://archive.org/details/latesolstice2023-parvagues" video: "https://archive.org/details/latesolstice2023-parvagues"
......
{
"gig": "toplap-solstice",
"title": "TOPLAP SOLSTICE 23",
"date": "2023-12-21",
"bpmRange": [100, 150],
"styleDistribution": {
"techno": 1,
"nu-jazz": 2,
"breakbeat": 1
},
"samplePacks": [
{ "name": "techno:0/808bd/909/kick", "usage": "layered techno kick stack in Permanence" },
{ "name": "bass_nes", "usage": "NES bass chopped with freeze/squiz in Permanence" },
{ "name": "fguitar", "usage": "distorted guitar with crushbus in Permanence" },
{ "name": "jungle_breaks", "usage": "jungle breakbeats across Permanence and Bain Bouillant" },
{ "name": "nujazz_keys120", "usage": "jazz piano chords in Bain Bouillant and Salut Nu" },
{ "name": "nujazz_beats120", "usage": "jazz drum patterns in Bain Bouillant and Salut Nu" },
{ "name": "nujazz_wahwah125", "usage": "wah-wah guitar in Salut Nu" },
{ "name": "bassWarsaw", "usage": "primary bass synth in Bain Bouillant and Salut Nu" },
{ "name": "FMRhodes1", "usage": "FM piano in Haunted House bird-call motif" },
{ "name": "trance_pads", "usage": "atmospheric pad layer in Haunted House" },
{ "name": "weird_dialogs", "usage": "vocal dialogue samples in Haunted House (sliced question/answer)" },
{ "name": "moogBass", "usage": "moog pad in Permanence and Salut Nu" }
],
"tracks": [
{
"name": "Permanence",
"file": "live/collab/raph/permanence.tidal",
"bpm": 150,
"style": "techno",
"ingredients": [
{ "type": "structure", "code": "setcps (150/60/4)", "description": "150 BPM high-energy techno with triple mute groups" },
{ "type": "sample", "code": "$ \"[techno:0,808bd:2,909,kick:4]\" # lpf 1200", "description": "Four-layer kick stack low-passed at 1200 Hz for heavy sub weight" },
{ "type": "sample", "code": "$ chop 4 $ loopAt 4 $ \"bass_nes:1\" # octersubbus 43 (range 0 1.5 \"^17\")", "description": "NES bass loop with MIDI-controlled sub-octave for massive low-end" },
{ "type": "technique", "code": "$ note (\"0@3 0 . <gs4 f4 ef4 d4>\" + \"<g4!3 f4> . 0\" + \"[0,12]\") # \"superfork\"", "description": "Superfork lead with chromatic descent and octave-doubled unison" },
{ "type": "effect", "code": "# crushbus 41 (range 16 2.5 \"^53\") # squizbus 44 (range 0 1.5 \"^33\")", "description": "Dual distortion: bitcrush + squiz on the NES bass for gnarly texture" }
]
},
{
"name": "Bain Bouillant",
"file": "live/midi/nova/nujazz/cafe_bouillant.tidal",
"bpm": 120,
"style": "nu-jazz",
"ingredients": [
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM nu-jazz with house kick foundation and jazz sample layers" },
{ "type": "sample", "code": "$ \"nujazz_keys120\" # n \"<61!24 60!8>\"", "description": "Jazz piano chords alternating between two voicings on 32-cycle rotation" },
{ "type": "technique", "code": "note (\"e3 <b2!3 <ef3 g3>>\" |+| \"[0 ~ ~ 0 ~ ~ 0 ~] [...]\") # \"bassWarsaw\"", "description": "Warsaw bass with syncopated euclidean-style note triggering pattern" },
{ "type": "sample", "code": "$ \"nujazz_bass120\" # n \"<33!64 34!64>\"", "description": "Plucked jazz bass alternating samples every 64 cycles for evolution" },
{ "type": "effect", "code": "# roombus 42 (range 0 0.4 \"^33\") # crushbus 41 (range 16 3.4 \"^53\")", "description": "MIDI-controlled room reverb and bitcrush on bass for live dynamics" }
]
},
{
"name": "Haunted House",
"file": "live/midi/nova/beatober/oct_16_haunted_house_insouciance.tidal",
"bpm": 120,
"style": "breakbeat",
"ingredients": [
{ "type": "structure", "code": "setcps (120/60/4)", "description": "120 BPM Beatober track (Oct 16) - released as La Fin de l'Insouciance" },
{ "type": "technique", "code": "note (\"<[<g4 <g4!3 gs4> gs4 gs4>@3 <c!13 gs4 c c>@2 ...]\") # \"FMRhodes1\"", "description": "Bird-call FM Rhodes melody with chromatic voice-leading (g/gs alternation)" },
{ "type": "sample", "code": "\"weird_dialogs:39\" with fix slicing: begin/end for effects/almost/variations/answer", "description": "Vocal dialogue sample surgically sliced into 4 semantic sections for Q&A texture" },
{ "type": "sample", "code": "$ \"trance_pads:7\" # legato 2 # room 0.4", "description": "Atmospheric trance pad layer with sustained legato and reverb wash" },
{ "type": "effect", "code": "# delaybus 51 (range 0 0.8 \"^34\") # delayt \"<h>\" # delayfb 0.25", "description": "MIDI-controlled delay on FMRhodes creating spatial depth on demand" }
]
},
{
"name": "Salut nu",
"file": "live/midi/nova/nujazz/salut_nu.tidal",
"bpm": 120,
"style": "nu-jazz",
"ingredients": [
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM nu-jazz with jazz samples and wah-wah guitar" },
{ "type": "sample", "code": "$ \"nujazz_keys120\" # n \"<54!16 53!16>\" with juxBy 0.9 mirror", "description": "Jazz piano with reversed mirror superimpose creating stereo depth" },
{ "type": "technique", "code": "note (\"<[a4@4 c5 <c5 d5 c5 fs4>] a4>\" + \"[0,12]\" - 36) # \"bassWarsaw\"", "description": "Warsaw bass with tritone movement (a4 to fs4) and octave doubling" },
{ "type": "sample", "code": "$ \"nujazz_wahwah125\" # octersubbus 71 (range 0 2 \"^55\")", "description": "Wah-wah guitar with MIDI sub-octave for funky bass reinforcement" },
{ "type": "effect", "code": "$ jux rev $ note (...) # \"moogBass\" # chorus 0.2 # att 0.3 # rel 2", "description": "Moog choir with jux-reversed stereo and slow attack/release for evolving pad" }
]
}
]
}
\ No newline at end of file
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
"style": "dnb", "style": "dnb",
"ingredients": [ "ingredients": [
{ "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM, fast DNB-adjacent tempo" }, { "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM, fast DNB-adjacent tempo" },
{ "type": "sample", "code": "\"ghost\" # n (slow 4 $ \"<0 1 2 3>\")", "description": "Ghost samples cycling through 4 variations the track's namesake" }, { "type": "sample", "code": "\"ghost\" # n (slow 4 $ \"<0 1 2 3>\")", "description": "Ghost samples cycling through 4 variations - the track's namesake" },
{ "type": "technique", "code": "slice 16 \"[0 .. 7] . <[0 .. 7]!3 [0 1 . [2 3]]>\"", "description": "Breakbeat slicer on breaks165 with variable resequencing" }, { "type": "technique", "code": "slice 16 \"[0 .. 7] . <[0 .. 7]!3 [0 1 . [2 3]]>\"", "description": "Breakbeat slicer on breaks165 with variable resequencing" },
{ "type": "effect", "code": "# octersubsub 2 # octersub 2 # sz 0.01 # room 1.0", "description": "Heavy octave sub-bass doubling with tight reverb" }, { "type": "effect", "code": "# octersubsub 2 # octersub 2 # sz 0.01 # room 1.0", "description": "Heavy octave sub-bass doubling with tight reverb" },
{ "type": "pattern", "code": "note (\"<e3 fs3 <gs3 d4> <a3 df4>>\" - 12) # \"bassWarsaw\"", "description": "Dark Warsaw bass with diminished/augmented interval cycle" } { "type": "pattern", "code": "note (\"<e3 fs3 <gs3 d4> <a3 df4>>\" - 12) # \"bassWarsaw\"", "description": "Dark Warsaw bass with diminished/augmented interval cycle" }
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
"bpm": 155, "bpm": 155,
"style": "punk-dnb", "style": "punk-dnb",
"ingredients": [ "ingredients": [
{ "type": "structure", "code": "setcps (155/60/4)", "description": "155 BPM punk energy territory" }, { "type": "structure", "code": "setcps (155/60/4)", "description": "155 BPM - punk energy territory" },
{ "type": "sample", "code": "chop 4 $ \"punk:0/4\" # crushbus 41 (range 16 1.5 \"^53\")", "description": "Punk guitar chopped with MIDI-controlled bitcrush" }, { "type": "sample", "code": "chop 4 $ \"punk:0/4\" # crushbus 41 (range 16 1.5 \"^53\")", "description": "Punk guitar chopped with MIDI-controlled bitcrush" },
{ "type": "pattern", "code": "note \"<e g a <b4 b4>>\" # \"meth_bass:3\" # hpf 2000", "description": "High-passed meth_bass following E-G-A-B progression" }, { "type": "pattern", "code": "note \"<e g a <b4 b4>>\" # \"meth_bass:3\" # hpf 2000", "description": "High-passed meth_bass following E-G-A-B progression" },
{ "type": "technique", "code": "struct \"t(<3!3 5>,8,<0!7 1>)\" $ arp \"up\" ... # \"cpluck:2\"", "description": "Euclidean-rhythmed arpeggiated 'Violoncelle Manouche punko-magique'" }, { "type": "technique", "code": "struct \"t(<3!3 5>,8,<0!7 1>)\" $ arp \"up\" ... # \"cpluck:2\"", "description": "Euclidean-rhythmed arpeggiated 'Violoncelle Manouche punko-magique'" },
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
"bpm": 170, "bpm": 170,
"style": "punk-dnb", "style": "punk-dnb",
"ingredients": [ "ingredients": [
{ "type": "structure", "code": "setcps (170/60/4)", "description": "170 BPM full DNB speed, fastest track" }, { "type": "structure", "code": "setcps (170/60/4)", "description": "170 BPM - full DNB speed, fastest track" },
{ "type": "pattern", "code": "note (\"d*<3 4 3 2> . ds ds df\" + 2) # \"vec1_acid:11\"", "description": "Acid bassline with variable-density note patterns" }, { "type": "pattern", "code": "note (\"d*<3 4 3 2> . ds ds df\" + 2) # \"vec1_acid:11\"", "description": "Acid bassline with variable-density note patterns" },
{ "type": "technique", "code": "superimpose ((|* gain \"^17\") . (# n 10) . (# legato 0.8))", "description": "Layered acid superimposition with MIDI gain crossfade" }, { "type": "technique", "code": "superimpose ((|* gain \"^17\") . (# n 10) . (# legato 0.8))", "description": "Layered acid superimposition with MIDI gain crossfade" },
{ "type": "sample", "code": "loopAt 2 $ slice 2 $ \"meth_bass:9\" # delay ... # delayfb ...", "description": "Meth bass with building dub-delay wash (0 to 0.8 feedback)" }, { "type": "sample", "code": "loopAt 2 $ slice 2 $ \"meth_bass:9\" # delay ... # delayfb ...", "description": "Meth bass with building dub-delay wash (0 to 0.8 feedback)" },
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
{ "type": "pattern", "code": "n \"<30!16 31!16>\" # \"vec2_synth_acid\"", "description": "Triple-layered acid bass stack: vec2 alternating + two vec1 lines" }, { "type": "pattern", "code": "n \"<30!16 31!16>\" # \"vec2_synth_acid\"", "description": "Triple-layered acid bass stack: vec2 alternating + two vec1 lines" },
{ "type": "technique", "code": ">| note (\"[b d6 b cs6 d6 b cs6 b]*2\" - \"<0!32 12!32>\")", "description": "Acid sequence with octave drop every 32 cycles" }, { "type": "technique", "code": ">| note (\"[b d6 b cs6 d6 b cs6 b]*2\" - \"<0!32 12!32>\")", "description": "Acid sequence with octave drop every 32 cycles" },
{ "type": "sample", "code": "note (\"b ~ ~ b ~ ~ <d!7 e6> <~ d>\") # \"FMRhodes1\" # tremdp 4 # tremr 1.8", "description": "FM Rhodes 'Piano lead acidulé' with tremolo droplet texture" }, { "type": "sample", "code": "note (\"b ~ ~ b ~ ~ <d!7 e6> <~ d>\") # \"FMRhodes1\" # tremdp 4 # tremr 1.8", "description": "FM Rhodes 'Piano lead acidulé' with tremolo droplet texture" },
{ "type": "pattern", "code": "note (\"<b5!3 <g d>>@7 <c6 c6 cs6 a6>\") # \"moog:0\"", "description": "Caring bass Moog with chromatic C-C#-A movement" } { "type": "pattern", "code": "note (\"<b5!3 <g d>>@7 <c6 c6 cs6 a6>\") # \"moog:0\"", "description": "Caring bass - Moog with chromatic C-C#-A movement" }
] ]
}, },
{ {
...@@ -81,11 +81,11 @@ ...@@ -81,11 +81,11 @@
"bpm": 124, "bpm": 124,
"style": "downtempo", "style": "downtempo",
"ingredients": [ "ingredients": [
{ "type": "structure", "code": "setcps(124/60/4)", "description": "124 BPM slowest, most melodic track" }, { "type": "structure", "code": "setcps(124/60/4)", "description": "124 BPM - slowest, most melodic track" },
{ "type": "sample", "code": "\"suns_keys\" # n \"<0 <1 2> 3 3>\"", "description": "Suns of Gold keyboard stabs with tremolo and euclidean slicing" }, { "type": "sample", "code": "\"suns_keys\" # n \"<0 <1 2> 3 3>\"", "description": "Suns of Gold keyboard stabs with tremolo and euclidean slicing" },
{ "type": "technique", "code": "fast (4/3) $ note (\"<[fs4 <a5!2 gs!4 fs5!4 ...>@3]*4>\")", "description": "Polymetric (4/3) Warsaw bass triplets against 4/4 grid" }, { "type": "technique", "code": "fast (4/3) $ note (\"<[fs4 <a5!2 gs!4 fs5!4 ...>@3]*4>\")", "description": "Polymetric (4/3) Warsaw bass - triplets against 4/4 grid" },
{ "type": "sample", "code": "slice 8 \"<0 1 2 3>(3,8)\" $ \"suns_guitar:2\" # room 0.8", "description": "Euclidean-sliced guitar with lush reverb and L/R panning" }, { "type": "sample", "code": "slice 8 \"<0 1 2 3>(3,8)\" $ \"suns_guitar:2\" # room 0.8", "description": "Euclidean-sliced guitar with lush reverb and L/R panning" },
{ "type": "effect", "code": "# crushbus 73 (range 16 2.9 \"^55\") # lpfbus 72", "description": "'CRASH/BURN THIS GUITAR' MIDI-driven total destruction" } { "type": "effect", "code": "# crushbus 73 (range 16 2.9 \"^55\") # lpfbus 72", "description": "'CRASH/BURN THIS GUITAR' - MIDI-driven total destruction" }
] ]
} }
] ]
......
--- ---
title: "Algolia Last All Hands" title: "Algolia - Last All Hands"
date: "2024-12-15" date: "2024-12-15"
time: "18:00" time: "18:00"
location: "Paris, France" location: "Paris, France"
...@@ -13,7 +13,7 @@ archive: "" ...@@ -13,7 +13,7 @@ archive: ""
tags: ["livecoding", "algolia", "paris"] tags: ["livecoding", "algolia", "paris"]
--- ---
# Algolia Last All Hands # Algolia - Last All Hands
## Tracklist ## Tracklist
- Blue Gold - Blue Gold
......
{
"gig": "algolia-last-all-hands",
"title": "Algolia - Last All Hands",
"date": "2024-12-15",
"bpmRange": [90, 160],
"styleDistribution": { "breaks": 3, "nujazz": 2, "techno": 1, "lounge": 1, "ambient": 2, "dnb": 1, "punk": 1 },
"samplePacks": [
{ "name": "bassWarsaw", "usage": "Main synth bass across multiple tracks" },
{ "name": "suns_keys", "usage": "Suns of Gold key samples for Blue Gold" },
{ "name": "suns_guitar", "usage": "Guitar layers for Blue Gold" },
{ "name": "jungle_breaks", "usage": "Breakbeat fills and variations" },
{ "name": "nujazz_keys120", "usage": "Pre-recorded nujazz piano loops" },
{ "name": "FMRhodes1", "usage": "FM electric piano" },
{ "name": "90s_synatm", "usage": "90s synth atmosphere pads" },
{ "name": "fguitar", "usage": "Funk guitar samples" },
{ "name": "bass_nes", "usage": "NES-style bass for Permanence" },
{ "name": "moogBass", "usage": "Moog bass synth for atmospheric layers" }
],
"tracks": [
{
"name": "Blue Gold",
"file": "live/collab/mousquetaires/blue_gold.tidal",
"bpm": 124,
"style": "breaks",
"ingredients": [
{ "type": "sample", "code": "\"suns_keys\"", "description": "Suns of Gold key samples with tremolo and slice" },
{ "type": "sample", "code": "\"suns_guitar\"", "description": "Triple guitar: main, flying triplet, falling angel layers" },
{ "type": "pattern", "code": "$ fast (4/3)", "description": "Signature 4/3 polyrhythmic bassWarsaw line" },
{ "type": "sample", "code": "\"suns_voice:0\"", "description": "Father's voice sample with phrase slicing" },
{ "type": "technique", "code": "$ whenmod 32 16 (swingBy (slow 16 $ range 0.08 0.01 saw) 4)", "description": "Progressive swing reduction" }
]
},
{
"name": "Something About Drums",
"file": "live/midi/nova/dnb/something_about_drums.tidal",
"bpm": 160,
"style": "dnb",
"ingredients": [
{ "type": "pattern", "code": "note (cat [\"[bf3, d4, f4, a4]\", \"[a3, c4, e4, g4]\", \"[d4, f4, a4, c5, <e5 e4>]\", \"[g3, b4, d5, <f5 ~>]\"])", "description": "Jazz chord arpeggiation: Bbmaj7-Am7-Dm9-G7" },
{ "type": "sample", "code": "\"FMRhodes2\"", "description": "FM Rhodes with modIndex and stutter" },
{ "type": "sample", "code": "\"moogBass\"", "description": "Moog doubling chords with delay" },
{ "type": "sample", "code": "\"break:2\"", "description": "Break with iter and splice manipulation" },
{ "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM jazz-DnB fusion" }
]
},
{
"name": "Sunny Side Up",
"file": "live/midi/nova/lounge/sunny_side_up.tidal",
"bpm": 120,
"style": "lounge",
"ingredients": [
{ "type": "sample", "code": "\"sunny_bass\"", "description": "Warm bass with octave sub variations" },
{ "type": "sample", "code": "\"sunny_brass\"", "description": "Brass with progressive mask reveal" },
{ "type": "pattern", "code": "\"acidOto3092\" |- note 36", "description": "Acid synth overlay in F/G#/C/G" },
{ "type": "sample", "code": "\"nujazz_keys120:35/4\"", "description": "Piano loop outro" },
{ "type": "technique", "code": "$ mask \"<t f <f t> f>\"", "description": "Gradual 4-bar sample deployment" }
]
},
{
"name": "Cafe Bouillant",
"file": "live/midi/nova/nujazz/cafe_bouillant.tidal",
"bpm": 120,
"style": "nujazz",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_bass120\"", "description": "Plucked bass with perlin-driven crush" },
{ "type": "pattern", "code": "note (\"e3 <b2!3 <ef3 g3>>\" |+| ...)", "description": "BassWarsaw with euclidean offbeats" },
{ "type": "sample", "code": "\"cpluck:4\"", "description": "Plucked melody with probabilistic transposition" },
{ "type": "sample", "code": "\"jungle_breaks:22\"", "description": "Stereo-panned jungle break" },
{ "type": "technique", "code": "$ someCyclesBy \"<1!32 0!32>\" (|+ note ...)", "description": "32-cycle alternating note transposition" }
]
},
{
"name": "Cafe Tiede",
"file": "live/midi/nova/nujazz/cafe_tiede.tidal",
"bpm": 125,
"style": "nujazz",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_bass125:1\"", "description": "Jazz bass chopped and sliced with MIDI control" },
{ "type": "sample", "code": "\"nujazz_keys125\"", "description": "Multi-layer piano: main, octave, pad, slice patterns" },
{ "type": "technique", "code": "$ slice 4 \"<<[0 1 2 3]...> [0 1 2 3]>\"", "description": "Alternating piano slice variations" },
{ "type": "effect", "code": "# roombus 110 (slow 16 $ range 0 0.9 saw)", "description": "Progressive reverb build" },
{ "type": "sample", "code": "\"FMRhodes1\"", "description": "FM piano pad with modIndex and arpeggio superimposition" }
]
},
{
"name": "Force Motrice",
"file": "live/midi/nova/dnb/force_motrice.tidal",
"bpm": 125,
"style": "techno",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_bass125:1\"", "description": "Jazz bass with crush and octave bus" },
{ "type": "sample", "code": "\"FMRhodes1\"", "description": "FM piano with modIndex and reverse offsets" },
{ "type": "sample", "code": "\"giorgio_syn:22\"", "description": "Giorgio synth with euclidean struct" },
{ "type": "sample", "code": "\"cbow:2\"", "description": "Cello bow with stutter superimposition at bar 32" },
{ "type": "sample", "code": "\"meth_bass:3\"", "description": "Meth bass sub-melody" }
]
},
{
"name": "Love First",
"file": "live/collab/nass/love_first.tidal",
"bpm": 120,
"style": "breaks",
"ingredients": [
{ "type": "pattern", "code": "note (\"<c <ef ...>> f@2>\" - 24)", "description": "BassWarsaw in C/Eb/F with octave doubling" },
{ "type": "sample", "code": "\"nujazz_keys120:13\"", "description": "Piano with crush and reverb processing" },
{ "type": "sample", "code": "\"nujazz_guitar120:3\"", "description": "Guitar with progressive delay build" },
{ "type": "sample", "code": "\"movie_cat\"", "description": "Cat movie samples with stutter and slice variations" },
{ "type": "technique", "code": "$ midiOn (\"^92\") (slice 8 ... . loopAt 1 . (# \"breaks165\"))", "description": "Nassim button: breaks165 sliced in real-time" }
]
},
{
"name": "Contre Visite",
"file": "live/midi/nova/ambient/contre_visite.tidal",
"bpm": 90,
"style": "ambient",
"ingredients": [
{ "type": "sample", "code": "\"90s_synatm:8/4\"", "description": "Atmospheric synth with MIDI note shift and chop" },
{ "type": "sample", "code": "\"90s_synatm:14/4\"", "description": "Electronic answer synth with octave sub and crush" },
{ "type": "sample", "code": "\"90s_synatm:18\"", "description": "High lead with jux reversal and doubt echoes" },
{ "type": "technique", "code": "$ someCyclesBy \"^36\" (loopAt 1 . mask \"[f t]*4\")", "description": "MIDI probability-driven break mask pattern" },
{ "type": "structure", "code": "setcps (90/60/4)", "description": "90 BPM contemplative ambient" }
]
},
{
"name": "Nuit Agitee",
"file": "live/midi/nova/breaks/nuit_agitee.tidal",
"bpm": 160,
"style": "breaks",
"ingredients": [
{ "type": "technique", "code": "let scale = getScale (scaleTable ++ [(\"gameboy\", [1,2,4,5,7,9,11])])", "description": "Custom gameboy scale for retro melody" },
{ "type": "sample", "code": "\"bass_commodore:7\"", "description": "Commodore bass with leslie modulation" },
{ "type": "sample", "code": "\"harpsichord2\"", "description": "Harpsichord in gameboy scale" },
{ "type": "sample", "code": "\"amencutup\"", "description": "Amen break with stereo pan" },
{ "type": "pattern", "code": "note (scale \"gameboy\" ...)", "description": "Gameboy-scale melody with euclidean timing" }
]
},
{
"name": "Invoque l'Ete",
"file": "live/midi/nova/lounge/invoque_ete.tidal",
"bpm": 115,
"style": "lounge",
"ingredients": [
{ "type": "sample", "code": "\"fbass:13\"", "description": "Funk bass with 8-slice run variations" },
{ "type": "sample", "code": "\"fguitar:12\"", "description": "Gentle guitar with chop and whenmod reversal" },
{ "type": "sample", "code": "\"fpiano:13\"", "description": "Piano with mask deploy and octave sub" },
{ "type": "pattern", "code": "note (\"<a3'maj g3'maj a3'min d3'maj>\" + \"0*<4 [4 16]>\")", "description": "Moog angel bassline in A/G/Am/D progression" },
{ "type": "technique", "code": "$ (|* gain (\"0.75 1 1 1 0.75 1 1 1\"))", "description": "Clave-like accent pattern for snare groove" }
]
},
{
"name": "Permanence",
"file": "live/collab/raph/permanence.tidal",
"bpm": 150,
"style": "punk",
"ingredients": [
{ "type": "sample", "code": "\"bass_nes:1\"", "description": "NES bass with freeze, ply, and squiz effects" },
{ "type": "sample", "code": "\"fguitar:40\"", "description": "Guitar with slice, distort, and LPF modulation" },
{ "type": "pattern", "code": "note (\"<c4 ef4 <bf3 <g3 g4>> <af3 f4 af3 af4>>\")", "description": "Moog bass in chromatic dark progression" },
{ "type": "sample", "code": "\"fsynth\"", "description": "Synth lead with crush and triple octave sub" },
{ "type": "effect", "code": "# squizbus 44 (range 0 1.5 \"^33\")", "description": "MIDI squiz on NES bass for lo-fi texture" }
]
}
]
}
--- ---
title: "Bazurto Live @ Tignes" title: "Bazurto - Live @ Tignes"
date: "2024-03-15" date: "2024-03-15"
time: "20:00" time: "20:00"
location: "Tignes, France" location: "Tignes, France"
address: "Montagnettes" address: "Montagnettes"
description: "Live set pour les Montagnettes Apéritif to Digestif." description: "Live set pour les Montagnettes - Apéritif to Digestif."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
video: "" video: ""
...@@ -13,15 +13,15 @@ archive: "" ...@@ -13,15 +13,15 @@ archive: ""
tags: ["livecoding", "montagne", "tignes"] tags: ["livecoding", "montagne", "tignes"]
--- ---
# Bazurto Live @ Tignes # Bazurto - Live @ Tignes
Pour Montagnettes <3 Pour Montagnettes <3
## Setlist ## Setlist
- Apéritif Invoque l'Été - Apéritif - Invoque l'Été
- Entrée Solar / Lunar - Entrée - Solar / Lunar
- Accompagnement Michael / Nightly Repair / Contre Visite - Accompagnement - Michael / Nightly Repair / Contre Visite
- Plat de résistance Burn this Book - Plat de résistance - Burn this Book
- Dessert Break the Loop / Atari-ght - Dessert - Break the Loop / Atari-ght
- Dernier Verre Alerte Verte - Dernier Verre - Alerte Verte
- Digestif It's About Time - Digestif - It's About Time
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
"ingredients": [ "ingredients": [
{ "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM breakbeat tempo" }, { "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM breakbeat tempo" },
{ "type": "technique", "code": "let scale = getScale (scaleTable ++ [(\"gameboy\", [1,2,4,5,7,9,11])])", "description": "Custom 'gameboy' scale definition for melodic content" }, { "type": "technique", "code": "let scale = getScale (scaleTable ++ [(\"gameboy\", [1,2,4,5,7,9,11])])", "description": "Custom 'gameboy' scale definition for melodic content" },
{ "type": "sample", "code": "$ loopAt 8 $ chop 64 $ \"bass_commodore:7\"", "description": "Commodore bass chopped into 64 slices granular bass texture" }, { "type": "sample", "code": "$ loopAt 8 $ chop 64 $ \"bass_commodore:7\"", "description": "Commodore bass chopped into 64 slices - granular bass texture" },
{ "type": "effect", "code": "# crushbus 41 # octersubbus 42 # lesliebus 43", "description": "Triple simultaneous bus effects on bass, all MIDI-controlled" }, { "type": "effect", "code": "# crushbus 41 # octersubbus 42 # lesliebus 43", "description": "Triple simultaneous bus effects on bass, all MIDI-controlled" },
{ "type": "sample", "code": "# \"harpsichord2\" # distortbus 51", "description": "Harpsichord lead using gameboy scale with MIDI distortion" } { "type": "sample", "code": "# \"harpsichord2\" # distortbus 51", "description": "Harpsichord lead using gameboy scale with MIDI distortion" }
] ]
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
{ "type": "technique", "code": "$ superimpose (|+| note \"~ 7(<3!3 5>,8)\")", "description": "Supersaw bassline with euclidean 5th-interval superimposition" }, { "type": "technique", "code": "$ superimpose (|+| note \"~ 7(<3!3 5>,8)\")", "description": "Supersaw bassline with euclidean 5th-interval superimposition" },
{ "type": "sample", "code": "$ \"forgan:24\" # crushbus 5", "description": "Massive organ sample with perlin-noise-driven bitcrush" }, { "type": "sample", "code": "$ \"forgan:24\" # crushbus 5", "description": "Massive organ sample with perlin-noise-driven bitcrush" },
{ "type": "technique", "code": "arp \"up\" \"<[c'maj'4 c'maj'3]!12 ...>\"", "description": "FM Rhodes arpeggios using chord inversions" }, { "type": "technique", "code": "arp \"up\" \"<[c'maj'4 c'maj'3]!12 ...>\"", "description": "FM Rhodes arpeggios using chord inversions" },
{ "type": "sample", "code": "$ \"movie_vitality:10\"", "description": "'I WANT TO GO TO MARS' movie sample with expanding window" } { "type": "sample", "code": "$ \"movie_vitality:10\"", "description": "'I WANT TO GO TO MARS' - movie sample with expanding window" }
] ]
}, },
{ {
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM, cooler than Cafe Tiede" }, { "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM, cooler than Cafe Tiede" },
{ "type": "sample", "code": "$ \"nujazz_bass120:4\"", "description": "Nu-jazz bass at 120 BPM with MIDI-controlled bitcrush" }, { "type": "sample", "code": "$ \"nujazz_bass120:4\"", "description": "Nu-jazz bass at 120 BPM with MIDI-controlled bitcrush" },
{ "type": "technique", "code": "$ midiOn \"^58\" ((# freeze 0.2))", "description": "Spectral freeze effect triggered by MIDI on keys" }, { "type": "technique", "code": "$ midiOn \"^58\" ((# freeze 0.2))", "description": "Spectral freeze effect triggered by MIDI on keys" },
{ "type": "sample", "code": "$ \"meth_bass\" # crush 8 # lpf (slow 32 $ range 4000 400 sine)", "description": "'UN GLITCH DANS MON CAFE!!?!' glitch bass with closing filter" }, { "type": "sample", "code": "$ \"meth_bass\" # crush 8 # lpf (slow 32 $ range 4000 400 sine)", "description": "'UN GLITCH DANS MON CAFE!!?!' - glitch bass with closing filter" },
{ "type": "technique", "code": "$ midiOn \"^55\" (loopAt 1 . (|> \"jungle_breaks:19\"))", "description": "MIDI-switchable jungle break layers with variable slice density" } { "type": "technique", "code": "$ midiOn \"^55\" (loopAt 1 . (|> \"jungle_breaks:19\"))", "description": "MIDI-switchable jungle break layers with variable slice density" }
] ]
}, },
...@@ -141,7 +141,7 @@ ...@@ -141,7 +141,7 @@
{ "type": "technique", "code": "juxBy 0.9 (mask ... . rev . (|+ note 12) . (|+ pan 0.2))", "description": "MIDI-triggered stereo mirror: reversed, octave-up, panned piano reflection" }, { "type": "technique", "code": "juxBy 0.9 (mask ... . rev . (|+ note 12) . (|+ pan 0.2))", "description": "MIDI-triggered stereo mirror: reversed, octave-up, panned piano reflection" },
{ "type": "sample", "code": "$ slice 4 ... $ \"nujazz_keys120\" # n \"<54!16 53!16>\"", "description": "Piano with 16-step slice choreography between two presets" }, { "type": "sample", "code": "$ slice 4 ... $ \"nujazz_keys120\" # n \"<54!16 53!16>\"", "description": "Piano with 16-step slice choreography between two presets" },
{ "type": "sample", "code": "note ... # \"bassWarsaw\" # octersub 0.5 # squizbus 42", "description": "Warsaw bass with sub-octave and MIDI-controlled squiz distortion" }, { "type": "sample", "code": "note ... # \"bassWarsaw\" # octersub 0.5 # squizbus 42", "description": "Warsaw bass with sub-octave and MIDI-controlled squiz distortion" },
{ "type": "technique", "code": "$ jux rev $ note ... # \"moogBass\" # chorus 0.2 # room 0.8", "description": "'La chorale du jugement' Moog bass with stereo call-and-response" } { "type": "technique", "code": "$ jux rev $ note ... # \"moogBass\" # chorus 0.2 # room 0.8", "description": "'La chorale du jugement' - Moog bass with stereo call-and-response" }
] ]
} }
] ]
......
{
"gig": "cookie-collective-compilation",
"title": "Cookie Collective Compilation Release Party",
"date": "2024-10-25",
"bpmRange": [93, 170],
"styleDistribution": { "dnb": 3, "nujazz": 2, "breaks": 1, "collab": 2, "lounge": 2 },
"samplePacks": [
{ "name": "jungle_breaks", "usage": "Breakbeats throughout the set" },
{ "name": "breaks165", "usage": "High-energy breaks in multiple tracks" },
{ "name": "bassWarsaw", "usage": "Primary bass synth" },
{ "name": "FMRhodes", "usage": "Electric piano in L'ACID d'abord, Fabuleux" },
{ "name": "vec1_acid/vec2_synth_acid", "usage": "Acid bass in L'ACID d'abord" },
{ "name": "nujazz_keys120/125", "usage": "Jazz piano in Cafe tracks" },
{ "name": "nujazz_beats120", "usage": "Jazz drum loops in Salut Nu" },
{ "name": "aoc_fr", "usage": "French vocal samples in Fabuleux" },
{ "name": "suns_keys/guitar/voice", "usage": "Leifur James samples in Blue Gold" }
],
"tracks": [
{
"name": "L'ACID d'abord",
"file": "live/collab/raph/acidule.tidal",
"bpm": 135,
"style": "acid",
"ingredients": [
{ "type": "pattern", "code": ">| note (\"[b d6 b cs6 d6 b cs6 b]*2\" - \"<0!32 12!32>\")", "description": "Acid bassline alternating between octaves every 32 cycles" },
{ "type": "sample", "code": "\"vec1_acid:40\" and \"vec2_synth_acid\"", "description": "Dual acid synth layers blended via MIDI crossfade" },
{ "type": "effect", "code": "# tremdp 4 # tremr 1.8", "description": "Tremolo on FMRhodes1 lead creating bouncy droplet texture" },
{ "type": "technique", "code": "stack [n \"<30!16 31!16>\" # \"vec2_synth_acid\", \"vec1_acid:40\", \"vec1_acid:39\"]", "description": "Triple-stacked acid bass with independent MIDI gain control per layer" },
{ "type": "structure", "code": "setcps (135/60/4)", "description": "135 BPM, rhadamanthe_vocal self-destruct sequence, moog caring bass on d7" }
]
},
{
"name": "Alerte Verte",
"file": "live/midi/nova/dnb/alerte_verte.tidal",
"bpm": 160,
"style": "dnb",
"ingredients": [
{ "type": "sample", "code": "\"fbass:25\"", "description": "Bass sample chopped into 16 with evolving slice patterns" },
{ "type": "pattern", "code": "\"~ s . ~ <~ ~ s ~ s!3 ~ s s ~ s s ~ s s ~ s s s>\"", "description": "20-cycle snare pattern with gradual acceleration" },
{ "type": "effect", "code": "# delay \"<0!12 0.3!3 0.8>\"", "description": "Dub-style delayed kick at phrase ends" },
{ "type": "technique", "code": "rhadamanthe_vocal:45 self-destruct sequence on d11", "description": "Vocal sample with timed destruction and movie samples" },
{ "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM, supersiren + moog pads, fguitar A/B, rhadamanthe angel choir" }
]
},
{
"name": "Blue Gold",
"file": "live/collab/mousquetaires/blue_gold.tidal",
"bpm": 124,
"style": "breaks",
"ingredients": [
{ "type": "sample", "code": "\"suns_keys\" # n \"<0 <1 2> 3 3>\"", "description": "Leifur James 'Suns of Gold' piano samples sliced and rearranged" },
{ "type": "pattern", "code": "fast (4/3) $ note (\"<[fs4 <a5!2 gs!4 fs5!4>@3]*4>\")", "description": "Triplet bassWarsaw line by Valentin creating polyrhythmic tension" },
{ "type": "effect", "code": "# octersubbus 71 (range 0 1.9 \"^35\")", "description": "Deep octaver burning the suns_guitar samples" },
{ "type": "technique", "code": "someCyclesBy \"<0!16 1!16>\" (slice 10 \"<5 5 <2 2 7 2> <7 4>>\")", "description": "Phase-switching vocal slice patterns on suns_voice" },
{ "type": "structure", "code": "setcps(124/60/4)", "description": "124 BPM, suns_guitar on d7+d11+d12, suns_voice on d9, Leifur James remix" }
]
},
{
"name": "Nuit Agitee",
"file": "live/midi/nova/breaks/nuit_agitee.tidal",
"bpm": 160,
"style": "breaks",
"ingredients": [
{ "type": "sample", "code": "\"bass_commodore:7\"", "description": "Commodore bass stretched with extreme granular processing" },
{ "type": "pattern", "code": "note (scale \"gameboy\" (\"<1(3,8) [1(3,8), <~ [~!7 2]>]>\"))", "description": "Custom gameboy scale on harpsichord2" },
{ "type": "effect", "code": "# lesliebus 43 (range 0 2 \"^29\")", "description": "Leslie speaker on Commodore bass" },
{ "type": "technique", "code": "loopAt 8 $ chop 64", "description": "Extreme 64-chop granular on 8-cycle bass loop" },
{ "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM, gameboy scale, jungbass arps, moogBass angels of constance" }
]
},
{
"name": "Nass Revient de Mars",
"file": "live/dnb/nass_revient.tidal",
"bpm": 140,
"style": "dnb",
"ingredients": [
{ "type": "pattern", "code": "note (\"<c c ds <c g>>\" + (arp \"up\" \"<[c'maj'4 c'maj'3]!12>\") - 24)", "description": "Rhodes arpeggios following minor progression with octave alternation" },
{ "type": "sample", "code": "\"supersaw\" # voice 0.1", "description": "Supersaw bass with voice detuning for massive sound" },
{ "type": "effect", "code": "# crushbus 6 (slow 16 $ range 16 4 saw)", "description": "Slow-ramping bitcrush on FMRhodes over 16 cycles" },
{ "type": "technique", "code": "midiOn \"^36\" ((loopAt 1) . (# hpf 1500) . (# \"jungle_breaks:45\"))", "description": "MIDI-triggered jungle break with high-pass creating bell-like texture" },
{ "type": "structure", "code": "setcps (140/60/4)", "description": "140 BPM, giorgio_syn bass friend, cosmicg glitch noise, forgan:24 organ, movie_vitality Mars vocals" }
]
},
{
"name": "Force Motrice",
"file": "live/midi/nova/dnb/force_motrice.tidal",
"bpm": 125,
"style": "dnb",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_bass125:1\"", "description": "Nu-jazz bass sample chopped and sliced" },
{ "type": "pattern", "code": "note (\"[g@2 ~!4 <f ~ as5 c6>]\" - 12)", "description": "Sparse FMRhodes1 lead" },
{ "type": "effect", "code": "# crushbus 71 (range 12 3.4 \"^55\")", "description": "Bitcrush on giorgio_syn" },
{ "type": "technique", "code": "midiOn \"^58\" (off 0.125 id . rev)", "description": "Reversed Rhodes with micro-offset" },
{ "type": "structure", "code": "setcps (125/60/4)", "description": "125 BPM, cbow cello, risers, jungle_vocals" }
]
},
{
"name": "Cafe Tiede",
"file": "live/midi/nova/nujazz/cafe_tiede.tidal",
"bpm": 125,
"style": "nujazz",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_keys125\" # n \"<56 56 57 56 58!4 59 59 56 59>\"", "description": "Sampled jazz piano keys" },
{ "type": "pattern", "code": "midiOn \"^42\" (<| \"k k k <k <k*2 [k <k ~> k ~]>>\")", "description": "Evolving kick pattern" },
{ "type": "effect", "code": "# crushbus 41 (range 12 4.5 \"^53\")", "description": "Gentle bitcrush on bass" },
{ "type": "technique", "code": "chop 8 $ loopAt 2 $ \"nujazz_keys125\"", "description": "Jazz keys chopped for slicing" },
{ "type": "structure", "code": "setcps(125/60/4)", "description": "125 BPM, FMRhodes1 arpeggiated chords" }
]
},
{
"name": "Cafe Glace",
"file": "live/midi/nova/nujazz/cafe_glace.tidal",
"bpm": 120,
"style": "nujazz",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_keys120\" # n (slow 4 \"<5 6 7 8>\")", "description": "Rotating piano voicings" },
{ "type": "pattern", "code": "midiOn \"^42\" (<| \"k k k <k!3 <[~ k*<1!3 2>]!3 k*2>>\")", "description": "Kick with occasional rolls" },
{ "type": "effect", "code": "# crushbus 51 (range 16 6.4 \"^54\")", "description": "Wide-range bitcrush on keys" },
{ "type": "technique", "code": "\"meth_bass\" $ loopAt 0.25", "description": "Glitchy meth_bass at 4x speed" },
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM, double jungle_breaks" }
]
},
{
"name": "Salut Nu",
"file": "live/midi/nova/nujazz/salut_nu.tidal",
"bpm": 120,
"style": "nujazz",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_beats120\"", "description": "Live jazz drum loops" },
{ "type": "pattern", "code": "note (\"<[a4@3 <c5 f5>] e5 [<d5!3 f5>] <a5!3 c6>>\")", "description": "moogBass melody with jux rev" },
{ "type": "effect", "code": "# freezebus 51 (range 0 0.7 \"^34\")", "description": "Freeze on piano" },
{ "type": "technique", "code": "juxBy 0.9 (mask . rev . (|+ note 12))", "description": "Complex jux reflection on piano" },
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM, wahwah guitar, bassWarsaw with octer" }
]
},
{
"name": "Fabuleux",
"file": "live/midi/nova/lounge/fabuleux.tidal",
"bpm": 93,
"style": "lounge",
"ingredients": [
{ "type": "sample", "code": "\"aoc_fr\"", "description": "French vocal samples (Alexandria Ocasio-Cortez speeches in French) with octer modulation" },
{ "type": "pattern", "code": "note (\"[0,7(<3 5 [5 3] <3 [3 5]>>,8,1)]\" + \"<d b4 g4 fs4>\" - 24)", "description": "bassWarsaw with 5th-interval euclidean triggers (Bm-A-G-D progression)" },
{ "type": "effect", "code": "# modIndex (range 0 16 \"^54\")", "description": "FM modulation on FMRhodes2 creating evolving timbres" },
{ "type": "technique", "code": "someCyclesBy \"<0!8 1!8 0!16>\" (>| n \"<0 1 0 <4 6>>\")", "description": "Phase-cycling vocal sample selection creating narrative arc" },
{ "type": "structure", "code": "setcps (93/60/4)", "description": "93 BPM, feelfx submarine pad, moogBass choir, warm closer vibe" }
]
}
]
}
...@@ -4,7 +4,7 @@ date: "2024-06-09" ...@@ -4,7 +4,7 @@ date: "2024-06-09"
time: "20:00" time: "20:00"
location: "Paris, France" location: "Paris, France"
address: "Divin" address: "Divin"
description: "Livecoding rituel du Paradis perdu au Rite Final." description: "Livecoding rituel - du Paradis perdu au Rite Final."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
video: "" video: ""
...@@ -24,4 +24,4 @@ tags: ["livecoding", "rituel", "paris"] ...@@ -24,4 +24,4 @@ tags: ["livecoding", "rituel", "paris"]
- Nuit : Atari-ght - Nuit : Atari-ght
- Bouquet : It's About Time - Bouquet : It's About Time
- Rite Final : Été à MauerPark - Rite Final : Été à MauerPark
- Bonus : Quart d'heure de politesse Invoque l'Été / Alerte Verte - Bonus : Quart d'heure de politesse - Invoque l'Été / Alerte Verte
{
"gig": "toi-toi-mon-toit",
"title": "Live @ Toi Toi Mon Toit",
"date": "2024-05-10",
"bpmRange": [80, 165],
"styleDistribution": {
"lofi": 1,
"dnb": 2,
"hip-hop": 1,
"breakbeat": 1
},
"samplePacks": [
{ "name": "FMRhodes2", "usage": "FM piano in Premiere Grillade with lo-fi chord progression" },
{ "name": "bassWarsaw", "usage": "primary bass synth in Premiere Grillade, Break Dynasty, Nouveau Soleil" },
{ "name": "jungle_breaks", "usage": "jungle breakbeats in Break Dynasty, Nouveau Soleil, It's About Time" },
{ "name": "shiloh", "usage": "lo-fi vocal samples in Premiere Grillade and Break Dynasty" },
{ "name": "90s_matrix/bass1", "usage": "sub bass layers in Clameur" },
{ "name": "voices_celtic/voices_persian", "usage": "vocal textures in Clameur (Morohai/Wooh)" },
{ "name": "moogBass/superpiano", "usage": "pad and piano in Clameur lead section" },
{ "name": "bass_gameboy/synth_gameboy/synth_atari", "usage": "retro console sounds in Nouveau Soleil" },
{ "name": "808bd/808hc", "usage": "808 kick and hi-hat in It's About Time" },
{ "name": "FMRhodes1", "usage": "bird-call melody in It's About Time" }
],
"tracks": [
{
"name": "Premiere Grillade",
"file": "live/midi/nova/lofi/premiere_grillade.tidal",
"bpm": 80,
"style": "lofi",
"ingredients": [
{ "type": "structure", "code": "setcps (80/60/4)", "description": "80 BPM lo-fi opener with Yamaha RM50 drum machine and jazz harmony" },
{ "type": "technique", "code": "let prog = \"<[c,e,g,b] [c,e,g,bf] [c,ef,g,bf] [c,e,g,b]>\"", "description": "CMaj7-C7-CMin7-CMaj7 cycle on FMRhodes2 - classic jazz voicing" },
{ "type": "sample", "code": "$ \"shiloh:1\" # lpf 5000 # room 0.4 # dry 2", "description": "Shiloh vocal chop with lo-fi filter and saturated dry mix" },
{ "type": "technique", "code": "note (\"<[c,c(3,8)] [g,[~ f6],g*4] [bf,bf(3,8)] c4>\" - 24) # \"bassWarsaw\"", "description": "Euclidean-patterned bass with chord-tone rhythm" },
{ "type": "effect", "code": "# crushbus 51 (range 16 2 \"^53\")", "description": "Subtle bitcrush for lo-fi warmth" }
]
},
{
"name": "Break Dynasty",
"file": "live/midi/nova/breaks/break_dynasty.tidal",
"bpm": 165,
"style": "dnb",
"ingredients": [
{ "type": "structure", "code": "setcps (165/60/4)", "description": "165 BPM DnB with jungle breaks and lo-fi vocal chops" },
{ "type": "sample", "code": "$ loopAt 2 $ chop 16 $ \"jungle_breaks:6\"", "description": "Chopped jungle break loop as the core high-energy drum pattern" },
{ "type": "technique", "code": "note (\"<<b4 [b4@3 cs5]> gs4@2 ~ gs4>\" - 24) # \"bassWarsaw\"", "description": "Warsaw bass with chromatic tension and dramatic rests" },
{ "type": "sample", "code": "$ slow 2 $ slice 16 \"~ <0 1 1 0 0 2 0 2 ...>\" $ \"shiloh:2\"", "description": "Half-time Shiloh vocal chops with evolving slice selection" },
{ "type": "effect", "code": "# delaybus 61 (range 0 1 \"^55\") # delayfb 0.5 # delaytime 0.375", "description": "MIDI-controlled delay on vocal for dub echo trails" }
]
},
{
"name": "Clameur",
"file": "live/hip/darkside/clameur.tidal",
"bpm": 93,
"style": "hip-hop",
"ingredients": [
{ "type": "structure", "code": "setcps (93/60/4)", "description": "93 BPM dark hip-hop - 'Clameur pour Clement' - dedicated piece" },
{ "type": "technique", "code": "fix (...(# \"90s_matrix:0\") . (# note (scale \"aeolian\" (slow 2 \"<0 0 2 3>\")))) \"matrix\"", "description": "Fix-based dual bass: matrix synth + bass1 infra sub in parallel via fix routing" },
{ "type": "sample", "code": "$ stack [\"~ <~!3 wooh>\", \"<morohai ~>\"] with voices_celtic:32 and voices_persian:10", "description": "Celtic and Persian vocal layers stacked: Morohai chant + Wooh exclamation" },
{ "type": "technique", "code": "(# \"superpiano\") . whenmod 64 16 (whenmod 4 3 (arp \"up\" . ply \"1!3 2\"))", "description": "Piano with conditional arp: only in the last quarter of 64-cycle phrases" },
{ "type": "effect", "code": "# squizbus 61 (range 0 4 \"^55\")", "description": "MIDI squiz on celtic voices for controlled vocal degradation" }
]
},
{
"name": "Nouveau Soleil",
"file": "live/midi/nova/dnb/nouveau_soleil.tidal",
"bpm": 110,
"style": "dnb",
"ingredients": [
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM mid-tempo DnB with retro console sounds" },
{ "type": "sample", "code": "$ \"bass_gameboy\" with midiOn \"^57\" (# \"bass_gameboy:5\")", "description": "Game Boy bass with MIDI-triggered preset switching" },
{ "type": "technique", "code": "$ whenmod 64 32 (off \"q\" ((|+ note 12) . (# pan 0.8)))", "description": "Progressive octave offsets at nested cycle depths for gradual buildup" },
{ "type": "sample", "code": "$ slice 8 \"<0 0 1 <[1 1] [2 <~ 2> 3 <~ 3>]>>\" $ \"synth_atari:5\"", "description": "Atari synth lead with expanding slice exploration" },
{ "type": "effect", "code": "# roombus 71 (range 0.3 1.2 \"^55\") # dry 1.8 # sz 0.7", "description": "MIDI reverb on moog melody with dry emphasis for presence" }
]
},
{
"name": "It's About Time",
"file": "live/midi/nova/breaks/its_about_time.tidal",
"bpm": 110,
"style": "breakbeat",
"ingredients": [
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM breakbeat closer with long-form masks for gradual layer revelation" },
{ "type": "technique", "code": "$ mask \"<[[t <f!4 t!4>] <f!8 t!8>]!8 t!24 t!96>\"", "description": "Multi-level mask: FMRhodes bird-call emerges after 8 cycles of silence" },
{ "type": "sample", "code": "$ \"[808bd:4,kick:4]\"", "description": "Dual-layer kick combining 808 sub with acoustic punch" },
{ "type": "sample", "code": "note (\"<c!4 ef!2 f g>\") # \"808hc:2\" # octersubbus 72 (range 0 1.4 \"^55\")", "description": "808 hi-hat carillon with chromatic melody and MIDI sub-octave" },
{ "type": "effect", "code": "# delaybus 51 (range 0 0.8 \"^34\") # delayt \"<h>\" # delayfb 0.25", "description": "MIDI-controlled delay on Rhodes for growing spatial depth over time" }
]
}
]
}
\ No newline at end of file
...@@ -4,7 +4,7 @@ date: "2024-02-24" ...@@ -4,7 +4,7 @@ date: "2024-02-24"
time: "09:45" time: "09:45"
location: "Grand Paris, France" location: "Grand Paris, France"
address: "TOPLAP Stream" address: "TOPLAP Stream"
description: "20 years of TOPLAP 20 breaks, 4 beats. Cookie Collective celebration." description: "20 years of TOPLAP - 20 breaks, 4 beats. Cookie Collective celebration."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
video: "https://archive.org/details/toplap20-parvagues---z0rg" video: "https://archive.org/details/toplap20-parvagues---z0rg"
...@@ -15,7 +15,7 @@ tags: ["livecoding", "toplap", "cookie-collective", "collab"] ...@@ -15,7 +15,7 @@ tags: ["livecoding", "toplap", "cookie-collective", "collab"]
# TOPLAP 20 Years # TOPLAP 20 Years
20 breaks, 4 beats celebrating 20 years of creativity with z0rg. 20 breaks, 4 beats - celebrating 20 years of creativity with z0rg.
Cookie Collective performance. Cookie Collective performance.
......
{
"gig": "toplap-20-years",
"title": "TOPLAP 20 Years (w/ z0rg)",
"date": "2024-02-24",
"bpmRange": [120, 160],
"styleDistribution": { "nujazz": 2, "dnb": 1, "breaks": 1, "techno": 1 },
"samplePacks": [
{ "name": "nujazz_keys125", "usage": "Sampled jazz piano in Cafe Tiede" },
{ "name": "nujazz_bass125", "usage": "Jazz bass sample in Cafe Tiede and Force Motrice" },
{ "name": "jungle_breaks", "usage": "Breakbeats in most tracks" },
{ "name": "bass_commodore", "usage": "Commodore bass in Nuit Agitee" },
{ "name": "bass_nes", "usage": "NES bass in Permanence" },
{ "name": "FMRhodes", "usage": "Electric piano in Force Motrice and Cafe Tiede" }
],
"tracks": [
{
"name": "Cafe Tiede",
"file": "live/midi/nova/nujazz/cafe_tiede.tidal",
"bpm": 125,
"style": "nujazz",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_keys125\" # n \"<56 56 57 56 58!4 59 59 56 59>\"", "description": "Sampled nu-jazz piano keys driving the harmony" },
{ "type": "pattern", "code": "midiOn \"^42\" (<| \"k k k <k <k*2 [k <k ~> k ~]>>\")", "description": "Kick with evolving 4th-beat variation" },
{ "type": "effect", "code": "# crushbus 41 (range 12 4.5 \"^53\")", "description": "Gentle bitcrush on nujazz bass sample" },
{ "type": "technique", "code": "chop 8 $ loopAt 2 $ \"nujazz_keys125\"", "description": "Live-recorded jazz keys chopped for real-time slicing" },
{ "type": "structure", "code": "setcps(125/60/4)", "description": "125 BPM, FMRhodes1 arpeggiated chords, h2ogmcp clap" }
]
},
{
"name": "Force Motrice",
"file": "live/midi/nova/dnb/force_motrice.tidal",
"bpm": 125,
"style": "dnb",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_bass125:1\"", "description": "Nu-jazz bass sample chopped and sliced" },
{ "type": "pattern", "code": "note (\"[g@2 ~!4 <f ~ as5 c6>]\" - 12)", "description": "FMRhodes1 lead with sparse intervals" },
{ "type": "effect", "code": "# crushbus 71 (range 12 3.4 \"^55\")", "description": "Bitcrush on giorgio_syn synth" },
{ "type": "technique", "code": "midiOn \"^58\" (off 0.125 id . rev)", "description": "Reversed Rhodes with micro-offset echo-before-attack" },
{ "type": "structure", "code": "setcps (125/60/4)", "description": "125 BPM, cbow cello on d11, risers on d10, jungle_vocals on d9" }
]
},
{
"name": "Cafe Glace",
"file": "live/midi/nova/nujazz/cafe_glace.tidal",
"bpm": 120,
"style": "nujazz",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_keys120\" # n (slow 4 \"<5 6 7 8>\")", "description": "Piano samples rotating through 4 voicings" },
{ "type": "pattern", "code": "midiOn \"^57\" (mask \"t(4,8)\")", "description": "Euclidean bass mask on nujazz_bass120:4" },
{ "type": "effect", "code": "# crushbus 51 (range 16 6.4 \"^54\")", "description": "Wide-range bitcrush on keys" },
{ "type": "technique", "code": "\"meth_bass\" # n \"<10!3 [<10 11> 11] 9!24>\" $ loopAt 0.25", "description": "Glitchy meth_bass at 4x speed for rhythmic noise" },
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM, double jungle_breaks on d7+d8" }
]
},
{
"name": "Nuit Agitee",
"file": "live/midi/nova/breaks/nuit_agitee.tidal",
"bpm": 160,
"style": "breaks",
"ingredients": [
{ "type": "sample", "code": "\"bass_commodore:7\"", "description": "Commodore bass stretched over 8 cycles with granular processing" },
{ "type": "pattern", "code": "note (scale \"gameboy\" (\"<1(3,8) [1(3,8), <~ [~!7 2]>] 0(3,8) <0!3 -2>(3,8)>\"))", "description": "Custom gameboy scale on harpsichord2" },
{ "type": "effect", "code": "# lesliebus 43 (range 0 2 \"^29\")", "description": "Leslie speaker on Commodore bass" },
{ "type": "technique", "code": "loopAt 8 $ chop 64 $ \"bass_commodore:7\"", "description": "Extreme granular: 64 chops over 8-cycle loop" },
{ "type": "structure", "code": "setcps (160/60/4)", "description": "160 BPM, gameboy scale, amencutup hats, moogBass angels" }
]
},
{
"name": "Permanence",
"file": "live/collab/raph/permanence.tidal",
"bpm": 150,
"style": "techno",
"ingredients": [
{ "type": "pattern", "code": "chop 4 $ loopAt 4 $ \"bass_nes:1\"", "description": "NES bass sample chopped with freeze and squiz effects" },
{ "type": "sample", "code": "\"fguitar:40\"", "description": "Guitar with distort and crush for industrial texture" },
{ "type": "effect", "code": "# distortbus 52 (range 0 1.5 \"^34\")", "description": "MIDI-controlled distortion on guitar" },
{ "type": "technique", "code": "note (\"<c4 ef4 <bf3 <g3 g4>> <af3 f4 af3 af4>>\") # \"moogBass\"", "description": "Chromatic minor progression on moogBass pad" },
{ "type": "structure", "code": "setcps (150/60/4)", "description": "150 BPM, superfork lead with delay, fsynth with octer/crush" }
]
}
]
}
...@@ -4,7 +4,7 @@ date: "2024-12-21" ...@@ -4,7 +4,7 @@ date: "2024-12-21"
time: "20:30" time: "20:30"
location: "Les Carroz d'Arâches, France" location: "Les Carroz d'Arâches, France"
address: "TOPLAP Stream (from the Alps)" address: "TOPLAP Stream (from the Alps)"
description: "Breakbeat to techno and more ALL I WANT FOR CHRISTMAS IS LIVECODE. Cookie Collective." description: "Breakbeat to techno and more - ALL I WANT FOR CHRISTMAS IS LIVECODE. Cookie Collective."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
video: "https://archive.org/details/toplap-solstice-dec2024-parvagues-" video: "https://archive.org/details/toplap-solstice-dec2024-parvagues-"
...@@ -17,6 +17,6 @@ tags: ["livecoding", "toplap", "solstice", "cookie-collective", "alps"] ...@@ -17,6 +17,6 @@ tags: ["livecoding", "toplap", "solstice", "cookie-collective", "alps"]
ALL I WANT FOR CHRISTMAS IS LIVECODE ALL I WANT FOR CHRISTMAS IS LIVECODE
Breakbeat to techno and more performed live from the Alps, Les Carroz d'Arâches. Breakbeat to techno and more - performed live from the Alps, Les Carroz d'Arâches.
A Cookie Collective performance. A Cookie Collective performance.
{
"gig": "velociteuf",
"title": "VelociTeuf",
"date": "2024-07-05",
"bpmRange": [80, 134],
"styleDistribution": { "ambient": 2, "breaks": 2, "lofi": 2, "techno": 1, "dnb": 1, "collab": 1 },
"samplePacks": [
{ "name": "jungle_breaks", "usage": "Chopped breakbeats across multiple tracks" },
{ "name": "FMRhodes", "usage": "Electric piano leads and pads" },
{ "name": "bassWarsaw", "usage": "Signature bass synth" },
{ "name": "90s_matrix", "usage": "Bass and atmosphere in Oct4 Glitch Sauvages" },
{ "name": "drums_atari", "usage": "Retro drum machine in It's About Time" },
{ "name": "celtic_guitar80", "usage": "Sampled guitar turned bassline in Contre Visite" },
{ "name": "shiloh", "usage": "Lofi vocal chops in Premiere Grillade" }
],
"tracks": [
{
"name": "Prestance",
"file": "live/midi/nova/ambient/prestance.tidal",
"bpm": 134,
"style": "ambient",
"ingredients": [
{ "type": "pattern", "code": "\"<[~ d5 d4 e4 g4 a4 b4 d4] [e4 g4 a4 b4 <e4 g4>@4]>\"", "description": "Melodic sequence ('praxis') reused across multiple synth voices with transposition and reversal" },
{ "type": "sample", "code": "\"[jazz,808bd:3]\"", "description": "Layered kick combining jazz kit with 808 sub" },
{ "type": "effect", "code": "# crushbus 41 (range 16 2.5 \"^53\")", "description": "MIDI-controlled bitcrush on FMRhodes chord pad" },
{ "type": "technique", "code": "juxBy 0.3 (mask \"t(3,8) . t(12,16)\" . (|+ note 12))", "description": "Stereo jux with euclidean masking and octave shift on moogBass" },
{ "type": "structure", "code": "setcps (134/60/4)", "description": "134 BPM, 10 orbits: drums/bass/synths layered via MIDI mute groups" }
]
},
{
"name": "Oct4 Glitch Sauvages",
"file": "live/midi/nova/beatober/oct_glitchs_sauvages.tidal",
"bpm": 117,
"style": "techno",
"ingredients": [
{ "type": "sample", "code": "\"90s_matrix:0\"", "description": "90s matrix bass with tremolo and comb filter modulation" },
{ "type": "pattern", "code": "note \"f@2 f <gs!2 gf!2>@2 <gs!2 g!2> <g!2 gs <gs gs5>>@2\" - 12", "description": "Acid-style chromatic bassline on 90s_matrix:4" },
{ "type": "effect", "code": "# tremoloratebus 41 (range 0 (slow 4 \"<2 4 8 16>\") \"^53\")", "description": "Escalating tremolo rate controlled by MIDI fader" },
{ "type": "technique", "code": "superimpose ((# cut 51) . superimpose ((# cut 52) . (|+ note 12)))", "description": "Triple-stacked superimpose creating layered octave echoes" },
{ "type": "structure", "code": "setcps (117/60/4)", "description": "117 BPM with risers on d10 for buildups, superfork synth pads" }
]
},
{
"name": "About Time",
"file": "live/midi/nova/breaks/its_about_time.tidal",
"bpm": 110,
"style": "breaks",
"ingredients": [
{ "type": "sample", "code": "\"drums_atari\" # n \"[29 29 <29 [29 28 29]> 28]\"", "description": "Atari-era drum machine samples chopped into main rhythm" },
{ "type": "pattern", "code": "slice 8 (\"0 1 2 3 4 5 <6!3 4> <7!3 [5 4]>\") . (loopAt \"q\") . (# \"breaks165\")", "description": "Nassim-triggered break slicer with variable speed" },
{ "type": "effect", "code": "# crushbus 41 (range 10 2.5 \"^53\")", "description": "MIDI-controlled bitcrush on the 90s_synatm bass" },
{ "type": "technique", "code": "midiOn \"^89\" ((0.125 ~>) . chop (slow 4 $ \"[16 32 64 128]\"))", "description": "Accelerating chop granularity for build-up tension" },
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM, Commodore synth bus on d7 with squiz/crush, ASCII art intro" }
]
},
{
"name": "Toxic",
"file": "live/boeuf/algorythm/fdlm2022/toxic.tidal",
"bpm": 140,
"style": "techno",
"ingredients": [
{ "type": "pattern", "code": "note (\"0*8\" + \"<b3 b3 d3 [cs3 bs2]>\")", "description": "Rapid 8-note bassWarsaw riff with chromatic movement" },
{ "type": "sample", "code": "\"[ifdrums,kick]\"", "description": "Layered industrial kick with interface drums" },
{ "type": "effect", "code": "# crushbus 71 (range 16 1.5 \"^53\")", "description": "Heavy bitcrush on the Warsaw bass synth" },
{ "type": "technique", "code": "note (\"fs7@4 cs7@4 d7@4 b7@4\" + \"[0,12]\" - 24)", "description": "High-register FMRhodes theme with octave doubling (Toxic melody cue)" },
{ "type": "structure", "code": "setcps (140/60/4)", "description": "140 BPM, tight 5-orbit arrangement: kick/snare/hats/bass/rhodes" }
]
},
{
"name": "Venons Ensemble",
"file": "live/midi/nova/dnb/venons_ensemble.tidal",
"bpm": 170,
"style": "dnb",
"ingredients": [
{ "type": "sample", "code": "\"come_bass\"", "description": "Custom multi-sample bass with crush and octer modulation" },
{ "type": "pattern", "code": "\"~ cp ~ cp*<1!3 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2>\"", "description": "Extended snare pattern with accelerating fills across 20 cycles" },
{ "type": "effect", "code": "# crushbus 71 (range 16 \"<5 10>\" \"^55\")", "description": "Variable bitcrush on come_voice vocal samples" },
{ "type": "technique", "code": "someCyclesBy (\"^35\" - \"^91\") (>| n \"<0 1 2 3 4 5 6 7>/2\")", "description": "MIDI-conditional voice sample buildup using probability" },
{ "type": "structure", "code": "setcps (85/60/4)", "description": "170 BPM (85 cps in half-time), electric guitar + voice samples, call-and-response structure" }
]
},
{
"name": "Reboot",
"file": "live/midi/nova/lofi/reboot.tidal",
"bpm": 80,
"style": "lofi",
"ingredients": [
{ "type": "pattern", "code": "slice 4 \"<0 0 [0 1] 3 0*2 [0 1] [3 2] [3*2 3*<2 4>]>\"", "description": "Evolving bass slice pattern on fbass:8 with gradual complexity increase" },
{ "type": "sample", "code": "\"[reverbkick,jazz]\"", "description": "Reverb kick layered with jazz kit for warm low end" },
{ "type": "effect", "code": "# crushbus 51 (range 8 1.9 \"^54\")", "description": "Aggressive bitcrush on climbing guitar sample" },
{ "type": "technique", "code": "whenmod 64 32 (superimpose (slice 4 \"0*<1 2 1 <2 4>>\" . (# cut 51) . (|+ note 12)))", "description": "Long-form superimpose on guitar: octave-shifted slice after 32 cycles" },
{ "type": "structure", "code": "setcps (80/60/4)", "description": "80 BPM, supersiren synth with crushbus, break-based structure with whenBrk bridges" }
]
},
{
"name": "Premiere Grillade",
"file": "live/midi/nova/lofi/premiere_grillade.tidal",
"bpm": 80,
"style": "lofi",
"ingredients": [
{ "type": "pattern", "code": "note (\"<[c,e,g,b] [c,e,g,bf] [c,ef,g,bf] [c,e,g,b]>\" - 12)", "description": "Jazz chord progression (Cmaj7-C7-Cm7-Cmaj7) on FMRhodes2" },
{ "type": "sample", "code": "\"shiloh:1\"", "description": "Shiloh vocal sample sliced and delayed for lofi atmosphere" },
{ "type": "effect", "code": "# modIndex (range 0 16 \"^54\")", "description": "MIDI-controlled FM modulation index on Rhodes piano" },
{ "type": "technique", "code": "drumFrom \"yamaharm50\" \"hh*<8!3 [8 . 16 <8 16 [24 8] 32>]>\"", "description": "Yamaha RM50 hi-hat pattern with accelerating fills" },
{ "type": "structure", "code": "setcps (80/60/4)", "description": "80 BPM, 808 kick + jungle breaks, bassWarsaw with crush, lofi Rhodes chords" }
]
},
{
"name": "Rainy Day",
"file": "live/collab/josh/oct_18_rainy_day.tidal",
"bpm": 114,
"style": "breaks",
"ingredients": [
{ "type": "pattern", "code": "note (\"<[c@2 e@2 d@1 b4@3]!2 [c@2 a4@2 d@1 b4@3]!2>\" - 3)", "description": "Melodic superfork lead with sustained notes and chromatic descents" },
{ "type": "sample", "code": "\"trance_pads:7\"", "description": "Trance pad with stereo offset for atmospheric depth" },
{ "type": "effect", "code": "# crushbus 51 (range 16 4.5 \"^54\")", "description": "Gentle bitcrush on superfork lead" },
{ "type": "technique", "code": "off 0.25 ((# pan 0.8) . (# cut 91))", "description": "Stereo offset on pad creates wide spatial field" },
{ "type": "structure", "code": "setcps (114/60/4)", "description": "114 BPM, collab with Josh, bass on bassWarsaw with euclidean rhythms" }
]
},
{
"name": "Contre Visite",
"file": "live/midi/nova/ambient/contre_visite.tidal",
"bpm": 80,
"style": "ambient",
"ingredients": [
{ "type": "sample", "code": "\"celtic_guitar80\" # n \"4\"", "description": "Celtic guitar sample repurposed as bass with chop and slice" },
{ "type": "pattern", "code": "note \"<ef ef {b, [~!7 fs]} fs>\"", "description": "Moog bass with sparse set-theoretic note pattern" },
{ "type": "effect", "code": "# octerbus 52 (range 0 0.63 \"^36\")", "description": "MIDI-controlled octaver on moog bass for sub-bass depth" },
{ "type": "technique", "code": "chop 4 $ \"voices_celtic\" # n \"4 <4 4 5 <4 3>> 5 <6 5 5 4>\"", "description": "Celtic vocal sample chopped and sequenced as melodic element" },
{ "type": "structure", "code": "setcps (80/60/4)", "description": "80 BPM, LPF automation over 64 cycles, celtic guitar + voices + moog layering" }
]
}
]
}
{
"gig": "air-elementeuf",
"title": "Air 2025 ELEMENTEUF",
"date": "2025-06-15",
"bpmRange": [120, 125],
"styleDistribution": {
"nujazz": 4,
"lounge": 1,
"collab": 1
},
"samplePacks": [
{ "name": "bassWarsaw", "usage": "primary bass in Salut Nu, Café Bouillant" },
{ "name": "nujazz_keys120 / nujazz_bass120", "usage": "nu-jazz samples in Café Bouillant, Café Glacé" },
{ "name": "nujazz_keys125 / nujazz_bass125", "usage": "nu-jazz 125BPM samples in Café Tiède" },
{ "name": "sunny_bass / sunny_brass / acidOto3092", "usage": "sunny pack + acid in Sunny Side Up" },
{ "name": "FMRhodes1", "usage": "FM piano in Café Tiède" },
{ "name": "jungle_breaks / breaks165", "usage": "breakbeat rhythms across tracks" },
{ "name": "rhadamanthe_melo / cpluck", "usage": "piano and cello pluck in Septembre 1er" },
{ "name": "nujazz_wahwah125", "usage": "wah-wah guitar in Salut Nu" }
],
"tracks": [
{
"name": "Salut Nu",
"file": "live/midi/nova/nujazz/salut_nu.tidal",
"bpm": 120,
"style": "nujazz",
"ingredients": [
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM nu-jazz opener" },
{ "type": "pattern", "code": "note (\"<[a4@4 c5 <c5 d5 c5 fs4>] a4>\" + \"[0,12]\" - 36) # \"bassWarsaw\"", "description": "Warsaw bass with Am melody and chromatic F#4 surprise" },
{ "type": "sample", "code": "\"nujazz_keys120\" / \"nujazz_wahwah125\" / \"nujazz_beats120\"", "description": "Jazz keys, wah guitar, and live beats" },
{ "type": "technique", "code": "midiOn \"^58\" (juxBy 0.9 (mask ... . rev . (|+ note 12)))", "description": "Piano mirrored: reversed copy at 90% stereo, octave up" },
{ "type": "effect", "code": "# freezebus 51 (range 0 0.7 \"^34\")", "description": "Spectral freeze on piano samples via MIDI" }
]
},
{
"name": "Sunny Side Up",
"file": "live/midi/nova/lounge/sunny_side_up.tidal",
"bpm": 120,
"style": "lounge",
"ingredients": [
{ "type": "structure", "code": "setcps (120/60/4)", "description": "120 BPM upbeat sunny lounge" },
{ "type": "sample", "code": "\"sunny_bass\" / \"sunny_brass\"", "description": "Custom sunny pack with deployable brass" },
{ "type": "technique", "code": "arp \"up\" $ note (\"0(3,8) 0(<3!3 5>,8)\" + \"f gs c g\" + 12) # \"acidOto3092\"", "description": "Acid arp on F-Ab-C-G with Euclidean rhythm" },
{ "type": "pattern", "code": "n \"<0 0 0 0 1 1 1 <0 1 2 ...>>\" # \"sunny_bass\"", "description": "Patient bass: root for 4 bars then slow evolution" },
{ "type": "effect", "code": "# octersubbus 42 (range 0 2.5 \"^33\")", "description": "Sub-octave doubling for massive low end" }
]
},
{
"name": "Café Bouillant",
"file": "live/midi/nova/nujazz/cafe_bouillant.tidal",
"bpm": 120,
"style": "nujazz",
"ingredients": [
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM hot café nu-jazz" },
{ "type": "pattern", "code": "note (\"e3 <b2!3 <ef3 g3>>\" |+| \"[0 ~ ~ 0 ~ ~ 0 ~] ...\") # \"bassWarsaw\"", "description": "E-B bass with syncopated note triggers and Eb/G alternation" },
{ "type": "sample", "code": "\"nujazz_keys120\" # n \"<61!24 60!8>\"", "description": "Two piano presets cycling over 32 bars" },
{ "type": "technique", "code": "$ \"d([16 <16 [8 <8 32 16 32>]>],32,0)\" # \"[rampleS57:2]\"", "description": "Complex Euclidean hi-hat with density evolution" },
{ "type": "effect", "code": "# crushbus 41 (range 16 3.4 \"^53\")", "description": "MIDI-controlled bitcrush on bass" }
]
},
{
"name": "Café Tiède",
"file": "live/midi/nova/nujazz/cafe_tiede.tidal",
"bpm": 125,
"style": "nujazz",
"ingredients": [
{ "type": "structure", "code": "setcps(125/60/4)", "description": "125 BPM lukewarm café" },
{ "type": "pattern", "code": "$ \"nujazz_bass125:1\" # crushbus 41 (range 12 4.5 \"^53\")", "description": "Jazz upright bass with bitcrush warmth" },
{ "type": "sample", "code": "\"nujazz_keys125\" / \"jungle_breaks:20\"", "description": "125BPM jazz piano + jungle breaks" },
{ "type": "technique", "code": "note (\"<c5 g4 <ef4!2 bf4!2> <c4 f4>>\") # \"FMRhodes1\"", "description": "FM Rhodes Cm-G-Eb-Bb-C-F progression" },
{ "type": "effect", "code": "# octerbus 71 (range 0 0.5 \"^55\")", "description": "Subtle octave on secondary piano" }
]
},
{
"name": "Café Glacé",
"file": "live/midi/nova/nujazz/cafe_glace.tidal",
"bpm": 120,
"style": "nujazz",
"ingredients": [
{ "type": "structure", "code": "setcps(120/60/4)", "description": "120 BPM iced café nu-jazz - the cool sibling" },
{ "type": "pattern", "code": "$ \"nujazz_bass120:4\" # crushbus 41 (range 16 4 \"^53\")", "description": "Sliced 120BPM jazz bass with variable crush and slice speed" },
{ "type": "sample", "code": "\"nujazz_keys120\" / \"meth_bass\" / \"jungle_breaks:53\"", "description": "Jazz keys, glitched meth bass, and jungle breaks" },
{ "type": "technique", "code": "$ loopAt 0.25 $ slice 4 \"0 <0!3 1> <0!3 2> 3\" $ \"meth_bass\" # n \"<10!3 [<10 11> 11] 9!24>\"", "description": "Ultra-fast meth bass loop at quarter-cycle with evolving slices - 'UN GLITCH DANS MON CAFE'" },
{ "type": "effect", "code": "# crushbus 51 (range 16 6.4 \"^54\") # octerbus 52 (range 0 0.7 \"^34\")", "description": "Dual MIDI effects on piano: crush + octave" }
]
},
{
"name": "Septembre 1er",
"file": "live/collab/baba/sept1.tidal",
"bpm": 120,
"style": "collab",
"ingredients": [
{ "type": "structure", "code": "setcps (120/60/4) # cps ((range 60 180 \"^29\")/60/4)", "description": "120 BPM base with MIDI live tempo from 60-180 BPM - 'À Mon Amour'" },
{ "type": "pattern", "code": "note (\"<<[b3@5 a3 b3 a3] ...>> [e3@7 b3]>\") # \"cpluck\" |+ note 12", "description": "Cello pluck B-A oscillation resolving to E - handmade bassline" },
{ "type": "sample", "code": "\"rhadamanthe_melo:1\"", "description": "Piano split into begin/mid/end cue points for narrative arc" },
{ "type": "technique", "code": "slow 2 \"<begin ~ begin ...>/2\" # cut 51 # begin 0 # end 0.2", "description": "Piano surgically split into 3 sections with slow reveal" },
{ "type": "effect", "code": "# delaybus 111 \"^30\" # delayt (\"<2!3 3>\"/3) # delayfb 0.5", "description": "MIDI-controlled delay send with triplet-feel delay time" }
]
}
]
}
--- ---
title: "Algolia RKO 2025" title: "Algolia - RKO 2025"
date: "2025-01-10" date: "2025-01-10"
time: "18:00" time: "18:00"
location: "Paris, France" location: "Paris, France"
address: "Algolia" address: "Algolia"
description: "Dernier rendez-vous RKO." description: "Dernier rendez-vous - RKO."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
video: "" video: ""
...@@ -13,7 +13,7 @@ archive: "" ...@@ -13,7 +13,7 @@ archive: ""
tags: ["livecoding", "algolia", "paris"] tags: ["livecoding", "algolia", "paris"]
--- ---
# Algolia RKO 2025 # Algolia - RKO 2025
## Tracklist ## Tracklist
- Café Bouillant - Café Bouillant
......
...@@ -44,4 +44,9 @@ tags: ["livecoding", "algorave", "lyon", "tidal"] ...@@ -44,4 +44,9 @@ tags: ["livecoding", "algorave", "lyon", "tidal"]
# AlgoRave Lyon 2025 # AlgoRave Lyon 2025
Détails à venir... AlgoRave européenne annuelle, 18h-06h de musique algorithmique, installations et performances audiovisuelles au GRRRND ZERO.
Set w/ Pérégrine - techno, breakbeat, jungle à la sauce TidalCycles + MIDI.
## Tracklist
- Set complet disponible sur [Bandcamp](https://parvagues.bandcamp.com/track/live-algorave-ground-zero-2025)
{
"gig": "bunker",
"title": "BUNKER",
"date": "2025-10-31",
"bpmRange": [104, 142],
"styleDistribution": { "techno": 3, "lounge": 1, "nujazz": 1, "dnb": 1, "breaks": 1, "ambient": 1 },
"samplePacks": [
{ "name": "bassWarsaw", "usage": "Main synth bass across techno and nujazz tracks" },
{ "name": "orage", "usage": "Multi-purpose rain/storm sample pack (drums, bass, piano, voices)" },
{ "name": "jungle_breaks", "usage": "Breakbeat fills and layers" },
{ "name": "breaks165", "usage": "High-energy 165 BPM breakbeat" },
{ "name": "sunny_bass", "usage": "Custom bass sample for Sunny" },
{ "name": "vec1_acid", "usage": "Acid synth samples" },
{ "name": "sogood", "usage": "Custom multi-sample pack (keys, voices, chorus)" },
{ "name": "FMRhodes1", "usage": "FM electric piano for atmospheric layers" }
],
"tracks": [
{
"name": "Sept1",
"file": "live/collab/baba/sept1.tidal",
"bpm": 120,
"style": "techno",
"ingredients": [
{ "type": "sample", "code": "\"rhadamanthe_melo:1\"", "description": "Piano melody with begin/mid/end gated sections" },
{ "type": "pattern", "code": "note (\"<<[b3@5 a3 b3 a3]...>> [e3@7 b3]>\")", "description": "Cello-like cpluck bassline in B/A with long sustain" },
{ "type": "effect", "code": "# cps ((range 60 180 \"^29\")/60/4)", "description": "Live BPM morphing via MIDI fader" },
{ "type": "sample", "code": "\"breaks165\"", "description": "Amen break energy injection layer" },
{ "type": "technique", "code": "$ midiOn \"^56\" (loopAt 2 . (# n 12))", "description": "MIDI-triggered jungle break variations" }
]
},
{
"name": "Sunny",
"file": "live/midi/nova/lounge/sunny_side_up.tidal",
"bpm": 120,
"style": "lounge",
"ingredients": [
{ "type": "sample", "code": "\"sunny_bass\"", "description": "Warm bass with octave sub modulation" },
{ "type": "sample", "code": "\"sunny_brass\"", "description": "Brass samples with gradual mask reveal" },
{ "type": "pattern", "code": "\"acidOto3092\" |- note 36", "description": "Acid synth overlay in F/G#/C/G" },
{ "type": "technique", "code": "$ superimpose ((# crushbus 41 ...) . (# lpf 2500))", "description": "Parallel bass processing with crush and filter" },
{ "type": "sample", "code": "\"risers:8\"", "description": "Tension riser deploying at phrase boundaries" }
]
},
{
"name": "Orage",
"file": "live/midi/nova/techno/techno_orage.tidal",
"bpm": 104,
"style": "techno",
"ingredients": [
{ "type": "sample", "code": "\"orage\"", "description": "Multi-use rain/storm pack: hats (chop 8), bass (loopAt 2), piano, voices" },
{ "type": "pattern", "code": "$ slow 4 $ ply \"4 . 2 0\"", "description": "Slow piano rain pattern with progressive ply density" },
{ "type": "sample", "code": "\"vec1_acid:30\"", "description": "Acid doubt line in C/Ab/D with octave layering" },
{ "type": "technique", "code": "$ midiOn \"^34\" ((>| n \"<<4!4 34 4!3> 4 33 <34 4>>\"))", "description": "MIDI-triggered infinite storm variation" },
{ "type": "sample", "code": "\"FMRhodes2\"", "description": "FM Rhodes melody in F/C/G#/C/F/Bb/D/Bb" }
]
},
{
"name": "Force Motrice",
"file": "live/midi/nova/dnb/force_motrice.tidal",
"bpm": 125,
"style": "dnb",
"ingredients": [
{ "type": "sample", "code": "\"nujazz_bass125:1\"", "description": "Jazz bass loop chopped and sliced with crush" },
{ "type": "sample", "code": "\"FMRhodes1\"", "description": "FM piano with modIndex and note offsetting" },
{ "type": "sample", "code": "\"giorgio_syn:22\"", "description": "Giorgio synth with euclidean struct and crush" },
{ "type": "sample", "code": "\"break:2\"", "description": "Breakbeat with loopAt 2 and MIDI-driven variations" },
{ "type": "technique", "code": "$ midiOn \"^92\" (iter \"1 <1 4>\")", "description": "MIDI-triggered break iteration for live variation" }
]
},
{
"name": "Drifting Soul",
"file": "live/collab/jane/drifting_soul.tidal",
"bpm": 80,
"style": "nujazz",
"ingredients": [
{ "type": "sample", "code": "\"jane_wang\"", "description": "Jane's piano recording with MIDI-controlled slice/ply" },
{ "type": "pattern", "code": "note (\"<[fs@7 <~ bf>] [fs@7 <~ cs>] <bf ef> <cs!3 bf>>\")", "description": "Cello bass with jux-doubled seventh intervals" },
{ "type": "sample", "code": "\"movie_vitality\" / \"movie_wine\" / \"movie_statue\"", "description": "Cinema vocal collage: drift, wine, statue fragments" },
{ "type": "sample", "code": "\"scratch_long:12\"", "description": "Scratch record with MIDI-triggered ply acceleration" },
{ "type": "structure", "code": "setcps (80/60/4)", "description": "80 BPM slow groove, half-time feel" }
]
},
{
"name": "Because It's There",
"file": "copycat/because_its_there.tidal",
"bpm": 110,
"style": "techno",
"ingredients": [
{ "type": "sample", "code": "\"bassWarsaw\"", "description": "Warsaw bass in C#/G#/D# with crush and octave sub" },
{ "type": "sample", "code": "\"ikedaBass\"", "description": "Minimal bass pad with delay chain" },
{ "type": "sample", "code": "\"90s_synatm:0\"", "description": "90s synth atmosphere following B/A#/G# progression" },
{ "type": "pattern", "code": "note \"<b4 as4 gs4 ~>\"", "description": "Descending chromatic pad motif" },
{ "type": "sample", "code": "\"FMRhodes1\"", "description": "FM piano with room reverb and long delay" }
]
},
{
"name": "Ere de Jeu",
"file": "live/midi/nova/techno/ere_de_jeu.tidal",
"bpm": 110,
"style": "techno",
"ingredients": [
{ "type": "sample", "code": "\"[808bd:1,808bd:2,jazz,kick:4]\"", "description": "Quad-layered kick drum" },
{ "type": "sample", "code": "\"vec1_acid:27\"", "description": "Angel acid bass with accelerating fast pattern" },
{ "type": "sample", "code": "\"nujazz_keys120\"", "description": "Nu-jazz piano with freeze and striate" },
{ "type": "technique", "code": "$ loopAt 0.5 . (# \"breaks165\") . (# octersub 2)", "description": "Nassim button: half-speed breaks with octave sub" },
{ "type": "pattern", "code": "note \"[cs3 b3 <gs3!3 cs4> b3]\"", "description": "Melodic bass motif with C# to B resolution" }
]
},
{
"name": "Acidule",
"file": "live/collab/raph/acidule.tidal",
"bpm": 135,
"style": "acid",
"ingredients": [
{ "type": "sample", "code": "\"vec2_synth_acid\" / \"vec1_acid:40\"", "description": "Dual acid bass with independent crossfade" },
{ "type": "pattern", "code": ">| note \"[b d6 b cs6 d6 b cs6 b]*2\"", "description": "Rapid alternating acid note sequence" },
{ "type": "effect", "code": "# tremdp 4 # tremr 1.8", "description": "Bouncy droplet tremolo on FM Rhodes lead" },
{ "type": "sample", "code": "\"rhadamanthe_vocal\"", "description": "Self-destruct vocal sequence with timed fragments" },
{ "type": "sample", "code": "\"90s_synatm:21\"", "description": "Synthetic violin layer with dual-voice melody" }
]
}
]
}
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
{ "name": "FMRhodes1", "usage": "FM piano in insouciance, Mauerpark, and more" }, { "name": "FMRhodes1", "usage": "FM piano in insouciance, Mauerpark, and more" },
{ "name": "airports", "usage": "granular airport ambience in Quand on Décolle" }, { "name": "airports", "usage": "granular airport ambience in Quand on Décolle" },
{ "name": "aoc_fr", "usage": "French vocal collages in Fabuleux" }, { "name": "aoc_fr", "usage": "French vocal collages in Fabuleux" },
{ "name": "orage", "usage": "storm/thunder sample bank bass, hats, piano, voices in Nuit d'orage" }, { "name": "orage", "usage": "storm/thunder sample bank - bass, hats, piano, voices in Nuit d'orage" },
{ "name": "weird_dialogs", "usage": "sci-fi movie dialogs about electricity in Bain électrique" }, { "name": "weird_dialogs", "usage": "sci-fi movie dialogs about electricity in Bain électrique" },
{ "name": "come_bass / come_eguitar / come_voice", "usage": "3-part band sample pack in Venons Ensemble" }, { "name": "come_bass / come_eguitar / come_voice", "usage": "3-part band sample pack in Venons Ensemble" },
{ "name": "suns_keys / suns_guitar / suns_voice", "usage": "Leifur James-inspired originals in L'Or Bleu" }, { "name": "suns_keys / suns_guitar / suns_voice", "usage": "Leifur James-inspired originals in L'Or Bleu" },
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
"bpm": 94, "bpm": 94,
"style": "lounge", "style": "lounge",
"ingredients": [ "ingredients": [
{ "type": "structure", "code": "setcps (94/60/4)", "description": "94 BPM downtempo original of 'Blue Gold' collab" }, { "type": "structure", "code": "setcps (94/60/4)", "description": "94 BPM downtempo - original of 'Blue Gold' collab" },
{ "type": "sample", "code": "\"suns_keys\" / \"suns_guitar\" / \"suns_voice\"", "description": "3-part Leifur James-inspired sample pack" }, { "type": "sample", "code": "\"suns_keys\" / \"suns_guitar\" / \"suns_voice\"", "description": "3-part Leifur James-inspired sample pack" },
{ "type": "technique", "code": "loopAt 8 $ chop 16 $ \"suns_keys\"", "description": "8-cycle piano loop chopped into 16 grains" }, { "type": "technique", "code": "loopAt 8 $ chop 16 $ \"suns_keys\"", "description": "8-cycle piano loop chopped into 16 grains" },
{ "type": "pattern", "code": "note (\"[b,fs6]@1.5 [a,e6]@1.5 ...\" - 24) # \"bassWarsaw\"", "description": "Weighted timing bass (1.5+1.5+3) with Euclidean sub-patterns" }, { "type": "pattern", "code": "note (\"[b,fs6]@1.5 [a,e6]@1.5 ...\" - 24) # \"bassWarsaw\"", "description": "Weighted timing bass (1.5+1.5+3) with Euclidean sub-patterns" },
...@@ -177,7 +177,7 @@ ...@@ -177,7 +177,7 @@
{ "type": "sample", "code": "\"rhadamanthe_melo:1\"", "description": "Rhadamanthe piano split into begin/mid/end narrative" }, { "type": "sample", "code": "\"rhadamanthe_melo:1\"", "description": "Rhadamanthe piano split into begin/mid/end narrative" },
{ "type": "technique", "code": "slow 2 \"<begin ~ begin ...>/2\" # cut 51 # begin 0 # end 0.2", "description": "Piano surgically split into 3 cue points" }, { "type": "technique", "code": "slow 2 \"<begin ~ begin ...>/2\" # cut 51 # begin 0 # end 0.2", "description": "Piano surgically split into 3 cue points" },
{ "type": "pattern", "code": "note (\"<<[b3@5 a3 b3 a3] ...>> [e3@7 b3]>\") # \"cpluck\"", "description": "Cello pluck B-A oscillation resolving to E" }, { "type": "pattern", "code": "note (\"<<[b3@5 a3 b3 a3] ...>> [e3@7 b3]>\") # \"cpluck\"", "description": "Cello pluck B-A oscillation resolving to E" },
{ "type": "effect", "code": "# cps ((range 60 180 \"^29\")/60/4)", "description": "MIDI live tempo from 60 to 180 BPM real-time manipulation" } { "type": "effect", "code": "# cps ((range 60 180 \"^29\")/60/4)", "description": "MIDI live tempo from 60 to 180 BPM - real-time manipulation" }
] ]
}, },
{ {
...@@ -187,7 +187,7 @@ ...@@ -187,7 +187,7 @@
"style": "breaks", "style": "breaks",
"ingredients": [ "ingredients": [
{ "type": "structure", "code": "setcps (138/60/4)", "description": "138 BPM fast breaks" }, { "type": "structure", "code": "setcps (138/60/4)", "description": "138 BPM fast breaks" },
{ "type": "sample", "code": "\"rhadamanthe_vocal:1\"", "description": "The Lady vocal chopped into 16 grains over 8 cycles" }, { "type": "sample", "code": "\"rhadamanthe_vocal:1\"", "description": "The Lady - vocal chopped into 16 grains over 8 cycles" },
{ "type": "technique", "code": "sometimesBy \"^55\" (rev) . sometimesBy \"^35\" (juxBy 0.25 ...)", "description": "Triple probability: reversal, stereo micro-loops, euclidean masking" }, { "type": "technique", "code": "sometimesBy \"^55\" (rev) . sometimesBy \"^35\" (juxBy 0.25 ...)", "description": "Triple probability: reversal, stereo micro-loops, euclidean masking" },
{ "type": "pattern", "code": "note (\"c3 <d3 ... [d3@3 f3]> e3 <g3 b3 a3 c4>\") # \"bassWarsaw\"", "description": "C minor walking bass with chromatic upper voice" }, { "type": "pattern", "code": "note (\"c3 <d3 ... [d3@3 f3]> e3 <g3 b3 a3 c4>\") # \"bassWarsaw\"", "description": "C minor walking bass with chromatic upper voice" },
{ "type": "effect", "code": "# crushbus 51 (range 16 3.5 \"^54\")", "description": "Bitcrush on Giorgio pad for lo-fi harmonic layer" } { "type": "effect", "code": "# crushbus 51 (range 16 3.5 \"^54\")", "description": "Bitcrush on Giorgio pad for lo-fi harmonic layer" }
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
"style": "drill", "style": "drill",
"ingredients": [ "ingredients": [
{ "type": "structure", "code": "setcps (140/60/4)", "description": "140 BPM fast drill/grime" }, { "type": "structure", "code": "setcps (140/60/4)", "description": "140 BPM fast drill/grime" },
{ "type": "sample", "code": "\"bogdan_grime\"", "description": "'I'm from Cardiff!', 'Pints' grime vocals" }, { "type": "sample", "code": "\"bogdan_grime\"", "description": "'I'm from Cardiff!', 'Pints' - grime vocals" },
{ "type": "technique", "code": "juxBy 0.4 rev $ note ... # \"marimba1\"", "description": "Marimba with stereo juxtaposed reversal at 40%" }, { "type": "technique", "code": "juxBy 0.4 rev $ note ... # \"marimba1\"", "description": "Marimba with stereo juxtaposed reversal at 40%" },
{ "type": "pattern", "code": "slow 2 $ note (\"<<fs ...>> b4>\" - 12 + 2) # \"giorgio_syn:1\"", "description": "Giorgio bass with long weighted F# notes resolving" }, { "type": "pattern", "code": "slow 2 $ note (\"<<fs ...>> b4>\" - 12 + 2) # \"giorgio_syn:1\"", "description": "Giorgio bass with long weighted F# notes resolving" },
{ "type": "effect", "code": "# crushbus 101 # octersub 1", "description": "Bitcrush + sub-octave on 90s synth pad" } { "type": "effect", "code": "# crushbus 101 # octersub 1", "description": "Bitcrush + sub-octave on 90s synth pad" }
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
title: "FairyTeuf" title: "FairyTeuf"
date: "2025-08-20" date: "2025-08-20"
time: "22:00" time: "22:00"
location: "Fairy Land" location: "PSC"
address: "FairyTeuf" address: "PSC"
description: "Magical set." description: "Magical set."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
......
{
"gig": "fairyteuf",
"title": "FairyTeuf",
"date": "2025-08-20",
"bpmRange": [80, 170],
"styleDistribution": { "breaks": 3, "dnb": 2, "lounge": 1, "nujazz": 1, "drill": 1, "acid": 1, "funk": 1, "techno": 1, "hip-hop": 1 },
"samplePacks": [
{ "name": "bassWarsaw", "usage": "Core synth bass across multiple tracks" },
{ "name": "jungle_breaks", "usage": "Breakbeat layering and variations" },
{ "name": "praise", "usage": "Fatboy Slim-inspired vocal/guitar/bass samples" },
{ "name": "vec1_acid", "usage": "Acid bass synth patches" },
{ "name": "gfunk_lead", "usage": "G-funk lead sample for Piment Bresilien" },
{ "name": "law_adri", "usage": "Custom vocal/instrumental sample for Des Efforts" },
{ "name": "wap", "usage": "Custom WAP sample pack (bass, vocals, drums)" },
{ "name": "jane_wang", "usage": "Piano recording collaboration" },
{ "name": "breaks165", "usage": "High-energy breakbeat standard" },
{ "name": "moog", "usage": "Moog synthesizer for pad and bass layers" }
],
"tracks": [
{
"name": "JeuDrill",
"file": "live/collab/raph/jeudrill.tidal",
"bpm": 140,
"style": "drill",
"ingredients": [
{ "type": "sample", "code": "\"bogdan_grime:3\"", "description": "Grime vocal samples from Cardiff with speed modulation" },
{ "type": "sample", "code": "\"giorgio_syn:1\"", "description": "Giorgio bass synth with crush and octave sub" },
{ "type": "sample", "code": "\"marimba1\"", "description": "Marimba melody in B/D/F# with jux reversal" },
{ "type": "technique", "code": "$ someCyclesBy \"^19\" (slice 4 \"...\")", "description": "MIDI-controlled probability-based meth bass slicing" },
{ "type": "sample", "code": "\"90s_synatm:10\"", "description": "Menacing 90s synth pad with 4 Adrianesque variations" }
]
},
{
"name": "Sunny Side Up",
"file": "live/midi/nova/lounge/sunny_side_up.tidal",
"bpm": 120,
"style": "lounge",
"ingredients": [
{ "type": "sample", "code": "\"sunny_bass\"", "description": "Warm bass with superimposed crush layer" },
{ "type": "sample", "code": "\"sunny_brass\"", "description": "Brass with progressive mask deployment" },
{ "type": "pattern", "code": "\"acidOto3092\" |- note 36", "description": "Acid line with width MIDI modulation" },
{ "type": "sample", "code": "\"nujazz_keys120:35/4\"", "description": "Piano outro with gentle slice" },
{ "type": "structure", "code": "setcps (120/60/4)", "description": "120 BPM laid-back lounge groove" }
]
},
{
"name": "Savoir Voyager",
"file": null,
"bpm": 120,
"style": "nujazz",
"ingredients": [
{ "type": "technique", "code": "no source file found", "description": "Track likely composed live or from an untracked file. Name suggests travel/journey theme in nujazz style." }
]
},
{
"name": "Menthe Givree",
"file": null,
"bpm": 130,
"style": "breaks",
"ingredients": [
{ "type": "technique", "code": "no source file found", "description": "Track likely composed live. Name suggests frozen mint theme, probably a cool/icy breaks track." }
]
},
{
"name": "Ouais je funk",
"file": null,
"bpm": 120,
"style": "funk",
"ingredients": [
{ "type": "technique", "code": "no source file found", "description": "Track likely composed live. Name translates to 'Yeah I Funk', suggesting a funky groove-based track." }
]
},
{
"name": "WAP",
"file": "live/midi/nova/dnb/wap.tidal",
"bpm": 133,
"style": "dnb",
"ingredients": [
{ "type": "sample", "code": "\"wap\"", "description": "Custom WAP sample pack: bass (bandf 400), vocals (rotating n 8-31), drums" },
{ "type": "pattern", "code": "$ stut 4 1 1 $ slow 4", "description": "4-repeat stutter on vocal samples for hall effect" },
{ "type": "sample", "code": "\"vec2_synth_acid:25\" / \"vec1_acid:25\"", "description": "Acid bass with off-beat layering and crush" },
{ "type": "technique", "code": "# n \"<8 9 10 11 ... 31>\"", "description": "Complete 24-sample vocal rotation across phrases" },
{ "type": "sample", "code": "\"jungle_breaks:84\"", "description": "Jungle break stack with MIDI-triggered Orleans and jungle variants" }
]
},
{
"name": "Long Way",
"file": "live/collab/raph/long_way.tidal",
"bpm": 102,
"style": "hip-hop",
"ingredients": [
{ "type": "sample", "code": "\"praise\"", "description": "Praise sample pack: bass loop (n 12-15), voice (A LONG LONG WAY), guitar" },
{ "type": "technique", "code": "$ midiOn \"^58\" (ply 4 . (# begin 0) . (# end 0.115))", "description": "Voice loop locked to first 11.5% for 'long way' phrase" },
{ "type": "pattern", "code": "$ fast 2 $ \"~ s ~ [s*<1 2> <~ s*<2 [4 2]>>]\"", "description": "Double-time snare with accelerating fills" },
{ "type": "sample", "code": "\"praise:16\" / \"praise:17\"", "description": "Stereo-panned guitar layers with crush modulation" },
{ "type": "structure", "code": "setcps (102/60/4)", "description": "102 BPM half-time hip-hop feel" }
]
},
{
"name": "Esperluette",
"file": "live/collab/raph/esperluette.tidal",
"bpm": 140,
"style": "techno",
"ingredients": [
{ "type": "pattern", "code": "note \"<gs2 gs2 gs2 ef3>\"", "description": "Dual bassWarsaw lines in G#/Eb with MIDI ply" },
{ "type": "sample", "code": "\"praise\"", "description": "Praise vocal pack reused with slice variations" },
{ "type": "sample", "code": "\"moog:3\"", "description": "Moog pad with note variation and crush" },
{ "type": "sample", "code": "\"jungle_breaks:45\"", "description": "Classic jungle break with MIDI break switching" },
{ "type": "structure", "code": "setcps (140/60/4)", "description": "140 BPM driving techno pace" }
]
},
{
"name": "Piment Bresilien",
"file": "live/collab/raph/piment_bresilien.tidal",
"bpm": 124,
"style": "breaks",
"ingredients": [
{ "type": "sample", "code": "\"gfunk_lead:2\"", "description": "G-funk lead with striate and chop manipulation" },
{ "type": "pattern", "code": "note \"<bf2 bf2 bf2 [bf2@7 cs3]>\"", "description": "Deep bassWarsaw in Bb with C# transition" },
{ "type": "sample", "code": "\"FMRhodes2\"", "description": "FM Rhodes in F/C#/C progression with modIndex modulation" },
{ "type": "sample", "code": "\"90s_synatm:10\"", "description": "Menacing pad building tension at Bb" },
{ "type": "sample", "code": "\"jungle_breaks:45\"", "description": "Standard jungle break with MIDI switching" }
]
},
{
"name": "Biscuit Acide",
"file": "live/collab/raph/biscuit_acide.tidal",
"bpm": 128,
"style": "acid",
"ingredients": [
{ "type": "sample", "code": "\"vec1_acid:0\"", "description": "Acid bass with superimposed seventh/octave ghost notes" },
{ "type": "pattern", "code": "note (\"fs [fs a] <a [fs a]> fs fs <a!3 e>\" + \"c4\")", "description": "Major-key acid pattern in F#/A/E with double layer" },
{ "type": "sample", "code": "\"ho:2\"", "description": "Open hi-hat with stutter and reverse variations" },
{ "type": "effect", "code": "# squizbus 41 (range 0 4 \"^53\")", "description": "MIDI-controlled squiz distortion on acid doubles" },
{ "type": "sample", "code": "\"moog\"", "description": "Moog pad in F#/A/B/C# slow arpeggiation" }
]
},
{
"name": "Des Efforts",
"file": "live/collab/raph/des_efforts.tidal",
"bpm": 120,
"style": "breaks",
"ingredients": [
{ "type": "sample", "code": "\"law_adri\"", "description": "Custom sample with MIDI-driven n selection and ply" },
{ "type": "pattern", "code": "note \"<g3 g3 bf3 d3>\"", "description": "BassWarsaw line in G/Bb/D with superimposed ghost notes" },
{ "type": "technique", "code": "$ midiOn \"^57\" (superimpose ((0.25 ~>) . (|+| note \"[0 7 0 12]*2\" ...)))", "description": "MIDI-triggered bass doubling with seventh/octave offsets" },
{ "type": "sample", "code": "\"breaks165\"", "description": "165 BPM break with MIDI jungle switching" },
{ "type": "structure", "code": "setcps (120/60/4)", "description": "120 BPM mid-tempo breaks" }
]
},
{
"name": "AUXiliaire",
"file": null,
"bpm": 130,
"style": "breaks",
"ingredients": [
{ "type": "technique", "code": "no source file found", "description": "Track likely composed live or renamed. AUX-themed track, possibly referencing auxiliary sends/returns." }
]
}
]
}
--- ---
title: "TOPLAP From Scratch Jungle 🐅" title: "TOPLAP From Scratch - Jungle 🐅"
date: "2025-12-07" date: "2025-12-07"
time: "21:15" time: "21:15"
location: "Orléans, France" location: "Orléans, France"
address: "TOPLAP Stream" address: "TOPLAP Stream"
description: "A scratch in the Jungle 🐅 starting from jungle_breaks. Cookie Collective." description: "A scratch in the Jungle 🐅 - starting from jungle_breaks. Cookie Collective."
ctaURL: "" ctaURL: ""
ctaText: "" ctaText: ""
video: "https://archive.org/details/toplap-fromscratch-dec2025-parvagues" video: "https://archive.org/details/toplap-fromscratch-dec2025-parvagues"
...@@ -13,8 +13,8 @@ archive: "https://archive.org/details/toplap-fromscratch-dec2025-parvagues" ...@@ -13,8 +13,8 @@ archive: "https://archive.org/details/toplap-fromscratch-dec2025-parvagues"
tags: ["livecoding", "toplap", "fromscratch", "jungle", "cookie-collective"] tags: ["livecoding", "toplap", "fromscratch", "jungle", "cookie-collective"]
--- ---
# TOPLAP From Scratch Jungle 🐅 # TOPLAP From Scratch - Jungle 🐅
A scratch in the Jungle starting point: `jungle_breaks`. A scratch in the Jungle - starting point: `jungle_breaks`.
Live from Orléans, December 2025. Live from Orléans, December 2025.
---
title: "Live@Algolia: Latin Heritage Party"
date: "2025-09-29"
timezone: "Europe/Paris"
city: "Paris"
country: "France"
venue: "Algolia HQ"
tags: ["livecoding", "company-party", "latin-heritage", "tidal"]
links:
- kind: "audio"
label: "Replay SoundCloud"
url: "https://soundcloud.com/parvagues/live-algolia-latin"
media:
audio: "https://soundcloud.com/parvagues/live-algolia-latin"
gallery: []
setlist:
- "Warm-up polyrhythms"
- "Latin Heritage improvisation"
- "Coda glitchée"
---
## Live@Algolia
Party dédié aux cultures latines. Set hybride livecoding + samples régionaux,
construit pour un dancefloor installé dans l&apos;atrium d&apos;Algolia.
- BPM à 128 pour garder le flux.
- Interludes vocaux issus d&apos;archives radio.
- Dernier quart en footwork/batida pour le final.
---
title: "Opal Festival 2025"
date: "2025-08-17"
timezone: "Europe/Paris"
country: "France"
venue: "Opal Festival"
tags: ["festival", "live-set", "livecoding", "tidal"]
links:
- kind: "audio"
label: "Playlist Festival"
url: "https://soundcloud.com/parvagues/sets/opal-2025-sets"
- kind: "audio"
label: "Livecoding @ Opal"
url: "https://soundcloud.com/parvagues/live-opal-2025"
media:
audio: "https://soundcloud.com/parvagues/live-opal-2025"
gallery: []
setlist:
- "Chapiteau sunrise intro"
- "Livecoding @ Opal 2025"
- "Paroles d'Opal (Encore)"
---
## Opal Festival 2025
Livecoding nocturne sous le chapiteau d&apos;Opal. Patch construit autour de textures
granulaires et de basses lourdes pour accompagner les projections du collectif
visuel.
- Phase d&apos;ouverture ambient pour respirer entre deux DJ sets.
- Bloc central footwork/breakbeat boosté par des patterns génératifs.
- Encore chanté avec le public et sample d&apos;archives locales.
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