Strudelify
Io ci saro' cover art

Gli anni

Io ci saro'

883

KeyC majorTempo83 bpm
0:00/0:00
// Io ci saro' — 883
// 83 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 91 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 27.
setcpm(83/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// bass · electric bass finger
const bass = note(`<
  ~@4 A B A B C D C D E F G H C D C D E F G H I J I J K L M N C D C D E F G H C D C D E F G H I J I J K L M N I J I J K
  L M N O@2 P Q E F G H I J I J K L M N I J I J K L M N M R ~
>`.pickRestart({
  A: "c2@4 c2@3 c2 ~@2 b1@2 b1@4", B: "a1@3 ~ a1@3 a1 ~@2 f1@2 f1@4", C: "c2@2 c2@2 ~ b1 b1@2",
  D: "a1@3 ~ a1@4 ~@2 f1@2 f1@4", E: "g2@4 g2@3 g2 a2 ~ a2@2 a2@4", F: "g2@4 g2@3 g2 c2 ~ c2@2 c2@4", G: "f1 a1 g1 f1",
  H: "c2@4 c2@5 ~ g1 ~ g1@4", I: "c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 c2@2 b1 a1",
  J: "f1@2 f1@2 f1@2 f1@2 f1@2 f1@2 f1 g1 a1@2", K: "d2@2 d2@2 d2@2 d2@2 d2@2 d2@2 d2@2 c2 a1",
  L: "g1@2 g1@2 g1@2 g1@2 g1@2 g1@2 g1 a1 b1@2", M: "c2@5 ~ f2@6 f2 e2 d2@2", N: "c2@5 ~ f2@6 f2 g2 a2@2",
  O: "[c2@29 ~@3]/2", P: "c3@3 ~ c3@3 c3 ~@2 b2@2 b2@4", Q: "a2@3 ~ a2@2 ~ a2 ~@2 f2 ~ f2@4", R: "c2",
})).s("gm_electric_bass_finger").gain(0.65)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  [~@9 b2 ~@2 d3@3 ~]
  ~@6
  [g5@2 ~ g5@5 ~@8]
  ~@29
  [~@13 d4 c4@2]
  ~@17
  [~@3 a3@3 g3 f3, ~@6 g3 ~@9]
  ~@35
>`).s("gm_electric_guitar_clean").gain(0.18)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@8 A B A B C D E F A B A B C D E F G H I H ~@4 A B A B C D E F A B A B ~@4 I H G H ~@4 I H G H ~@4 J@2 ~@2 C D E K G
  H G H ~@4 G H G H ~@7
>`.pickRestart({
  A: "[g3,c4]@3 ~ [g3,c4]@5 ~ g3@2 d4@2 g3@2, ~@12 g3 ~@3", // C5
  B: "[g3,c4]@2 g3@2 [g3,c4]@2 g3@3 [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4]@4", C: "b3 g3 d4 g3 d4 c4@2 ~", D: "d4 g3@2 ~@5",
  E: "[f3,c4]@4 [a3,c4]@3 ~ [g3,d4]@4 [f3,c4]@4", F: "[g3,c4]@3 ~ [g3,c4]@5 ~ [g3,d4] ~ [g3,d4]@4",
  G: "~@2 c5 ~ c5@2 c5@2 c5 ~ c5@2 d5@2 c5 ~", H: "b4@3 d5@3 c5@8 ~@2, ~@3 c5 ~@12",
  I: "~@2 c5 ~ c5 ~ c5@2 c5 ~ c5@2 d5@2 c5 ~", J: "[[c3,g3]@15 ~]/2",
  K: "[g3,c4]@3 ~ [g3,c4]@3 [g3,c4] ~ [g3,d4] [g3,d4]@2 [g3,d4]@4", // C5 G5
})).s("gm_acoustic_guitar_steel").gain(0.44).pan(0.8)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  ~@4 A B A C ~@14 D E A F A F G H I J ~@4 K L M N ~ O P O Q R D S A F A F G H T U V W X Y Z AA AB J ~@6 D E A F A F G H
  I J A F A F G H I J I AC@2
