Commit f6be5205 by PLN (Algolia)

feat(surface): no d7 while d6 sits empty — 150 orbits compacted

PLN: "part of the migration also: no d7 when d6 is free. d7 often was sefcond
melo, should be a d6 now d6 ids not a shitty mapped knob, but a proper column
like others".

That is the history exactly. d6's knob used to be somewhere useless, so a
second melody went to d7 and d6 was left empty; since the column remap every
one of d4-d8 owns a fader, a B knob and a C knob, so the reason is gone and
only the habit remains. A set with a hole at d6 wastes a whole column.

150 moves in 133 files. `d7 -> d6` is most of it; a lone melody with both
slots free compacts to d5.

THE BAND IS {5, 6, 7} AND IT IS DERIVED, NOT DECREED. An orbit number decides
which family DJ filter and which family mute the part answers to. From the
authored grid, d5/d6/d7 share both maps, so a move between them changes
nothing about the sound — while d4 is the bass (gF2) and d8 is percussion
(gF1/gM2), so compacting into or out of those would silently re-assign which
filter sweeps the part and which button drops it. The tool computes the band by
asking lcxl_grid which orbits agree with d6 on both families, so if the grid
ever changes, the band follows instead of rotting.

It refuses rather than guesses: 7 orbits carry an explicit `# orbit N`, which
overrides the output orbit independently of the `dN` name, so renaming the
declaration alone would move the pattern's identity and leave its AUDIO behind.
Comments are never rewritten — a commented `-- d7 $ …` is an alternative to
re-enable mid-set. Bus slots (`crushbus 71`) and `cut` groups stay put: a bus
id is an audio-graph edit and a cut group is a choke group, not an orbit.

