Commit 2c178c96 by PLN (Algolia)

fix(corpus): 81 button cells move onto the row their ROLE belongs to

Applies the convention from the previous commit across the corpus: gates onto the
latching row, gestures onto the momentary one. 34 files here contain nothing but
`"^NN"` token changes — verified mechanically by normalising every changed line and
checking the -/+ pair is identical once the CC is masked.

## What moved

  52  corpus-wide repairs (tools/fix-button-roles.py, three converging passes)
  29  setlist permutations (tools/migrate-columns.py --apply)

The two tools do different jobs and both are needed. fix-button-roles only MOVES a
control to a free cell, so it declines a case where the target is occupied.
migrate-columns plans a whole column at once, so it can SWAP — which is what the
remaining cases needed: d5's `ply` and d5's take-chooser both wanted a cell, and
exchanging them puts the held flourish on the momentary button while the chooser
(a state: which take plays) takes the latching one. That reading was not designed,
it fell out of role-first assignment with a positional fallback, and it is right.

## Proof it changed no sound

`tools/silent-eval.py --seeded` before and after, twice (after the corpus pass and
again after the permutation): **byte-identical verdicts** both times, including the
same 3 harness build failures (#93). Every button CC seeds to 0 in BootTidal's
`_seed`, so permuting CCs *between two calls in the same block* cannot change
either call's default branch — `midiOn` stays never-applied and `midiOff` stays
always-applied. The edit is event-neutral at boot by construction; the harness run
confirms the construction.

`tools/surface-columns.py` still reports 83/83 orbits column-aligned with 0
renumbers needed — the swaps stay inside each orbit's own column, so the property
phase 2 established is preserved.

## Still open, deliberately

12 sites where ONE orbit drives two gestures. Only one momentary cell exists per
column, so the second has to sit on the latching row. Reported as PV010 `info` and
not repaired: the real fix is gSel (#54), folding a pair of gestures onto one
control. Naming it beats hiding it.
parent 5089eec0
......@@ -46,7 +46,7 @@ d4 $ gF2 "atmos/4" # "90s_synatm:0" # cut 4
# pan 0.7
# midiG' "^84" 0 0.9
d5 $ gMask $ gF2-- La Basse qui devance
$ midiOn "^57" (
$ midiOn "^89" (
superimpose (off 0.5 (|* gain 0.9) . arp "up" . (|+| note "<c'min'4!3 c'maj'4 c'min'4!2 c'maj'4>")
. mask "t(1,4)"
)
......
......@@ -165,7 +165,7 @@ d6 $ gM $ gF1
# midiG' "^83" 0 1.6
d7
$ midiOff "^91" (mask "f")
$ midiOff "^59" (mask "f")
$ note ("c" -7)
# release 2
# att 1
......
......@@ -69,7 +69,7 @@ d6 $ gM $ gF1
# midiG' "^83" 0 1.6
d7
$ midiOff "^91" (mask "f")
$ midiOff "^59" (mask "f")
$ note ("c" -7)
# release 2
# att 1
......
......@@ -66,7 +66,7 @@ d6 $ gF2 $ gM2
# pan 0.4
# room 0.1 # dry 0.9 # sz (slow 16 $ range 0.2 0.9 saw)
d7 $ gM3 $ gF3 -- Paroles!
$ midiOn "^91" (mask "<t f!3>" . (# begin 0.79) . (# end 1))
$ midiOn "^59" (mask "<t f!3>" . (# begin 0.79) . (# end 1))
$ "paroles:6/2"
-- 0-0.09 0.103-0.20 0.22-0.29 0.33-43 0.44-53 535-64 65-78
# begin "<0 0.103 0.22 0.33 0.44 0.535 0.65 0.65>"
......
......@@ -85,7 +85,7 @@ d7 $ gF3 $ gM3
# attack (0.3 + (rand * 0.2)) -- Slow bowed attack
# release 2
d8 $ gF1 $ gM1
$ midiOn "^60" (fast 2)
$ midiOn "^92" (fast 2)
$ slice 8 "0 1 2 3 4 <5 5*2 0 5> <6 6 3 6*2> <7 <~!3 7*<2 4>>>"
$ midiOn "^36" (# "jungle_breaks:19")
$ midiOn "^56" (# "jungle_breaks:45")
......
......@@ -136,7 +136,7 @@ d12
d8 $ gF1 $ gM1 -- Break discret face à une telle idole
-- $ midiOn "^60" (mask "t(4,8,<1!3 0>)" . chop 8)
-- $ midiOn "^36" (id . (loopAt 0.5 . (# "jungle_breaks:130")))
$ midiOn "^92" (mask "t(16,32)" . ply "2 2 <4 8 16 16> 2")
$ midiOn "^60" (mask "t(16,32)" . ply "2 2 <4 8 16 16> 2")
$ midiOn "^36" (loopAt 0.5 . (# n 45) . (|* gain 1.1)) -- Orleanaise
$ midiOn "^56" (loopAt 2 . (# n 12))
$ chop 16
......
......@@ -134,7 +134,7 @@ d12
d8 $ gF1 $ gM1 -- Break discret face à une telle idole
-- $ midiOn "^60" (mask "t(4,8,<1!3 0>)" . chop 8)
-- $ midiOn "^36" (id . (loopAt 0.5 . (# "jungle_breaks:130")))
$ midiOn "^92" (mask "t(16,32)" . ply "2 2 <4 8 16 16> 2")
$ midiOn "^60" (mask "t(16,32)" . ply "2 2 <4 8 16 16> 2")
$ midiOn "^36" (loopAt 0.5 . (# n 45) . (|* gain 1.1)) -- Orleanaise
$ midiOn "^56" (loopAt 2 . (# n 12))
$ chop 16
......
......@@ -51,7 +51,7 @@ d6 $ gF2
# cut 6
d7
$ gM2 $ gF3 -- High carillon!
$ midiOn "^59" ( -- Basse reponse
$ midiOn "^91" ( -- Basse reponse
superimpose ((0.125 <~) . (|* gain 1.2) . (# note "<c4!4 cs4!4>") . (# pan 0.45))
)
$ (0.125 ~>)
......
......@@ -54,14 +54,14 @@ d4 $ gF2 $ gM3 -- BASS (the FIXME): D minor, grounded in measured key (corr=0.90
# lpf (range 300 1800 "^32") # resonance 0.2
# gain 1.15
d6 $ gF1 $ gM2 -- ACID ARP: D minor, 4/16 square rises, ^59-driven
$ midiOn "^58" (arp "<up updown pinkyup speedupdown>")
$ midiOn "^90" (arp "<up updown pinkyup speedupdown>")
$ off 0.125 ((|+ note 12) . (|* gain 0.6))
$ note (scale "aeolian" (run "<4 16>") + "<0 3 5 3>" + 2) -- +2 = D root
# s "superzow" # voice 0.05
# lpf (range 500 5000 "^58") # resonance 0.35
# gain 0.8
d5 $ gF3 $ gM3 --
$ midiOn "^57" (ply "<2 4 [<4!3 16> <8 16>]>")
$ midiOn "^89" (ply "<2 4 [<4!3 16> <8 16>]>")
$ slice 4 "<0 1 2 3>"
$ "desire" # n "<1!4 2!4 3!7 4 3!6 2 2 3!7 4>"
# cut 5 # lpf 4000
......@@ -82,7 +82,7 @@ d9 $ gF2 $ gM3 -- Announcing SYNTH
# gain 1.9
# room 0.4 # sz 0.7 # dry 1.4
d7 $ gF3 $ gM3 -- Voices
$ midiOn "^59" (ply "2 <2!3 <4 8>>")
$ midiOn "^91" (ply "2 <2!3 <4 8>>")
$ fix ((6/8) ~>) (n 6)
$ fix ((1/8) ~>) (n 9)
$ fix ((5/8) <~) (n "[11,12]")
......@@ -92,23 +92,23 @@ d7 $ gF3 $ gM3 -- Voices
-- lost — if the linked swell was the point, gSel or a shared knob restores it.
$ midiOn "^35" (>| n "<11 12>") -- NANANA | B7 = d7's primary effect
$ midiOn "^55" (>| n "<10 ~>") -- FREE FROM DESIRE
$ midiOn ("^91" - "^55") ( -- Refrain
$ midiOn ("^59" - "^55") ( -- Refrain
(>| n "<10!4 11!4>")
) -- Refrain
$ midiOff "^91" ( -- Couplet
$ midiOff "^59" ( -- Couplet
(>| n "<6 ~ 6 ~ 7 ~ 7 ~ 8 ~ 8 8 9 9 9 9>"))
$ "desire"
# cut 7
d8 $ gF1 $ gM1
$ loopAt 2
$ midiOn "^60" ( -- Bouton Nassim <3
$ midiOn "^92" ( -- Bouton Nassim <3
loopAt 0.5 . (# "breaks165")
-- . (# octer 0.4) . ( octersubsub 4)
. (# lpf 2500)
. (# room 0)
. (|* gain 1.2)
)
$ midiOff "^92" (mask "f(8,16)" . chop 16)
$ midiOff "^60" (mask "f(8,16)" . chop 16)
$ midiOn "^36" (# "jungle_breaks:7")
$ midiOn "^56" (# "jungle_breaks:37")
$ chop 16 $ "jungle_breaks:101"
......
......@@ -46,7 +46,7 @@ d6 $ gF2 -- La basse
# midiG' "^81" 0 2
d8 $ gF
$ loopAt 4
$ midiOn "^60" (fast 4)
$ midiOn "^92" (fast 4)
$ sometimesBy ("^56*8") (shuffle 16)
$ slice 8 (run 8)
$ "drums_commodore" # n "0"
......
......@@ -56,7 +56,7 @@ d7 $ gF2
-- 13 │ rq = 0.5, rate = 1, minfreq = 100, maxfreq = 16000,
-- 14 │ drylevel = 1.5, fmdepth = 1.5, fmfreq = 432;
$ slow 2
$ midiOn "^59" (arp "up")
$ midiOn "^91" (arp "up")
$ note ("<[c4 <f4 gs4> <gs4 <c5 b4>>@6]>")
# "phazer"
# crushbus 61 (range 16 3.93 "^54")
......
......@@ -75,7 +75,7 @@ d12
d8 $ gF1 $ gM1 -- Break discret face à une telle idole
-- $ midiOn "^60" (mask "t(4,8,<1!3 0>)" . chop 8)
-- $ midiOn "^36" (id . (loopAt 0.5 . (# "jungle_breaks:130")))
$ midiOn "^92" (mask "t(16,32)" . ply "2 2 <4 8 16 16> 2")
$ midiOn "^60" (mask "t(16,32)" . ply "2 2 <4 8 16 16> 2")
$ midiOn "^36" (loopAt 0.5 . (# n 45) . (|* gain 1.1)) -- Orleanaise
$ midiOn "^56" (loopAt 2 . (# n 12))
$ chop 16
......
......@@ -26,7 +26,7 @@ d3 $ gF1 $ gM1
$ "h2ogmhh" # n "<0!4 1!3 2>"
# gain (0.9 * (range 0.9 1.2 perlin))
d4 $ gF2 $ gM3
$ midiOn "^44" (ply 4)
$ midiOn "^76" (ply 4)
$ slow 2 $ note ("<[e3@7 f3]!4 [b2@7 c2]!4>")
# "moog:2"
# cut 4
......@@ -51,7 +51,7 @@ d5 $ gF2 $ gM3 --
# gain 1.4
# squizbus 51 (range 0 2.5 "^33")
d7 $ gF3 $ gM3 -- FIXME ACID WEIRD NOT GOOD
$ midiOn "^59" (ply 4)
$ midiOn "^91" (ply 4)
-- $ slow 2
$ note (
"<e3!4 b2!4>"
......
......@@ -48,7 +48,7 @@ d4 $ g2
# midiG' "^82" 0 1.2
# crushbus 41 (range 12 2.5 "^54")
d5 $ g1
$ midiOn "^57" (striate "2 <2!3 4>" . chop 8)
$ midiOn "^89" (striate "2 <2!3 4>" . chop 8)
$ "fbass:3"
# cut 5
# crushbus 51 (range 12 2.5 "^53")
......
......@@ -40,8 +40,8 @@ d4 $ gF2 $ gM3
# room 0.2 # dry 1.2 # sz 0.7
# gain 1.4
d5 $ gF3 $ gM3 -- LE PIMENT BRESILIEN
$ midiOn "^57" (ply "<4!3 8>")
$ midiOn "^89" (striate "2" . chop 8)
$ midiOn "^89" (ply "<4!3 8>")
$ midiOn "^57" (striate "2" . chop 8)
$ slice 8 "<[0 1] [2 3] [4 5] <[6 7] 5*<2 4 4 8>>>"
-- $ slice 4 "<0 1 2 3>"
-- $ slice 4 "<0 1 2 3>"
......@@ -51,7 +51,7 @@ d5 $ gF3 $ gM3 -- LE PIMENT BRESILIEN
# octerbus 51 (range 0 1.4 "^33")
# octersubbus 52 (range 0 4 "^53")
d7 $ gF3 $ gM3
$ midiOn "^59" (ply 2)
$ midiOn "^91" (ply 2)
$ note ("[f3 cs3 c3 cs3 f3 cs3 <c3 f3> <cs3 fs3>]"
-- + "[0,12]"
+"<0!4 12!4 24!4 36!4>"
......@@ -72,8 +72,8 @@ d10 $ gF3 $ gM3 -- Menace
# octersub 1
# cut 9
d8 $ gF1 $ gM1 -- La Boite à breaks de ParVagues <3
$ midiOn "^60" (ply "1 <2!3 4>")
$ midiOff "^92" (mask "t(4,8,1)") -- Techno drum mask
$ midiOn "^92" (ply "1 <2!3 4>")
$ midiOff "^60" (mask "t(4,8,1)") -- Techno drum mask
$ midiOn ("^36" - "^56") ((# n "22")) -- Hmmm Break
$ midiOn "^56" ((# n "23")) -- Raise COMEON!
$ chop 16
......
......@@ -40,7 +40,7 @@ d4 $ gF2 -- Meth == Crash
# midiG' "^83" 0 1.2
d5 $ gF2 -- Prendre l'acid bus pour trouver du boulot
$ midiOn "^57" (id)
$ midiOff "^57" (slice 8 "0 0 <~!8 0!8> 0*<1!8 2!8>" )
$ midiOff "^89" (slice 8 "0 0 <~!8 0!8> 0*<1!8 2!8>" )
$ loopAt 16
$ chop 8
$ "synth_commodore"
......
......@@ -111,7 +111,7 @@ d6 $ gF1 -- HAWKS
-- # midiG' "^31" 0 1.5
d7
$ gM2 $ gF3 -- High carillon!
$ midiOn "^59" ( -- Basse reponse
$ midiOn "^91" ( -- Basse reponse
superimpose ((0.125 <~) . (|* gain 1.2) . (# note "<c4!4 cs4!4>") . (# pan 0.45))
)
$ (0.125 ~>)
......
......@@ -78,9 +78,9 @@ d5 $ gF3 $ gM3
-- # pan "[0.4|0.6]*8"
d8 $ gF1 $ gM1
$ midiOn "^36" (# "jungle_breaks:75")
$ midiOn "^60" (ply 4)
$ midiOn "^92" (ply 4)
-- $ midiOff "^60" (mask "f(8,16)" . chop 8)
$ midiOff "^92" (slice 8 "<~!3 0> <1!3 ~> 2 <3!3 ~> 4 <5!3 ~> 6? 7*<1 2>" )
$ midiOff "^60" (slice 8 "<~!3 0> <1!3 ~> 2 <3!3 ~> 4 <5!3 ~> 6? 7*<1 2>" )
$ slice 8 "<~!3 0> <1!3 ~> 2 <3!3 ~> 4 <5!3 ~> 6? 7*<1 2>"
$ chop 16
$ loopAt 2
......
......@@ -36,7 +36,7 @@ d4 $ g
# midiG' "^80" 0 1.1
d5 -- Bassline
$ g
$ midiOn "^57" (-- + Arps aigus!
$ midiOn "^89" (-- + Arps aigus!
superimpose (
often (off "h" rev)
. (|+ note (
......
......@@ -141,8 +141,8 @@ d7 $ gM -- Break from the past
# midiG' "^84" 0 1.8
d6 $ gF2 -- BASIC BUS: Terminus
$ midiOn "^59" (striate 2)
$ midiOn "^91" ( struct "t . t(<1 2 1 <1 [4 8]>>,8,1)")
$ midiOn "^91" (striate 2)
$ midiOn "^59" ( struct "t . t(<1 2 1 <1 [4 8]>>,8,1)")
$ chop 8
$ loopAt 16
$ "synth_commodore" # n "1"
......
......@@ -49,7 +49,7 @@ d4 $ g2 $ m -- Basse avec du repondant
# pan 0.2
# midiG' "^81" 0 1.7
d6 $ g2 $ m -- Rhodes piano questionnant
$ midiOn "^58" (superimpose (
$ midiOn "^90" (superimpose (
(# cut 51)
. (|+| note "~ 12(<1 1 2 1 2 5 2 1 2 2 5 2 2 4 3 8>,8)")
. (|* gain 0.9)
......
......@@ -67,8 +67,8 @@ d7 $ gM $ gF1
# cut 1
# midiG' "^83" 0 1
d8 $ gM $ gF1
$ midiOn "^92" (struct "t . t(<3 <5 [5 8]>>,8)")
$ midiOn "^60" (ply "<[4 2 2 4] [4 8 4]> <8 8 16 [16 32]>")
$ midiOn "^60" (struct "t . t(<3 <5 [5 8]>>,8)")
$ midiOn "^92" (ply "<[4 2 2 4] [4 8 4]> <8 8 16 [16 32]>")
$ midiOn ("^59" - "^60") (mask (cat [maskDrum,maskDrum,maskDrum,maskDrumI]))
$ chop 16 $ loopAt 4
$ "break:3"
......
......@@ -46,7 +46,7 @@ d5 $ gF3 $ gM3 -- Blue Birdies as lead <3
d7 $ gM3 $ gF3 -- Blue Birdies as lead <3
-- Sequence: A!4 C!3 A A!6 CS ~
$ midiOn "^92" (ply "<1!3 2 2!3 4>")
$ midiOn "^59" (ply "<1!3 2 2!3 4>")
$ midiOn "^91" (ply "<1!3 2 2!3 4>")
$ n "<~ <0!4 3!3 0 0!6 4 ~>>"
-- $ n "0"
# "blues_guitar_riff_120"
......
......@@ -63,9 +63,9 @@ d5 -- The Voice of Love
# cut 5
# room 0.3 # sz 0.3
d7 $ gF3 $ gM3 -- Guitar Sunshine
$ midiOn "^59" (ply 2)
$ midiOn "^91" (ply 2)
$ juxBy 0.8 (rev . (#cut 71))
$ midiOn "^91" ( -- SLICE!
$ midiOn "^59" ( -- SLICE!
ply "1 2" . slow 4 . chop 8 . (# n 24)
)
$ "no_sunshine/2"
......@@ -85,7 +85,7 @@ d9 $ gF3 $ gM3
# room 0.3
d8 $ gF1 $ gM1 -- JazzyBelle JazzyBreak
$ juxBy 0.5 (# cut 81)
$ midiOn "^60" (slice 4 "0*2 [1 2] 2*2 3*<1 1 1 2>")
$ midiOn "^92" (slice 4 "0*2 [1 2] 2*2 3*<1 1 1 2>")
$ chop 16
$ midiOn "^36" (loopAt 1 . (# "org_jungle_breaks:24"))
$ midiOn "^56" (slice 4 "0 <1 1 1 3> <2 2 3 2> <3 3 2 <1 3>>" .
......
......@@ -17,11 +17,11 @@ d3 $ gF1 $ gM1
$ "vec1_snare:11"
# legato (range 0.25 2 "^31")
d4 $ gF2 $ gM3 -- WAP BASS
$ midiOn "^44" (
$ midiOn "^76" (
slice 8 ("~ 0 ~ 5 ~ 3 <~!4 5!4> <3!4 [3 0]!4>")
-- . (superimpose (# cut 41))
)
$ midiOn "^76" (
$ midiOn "^44" (
slice 8 ("~ 0 <~ ~ 5 5> 3 <~ 0!3> <~!4 0!10 ~ 0*4> 5 <~ 5>")
-- $ (0.125 ~>) :
. (# gain 1.3 )
......@@ -41,11 +41,11 @@ d4 $ gF2 $ gM3 -- WAP BASS
-- # octerbus 41 (range 0 1.4 "^53")
d5 $ gF3 $ gMute3 -- WAP HOES v1 magic repeat
$ midiOn "^33" (# 7) -- FORCE INTRO
$ midiOff ("^33"+"^57") (slow 4)
$ midiOff ("^33"+"^89") (slow 4)
$ stut 4 1 1 -- Four repeats each
$ slow 4
$ midiOn "^89" (stut "4" 0.9 (fast 4 "e"))
$ midiOn "^57" (
$ midiOn "^57" (stut "4" 0.9 (fast 4 "e"))
$ midiOn "^89" (
ply "[1!3 4]*4" . chop 4 . -- Magic Repeat: next segment instead
stut "2" 0.9 (fast 2 "s") -- Magic Repeat: repeater
. (# att 0.08)
......@@ -57,12 +57,12 @@ d5 $ gF3 $ gMute3 -- WAP HOES v1 magic repeat
# sz 0
# gain 1.4
d5 $ gF3 $ gMute3 -- WAP HOES v1 science of repeat
$ midiOn "^57" ((slice 4 "0*4"))
$ midiOn "^89" ((slice 4 "0*4"))
$ midiOn "^33" (# 7) -- FORCE INTRO
$ midiOff ("^33" + "^57") (slow 4) -- 4 bars
$ midiOff ("^33" + "^89") (slow 4) -- 4 bars
$ stut 4 1 1 -- Four repeats each
$ slow 4 -- times Four bits
$ midiOn "^89" (stut "4" 0.9 (fast 4 "e"))
$ midiOn "^57" (stut "4" 0.9 (fast 4 "e"))
$ "wap:0" # n ("<8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31>") -- Rotation complete
# cut 5
# room 0
......
......@@ -56,7 +56,7 @@ d4 $ gF3 -- LoFi Girl at the piano!
# pan 0.8
# midiG' "^82" 0 1.5
d5 $ gF2 -- Bassline langoureuse
$ midiOn "^89" (mask "t(4,8) t(<4 8>,8)" . chop 8)
$ midiOn "^57" (mask "t(4,8) t(<4 8>,8)" . chop 8)
$ note (
-- "<[c,e,g,b] [c,e,g,bf] [c,ef,g,bf] [c,e,g,b]>"
"<[c,c(3,8)] [g,[~ f6],g*4] [bf,bf(3,8)] c4>" + "0"
......
......@@ -46,7 +46,7 @@ d5 $ gF3 $ gM3 -- Phone line
d7 $ gF3 $ gM3 -- Laser!!!
-- $ midiOn "^90" (ply "4 <8 16>")
-- $ slow 2
$ midiOn "^59" (ply 2)
$ midiOn "^91" (ply 2)
$ slice 8 "<0 1 2 3 4 5 6 7>"
$ "nujazz_keys125:10"
# cut 7
......
......@@ -83,8 +83,8 @@ d10
-- d11 $ gMute3
-- d7 $ gF3 $ gM3 $ note (
d7 $ gM3 $ gF2 -- LA ACID BASS ARE YOU SUNNY NOW ?? <3
$ midiOn "^59" (superimpose ((|* gain 0.8) . (0.125 ~>) . (# note "0 <7!3 12>")))
$ midiOn "^91" (mask "t(16,32)" . ply 2)
$ midiOn "^91" (superimpose ((|* gain 0.8) . (0.125 ~>) . (# note "0 <7!3 12>")))
$ midiOn "^59" (mask "t(16,32)" . ply 2)
$ arp "up"
$ note (
-- "[0*4]*<2!2 <2 4> [2 4]>" -- Mechanic rhytm
......
......@@ -47,7 +47,7 @@ d5 $ gM3 $ gF3
# pan 0.6
# gain 1.4
d7 $ gM3 $ gF3
$ midiOn "^59" (ply "<2 2 <4 8> <8 4>>")
$ midiOn "^91" (ply "<2 2 <4 8> <8 4>>")
$ chop 8
$ loopAt 2
$ "nujazz_keys125" # n "<66!4 67!4>"
......
......@@ -39,7 +39,7 @@ d4 $ gF2 -- SynBase
-- # midiG' "^81" 0 1.2
d6 $ gF2 -- MOTHERBASS
$ midiOn "^18" (mask "<t f!3>" . (# legato 4))
$ midiOn "^58" (ply 4)
$ midiOn "^90" (ply 4)
$ note "f3"
# "90s_matrix:4"
# legato 4
......
......@@ -78,7 +78,7 @@ d7 $ g
# cut 7
d6 $ g
$ midiOn "^58" (superimpose (
$ midiOn "^90" (superimpose (
struct "t . t(3,8)"
. arpeggiate
. (|+ note 12)
......
......@@ -24,15 +24,15 @@ d3 $ gF1 $ gM1
# "h2ogmhh" # n "<0!4 1!3 2>"
# gain (1.4 * (range 0.9 1.2 perlin))
d4 $ gF2 $ gM3
$ midiOn "^44" (ply 4) -- HIGHER
$ midiOn "^76" (ply 4) -- HIGHER
$ chop 8
$ loopAt 4
$ midiOn "^76" ( -- HIGHER
$ midiOn "^44" ( -- HIGHER
slow 2 . ply 2 .
(# n "<1 1 2 2 6 6 6 1 16 16 17 18>" )
. (|* gain 0.9)
)
$ midiOff "^76" ( -- LOWER
$ midiOff "^44" ( -- LOWER
(# n "<5 5 5 6>")
)
$ "perfect"
......@@ -53,7 +53,7 @@ d5
slice 16 "<<[0 1 2 3] [<0 10> <1 11> 10 11]> <[8 9 10 11] [<12!3 15> <13!3 15> <14 12> <15 13>]>>"
. (>| "perfect")
)
$ midiOn "^57" (ply "<2 4>")
$ midiOn "^89" (ply "<2 4>")
-- FIXME(#54) d5 3rd+ effect: the grid gives d5 B5 + C5. Fold ^18 in via gSel rather than borrowing a column.
-- FIXME(#54) d5 drives more controls than the grid gives it (B5 + C5). ^18 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 d5's own control.
-- $ midiOn ("^53" - "^18") ( -- THE HIPS THE FACE THE LIPS THE MICROPHONE
......@@ -71,9 +71,9 @@ d5
-- . (# begin "<0!4 0.5!4>")
-- . (|* gain 0.9)
-- )
$ midiOn ("^89") ( -- Slice 1 2 3 4!
$ midiOn ("^57") ( -- Slice 1 2 3 4!
slice 8 "<[0 1] [0 1] [0 0 <0 1> <1 0>] [2 3]>" )
$ midiOff ("^89"+"^33" + "^53") ( -- WATCH ME WORK IT
$ midiOff ("^57"+"^33" + "^53") ( -- WATCH ME WORK IT
slice 8 "<[0 1] [2 3] [4 5] [6 <7 <6 6*2>>]>"
)
$ "perfect"
......@@ -84,7 +84,7 @@ d5
# octersub 0.8
d6 $ gF1 $ gM3
$ mask "f t"
$ midiOn "^58" (ply "<4 8>")
$ midiOn "^90" (ply "<4 8>")
$ chop 16
$ "meth_bass:3/8"
# room 0.4
......
......@@ -30,11 +30,11 @@ d4 $ gF2 $ gM3
# octerbus 42 (range 0 1.13 "^52")
# room 0.4
d5 $ gF3 $ gM3
$ midiOn "^57" (ply 8)
$ midiOn "^89" (ply 8)
$ midiOn "^33" (
(# n 3)
)
$ midiOn "^89" ((ply 4)
$ midiOn "^57" ((ply 4)
. (# begin "<0 0.25>")
. (# end "<1 0.45>")
)
......@@ -44,7 +44,7 @@ d5 $ gF3 $ gM3
# room 0.4 # sz 0.6 # dry 1.1
# octersub 1.4
d5 $ gF3 $ gM3
$ midiOn "^89" (>| n "<~ ~ 8 ~>")
$ midiOn "^57" (>| n "<~ ~ 8 ~>")
$ n "<<3 4 5 <6 7>> ~ <3 ~> ~>"
# "superfreak"
# cut 5
......
......@@ -95,8 +95,8 @@ d9 -- b ef
# "moogBass"
# legato 2
d7 $ gF2 $ gM3
$ midiOff "^59" (chop 8 . (struct "t*8"))
$ midiOff "^91" (mask "t(3,8) t(3,8)")
$ midiOff "^91" (chop 8 . (struct "t*8"))
$ midiOff "^59" (mask "t(3,8) t(3,8)")
$ note (
"<e4 b3 cs4 cs4>" + "0(<3!3 5>,8) [0 <0 <7!3 <5 7>>> 0](5,8)"
)
......
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