Commit e359a343 by PLN (Algolia)

checkpoint(tracks+gig): save-state before ParVagues-lib rationalization

Snapshot of the live-set material and gig docs before the planned lib
restructure (dedup + a proper loaded ParVagues prelude so gF/gM/djf live in
one place, not re-defined in scratchpads). Also protects secrets: .env +
build noise now gitignored. Includes FOH_MASTER.md (master-bus hardening
recipe) and the ordered-202HD shopping update. Track edits: desire,
vague_de_crime, + new network_zero_un / bombe_dj / ca_fait_rien /
electric_hammer.
parent 2bc6a8e2
......@@ -7,3 +7,14 @@
*.hi
*.dyn_hi
*.mov
# Secrets — never commit
.env
*.env
# Python / build noise
__pycache__/
*.pyc
# Local archives & bulky derived assets (kept out of git; back up via fbk)
*.tar.bz2
# FOH Master-Bus Hardening — Build Recipe
**Session:** `/home/pln/Work/Sound/Ardour/Tidal Live/Tidal Live.ardour` (Ardour 9.2, created with 8.6)
**Role:** dual-purpose — **live PA feed to FOH** *and* **12-orbit stem recorder** for later release remastering.
**Goal:** clean gain structure + a true-peak brickwall safety limiter + optional kick→bass sidechain ducking, **without** baking master processing into the recorded stems.
**Author's note:** everything below was read out of the actual `.ardour` XML on 2026-07-25. Spec only — the session file was **not** modified.
---
## 1. Findings — what is actually in the session right now
### Track list (15 routes)
- **Master** (id 71) — stereo out, currently patched to `Comet Lake PCH cAVS Headphones` (dev machine; will be your interface live).
- **Tidal 01–12** (12 audio tracks) — each fed from a SuperCollider orbit: `Tidal NN``SuperCollider:out_(2N-1)/(2N)`. So **Tidal 01 = SC out_1/2 = orbit 0 = d1**, … **Tidal 11 = SC out_21/22 = orbit 10 = d11**, **Tidal 12 = out_23/24 = orbit 11 = d12**. (Orbit `N` in Tidal is 0-indexed → `d(N+1)``Tidal (N+1)`.)
- **Keys** (id 2756) — MIDI/ZynAddSubFX.
- **Mic** (id 145585) — audio.
### Current Master processor chain (exact order, top→bottom)
| # | Processor | Type | State |
|---|-----------|------|-------|
| 1 | **Polarity** (id 102) | polarity | active |
| 2 | **Trim** (id 103, labelled "Amp") | trim | active, `trimcontrol = 1.0` (0 dB) |
| 3 | **Amp / fader** (id 101) | amp | active, `gaincontrol = 0.366`**−8.7 dB** |
| 4 | **ACE Compressor (stereo)** (id 11497) | lv2 `urn:ardour:a-comp#stereo` | active proc, **but `enable = 0` (bypassed internally)**; `sidech = 0` (SC listen OFF). Params: att 50 ms, rel 400 ms, knee 8, **ratio 5:1**, thr −4 dB, makeup +2.3 dB (preset "VocalLeveller"). Has a **3rd (sidechain) input already wired** — see below. |
| 5 | **ACE Inline Spectrogram** (id 99029) | luaproc | visualizer (pass-through) |
| 6 | **LSP Spectrum Analyzer x1** (id 250581) | lv2 | visualizer (pass-through) |
| 7 | **Master main-outs** (id 105) | main-outs | → hardware out |
| 8 | **meter-Master** (id 104) | meter | K-meter tap |
Route attributes: `meter-point="MeterOutput"`, **`meter-type="MeterK14"`** (K-14 scale already selected), `disk-io-point="DiskIOPreFader"`.
**➡ THE GAP: there is no limiter of any kind on the master.** The only dynamics plugin (ACE Compressor) is *disabled*. Nothing stops a `# gain 1.4` kick or a feedback runaway from clipping the PA. This is the #1 thing to fix.
### The sidechain is already half-built
- **Tidal 11** carries a **pre-fader send** named `send 6` (id 106533) whose two outputs both feed `SC Master/ACE Compressor (stereo) 4/audio_in 1` — i.e. a **mono key** into the compressor's sidechain port. Send gain = unity, and it sits **before** Tidal 11's fader, so it taps the signal even though **Tidal 11's own fader is at 0 (−∞ dB)** — Tidal 11 is currently a *silent, dedicated sidechain-key track*, not part of the audible mix.
- So the session already designates **Tidal 11 (orbit 10 / d11) as the kick key**. **Verify this per-set** — orbit→role is not fixed across ParVagues tracks; confirm against the loaded track's `.tidal` and by ear that d11 is your kick before trusting the ducking. If the kick lives on a different orbit for a given track, move the send (§5).
- Both compressor toggles that would make it do anything (`enable`, `sidech`) are **off**, so today the sidechain does nothing.
### Gain-staging state (fader snapshot in the file)
Master fader **−8.7 dB**; many orbit faders are parked at **0 (−∞)** or low (e.g. −15.2, −14.4, −12.7 dB) with a couple near unity (−1.3 dB, 0 dB). This is the ad-hoc, ride-it-by-hand structure behind *"output is very low on stage"*: the master is pulled down ~9 dB **and** the one gain-recovery device (compressor makeup) is switched off. (These stored values are a snapshot, not a designed structure.)
### Stem-safety — already correct, keep it that way
Every **Tidal 01–12** track has `disk-io-point="DiskIOPostFader"`. That disk-writer tap is **post the track's own fader but before the signal is summed into Master** — so **the master chain (comp/limiter) can never bake into the recorded stems.** The Master itself is `DiskIOPreFader`, but Master isn't record-armed. ✅ Nothing you add to the master bus touches the stems. The only thing that *does* color a stem is that track's **own** fader/trim/plugins.
---
## 2. Target signal flow
```
SuperCollider orbits (peaks ~ -6 dBFS at source, set in SuperDirt # gain)
▼ [ per-orbit tracks Tidal 01..12 ]
Trim(unity) ─► [pre-fader SEND on kick orbit] ─────────────┐ (mono key)
│ │
Fader(ride for balance) │
│ │
DiskWriter ── records CLEAN stem (post track-fader, PRE master) ✔
│ │
└────────────► sum to M A S T E R bus │
│ │
┌──────────────────────────┘ │
▼ │
1. Polarity │
2. Trim (master input trim — set overall drive here) │
3. Fader (→ 0 dB / unity) │
4. ACE Compressor (stereo) ◄───────── sidechain key ◄──────┘
│ (glue 2–3 dB GR; sidechain ducks bass under kick)
5. Spectrogram / LSP analyzer (visualizers, pass-through)
6. ★ x42 DPL — Digital Peak Limiter (stereo) ◄── NEW, LAST PROCESSOR
│ true-peak mode, ceiling −1 dBTP (brickwall PA safety)
7. Main-outs ─► hardware ─► FOH
K-14 meter (route meter, MeterOutput) — read loudness/headroom
```
Rule that makes the whole thing safe: **the limiter is the last processor before `main-outs`.** Anything after it (only the meter/main-outs) cannot re-raise the level past the ceiling.
---
## 3. Plugins to insert, order, and starting parameters
### 3a. The limiter (the one mandatory addition) — **x42 DPL "Digital Peak Limiter (Stereo)"**
Ships in Ardour's bundled x42 set; it's a look-ahead brickwall limiter (Fons Adriaensen DPL-1 lineage) with a genuine **true-peak** detection mode (key input 4× oversampled), ~1 ms latency, and the same gain reduction on both channels (no image shift). It is the right tool here because it is *transparent, dead-simple (3 knobs), and true-peak-accurate* — exactly what a live safety brickwall needs.
**Insert position:** after the LSP analyzer, **immediately before `Master main-outs`** — i.e. dead last.
**Starting parameters (x42 DPL Stereo):**
| Control | Value | Why |
|---|---|---|
| **True Peak** | **On** | catch inter-sample peaks; a PA/limiter downstream sees dBTP, not just sample peaks |
| **Threshold** (= output ceiling) | **−1.0 dBTP** | brickwall ceiling; leaves margin for D/A and downstream FOH gear |
| **Input Gain** | **0 dB** to start; raise to **+2…+4 dB** to drive it for a hotter, more consistent FOH feed | this knob is your "make it louder safely" control — everything above ceiling is caught |
| **Release** | **150 ms** | fast enough to stay loud on 4-on-the-floor techno, slow enough to avoid audible pumping on sustained bass |
> Rationale for "hot but safe": don't chase loudness with the fader (that clips). Push **Input Gain** into the DPL; the ceiling holds at −1 dBTP no matter what. On techno this typically means 1–3 dB of limiting on kicks — inaudible, and it converts your peaky signal into a louder average.
**Alternatives (equivalent slot, pick one — DPL preferred):**
- **a-Limiter** (Ardour bundled, `Fast Lookahead Limiter`, SWH) — fine brickwall but **sample-peak only** (no true-peak), and pumps more with a short release. Use only if DPL isn't in your build. Params: Limit −1.0 dBFS, Release 150 ms, Input gain to taste.
- **Calf Limiter (LV2)** — true-peak-ish (ASC), has its own metering and a soft-clip stage. Heavier CPU, more knobs than you want live. Params: Limit −1.0 dB, Lookahead 5 ms, Release 150 ms, ASC on.
**Optional loudness read-out (does not touch audio):** add **x42 dpMeter (EBU R128 / dpMeter4)** as the very last slot *after* DPL, or read the existing **K-14 route meter**. Use it to sanity-check that your live feed sits in a consistent range (see §6). Keep it a *meter*, not a second processor in the audio path if CPU is tight — the K-14 route meter already exists.
### 3b. The compressor (already present — enable and re-tune it)
Keep **ACE Compressor (stereo)** in slot 4. Turn it into a gentle glue/ducking device, not a vocal leveller:
| Control | From → To | Why |
|---|---|---|
| **Enable** | 0 → **1** | it's currently bypassed |
| **Ratio** | 5:1 → **2.5:1** | glue, not squash |
| **Threshold** | −4 → **−12 dB** | so it acts on mix peaks, ~2–3 dB GR |
| **Attack** | 50 → **30 ms** | let the kick transient through (esp. important with sidechain) |
| **Release** | 400 → **120 ms** | breathe with the tempo |
| **Knee** | 8 (keep) | soft |
| **Makeup** | 2.3 → **+3…4 dB** | recover level — part of the "louder on stage" fix |
| **Sidechain** (`sidech`) | 0 → **1** *(only when using kick ducking, §5)* | routes the SC key to the detector |
Order stays **Compressor → (visualizers) → Limiter**: compress for tone/glue, *then* brickwall for safety. Never the reverse.
---
## 4. Gain-structure guidance (the "too quiet on stage" fix)
The signal is quiet because the **master fader is at −8.7 dB and the makeup/comp is off** — you're throwing away ~9 dB and not recovering any. Rebuild the structure bottom-up:
1. **At the source (SuperDirt):** aim each orbit's `# gain` so the **orbit stem peaks around −6 dBFS** (check on the per-track meters, `MeterPostFader`). −6 gives transient headroom and keeps stems clean for release. Fix reds *here*, not on the master.
2. **Per-track Trim:** leave at **unity (0 dB)**. Trim is your clean per-orbit offset if one orbit is consistently hot/quiet — prefer trimming here over riding the fader, because trim is stable and the stem stays sensible.
3. **Per-track faders:** set to **0 dB (unity) as the home position**; ride only for musical balance. (Today several sit at −∞/−15 dB — reset the ones you actually use to unity so you have a known starting point.) Remember: the fader **is** post-record tap → big rides *do* shape the recorded stem. For release-critical balance, prefer Trim + source gain.
4. **Master Trim (slot 2):** this is your overall-drive control into the comp/limiter. Start **0 dB**; if the summed mix is hot into the comp, pull Trim down a couple dB rather than the fader.
5. **Master fader (slot 3):** return to **0 dB (unity)** — stop using it as an attenuator.
6. **Recover/level with Compressor makeup (+3–4 dB) and Limiter Input Gain (+2–4 dB).** These give you a *hot, controlled* feed instead of a quiet peaky one.
### Live loudness target vs release LUFS — they are different jobs
- **Release mastering** targets an integrated **LUFS** number over the whole track: **−14 LUFS** streaming / **−9 LUFS** club (project standard). That's a long-window *average* measured offline on a finished file.
- **Live FOH is not a LUFS target.** You can't master an integrated LUFS in real time, and the FOH engineer sets the room's absolute level anyway. Your job on stage is **controlled peaks + consistent short-term loudness**: hand FOH a signal that (a) **never exceeds −1 dBTP** (the limiter guarantees this) and (b) stays in a **steady short-term band** so they're not constantly riding you. Practically: aim your **short-term loudness to sit around −12 to −10 LUFS-S** on the dpMeter/K-14 with the limiter catching only 1–3 dB — loud, consistent, and clip-proof. Give FOH headroom, don't hand them a brickwalled −9 LUFS master; let the PA amplify.
---
## 5. Sidechain routing — kick orbit → master compressor (Ardour 9)
**The wiring already exists** (Tidal 11 `send 6` → compressor SC input, §1). To **use** it:
1. **Confirm the kick orbit for the current track.** The session assumes **Tidal 11 = d11 = kick key**. Validate against the loaded `.tidal` (which orbit is the kick) and by ear. If correct, skip to step 4.
2. **If the kick is a different orbit** (say `Tidal 03`): open that track's mixer strip → **right-click the black area at the top of the processor box → New Aux Send… is not what you want**; instead **right-click → "New External Send…"** *no* — use: right-click the processor box → **`Sidechain`** is set from the plugin side. The clean way: on the **kick track**, right-click processor box → **New Pre-Fader Send…** → in the send's output routing, connect its two ports to **`Master/ACE Compressor (stereo)/audio_in 1`** (the SC port). Make it **pre-fader** so ducking is independent of the kick's fader ride. Delete the old `send 6` on Tidal 11 if you moved the key.
3. Keep the send **mono-summed into `audio_in 1`** (both send channels → in 1), matching the existing setup — the detector only needs a mono key.
4. **On the master compressor:** double-click ACE Compressor → set **Sidechain (`sidech`) = On** and **Enable = On**. Now the detector listens to the kick, not the full mix.
5. **Tune the duck:** with sidechain on, use **Attack ~5–15 ms** (fast, so the bass dips right as the kick hits), **Release 80–120 ms** (recover before the next kick at techno tempo — at 130 BPM a 1/8 note ≈ 115 ms, so ~100 ms release gives a clean pump-and-recover), **Ratio 3–4:1**, **Threshold** so the *kick key* drives **3–5 dB** of gain reduction. Result: the bass ducks under each kick, un-masking the low end.
6. **Set the kick key level** with the **send gain** (currently unity) so the compressor is triggered reliably but not slammed.
> Caveat: the master compressor ducks the **whole mix** under the kick, not just the bass. On a dense techno mix that reads as a musical pump (often desirable). If you want to duck **only** the bass, that belongs on the *bass orbit's* own strip (a per-track sidechain comp keyed by the kick), not the master — out of scope for master hardening, note it for a future pass.
---
## 6. Stem-safety checklist (guarantee recorded stems stay clean / pre-master)
-**Each Tidal 01–12 is `disk-io-point = DiskIOPostFader`** — records post its own fader, **before** the Master sum. Confirm it stayed that way: Mixer → each track → the disk-writer tap. Master processing (comp/limiter) is downstream of the record tap, so **it cannot touch stems**. (Verified in file today.)
-**Do not record-arm the Master.** Master is `DiskIOPreFader` but must stay disarmed; the stems are the deliverable, not a master print. (If you ever want a full-mix reference, add a *separate* record bus fed post-limiter — never arm Master itself.)
-**Never put release-critical processing on the master and expect it in the stems** — by design it won't be. Any tone you want *in the stem* goes on that **track's** strip.
- ⚠️ **Fader rides bake into stems** (post-fader tap). For balance you care about at release time, prefer **per-track Trim** + **source `# gain`**; reserve fader for live moves you're happy to re-do in remaster.
- ⚠️ **Tidal 11 is currently a silent key track (fader 0).** Its recorded stem will be silent/near-silent. If d11 is a real musical orbit for a given track, either (a) raise its fader and take the sidechain key from a *separate* pre-fader send (the send is already pre-fader, so the key is unaffected by the fader), or (b) move the key to the actual kick orbit (§5). Decide per-set.
-**Set source peaks to −6 dBFS** so stems have headroom for release mastering (no track should show red on `MeterPostFader`).
---
## 7. Step-by-step GUI build in Ardour 9.2 (~10 minutes)
**A. Add the safety limiter (2 min) — do this first, it's the critical fix**
1. Show the **Mixer** (`Alt+M`). Select the **Master** strip.
2. In the Master's **processor box**, right-click in the empty space **below `LSP Spectrum Analyzer`** and **above the output/main-outs****New Plugin → By Category → Dynamics** (or **Plugin Manager**, search **`DPL`**).
3. Add **`x42-limiter — Digital Peak Limiter (Stereo)`**. Confirm it lands **last, just above the main output**. Drag it there if not.
4. Double-click it: **True Peak = On**, **Threshold = −1.0**, **Release = 150 ms**, **Input Gain = 0** (raise later).
**B. Re-enable + retune the compressor (2 min)**
5. Double-click **ACE Compressor (stereo)**. Set **Enable On**, **Ratio 2.5**, **Threshold −12**, **Attack 30**, **Release 120**, **Makeup +3.5**. Leave **Sidechain Off** for now (turn on in step D).
**C. Reset gain structure (3 min)**
6. Master strip: set **Trim = 0 dB**, **Fader = 0 dB** (right-click fader → *Set value* → 0, or type it).
7. For each orbit you'll actually use: **Trim = 0 dB**, **Fader = 0 dB** as home. Then quickly set each orbit's SuperDirt `# gain` so its `MeterPostFader` peaks ~**−6 dBFS**.
8. Raise **DPL Input Gain** to **+2 dB** (then to taste) so the feed is hot; watch the K-14 meter.
**D. Arm the kick sidechain (3 min)**
9. Confirm the kick orbit (§5 step 1). If it's Tidal 11, just: double-click **ACE Compressor → Sidechain On**.
10. If the kick is elsewhere: on that track's strip, right-click processor box → **New Pre-Fader Send…** → route its outputs to **`Master/ACE Compressor (stereo)/audio_in 1`** (both → in 1); delete old `send 6`; then **Compressor → Sidechain On**.
11. Set compressor **Attack 10 ms, Release 100 ms, Ratio 3.5**, and adjust send gain so you see **3–5 dB GR** pumping on each kick.
**E. Save As (don't overwrite blindly)**
12. **Session → Save As** a new snapshot (e.g. `Tidal Live — FOH hardened`) so you can A/B against the current file.
---
## 8. Soundcheck test — prove the limiter catches an over-hot kick without pumping
1. **Baseline:** play a normal techno pattern. On the **K-14 route meter** the mix should sit with peaks near/just under **−1 dBTP**, comp showing ~2–3 dB GR. Note the DPL gain-reduction meter — occasional 1–2 dB dips on kicks are fine.
2. **The deliberate abuse:** in Tidal, fire a hot kick: `d1 $ s "bd*4" # gain 1.4` (or push the kick orbit `# gain` well past normal). Without the limiter this would clip the PA.
3. **Watch the DPL:** its gain-reduction meter should jump (several dB) and **the Master output must NOT exceed −1 dBTP** — the route meter's peak-hold stays pinned at/under −1, no red on the output. That's the brickwall doing its job.
4. **Listen for pumping:** the kick should still sound like a kick — punchy, not "sucked". If you hear the *whole mix breathing/pumping* on each hammered kick, **lengthen DPL Release** (150 → 200–250 ms) and/or back off **Input Gain**. If kicks sound dulled/squashed, **shorten Release** (→ 100 ms) — the DPL recovers faster between hits.
5. **True-peak proof:** toggle DPL **True Peak off then on** while feeding the hot kick; with it **on**, the output peak-hold should read ≤ −1.0 **dBTP** (not just dBFS). Leave it **on**.
6. **Sidechain check (if used):** solo kick+bass, hammer the kick — the bass should audibly **duck under each kick and recover** before the next. Tune with compressor Release (§5.5). Then unmute the mix and confirm the low end feels *clearer*, not pumping.
7. **Reset** the abuse pattern to normal `# gain` before the show.
---
## TL;DR — top 3 changes
1. **Insert x42 DPL (Stereo) as the last master processor**, True-Peak on, ceiling **−1 dBTP**, release 150 ms — the missing brickwall PA safety. (Today there is **no limiter at all**.)
2. **Fix the gain structure:** master fader is at **−8.7 dB** and the only makeup device (ACE Compressor) is **disabled** — that's why it's quiet on stage. Return master fader/trim to **unity**, set orbit sources to **−6 dBFS peaks**, **enable the compressor** (2.5:1, −12 thr, +3.5 makeup), and drive loudness with **DPL Input Gain**, not the fader.
3. **Arm the kick→bass sidechain** that's already 90% wired (Tidal 11 pre-fader `send 6` → compressor SC): flip **Sidechain On + Enable On**, set fast attack / ~100 ms release for a clean techno duck — but **verify the kick is really on d11** for the loaded track first.
Stems stay safe automatically: all 12 orbit tracks record **post-track-fader, pre-Master** (`DiskIOPostFader`), so nothing you add to the master bus can bake into the recorded stems.
---
Sources: [x42 Digital Peak Limiter](https://x42-plugins.com/x42/x42-limiter) · [dpl.lv2 (GitHub)](https://github.com/x42/dpl.lv2) · [True-peak limiter options for Ardour (discourse)](https://discourse.ardour.org/t/true-peak-limiter-options-for-ardour/104507)
......@@ -4,12 +4,15 @@ Gig prep (OPAL 2026, ~J-10). **Delivery reality:** few-days **Amazon**, or **sca
Pigalle** (Paris music shops) — nothing slower than ~Aug 1 is useful.
Format per item: what & why (2 lines) + 3 example search queries.
## 1. USB audio interface — balanced line outs ⭐ PRIORITY
## 1. USB audio interface — balanced line outs ✅ ORDERED (Behringer UMC202HD, arrives 2026-07-26)
Replaces the laptop headphone-jack feed to FOH with clean balanced TRS/XLR line level:
lower noise, DI-friendly, proper monitor path. The single biggest stage-signal upgrade.
- `Focusrite Scarlett 2i2 4th gen`
- `MOTU M2 audio interface`
- `Behringer UMC202HD` (budget class-compliant)
Chose the 202HD (2-in/2-out) over Scarlett on delivery runway; class-compliant, no Linux
driver needed. 2-out = clean stereo to FOH (all this gig needs). If hardware (modular / POs /
OP-Z) ever needs summing into a live set, the 4-in/4-out **UMC404HD** is the future upgrade.
- `Focusrite Scarlett 2i2 4th gen` (nicer, if ever returning the 202)
- `Behringer UMC404HD` (4-in/4-out — the "grow into the desk" upgrade)
- `Behringer UMC202HD` ← ordered
## 2. Powered USB hub
The laptop can't reliably power LCXL + interface + dongles at once; a *powered* hub keeps
......
......@@ -67,10 +67,13 @@ Instructions
# Work in progress⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
## 26 lettres de noblesses
## Juillet Douillet
-- Vague de Crime
-- Bombe DJ
-- TODO Humpty
-- Network Zero Un
-- Electric Hammer
## Juin Faites de la musique
-- Vague de Crime
## Mai fait ce qu'il te plait
......@@ -1862,12 +1865,6 @@ Sept1
# Montreuil Algorave V3: Mai Floral
_TechnoJazz_
......@@ -1919,17 +1916,22 @@ ParVagues et Shipow
## Livecoding Techno DNB Nu-jazz
-- Piment Bresilien
-- WAP
-- Perfect <3
-- Premier Septembre
-- Gimme Acid??!?
-- Vague de CRIME
-- Mafia
-- Sunshine
-- Desire
-- Something about drums
### _Ouverture_
-- [lightT][124] Ceci n'est pas Une Bombe
-- [lightT][133] WAP
-- [lightT][89*]Do it Right
### _We call it TechnoJazz_
-- [jazzT][124] Take five Drops
-- [hardT][124] Piment Bresilien
-- [T][128] Perfect <3
-- [dnb][160] Gimme Acid??!?
-- [lightT][120] Vague de CRIME
-- [hardT][160] Mafia
-- [dnb] Sunshine
-- [129] Desire [TODO BASS]
-- Something about drums /!\
-- Premier Septembre /!\
## Images
......
do
-- resetCycles
setcps (129/60/4)
setcps (127/60/4)
d1 $ gF1 $ gMute2 -- KICK: Sub thud, 4otf with flourish (NTO: deepens over time)
$ midiOn "^42" (<| "k k k <k k*2 k [~ k]>") -- ON: 4otf + flourish variations
$ midiOff "^42" (<| "k ~ ~ <~!3 k>") -- OFF: sparse intro
......
once $ "network"
do
-- resetCycles
setcps (84/60/4)
d1
$ gF1 $ gMute2
-- $ midiOff "^42" (<| "<k [~!7 k*<1 2>]>")#
$ midiOn "^30" (# "jazz:0")
$ midiOff "^42" (<| "k . ~ k ~ ~")
$ midiOn "^42" (<| "k k . k <k [~ k] k k*2>")
$ "[popkick:2,kick:5]"
# lpf 300 -- TODO Sound design this kick <3
-- # cut 1
# gain 2
-- # midiG' "^78" 0 1.5
d2 $ gF1 $ gM1
$ midiOn "^43" (<| "~ s ~ s*<1!3 <2 [4 2]>>")
$ midiOff "^43" (<| "~ . s*<1!3 2> ~")
$ "[realclaps:0,snare:56]"
-- # "h2ogmcp"
-- # gain (1.0 * "<[1]!16 [1 <1 <1 [1 0.93] 1 [0.9]>>]!16>")
# gain 1.2
d3 $ gM1 $ gF1
$ "~ d ~ d*<1 2 2 1> ~ d ~ d"
# "h2ogmhh"
# hpf 7000
# gain 1.4
# room 0.3 # sz 0.5 # dry 0.9
d4 $ gF2 $ gM3
$ midiOn "^57" (striate "<4!3 <8 16>>")
$ midiOn "^89" (ply 2)
$ slow 2 $ slice 4 "<0 1 2 3>"
$ "gfunk_bass:2"
# cut 4
# room 0.4
# gain 1.1
# room 0.3 # sz 0.4
# crushbus 41 (range 16 4 "^53")
# octersubbus 42 (range 0 1.4 "^33")
d9 $ gF3 $ gM3
$ midiOn "^18" ( -- GET MAD!
(fast 4) .
(# n "<6 9 9 11>")
)
$ slow 8
$ ply 2
$ n "<0 1 2 3 01 2 3 4 5 6 7 5 6 7 8>"
# "network/4"
-- # cut 9
# room 0.3
# gain 1.3
# delaybus 91 (range 0 0.9 "^19")
# delayt 0.25
# delayfbbus 92 (range 0 0.4 "^19")
d7 $ gF3 $ gM3
$ note "[ef fs bf ef4]" # "FMRhodes1"
d8 $ gF1
$ gM1
$ midiOn "^92" (ply "<2 2 2 <4 8>>")
$ midiOff "^60" (mask "t(8,16,1)" . chop 16)
$ chop 8
$ fix (loopAt 2) (n 155)
$ loopAt 1
$ midiOn "^36" (loopAt "0.5" . (# n "<135!3 [<135 155> 155]>"))
$ midiOn "^56" (# n 152)
$ "jungle_breaks:74"
# cut 8
-- MI! e gs a b c d ef tension e resolution
do
-- resetCycles
setcps (124/60/4)
let gMask = (midiOn "^41" (mask "t . <f t f <f t>> <t f f <t f>>"))
let gMute1 = (midiOn "^73" (mask "f*16"))
let gMute2 = (midiOn "^74" (mask "f*16"))
let gMute3 = (midiOn "^75" (mask "f*16"))
let gM1 = gMask . gMute1
let gM2 = gMask . gMute2
let gM3 = gMask . gMute3
d1 $ gF1 $ gM2
$ midiOn ("^41"-"^42") ((<| "k(3,8) ~"))
$ midiOff ("^42"+"^41") (<| "k*<1!7 2> ~ . ~ <~!7 [k*2 k]>")
$ midiOn "^42" ((<| "k k k*<1!8 2!8> k*<1 <2!2 4>>"). (# "kick:4") . (|* gain 0.94))
$ "[808bd:1,808bd:11]" -- 1 4 6 9 11
# gain 1.52
d2 $ gF1 $ gM1 -- Clap Technocratiqu
$ midiOn "^43" (mask "[t <f t!3>] [t <f t>]" . fast 2)
$ "~ s ~ [s*<1 2> <~ s*<2 [4 2]>>]"
# "vec1_claps" # n 10
# gain 1.4
# sz 0.4 # room 0.3 # dry 0.8
# lpf 2000
d3 $ gF1 $ gM1
$ midiOn "^44" (<| "[~ h*<1!3 <1 2 [4 2] 1?>>]*4" )
$ midiOff "^44" (<| "h(3,8) h([3 1 3],8)")
$ "h2ogmhh"
# gain 1.4
# room 0.3
# dry (slow 16 $ range 0.2 1.8 perlin)
# legato (range 0.05 2 "^52")
# sz 0.4
d4 $ gF3 $ gM3
$ midiOn "^89" (struct "t(8,16)")
$ juxBy 0.7 (|- note 12)
$ midiOff "^17" (slow 4)
$ midiOn "^57" (arp "pinkyup")
$ midiOff "^57" (arp "up")
$ ply 2 $ slow 2 $ note ("<[e3, gs3, b3, c4] [e3, d4, c4, b3] [e3, f4, ef4, e4] [e3, f4, ef4, e4]>" + "[0,-12]")
# "bassWarsaw"
# crushbus 41 (range 16 3.5 "^53")
-- # cut 9
# room 0.5 # sz 0.5
# dry 1.5
# gain 1.5
d5 $ gF3 $ gM3 -- GUITARE DU DJ
$ midiOn "^58" (ply 4)
$ midiOn "^90" (ply "4 <2 4 4 8>")
-- $ slow 4 $ n "<9 9 9 11 12 12 13 14 15>"
$ slow "<1 2 ~ <2 ~>>" $ n "9"
# "diams_dj"
# cut 5 # gain 1.5
# crushbus 51 (range 16 4.5 "^54")
-- # room 0.3 # sz 0.6 # dry 0.4
-- # octer 0.8 # octersub 1.2
# lpf 5000
# pan (slow 4 $ range 0.8 0.2 sine)
d7 $ gF3 $ gM3 -- Laisse moi kiffer la vibe.
$ midiOn ("^91" - "^59") (ply "<2 <2 4> 2 <4 [4 8] [4 16 4] [16 4]>>")
$ midiOn "^35" (-- COPINE
ply 4 .
(>| n (slow 8 "<2 6 2 2>"))
. (# begin "<0!3 0.5>")
)
$ midiOn "^59" (-- KIFFANCE DE VIBZ
midiOn "^91" (ply "<1 1 1 2> <2 4>") .
ply 4 .
(>| n (slow 4 $ "<4 5>"))
)
$ fix (|* gain 0.8) (n 3)
$ midiOn "^35" (slice 4 "0 1 2 3") -- SMALLER SLICES PLZ
$ midiOn "^55" ( -- SLICE THAT, DJ
slice 4 "<0 1*<1 <2 4>> 2 <3 3*2 3*[4 1] 3>>")
$ midiOff "^55" (slice 4 "<0 1 2 3>")
$ loopAt 4
$ n "<0!4 1!4 2!4 3!4 6!4 2!4 7 8 7 8 0 1 2 3>"
# "diams_dj"
# cut 7
# gain 2
# room 0.2 # sz 0.3 # dry 0.72
# pan "<0.7!3 0.3>"
d8 $ gM1 $ gF1
$ midiOn "^60" (mask "t(4,8,1)")
$ chop 8
$ loopAt 1
$ midiOn "^36" (loopAt 2 . (# n 105))
$ midiOn "^56" (# n 113)
$ "jungle_breaks:104"
# cut 8
# gain 1.6
d9 $ gF3 $ gM3
$ midiOff "^18" (slow 4)
$ arp "up"
$ ply 2 $ slow 2 $ note "<[e3, gs3, b3, c4] [e3, d4, c4, b3] [e3, f4, ef4, e4] [e3, f4, ef4, e4]>"
|+ note 12
# "FMRhodes2"
# modIndex (range 0 32 "^19")
-- # cut 9
# room 0.3 # sz 0.5 # dry 1.5
# gain 1.6
-- --
-- --
-- --
-- --
do
setcps (105/60/4)
d1
$ gF1 $ gMute2
-- $ midiOff "^42" (<| "<k [~!7 k*<1 2>]>")
$ midiOff "^42" (<| "k . ~ k ~ ~")
$ midiOn "^42" (<| "k k . k <k [~ k] k k*2>")
$ "popkick:2"
# lpf 300
-- # cut 1
# gain 2
-- # cps ((range 60 180 "^29")/60/4)
d2 $ gF1 $ gM1
$ midiOff "^43" (<| "~ s ~ s*<1!3 2>")
$ midiOn "^43" (<| "~ . s*<1!3 2> ~")
$ "[realclaps:0]"
-- # "h2ogmcp"
-- # gain (1.0 * "<[1]!16 [1 <1 <1 [1 0.93] 1 [0.9]>>]!16>")
# gain 1.2
-- # room 0.5 # dry 1.1
-- # delay "<0!15 0.6!1>"
-- # delayt 0.25
d3 $ gF1 $ gM1
$ "~ h ~ h*<1!8 2!8> ~ h*<1 1 1> ~ h"
-- $ "h(3,8) h(3,8)"
-- # pan "0.2 0.8"
# "h2ogmhh:2"
# gain 1.3
# hpf 1500
-- # att 0.03 # rel 0.9
-- # legato (range 0.05 0.9 "^32")
d4 $ gF2 $ gM3
$ fast 2
$ slice 4 "<0 1 2 3>"
$ "humpty:0"
# pan 0.2
d5 $ gF3 $ gM3
-- $ midiOn "^58" (slice 4 "0 1 2 3")
-- $ midiOff "^58" (slice 4 "<0 1 2 3>")
-- $ fast 2 slice 4 "<0 1 2 3>"
$ "humpty:5"
# cut 5
# pan 0.8
d4 $ gF2 $ gM2
$ note ("<cs4 <c4 f4> [gs3@3 <~ bf3>] f3>" -12)
# "bassWarsaw"
# gain 1.3
# cut 4
# room 0.3
d5 $ gF2 $ gM2
$ note (
"<cs4 c4 [gs3@3 bf3] f3>"
+ (arp "up" "c'maj'4 c'maj'4")
)
# "FMRhodes1"
# modIndex (range 0 16 "^54")
# gain 1.3
# cut 5
# room 0.3
d8 $ gF1 $ gM1 $ loopAt 2
$ chop 8 $ "jungle_breaks:74" # cut 8
d4 $ gF2 $ gM3
-- $ midiOn "^57" (
-- superimpose (("e" ~>) .(|+ note 12) . (# cut 41)))
$ note ("0(3,8) . 0(3,8)" + "d"
+ "<0 0 0 0 7 7 5 0>"
)
-- # "moog:1"
# "bassWarsaw" |- note 36
# crushbus 41 (range 16 3.5 "^53")
# pan 0.4
# cut 4
# gain 1.5
d5 $ gF3 $ gM3 -- Les ptites keys de fin de session tranquilou
-- $ midiOn "^90" (ply "4 <8 16>")
$ slow 2
$ slice 8 "<0 1 2 3 4 5 6 7>"
$ "gfunk_lead:13" # cut 4
# gain 1.8
# crushbus 51 (range 16 3.5 "^54")
# pan 0.9
# room 0.3
d7 $ gF3 $ gM3 $ "trance_amb:0/2" # cut 7
d8 $ gF1 $ gM1
$ midiOff "^60" (mask "t(4,8,1)") -- Techno drum mask
$ midiOn "^36 " (loopAt 4 . (# "jungle_breaks:22")) -- Raise COMEON!
$ midiOn "^56" (loopAt 4 . (# "jungle_breaks:23")) -- Raise COMEON!
$ midiOn "^92" ( -- Bouton Nassim <3
slice 16 "[0 .. 7] . <[0 .. 7]!3 [0 1 . [2 3]]>"
. loopAt 1 . (# "breaks165")
-- . (# octer 0.4) . ( octersubsub 4)
. (# lpf 2500)
. (# room 0)
)
$ chop 16
$ loopAt 1
$ "breaks165"
# cut 8
# octersub 0.5
# gain 1.2
d9 $ gF3 $ gM3
$ midiOn "^19" (ply "4 8")
$ midiOff "^18" (mask "<f!3 t>")
$ "ouais" # n (slow 4 "<0 1 2 3>" )
# cut 9
# end "<1!12 0.47!3 1>"
# room 0.4
# gain 1.4
once $ "rampleS21:0"
resetCycles
-- // ATTENTION LES SAMPLES SONT HASARDEUX A REFAIRE :))
do
setcps (130/60/4)
d1
$ midiOn "^42" (<| "k k k <k <k*2 [~ k]> k k*[2 <2 4>]>")
$ midiOff "^42" (<| "k . ~ k ~ ~" )
$ "kick:5"
d2 $ "~ s . ~ s" # "snare:5"
d3 $ gF1 $ gM1
$ ("e" ~>)
$ chop 8
$ loopAt 1
$ "hammer:0"
# cut 3
# room 0.2
d4 $ gF2 $ gM2
$ slow 2
$ "hammer:1"
# cut 4
d5
$ midiOn "^90" ((ply "4 4 <4 [4 8]> <2 4 8 <4 2 4 1>>"))
$ midiOn "^58" ((ply 4) . (# end 0.05))
$ slow 4
$ "hammer:7"
# cut 5
# room 0.4 # sz 0.6 # dry 1.1
# octersub 1.4
d9 $ gF3 $ gM3 $ "~ ~ ~ h" # "hammer:3" # cut 9
--
-- do
-- setcps (164/60/4)
-- d1 $ gMute2 $ gF1 -- Kick solide
-- $ fix ((# att 0.02) . (# rel 0.5) . (# lpf 5000)) "kick:4"
-- $ midiOn "^42" (struct "t t t t*<1!6 2 2>")
-- $ midiOff "^42" (<| "k . ~ <~!3 k> ~ ~")
-- $ "[kick:4,jazz]"
-- # gain 1.3
-- d2 $ gF1 $ gM1 $ "~ c . <[~ c ~ c] [<c ~ ~ c> <~ c ~ c> . ~]>"
-- # "cp" # gain 1.1
-- # lpf 2000
-- # room 0.4 # sz 0.6 # dry 1.04 # octersub 0.8
-- d3 $ gF1 $ gM1
-- $ midiOn "^44" (>| "[~ hh]*4")
-- $ midiOff "^44" (chop 8 . loopAt 4 . (>| "crimewave:3") . ("e" ~>))
-- $ "drums"
-- # cut 3 # gain 1.6
-- # pan (range 0.4 0.8 perlin)
-- d4
-- $ gF2 $ gM3
-- $ chop 4 -- CRIMINAL BASSLINE
-- $ midiOn "^89" (ply "<[2 <2 [4 2]>]!3 [2 4]>")
-- $ slice 4 "<0 1 2 3>"
-- -- $ chop 4
-- $ "crimewave"
-- # n "<5!4 6!4>" # cut 4
-- # lpf 2000 # octersub 0.8
-- # gain 1.4
-- # crushbus 41 (range 11 3.13 "^53")
-- # octersubbus 42 (range 0 2.13 "^33")
-- # room 0.3 # sz 0.3 # dry 1.13
-- d5 $ gM3 $ gF3 -- THIS SYNTH IS A CRIME <3
-- $ slice 16 (slow 4 $ run 16)
-- $ midiOn "^58" (-- LZRTAG TAKEOVER <3 <3
-- (>| n (slow 4 "<11!4 12!4 13!4 14!4>"))
-- )
-- -- $ midiOn "^90" (ply 4) . (# begin 0.25)
-- $ midiOff "^58" (>| n (slow 2 $ "<0 1 2 <~ >>"))
-- $ "crimewave" # cut 5
-- d7 $ gM3 $ gF3 -- DARK LIPS <3
-- $ midiOn "^91" (ply "4 <4!3 8>")
-- $ midiOn "^35" ( -- GLITCH VOICE
-- (>| n (slow 2 "<16 17 18 19 20 21 22 23>"))
-- . (# room 0.3) . (# dry 0.9) . (# sz 0.4) )
-- $ slice 4 ("<0 1 2 3>") -- Structure par 4
-- $ midiOff "^59" (>| n (slow 8 "<9 10 7 8>" )) -- Loop Intro to Rough
-- $ midiOn "^59"
-- -- REMIX VOCALS CRIME
-- (
-- (>| n (slow 4 "<16 17 16 17 18 19 18 19 20 21 20 21 22 22 22 23>"))
-- . (|* gain 0.8)
-- . (# room 0.4) . (# dry 0.9)
-- )
-- $ "crimewave" # cut 7
-- # gain 1.45
-- d8 $ gF1 $ gM1 $ chop 8 $ loopAt 2
-- $ "jungle_breaks:74"
-- # cut 8
-- d10 $ gF1 $ gM1 $ mask "<t f!7>" $ "risers:8"
-- d6 $ gF3 $ gM3 $ slice 4 "<0 1 2 <3 3*2>>"
-- $ "crimewave:15"
-- # cut 9
-- # room 0.3 # sz 0.4 # dry 0.9
-- # delay 0.2 # delayfb 0.8 # delayt 0.125
-- # octersub 0.6
-- # gain 1.3
-- # lpf 4000
--
-- d6 $ "crimewave" # cut 6
--
-- once $ "crimewave:23" # cut 6
-- # gain 1.3
-- # octersub 0.6 # room 0.3 # sz 0.3 # dry 0.8
-- # pan 0.4
......@@ -3,11 +3,12 @@ resetCycles
do
setcps (120/60/4)
d1 $ gMute2 $ gF1 -- Kick solide
$ midiOn "^58" (# cps (130/60/4))
$ fix ((# att 0.02) . (# rel 0.5) . (# lpf 5000)) "kick:4"
$ midiOn "^42" (struct "t t t t*<1!6 2 2>")
$ midiOff "^42" (<| "k . ~ <~!3 k> ~ ~")
$ "[kick:4,jazz]"
# gain 1.2
# gain 1.3
d2 $ gF1 $ gM1 $ "~ c . <[~ c ~ c] [<c ~ ~ c> <~ c ~ c> . ~]>"
# "cp" # gain 1.1
# lpf 2000
......@@ -18,7 +19,9 @@ d3 $ gF1 $ gM1
$ "drums"
# cut 3 # gain 1.6
# pan (range 0.4 0.8 perlin)
d4 $ gF2 $ gM3 $ chop 4 -- CRIMINAL BASSLINE
d4
$ gF2 $ gM3
$ chop 4 -- CRIMINAL BASSLINE
$ midiOn "^89" (ply "<[2 <2 [4 2]>]!3 [2 4]>")
$ slice 4 "<0 1 2 3>"
-- $ chop 4
......@@ -26,28 +29,32 @@ d4 $ gF2 $ gM3 $ chop 4 -- CRIMINAL BASSLINE
# n "<5!4 6!4>" # cut 4
# lpf 2000 # octersub 0.8
# gain 1.4
# crushbus 41 (range 7 3.13 "^53")
# crushbus 41 (range 11 3.13 "^53")
# octersubbus 42 (range 0 2.13 "^33")
# room 0.3 # sz 0.3 # dry 1.13
d5 $ gM3 $ gF3 -- THIS SYNTH IS A CRIME <3
$ slice 16 (slow 4 $ run 16)
$ midiOn "^58" (-- LZRTAG TAKEOVER <3 <3
slice 8 (run 4) . (>| n (slow 4 "<11 12 13 14>"))
$ midiOn "^58" (-- LZRTAG CRIMINAL TAKEOVER <3 <3
(>| n (slow 4 "<11!4 12!4 13!4 14!4>"))
)
-- $ midiOn "^90" (ply 4) . (# begin 0.25)
$ midiOff "^58" (>| n (slow 2 $ "<0 1 2 <~ >>"))
$ midiOff "^58" ( -- Standard Crimes
>| n (slow 2 $ "<0 1 2 <~ >>")
)
$ "crimewave" # cut 5
# gain 1.4
# room 0.3 # sz 0.8 # pan 0.7
d7 $ gM3 $ gF3 -- DARK LIPS <3
$ midiOn "^91" (ply "4 <4!3 8>")
$ midiOn "^35" ( -- GLITCH VOICE
(>| n (slow 2 "<16 17 18 19 20 21 22 23>"))
(>| n (slow 4 "<16 17 18 19 20 21 22 23>"))
. (# room 0.3) . (# dry 0.9) . (# sz 0.4) )
$ slice 4 ("<0 1 2 3>") -- Structure par 4
$ midiOff "^59" (>| n (slow 8 "<9 10 7 8>" )) -- Loop Intro to Rough
$ midiOff "^35" (slice 4 ("<0 1 2 3>")) -- Structure par 4
$ midiOff ("^59"+"^35") (>| n (slow 8 "<9 10 7 8>" )) -- Loop Intro to Rough
$ midiOn "^59"
-- REMIX VOCALS CRIME
(
(>| n (slow 4 "<16 17 16 17 18 19 18 19 .8. 20 21 20 21 22 22 22 23>"))
(>| n (slow 4 "<16 17 16 17 18 19 18 19 20 21 20 21 22 22 22 23>"))
. (|* gain 0.8)
. (# room 0.4) . (# dry 0.9)
)
......
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