VERIFIED: re-plan reports 0 moves left. silent-eval --seeded re-run over all
703 files and diffed per-file against the pre-migration baseline — zero verdict
changes, 703/703 joined. And the declaration multiset of every one of the 133
files is a pure permutation inside the band, with nothing outside it touched:
no pattern was dropped and no orbit was declared twice where it was not
already. That last check exists because a naive compaction fusing two blocks'
melodies onto one orbit would be silent, not loud — the later declaration wins.
parent 165abe8b
...@@ -28,7 +28,7 @@ d4 $ gF2 ...@@ -28,7 +28,7 @@ d4 $ gF2
$ "bass_commodore:6" # cut 4 $ "bass_commodore:6" # cut 4
# midiG' "^81" 0 1.2 # midiG' "^81" 0 1.2
# crushbus 41 (range 16 1.2 "^32") # crushbus 41 (range 16 1.2 "^32")
d7 $ gF2 -- ACID BUS d5 $ gF2 -- ACID BUS
$ midiOn "^91" (slice 32 ("<0 0 0 0 0 1 1 1 0 1 2 2 0 2 2 3>*4")) $ midiOn "^91" (slice 32 ("<0 0 0 0 0 1 1 1 0 1 2 2 0 2 2 3>*4"))
$ midiOff "^91" (slice 8 "<0 1 2 3>") $ midiOff "^91" (slice 8 "<0 1 2 3>")
$ loopAt 8 $ "synth_commodore:0" $ loopAt 8 $ "synth_commodore:0"
......
...@@ -38,12 +38,12 @@ d4 ...@@ -38,12 +38,12 @@ d4
# pan 0.1 # pan 0.1
# lpf 4500 # lpf 4500
# gain 0.6 # gain 0.6
d6 -- Rare night alarm d5 -- Rare night alarm
$ note "c4/8" $ note "c4/8"
# "giorgio_syn:3" # "giorgio_syn:3"
# cut 6 # cut 6
# gain 0.34 # gain 0.34
d7 -- INFRA BASSLINE TODO Trop carré d6 -- INFRA BASSLINE TODO Trop carré
$ note (scale "aeolian" $ note (scale "aeolian"
"<0!8 [0 . <2 0> 0 ~]!8> 4 <0!4 7 0 4 <7 0>> 3" "<0!8 [0 . <2 0> 0 ~]!8> 4 <0!4 7 0 4 <7 0>> 3"
) )
......
...@@ -46,7 +46,7 @@ d5 $ gF3 $ gM3 -- MAIN CRUTCH ...@@ -46,7 +46,7 @@ d5 $ gF3 $ gM3 -- MAIN CRUTCH
# cut 5 # cut 5
# pan 0.3 # pan 0.3
# gain 1.4 # gain 1.4
d7 $ gF3 $ gM3 -- SIDE CRUTCHES d6 $ gF3 $ gM3 -- SIDE CRUTCHES
-- $ slice 4 "<0 1 2 3>" -- $ slice 4 "<0 1 2 3>"
$ chop 8 $ chop 8
$ loopAt 2 $ loopAt 2
......
...@@ -42,7 +42,7 @@ d8 $ gF1 $ gM2 ...@@ -42,7 +42,7 @@ d8 $ gF1 $ gM2
$ "jungle_breaks:45" $ "jungle_breaks:45"
# cut 8 # cut 8
# gain 1.5 # gain 1.5
d6 $ gF1 $ gM3 -- HAWKS d5 $ gF1 $ gM3 -- HAWKS
-- $ mask "<f!16 t!16>" -- $ mask "<f!16 t!16>"
$ "~ [s s*2] ~ [s*<1!3 2> <~!3 s*<1 2>>]" $ "~ [s s*2] ~ [s*<1!3 2> <~!3 s*<1 2>>]"
# "armora:1" # "armora:1"
...@@ -54,7 +54,7 @@ d6 $ gF1 $ gM3 -- HAWKS ...@@ -54,7 +54,7 @@ d6 $ gF1 $ gM3 -- HAWKS
# sz 0.01 # sz 0.01
# dry 1.025 # dry 1.025
# gain 1.5 # gain 1.5
d7 d6
$ gM3 $ gF3 -- High carillon! $ gM3 $ gF3 -- High carillon!
$ midiOn "^59" (off "[e,s]" (ply "<1 2>") . (# legato "e")) $ midiOn "^59" (off "[e,s]" (ply "<1 2>") . (# legato "e"))
$ midiOn "^91" ( -- Basse reponse $ midiOn "^91" ( -- Basse reponse
......
...@@ -19,7 +19,7 @@ d3 $ gF1 $ gM2 ...@@ -19,7 +19,7 @@ d3 $ gF1 $ gM2
$ "dr*[8 <8 16 24 [8 <4 8 16 <4 8>>]>]" $ "dr*[8 <8 16 24 [8 <4 8 16 <4 8>>]>]"
# gain 1.2 # gain 1.2
# "rampleS37:5" # "rampleS37:5"
d7 $ gF1 $ gM3 d5 $ gF1 $ gM3
$ "~ h ~ h ~ h*<1 <2 4>> ~ h*<2 1>" $ "~ h ~ h ~ h*<1 <2 4>> ~ h*<2 1>"
# gain 1.1 # gain 1.1
# "rampleD2:3" # "rampleD2:3"
......
...@@ -36,7 +36,7 @@ d5 $ gF2 $ gM3 ...@@ -36,7 +36,7 @@ d5 $ gF2 $ gM3
# midiG' "^80" 0 1.5 # midiG' "^80" 0 1.5
# crushbus 51 (range 16 2.5 "^33") # crushbus 51 (range 16 2.5 "^33")
# octersubbus 52 (range 0 2.5 "^53") # octersubbus 52 (range 0 2.5 "^53")
d7 $ gF1 $ gM3 d6 $ gF1 $ gM3
$ loopAt 2 $ loopAt 2
-- $ chop 16 -- $ chop 16
$ slice 4 "0 <~!4 1!4> <~!8 2!8> 3" $ slice 4 "0 <~!4 1!4> <~!8 2!8> 3"
......
...@@ -14,4 +14,4 @@ d2 $ gM2 -- Clap timer ...@@ -14,4 +14,4 @@ d2 $ gM2 -- Clap timer
# lpf 2000 # lpf 2000
# gain 1.2 # gain 1.2
d4 $ "90s_matrix:0/4" # cut 4 d4 $ "90s_matrix:0/4" # cut 4
d7 $ "90s_synatm:0" # cut 7 d5 $ "90s_synatm:0" # cut 7
...@@ -29,7 +29,7 @@ d3 $ g ...@@ -29,7 +29,7 @@ d3 $ g
-- FIXME(#54) d3 drives more controls than the grid gives it (B3 only (C1-3 are the family gF filters)). ^52 now belongs to another orbit, so the line(s) below are COMMENTED OUT rather than left firing across columns. Nothing is lost — restore by removing the dashes once gSel folds this onto d3's own control. -- FIXME(#54) d3 drives more controls than the grid gives it (B3 only (C1-3 are the family gF filters)). ^52 now belongs to another orbit, so the line(s) below are COMMENTED OUT rather than left firing across columns. Nothing is lost — restore by removing the dashes once gSel folds this onto d3's own control.
-- # leslie (range 0 2 "^52") -- # leslie (range 0 2 "^52")
# midiG' "^80" 0 1.52 # midiG' "^80" 0 1.52
d6 -- Runny Maracas d5 -- Runny Maracas
$ g $ g
$ whenmod 16 8 (often $ fast 2) $ whenmod 16 8 (often $ fast 2)
$ someCyclesBy "<1!16 0!16>" (often $ slow "2!3 1") $ someCyclesBy "<1!16 0!16>" (often $ slow "2!3 1")
......
...@@ -38,7 +38,7 @@ $ note ("<<0 3> <0 3> <0 -4> <0 -4>>" + ...@@ -38,7 +38,7 @@ $ note ("<<0 3> <0 3> <0 -4> <0 -4>>" +
# s "bass3" # s "bass3"
# gain 0.8 # gain 0.8
d6 $ s "birds/4" # n (irand 16) d5 $ s "birds/4" # n (irand 16)
# speed (range 0.5 2 rand) # speed (range 0.5 2 rand)
# gain 0.7 # gain 0.7
......
...@@ -37,4 +37,4 @@ $ "moogBass" ...@@ -37,4 +37,4 @@ $ "moogBass"
# note ("<0!4 3!4>" + "0 -2") # note ("<0!4 3!4>" + "0 -2")
# gain 0.75 # gain 0.75
d6 $ s "cp:1/4" d5 $ s "cp:1/4"
...@@ -36,7 +36,7 @@ $ note ( ...@@ -36,7 +36,7 @@ $ note (
# voice (slow 32 $ range 0.1 0.25 sine) # voice (slow 32 $ range 0.1 0.25 sine)
# gain 0.8 # gain 0.8
d6 d5
$ superimpose ( $ superimpose (
swing 2 . arp "up|downup" swing 2 . arp "up|downup"
. (# sustain 0.5) . (# sustain 0.5)
...@@ -47,7 +47,7 @@ $ note (scale "aeolian" (slow 4 $ "c4'major'<c4 f4 b3 c4>'six") ...@@ -47,7 +47,7 @@ $ note (scale "aeolian" (slow 4 $ "c4'major'<c4 f4 b3 c4>'six")
# sustain 1 # sustain 1
# gain 0.7 # gain 0.7
d7 -- moineau roll! d6 -- moineau roll!
$ fast "[<1 <2 [2 4]>> <1 1 1 [2 1]>]" $ fast "[<1 <2 [2 4]>> <1 1 1 [2 1]>]"
$ s "birds3*8" $ s "birds3*8"
# n "2|3" # n "2|3"
......
...@@ -48,7 +48,7 @@ d4 -- Guitar lead contretemps! ...@@ -48,7 +48,7 @@ d4 -- Guitar lead contretemps!
# gain (slow 16 $ range "<1!16 0.65!16>" "<0.5!16 0.65!16>" isaw) # gain (slow 16 $ range "<1!16 0.65!16>" "<0.5!16 0.65!16>" isaw)
# room (slow 16 $ range 0.3 0.7 saw) # room (slow 16 $ range 0.3 0.7 saw)
# sz 0.4 # sz 0.4
d7 -- Cuivres lancinants d6 -- Cuivres lancinants
$ mask "<t!8 f!56>" $ mask "<t!8 f!56>"
$ swing 2 $ swing 2
$ slow 2 $ slow 2
...@@ -73,7 +73,7 @@ d9--- piano descente en conclusion` ...@@ -73,7 +73,7 @@ d9--- piano descente en conclusion`
-- Fguitar 20 chaleureuse breaks? -- Fguitar 20 chaleureuse breaks?
-- region SANDBOX -- region SANDBOX
d6 -- Cuivre riff concluant! d5 -- Cuivre riff concluant!
-- $ mask "<f!14 t f f!12 t!4>" -- $ mask "<f!14 t f f!12 t!4>"
-- $ whenmod 4 3 (slice 4 "0*<2 4>") -- $ whenmod 4 3 (slice 4 "0*<2 4>")
$ loopAt 2 $ loopAt 2
......
...@@ -43,7 +43,7 @@ d5 -- Telephone ...@@ -43,7 +43,7 @@ d5 -- Telephone
# cut 5 # cut 5
# gain 0.5 # gain 0.5
# pan 0.9 # pan 0.9
d7 d6
$ degradeBy (slow 32 $ range 1 0.5 saw) $ degradeBy (slow 32 $ range 1 0.5 saw)
$ fix ((# gain 0.55) . (# pan 0.6) . (# cut 72)) (n 8) -- CRASH $ fix ((# gain 0.55) . (# pan 0.6) . (# cut 72)) (n 8) -- CRASH
$ fix ((# gain 0.6) -- Siren $ fix ((# gain 0.6) -- Siren
......
...@@ -140,7 +140,7 @@ d10 $ g -- Events timings ...@@ -140,7 +140,7 @@ d10 $ g -- Events timings
$ every' 166 1 ((>| note (arpeggiate "a'maj'4")) . (# gain "0.5!3 0.6")) -- CLAP $ every' 166 1 ((>| note (arpeggiate "a'maj'4")) . (# gain "0.5!3 0.6")) -- CLAP
$ note "a" # "cpluck:4" # gain 0 $ note "a" # "cpluck:4" # gain 0
# pan 0.4 # pan 0.4
d7 $ g -- Side high cello d6 $ g -- Side high cello
$ whenRouge (someCyclesBy 0.8 (off "0.625" (|+ pan 0.18))) $ whenRouge (someCyclesBy 0.8 (off "0.625" (|+ pan 0.18)))
$ someCyclesBy 0.2 (degrade) $ someCyclesBy 0.2 (degrade)
$ whenmod 8 4 (superimpose ( $ whenmod 8 4 (superimpose (
......
...@@ -37,7 +37,7 @@ d5 $ gF3 $ gM3 ...@@ -37,7 +37,7 @@ d5 $ gF3 $ gM3
# "FMRhodes1" # "FMRhodes1"
# gain 1.4 # gain 1.4
# modIndex (range 0 4 "^33") # modIndex (range 0 4 "^33")
d7 $ gF1 $ gM3 $ loopAt 1 $ chop 16 $ "jungle_breaks:100" # cut 7 # gain 1.3 d6 $ gF1 $ gM3 $ loopAt 1 $ chop 16 $ "jungle_breaks:100" # cut 7 # gain 1.3
d8 $ gF1 $ gM2 d8 $ gF1 $ gM2
$ midiOff "^60" (mask "t(4,8,f)" . chop 8) $ midiOff "^60" (mask "t(4,8,f)" . chop 8)
$ chop 8 $ chop 8
......
...@@ -141,7 +141,7 @@ d5 $ gF3 $ gM3 -- v1: Avec deux progs incertaines, pas d'arp ...@@ -141,7 +141,7 @@ d5 $ gF3 $ gM3 -- v1: Avec deux progs incertaines, pas d'arp
-- # gain 1.3 -- # gain 1.3
-- # att 0.05 -- # att 0.05
-- # rel 2 -- # rel 2
d7 $ gF3 $ gM3 -- Rhodes arpege pour couplet d6 $ gF3 $ gM3 -- Rhodes arpege pour couplet
$ whenmod 128 64 (# silence) $ whenmod 128 64 (# silence)
$ somecyclesBy "<0!8 0!32 0!32 0!32 1!8>" (|* gain (range 1 0.5 (slow 8 $ saw))) $ somecyclesBy "<0!8 0!32 0!32 0!32 1!8>" (|* gain (range 1 0.5 (slow 8 $ saw)))
$ somecyclesBy "<1!8 0!32 0!32 0!32 0!8>" (|* gain (range 0.5 1 (slow 8 $ saw))) $ somecyclesBy "<1!8 0!32 0!32 0!32 0!8>" (|* gain (range 0.5 1 (slow 8 $ saw)))
......
...@@ -107,7 +107,7 @@ d5 $ gF3 $ gM3 -- Rhodes/Keys, les moulins qui tournent doucement ...@@ -107,7 +107,7 @@ d5 $ gF3 $ gM3 -- Rhodes/Keys, les moulins qui tournent doucement
# room 0.45 # room 0.45
# gain 1.3 # gain 1.3
d7 $ gF3 $ gM3 -- Violoncelle / Guitare blues, la mémoire du voyage d6 $ gF3 $ gM3 -- Violoncelle / Guitare blues, la mémoire du voyage
-- blues_guitar_*_60 = 60 BPM donc loopAt 0.5 pour revenir à 120 -- blues_guitar_*_60 = 60 BPM donc loopAt 0.5 pour revenir à 120
$ midiOn "^59" (# silence) $ midiOn "^59" (# silence)
$ loopAt 0.5 $ loopAt 0.5
......
...@@ -15,7 +15,7 @@ d3 $ gF1 $ gM1 ...@@ -15,7 +15,7 @@ d3 $ gF1 $ gM1
# "hh" # "hh"
# gain 1.4 # cut 3 # gain 1.4 # cut 3
# pan "<0.2!4 0.8!4>" # pan "<0.2!4 0.8!4>"
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ off "0.25" ( -- CHIPMUNK GLUCKSMAN $ off "0.25" ( -- CHIPMUNK GLUCKSMAN
(# cut 71) (# cut 71)
. (fix (# gain 0) (n "<0>")) . (fix (# gain 0) (n "<0>"))
......
...@@ -71,7 +71,7 @@ d5 $ gF3 $ gM3 ...@@ -71,7 +71,7 @@ d5 $ gF3 $ gM3
-- # cut 4 -- # cut 4
# modIndex (range 0 4.5 "^33") # modIndex (range 0 4.5 "^33")
-- # octersubbus 42 (range 0 3.5 "^33") -- # octersubbus 42 (range 0 3.5 "^33")
d7 $ gF3 $ gM3 $ "vocalOoh1/2" # n "<4 5>" # cut 7 d6 $ gF3 $ gM3 $ "vocalOoh1/2" # n "<4 5>" # cut 7
# gain 1.2 # gain 1.2
# room 0.3 # room 0.3
d8 $ gF1 $ gM2 d8 $ gF1 $ gM2
...@@ -99,7 +99,7 @@ d11 ...@@ -99,7 +99,7 @@ d11
# room 0.3 # room 0.3
# gain 1.3 # gain 1.3
d7 $ gF1 $ gM3 d6 $ gF1 $ gM3
$ slow 1 $ slow 1
-- $ midiOn "^91" (ply "<[2 <2!4 4!3 8>] <2!4 8!3 [8 4]> 2 4>") -- $ midiOn "^91" (ply "<[2 <2!4 4!3 8>] <2!4 8!3 [8 4]> 2 4>")
-- $ jux rev -- $ jux rev
......
...@@ -75,7 +75,7 @@ d11 $ gF2 $ gM3 -- Caring cello ...@@ -75,7 +75,7 @@ d11 $ gF2 $ gM3 -- Caring cello
# "cpluck:0" # "cpluck:0"
# cut 11 # cut 11
# gain 1.4 # gain 1.4
d7 $ gF1 $ gM3 d6 $ gF1 $ gM3
$ midiOn "^91" ( -- Bouton Nassim <3 $ midiOn "^91" ( -- Bouton Nassim <3
slice 16 "[0 .. 7] . <[0 .. 7]!3 [0 1 . [2 3]]>" slice 16 "[0 .. 7] . <[0 .. 7]!3 [0 1 . [2 3]]>"
. loopAt 0.5 . (# "breaks165") . loopAt 0.5 . (# "breaks165")
......
...@@ -45,7 +45,7 @@ d4 $ gF2 ...@@ -45,7 +45,7 @@ d4 $ gF2
# pan 0.1 # pan 0.1
# crushbus 41 (range 16 2.5 "^32") # crushbus 41 (range 16 2.5 "^32")
# midiG' "^81" 0 1.4 # midiG' "^81" 0 1.4
d6 $ gF3 d5 $ gF3
$ midiOn "^90" (ply "4 <4 8>") $ midiOn "^90" (ply "4 <4 8>")
-- FIXME(#94) d6 drives more controls than the grid gives it (BT6 + BL6). ^59 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^59 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d6's own control with gSel. -- FIXME(#94) d6 drives more controls than the grid gives it (BT6 + BL6). ^59 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^59 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d6's own control with gSel.
-- FIXME(#94) d6 drives more controls than the grid gives it (BT6 + BL6). ^59 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^59 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d6's own control with gSel. -- FIXME(#94) d6 drives more controls than the grid gives it (BT6 + BL6). ^59 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^59 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d6's own control with gSel.
...@@ -69,7 +69,7 @@ once $ "[kick:5,kick:4,808bd:8]" ...@@ -69,7 +69,7 @@ once $ "[kick:5,kick:4,808bd:8]"
# lpf 200 # lpf 200
# gain 0.8 # gain 0.8
d7 $ gF3 $ gM3 -- High Dauphin d6 $ gF3 $ gM3 -- High Dauphin
$ struct "t@2 t*<1 2 1 <4 1>> t*<1 2 4 8>" $ struct "t@2 t*<1 2 1 <4 1>> t*<1 2 4 8>"
$ note ( $ note (
"<[g4 c ef@14] [<c g> ef g@14] <[g4 c ef@14] [c5 bf5 g5@14]> [c ef d@13 ~]>" "<[g4 c ef@14] [<c g> ef g@14] <[g4 c ef@14] [c5 bf5 g5@14]> [c ef d@13 ~]>"
...@@ -104,7 +104,7 @@ d4 $ gF2 $ slow 2 -- Basse Baleine ...@@ -104,7 +104,7 @@ d4 $ gF2 $ slow 2 -- Basse Baleine
# pan 0.4 # pan 0.4
# crushbus 41 (range 16 2.5 "^32") # crushbus 41 (range 16 2.5 "^32")
# midiG' "^81" 0 1.3 # midiG' "^81" 0 1.3
d6 $ gF3 $ gM3 -- Leads reponse d5 $ gF3 $ gM3 -- Leads reponse
-- FIXME(#94) d6 drives more controls than the grid gives it (BT6 + BL6). ^58 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^58 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d6's own control with gSel. -- FIXME(#94) d6 drives more controls than the grid gives it (BT6 + BL6). ^58 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^58 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d6's own control with gSel.
$ midiOn "^58" (struct "t*<16 32>") -- Basse folle $ midiOn "^58" (struct "t*<16 32>") -- Basse folle
$ midiOn "^58" (|+ note 12) $ midiOn "^58" (|+ note 12)
......
...@@ -38,7 +38,7 @@ d5 $ gM3 $ gF2 ...@@ -38,7 +38,7 @@ d5 $ gM3 $ gF2
# crushbus 51 (range 12 2.4 "^33") # crushbus 51 (range 12 2.4 "^33")
# cut 5 # cut 5
# gain 0.6 # gain 0.6
d7 $ gM3 $ gF3 -- Keys of Paradise d6 $ gM3 $ gF3 -- Keys of Paradise
$ midiOn "^91" (ply 2 . (# freeze 0.2)) $ midiOn "^91" (ply 2 . (# freeze 0.2))
$ slice 4 "<[0 1] [2 3*<1 4>] [0 1] [2 1(<1 3>,8)]>" $ slice 4 "<[0 1] [2 3*<1 4>] [0 1] [2 1(<1 3>,8)]>"
$ "nujazz_keys120:25/2" $ "nujazz_keys120:25/2"
......
...@@ -71,7 +71,7 @@ d5 $ gF3 $ gM3 ...@@ -71,7 +71,7 @@ d5 $ gF3 $ gM3
# attack (0.01 + (rand * 0.02)) -- Slight timing humanization # attack (0.01 + (rand * 0.02)) -- Slight timing humanization
# release (slow 16 $ range 0.8 1.5 sine) # release (slow 16 $ range 0.8 1.5 sine)
# crushbus 41 (range 16 3.5 "^53") # crushbus 41 (range 16 3.5 "^53")
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ slow 16 $ chordsRoot -- Very slow, ambient $ slow 16 $ chordsRoot -- Very slow, ambient
-- |+| n "[0,7] ~ ~ ~ [7,12]? ~ ~ ~" -- Fifth chords, sparse hits -- |+| n "[0,7] ~ ~ ~ [7,12]? ~ ~ ~" -- Fifth chords, sparse hits
|+| n "[0,7] ~ [0,7,12]? ~ ~ ~ [7,12] ~" -- Alt: More hits, triple voicing |+| n "[0,7] ~ [0,7,12]? ~ ~ ~ [7,12] ~" -- Alt: More hits, triple voicing
......
...@@ -49,7 +49,7 @@ d11 $ gF3 $ gM3 ...@@ -49,7 +49,7 @@ d11 $ gF3 $ gM3
$ slow 2 $ slow 2
$ "cricri" # n "<0 1 2 3>" $ "cricri" # n "<0 1 2 3>"
# pan 0.3 # pan 0.3
d7 $ gF1 $ gM3 d6 $ gF1 $ gM3
-- $ fast 2 $ ply 2 $ slice 2 "<0 0 0 1>" -- $ fast 2 $ ply 2 $ slice 2 "<0 0 0 1>"
$ juxBy 0.2 (rev) $ juxBy 0.2 (rev)
$ loopAt 2 $ loopAt 2
......
...@@ -45,7 +45,7 @@ d4 $ gF2 $ gM3 ...@@ -45,7 +45,7 @@ d4 $ gF2 $ gM3
# gain 1.5 # gain 1.5
# crushbus 41 (range 16 2.5 "^32") # crushbus 41 (range 16 2.5 "^32")
# octersubbus 42 (range 0 2.5 "^52") # octersubbus 42 (range 0 2.5 "^52")
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^59" ((ply "8 <16 [16 32]>")) $ midiOn "^59" ((ply "8 <16 [16 32]>"))
$ slow 2 $ slow 2
$ slice 4 ("<0 1 2 3>") $ slice 4 ("<0 1 2 3>")
......
...@@ -42,7 +42,7 @@ d11 $ gM3 $ gF3 ...@@ -42,7 +42,7 @@ d11 $ gM3 $ gF3
-- # tremdp 0.8 -- # tremdp 0.8
-- # tremr "<2 4 4 <8 16>>" -- # tremr "<2 4 4 <8 16>>"
# gain 1.2 # gain 1.2
d7 $ gF1 $ gM3 -- SCRATCH d6 $ gF1 $ gM3 -- SCRATCH
$ midiOn "^91" (ply "2 4 <8 8 4 16>") $ midiOn "^91" (ply "2 4 <8 8 4 16>")
$ midiOn "^35" (# n 13) $ midiOn "^35" (# n 13)
$ midiOn "^59"(# n 15) $ midiOn "^59"(# n 15)
......
...@@ -58,7 +58,7 @@ d8 $ gF1 $ gM2 -- Break populaire ...@@ -58,7 +58,7 @@ d8 $ gF1 $ gM2 -- Break populaire
$ "jungle_breaks:18" $ "jungle_breaks:18"
# gain 0.85 # gain 0.85
# pan "0.68 0.42 0.42 0.68" # pan "0.68 0.42 0.42 0.68"
d7 $ gF1 $ gM3 -- SECOND BREAK!!?! d6 $ gF1 $ gM3 -- SECOND BREAK!!?!
$ midiOn "^91" (ply 2) $ midiOn "^91" (ply 2)
$ midiOn "^35" (loopAt 1 . (|> "jungle_breaks:19")) $ midiOn "^35" (loopAt 1 . (|> "jungle_breaks:19"))
$ midiOn "^59" (slice 8 (run "8 <8!3 16>")) $ midiOn "^59" (slice 8 (run "8 <8!3 16>"))
......
...@@ -61,7 +61,7 @@ d5 $ gM3 $ gF3 -- Suns of Gold Keys, samples ...@@ -61,7 +61,7 @@ d5 $ gM3 $ gF3 -- Suns of Gold Keys, samples
# tremrbus 51 (range 0 "<0 8>" "^78") # tremrbus 51 (range 0 "<0 8>" "^78")
# tremdp 2 # tremdp 2
# gain 1.2 # gain 1.2
d7 $ gM3 $ gF3 -- Suns of Gold Guitars, sampled and cut d6 $ gM3 $ gF3 -- Suns of Gold Guitars, sampled and cut
$ superimpose ((# cut 71) . $ superimpose ((# cut 71) .
(# crushbus 73 (range 16 2.9 "^35")) -- CRASH THIS GUITAR (# crushbus 73 (range 16 2.9 "^35")) -- CRASH THIS GUITAR
) )
......
...@@ -36,7 +36,7 @@ d5 $ gF3 $ gM3 ...@@ -36,7 +36,7 @@ d5 $ gF3 $ gM3
# room 0.5 # room 0.5
# crushbus 51 (range 10 1.8 "^33") # crushbus 51 (range 10 1.8 "^33")
# sz 0.8 # dry 1.2 # sz 0.8 # dry 1.2
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (ply "2 <2 4 4 8>") $ midiOn "^91" (ply "2 <2 4 4 8>")
$ midiOn "^59" (# n 4) $ midiOn "^59" (# n 4)
$ mask "<t f f f t f t t>" $ mask "<t f f f t f t t>"
......
...@@ -71,7 +71,7 @@ d5 $ gF3 $ gM3 -- Les ptites keys de fin de session tranquilou ...@@ -71,7 +71,7 @@ d5 $ gF3 $ gM3 -- Les ptites keys de fin de session tranquilou
# crushbus 51 (range 16 3.5 "^33") # crushbus 51 (range 16 3.5 "^33")
# pan 0.9 # pan 0.9
# room 0.3 # room 0.3
d7 $ gF3 $ gM3 $ "trance_amb:0/2" # cut 7 d6 $ gF3 $ gM3 $ "trance_amb:0/2" # cut 7
d8 $ gF1 $ gM2 d8 $ gF1 $ gM2
$ midiOff "^60" (mask "t(4,8,1)") -- Techno drum mask $ midiOff "^60" (mask "t(4,8,1)") -- Techno drum mask
$ midiOn "^36 " (loopAt 4 . (# "jungle_breaks:22")) -- Raise COMEON! $ midiOn "^36 " (loopAt 4 . (# "jungle_breaks:22")) -- Raise COMEON!
......
...@@ -48,7 +48,7 @@ d4 $ gF2 $ gM3 -- TODO REWORK ...@@ -48,7 +48,7 @@ d4 $ gF2 $ gM3 -- TODO REWORK
# cut 4 # cut 4
-- FIXME(#54) d4 drives more controls than the grid gives it (B4 + C4). ^17 now belongs to another orbit, so the line(s) below are COMMENTED OUT rather than left firing across columns. Nothing is lost — restore by removing the dashes once gSel folds this onto d4's own control. -- FIXME(#54) d4 drives more controls than the grid gives it (B4 + C4). ^17 now belongs to another orbit, so the line(s) below are COMMENTED OUT rather than left firing across columns. Nothing is lost — restore by removing the dashes once gSel folds this onto d4's own control.
-- # scram (range 0 0.72 "^17") -- # scram (range 0 0.72 "^17")
d7 $ gF3 $ gM3 -- Apollo call d6 $ gF3 $ gM3 -- Apollo call
$ note ((scale "phrygian" "0 2@2 3@3 <2!3 5 6 6 7 [9 9]>@2") $ note ((scale "phrygian" "0 2@2 3@3 <2!3 5 6 6 7 [9 9]>@2")
- 1 -- Fondamentale: re - 1 -- Fondamentale: re
- 12 -- Octave: -1 - 12 -- Octave: -1
......
...@@ -46,7 +46,7 @@ d5 $ gF3 $ gM3 ...@@ -46,7 +46,7 @@ d5 $ gF3 $ gM3
$ "law_adri" $ "law_adri"
# cut 5 # cut 5
# pan 0.8 # pan 0.8
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (ply "<2 2 [4 2] 8>") $ midiOn "^91" (ply "<2 2 [4 2] 8>")
$ "law_adri" $ "law_adri"
# n "<4!4 5!4 5!4 8 8 5 89 10 9*2 9*2 11 12 13 14>" # n "<4!4 5!4 5!4 8 8 5 89 10 9*2 9*2 11 12 13 14>"
......
...@@ -33,7 +33,7 @@ d4 $ gF2 -- La base ...@@ -33,7 +33,7 @@ d4 $ gF2 -- La base
$ "han" # n "<0!4 1!4>" $ "han" # n "<0!4 1!4>"
# midiG' "^82" 0 2 # midiG' "^82" 0 2
# cut 4 # cut 4
d6 $ gF2 -- La basse d5 $ gF2 -- La basse
$ loopAt 2 $ loopAt 2
$ slice 8 (run 8) $ slice 8 (run 8)
-- $ superimpose (# crushbus 41 (range 16 4 "^53")) -- $ superimpose (# crushbus 41 (range 16 4 "^53"))
......
...@@ -39,7 +39,7 @@ d4 $ gF3 ...@@ -39,7 +39,7 @@ d4 $ gF3
# pan 0.3 # pan 0.3
# legato 0.75 # legato 0.75
# midiG' "^81" 0 0.7 # midiG' "^81" 0 0.7
d6 $ gF3 d5 $ gF3
-- $ slow 2 -- $ slow 2
$ note "c [c d ef] c [c d ef] c [c d ef] c [c <ef f g gs> <f g gs as>]" $ note "c [c d ef] c [c d ef] c [c d ef] c [c <ef f g gs> <f g gs as>]"
# "harpsichord1" # "harpsichord1"
...@@ -48,7 +48,7 @@ d6 $ gF3 ...@@ -48,7 +48,7 @@ d6 $ gF3
# pan 0.3 # pan 0.3
# legato 0.5 # legato 0.5
# midiG' "^82" 0 0.7 # midiG' "^82" 0 0.7
d7 $ gF2 d6 $ gF2
-- --
-- 9 │ //Standard Values -- 9 │ //Standard Values
-- 10 │ out = 0, pan = 0, freq = 440, amp = 0.5, gate = 1, -- 10 │ out = 0, pan = 0, freq = 440, amp = 0.5, gate = 1,
...@@ -85,7 +85,7 @@ once $ "c c " "phazer" ...@@ -85,7 +85,7 @@ once $ "c c " "phazer"
# gain 0.8 # gain 0.8
# cut 3 # cut 3
d6 $ gM3 $ gF3 d5 $ gM3 $ gF3
$ chop 4 $ chop 4
-- $ slice 4 "<0 1 2 3>" -- $ slice 4 "<0 1 2 3>"
$ loopAt 4 $ loopAt 4
......
...@@ -40,7 +40,7 @@ d5 $ f1 ...@@ -40,7 +40,7 @@ d5 $ f1
# pan 0.3 # pan 0.3
# crushbus 5 (range 10 3.5 "^33") # crushbus 5 (range 10 3.5 "^33")
# midiG' "^81" 0 1.2 # midiG' "^81" 0 1.2
d7 $ f3 d6 $ f3
$ someCyclesBy "<1!6 <0 1> 0!1>" (# gain 0) $ someCyclesBy "<1!6 <0 1> 0!1>" (# gain 0)
$ "<t t*4>" # "tek_end:2" $ "<t t*4>" # "tek_end:2"
# midiG' "^84" 0.2 0.8 # midiG' "^84" 0.2 0.8
......
...@@ -100,7 +100,7 @@ d9 $ gF3 $ gM3 -- Menace ...@@ -100,7 +100,7 @@ d9 $ gF3 $ gM3 -- Menace
# legato 2 # legato 2
# octersub 1 # octersub 1
# cut 9 # cut 9
d7 $ gM3 $ gF2 d6 $ gM3 $ gF2
-- $ ply 2 -- $ ply 2
$ midiOn "^91" (# speed "-0.25") $ midiOn "^91" (# speed "-0.25")
$ midiOn "^59" (struct "t*<8!3 [8 4]>") $ midiOn "^59" (struct "t*<8!3 [8 4]>")
......
...@@ -21,7 +21,7 @@ d4 $ gF2 $ gM3 ...@@ -21,7 +21,7 @@ d4 $ gF2 $ gM3
# gain 1.7 # gain 1.7
# crushbus 41 (range 16 2.5 "^32") # crushbus 41 (range 16 2.5 "^32")
# octerbus 42 (range 0 1.2 "^52") # octerbus 42 (range 0 1.2 "^52")
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (slow 1 . slow 2 . slice 8 "0 1 2 3*<1 <2 4>> 4*2 5*2 [6 7]*<1 <2 4>> 7*4") $ midiOn "^91" (slow 1 . slow 2 . slice 8 "0 1 2 3*<1 <2 4>> 4*2 5*2 [6 7]*<1 <2 4>> 7*4")
$ midiOn "^59" (slice 8 "0 1 2 3") $ midiOn "^59" (slice 8 "0 1 2 3")
$ "praise:1/2" $ "praise:1/2"
......
...@@ -59,7 +59,7 @@ d5 $ gF2 $ gM3 ...@@ -59,7 +59,7 @@ d5 $ gF2 $ gM3
# cut 5 # cut 5
# gain 1.4 # gain 1.4
# squizbus 51 (range 0 2.5 "^33") # squizbus 51 (range 0 2.5 "^33")
d7 $ gF3 $ gM3 -- "FIXME ACID WEIRD NOT GOOD" — found it, 2026-08-02. THREE collisions d6 $ gF3 $ gM3 -- "FIXME ACID WEIRD NOT GOOD" — found it, 2026-08-02. THREE collisions
-- with d4's moog bass, all invisible in the code and all audible: -- with d4's moog bass, all invisible in the code and all audible:
-- cut 4 -> every acid note truncated the bass and vice versa -- cut 4 -> every acid note truncated the bass and vice versa
-- crushbus 41 -> ONE crush instance, ^35 and ^32 fighting over it -- crushbus 41 -> ONE crush instance, ^35 and ^32 fighting over it
......
...@@ -53,7 +53,7 @@ d9 $ gF3 $ gM3 ...@@ -53,7 +53,7 @@ d9 $ gF3 $ gM3
# delaybus 91 (range 0 0.9 "^19") # delaybus 91 (range 0 0.9 "^19")
# delayt 0.25 # delayt 0.25
# delayfbbus 92 (range 0 0.4 "^19") # delayfbbus 92 (range 0 0.4 "^19")
d7 $ gF3 $ gM3 d5 $ gF3 $ gM3
$ note "[ef fs bf ef4]" # "FMRhodes1" $ note "[ef fs bf ef4]" # "FMRhodes1"
d8 $ gF1 d8 $ gF1
$ gM2 $ gM2
......
...@@ -51,7 +51,7 @@ d5 $ gF3 $ gM3 -- LE PIMENT BRESILIEN ...@@ -51,7 +51,7 @@ d5 $ gF3 $ gM3 -- LE PIMENT BRESILIEN
# room 0.3 # room 0.3
# octerbus 51 (range 0 1.4 "^33") # octerbus 51 (range 0 1.4 "^33")
# octersubbus 52 (range 0 4 "^53") # octersubbus 52 (range 0 4 "^53")
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
-- PLN: "on 59 a different progression, maybe going updowndown rather than -- PLN: "on 59 a different progression, maybe going updowndown rather than
-- upupup?". E7, d7's own gate. The octave line below climbs 0 +12 +24 +36 over -- upupup?". E7, d7's own gate. The octave line below climbs 0 +12 +24 +36 over
-- 16 cycles — three steps UP, always. Held, ^59 adds 0 0 -24 -48 on top, which -- 16 cycles — three steps UP, always. Held, ^59 adds 0 0 -24 -48 on top, which
......
...@@ -43,7 +43,7 @@ d5 $ gF3 $ gM3 ...@@ -43,7 +43,7 @@ d5 $ gF3 $ gM3
# modIndex (range 0 32 "^53") # modIndex (range 0 32 "^53")
# gain 1.7 # gain 1.7
# delay 0.4 # delayfb 0.5 # delayt 0.125 # delay 0.4 # delayfb 0.5 # delayt 0.125
d7 $ gM3 $ gF1 d6 $ gM3 $ gF1
-- $ midiOn rev -- $ midiOn rev
$ chop 16 $ chop 16
-- $ loopAt 4 -- $ loopAt 4
......
...@@ -49,7 +49,7 @@ d12 $ gM3 $ gF3 ...@@ -49,7 +49,7 @@ d12 $ gM3 $ gF3
-- # tremdp 0.8 -- # tremdp 0.8
-- # tremr "<2 4 4 <8 16>>" -- # tremr "<2 4 4 <8 16>>"
# gain 1.2 # gain 1.2
d7 $ gF1 $ gM3 -- SCRATCH d6 $ gF1 $ gM3 -- SCRATCH
$ midiOn "^91" (ply "2 4 <8 8 4 16>") $ midiOn "^91" (ply "2 4 <8 8 4 16>")
$ midiOn "^35" (# n 15) $ midiOn "^35" (# n 15)
$ midiOn "^59" (# n 15) $ midiOn "^59" (# n 15)
......
...@@ -107,7 +107,7 @@ d10 $ gF2 $ gM3 -- Menace ...@@ -107,7 +107,7 @@ d10 $ gF2 $ gM3 -- Menace
# crushbus 101 (range 16 3.5 "^14") # crushbus 101 (range 16 3.5 "^14")
# legato 2 # legato 2
# cut 9 # cut 9
d7 $ gM3 $ gF2 d6 $ gM3 $ gF2
-- $ ply 2 -- $ ply 2
$ midiOn "^91" (# speed "-0.25") $ midiOn "^91" (# speed "-0.25")
$ midiOn "^59" (struct "t*<8!3 [8 4]>") $ midiOn "^59" (struct "t*<8!3 [8 4]>")
......
...@@ -46,7 +46,7 @@ d8 $ gF1 $ gM2 -- BROKEN BEAT | BREAKS STACK ...@@ -46,7 +46,7 @@ d8 $ gF1 $ gM2 -- BROKEN BEAT | BREAKS STACK
# pan 0.7 # pan 0.7
# gain 1.45 # gain 1.45
# lpf 4000 # lpf 4000
d7 $ gF1 $ gM3 d5 $ gF1 $ gM3
$ midiOff "^59" (mask "t(4,8,1)" . chop 4) $ midiOff "^59" (mask "t(4,8,1)" . chop 4)
-- $ jux (rev . (# cut 71)) -- $ jux (rev . (# cut 71))
-- $ slice 16 (run 8) -- $ slice 16 (run 8)
......
...@@ -37,7 +37,7 @@ d4 $ gF2 $ gM3 -- BASSE SIMPLE ...@@ -37,7 +37,7 @@ d4 $ gF2 $ gM3 -- BASSE SIMPLE
# "rampleU4" # "rampleU4"
-- # crushbus 42 (range 16 2 "^33") -- # crushbus 42 (range 16 2 "^33")
# cut 4 # cut 4
d7 $ gF2 d6 $ gF2
$ midiOn "^91" (ply "<1 2> <2!3 4 4!3 8>") $ midiOn "^91" (ply "<1 2> <2!3 4 4!3 8>")
$ slice 8 ("[0 1 2 3]*2" + "<0!4 3!4>") $ slice 8 ("[0 1 2 3]*2" + "<0!4 3!4>")
-- $ loopAt 8 -- $ loopAt 8
......
...@@ -69,7 +69,7 @@ d4 $ gF2 $ gMask $ gMute ...@@ -69,7 +69,7 @@ d4 $ gF2 $ gMask $ gMute
$ "breaks165" $ "breaks165"
# panbus 4 (slow 16 $ range 0.2 0.6 sine) # panbus 4 (slow 16 $ range 0.2 0.6 sine)
# midiG' "^81" 0 1.3 # midiG' "^81" 0 1.3
d7 $ gF3 $ gMute $ gMask d5 $ gF3 $ gMute $ gMask
$ midiOn "^91" (ply "2 <2 4>") $ midiOn "^91" (ply "2 <2 4>")
$ loopAt 4 $ chop 8 $ loopAt 4 $ chop 8
$ midiOn "^59" (# n 4) $ midiOn "^59" (# n 4)
......
...@@ -13,7 +13,7 @@ $ s "b? ~ s ~ ~ b s <~ <~ <~ s>>>" ...@@ -13,7 +13,7 @@ $ s "b? ~ s ~ ~ b s <~ <~ <~ s>>>"
d3 -- drumroll d3 -- drumroll
$ fast "4 <8 16>" $ s "drum:2" # gain 0.9 $ fast "4 <8 16>" $ s "drum:2" # gain 0.9
d6 d5
$ whenmod 32 24 ( -- final trompette! $ whenmod 32 24 ( -- final trompette!
superimpose (const $ slow 2 $ s "~ ~ <b ~ b b?> ~" superimpose (const $ slow 2 $ s "~ ~ <b ~ b b?> ~"
# s "brass:6" # gain 0.6) # s "brass:6" # gain 0.6)
...@@ -26,7 +26,7 @@ $ s "brass:2/2" ...@@ -26,7 +26,7 @@ $ s "brass:2/2"
# gain 0.5 # gain 0.5
# cut 1 # cut 1
d7 -- toys d6 -- toys
$ every' 16 15 ( -- petit coup $ every' 16 15 ( -- petit coup
superimpose (const $ s "~ ~ brass:9 ~")) superimpose (const $ s "~ ~ brass:9 ~"))
$ every 16 ( -- intense! $ every 16 ( -- intense!
...@@ -89,7 +89,7 @@ $ note (scale "major" "0 0 5 <-1>") ...@@ -89,7 +89,7 @@ $ note (scale "major" "0 0 5 <-1>")
d4 $ s "superpiano" d4 $ s "superpiano"
d7 -- noise d6 -- noise
$ euclid "<3 3 5 1>" 8 $ euclid "<3 3 5 1>" 8
$ s "glitch:5" $ s "glitch:5"
# gain 0.7 # gain 0.7
......
...@@ -45,7 +45,7 @@ d4 $ g -- Piano contretemps quinte-ish ...@@ -45,7 +45,7 @@ d4 $ g -- Piano contretemps quinte-ish
+ "[0,<7 7 5 5 7 7 7 3>]") + "[0,<7 7 5 5 7 7 7 3>]")
# "superpiano" # "superpiano"
# velocity 0.39 # velocity 0.39
d6 -- Distant guitar d5 -- Distant guitar
$ g $ g
$ mask "<<f t>!24 f!8 t!8 f!8 t!16>" $ mask "<<f t>!24 f!8 t!8 f!8 t!16>"
$ "g(<[1 5]!4 5 1 3 10>,16)" $ "g(<[1 5]!4 5 1 3 10>,16)"
......
...@@ -28,7 +28,7 @@ $ s "dr*8" ...@@ -28,7 +28,7 @@ $ s "dr*8"
# n 0 # n 0
d6 -- bass d5 -- bass
$ whenmod 16 10 ( fast 2) $ whenmod 16 10 ( fast 2)
$ superimpose (|+ note "<3 3 10 3>") $ superimpose (|+ note "<3 3 10 3>")
$ note (scale "aeolian" "<c(3,8) a5>") $ note (scale "aeolian" "<c(3,8) a5>")
...@@ -49,7 +49,7 @@ $ sound "bd" ...@@ -49,7 +49,7 @@ $ sound "bd"
# gain 0.5 # gain 0.5
# legato 2 # legato 2
d7 -- musical forks d6 -- musical forks
$ off 0.25 ((# room 0.5) . (|- 12)) $ off 0.25 ((# room 0.5) . (|- 12))
$ superimpose (|+ note "< 5 3 2 0>") $ superimpose (|+ note "< 5 3 2 0>")
$ s "f f f <f <f*2 ~>>" $ s "f f f <f <f*2 ~>>"
......
...@@ -26,7 +26,7 @@ $ s "[~ hh ~ <hh [hh ~ hh]>]*2" ...@@ -26,7 +26,7 @@ $ s "[~ hh ~ <hh [hh ~ hh]>]*2"
# gain 1.4 # gain 1.4
d6 -- white noise d5 -- white noise
$ whenmod 64 48 (degradeBy 0.9) $ whenmod 64 48 (degradeBy 0.9)
$ rarely (off 0.5 id) $ rarely (off 0.5 id)
$ sometimes (jux rev) $ sometimes (jux rev)
......
...@@ -23,7 +23,7 @@ $ whenmod 16 8 (off 0.125 id) ...@@ -23,7 +23,7 @@ $ whenmod 16 8 (off 0.125 id)
$ sometimes (# s "dr") $ sometimes (# s "dr")
$ s "hh(<4 4 3 4>,8)" $ s "hh(<4 4 3 4>,8)"
d7 d5
$ degrade $ degrade
$ s "~ bogdan/8" # cut 1 $ s "~ bogdan/8" # cut 1
# n (irand 10) # n (irand 10)
......
...@@ -30,7 +30,7 @@ d3 $ note ( scale "major" ( ...@@ -30,7 +30,7 @@ d3 $ note ( scale "major" (
# voice 0.01 # voice 0.01
# gain 0.8 # gain 0.8
d7 -- choeur! d5 -- choeur!
$ note (scale "major" "[0,3,<<~ 7> 5>]/2") $ note (scale "major" "[0,3,<<~ 7> 5>]/2")
# s "kaamelott:1" # s "kaamelott:1"
# end 0.04 # end 0.04
......
...@@ -68,7 +68,7 @@ $ note (scale "major" "<0!2 2 4 -2>") ...@@ -68,7 +68,7 @@ $ note (scale "major" "<0!2 2 4 -2>")
# octave 2 # octave 2
# gain 0.65 # gain 0.65
d7 d6
$ segment (slow 8 "<1 <2 4>>") -- Light to tornado $ segment (slow 8 "<1 <2 4>>") -- Light to tornado
-- $ sometimesBy "<0.75!3 0.1>" (arp "updown") -- $ sometimesBy "<0.75!3 0.1>" (arp "updown")
$ note ("<f e d <d!2 e f>>" + "c'maj'5") $ note ("<f e d <d!2 e f>>" + "c'maj'5")
......
...@@ -42,7 +42,7 @@ $ note "0" ...@@ -42,7 +42,7 @@ $ note "0"
# gain 0.8 # gain 0.8
# note (scaleBocal - 24) # note (scaleBocal - 24)
d7 -- aigu fou d6 -- aigu fou
$ whenmod 128 65 (# gain 0.6) $ whenmod 128 65 (# gain 0.6)
$ whenmod 128 64 (# gain (0.6 * tri)) $ whenmod 128 64 (# gain (0.6 * tri))
$ degradeBy (slow 4 $ "<0,0.05 .. 0.5>") $ degradeBy (slow 4 $ "<0,0.05 .. 0.5>")
...@@ -55,7 +55,7 @@ $ s (slow 1 $ "<b [b b? <~ b> <~ b?>] b*4 <b*8 [b*4 b]>>") ...@@ -55,7 +55,7 @@ $ s (slow 1 $ "<b [b b? <~ b> <~ b?>] b*4 <b*8 [b*4 b]>>")
# velocity (slow 32 $ sine * 0.3 + 0.5) # velocity (slow 32 $ sine * 0.3 + 0.5)
# gain 0 # gain 0
d6 -- Sirene occasionelle accordée d5 -- Sirene occasionelle accordée
$ whenmod 64 32 (# gain 0.5) $ whenmod 64 32 (# gain 0.5)
$ s "supersiren/4" $ s "supersiren/4"
# note scaleBocal # note scaleBocal
......
...@@ -64,7 +64,7 @@ d4 -- BASSES ...@@ -64,7 +64,7 @@ d4 -- BASSES
$ "[matrix,infra]" $ "[matrix,infra]"
# cut 4 # cut 4
# midiG' "^81" 0 1.5 # midiG' "^81" 0 1.5
d6 $ f2 -- VOICES d5 $ f2 -- VOICES
$ fix ( -- Morohai Morshiyum Morohai Naroz $ fix ( -- Morohai Morshiyum Morohai Naroz
(# "voices_celtic:32") (# "voices_celtic:32")
. ply ("<1!3 4>") . ply ("<1!3 4>")
...@@ -85,7 +85,7 @@ d6 $ f2 -- VOICES ...@@ -85,7 +85,7 @@ d6 $ f2 -- VOICES
) "wooh" ) "wooh"
$ stack ["~ <~!3 wooh>", "<morohai ~>"] $ stack ["~ <~!3 wooh>", "<morohai ~>"]
# midiG' "^83" 0 1.5 # midiG' "^83" 0 1.5
d7 $ f2 -- LEADS d6 $ f2 -- LEADS
-- Pad-like choir -- Pad-like choir
-- $ whenmod 4 3 (off "0.25" (|+ note 12)) -- $ whenmod 4 3 (off "0.25" (|+ note 12))
$ fix ( $ fix (
......
...@@ -53,7 +53,7 @@ $ note (scale "melodicMajor" "[0 | 0*2] <3 3 2 2> <5 5 5 [5|5|5|9]> 7") ...@@ -53,7 +53,7 @@ $ note (scale "melodicMajor" "[0 | 0*2] <3 3 2 2> <5 5 5 [5|5|5|9]> 7")
# pan 0.2 # pan 0.2
# gain 0.65 # gain 0.65
d7 -- final aigu tension d6 -- final aigu tension
$ someCycles (segment 4 . degrade . rev) $ someCycles (segment 4 . degrade . rev)
-- $ whenmod 64 54 (# silence) -- $ whenmod 64 54 (# silence)
$ whenmod 64 50 (degrade) $ whenmod 64 50 (degrade)
......
...@@ -49,7 +49,7 @@ $ note (scale "aeolian" ...@@ -49,7 +49,7 @@ $ note (scale "aeolian"
# gain 0.5 # gain 0.5
d7 d6
$ every 2 (superimpose ((swing 2) . (arp "[updown|downup]") . (# room 0.5))) $ every 2 (superimpose ((swing 2) . (arp "[updown|downup]") . (# room 0.5)))
$ note (scale "aeolian" "<d4'maj e4'maj f4'min <d f>4'maj>") $ note (scale "aeolian" "<d4'maj e4'maj f4'min <d f>4'maj>")
# s "toys" # s "toys"
......
...@@ -177,7 +177,7 @@ d1 -- Kick techno ...@@ -177,7 +177,7 @@ d1 -- Kick techno
d2 -- Snare contretemps d2 -- Snare contretemps
$ mask "<f!2 t!30 t!32>" $ mask "<f!2 t!30 t!32>"
$ s "~ . <s!3 s*2> ~" # s "[snare,cp]" # gain 0.5 $ s "~ . <s!3 s*2> ~" # s "[snare,cp]" # gain 0.5
d7 -- Drumroll énergisant d6 -- Drumroll énergisant
$ jux rev $ jux rev
$ fast "<4!3 <8 [8 16 8]>>" $ fast "<4!3 <8 [8 16 8]>>"
$ "drum:2*[<2!3 4>]" $ "drum:2*[<2!3 4>]"
......
...@@ -68,7 +68,7 @@ d4 $ g ...@@ -68,7 +68,7 @@ d4 $ g
# octave 3 # octave 3
# crush (range 10 4.2 "^52") # crush (range 10 4.2 "^52")
# sz 0.8 # sz 0.8
d7 $ g d5 $ g
$ whenmod 16 8 (fast 2) $ whenmod 16 8 (fast 2)
$ "~ cp*<1!3 2>" $ "~ cp*<1!3 2>"
# note (-2) # note (-2)
......
...@@ -70,7 +70,7 @@ d5 -- Chopped choir ...@@ -70,7 +70,7 @@ d5 -- Chopped choir
# legato 1 # legato 1
# pan "0.4 0.6" # pan "0.4 0.6"
# gM' 0 1.3 "^82" # gM' 0 1.3 "^82"
d7 -- Claps répartis d6 -- Claps répartis
$ g $ g
$ novaOn "^59" (fast 2) $ novaOn "^59" (fast 2)
$ jux (# lpf 2000) $ jux (# lpf 2000)
......
...@@ -42,7 +42,7 @@ d5 $ f2 -- Synth: ELECTRONIC ANSWERS ...@@ -42,7 +42,7 @@ d5 $ f2 -- Synth: ELECTRONIC ANSWERS
# delayfb 0.25 # delayt 0.25 # delay 0.8 # delayfb 0.25 # delayt 0.25 # delay 0.8
# panbus 51 (range 0.8 0.65 saw) # crushbus 52 (range 16 2.85 "^33") # panbus 51 (range 0.8 0.65 saw) # crushbus 52 (range 16 2.85 "^33")
# octersubbus 53 (range 0 1.85 "^53") # gain 1.6 # octersubbus 53 (range 0 1.85 "^53") # gain 1.6
d7 $ f3 -- High lead: Winds of truth d6 $ f3 -- High lead: Winds of truth
$ juxBy 0.5 ((# cut 61) . rev) -- Jux rev <3 $ juxBy 0.5 ((# cut 61) . rev) -- Jux rev <3
$ whenmod 8 6 (swing "<4 2>") $ whenmod 8 6 (swing "<4 2>")
$ whenmod 32 8 (superimpose ( -- Echos of doubts $ whenmod 32 8 (superimpose ( -- Echos of doubts
......
...@@ -59,7 +59,7 @@ d8 $ gF1 $ gM2 -- Break bonus banane ...@@ -59,7 +59,7 @@ d8 $ gF1 $ gM2 -- Break bonus banane
$ loopAt 2 $ loopAt 2
$ "break:3" $ "break:3"
# cut 6 # cut 6
d7 $ gF3 $ gM3 -- Back solar mandoline d6 $ gF3 $ gM3 -- Back solar mandoline
$ midiOn "^59" (off "s" (|+ note "<7 9 5 <7 12>>")) $ midiOn "^59" (off "s" (|+ note "<7 9 5 <7 12>>"))
-- $ midiOn "^91" (off "e" (|+ note 12)) -- $ midiOn "^91" (off "e" (|+ note 12))
$ superimpose (|+| note "<[0 12 0]!3 [0 12 0 12]>") $ superimpose (|+| note "<[0 12 0]!3 [0 12 0 12]>")
......
...@@ -35,7 +35,7 @@ d4 $ gF2 $ gM3 $ note "<[a2@2 ~ ~ a2 b2 ~ <~!1 <b2 e2>>] <e2 g2>>" ...@@ -35,7 +35,7 @@ d4 $ gF2 $ gM3 $ note "<[a2@2 ~ ~ a2 b2 ~ <~!1 <b2 e2>>] <e2 g2>>"
# delayt 0.125 # delayt 0.125
# crushbus 41 (range 16 2.5 "^32") # crushbus 41 (range 16 2.5 "^32")
-- # midiG' "^81" 0 1.6 -- # midiG' "^81" 0 1.6
d6 $ gF3 $ gM3 d5 $ gF3 $ gM3
-- $ mask "<f!12 t!4>" -- $ mask "<f!12 t!4>"
$ note praxis $ note praxis
# "bassWarsaw" # "bassWarsaw"
...@@ -43,7 +43,7 @@ d6 $ gF3 $ gM3 ...@@ -43,7 +43,7 @@ d6 $ gF3 $ gM3
# crushbus 61 (range 16 2 "^34") # crushbus 61 (range 16 2 "^34")
# midiG' "^54" 0 1.4 # midiG' "^54" 0 1.4
# pan 0.3 # pan 0.3
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ mask "<t(10,16)!8 f(10,16)!8>" $ mask "<t(10,16)!8 f(10,16)!8>"
$ note (praxis + 36) $ note (praxis + 36)
# "prophet5pwmStrings" # "prophet5pwmStrings"
......
...@@ -52,7 +52,7 @@ d5 $ gF3 $ gM3 ...@@ -52,7 +52,7 @@ d5 $ gF3 $ gM3
# delaytime "^53" # delaytime "^53"
# room 0.4 # sz 0.8 # dry 1.1 # room 0.4 # sz 0.8 # dry 1.1
-- # crushbus 51 (range 16 3.5 "^54") -- # crushbus 51 (range 16 3.5 "^54")
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (ply "<2 4 <8 [16 8]>>") $ midiOn "^91" (ply "<2 4 <8 [16 8]>>")
-- $ slow 4 -- $ slow 4
$ midiOn "^59" (slow 4) $ midiOn "^59" (slow 4)
......
...@@ -111,7 +111,7 @@ d5 $ gF3 $ gM3 ...@@ -111,7 +111,7 @@ d5 $ gF3 $ gM3
# delaytime "^53" # delaytime "^53"
# room 0.4 # sz 0.8 # dry 1.1 # room 0.4 # sz 0.8 # dry 1.1
-- # crushbus 51 (range 16 3.5 "^54") -- # crushbus 51 (range 16 3.5 "^54")
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (ply "<2 4 <8 [16 8]>>") $ midiOn "^91" (ply "<2 4 <8 [16 8]>>")
$ slow 4 $ slow 4
$ midiOn "^35" (slow 4) $ midiOn "^35" (slow 4)
......
...@@ -47,8 +47,8 @@ d8 $ gF1 $ gM2 ...@@ -47,8 +47,8 @@ d8 $ gF1 $ gM2
# octersub 0.6 # octersub 0.6
# lpf 5000 # lpf 5000
# gain 1.4 # gain 1.4
d6 $ gF3 $ gM3 $ loopAt 4 $ "meth_bass:4" # gain 1.3 d5 $ gF3 $ gM3 $ loopAt 4 $ "meth_bass:4" # gain 1.3
d7 $ gF3 -- Choeurs des temps passés d6 $ gF3 -- Choeurs des temps passés
$ midiOn "^91" ((# pan "[0.4 0.6]*8") $ midiOn "^91" ((# pan "[0.4 0.6]*8")
. chop "<16!3 32>" . (# rel 0.85) . chop "<16!3 32>" . (# rel 0.85)
) -- Pan the chops! ) -- Pan the chops!
......
...@@ -47,7 +47,7 @@ d5 $ gF1 $ gM3 ...@@ -47,7 +47,7 @@ d5 $ gF1 $ gM3
# hpfbus 51 (range 10 1500 "^33") # hpfbus 51 (range 10 1500 "^33")
# att 0.05 # att 0.05
# rel 2 # rel 2
d7 $ gF1-- Comeon! d6 $ gF1-- Comeon!
-- $ slice 4 "0 [~ 1] 2 <2 3>" -- $ slice 4 "0 [~ 1] 2 <2 3>"
$ slice 8 "<<7 7*2 7 [7*2 7]> ~> . ~" -- COMEON! $ slice 8 "<<7 7*2 7 [7*2 7]> ~> . ~" -- COMEON!
-- $ chop 16 -- $ chop 16
......
...@@ -43,7 +43,7 @@ d5 $ gF3 $ gM3 ...@@ -43,7 +43,7 @@ d5 $ gF3 $ gM3
# pan "0.2 0.8 0.8 0.2" # pan "0.2 0.8 0.8 0.2"
# octersubbus 52 (range 0 16 "^33") # octersubbus 52 (range 0 16 "^33")
# crushbus 51 (range 16 2 "^33") # crushbus 51 (range 16 2 "^33")
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^59" (struct "t*[8 . <8!3 16>]") $ midiOn "^59" (struct "t*[8 . <8!3 16>]")
$ midiOff "^59" (struct "<[t(3,8)]!3 [t(3,8) . t(3,8)]>") $ midiOff "^59" (struct "<[t(3,8)]!3 [t(3,8) . t(3,8)]>")
$ note ( $ note (
......
...@@ -64,7 +64,7 @@ d9 ...@@ -64,7 +64,7 @@ d9
# room 0.4 # room 0.4
# lpf 2000 # lpf 2000
# legato 2 # legato 2
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ whenmod 4 3 (juxBy 0.2 (("e" ~>) . (# cut 71) . (|* gain 0.6))) $ whenmod 4 3 (juxBy 0.2 (("e" ~>) . (# cut 71) . (|* gain 0.6)))
$ midiOn "^91" (ply "1 <2 4>") $ midiOn "^91" (ply "1 <2 4>")
$ midiOff "^91" (mask "<t f>") $ midiOff "^91" (mask "<t f>")
......
...@@ -56,7 +56,7 @@ d9 $ gF3 $ gM3 ...@@ -56,7 +56,7 @@ d9 $ gF3 $ gM3
# legato 1 # legato 1
# room 0.2 # room 0.2
# gain 1.1 # gain 1.1
d7 $ gF1 $ gM3 $ ply "1 <1 <2 [2 4]>>" $ "[~ hh]*8" # gain 1.4 d6 $ gF1 $ gM3 $ ply "1 <1 <2 [2 4]>>" $ "[~ hh]*8" # gain 1.4
d8 $ gF1 $ gM2 $ loopAt 1 d8 $ gF1 $ gM2 $ loopAt 1
$ midiOn ("^60"- "^92") (slice 8 "~ 0 ~ <1 3(<1 3 3 5>,8) 5 7*<1!3 2>>") $ midiOn ("^60"- "^92") (slice 8 "~ 0 ~ <1 3(<1 3 3 5>,8) 5 7*<1!3 2>>")
$ midiOn "^92" ( -- Bouton Nassim <3 $ midiOn "^92" ( -- Bouton Nassim <3
......
...@@ -19,7 +19,7 @@ d4 $ gF2 $ gM3 $ midiOn "^76" (ply 8) ...@@ -19,7 +19,7 @@ d4 $ gF2 $ gM3 $ midiOn "^76" (ply 8)
# room 0.4 # sz 0.4 # dry 1.1 # room 0.4 # sz 0.4 # dry 1.1
# crushbus 41 (range 16 2.5 "^32") # crushbus 41 (range 16 2.5 "^32")
# octersubbus 42 (range 0 2.5 "^52") # octersubbus 42 (range 0 2.5 "^52")
d7 $ gM3 $ gF3 d6 $ gM3 $ gF3
$ midiOn "^91" (ply 4) $ midiOn "^91" (ply 4)
$ midiOn "^35" ((# n "<1 ~>") . (# end "<0.4!3 <0.8 1>>")) -- PUTAINN!! $ midiOn "^35" ((# n "<1 ~>") . (# end "<0.4!3 <0.8 1>>")) -- PUTAINN!!
$ midiOn ("^59" - "^35") ((>| n "<2 ~>") -- THE JUICE $ midiOn ("^59" - "^35") ((>| n "<2 ~>") -- THE JUICE
......
...@@ -62,7 +62,7 @@ d5 $ gF3 -- Piano solo lover sunset ...@@ -62,7 +62,7 @@ d5 $ gF3 -- Piano solo lover sunset
# crushbus 41 (range 16 2.25 "^33") # crushbus 41 (range 16 2.25 "^33")
# modIndex (range 0 16 "^53") # modIndex (range 0 16 "^53")
# room 0.4 # room 0.4
d7 $ gF2 -- Nice organs you got there d6 $ gF2 -- Nice organs you got there
$ slice 8 "[5(3,8) <6 6 3 <2 7>>]" $ slice 8 "[5(3,8) <6 6 3 <2 7>>]"
$ loopAt 2 $ loopAt 2
$ "forgan:28" $ "forgan:28"
......
...@@ -60,7 +60,7 @@ d4 $ gF3 ...@@ -60,7 +60,7 @@ d4 $ gF3
# modIndex (range 0 16 "^32") # modIndex (range 0 16 "^32")
# pan 0.8 # pan 0.8
# midiG' "^82" 0 1.3 # midiG' "^82" 0 1.3
d7 $ gF3 d6 $ gF3
$ midiOn "^59" (off "h" (# cut 71)) $ midiOn "^59" (off "h" (# cut 71))
$ slow 2 $ slice 16 "~ <0 1 1 0 0 2 0 2 2 1 2 3 2 3 4 5>" $ slow 2 $ slice 16 "~ <0 1 1 0 0 2 0 2 2 1 2 3 2 3 4 5>"
$ "shiloh:2" $ "shiloh:2"
......
...@@ -16,7 +16,7 @@ d4 $ gF2 $ gM3 ...@@ -16,7 +16,7 @@ d4 $ gF2 $ gM3
# octersubbus 41 (range 0 2 "^52") # octersubbus 41 (range 0 2 "^52")
# room 0.4 # sz 0.8 # room 0.4 # sz 0.8
d5 $ gF3 $ gM3 $ note ("<e!3 cs>@7 [<d d g d>]" - 12) # "FMRhodes1" d5 $ gF3 $ gM3 $ note ("<e!3 cs>@7 [<d d g d>]" - 12) # "FMRhodes1"
d7 $ gF3 $ gM3 $ note "<e3!3 cs2>@7 [d]" # "FMRhodes2" d6 $ gF3 $ gM3 $ note "<e3!3 cs2>@7 [d]" # "FMRhodes2"
d8 $ gF1 $ gM2 $ loopAt 2 $ chop 8 d8 $ gF1 $ gM2 $ loopAt 2 $ chop 8
$ midiOn "^60" (splice 8 "1 4 3 7 4 5*2 [6 7] 7*2") $ midiOn "^60" (splice 8 "1 4 3 7 4 5*2 [6 7] 7*2")
$ "jungle_breaks:45" $ "jungle_breaks:45"
......
...@@ -91,7 +91,7 @@ d5 $ gM3 $ gF3 -- Ghosts from an easier time ...@@ -91,7 +91,7 @@ d5 $ gM3 $ gF3 -- Ghosts from an easier time
# "90s_synatm:8/4" # cut 5 # "90s_synatm:8/4" # cut 5
# crushbus 51 (range 16 2.5 "^33") # crushbus 51 (range 16 2.5 "^33")
-- # midiG' "^82" 0 1.1 -- # midiG' "^82" 0 1.1
d7 $ gF3 $ gM3 -- Jump aboard the BASIC BUS d6 $ gF3 $ gM3 -- Jump aboard the BASIC BUS
$ midiOn "^59" ( struct "t . t(<1 2 1 <1 [4 8]>>,8,1)") $ midiOn "^59" ( struct "t . t(<1 2 1 <1 [4 8]>>,8,1)")
$ midiOff "^91" (loopAt 16) $ midiOff "^91" (loopAt 16)
$ midiOn "^91" (loopAt 8) $ midiOn "^91" (loopAt 8)
...@@ -130,7 +130,7 @@ d10 -- Ready playerm two ...@@ -130,7 +130,7 @@ d10 -- Ready playerm two
-- --
-- SANDBOX -- SANDBOX
-- --
d7 $ gM -- Break from the past d6 $ gM -- Break from the past
-- FIXME(#54) d7 drives more controls than the grid gives it (B7 + C7). ^56 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^56 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d7's own control with gSel. -- FIXME(#54) d7 drives more controls than the grid gives it (B7 + C7). ^56 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^56 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d7's own control with gSel.
-- FIXME(#54) d7 drives more controls than the grid gives it (B7 + C7). ^56 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^56 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d7's own control with gSel. -- FIXME(#54) d7 drives more controls than the grid gives it (B7 + C7). ^56 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^56 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d7's own control with gSel.
$ (# speed (range (-0.25) 2.25 "^56")) $ (# speed (range (-0.25) 2.25 "^56"))
......
...@@ -50,7 +50,7 @@ d4 $ gF2 $ gM -- GENIE OF INFRABASS ...@@ -50,7 +50,7 @@ d4 $ gF2 $ gM -- GENIE OF INFRABASS
# octersubbus 41 (range 0 0.81 "^32") # octersubbus 41 (range 0 0.81 "^32")
# octersubsubbus 42 (range 0 0.6 "^32") # octersubsubbus 42 (range 0 0.6 "^32")
# midiG' "^81" 0 1.2 # midiG' "^81" 0 1.2
d7 $ gF3 d5 $ gF3
$ midiOn "^59" (juxBy 0.7 (rev . (# cut 71))) $ midiOn "^59" (juxBy 0.7 (rev . (# cut 71)))
$ mask "t <f t>" $ chop 16 $ mask "t <f t>" $ chop 16
$ slice 4 "0 <1!3 2>" $ slice 4 "0 <1!3 2>"
......
...@@ -75,7 +75,7 @@ d12 $ gF3 $ gM3 ...@@ -75,7 +75,7 @@ d12 $ gF3 $ gM3
# gain 1.4 # gain 1.4
# lpf (slow 16 $ range 800 2000 sine) # lpf (slow 16 $ range 800 2000 sine)
# room 0.4 # room 0.4
d7 $ gF3 $ gM3 -- Lady Perplexity d6 $ gF3 $ gM3 -- Lady Perplexity
-- $ whenmod 8 7 (# silence) -- $ whenmod 8 7 (# silence)
$ midiOn "^91" (ply "2 4 <8 8 4 16>") $ midiOn "^91" (ply "2 4 <8 8 4 16>")
$ midiOn "^59" (chop 4) $ midiOn "^59" (chop 4)
......
...@@ -80,7 +80,7 @@ d8 $ gF1 $ gM2 ...@@ -80,7 +80,7 @@ d8 $ gF1 $ gM2
-- $ slice 4 "0 1 2 3*<1!3 8>" -- $ slice 4 "0 1 2 3*<1!3 8>"
-- $ "jungle_breaks:12" # cut 8 -- $ "jungle_breaks:12" # cut 8
-- # pan 0.8 -- # pan 0.8
d7 $ gF3 $ gM3 -- TEMPTATION VOICES d6 $ gF3 $ gM3 -- TEMPTATION VOICES
-- $ midiOn "^16" (# n 8) -- $ midiOn "^16" (# n 8)
-- $ midiOn "^17" (chop "8 <16!32 230!32>") -- $ midiOn "^17" (chop "8 <16!32 230!32>")
-- $ midiOn "^19" (>| n "8/2") -- $ midiOn "^19" (>| n "8/2")
......
...@@ -62,7 +62,7 @@ d5 $ gF3 -- The starry night ...@@ -62,7 +62,7 @@ d5 $ gF3 -- The starry night
# room 0.4 # room 0.4
# sz 0.8 # sz 0.8
# pan 0.7 # pan 0.7
d7 $ gM $ gF1 d6 $ gM $ gF1
$ midiOn "^59" (mask (cat [maskDrumI,maskDrumI,maskDrumI,maskDrum])) $ midiOn "^59" (mask (cat [maskDrumI,maskDrumI,maskDrumI,maskDrum]))
$ slice 4 "0 <1!8 0 0 0 1 0 1 0 1*2> 2 <3*<1 2 4 8> 3*<2 4 8 16> 3 [~ 3*<1 2>]>" $ slice 4 "0 <1!8 0 0 0 1 0 1 0 1*2> 2 <3*<1 2 4 8> 3*<2 4 8 16> 3 [~ 3*<1 2>]>"
$ "break:1" $ "break:1"
......
...@@ -41,7 +41,7 @@ d5 $ gF3 $ gM3 ...@@ -41,7 +41,7 @@ d5 $ gF3 $ gM3
$ "nujazz_keys125" $ "nujazz_keys125"
# n (slow 4 "<37 38 39 40>") # n (slow 4 "<37 38 39 40>")
# cut 5 # cut 5
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ chop 8 $ chop 8
$ loopAt 8 $ loopAt 8
$ "rhadamanthe_vocal:31" $ "rhadamanthe_vocal:31"
......
...@@ -24,7 +24,7 @@ d3 $ gF1 $ gM2 ...@@ -24,7 +24,7 @@ d3 $ gF1 $ gM2
# drumFrom "rolandtr909" "hh:2" # cut 3 # drumFrom "rolandtr909" "hh:2" # cut 3
# gain 1.8 # gain 1.8
# legato (range 0.05 0.9 "^31") # legato (range 0.05 0.9 "^31")
d7 $ gF1 $ gM3 -- Breaks Demoniaques d6 $ gF1 $ gM3 -- Breaks Demoniaques
$ midiOn "^91" (ply "2 <2!2 <3 4> <4 8>>") $ midiOn "^91" (ply "2 <2!2 <3 4> <4 8>>")
$ midiOn "^35" (slice 4 "<[0 1 2 3]!6 3*8 3*[16 . 32 8 8 4]>" $ midiOn "^35" (slice 4 "<[0 1 2 3]!6 3*8 3*[16 . 32 8 8 4]>"
. (loopAt 1) . (loopAt 1)
......
...@@ -93,7 +93,7 @@ d5 $ gF3 $ gM3 -- Donne moi ton Private Number <3 FIXME Decalage? ...@@ -93,7 +93,7 @@ d5 $ gF3 $ gM3 -- Donne moi ton Private Number <3 FIXME Decalage?
# gain 1.2 # gain 1.2
# att 0.15 # att 0.15
# rel 2 # rel 2
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ stack [ $ stack [
n "<<~ 22> ~ <21 24 24 33> ~>" n "<<~ 22> ~ <21 24 24 33> ~>"
# "vocalScatAr", -- Happy Bro # "vocalScatAr", -- Happy Bro
......
...@@ -15,7 +15,7 @@ d4 ...@@ -15,7 +15,7 @@ d4
# pan 0.2 # pan 0.2
# cut 4 # cut 4
# midiG' "^81" 0 1.4 # midiG' "^81" 0 1.4
d6 d5
$ "90s_weird:1" $ "90s_weird:1"
# room 0.4 # room 0.4
# note "<0 0 2 3 2 3 -1 0>" # note "<0 0 2 3 2 3 -1 0>"
......
...@@ -44,7 +44,7 @@ d5 $ gF3 $ gM3 -- Blue Birdies as lead <3 ...@@ -44,7 +44,7 @@ d5 $ gF3 $ gM3 -- Blue Birdies as lead <3
# room 0.4 # room 0.4
# sz 0.3 # sz 0.3
# cut 5 # cut 5
d7 $ gM3 $ gF3 -- Blue Birdies as lead <3 d6 $ gM3 $ gF3 -- Blue Birdies as lead <3
-- Sequence: A!4 C!3 A A!6 CS ~ -- Sequence: A!4 C!3 A A!6 CS ~
$ midiOn "^91" (ply "<1!3 2 2!3 4>") $ midiOn "^91" (ply "<1!3 2 2!3 4>")
$ midiOn "^59" (ply "<1!3 2 2!3 4>") $ midiOn "^59" (ply "<1!3 2 2!3 4>")
......
...@@ -50,7 +50,7 @@ d5 $ gF3 $ gM3 ...@@ -50,7 +50,7 @@ d5 $ gF3 $ gM3
# room 0.2 # sz 0.2 # room 0.2 # sz 0.2
# pan 0.42 # pan 0.42
d9 $ gF2 $ gM3 $ note "<e4 a4 g4 b4>/4" # "moog" # cut 9 d9 $ gF2 $ gM3 $ note "<e4 a4 g4 b4>/4" # "moog" # cut 9
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (ply "<2 [4 8]>" . chop 4) $ midiOn "^91" (ply "<2 [4 8]>" . chop 4)
$ midiOn "^59" (("<0.2 0>" <~) . (# n "<<8 9> ~!3>")) $ midiOn "^59" (("<0.2 0>" <~) . (# n "<<8 9> ~!3>"))
$ n "<0 1 2 3 4 5 6 7>/2" $ n "<0 1 2 3 4 5 6 7>/2"
......
...@@ -72,7 +72,7 @@ d5 $ gF3 $ gM3 ...@@ -72,7 +72,7 @@ d5 $ gF3 $ gM3
-- # crushbus 51 (range 16 3.5 "^54") -- # crushbus 51 (range 16 3.5 "^54")
# legato 0.25 # legato 0.25
# rq 0.3 -- TODO EXPLORE <3 # rq 0.3 -- TODO EXPLORE <3
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^35" ( -- A-a-a-a-ACID! $ midiOn "^35" ( -- A-a-a-a-ACID!
chop 8 . (# n 7) chop 8 . (# n 7)
) )
......
...@@ -64,7 +64,7 @@ d4 -- Resolute Bass ...@@ -64,7 +64,7 @@ d4 -- Resolute Bass
# crushbus 41 (range 16 1.25 "^32") # crushbus 41 (range 16 1.25 "^32")
# midiG' "^81" 0 1.6 # midiG' "^81" 0 1.6
# cut 4 # cut 4
d6 -- Opiniatre guitare d5 -- Opiniatre guitare
$ g $ g
-- $ someCyclesBy "<t!16 f!16>" (segment "<8 <4 2>>") -- $ someCyclesBy "<t!16 f!16>" (segment "<8 <4 2>>")
$ midiOn "^90" (slice 2 (run "<4 <2 8>>")) $ midiOn "^90" (slice 2 (run "<4 <2 8>>"))
...@@ -72,7 +72,7 @@ d6 -- Opiniatre guitare ...@@ -72,7 +72,7 @@ d6 -- Opiniatre guitare
# crushbus 51 (range 10 3.5 "^34") # crushbus 51 (range 10 3.5 "^34")
# midiG' "^82" 0 1.2 # midiG' "^82" 0 1.2
# cut 6 # cut 6
d7 d6
$ superimpose ( $ superimpose (
(# cut 71) (# cut 71)
. arp "up" . arp "up"
...@@ -98,7 +98,7 @@ once $ "fguitar:59" -- sometimes 43 ...@@ -98,7 +98,7 @@ once $ "fguitar:59" -- sometimes 43
d6 $ "seawolf:0/4" d5 $ "seawolf:0/4"
# cut 6 # cut 6
# gain 0.75 # gain 0.75
......
...@@ -59,7 +59,7 @@ d5 $ gF3 $ gM3-- RIFFs <3 ...@@ -59,7 +59,7 @@ d5 $ gF3 $ gM3-- RIFFs <3
$ "xplosive" $ "xplosive"
# n "<0!12 <32 33 34 35>!4>" # n "<0!12 <32 33 34 35>!4>"
# cut 5 -- RIFF # cut 5 -- RIFF
d7 $ gF3 $ gM3 -- VOICES d6 $ gF3 $ gM3 -- VOICES
$ midiOn "^91" (ply "2 <4 4 4 8>") $ midiOn "^91" (ply "2 <4 4 4 8>")
$ midiOn "^59" (# n "<24!2 25 <26 27>>") -- Real Dogs $ midiOn "^59" (# n "<24!2 25 <26 27>>") -- Real Dogs
$ (midiOff "^59" (superimpose (chop 16) $ (midiOff "^59" (superimpose (chop 16)
......
...@@ -40,7 +40,7 @@ d4 $ gF2 $ gM3 ...@@ -40,7 +40,7 @@ d4 $ gF2 $ gM3
-- # room 0.2 -- # room 0.2
-- # legato 0.5 -- # legato 0.5
# gain 1.3 # gain 1.3
d7 $ gF2 $ gM3 d6 $ gF2 $ gM3
$ midiOn "^59" (struct "t(4,8,1)") $ midiOn "^59" (struct "t(4,8,1)")
$ midiOn "^91" (ply 2) $ midiOn "^91" (ply 2)
$ slow 2 $ slow 2
......
...@@ -80,7 +80,7 @@ d11 $ gM3 $ gF3 -- Sky's companion ...@@ -80,7 +80,7 @@ d11 $ gM3 $ gF3 -- Sky's companion
# n "3" # n "3"
# cut 11 # cut 11
# pan 0.9 # pan 0.9
d7 $ gF3 -- together yeah! d6 $ gF3 -- together yeah!
$ midiOn "^59" (>| n "~ ~ ~ 11") -- Shew $ midiOn "^59" (>| n "~ ~ ~ 11") -- Shew
$ someCyclesBy ("^35" - "^59") (>| n "<0 1 2 3 4 5 6 7>/2") -- Buildup $ someCyclesBy ("^35" - "^59") (>| n "<0 1 2 3 4 5 6 7>/2") -- Buildup
$ midiOn ("^91" - "^59") (>| n "<[~ ~ ~ <8 8 9 10>]>") -- Reponse: COME <3 $ midiOn ("^91" - "^59") (>| n "<[~ ~ ~ <8 8 9 10>]>") -- Reponse: COME <3
......
...@@ -46,7 +46,7 @@ d5 $ gM3 $ gF3 ...@@ -46,7 +46,7 @@ d5 $ gM3 $ gF3
# "superfork" # octave 6 |* gain (range 0.87 1 perlin) # "superfork" # octave 6 |* gain (range 0.87 1 perlin)
# att (range 0.2 0.4 perlin) # rel 1 # att (range 0.2 0.4 perlin) # rel 1
# gain 0.93 # gain 0.93
d7 $ gM3 $ gF3 -- CHOIR d6 $ gM3 $ gF3 -- CHOIR
-- $ mask "t(4,16)" -- $ mask "t(4,16)"
$ note (cat [ $ note (cat [
"[d4@3 c4 b3@2 a3@2 . g3 a3 b3 g3]", -- deck 1a "[d4@3 c4 b3@2 a3@2 . g3 a3 b3 g3]", -- deck 1a
......
...@@ -38,7 +38,7 @@ d5 $ gF3 $ gM3 -- Burning butterflies FIXME TROP NUMERIQUE ...@@ -38,7 +38,7 @@ d5 $ gF3 $ gM3 -- Burning butterflies FIXME TROP NUMERIQUE
# gain (0.5 + (range 0 0.2 (slow 2 perlin))) # gain (0.5 + (range 0 0.2 (slow 2 perlin)))
# room 0.2 # room 0.2
# dry 0.9 # sz 0.5 # dry 0.9 # sz 0.5
d7 $ gF2 $ gM3 d6 $ gF2 $ gM3
$ chop 4 $ chop 4
$ loopAt 4 $ loopAt 4
$ "meth_bass:17" $ "meth_bass:17"
......
...@@ -78,7 +78,7 @@ d5 $ gF3 $ gM3 ...@@ -78,7 +78,7 @@ d5 $ gF3 $ gM3
# delay (slow 8 $ range 0 0.9 perlin) # delay (slow 8 $ range 0 0.9 perlin)
# delayfb (slow 16 $ range 0 0.24 perlin) # delayfb (slow 16 $ range 0 0.24 perlin)
# pan 0.8 # pan 0.8
d7 $ gF2 $ gM3 -- LEAD: Rhodes arp in D Dorian (i7 → IV7 → bIII → v) d6 $ gF2 $ gM3 -- LEAD: Rhodes arp in D Dorian (i7 → IV7 → bIII → v)
$ midiOn "^91" (jux rev) $ midiOn "^91" (jux rev)
$ midiOff "^59" (degradeBy 0.15) $ midiOff "^59" (degradeBy 0.15)
$ sometimesBy "^35" (# squiz "<1 2 3 1>") $ sometimesBy "^35" (# squiz "<1 2 3 1>")
......
...@@ -41,7 +41,7 @@ d5 $ gF3 $ gM3 -- BumBum Flute (Run/Wait) ...@@ -41,7 +41,7 @@ d5 $ gF3 $ gM3 -- BumBum Flute (Run/Wait)
$ "bumbum" $ "bumbum"
# cut 5 # cut 5
# gain 1.4 # gain 1.4
d7 $ gF3 $ gM3 -- When the voice says BumBum d6 $ gF3 $ gM3 -- When the voice says BumBum
$ midiOn "^91" ((# begin 0.5) . ply "<4 4 4 8 4 8 16 32>") $ midiOn "^91" ((# begin 0.5) . ply "<4 4 4 8 4 8 16 32>")
$ midiOn "^35" ( $ midiOn "^35" (
(slow 2 . (>| n "<17 17 18 18 17 17 18 19>")) -- CALL (slow 2 . (>| n "<17 17 18 18 17 17 18 19>")) -- CALL
......
...@@ -71,7 +71,7 @@ d5 $ gF3 $ gM3 -- SIDEKICK LEAD AMI FIABLE DE LA BASSE ...@@ -71,7 +71,7 @@ d5 $ gF3 $ gM3 -- SIDEKICK LEAD AMI FIABLE DE LA BASSE
# room 0.2 # room 0.2
# cut "41 42 43 44" # cut "41 42 43 44"
# gain 1.42 # gain 1.42
d7 $ gM3 $ gF3 d6 $ gM3 $ gF3
$ n "<0 0 <6 5> 0 1 1 2 7>" $ n "<0 0 <6 5> 0 1 1 2 7>"
# "come_guitar" # cut 6 # "come_guitar" # cut 6
# crushbus 61 (range 16 2.5 "^35") # crushbus 61 (range 16 2.5 "^35")
......
...@@ -91,7 +91,7 @@ d5 $ g -- Infectious Bassline ...@@ -91,7 +91,7 @@ d5 $ g -- Infectious Bassline
# crushbus 5 (range 16 2.5 "^53") # crushbus 5 (range 16 2.5 "^53")
# midiG' "^82" 0 1.3 # midiG' "^82" 0 1.3
# room 0.2 # room 0.2
d7 -- TOYS TODO Rework classico louche d6 -- TOYS TODO Rework classico louche
$ degradeBy (0.99 - "^35") $ degradeBy (0.99 - "^35")
$ somecyclesBy "<0!4 1 1 0 1>" (often (# speed "-1")) $ somecyclesBy "<0!4 1 1 0 1>" (often (# speed "-1"))
$ slice 8 (stack [ $ slice 8 (stack [
......
...@@ -54,7 +54,7 @@ d5 $ gM3 $ gF3 ...@@ -54,7 +54,7 @@ d5 $ gM3 $ gF3
# pan 0.35 # pan 0.35
# room 0.3 # room 0.3
# modIndex (range 0 50 "^33") # modIndex (range 0 50 "^33")
d7 $ gF3 -- Anges du Minitel d6 $ gF3 -- Anges du Minitel
$ midiOn "^91" (chop 8) $ midiOn "^91" (chop 8)
$ swingBy ("<1!3 2>"/3) 4 $ swingBy ("<1!3 2>"/3) 4
$ stut (slow 16 "<0 1 2 3>") 0.75 "e" $ stut (slow 16 "<0 1 2 3>") 0.75 "e"
...@@ -86,7 +86,7 @@ d5 $ gM3 $ gF3 ...@@ -86,7 +86,7 @@ d5 $ gM3 $ gF3
$ "nujazz_keys125" # n "<56 56 57 56 58!4 59 59 56 59>" $ "nujazz_keys125" # n "<56 56 57 56 58!4 59 59 56 59>"
# cut 5 # cut 5
# pan 0.6 # pan 0.6
d7 $ gM3 $ gF3 d6 $ gM3 $ gF3
$ chop 8 $ chop 8
$ loopAt 2 $ loopAt 2
$ "nujazz_keys125" # n "<66!4 67!4>" $ "nujazz_keys125" # n "<66!4 67!4>"
......
...@@ -32,7 +32,7 @@ d4 $ gF2 ...@@ -32,7 +32,7 @@ d4 $ gF2
# crushbus 51 (range 16 3.4 "^32") -- BURN ME I'M FAMOUS # crushbus 51 (range 16 3.4 "^32") -- BURN ME I'M FAMOUS
# roombus 52 (range 0 0.8 "^32") -- REVERB AND DINE BEFORE THO # roombus 52 (range 0 0.8 "^32") -- REVERB AND DINE BEFORE THO
# midiG' "^81" 0 1.2 # midiG' "^81" 0 1.2
d6 $ gF3 d5 $ gF3
$ note ( $ note (
"<bf5 c6 cs6 <ef6 f6>>" "<bf5 c6 cs6 <ef6 f6>>"
-- |+| "0 ~ [0 0] ~ ~ 0*2 ~ >" -- |+| "0 ~ [0 0] ~ ~ 0*2 ~ >"
...@@ -42,7 +42,7 @@ d6 $ gF3 ...@@ -42,7 +42,7 @@ d6 $ gF3
# cut 6 # cut 6
# crushbus 61 (range 16 2.8 "^34") -- BURN ME I'M FAMOUS # crushbus 61 (range 16 2.8 "^34") -- BURN ME I'M FAMOUS
# midiG' "^82" 0 1.2 # midiG' "^82" 0 1.2
d7 $ gF3 -- SHILOOOOOH FIXME: Marche plus avec la nouvelle basse d6 $ gF3 -- SHILOOOOOH FIXME: Marche plus avec la nouvelle basse
$ midiOff "^59" ((# room 0.2) . (# legato 0.5)) $ midiOff "^59" ((# room 0.2) . (# legato 0.5))
-- $ (# hpfbus 71 (range 200 8800 ("^19"))) -- $ (# hpfbus 71 (range 200 8800 ("^19")))
-- $ (# lpfbus 71 (range 8800 200 ("^35"))) -- $ (# lpfbus 71 (range 8800 200 ("^35")))
......
...@@ -68,7 +68,7 @@ d5 $ gF2 -- Bassline langoureuse ...@@ -68,7 +68,7 @@ d5 $ gF2 -- Bassline langoureuse
# crushbus 51 (range 16 2 "^33") # crushbus 51 (range 16 2 "^33")
# midiG' "^81" 0 1.52 # midiG' "^81" 0 1.52
# room 0.2 # sz 0.2 # room 0.2 # sz 0.2
d7 $ gF3 d6 $ gF3
-- $ midiOff "^59" (mask "<f!64 t!64>") -- $ midiOff "^59" (mask "<f!64 t!64>")
$ slice 4 "~ <~ [0 1]>" $ slice 4 "~ <~ [0 1]>"
$ chop 4 $ chop 4
......
...@@ -37,7 +37,7 @@ d5 ...@@ -37,7 +37,7 @@ d5
# cut 5 # cut 5
# gain 1.5 # gain 1.5
# room 0.4 # room 0.4
d7 $ gM3 $ gF3 d6 $ gM3 $ gF3
$ midiOn "^91" (off 0.25 (id) . ply 4) $ midiOn "^91" (off 0.25 (id) . ply 4)
$ midiOff "^59" (chop 8) $ midiOff "^59" (chop 8)
$ "law_adri" $ "law_adri"
...@@ -90,7 +90,7 @@ d5 $ gF3 $ gM3 ...@@ -90,7 +90,7 @@ d5 $ gF3 $ gM3
# "law_adri" # "law_adri"
# cut 5 # cut 5
# pan 0.8 # pan 0.8
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (ply "<2 2 [4 2] 8>") $ midiOn "^91" (ply "<2 2 [4 2] 8>")
$ "law_adri" $ "law_adri"
# n "<4!4 5!4 5!4 8 8 5 89 10 9*2 9*2 11 12 13 14>" # n "<4!4 5!4 5!4 8 8 5 89 10 9*2 9*2 11 12 13 14>"
......
...@@ -55,7 +55,7 @@ d5 $ gF3 $ gM3 ...@@ -55,7 +55,7 @@ d5 $ gF3 $ gM3
# octersubbus 53 (range 0 2.5 "^53") # octersubbus 53 (range 0 2.5 "^53")
# room 0.4 # room 0.4
# gain 1.2 # gain 1.2
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (chop 4) $ midiOn "^91" (chop 4)
$ midiOn "^59" (ply "2 2 2 4") $ midiOn "^59" (ply "2 2 2 4")
$ "zombie:24" $ "zombie:24"
......
...@@ -41,7 +41,7 @@ d5 $ gF3 $ gM3 ...@@ -41,7 +41,7 @@ d5 $ gF3 $ gM3
$ note ("<0(3,8)!3 0(3,8)*2>" + prog) $ note ("<0(3,8)!3 0(3,8)*2>" + prog)
# "FMRhodes2" # "FMRhodes2"
# modIndex (range 0 16 "^33") # modIndex (range 0 16 "^33")
d7 $ gF3 d6 $ gF3
$ midiOff "^59" (>| n "~ <~ <1 2>> ~ ~") -- Intro Fabuleux $ midiOff "^59" (>| n "~ <~ <1 2>> ~ ~") -- Intro Fabuleux
$ midiOn "^91" (ply 8) $ midiOn "^91" (ply 8)
$ someCyclesBy "<0!32 1!32>" (>| n "<7 <8 [8 <12 13>]> 11 <12 13>>") -- Promesse/engagement/pari $ someCyclesBy "<0!32 1!32>" (>| n "<7 <8 [8 <12 13>]> 11 <12 13>>") -- Promesse/engagement/pari
......
...@@ -54,7 +54,7 @@ d5 $ gF3 $ gM3 -- Douce guitare juxée ...@@ -54,7 +54,7 @@ d5 $ gF3 $ gM3 -- Douce guitare juxée
# room 0.2 # dry 1 # room 0.2 # dry 1
# cut 3 # cut 3
# gain 1.5 # gain 1.5
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^35" (mask "t f" . (chop 4)) $ midiOn "^35" (mask "t f" . (chop 4))
$ superimpose ((# cut 71) . (# crushbus 71 (range 16 2.5 "^55"))) $ superimpose ((# cut 71) . (# crushbus 71 (range 16 2.5 "^55")))
$ loopAt 4 $ loopAt 4
......
...@@ -42,7 +42,7 @@ d5 $ gF3 $ gM3 -- Phone line ...@@ -42,7 +42,7 @@ d5 $ gF3 $ gM3 -- Phone line
# crushbus 51 (range 16 3.5 "^33") # crushbus 51 (range 16 3.5 "^33")
# pan 0.9 # pan 0.9
# room 0.3 # room 0.3
d7 $ gF3 $ gM3 -- Laser!!! d6 $ gF3 $ gM3 -- Laser!!!
-- $ midiOn "^90" (ply "4 <8 16>") -- $ midiOn "^90" (ply "4 <8 16>")
-- $ slow 2 -- $ slow 2
$ midiOn "^91" (ply 2) $ midiOn "^91" (ply 2)
......
...@@ -79,7 +79,7 @@ d5 $ g -- Jumpy Piano ...@@ -79,7 +79,7 @@ d5 $ g -- Jumpy Piano
# room 0.5 # room 0.5
# sz 0.7 # sz 0.7
# midiG' "^82" 0 1 # midiG' "^82" 0 1
d7 $ g d6 $ g
$ midiOn "^91" (ply "<1 1 2 2>") $ midiOn "^91" (ply "<1 1 2 2>")
$ midiOn "^59" (ply "<2!3 4>") $ midiOn "^59" (ply "<2!3 4>")
$ slice 8 (run ( $ slice 8 (run (
......
...@@ -54,7 +54,7 @@ d3 -- Runny Maracas ...@@ -54,7 +54,7 @@ d3 -- Runny Maracas
$ "hh27*8" $ "hh27*8"
# n "2 <2 <[2|9] [9 <9 ~> <~ 9> 2]>>" # n "2 <2 <[2|9] [9 <9 ~> <~ 9> 2]>>"
# midiG' "^80" 0.5 1.17 # midiG' "^80" 0.5 1.17
d6 $ g -- Hello Parov! Piano d5 $ g -- Hello Parov! Piano
$ n "3" $ n "3"
|>| note ( |>| note (
"0 <7 12>*<1 2 4 1>" "0 <7 12>*<1 2 4 1>"
...@@ -63,7 +63,7 @@ d6 $ g -- Hello Parov! Piano ...@@ -63,7 +63,7 @@ d6 $ g -- Hello Parov! Piano
# "mojo" # "mojo"
# cut 6 # cut 6
# midiG' "^81" 0.5 1.5 # midiG' "^81" 0.5 1.5
d7 $ g -- Hello Parov! Piano2 d6 $ g -- Hello Parov! Piano2
$ midiOn "^59" (|+| n ("0*<1!4 2!3 4 4 4 8 16>" $ midiOn "^59" (|+| n ("0*<1!4 2!3 4 4 4 8 16>"
)) ))
$ "mojo" # n "<6 7>" $ "mojo" # n "<6 7>"
......
...@@ -42,7 +42,7 @@ d4 $ gF2 $ gM3 ...@@ -42,7 +42,7 @@ d4 $ gF2 $ gM3
-- -- # n "<0!7 1>" -- -- # n "<0!7 1>"
-- # cut 5 -- # cut 5
-- # crushbus 51 (range 16 3.5 "^54") -- # crushbus 51 (range 16 3.5 "^54")
d7 $ gF1 $ gM3 d5 $ gF1 $ gM3
-- $ jux rev -- $ jux rev
$ note ("0(<<1!4 3!12> <1!8 <3!3 5>!8> 3 1>,8) 0(<1 3 1 5>,8)" $ note ("0(<<1!4 3!12> <1!8 <3!3 5>!8> 3 1>,8) 0(<1 3 1 5>,8)"
+ "<f gs bf g>" + "<f gs bf g>"
......
...@@ -54,7 +54,7 @@ d5 $ gF3 $ gM3 ...@@ -54,7 +54,7 @@ d5 $ gF3 $ gM3
# width (range 0.05 0.5 "^33") # width (range 0.05 0.5 "^33")
# crushbus 51 (range 16 3.5 "^53") # crushbus 51 (range 16 3.5 "^53")
# room 0.3 # room 0.3
d7 $ gF1 $ gM3 $ dMask -- Tracey Trancey's loop art d6 $ gF1 $ gM3 $ dMask -- Tracey Trancey's loop art
$ midiOff "^59" (mask "t(4,8,1)" . chop 16) -- TECHNO MASK $ midiOff "^59" (mask "t(4,8,1)" . chop 16) -- TECHNO MASK
$ midiOn "^35" (# n 2) -- UPDOWN $ midiOn "^35" (# n 2) -- UPDOWN
$ chop 8 $ chop 8
......
...@@ -46,7 +46,7 @@ d4 $ gF2 $ gM3 ...@@ -46,7 +46,7 @@ d4 $ gF2 $ gM3
# sz 0.5 # sz 0.5
# pan 0.6 # pan 0.6
-- SOLEIL DU SOIR <3 -- SOLEIL DU SOIR <3
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (ply 2 . (# legato 0.25)) $ midiOn "^91" (ply 2 . (# legato 0.25))
$ midiOn "^59" ((|+ note 12)) $ midiOn "^59" ((|+ note 12))
$ fast 2 $ fast 2
......
...@@ -81,7 +81,7 @@ d8 $ gF1 $ gM2 ...@@ -81,7 +81,7 @@ d8 $ gF1 $ gM2
$ chop 16 $ chop 16
$ loopAt 4 $ loopAt 4
$ "jungle_breaks:45" $ "jungle_breaks:45"
d6 d5
-- $ loopAt 8 -- $ loopAt 8
$ chop "4 8" $ chop "4 8"
$ note "<[fs,a,cs] [gs,c,ds] [g,b,d] [fs,a,cs]>" $ note "<[fs,a,cs] [gs,c,ds] [g,b,d] [fs,a,cs]>"
...@@ -91,7 +91,7 @@ d6 ...@@ -91,7 +91,7 @@ d6
-- # crushbus 61 (range 16 4.5 "^31") -- # crushbus 61 (range 16 4.5 "^31")
-- # hpfbus 62 (range 0 1500 "^31") -- # hpfbus 62 (range 0 1500 "^31")
# gain 0.65 # gain 0.65
d7 $ gF3 $ gM3 -- La guitare d'Icare d6 $ gF3 $ gM3 -- La guitare d'Icare
$ midiOn "^91"(ply 2) $ midiOn "^91"(ply 2)
$ midiOn "^59" (# n 1) $ midiOn "^59" (# n 1)
$ fix (|* gain 0.8) (n "1") $ fix (|* gain 0.8) (n "1")
......
...@@ -68,7 +68,7 @@ d4 -- BASSLINE GENERATIVE ...@@ -68,7 +68,7 @@ d4 -- BASSLINE GENERATIVE
# crushbus 41 (range 16 3.5 "^52") # crushbus 41 (range 16 3.5 "^52")
# room 0.2 # dry 1.2 # sz 0.7 # room 0.2 # dry 1.2 # sz 0.7
# gain 1.8 # gain 1.8
d7 -- CHOEUR GENERATIF ALONG THE BASS d6 -- CHOEUR GENERATIF ALONG THE BASS
$ gF3 $ gM3 $ gF3 $ gM3
$ midiOn "^91" (superimpose ( $ midiOn "^91" (superimpose (
arp "up <up <converge pinkyup>>" arp "up <up <converge pinkyup>>"
......
...@@ -46,7 +46,7 @@ d5 $ gM3 $ gF3 ...@@ -46,7 +46,7 @@ d5 $ gM3 $ gF3
# cut 5 # cut 5
# pan 0.6 # pan 0.6
# gain 1.4 # gain 1.4
d7 $ gM3 $ gF3 d6 $ gM3 $ gF3
$ midiOn "^91" (ply "<2 2 <4 8> <8 4>>") $ midiOn "^91" (ply "<2 2 <4 8> <8 4>>")
$ chop 8 $ chop 8
$ loopAt 2 $ loopAt 2
......
...@@ -39,7 +39,7 @@ d5 $ gF3 $ gM3 ...@@ -39,7 +39,7 @@ d5 $ gF3 $ gM3
$ chop 8 $ chop 8
$ "zombie:0/2" $ "zombie:0/2"
# cut 5 # cut 5
d7 $ gF3 $ gM3 -- ZOMBIE GUITAR INFECTION d6 $ gF3 $ gM3 -- ZOMBIE GUITAR INFECTION
$ ply 8 $ ply 8
$ chop 4 $ chop 4
$ midiOff "^59" (slow 4) $ midiOff "^59" (slow 4)
......
...@@ -66,7 +66,7 @@ d5 $ g -- Synth voices ...@@ -66,7 +66,7 @@ d5 $ g -- Synth voices
# crush (range 10 2 "^33") # crush (range 10 2 "^33")
# gM' 0 1 ("^82" - 0.2 * "^33") # gM' 0 1 ("^82" - 0.2 * "^33")
# cut 5 # cut 5
d7 $ g -- Side guitar d6 $ g -- Side guitar
$ sometimesBy "^35" (scramble 16) $ sometimesBy "^35" (scramble 16)
$ mask "<t!6 f!2>" $ mask "<t!6 f!2>"
$ loopAt 2 $ loopAt 2
......
...@@ -37,7 +37,7 @@ d4 $ gF2 -- SynBase ...@@ -37,7 +37,7 @@ d4 $ gF2 -- SynBase
# crushbus 42 (range 16 4 "^32") # crushbus 42 (range 16 4 "^32")
# room 0.3 # dry 0.9 # room 0.3 # dry 0.9
-- # midiG' "^81" 0 1.2 -- # midiG' "^81" 0 1.2
d6 $ gF2 -- MOTHERBASS d5 $ gF2 -- MOTHERBASS
$ midiOn "^34" (mask "<t f!3>" . (# legato 4)) $ midiOn "^34" (mask "<t f!3>" . (# legato 4))
$ midiOn "^90" (ply 4) $ midiOn "^90" (ply 4)
$ note "f3" $ note "f3"
......
...@@ -91,7 +91,7 @@ d5 -- Choeurs ...@@ -91,7 +91,7 @@ d5 -- Choeurs
# room 0.4 # room 0.4
# size 0.7 # size 0.7
# dry 1.05 # dry 1.05
d7 d6
$ sometimesBy "^59" (# lpf 2000) $ sometimesBy "^59" (# lpf 2000)
$ g $ g
$ sometimesBy "^91" (fast 2) $ sometimesBy "^91" (fast 2)
......
...@@ -48,7 +48,7 @@ d5 $ gF3 $ gM3 ...@@ -48,7 +48,7 @@ d5 $ gF3 $ gM3
# n "<11>" # n "<11>"
# crushbus 51 (range 16 3.5 "^33") # crushbus 51 (range 16 3.5 "^33")
# cut 5 # cut 5
d7 $ gF3 $ gM3 -- La pluie <3 d6 $ gF3 $ gM3 -- La pluie <3
$ midiOn "^59" (|+| note "0 12 0 <12!4 [12 0 12]!4 [0 7 12 0]!8>") $ midiOn "^59" (|+| note "0 12 0 <12!4 [12 0 12]!4 [0 7 12 0]!8>")
$ superimpose (struct "t(<3!3 [3 5]>,8)" . (|+| note (arp "<down!3 up>" "<c'maj'3!3 c'maj'4>"))) $ superimpose (struct "t(<3!3 [3 5]>,8)" . (|+| note (arp "<down!3 up>" "<c'maj'3!3 c'maj'4>")))
$ note ("<e c b4 <e4 d4>>") $ note ("<e c b4 <e4 d4>>")
......
...@@ -51,7 +51,7 @@ d5 $ gF3 $ gM3 -- GUITARE DU DJ ...@@ -51,7 +51,7 @@ d5 $ gF3 $ gM3 -- GUITARE DU DJ
-- # octer 0.8 # octersub 1.2 -- # octer 0.8 # octersub 1.2
# lpf 5000 # lpf 5000
# pan (slow 4 $ range 0.8 0.2 sine) # pan (slow 4 $ range 0.8 0.2 sine)
d7 $ gF3 $ gM3 -- Laisse moi kiffer la vibe. d6 $ gF3 $ gM3 -- Laisse moi kiffer la vibe.
$ midiOn ("^91" - "^59") (ply "<2 <2 4> 2 <4 [4 8] [4 16 4] [16 4]>>") $ midiOn ("^91" - "^59") (ply "<2 <2 4> 2 <4 [4 8] [4 16 4] [16 4]>>")
$ midiOn "^35" (-- COPINE $ midiOn "^35" (-- COPINE
ply 4 . ply 4 .
......
...@@ -85,7 +85,7 @@ d5 $ gF3 $ gM3 -- Les ptites keys de fin de session tranquilou ...@@ -85,7 +85,7 @@ d5 $ gF3 $ gM3 -- Les ptites keys de fin de session tranquilou
# crushbus 51 (range 16 3.5 "^33") # crushbus 51 (range 16 3.5 "^33")
# pan 0.9 # pan 0.9
# room 0.3 # room 0.3
d7 $ gF3 $ gM3 $ "trance_amb:0/2" # cut 7 d6 $ gF3 $ gM3 $ "trance_amb:0/2" # cut 7
d8 $ gF1 $ gM2 d8 $ gF1 $ gM2
$ midiOff "^60" (mask "t(4,8,1)") -- Techno drum mask $ midiOff "^60" (mask "t(4,8,1)") -- Techno drum mask
$ midiOn "^36 " (loopAt 4 . (# "jungle_breaks:22")) -- Raise COMEON! $ midiOn "^36 " (loopAt 4 . (# "jungle_breaks:22")) -- Raise COMEON!
......
...@@ -53,7 +53,7 @@ d5 $ gF3 $ gM3 ...@@ -53,7 +53,7 @@ d5 $ gF3 $ gM3
$ midiOff "^57" (>| n "1/2") $ midiOff "^57" (>| n "1/2")
$ "coffee" $ "coffee"
# cut 5 # cut 5
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^91" (ply 8) $ midiOn "^91" (ply 8)
$ (0.25 ~>) $ (0.25 ~>)
$ slow 8 $ slow 8
......
...@@ -45,7 +45,7 @@ d5 $ gF3 $ gM3 ...@@ -45,7 +45,7 @@ d5 $ gF3 $ gM3
# cut 5 # cut 5
# room 0.4 # sz 0.6 # dry 1.1 # room 0.4 # sz 0.6 # dry 1.1
# octersub 1.4 # octersub 1.4
d7 $ gF3 $ gM3 d6 $ gF3 $ gM3
$ midiOn "^59" (>| n "<~ ~ 8 ~>") $ midiOn "^59" (>| n "<~ ~ 8 ~>")
$ n "<<3 4 5 <6 7>> ~ <3 ~> ~>" $ n "<<3 4 5 <6 7>> ~ <3 ~> ~>"
# "superfreak" # "superfreak"
......
...@@ -97,7 +97,7 @@ d9 -- b ef ...@@ -97,7 +97,7 @@ d9 -- b ef
$ note "<[b4, gs5] ~ [cs4, b5] ~>" $ note "<[b4, gs5] ~ [cs4, b5] ~>"
# "moogBass" # "moogBass"
# legato 2 # legato 2
d7 $ gF2 $ gM3 d6 $ gF2 $ gM3
$ midiOff "^91" (chop 8 . (struct "t*8")) $ midiOff "^91" (chop 8 . (struct "t*8"))
$ midiOff "^59" (mask "t(3,8) t(3,8)") $ midiOff "^59" (mask "t(3,8) t(3,8)")
$ note ( $ note (
......
...@@ -28,7 +28,7 @@ d2 $ gF $ gMute -- Clap timer ...@@ -28,7 +28,7 @@ d2 $ gF $ gMute -- Clap timer
$ drumFrom "[sakatadpm48,rolandr8]" "cp" $ drumFrom "[sakatadpm48,rolandr8]" "cp"
# lpf 2000 # lpf 2000
# gain 1.6 # gain 1.6
d7 $ gF3 $ gM3 -- High Cello Dauphin d6 $ gF3 $ gM3 -- High Cello Dauphin
$ midiOn "^91" (ply 2) $ midiOn "^91" (ply 2)
$ midiOn (1 - "^35") (struct "t . f") $ midiOn (1 - "^35") (struct "t . f")
$ struct "t@2 t*<1 2 1 <4 1>> t*<1 2 4 8>" $ struct "t@2 t*<1 2 1 <4 1>> t*<1 2 4 8>"
......
...@@ -42,7 +42,7 @@ d5 $ gM $ gF3 ...@@ -42,7 +42,7 @@ d5 $ gM $ gF3
# room 0.2 # room 0.2
-- # cru -- # cru
# midiG' "^33" 0 1.4 # midiG' "^33" 0 1.4
d7 $ gF3 -- Marimba à la mode d6 $ gF3 -- Marimba à la mode
$ note "<[gs ~ ef gs gs ~ ef gs ~ ef gs ~ ef@2 ~ e] [<~ <gs5 gs4>>]>" $ note "<[gs ~ ef gs gs ~ ef gs ~ ef gs ~ ef@2 ~ e] [<~ <gs5 gs4>>]>"
# "modalMarimba" # "modalMarimba"
# cut 7 # cut 7
......
...@@ -45,7 +45,7 @@ d8 $ g ...@@ -45,7 +45,7 @@ d8 $ g
$ "jungle_breaks:30" $ "jungle_breaks:30"
# gain (slow 8 $ range 0.6 0.85 saw) # gain (slow 8 $ range 0.6 0.85 saw)
# cut 8 # cut 8
d7 $ g d6 $ g
$ fix (|* gain 0.9) "jungle_fx:19" -- Horn $ fix (|* gain 0.9) "jungle_fx:19" -- Horn
$ fix (|* gain 0.8) "jungle_fx:33" -- Detroit $ fix (|* gain 0.8) "jungle_fx:33" -- Detroit
$ stack [ $ stack [
......
...@@ -47,7 +47,7 @@ d2 $ g -- BREAK ...@@ -47,7 +47,7 @@ d2 $ g -- BREAK
# speed (range 0 2 "^51") # speed (range 0 2 "^51")
# midiG' "^80" 0 1.5 # midiG' "^80" 0 1.5
# cut 2 # cut 2
d7 $ g -- Hello PWM! d6 $ g -- Hello PWM!
$ (|* gain "<1!15 0.8>") $ (|* gain "<1!15 0.8>")
$ midiOn "^91" (chop "<[8 <4 16>]!15 1>") $ midiOn "^91" (chop "<[8 <4 16>]!15 1>")
$ midiOn "^59" (superimpose $ segment 16) $ midiOn "^59" (superimpose $ segment 16)
...@@ -59,7 +59,7 @@ d7 $ g -- Hello PWM! ...@@ -59,7 +59,7 @@ d7 $ g -- Hello PWM!
# resonance (slow 32 $ range 0.2 0.6 sine) # resonance (slow 32 $ range 0.2 0.6 sine)
# crushbus 71 (range 10 3 "^35") # crushbus 71 (range 10 3 "^35")
# midiG' "^81" 0 1.42 # midiG' "^81" 0 1.42
d6 $ g -- Nappes Rhodes d5 $ g -- Nappes Rhodes
$ note ( $ note (
prog prog
+ "0 12" + "0 12"
......
...@@ -91,7 +91,7 @@ do ...@@ -91,7 +91,7 @@ do
# s "clap:1" # s "clap:1"
# gain gClap # gain gClap
# lpf 4000 # lpf 4000
d7 -- synthe echos electrique d5 -- synthe echos electrique
$ superimpose ( $ superimpose (
(# s "supercomparator") . (# s "supercomparator") .
(# voice (slow 64 $ sine * 8)) . (|- note 12) (# voice (slow 64 $ sine * 8)) . (|- note 12)
...@@ -237,7 +237,7 @@ do ...@@ -237,7 +237,7 @@ do
# sustain 4 # sustain 4
# gain gSiren # gain gSiren
# cut 5 # cut 5
d7 -- synthe echos electrique d5 -- synthe echos electrique
$ superimpose ( $ superimpose (
(# s "supercomparator") . (# s "supercomparator") .
(# voice (slow 64 $ sine * 8)) . (|- note 12) (# voice (slow 64 $ sine * 8)) . (|- note 12)
...@@ -318,7 +318,7 @@ d4 -- Basse ...@@ -318,7 +318,7 @@ d4 -- Basse
# s "supersaw" # s "supersaw"
# voice 0.1 # voice 0.1
# gain gBass # gain gBass
d7 -- synthe echos electrique d5 -- synthe echos electrique
$ superimpose ( $ superimpose (
(# s "supercomparator") . (# s "supercomparator") .
(# voice (slow 64 $ sine * 8)) . (|- note 12) (# voice (slow 64 $ sine * 8)) . (|- note 12)
......
...@@ -18,7 +18,7 @@ d2 ...@@ -18,7 +18,7 @@ d2
d3 -- snares synchro d3 -- snares synchro
$ sometimesBy "0!3 1" (stut "<2 3 4>" 1 "<e!3 s>") $ sometimesBy "0!3 1" (stut "<2 3 4>" 1 "<e!3 s>")
$ "s s s t" # "sn" # n "20" # note ("0 0 0 -12") # gain 0.8 $ "s s s t" # "sn" # n "20" # note ("0 0 0 -12") # gain 0.8
d7 d6
$ whenmod 16 8 (superimpose ( $ whenmod 16 8 (superimpose (
(|* gain 0.8) (|* gain 0.8)
. (# lpq 0.75) . (# lpq 0.75)
......
...@@ -69,7 +69,7 @@ do ...@@ -69,7 +69,7 @@ do
# gain (slow 64 $ range 0.5 1.1 saw) # gain (slow 64 $ range 0.5 1.1 saw)
d7 -- lead orgue d5 -- lead orgue
$ degradeBy 0.4 $ degradeBy 0.4
$ rev $ rev
-- $ slow 2 $ degrade $ (|+ note 7) -- $ slow 2 $ degrade $ (|+ note 7)
......
...@@ -73,7 +73,7 @@ d5 -- Side epiano ...@@ -73,7 +73,7 @@ d5 -- Side epiano
# gain (slow 64 $ range 0.35 0.55 sine) # gain (slow 64 $ range 0.35 0.55 sine)
# cut 4 # cut 4
# pan 0.7 # pan 0.7
d7 -- claps d6 -- claps
$ every' 8 7 (mask "f t") $ every' 8 7 (mask "f t")
$ mask "<[<f!3 [f!7 t]>]!16 t!16>" $ mask "<[<f!3 [f!7 t]>]!16 t!16>"
$ fast 2 $ fast 2
......
...@@ -25,7 +25,7 @@ do ...@@ -25,7 +25,7 @@ do
d1 d1
$ fast "<2!16 4!13 0>" $ fast "<2!16 4!13 0>"
$ s "[jazz,kick:7]" # gain 0.8 $ s "[jazz,kick:7]" # gain 0.8
d7 $ "~ cp" # gain 0.8 d6 $ "~ cp" # gain 0.8
d2 $ "" # "sn:20" # gain 0.8 d2 $ "" # "sn:20" # gain 0.8
d5 $ splice 8 "2 4 0 0*2" $ s "fclav:8" # cut 1 d5 $ splice 8 "2 4 0 0*2" $ s "fclav:8" # cut 1
......
...@@ -60,7 +60,7 @@ d5 $ gM3 $ gF3 -- BLUES RUN ...@@ -60,7 +60,7 @@ d5 $ gM3 $ gF3 -- BLUES RUN
# gain 1.85 # gain 1.85
-- # pan (slow 8 $ range 0.5 1 (saw - (slow 2 perlin))) -- # pan (slow 8 $ range 0.5 1 (saw - (slow 2 perlin)))
# pan (slow 16 $ range 1 0.8 saw) # pan (slow 16 $ range 1 0.8 saw)
d7 $ gM3 $ gF2 -- G0dz1ll4 d6 $ gM3 $ gF2 -- G0dz1ll4
$ midiOn "^59" (off 1 ( $ midiOn "^59" (off 1 (
(|+ pan 0.3) (|+ pan 0.3)
. (# cut 91) . (# cut 91)
......
#!/usr/bin/env python3
"""compact-orbits — close the gaps in the melodic band, so d6 stops being skipped.
PLN, 2026-09-22: *"part of the migration also: no d7 when d6 is free. d7 often
was sefcond melo, should be a d6 now d6 ids not a shitty mapped knob, but a
proper column like others"*.
That is the history exactly. d6's knob used to be somewhere useless, so a second
melody went to d7 and d6 was left empty. Since the column remap every one of
d4-d8 owns its own fader, its own B knob and its own C knob, so the reason to
skip d6 is gone — but the corpus still carries the habit, and a set with a hole
at d6 wastes a whole column of the surface.
WHY ONLY d5 / d6 / d7 MOVE
An orbit number is not just a label: it decides which family DJ filter and which
family mute the orbit answers to. From the authored grid (lcxl_grid._FILTER_FAMILY
and _MUTE_FAMILY):
orbit 1 2 3 4 5 6 7 8 9..12
gF 1 1 1 2 3 3 3 1 3 <- C1 percs, C2 bass, C3 melodies
gM 1 2 2 3 3 3 3 2 3 <- F1 kick, F2 percs, F3 bass+mels
d5, d6 and d7 are interchangeable: same filter family, same mute family. Nothing
about the sound changes when a pattern moves between them. **d4 is the bass and
d8 is a percussion slot**, so compacting into or out of those would silently
re-assign which filter sweeps the part and which button drops it — audible, and
not what was asked for. So the band this tool compacts is {5, 6, 7} and nothing
else. d1-d3 and d9-d12 are never touched.
WHAT IT REFUSES
* any orbit carrying an explicit `# orbit N` — that overrides the output orbit
independently of the `dN` name, so renaming the declaration alone would move
the pattern's identity and leave its AUDIO where it was. Reported, never
guessed at.
* comments. A commented-out `-- d7 $ …` is an alternative PLN may re-enable
mid-set; renaming it would rewire that alternative to a different column,
and the breakage would surface weeks later with no trace. Same rule the
column migrator follows.
WHAT IT DELIBERATELY LEAVES ALONE
* effect bus slots (`crushbus 71`, `octerbus 72`, …). Convention pairs them
with the orbit, but a bus id is a bus id: renumbering one is an audio-graph
edit, and collisions are already caught by pvlint PV011. A d7 that becomes
d6 keeps `crushbus 71`, which is untidy and correct.
* `cut` groups. A cut group is a sample choke group, not an orbit, and two
orbits sharing one is a real idiom.
The permutation is applied SIMULTANEOUSLY, for the same reason as
migrate-columns: computed one at a time, a 6-and-7 pair looks like a collision
that evaporates once both move.
tools/compact-orbits.py --plan TRACK [...] # show, change nothing
tools/compact-orbits.py --apply TRACK [...] # rewrite in place
tools/compact-orbits.py --plan # whole corpus under live/
Always --plan first. Always pvlint + silent-eval after --apply.
"""
from __future__ import annotations
import argparse
import re
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent))
from pvlint.core import load, strip_comment # noqa: E402
import lcxl_grid # noqa: E402
ROOT = Path(__file__).resolve().parent.parent
LIVE = ROOT / "live"
# The interchangeable melodic run. Derived, not asserted: these are the orbits
# in 1..8 that share both family maps with their neighbours, which is precisely
# the condition under which a move is inaudible.
BAND = tuple(n for n in range(1, 9)
if lcxl_grid.filter_family(n) == lcxl_grid.filter_family(6)
and lcxl_grid.mute_family(n) == lcxl_grid.mute_family(6))
DECL = re.compile(r"^(\s*)d(\d+)\b")
EXPLICIT_ORBIT = re.compile(r"#\s*orbit\s")
def plan_for(path: Path):
"""(moves, refusals) for one track. moves: {old orbit -> new orbit}."""
track = load(str(path))
orbits = track.orbits()
used, refused = [], []
for o in orbits:
if o.number not in BAND:
continue
if EXPLICIT_ORBIT.search(o.code()):
refused.append((o.number, o.start, "carries an explicit # orbit"))
continue
if o.number not in used:
used.append(o.number)
# An orbit that was refused keeps its number, so it must not be a
# destination either — otherwise the compaction would put two orbits on one.
frozen = {n for n, _, _ in refused}
free = [n for n in BAND if n not in frozen]
moves = {}
for old, new in zip(sorted(used), free):
if old != new:
moves[old] = new
return moves, refused
def apply_to(path: Path, moves: dict[int, int]) -> int:
"""Rewrite the `dN` declarations. One pass, so a 6<->7 swap cannot corrupt."""
lines = path.read_text(errors="replace").splitlines(keepends=True)
n = 0
for i, raw in enumerate(lines):
if raw.lstrip().startswith("--"): # comments are alternatives
continue
m = DECL.match(raw)
if not m:
continue
old = int(m.group(2))
if old not in moves:
continue
lines[i] = f"{m.group(1)}d{moves[old]}{raw[m.end():]}"
n += 1
path.write_text("".join(lines))
return n
def resolve(names: list[str]) -> list[Path]:
if not names:
return sorted(LIVE.rglob("*.tidal"))
out = []
for n in names:
p = Path(n)
out.append(p if p.is_file() else ROOT / n)
return out
def main(argv=None):
ap = argparse.ArgumentParser(
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
g = ap.add_mutually_exclusive_group(required=True)
g.add_argument("--plan", action="store_true")
g.add_argument("--apply", action="store_true")
ap.add_argument("tracks", nargs="*")
a = ap.parse_args(argv)
total_moves = total_files = total_refused = 0
for path in resolve(a.tracks):
if not path.is_file():
print(f"! no such track: {path}", file=sys.stderr)
continue
moves, refused = plan_for(path)
if not moves and not refused:
continue
total_refused += len(refused)
if moves:
total_files += 1
total_moves += len(moves)
head = f"== {path.name}"
print(f"{head} " + ", ".join(f"d{o} -> d{n}" for o, n in sorted(moves.items()))
if moves else f"{head} (nothing to move)")
for num, line, why in refused:
print(f" d{num} line {line}: REFUSED — {why}")
if a.apply and moves:
print(f" APPLIED: {apply_to(path, moves)} declaration(s)")
print(f"\n band {BAND} · {total_moves} move(s) in {total_files} file(s)"
f" · {total_refused} refused")
if a.apply and total_moves:
print(" NOW RUN: python3 -m pvlint ... then tools/silent-eval.py --seeded ...")
if __name__ == "__main__":
main()
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