>`.pickRestart({
  A: "~@7 e5 ~@3 e5 ~@4", B: "~@2 b4 c5 b4@2 ~@10", C: "~@5 c5 ~@10", D: "a3@2 g3 f3",
  E: "[c3,e3]@8 ~@2 [g3,d4] ~ [g3,d4]@4", F: "~@7 e5 ~@8",
  G: "[c3,c4,e4]@2 [d3,d4,f4] ~ [d3,d4,f4] ~ [d3,d4,f4] ~ [d3,d4,f4] ~ [d3,d4,f4] ~ [d3,d4,f4] c3 [a2,d4,f4] ~", // C Dm
  H: "[c4,e4]@2 [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [g2,d4,f4] a2 [b2,d4,f4] ~, g2@5 ~@3", // C Dm G7 Bdim
  I: "c3@3 d3 e3 ~ f3@6 e3@2 d3@2", J: "c3@3 d3 e3 ~ f3@6 ~@4", K: "d3@4 g2@4 a2@7 ~", L: "g2 b2 c3 ~",
  M: "a3@12 f3@3 ~", N: "f3 ~ e3 d3 e3@4 ~@2 g2 ~ g2@4", O: "g4@6 e4@2 ~@2 f4 e4 f4 e4 d4 ~, ~@2 c4 ~", P: "c4@9 ~@7",
  Q: "[g3,b3]@8 e3@7 ~", R: "d3@7 ~ e3@7 ~", S: "[c3,e3]@8 ~@2 [g3,d4] ~ g3@4",
  T: "[c3,c4]@3 [d3,f4] [e3,g4] ~ f3@6 e3@2 d3@2, ~@3 a4@4 ~", U: "[c3,c4]@3 [d3,f4] [e3,g4] ~ c4@8 ~@2, ~@3 f3@3 ~@2",
  V: "~@7 e5 b5@2 c6 e5 ~@2 b5 ~", W: "c6@4 b5@2 ~ e5 ~@4 e6 d6 c6 ~, ~@3 c6@2 ~@3",
  X: "c6@3 ~ c6@3 e5 b5@2 c6 e5 ~@2 b5 ~", Y: "c6@3 ~ b5 ~@2 e5 ~@4 e6 d6 c6 ~, ~@3 c6@2 ~@3",
  Z: "[c4,e4]@2 [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [d3,d4,f4] c3 [a2,d4,f4] ~, ~@3 [d6,f6]", // C Dm
  AA: "[c4,e4]@2 [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [d4,f4] ~ [g2,d4,f4] a2 [b2,d4,f4,d6] ~, [g5,d6]@6 e6 ~, g2@5 ~@3", // C Dm G7 Bdim G5
  AB: "[c3,e5]@3 [d3,f5] [e3,g5] ~ [f3,f5]@6 ~ e5 d3@2, ~@6 c6@4 ~@2 e3@2 d5 ~", AC: "[c5@19 ~@13, e4 ~]/2",
})).s("gm_string_ensemble_1").gain(0.28).pan(0.1)

// other · french horn
const french_horn = note(`<
  ~@5 A ~@8 B C ~@8 D E D E ~@2 F G ~@6 B C ~@4 H I ~@2 D E D E ~@2 F G J K D L ~@2 F G ~@8 D E D E ~@2 F G M@2 ~@4 F G
  F N ~
