Commit bd842ed6 by PLN (Algolia)

feat(parvagues): add Opal Festival 2024+2025, remove ghost Bazurto 2024

Opal Festival (Normandie): Aug 10 2024, Aug 10 2025.
SoundCloud + Spotify recordings linked.
Remove duplicate Bazurto 2024 (only played 2022).
Update ontology with Opal venue + event data.
parent c3271b3b
---
title: "Bazurto - Live @ Tignes"
date: "2024-03-15"
time: "20:00"
location: "Tignes, France"
address: "Montagnettes"
description: "Live set pour les Montagnettes - Apéritif to Digestif."
ctaURL: ""
ctaText: ""
video: ""
audio: ""
archive: ""
tags: ["livecoding", "montagne", "tignes"]
---
# Bazurto - Live @ Tignes
Pour Montagnettes <3
## Setlist
- Apéritif - Invoque l'Été
- Entrée - Solar / Lunar
- Accompagnement - Michael / Nightly Repair / Contre Visite
- Plat de résistance - Burn this Book
- Dessert - Break the Loop / Atari-ght
- Dernier Verre - Alerte Verte
- Digestif - It's About Time
{
"gig": "bazurto-tignes",
"title": "Bazurto - Live @ Tignes",
"date": "2024-03-15",
"bpmRange": [90, 165],
"styleDistribution": {
"lounge": 2,
"breaks": 3,
"techno": 3,
"dnb": 2,
"chiptune": 1
},
"samplePacks": [
{ "name": "fbass / fguitar / fpiano", "usage": "sliced funk recordings across Invoque l'Été" },
{ "name": "FMRhodes1 / FMRhodes2", "usage": "FM synthesis piano in Solar, Lunar, Atari-ght" },
{ "name": "bassWarsaw", "usage": "primary analog-modeled bass in Solar, Lunar, Burn this Book" },
{ "name": "90s_synatm / 90s_matrix", "usage": "atmospheric 90s synth pads in Nightly Repair, Burn this Book" },
{ "name": "breaks125 / jungle_breaks / breaks165", "usage": "breakbeat backbone across most tracks" },
{ "name": "drums_atari / synth_commodore", "usage": "8-bit drum machines and Commodore synth in Atari-ght" },
{ "name": "moogBass", "usage": "warm Moog synth in Invoque l'Été and Alerte Verte" },
{ "name": "808bd / 808lc / 808hc / 808mc", "usage": "Roland 808 drum sounds in kick patterns and clave" }
],
"tracks": [
{
"name": "Invoque l'Été",
"file": "live/midi/nova/lounge/invoque_ete.tidal",
"bpm": 115,
"style": "lounge",
"ingredients": [
{ "type": "structure", "code": "setcps (115/60/4)", "description": "115 BPM summer lounge with MIDI mask/mute system for live performance" },
{ "type": "pattern", "code": "\"d ~ ~ d d ~ d <~!3 d>\"", "description": "Latin-inspired clave pattern on snare driving the groove" },
{ "type": "sample", "code": "\"fbass:13\" / \"fguitar:12\" / \"fpiano:13\"", "description": "Trio of sliced funk recordings: bass, guitar, piano - each loopAt 2-4 cycles" },
{ "type": "technique", "code": "slice 8 (run \"<4!4 8 8 [4 8 4] [8 4 8]>\") $ loopAt 2", "description": "Variable slice count on bass creates evolving rhythmic phrase" },
{ "type": "effect", "code": "note (\"<a3'maj g3'maj a3'min d3'maj>\" + \"0*<4 [4 16]>\") # \"moogBass\"", "description": "Moog chord progression Am-G-Am-D with frequency shift for movement" }
]
},
{
"name": "Solar",
"file": "live/midi/nova/breaks/solar.tidal",
"bpm": 110,
"style": "breaks",
"ingredients": [
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM nostalgic breakbeat with dual DJF bus filters" },
{ "type": "pattern", "code": "note \"e3'maj\" # \"bassWarsaw\"", "description": "E major bassWarsaw with converge/diverge arpeggiation over 16 cycles" },
{ "type": "sample", "code": "\"break:11\" # hpf 500", "description": "High-passed break sample sliced into 8, with striate and ply transforms" },
{ "type": "technique", "code": "$ note (mel - 12) # \"superpwm\" # semitone \"<7!3 5>\"", "description": "PWM synth lead with quinte/quarte 2nd oscillator and accelerate sweeps" },
{ "type": "effect", "code": "# \"FMRhodes1\" # modIndex (range 0 128 \"^34\")", "description": "FM Rhodes with MIDI-controlled modulation index for timbral morphing" }
]
},
{
"name": "Lunar",
"file": "live/midi/nova/breaks/lunar.tidal",
"bpm": 110,
"style": "breaks",
"ingredients": [
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM companion piece to Solar - darker breakbeat" },
{ "type": "pattern", "code": "note (scale \"aeolian\" \"<3 3 5 <5 4> 5 4 3 <~ 2 3 ~>>\" - 24) # \"bassWarsaw\"", "description": "Aeolian bassWarsaw walking line with rests and direction changes" },
{ "type": "sample", "code": "\"break\" # n \"<13!12 14!4 15!12 14!4>\"", "description": "4 break variations cycling over 32 bars, sliced 8-way" },
{ "type": "technique", "code": "superimpose ((# cut 51) . (|+| note \"~ 12(...)\") . (|* gain 0.9))", "description": "Rhodes self-superimposition with octave Euclidean ornaments" },
{ "type": "effect", "code": "# \"FMRhodes1\" # modIndex (range 0.1 32 \"^54\")", "description": "Lower modIndex range than Solar - warmer, more contained FM tone" }
]
},
{
"name": "Michael",
"file": "live/midi/nova/lounge/michael.tidal",
"bpm": 120,
"style": "lounge",
"ingredients": [
{ "type": "structure", "code": "setcps (120/60/4)", "description": "120 BPM lounge with piano, brass choir, and organ" },
{ "type": "pattern", "code": "slice 4 \"<0 1 2 3>\" $ \"[a,b,c]\" # \"fsynth:3\"", "description": "3-voice brass choir (a/b/c) with independent note offsets and pinkyup arp" },
{ "type": "sample", "code": "\"fpiano:3\" / \"forgan:17\" / \"fbreak120\"", "description": "Sliced piano, organ, and 120BPM break for jazzy layering" },
{ "type": "technique", "code": "juxBy 0.8 (rev . (# cut 51)) $ slice 8 (run (\"4 <4 8>\"))", "description": "Piano juxtaposed with reversed copy for stereo depth" },
{ "type": "effect", "code": "# crushbus 41 (range 16 1.6 \"^13\") # room 0.3 # sz 0.6", "description": "MIDI bitcrush on brass with room reverb for warmth" }
]
},
{
"name": "Nightly Repair",
"file": "live/techno/nightly_repair.tidal",
"bpm": 90,
"style": "techno",
"ingredients": [
{ "type": "structure", "code": "setcps (90/60/4)", "description": "90 BPM dark slow techno - 'La nuit te répare'" },
{ "type": "pattern", "code": "note (\"<bf g bf g bf g bf c c!4 g bf c6@2>\" - 24) # \"90s_matrix:3\"", "description": "Bb-G bass oscillation with rare C6 jumps, Leslie speaker modulation" },
{ "type": "sample", "code": "\"FMRhodes1\" # note (scale \"blues\" (arp \"<up pinkyup downup thumbupdown>\" ...))", "description": "Blues scale Rhodes with 4 rotating arpeggio modes" },
{ "type": "technique", "code": "# lesliebus 41 ... # lrate (slow 4 $ \"<[0.7 1.2!3] 2.4 4.8 6.7>\") # lsize ...", "description": "MIDI-controlled Leslie speaker on bass with accelerating rotation" },
{ "type": "effect", "code": "# octersubbus 53 (range 0 1.85 \"^34\")", "description": "Sub-octave doubling on 90s synth pads for depth" }
]
},
{
"name": "Contre Visite",
"file": "live/midi/nova/ambient/contre_visite.tidal",
"bpm": 90,
"style": "techno",
"ingredients": [
{ "type": "structure", "code": "setcps (90/60/4)", "description": "90 BPM atmospheric techno with 3-layer mute system" },
{ "type": "pattern", "code": "note (scale \"aeolian\" \"<0!3 [0@6 <4 -1>@2]> 2\") # \"90s_synatm:18\"", "description": "Aeolian high lead with sparse melodic questioning - 'Winds of truth'" },
{ "type": "sample", "code": "\"90s_synatm:8\" / \"90s_synatm:14\" / \"jungle_breaks:1\"", "description": "Aerial 90s synths for questions and answers, jungle breaks for rhythm" },
{ "type": "technique", "code": "whenmod 32 8 (superimpose (arp \"<up!3 down>\" . (+| note \"[12,19,<21 21 17 18>]\")))", "description": "Every 32 cycles: 8-cycle burst of arpeggiated 'echoes of doubts'" },
{ "type": "effect", "code": "# crushbus 62 (range 16 2.25 \"^55\") # panbus 63 (range 0.05 0.95 \"^19\")", "description": "Dual MIDI control: bitcrush + panoramic sweep on lead synth" }
]
},
{
"name": "Burn this Book",
"file": "live/techno/noir/burn_this_book.tidal",
"bpm": 120,
"style": "techno",
"ingredients": [
{ "type": "structure", "code": "setcps (120/60/4)", "description": "120 BPM dark techno - ASCII fire art header" },
{ "type": "pattern", "code": "note (scale \"aeolian\" \"<0 [0, <<7 7 8 9>!3 ...>>]>\") # \"cpluck:0\"", "description": "Aeolian bass on cpluck with stacked intervals and Warsaw superimposition" },
{ "type": "sample", "code": "\"cpu2:3\" / \"drums_nes:3\" / \"90s_synatm:16\"", "description": "CPU hat, NES drums with delay, and long 90s synth pad" },
{ "type": "technique", "code": "sometimesBy (1 - \"^18\") (mask ...) $ arp \"up\" ... # \"cpluck:1\"", "description": "MIDI-inverted probability mask on aeolian arp - more knob = more notes" },
{ "type": "effect", "code": "# delay 0.85 # delayfb \"<0.25!3 <0.5 0.9>>\" # delayt 0.125", "description": "NES drums through delay with feedback building to near-infinite at bar 4" }
]
},
{
"name": "Break the Loop",
"file": "live/midi/nova/dnb/break_the_loop.tidal",
"bpm": 165,
"style": "dnb",
"ingredients": [
{ "type": "structure", "code": "setcps (165/60/4)", "description": "165 BPM fast DnB with run-and-stumble kick pattern" },
{ "type": "pattern", "code": "midiOn \"^41\" (<| \"k <k!4 ~ k!3> k <k [~ k] k [<k!4 ~!3 k> k]>\") -- Run & stumble", "description": "Kick alternates between frantic run pattern and sparse waiting mode" },
{ "type": "sample", "code": "\"90s_synatm:9\" / \"FMRhodes1\" / \"90s_matrix:3\"", "description": "90s burning synth bass, FM Rhodes ritornello, Matrix voices from the storm" },
{ "type": "technique", "code": "midiOn \"^57\" (... (+| note (scale \"aeolian\" (arp \"converge\" ...))))", "description": "Converging arp on aeolian bass creates tension on MIDI trigger" },
{ "type": "effect", "code": "# squizbus 61 (range 0 4 \"^55\")", "description": "Squiz distortion on matrix voices for lo-fi choir effect" }
]
},
{
"name": "Atari-ght",
"file": "live/chip/ataright.tidal",
"bpm": 120,
"style": "chiptune",
"ingredients": [
{ "type": "structure", "code": "setcps (120/60/4)", "description": "120 BPM chiptune - with ASCII Atari console art" },
{ "type": "pattern", "code": "note (arp \"down\" (\"<c'maj'4!2 ... ef'maj'4 g'min'4>\" |+| \"ef3\" - 12)) # \"FMRhodes2\"", "description": "FM Rhodes rain pattern: Cm-Eb-Gm chord arps with down direction" },
{ "type": "sample", "code": "\"drums_atari\" / \"synth_commodore\" / \"808bd:6\"", "description": "Atari drums, Commodore 64 synth bus, and 808 kick" },
{ "type": "technique", "code": "# crushbus 61 (range 20 2.25 \"^55\") # squizbus 62 (range 0 1.5 \"^35\")", "description": "Double MIDI distortion on Commodore synth: bitcrush + squiz" },
{ "type": "effect", "code": "$ midiOn \"^58\" (off \"s\" id . off \"e\" id) # \"FMRhodes1\" # modIndex (range 0 128 \"^53\")", "description": "FM Rhodes with sixteenth and eighth note offset echoes" }
]
},
{
"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 32-cycle bridge dynamics" },
{ "type": "pattern", "code": "\"d ~ ~ d d ~ d <~!3 d>\" # \"[<808lc!6 808hc!2>,<~!4 808mc!4>]\"", "description": "808 clave pattern alternating low/mid/high cowbell" },
{ "type": "sample", "code": "\"fbass:25\" / \"fguitar\" / \"moog\" / \"supersiren\"", "description": "Resolute sliced bass, dual guitar A/B, moog pads, and siren" },
{ "type": "technique", "code": "$ midiOn \"^57\" (rev . slice 8 \"0 [1 0] 2 <3 0 3 3*4>\") -- La morale à l'envers", "description": "Reversed bass slicing: 'morality upside down' on MIDI trigger" },
{ "type": "effect", "code": "# delay \"<0!12 0.3!3 0.8>\" # delayfb \"<0!3 0.5>\" # delayt 0.2", "description": "Delayed kick with feedback building across 16-bar phrase" }
]
},
{
"name": "It's About Time",
"file": "live/midi/nova/breaks/its_about_time.tidal",
"bpm": 110,
"style": "breaks",
"ingredients": [
{ "type": "structure", "code": "setcps (110/60/4)", "description": "110 BPM breakbeat with 3-layer mute/mask system" },
{ "type": "pattern", "code": "midiOn \"^42\" (<| \"k k k <k k*2 k <k [<~ k> k]>>\") $ \"[808bd:4,kick:4]\"", "description": "808+kick layered with variable fourth beat - run or stumble" },
{ "type": "sample", "code": "\"drums_atari\" / \"breaks165\" / \"90s_synatm:9\"", "description": "Atari drums chopped into 32, 165BPM breaks, burning 90s synth bass" },
{ "type": "technique", "code": "$ midiOn \"^57\" (superimpose (... (|+ note ...) . chop \"8 . <8!3 16>\"))", "description": "Bass self-superimposition with note offsets and variable chop density" },
{ "type": "effect", "code": "# crushbus 51 (range 16 2.5 \"^54\")", "description": "Bitcrush on 90s synth ghost pads - 'Ghosts from an easier time'" }
]
}
]
}
---
title: "Opal Festival 2024"
date: "2024-08-10"
time: "22:00"
location: "Normandie, France"
address: "Opal Festival"
description: "Live set @ Opal Festival 2024"
ctaURL: "https://www.opal-festival.com/"
ctaText: "Opal Festival"
video: ""
audio: "https://soundcloud.com/parvagues/sets/opal-2024"
archive: "https://open.spotify.com/album/1VKLZWeolFNfES2bWzYCWZ"
tags: ["livecoding", "festival", "opal", "normandie"]
---
# Opal Festival 2024
Set livecoding au festival Opal en Normandie.
---
title: "Opal Festival 2025"
date: "2025-08-10"
time: "22:00"
location: "Normandie, France"
address: "Opal Festival"
description: "Live set @ Opal Festival 2025"
ctaURL: "https://www.opal-festival.com/"
ctaText: "Opal Festival"
video: ""
audio: "https://soundcloud.com/parvagues/sets/opal-2025"
archive: ""
tags: ["livecoding", "festival", "opal", "normandie"]
---
# Opal Festival 2025
Set livecoding au festival Opal en Normandie.
......@@ -71,11 +71,11 @@ la_french_stack:
opal_festival:
fullName: "Opal Festival"
recurring: true
location: "Normandie, France"
editions:
- { year: 2024 }
- { year: 2025 }
- { year: 2024, audio: "https://soundcloud.com/parvagues/sets/opal-2024", spotify: "https://open.spotify.com/album/1VKLZWeolFNfES2bWzYCWZ" }
- { year: 2025, audio: "https://soundcloud.com/parvagues/sets/opal-2025" }
url: "https://www.opal-festival.com/"
notes: "Listed in AsSeenAt but no dedicated live page yet"
cookie_collective:
fullName: "Cookie Collective"
......
......@@ -34,7 +34,14 @@ bazurto:
city: "Tignes"
country: "France"
type: "bar/club"
notes: "Apres-ski livecoding, 2022 only. Check if 2024 entry is duplicate."
notes: "Apres-ski livecoding, 2022 only"
opal_festival:
fullName: "Opal Festival"
city: "Normandie"
country: "France"
type: "festival"
url: "https://www.opal-festival.com/"
labenne:
fullName: "Labenne"
......
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