>`.pickRestart({
  A: "g4@2 f4 ~ f4@2 e4 ~ e4@2 d4 ~ c4@3 ~", B: "f3 a3 [g3,d4] [f3,c4], c4 ~", C: "[e3,c4]@8 ~@2 g3 ~ g3@4",
  D: "g4@2 f4 ~ f4@2 e4 ~ e4@2 c4 ~ d4@2 c4 ~", E: "b3@2 f4 c4 f4@2 e4 ~ e4@2 d4 ~ d4@2 c4 ~, g4 ~@5 c4@8 ~@2",
  F: "c3@2 ~ f3@3 c4 d4, c4@11 ~@5", G: "e4@3 f4 g4 ~ c4@8 ~@2", H: "b3 c4", I: "d4@6 ~@2 e4@5 ~@3",
  J: "g4@2 f4 ~ f4@2 e4 ~ e4@2 d4 ~ d4@2 c4 ~", K: "c4@2 b3 ~ b3@2 c4 ~ c4@2 d4 ~ e4@2 f4 ~",
  L: "b3 c4 d4 b3 c4 ~ c4 d4 e4 ~ e4 ~ e4 d4 c4 ~", M: "[~@4 d4@4 c4@11 ~ d4@3 ~ e4@4 d4@4, ~@24 d4 ~@7]/2",
  N: "e4@15 ~",
})).s("gm_french_horn").gain(0.41).pan(0.6)

// chords · distortion guitar
const distortion_guitar = note(`<
  A B C D E B C D F B C D G H I J E B E B G H I J K L K L ~@4 F M C D G H I J E B E B G H I J K ~ K ~@5 N O P Q ~ R S T
  U@2 ~@2 G H I J K L K L ~@4 V@2 W X ~@2 Y Z AA AB@2
>`.pickRestart({
  A: "[e3,g3,c4]@4 [e3,g3,c4,e4]@2 g3 ~@2 [g2,d3] [g2,b2,d3,b3]@2 [g2,b2,g3,b3]@2 g2@2, c3@7 [e3,g3,c4,e4]@2 ~@7, ~@4 [g2,b2] ~@3", // C G5 G C G
  B: "[e3,a3]@2 e3@2 [a3,c4]@2 c4 [g3,e4] [f3,c4] [f3,a3] [f3,a3]@2 [f3,a3]@2 [f3,a3]@2, a2@9 ~@3 f4 ~@3, ~@4 [e3,e4]@4 ~ f4@3 c4@4", // A5 Am C F5 F E
  C: "[c3,e3,g3]@2 e3@2 [e3,g3]@2 [c3,e3,g3] ~ [d3,b3] [d3,g3,b3] [b2,d3,g3]@2 [d3,g3,b3,g4]@2 ~ [g3,b3], ~@2 c3@4 ~ [a2,g3]@2 ~@5 d3@2, ~@2 g3 ~ [c4,e4]@4 g2@6 ~@2", // C Em C G A7 C
  D: "[f3,a3,c4,e4]", // Fmaj7
  E: "[e3,g3,c4]@4 [e3,g3,c4,e4]@2 g3 ~ [g2,b2] [g2,b2,d3] [g2,b2,d3,b3]@2 [g2,b2,d3,g3,b3]@2 g2@2, c3@7 [e3,g3,c4,e4]@2 ~@7", // C G C
  F: "[e3,g3,c4]@4 [e3,g3,c4,e4]@2 g3 ~ b2 [b2,d3] [b2,d3,b3]@2 [g2,b2,d3,g3,b3]@2 g2@2, c3@7 [e3,g3,c4,e4]@2 ~@7, ~@2 g2 ~", // C Bm G C
  G: "[b3,d4,g4]@4 [b3,g4]@3 [a#3,g4] a3 [c4,e4] [a3,c4]@2 [a3,c4,e4]@4, g3@7 ~@3 e3@6, ~@4 d4@5 ~@7", // G Em D# C Am
  H: "[g3,b3,d4]@2 [b3,d4]@2 [b3,d4,g4]@2 d4 b3 [e3,g3,c4] [c4,e4] g3@2 [g3,c4,e4]@4, ~@2 g3@5 ~@3 [c3,e3]@6", // G Bm G C
  I: "[f3,a3,c4,e4] [e3,a3,c4,e4] [g3,b3,d4,g4] [f3,a3,c4]", // Fmaj7 Am G F
  J: "[c3,e3,g3,c4,e4]@4 [e3,g3,c4]@3 [c4,e4] [a2,d3,g3,b3] [b2,d3,g3] g3@2 [g3,b3,g4]@4, ~@4 e4@2 ~@3 [b3,g4]@3 ~@4, ~@5 [g2,b2,d3]@3", // C G Em G
  K: "c3@15 ~", L: "f2@15 ~",
  M: "[e3,a3]@2 e3@2 [a3,c4]@2 c4 [g3,e4] [f3,c4] [f3,a3] [f3,a3]@2 [f3,g3,a3]@2 [f3,g3]@2, a2@9 ~@7, ~@4 [e3,e4]@4 ~ f4@3 ~@4", // A5 Am C F5 F Fsus2 E
  N: "~@14 d4 e4", O: "g4@5 ~@11", P: "c5@9 ~@7", Q: "d4 e4 g4 d4 g4@2 [d4,g4]@4 [d4,g4]@6",
  R: "g3 a3 c4 ~ c4@4 ~@2 e4@4 e4@2", S: "[c4,e4]@5 ~ [c4,e4]@4 [c4,e4]@4 ~@2",
  T: "g3 a3 c4 g3 [c4,d4] c4!2 ~@3 [g3,a3]@2 c4@2 a3@2", U: "[[g3,c4]@15 ~]/2",
  V: "[~@8 d4@11 ~ d4@4 e4@2 d4 e4 d4 [d4,e4] c4@2]/2", W: "g3@7 ~ g3 a3 c4@2 e4@4", X: "e4@5 ~@2 a3 c4@4 ~@4",
  Y: "e4@3 f4 g4 ~ d4@4 c4@6", Z: "e4@3 f4 g4 ~ d4@4 c4@4 g4 a4", AA: "c5@6 d5@4 c5@5 ~",
  AB: "[[g4,c5]@27 ~@5, g5@29 ~@3]/2", // C5
})).s("gm_distortion_guitar").gain(0.27).pan(0.7)

// other · lead 5 charang
const lead_5_charang = note("<~@34 A@2 B ~@9 C@2 ~@4 D ~@3 E ~@3 F ~@15 F ~@6 G@2 H ~@5>".pickRestart({
  A: "[g3@31 ~]/2", B: "~@4 [e5,f#5] b4 [f4,g4,a4] [c4,d4,e4] [g3,a3,b3] f3 ~@6, g5 ~",
  C: "[c3@7 ~ c4@4 c5@8 ~@2 [g4,a4,b4] [d4,e4,f4] [a3,b3,c4] [e3,f3,g3] [c3,d3] b2 ~@4, ~@5 c5 ~@2]/2", // G Dm Am Em Csus2
  D: "d6@3 ~ d6@3 d5 d6@3 d5 d6@4, ~@3 d5@2 ~@11", E: "g6 c6 ~@2", F: "d6@2 d5 d6@2 d5 d6@2 d5 d6@2 d5 d6@2 ~@2",
  G: "[~@3 c5@4 ~]/2", H: "c5@8 c5@3 ~@5, c6@5 ~@3",
})).s("gm_lead_5_charang").gain(0.31)

// other · lead 5 charang · soft notes
const lead_5_charang_soft = note("<~@36 [~@4 d5 c5 ~@10] ~@46 [~@6 c6@3 ~@7] ~@7>").s("gm_lead_5_charang").gain(0.21)

// other · string ensemble 1
const string_ensemble_1_2 = note(`<
  ~ A B C D E D F ~@6 G H I J I J K L M N D@4 O P Q R ~@6 G H I S I T K L M N D@4 O P Q R D@4 O P U R ~ A ~@2 V W ~@2
  D@4 O P Q R D@4 O P Q R X Y@2
>`.pickRestart({
  A: "~ f2", B: "c2@7 ~@3 b2 ~ b2@4", C: "a2@7 ~@3 f2 ~ f2@3 ~",
  D: "[g4,g5]@2 [f4,f5] ~ [f4,f5]@2 [e4,e5] ~ [e4,e5]@2 [d4,d5] ~ [d4,d5]@2 [c4,c5] ~", // G F E D C
  E: "[c4,c5]@2 [b3,b4] ~ [b3,b4]@2 [c4,c5] ~ [c4,c5]@2 [d4,d5] ~ [e4,e5]@2 [f4,f5] ~", // C B C D E F
  F: "[b3,b4] [c4,c5] [d4,d5] [b3,b4] [c4,c5] ~ [c4,c5] [d4,d5] [e4,e5] ~ [e4,e5] ~ [e4,e5] [d4,d5] [c4,c5] ~", // B C D B C D E D …
  G: "f3 a3 [g3,b3,d4] [f3,c4], c4 ~", H: "[e3,c4]@9 ~ [d3,g3] ~ g4 a4 c5 d5, ~@3 [d3,g3]",
  I: "[e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [d4,d5] ~ [d4,d5] ~ [d4,d5] ~ [d4,d5] ~", // E D
  J: "[e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5]@2 [f4,f5] ~ [c4,c5] ~ [c4,c5]@2 [d4,d5] ~", // E F C D
  K: "[d4,d5] ~ [d4,d5] ~ [d4,d5] ~ [d4,d5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5]@2", // D E
  L: "[d4,d5] ~ [d4,d5] ~ [d4,d5] ~ [d4,d5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~", // D E
  M: "[c4,c5] ~ [c4,c5] ~ [e4,e5] ~ [e4,e5] ~ [d4,d5] ~ [d4,d5] ~ [c4,c5] ~ [c4,c5] ~", // C E D C
  N: "[c4,c5] ~ [c4,c5] ~ [c4,c5] [d4,d5] [e4,e5] [c4,c5] [d4,d5] ~ [d4,d5] ~ [d4,d5] ~ [d4,d5] ~", // C D E C D
  O: "[d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~", // Dm
  P: "[c4,c5]@2 [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~ [d4,f4,d5] ~, e4 ~@15", // C Dm
  Q: "c4@3 [f4,f5] [g4,g5] ~@5 c4@2 [g4,g5]@2 [f4,f5]@2, ~@3 [a4,a5]@3 ~@2", // F G F A
  R: "[e4,e5]@3 [f4,f5] [g4,g5] ~ c5@2 c5 ~ c5 ~ c5 ~ c5 ~, ~@6 c4@9 ~", // E F G
  S: "[e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5]@2 c4@2 [c4,c5] ~ c4@2 d4 ~, ~@8 f4 ~@7", // E C
  T: "[e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5]@2 [f4,f5] ~ [c4,c5] ~ c4@2 [d4,d5] ~, ~@12 c5 ~@3", // E F C D
  U: "c4@3 [f4,f5] [g4,g5] ~@5 c4@2 ~ [g4,g5] [f4,f5]@2, ~@6 [a4,a5]@7 ~@3", // F G F A
  V: "g2 ~ g2 ~ g2 ~ g2 ~ a2 ~ a2 ~ a2 ~ a2 ~", W: "g2 ~ g2 ~ g2 ~ g2 ~ c3 ~ c3 ~ c3 ~ c3 ~",
  X: "c4@3 [f4,f5] [g4,g5] ~@5 c4@2 ~@4, ~@3 [d4,d5]@3 ~@2", Y: "[~@6 [f2,f3]@5 [g2,g3]@14 ~@7, c2@21 ~@11]/2",
})).s("gm_string_ensemble_1").gain(0.48)

// drums · kick
const kick = s("bd").struct(`<
  ~@3 A B@4 C@16 B@6 D@2 C@16 B@6 D@2 B@6 D@2 E ~@2 F C@4 B@5 G D@2 B@5 G D@3 E ~
>`.pickRestart({
  A: "~@5 x ~@2", B: "x!2 ~@2 x!2 ~@2", C: "x ~@3 x!2 ~@2", D: "x ~@2 x ~@2 x ~@9", E: "x", F: "x ~@2 x ~@12",
  G: "x!2 ~@6",
})).gain(0.66)

// drums · snare
const snare = s("sd").struct(`<
  ~@3 A B C B C D E D F D E D G D E D E D E D H B C B@3 I J@2 D E D F D E D H D E D E D E D K B C B@3 I J@2 D@2 F L M I
  N O ~@3 P D E D H B C B@3 Q J@2 B C B@3 Q J@2 R ~@2
>`.pickRestart({
  A: "~@12 x!2 ~@2", B: "~ x ~ x", C: "~@4 x ~@2 x ~@2 x!4 ~@2", D: "~@4 x ~@2 x ~ x ~@2 x ~@3",
  E: "~@4 x ~@2 x ~@4 x ~ x ~", F: "~@4 x ~@2 x ~ x ~@2 x ~ x ~", G: "~@4 x ~@2 x ~ x ~@2 x!4",
  H: "~@4 x ~@2 x ~ x ~@2 x!2 ~@2", I: "~@4 x ~@6 x!3 ~@2", J: "~@4 x ~@4 x ~ x!3 ~@2", K: "~@4 x ~@2 x ~ x ~ x!3 ~ x",
  L: "~@4 x ~@2 x ~ x!5 ~@2", M: "~@4 x ~@2 x ~ x ~@2 x ~@2 x", N: "~@4 x ~@4 x!5 ~ x", O: "~@4 x ~@4 x!5 ~@2",
  P: "~@4 x ~ x ~@2 x ~@2 x!2 ~@2", Q: "~@4 x ~@2 x!3 ~ x!3 ~@2", R: "~@4 x ~@4 x ~@2 x!2 ~@2",
})).gain(0.59)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@8 A B A B C B C D C B A B C B@2 D ~@8 C B A B C B C D C B A B C B@2 D ~@19 E C B@2 D ~@19
>`.pickRestart({
  A: "x!8", B: "x!7 ~", C: "~ x!7", D: "x!5 ~ x ~", E: "x!5 ~ x!2",
})).gain(0.37)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@3 A ~ A ~ A ~@15 A ~ A ~@3 A@3 ~@7 A ~@7 A ~ A ~@3 A@3 ~@3 A ~ A@3 ~@3 A ~@3 A ~ A ~@3 B A@2 ~ A ~@3 B A@2 C ~@2
>`.pickRestart({
  A: "~@7 x", B: "~@5 x ~ x", C: "~@14 x!2",
})).gain(0.52)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@9 A ~ A ~ A ~ B ~ A ~ A ~ A@2 B ~@9 A ~ A ~ A ~ B ~ A ~ A ~ A@2 B ~@8 A@3 ~@4 B ~@3 B ~ A@2 B ~@19
>`.pickRestart({
  A: "~@7 x", B: "~@5 x ~@2",
})).gain(0.52)

// drums · crash
const crash = s("cr").struct(`<
  ~@3 A B ~ B ~@5 B ~ B ~ B ~@3 B ~@3 B ~ B ~ B ~ C@2 B ~@3 B ~ B ~ B ~@3 B ~@3 B ~ B ~ B ~ C@2 B ~ B@3 ~ C@2 B ~@3 B
  ~@3 B ~ B ~ B ~ C@2 B ~ B ~ B ~ C@3 B ~
>`.pickRestart({
  A: "~@5 x ~@2", B: "x", C: "x ~@2 x ~@4",
})).gain(0.44)

// drums · ride
const ride = s("rd").struct(`<
  ~@4 A B A B ~@16 A B A B A B ~@18 A B A B A B ~@2 A B A@3 B ~@10 A B A B A B ~@2 A B A B A B ~@5
>`.pickRestart({
  A: "~ x!7", B: "x!8",
})).gain(0.44)
// … 22 more lines

More by 883